@stopcock/fp
The core: Pipe, Option, Result, Array, String, lenses and Stream. Everything else builds on it.
The core: Pipe, Option, Result, Array, String, lenses and Stream. Everything else builds on it.
Date arithmetic, formatting, parsing, time zones and business-day logic without the usual footguns.
A lazy Task type with retry, timeout, concurrency limits and AbortSignal cancellation.
A typed HTTP client with retry, timeout, request deduplication and first-class Task integration.
Pixel-level image processing: filters, convolution, resize and crop.
Structural diffing, patching, composition and rebasing for objects and arrays.
Reactive stores with fine-grained subscriptions, middleware, undo/redo and devtools.
Chainable array operations collapse into one loop instead of one full pass per step. You write three transforms; it runs one.
take(10) stops the moment ten matches are found. Bounded work beats whole-array work.
Every package uses the same pipe shape, so a date helper or async Task can sit in the same chain without adapter code.