Fast, modern, and practical utility library for FP in TypeScript.
Documentation
Full documentation can be found here.
Features
-
π built withReScript
, which generates highly performant JavaScript code (see the benchmark results here) -
π provides more readable code, due to thedata-first
approach -
β¨ supportsTypeScript
andFlow
-
π‘ helps you write safer code withOption
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