futils
v3.1.3
Published
Functional programming utility toolkit
Downloads
282
Maintainers
Readme
A collection of tools for functional programming in JavaScript
About
futils is a small (around 10 Kilobytes when minimized and gzipped) library for generic functional programming in javascript. It is divided into several namespaces which you can see below:
| Package | Namespace | Description |
|------------|---------------|------------------------------------------------------------------------------------------------|
| Trampoline | .trampoline
| Useful to create tail recursive functions in a not tail recursive language. |
| Operation | .operation
| Functions that allow to operate with various data structures in a Point-Free form. |
| Lambda | .lambda
| Contains helpers for working with functions, like curry
, flip
and compose
. |
| ADT | .adt
| Allows easy creation of algebraic single and union data types. |
| Generics | .generics
| Building blocks for new data structures which can derive generic methods. |
| Monoid | .monoid
| A collection of some of the most common monoidal structures like Sum
and All
. |
| Data | .data
| Pre-made data structures. All of these implement various interface contracts (typeclasses). |
| Optic | .optic
| van Laarhoven based lenses for Object
and Array
structures. |
Documentation
Find the complete documentation as well as a quickstart online.
Download
The library can be loaded either by downloading it from NPM, by getting it from a CDN or by downloading it from Github.
| Source | Snippet |
| -----------|--------------------------------------------------------------------------|
| NPM | npm i futils
|
| CDN | <script src="https://unpkg.com/futils@latest"></script>
|
| Github | <script src="local/path/to/futils.js"></script>
|
License: MIT
NPM: https://npmjs.org/package/futils
GitHub: https://github.com/urbandrone/futils