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.
raw docstring

clear-timeouts!clj/s

(clear-timeouts! timeouts*)

compile-timeoutsclj/s

(compile-timeouts fsm)

dispatch-timeouts!clj/s

(dispatch-timeouts! timeouts* timeouts)

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
raw docstring

foreign-event?clj/s

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

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.
raw docstring

reg-no-opclj/s

(reg-no-op id)

Convenience function for declaring no-op events.

Convenience function for declaring no-op events.
raw 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.
raw docstring

state-changed?clj/s

(state-changed? prev next)

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.
raw docstring

with-fsmclj/smacro

(with-fsm binding & body)

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

× close