0.0.10 • Published 6 years ago
@hon2a/icepick-fp v0.0.10
icepick-fp
Wrapper around the popular Icepick library providing a FP contract.
Use
Install using
npm install @hon2a/icepick-fpImport using
import { assocIn, dissocIn/*, ...*/ } from '@hon2a/icepick-fp'
// or individually:
import assocIn from '@hon2a/icepick-fp/assocIn'Contents
Wrappers are provided just for the most often used Icepick transforms for now:
assocIn (and setIn alias), getIn, updateIn, assign, and merge. They're
enhanced with lodash.topath to accept String paths:
getIn('a.b[0].c')({ a: { b: [{ c: 42 }] } })
// => 42The freeze and thaw helpers are also re-exported.
Additionally, there's a dissocIn transform (deletes just the leaf property)
dissocIn('a.b.c')({ a: { b: { c: 42 } } })
// => { a: { b: {} } }and a generic reduce helper
reduce(
(val, idx) => setIn(val, idx),
{}
)(['a', 'b', 'c'])
// => { a: 1, b: 2, c: 3 }Development
Install
Install dependencies using:
npm installDevelop
After you modify sources, run the following (or set up your IDE to do it for you):
- format the code using
npm run format - lint it using
npm run lint - test it using
npm test
and fix the errors, if there are any.
Publish
Publishing is done in two steps:
- Create a new version tag and push it to the repository:
npm version <patch|minor|major> git push --follow-tags - Build and publish the new version as a npm package:
npm publish --access public