Ts belt project
Full project type-check throughput, including module graph setup and cross-file type analysis.
tsgo is 1.1x faster 2794 lines 88 KB
Timing
README
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-firstapproach - β¨ supports
TypeScriptandFlow - π‘ helps you write safer code with
OptionandResulttypes - π― 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