The API documentation is here.
Install it with
npm install lamb
Require it in node.js:
var _ = require"lamb";
It's useful to alias it to have a shorter symbol, like
_, as I did above and throughout the documentation: it's cleaner and the
lamb object itself can be used as a placeholder argument in partial application.
In a browser, simply include the version you want from the
You can find the source map for the minified file in the same folder.
Lamb it's also delivered on a CDN, courtesy of npmcdn:
The URL above will retrieve the latest version, but you can target a specific version too:
You can try it right now in your browser, too.
Lamb uses semantic versioning and please be aware that, as long as the major version is
bump in the minor version could involve a breaking change in the API.
You can refer to the changelog to see if your code is affected.
Are your wheels rounder? Not at all, but I do try my best to add better suspension; and you do realise that you're reading a guy talking to himself, don't you?
Why ECMAScript 5? Because this is simply me tidying up some old code, and will hopefully be my goodbye to ES5 before fully diving into the world of transpilers.
Are there plans for the future? Absolutely yes: this isn't a complete work at all, only a first public release. I need better documentation and examples for starters, and I also want to add a bunch of other functions and concepts into the mix.
Why "Lamb"? See the main header: because it's docile like a lamb.
v0.27.0 - 2016/05/23
v0.26.0 - 2016/05/16
v0.25.1 - 2016/05/10
valuesnow throw a TypeError if supplied with
tearOwnnow throw a TypeError only if supplied with
undefinedregardless of the ECMAScript engine you are using
keysas a shim of ES6’s
v0.24.0 - 2016/05/05
setPathInnow treat non-enumerable properties encountered in a path as non-existent properties
v0.23.0 - 2016/04/27
getPathInnow support negative indexes
getAtnow throw exceptions only if called with
undefinedfor any other non-array-like object
v0.22.0 - 2016/04/19
v0.21.0 - 2016/04/13
undefinedfor any non existent path, instead of throwing exceptions when an
undefinedvalue was a part of the path instead of being its target
generateto avoid confusion with other languages, concepts and libraries
v0.20.0 - 2016/04/08
mergeOwnfunction now converts
undefinedvalues to empty objects instead of throwing exceptions
v0.19.0 - 2016/04/05
v0.18.0 - 2016/04/01
v0.17.0 - 2016/03/29
transposeand currying functions
getAtno longer accepts strings as indexes
v0.16.0 - 2016/03/23
v0.15.3 - 2016/03/21
genericfunction and removed unused Function.prototype caching
v0.15.2 - 2016/03/17
v0.15.1 - 2016/03/08
v0.15.0 - 2016/03/03
v0.14.0 - 2015/05/13
v0.13.0 - 2015/05/06
uniquesnow use the "SameValueZero" comparison
v0.12.0 - 2015/04/22
v0.11.0 - 2015/04/17
unionfunction now can work with array-like objects
v0.10.0 - 2015/04/15
unaryas shortcuts for common use cases of
v0.9.0 - 2015/04/10
typeto avoid confusion with the operator
v0.8.0 - 2015/04/03
valuesfunction now picks from all enumerable properties, even inherited
v0.7.0 - 2015/03/25
v0.6.3 - 2015/03/20
v0.6.2 - 2015/03/18