Typed functional tools
src | ||
.editorconfig | ||
.gitignore | ||
.gitlab-ci.yml | ||
activate_node | ||
jest.config.js | ||
package-lock.json | ||
package.json | ||
README.md | ||
tsconfig.json |
tk-functional
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]