Liking cljdoc? Tell your friends :D

dev.zeko.stube.lifecycle

Component lifecycle hooks: :start, :stop, :wakeup.

Each hook returns [self' effects] (or just effects, for terse cleanup hooks). The functions in this namespace fold a hook's emitted effects through run-effects, returning [conv' fragments] for the caller.

To keep the dependency direction one-way (kernel requires lifecycle, not the other way), the kernel's run-effects is passed in as run-effects-fn. No back-reference from lifecycle to kernel.

Component lifecycle hooks: `:start`, `:stop`, `:wakeup`.

Each hook returns `[self' effects]` (or just `effects`, for terse
cleanup hooks).  The functions in this namespace fold a hook's
emitted effects through `run-effects`, returning `[conv' fragments]`
for the caller.

To keep the dependency direction one-way (kernel requires lifecycle,
not the other way), the kernel's `run-effects` is passed in as
`run-effects-fn`.  No back-reference from lifecycle to kernel.
raw docstring

coerce-returnclj

(coerce-return self result)

Normalise whatever a handler or lifecycle hook returned into the kernel's canonical [self' effects] pair. Accepted shapes:

nil          → [self []]      ; explicit no-op (cleanup hooks)
<map>        → [<map> []]     ; state change, no effects
[<map> <v>]  → as-is          ; the canonical pair
<vec>        → [self <vec>]   ; effects only, same self

The map and pair cases let :handle return (assoc self :n 1) or [(s/answer :ok)] directly when one side of the pair would be ceremony; the original [self' effects] form keeps working.

Normalise whatever a handler or lifecycle hook returned into the
kernel's canonical `[self' effects]` pair.  Accepted shapes:

    nil          → [self []]      ; explicit no-op (cleanup hooks)
    <map>        → [<map> []]     ; state change, no effects
    [<map> <v>]  → as-is          ; the canonical pair
    <vec>        → [self <vec>]   ; effects only, same self

The map and pair cases let `:handle` return `(assoc self :n 1)` or
`[(s/answer :ok)]` directly when one side of the pair would be
ceremony; the original `[self' effects]` form keeps working.
sourceraw docstring

run-start-hookclj

(run-start-hook run-effects-fn conv iid)

Run :start for iid if present, without rendering the instance. Callers decide which newly-started frame should be rendered.

Run `:start` for `iid` if present, without rendering the instance.
Callers decide which newly-started frame should be rendered.
sourceraw docstring

run-start-hooksclj

(run-start-hooks run-effects-fn conv iids)

Run :start for each iid in order, collecting fragments.

Run `:start` for each iid in order, collecting fragments.
sourceraw docstring

run-stop-hooksclj

(run-stop-hooks run-effects-fn conv iids)

Run :stop for the instance ids, preserving any emitted fragments. The instances are still present while hooks run; callers remove them afterwards.

Run `:stop` for the instance ids, preserving any emitted fragments.
The instances are still present while hooks run; callers remove them
afterwards.
sourceraw docstring

run-wakeup-hooksclj

(run-wakeup-hooks run-effects-fn conv iids)

Run :wakeup for each iid in order, collecting fragments.

Run `:wakeup` for each iid in order, collecting fragments.
sourceraw docstring

wakeup-frameclj

(wakeup-frame run-effects-fn conv iid)

Run :wakeup for iid, updating the instance before rendering.

Run `:wakeup` for `iid`, updating the instance before rendering.
sourceraw docstring

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close