action-types
Conveniently create action types with multi-level namespace support.
A note about compatibility
The npm package should be used in
an ES6 environment. Even though the published code has ES5 syntax it uses
some ES6 features, so you have to make sure to use ES5 and ES6 polyfills if you
are in an ancient environment.
Install
npm install action-types
Usage
import { ActionType, createActionTypes } from './action-types'
createActionTypes({
START_APP: ActionType,
user: {
ADD: ActionType,
REMOVE: ActionType,
current: {
SET: ActionType,
CHANGE: ActionType
}
}
})
{
START_APP: 'START_APP',
user: {
ADD: 'user.ADD',
REMOVE: 'user.REMOVE',
CHANGE: 'user.CHANGE',
current: {
SET: 'user.current.SET',
CHANGE: 'user.current.CHANGE'
}
}
}
With initial namespace
import { ActionType, createActionTypes } from './action-types'
createActionTypes({
ADD: ActionType,
REMOVE: ActionType
}, {
namespace: 'user'
})
{
ADD: 'user.ADD',
REMOVE: 'user.REMOVE'
}
With custom namespace separator
import { ActionType, createActionTypes } from './action-types'
createActionTypes({
user: {
ADD: ActionType,
REMOVE: ActionType
}
}, {
separator: '::'
})
{
ADD: 'user::ADD',
REMOVE: 'user::REMOVE'
}
Test
npm test
License
MIT