Skip to content

Instantly share code, notes, and snippets.

@icorbrey
Created December 4, 2020 21:19
Show Gist options
  • Save icorbrey/dfbfc2b992f5813d3b67cef2a1fbd459 to your computer and use it in GitHub Desktop.
Save icorbrey/dfbfc2b992f5813d3b67cef2a1fbd459 to your computer and use it in GitHub Desktop.
export const getDispatchableActions = (dispatch, actions) =>
getPropertyPairs(actions)
.map(toDispatchableActionPair(dispatch))
.map(toPropertyObject)
.reduce(toSingleObject, {})
const getPropertyPairs = object => Object
.keys(object)
.map(key => [key, object[key]])
const toDispatchableActionPair = dispatch => ([name, action]) => [
name,
(...params) => dispatch(action(...params))
]
const toPropertyObject = ([key, property]) => ({
[key]: property,
})
const toSingleObject = (x, y) => ({
...x,
...y,
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment