0.0.1 • Published 8 years ago

action-types v0.0.1

Weekly downloads
37
License
MIT
Repository
github
Last release
8 years ago

action-types

es6 js-standard-style

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

License

MIT