Skip to content

Module catalogue

@stopcock/fp keeps its root small. Import specialist APIs from these stable, tree-shakeable subpaths.

SubpathPurpose
/arrayEager array operators, streaming steps the build-time compiler can fuse, explicit *Into writes
/readonly-arrayRead-only alias of the array vocabulary
/non-empty-arrayConstructors and total operations for non-empty arrays
/tupleTyped tuple construction, mapping, zipping, and projection
/recordHomogeneous property-keyed dictionaries with one value type
/mapImmutable Map operations
/setImmutable Set operations
/typed-arrayNumeric typed-array transforms and explicit destination buffers
/indexedShared indexed-collection operations
/iterLazy synchronous sequences

Writable *Into operations preserve the concrete destination type. They reject fixed tuples, heterogeneous or refined record destinations, and ambiguous mutable target unions whenever mutation cannot be proven sound.

SubpathPurpose
/optionExplicit absence
/resultFail-fast recoverable errors
/validationAccumulating independent errors
/schemaStandard Schema V1 production and consumption
/theseLeft, right, or both values
/nullableFocused nullable boundary helpers

Asynchronous failures and asynchronous iteration are provided by @stopcock/async, not duplicated in the core package.

SubpathPurpose
/eqLawful equality relations
/hashComposable deterministic hashing
/ordTotal ordering instances
/orderingPrimitive ordering values and combinators
/semigroupAssociative combination
/monoidCombination with an identity
/groupCombination with inversion
SubpathPurpose
/functionComposition, currying, memoization, predicates, and function utilities
/guardStructural guards and refinements
/objectImmutable object/path operations
/stringString transforms and predicates
/numberNumeric predicates, statistics, and safe partials
/mathArithmetic pipeline operators
/booleanBoolean combinators
/dualBuild data-first and data-last APIs
/compilecompile/compilePure markers the build-time compiler recognizes; uncompiled, they alias pipe
/fusionSame pipe/flow/compile, imported by a name that says “I mean fusion”
/fusion/debugexplain/explainPure; always report 'sequential' at runtime
/opticLenses, optionals, prisms, traversals, and more
/matchExhaustive tagged-value matching
SubpathPurpose
/readerEnvironment-dependent computations
/state-fnPure state transitions
/writerValues paired with accumulated output
/recursionStack-safe recursion schemes

The package export map is generated from one checked-in manifest. CI builds and imports every runtime and declaration entry from a real packed tarball, so this catalogue cannot silently advertise a missing module.