lodash-chain

0.0.4 • Public • Published

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;

Readme

Keywords

none

Package Sidebar

Install

npm i lodash-chain

Weekly Downloads

507

Version

0.0.4

License

MIT

Unpacked Size

274 kB

Total Files

9

Last publish

Collaborators

  • menubar