93 lines
2 KiB
Markdown
93 lines
2 KiB
Markdown
## Skooma.js
|
|
|
|
### HTML Proxy
|
|
|
|
The proxy object that does the actual HTML generation.
|
|
|
|
```js
|
|
document.body.append(html.div(
|
|
html.span("Hello, World!")
|
|
))
|
|
```
|
|
|
|
### Handle helper
|
|
|
|
Wraps a funcion of the signature `event, ... -> value` so that
|
|
`event.preventDefault` gets called before running the function.
|
|
|
|
```js
|
|
button.addEventListener("click",
|
|
handle(() => console.log("click"))
|
|
)
|
|
```
|
|
|
|
### Fragment helper
|
|
|
|
Wraps a list of elements in a new document fragment.
|
|
|
|
```js
|
|
const spans = fragment(
|
|
html.span("First span"),
|
|
html.span("Second span")
|
|
)
|
|
document.body.append(spans.cloneNode())
|
|
```
|
|
|
|
### Text helper
|
|
|
|
When called as a normal function, returns a new text node with the given
|
|
content. Unlike `document.createTextNode`, it does not fail for non-string
|
|
values.
|
|
|
|
```js
|
|
const node = text("Hello, World!")
|
|
```
|
|
|
|
When used as a tagged template, returns a document fragment containing text
|
|
nodes and interpolated values. DOM nodes can be interpolated into the document
|
|
fragment.
|
|
|
|
```js
|
|
const description = text`Interpolate ${html.b("bold")} text`
|
|
```
|
|
|
|
For consistency, even tagged templates with no interpolated variables will
|
|
always return a document fragment.
|
|
|
|
## State.js
|
|
|
|
### AbortRegistry
|
|
|
|
`FinalizationRegistry` that takes an `AbortController` and aborts it whenever
|
|
the registered value gets collected.
|
|
|
|
### ChangeEvent
|
|
|
|
The event class emitted when a change is detected on a skooma state.
|
|
Provides the `final` getter.
|
|
|
|
### MapStorage
|
|
|
|
A utility class that simulates the `Storage` API but is backed by a map. Can be
|
|
used as fallback in environments where persistent storages aren't available.
|
|
|
|
### SimpleState
|
|
|
|
Base state class that all other states inherit from, used primarily for class
|
|
checking, as the `State` class introduces behaviours that may be undesireable
|
|
when inheriting.
|
|
|
|
### State
|
|
|
|
The main state class that does all the magic.
|
|
|
|
### ForwardState
|
|
|
|
Proxy to a named property on another State to be used with APIs that only accept
|
|
single-value states.
|
|
|
|
### StoredState
|
|
|
|
State class that is backed by a Storage instead of an internal proxy.
|
|
|
|
## domLense.js
|