0.0.10 • Published 4 years ago

@hon2a/icepick-fp v0.0.10

Weekly downloads
99
License
MIT
Repository
github
Last release
4 years ago

icepick-fp

Wrapper around the popular Icepick library providing a FP contract.

Use

Install using

npm install @hon2a/icepick-fp

Import 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 }] } })
// => 42

The 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 install

Develop

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:

  1. Create a new version tag and push it to the repository:
    npm version <patch|minor|major>
    git push --follow-tags
  2. Build and publish the new version as a npm package:
    npm publish --access public
0.0.10

4 years ago

0.0.9

5 years ago

0.0.8

5 years ago

0.0.7

5 years ago

0.0.6

5 years ago

0.0.5

5 years ago

0.0.4

6 years ago

0.0.3

6 years ago

0.0.2

6 years ago

0.0.1

6 years ago