UNPKG

reedx

Version:

Like redux but with less code

23 lines (16 loc) 544 B
import invariant from 'invariant' import isFunc from './isFunc' const { values, keys } = Object const PREFIX = '@@reedx' const snakeCase = (str) => str.replace(/([A-Z])/g, (char) => `_${char.toLowerCase()}`) const typeByHandlersKeys = (name) => (type) => `${PREFIX}/${name}/${snakeCase(type).toUpperCase()}` const createTypes = (name, reducers) => { invariant( values(reducers).every(isFunc), 'All of you reducers need to be a function' ) return keys(reducers).map(typeByHandlersKeys(name)) } export default createTypes