1.1.4 • Published 7 years ago

fluxter v1.1.4

Weekly downloads
4
License
ISC
Repository
github
Last release
7 years ago

view on npm npm module downloads Build Status Coverage Status Dependency Status Join the chat at https://gitter.im/fluxter

Fluxter is a simple container of unidirectional data flow.

Fluxter data flow

Install

$ npm install --save fluxter

Classes

Functions

Fluxter

Kind: global class
Access: public

new Fluxter()

Class Fluxter

Example

let store = new Fluxter({
    user: {
        logged: false,
        name: null,
        token: null
    }
});

addReducer(stateKey, reducer)

Add reducer to store

Kind: global function

ParamTypeDescription
stateKeyStringA state field
reducerfunctionA pure function

Example

store.addReducer('user', (state = {}, actionName, actionData) => {
    if (actionName === 'login') {
        return {
            ...state,
            logged: actionData.logged,
            name: actionData.name,
            token: actionData.token
        };
    }
    return state;
});

addMiddleware(middleware)

Add middleware to store

Kind: global function

ParamTypeDescription
middlewarefunctionA middleware function

Example

store.addMiddleware('user', (store, actionName, actionData, next) => {
    if (actionName === 'login') {
        SomeRepository.check(actionData).then(data => next({
            ...data,
            ...actionData
        }));
    } else {
        next(actionData);
    }
});

addAction(actionName, action)

Add action to store

Kind: global function

ParamTypeDescription
actionNameStringAn action name
actionfunctionAn action creator function

Example

store.addAction('login', (name, password) => ({
    name,
    password
}));

dispatch(actionName, ...args)

Dispatch action to store

Kind: global function

ParamTypeDescription
actionNameStringAn action name
...args*Arguments that take action

Example

store.dispatch('login', 'example-name', 'example-password');

subscribe(handler)

Add handler

Kind: global function

ParamTypeDescription
handlerfunctionChange state handler

Example

store.subscribe(store => view.setState(store.state));

next(actionData)

Call next middleware or done

Kind: global function

ParamTypeDescription
actionData*An action data

Example

Online game SeaWars. Example of using Fluxter.

:boom: Try it out :boom:

Note on Patches/Pull Requests

  1. Fork the project.
  2. Make your feature addition or bug fix.
  3. Send me a pull request.

© 2017 Vasily Shilov

1.1.4

7 years ago

1.1.3

7 years ago

1.1.2

7 years ago

1.1.1

7 years ago

1.1.0

7 years ago

1.0.12

7 years ago