MADE IN SWITZERLAND
Functional tools that couldn’t be simpler.
We’re proud to present 1-liners – a dead simple functional utility belt. 133 one-liner functions (and counting). Each hand-crafted with love and attention.
You get a product of top-quality functional programming craftmanship. Each function follows the KISS principle, which we’ve broken down into ten strict rules.
We always follow them. You have our word.
-
Each function shall fit in one readable line of code
– take a glimpse at the source and you know exactly what’s going on.
-
Each function shall have no side-effects
– you can use it with confidence.
-
Each function shall have a fixed number of arguments
– it’s dead easy to bind, curry and uncurry, apply partially, implode and explode.
-
Each function shall deal with data in an immutable way
– no more debugging nightmares.
-
Each function shall take data as the last argument
– this makes currying and composing new functions a breeze.
-
Each function shall be in a separate micro-module
– you only load/bundle the single 1-liner you need.
-
Each function shall be thoroughly tested
– 100% code coverage guaranteed. We even test if every function fits in one line!
-
Each function shall have great documentation
– the docs explain usage, present the source, and link to the specs.
-
We shall provide functional versions of native object methods
– likereduce(callback, array)
forarray.reduce(callback)
.
-
We shall provide functional versions of language constructs
– likeplus(a, b)
fora + b
.
$ npm install --save 1-liners
// The lightweight, recommended way:
var map = require('1-liners/map');
// Sometimes practical:
var map = require('1-liners').map;
// The lightweight, recommended way:
import map from '1-liners/module/map';
// Sometimes practical:
import { map, filter } from '1-liners/module/index';
Checkout the documentation
stoeffel | tomekwi | hemanth |
davidchase | tristaaan |
created with gh-contributors-table