fusor
v0.2.2
Published
Flexible Flux Implementation
Downloads
52
Maintainers
Readme
Fusor
Flexible Flux implementation
API
Fusor.createAction(name[, fn])
Creates a new Action. Returns an Observable/Function.
.listen(onSuccess, onFail)
Subscribe to an Action. Returns a function, that will unsubscribe you, once called.onSuccess
oronFail
callback will be called depending on the Action result.
Fusor.createActions(spec)
Creates multiple actions based on the provided spec
. Supports sub-actions:
var Actions = Fusor.createActions({
Parent: {
$: function () {}, // optional Parent implementation
Child: 'Child',
Child2: function () {} // optional Child implementation
},
Parent2: ['Child3', 'Child4'] // alternative syntax
})
Actions can later be used as:
Actions.Parent()
, Actions.Parent2.Child3()
etc.
Note: Action call returns a Promise
. They can be chained as regular promises for sequential action chains.
Fusor.createStore(spec)
Creates a new Store. Returns a Fusor.Store
object.
initialize
method, it will be used as aconstructor
.initialState
property will be used a Store's initial state.
Fusor.Store
Store constructor, extend it to create a new Store using ES6 syntax
.getInitialState()
Returns Store initial state.getState()
&.get()
Returns current state.setState(stateDiff)
&.set(stateDiff)
AppliesstateDiff
to the current state and propagates it to Observers..resetState()
&.reset()
Resets state to its original form..listen(onData)
Subscribes an Observer to Store state changes usingonData
callback..listenTo(action[, onSuccess, onFail])
Subscribes Store toaction
calls. OptionalonSuccess
andonFail
methods may be used..on<
ActionName
>()
&.on<
ActionName
>Fail()
If no callbacks provided to.listenTo()
method, appropriate Store methods will be used as callbacks.ActionName
is formed as (ParentName + ChildName):Parent
,ParentChild
,Parent2Child3
etc.
Fusor.Actions
Actions constructor, extend it to create a new Actions using ES6 syntax
Fusor.ListenerMixin
Simplifies Component subscription/unsubscription to Store.
.listenTo(store, onData)
Subscribes Component to Store changes. Unsubscribes oncomponentWillUnmount
.
Fusor.saveState(store)
Returns current store
state as a JSON
string.
Fusor.restoreState(store, savedState)
Applies savedState
to store
and propagates changes to Components. Can be used for server-side rendering.
Fusor.replay(actions)
& Fusor.replayActions(actions)
Runs a sequence of Actions and returns a promise that will be resolved, when they all finish running.
Fusor.Promise
Promise constructor
Fusor.Observable
Observable constructor