UNPKG

ninjs-lodash

Version:
30 lines (25 loc) 764 B
/** * Array Utils */ 'use strict' const _ = require('lodash') exports = module.exports = { "args": args, "mergeArrays": mergeArrays } _.mixin(exports) function args(argsarr) { argsarr = !_.isEmpty(argsarr) ? _.isArray(argsarr) ? argsarr : _.isArguments(argsarr) ? _.toArray(argsarr) : [argsarr] : [] if(!argsarr || !_.isArray(argsarr) || argsarr.length === 0) return [] return _.transform(argsarr, function(result, val) { if(_.isArguments(val)) result = result.concat(_.toArray(val)) else result.push(val) }, []) } function mergeArrays(olds, news, key) { return _.chain(olds || []) .concat(news || []) .groupBy(key) .map(function(g) { return _.assign(g[0], g[1]) }) .value() }