fusor v0.2.2
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.onSuccessoronFailcallback 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.
initializemethod, it will be used as aconstructor.initialStateproperty 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)AppliesstateDiffto 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 usingonDatacallback..listenTo(action[, onSuccess, onFail])Subscribes Store toactioncalls. OptionalonSuccessandonFailmethods may be used..on<ActionName>()&.on<ActionName>Fail()If no callbacks provided to.listenTo()method, appropriate Store methods will be used as callbacks.ActionNameis formed as (ParentName + ChildName):Parent,ParentChild,Parent2Child3etc.
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