action-types
v0.0.1
Published
Conveniently create action types with nested namespace support.
Downloads
52
Maintainers
Readme
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
}
}
})
// results in:
{
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'
})
// results in:
{
ADD: 'user.ADD',
REMOVE: 'user.REMOVE'
}
With custom namespace separator
import { ActionType, createActionTypes } from './action-types'
createActionTypes({
user: {
ADD: ActionType,
REMOVE: ActionType
}
}, {
separator: '::'
})
// results in:
{
ADD: 'user::ADD',
REMOVE: 'user::REMOVE'
}
Test
npm test