ts-belt
ts-belt copied to clipboard
π§ Fast, modern, and practical utility library for FP in TypeScript.
Fast, modern, and practical utility library for FP in TypeScript.
Documentation
Full documentation can be found here.
Features
- π built with
ReScript
, which generates highly performant JavaScript code (see the benchmark results here) - π provides more readable code, due to the
data-first
approach - β¨ supports
TypeScript
andFlow
- π‘ helps you write safer code with
Option
andResult
types - π― all functions return immutable data (no side-effects)
- π² tree-shakeable
- π fully documented
Getting started
Installation
yarn add @mobily/ts-belt
or with npm
npm install @mobily/ts-belt --save
Usage
Module | Namespace | Description |
---|---|---|
Array | A | Utility functions for Array . |
Boolean | B | Utility functions for Boolean . |
Number | N | Utility functions for Number . |
Object (Dict) | D | Utility functions for Object . |
String | S | Utility functions for String . |
Guards | G | Various TypeScript guards. |
Option | O | Functions for handling the Option data type that represents the existence and nonexistence of a value. |
Result | R | Functions for describing the result of a certain operation without relying on exceptions. |
Function | F | Other useful functions. |
import { A, O, N, pipe } from '@mobily/ts-belt'
pipe(
[1, 2, 3, 4, 5], // β [1, 2, 3, 4, 5]
A.dropExactly(2), // β Some([3, 4, 5])
O.flatMap(A.head), // β Some(3)
O.map(N.multiply(10)), // β Some(30)
O.getWithDefault(0), // β 30
) // β 30
Contributors
License
The MIT License.
See LICENSE