functional/README.md

1.6 KiB

tk-functional

pipeline status coverage report npm version npm size

About

Provides some common helpers for functional-style programming.

Typescript definitions are included.

Issues can be reported on GitLab.

Functions

nop does nothing (useful for some callbacks):

new ConstructorWithMandatoryCallback(nop)

identity returns its argument untouched:

a === identity(a)  // => true

always and never return true and false respectively

always()  // => true
never()  // => false

partial applies a partial configuration object as first argument of compatible functions:

const sum = (args: {a: number, b: number}) => args.a + args.b
const plus1 = partial({a: 1}, sum);
plus1({b: 8})  // => 9

cmp simplifies the use of array sorting:

[8, 3, 5].sort(cmp())                            // => [3, 5, 8]
[8, 3, 5].sort(cmp({ reverse: true }))           // => [8, 5, 3]
[-2, 8, -7].sort(cmp({ key: Math.abs }))         // => [-2, -7, 8]