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
Marcin Dziewulski |
Krzysztof Lenda |
Radek Kozieł |
Artur |
Dominik Łopaciński |
Jakub Wąsik |
Krystian Mateusiak |
Michał Miszczyszyn |
Kevin |
Anthony Khong |
Pyrolistical |
Mathieu Acthernoene |
License
The MIT License.
See LICENSE