PATH:
usr
/
local
/
lib
/
node_modules
/
bower
/
lib
/
node_modules
/
inquirer
/
node_modules
/
lodash
/
object
var arrayEach = require('../internal/arrayEach'), baseCallback = require('../internal/baseCallback'), baseCreate = require('../internal/baseCreate'), baseForOwn = require('../internal/baseForOwn'), isArray = require('../lang/isArray'), isFunction = require('../lang/isFunction'), isObject = require('../lang/isObject'), isTypedArray = require('../lang/isTypedArray'); /** * An alternative to `_.reduce`; this method transforms `object` to a new * `accumulator` object which is the result of running each of its own enumerable * properties through `iteratee`, with each invocation potentially mutating * the `accumulator` object. The `iteratee` is bound to `thisArg` and invoked * with four arguments: (accumulator, value, key, object). Iteratee functions * may exit iteration early by explicitly returning `false`. * * @static * @memberOf _ * @category Object * @param {Array|Object} object The object to iterate over. * @param {Function} [iteratee=_.identity] The function invoked per iteration. * @param {*} [accumulator] The custom accumulator value. * @param {*} [thisArg] The `this` binding of `iteratee`. * @returns {*} Returns the accumulated value. * @example * * _.transform([2, 3, 4], function(result, n) { * result.push(n *= n); * return n % 2 == 0; * }); * // => [4, 9] * * _.transform({ 'a': 1, 'b': 2 }, function(result, n, key) { * result[key] = n * 3; * }); * // => { 'a': 3, 'b': 6 } */ function transform(object, iteratee, accumulator, thisArg) { var isArr = isArray(object) || isTypedArray(object); iteratee = baseCallback(iteratee, thisArg, 4); if (accumulator == null) { if (isArr || isObject(object)) { var Ctor = object.constructor; if (isArr) { accumulator = isArray(object) ? new Ctor : []; } else { accumulator = baseCreate(isFunction(Ctor) ? Ctor.prototype : undefined); } } else { accumulator = {}; } } (isArr ? arrayEach : baseForOwn)(object, function(value, index, object) { return iteratee(accumulator, value, index, object); }); return accumulator; } module.exports = transform;
[-] functions.js
[edit]
[-] forOwn.js
[edit]
[-] omit.js
[edit]
[-] transform.js
[edit]
[-] forInRight.js
[edit]
[+]
..
[-] findKey.js
[edit]
[-] findLastKey.js
[edit]
[-] mapValues.js
[edit]
[-] valuesIn.js
[edit]
[-] forOwnRight.js
[edit]
[-] extend.js
[edit]
[-] has.js
[edit]
[-] keysIn.js
[edit]
[-] merge.js
[edit]
[-] pick.js
[edit]
[-] methods.js
[edit]
[-] get.js
[edit]
[-] values.js
[edit]
[-] pairs.js
[edit]
[-] forIn.js
[edit]
[-] mapKeys.js
[edit]
[-] defaultsDeep.js
[edit]
[-] invert.js
[edit]
[-] create.js
[edit]
[-] result.js
[edit]
[-] defaults.js
[edit]
[-] set.js
[edit]
[-] assign.js
[edit]
[-] keys.js
[edit]