Liking cljdoc? Tell your friends :D

kee-frame.fsm.alpha


advanceclj/s

(advance fsm timeouts* state->timeouts db event)

Given a parsed fsm, a db, and an event, advances the fsm. Else, no-op.

Given a parsed fsm, a db, and an event, advances the fsm. Else,
no-op.
sourceraw docstring

clear-timeouts!clj/s

(clear-timeouts! timeouts*)
source

compile-timeoutsclj/s

(compile-timeouts fsm)
source

dispatch-timeouts!clj/s

(dispatch-timeouts! timeouts* timeouts)
source

find-transitionclj/s

(find-transition transitions event)

Try to find a transition that matches some subset of the received event

Try to find a transition that matches some subset of the received event
sourceraw docstring

foreign-event?clj/s

(foreign-event? fsm-id [event-id _ event-fsm-id])
source

next-stateclj/s

(next-state fsm db event)

Returns next state if there is a valid transition, nil otherwise.

Returns next state if there is a valid transition, `nil` otherwise.
sourceraw docstring

reg-no-opclj/s

(reg-no-op id)

Convenience function for declaring no-op events.

Convenience function for declaring no-op events.
sourceraw docstring

rendercljs

(render fsm-fn & args)

Given an fsm function and arguments, renders a materialized view of the fsm state. A step method must exist for each state defined in the fsm transition map. The args passed to render must match the args expected by the fsm's step methods.

Given an fsm function and arguments, renders a materialized view of
the fsm state. A `step` method must exist for each state defined in
the fsm transition map. The args passed to `render` must match the
args expected by the fsm's `step` methods.
sourceraw docstring

state-changed?clj/s

(state-changed? prev next)
source

stepclj/smultimethod

Materialized view of the current fsm state. A step method must exist for each state defined in the fsm transition map. States are globally defined, and namespaced keywords are required. It is a good idea to define the fsm in the same namespace as the steps.

Materialized view of the current fsm state. A `step` method must
exist for each state defined in the fsm transition map. States are
globally defined, and namespaced keywords are required. It is a good
idea to define the fsm in the same namespace as the steps.
sourceraw docstring

with-fsmclj/smacro

(with-fsm binding & body)
source

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close