e.g. Separate module for advanced logging with configurable register of update function containers
Or is function name sufficient? If need more advanced can use Error stack trace
Add logging flags:
isChained: called as result of a previous update's return value
isInUp: called via up()() from within up
These can then be excluded for accurate real replays
But also support "pseudo" replays, where the model is simply rendered to the view
Consider - need for chaining? Could replace all with internal up() calls which
are needed anyway for longer orchestrations such as animations
two ways of doing things - any extra value in chaining?
Decision - yes, chaining adds value, enabling most orchestrations to be expressed simply
Define rigid semantics about rendering
The view is rerendered with the current state of the model on both the synchronous result of an update function, and if a promise was the result then also upon final resolution of the promise. In general for an async function, this means before the first await and also at the conclusion of the entire function. If you need to orchestrate a more complex sequence of updates you can use chained updates or call up directly. # TODO more info on each.
Internal register of lit-up apps to DOM elements (multi-app pages, in-page widgets)
Decouple from lit-html in order to avoid issues with different instances when running in es-dev-server, and potential dependency version clashes
Features to be considered:
Remove string keyed updates (breaking change, hence 1.0)
Clear logging interface for plugin providers
Or is function name sufficient? If need more advanced can use Error stack trace
Add logging flags:
isChained
: called as result of a previous update's return valueisInUp
: called via up()() from within upConsider - need for chaining? Could replace all with internal up() calls which
Define rigid semantics about rendering
await
and also at the conclusion of the entire function. If you need to orchestrate a more complex sequence of updates you can use chained updates or callup
directly. # TODO more info on each.Internal register of lit-up apps to DOM elements (multi-app pages, in-page widgets)
Decouple from
lit-html
in order to avoid issues with different instances when running ines-dev-server
, and potential dependency version clashesSample app (e.g. TodoMVC)
Simple tutorial
Intro video