0.1.0 • Published 10 years ago

borex-actions v0.1.0

Weekly downloads
3
License
MIT
Repository
github
Last release
10 years ago

Borex

Borex is helper library for redux.

Learn it by Documentation (sorry, it is still draft in russian).

Also check rewritten counter example and another remake with self-reducing actions. The same for TodoMVC example (remake with self-reducing actions).

Action helper

npm install -S borex-actions

borex-actions provides utilities for action creating.

import actionCreator from 'borex-actions/actionCreator';
import setPayload from 'borex-actions/setPayload';
import setMeta from 'borex-actions/setMeta';
import setType from 'borex-actions/setType';
import withReducerIn from 'borex-actions/withReducerIn';


export const increment = actionCreator();
export const decrement = actionCreator();

export const addItem = actionCreator(
  setPayload((id, text) => ({ id, text }))
);

export const fatAction = actionCreator(
  setType('Fat action'),
  setPayload((id, text) => ({ id, text })),
  setMeta('analytics', (id, text) => ({ event: 'fat-action', id, text })),
  withReducerIn('data.list', (state, action) => [...state, action.payload]),
);

Reducer helpers

npm install -S borex-reducers

borex-reducers provides utilities for reducer declaration.

import createReducer from 'borex-reducers/createReducer';
import createReducerIn from 'borex-reducers/createReducerIn';
import composeReducers from 'borex-reducers/composeReducers';
import appendIn from 'borex-reducers/appendIn';

import { increment, decrement, addItem } from './actions';

const counterReducer = createReducerIn('counter', (on) => {
  on(increment, counter => counter + 1);
  on(decrement, counter => counter - 1);
});

const dataReducer = createReducer((on) => {
  on(addItem, appendIn('data.list', data => { ...data, createdAt: Date.now() }));
});

const rootReducer = composeReducers(dataReducer, counterReducer);

Autotype babel plugin

npm install -D babel-plugin-borex-autotype

.babelrc

{
  "plugins": [
    "babel-plugin-borex-autotype"
  ]
}

This plugin inserts names for all anonymous actionCreator calls.

Input(counter.js):

const increment = actionCreator();

Output:

const increment = actionCreator('counter/increment');

Check plugin documentation page for more details.

Name and logo

The idea is

borex = BOilerplate REducer for reduX

Also it looks like Boreas with super-duper modern -X suffix :) This fact explains logo (Boreas is Greek god of North Wind).

0.1.0

10 years ago

0.0.7

10 years ago

0.0.6

10 years ago

0.0.5

10 years ago

0.0.4

10 years ago

0.0.3

10 years ago

0.0.2

10 years ago