pipekit
v0.14.0
Published
Poor man's yet another minimal Functional Programming toolkit for TypeScript.
Readme
What is this?
Poor man's yet another minimal Functional Programming toolkit for TypeScript.
Example
import { pipe } from "pipekit";
import { map } from "pipekit/dist/array";
pipe([1, 2, 3], map(x => x + 1), console.log)
// [2, 3, 4]Why pipe is good?
const slackMessageString = ...
// without pipe 🤯
const result1 = stripHtmlTag(convertLinks(removeMentions(trimEmojis(slackMessageString))))
// with pipe 😇
const result2 = pipe(
slackMessageString,
trimEmojis,
removeMentions,
convertLinks,
stripHtmlTags,
)
// One-off anonymous functions are also supported.
pipe(" Hoge ",
x => x.trim(),
x => x.length,
console.log
)
// 4
Motivation
I used to use Array's built-in functions and Lodash when manipulating arrays, but I found it confusing with mixed methods to modify the original arrays, so I collected the immutable functions here.
I could use lodash/fp, but lodash/fp does not work with tree shaking and increases the bundle size, and fp-ts is overkill for me.
For me, a pipe function and a set of immutable functions is sufficient.
