lodash-chain
v0.0.4
Published
`lodash-chain` is the **minimum viable lodash build** needed for _.chain and _.runInContext. The minimal build is ~185kb vs ~540 kb for the complete lodash build.
Downloads
1,905
Readme
lodash-chain
lodash-chain
is the minimum viable lodash build needed for _.chain and _.runInContext. The minimal build is ~185kb vs ~540 kb for the complete lodash build.
This is an unofficial package.
lodash-chain
optionally also adds a custom method to lodash called _.plugins
, which is just a wrapper around _.mixin
. The difference is that lodash methods added via _.plugins
will be tagged as chainable or not as appropriate (details).
Custom Methods
_.plugins(source, [options={}])
Use _.plugins
to add external lodash packages.
const _ = require('lodash-chain')
const set = require('lodash.set')
_.plugins({ set })
let chain = _.chain({ data: {} }).set('data.key', 'value').get('data').value()
// => { key: 'value' }
More Examples
const _ = require('lodash-chain')
const sortBy = require('lodash.sortBy')
const map = require('lodash.map')
const head = require('lodash.head')
_.plugins({ sortBy, map, head })
const users = [
{ 'user': 'barney', 'age': 36 },
{ 'user': 'fred', 'age': 40 },
{ 'user': 'pebbles', 'age': 1 }
];
const youngest = _
.chain(users)
.sortBy('age')
.map(function(o) {
return o.user + ' is ' + o.age;
})
.head()
.value();
// => 'pebbles is 1'
There methods are included in the minimum viable build by default:
chainable
- lodash.chain
- lodash.constant
- lodash.defaults
- lodash.flatten
- lodash.forOwn
- lodash.iteratee
- lodash.keys
- lodash.keysIn
- lodash.memoize
- lodash.mixin
- lodash.negate
- lodash.pick
- lodash.property
- lodash.reverse
- lodash.tap
- lodash.thru
- lodash.toArray
- lodash.values
not chainable
- lodash.eq = eq;
- lodash.get = get;
- lodash.hasIn = hasIn;
- lodash.identity = identity;
- lodash.isArguments = isArguments;
- lodash.isArray = isArray;
- lodash.isArrayLike = isArrayLike;
- lodash.isBuffer = isBuffer;
- lodash.isFunction = isFunction;
- lodash.isLength = isLength;
- lodash.isMap = isMap;
- lodash.isObject = isObject;
- lodash.isObjectLike = isObjectLike;
- lodash.isSet = isSet;
- lodash.isString = isString;
- lodash.isSymbol = isSymbol;
- lodash.isTypedArray = isTypedArray;
- lodash.last = last;
- lodash.stubArray = stubArray;
- lodash.stubFalse = stubFalse;
- lodash.noop = noop;
- lodash.runInContext = runInContext;
- lodash.toFinite = toFinite;
- lodash.toInteger = toInteger;
- lodash.toNumber = toNumber;
- lodash.toString = toString;