# mobily/ts-belt

🔧 Fast, modern, and practical utility library for FP in TypeScript.

Repository: https://github.com/mobily/ts-belt
Canonical: https://ross.abutalabs.com/products/ts-belt
Homepage: https://mobily.github.io/ts-belt
Language: TypeScript
License: MIT
License Family: permissive
Topics: typescript, functional-programming, fp, monad, option, option-type, result, result-type, array, flow
Last push: 2024-05-27T03:59:46+00:00

## Health v2 (maintenance only)
Score: 23/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 0, release rhythm 8, longevity 100
- inputs: {"age_days": 2102, "days_push": 828, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1197, forks 29 (observed 2026-08-28T04:03:57.548463+00:00)

## What it is
ts-belt is a fast, modern utility library for functional programming in TypeScript, built with ReScript for high performance. It provides data-first utility functions for arrays, strings, numbers, and objects, plus Option and Result types for safer, side-effect-free code.

## Use cases
- use Option and Result types to avoid null and exceptions in TypeScript
- replace lodash or ramda with a faster data-first functional utility library
- pipe and compose functions with immutable data transformations
- add type guards and safe array/string/object utilities to a TypeScript project
- write tree-shakeable functional code with no side effects

## When to choose
- you want a fast, data-first FP utility library with strong TypeScript support
- you need Option and Result types for safer error handling
- performance matters and you want benchmarks beating lodash or ramda
- you want immutable, tree-shakeable utility functions

## When to avoid
- you prefer data-last point-free style like ramda
- your project is plain JavaScript without TypeScript
- you need a huge ecosystem and community like lodash

## Facets
- artifact type: library
- maturity: active
- function: serialization, error-handling, developer-tools
- domain: developer-tools, web-development
- platform: cross-platform
- tags: functional-programming, option-type, result-type, data-first, immutable-data, tree-shakeable, rescript, utility-library, nodejs, typescript

## Member repositories
- mobily/ts-belt (main) score 23

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:03:57.548463+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T06:21:28.171432+00:00, confidence not recorded.
  - readme: https://github.com/mobily/ts-belt (fetched 2026-08-28T04:03:57.548463+00:00, sha 1e7db0044686)
  - homepage: https://mobily.github.io/ts-belt (fetched 2026-08-29T12:28:48.679721+00:00, sha 3a4988dc9a49)
- Data as of 2026-08-30T08:39:29.467469+00:00.
