For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt, and this page is available as Markdown at /packs/languages/typescript/utilities.md.
Quick start

Utilities

Search the installed toolkit and the owning domain module before writing another helper.

Reuse

Why

A second deduplication helper creates a second set of edge cases to maintain. Domain-specific naming belongs around domain behavior, not around a replacement for an existing library operation.

Rules

  • MUST inspect massaman's installed exports before authoring generic collection, text, math, control, or matching utilities. [review]
  • MUST look for a domain-owned capability before adding a local helper for the same job. [review]
  • MUST import named functions from the smallest suitable library subpath. [review]
  • MUST avoid namespace imports of an entire utility library and avoid reimplementing supported operations. [review]
  • MAY use native non-mutating map, filter, find, some, every, reduce, and flatMap for straightforward transforms. [review]
  • SHOULD prefer the toolkit's grouping, deduplication, and sorting functions to custom reductions. [review]
  • MUST obtain installation approval even when these docs recommend massaman or another library. [review]

[review]

Typechecks and behavioral tests establish supported pipeline contracts. Review checks reuse, named stages, resource concurrency, and dependency authorization.

Composition and async work

Why

Stages reveal where data changes shape. A collection of file reads or source fetches also needs a stated concurrency limit so work does not grow without bounds.

Rules

  • MUST use massaman's flow or flowAsync for data transformations with at least three stages. [review]
  • SHOULD express an appropriate boundary-pipeline effect with tap. [review]
  • MUST give asynchronous collection helpers an explicit concurrency bound for external I/O. [review]
  • MUST avoid unbounded external work launched with Promise.all(items.map(...)). [review]
  • MAY replace a library helper on a measured hot path after documenting the measurement and obtaining approval. [review]

[review]

Typechecks and behavioral tests establish supported pipeline contracts. Review checks reuse, named stages, resource concurrency, and dependency authorization.

Enforcement

Typechecks and behavioral tests establish supported pipeline contracts. Review checks reuse, named stages, resource concurrency, and dependency authorization.