PATH:
usr
/
local
/
lib
/
node_modules
/
bower
/
lib
/
node_modules
/
inquirer
/
node_modules
/
lodash
/
internal
var arrayCopy = require('./arrayCopy'), arrayEach = require('./arrayEach'), baseAssign = require('./baseAssign'), baseForOwn = require('./baseForOwn'), initCloneArray = require('./initCloneArray'), initCloneByTag = require('./initCloneByTag'), initCloneObject = require('./initCloneObject'), isArray = require('../lang/isArray'), isObject = require('../lang/isObject'); /** `Object#toString` result references. */ var argsTag = '[object Arguments]', arrayTag = '[object Array]', boolTag = '[object Boolean]', dateTag = '[object Date]', errorTag = '[object Error]', funcTag = '[object Function]', mapTag = '[object Map]', numberTag = '[object Number]', objectTag = '[object Object]', regexpTag = '[object RegExp]', setTag = '[object Set]', stringTag = '[object String]', weakMapTag = '[object WeakMap]'; var arrayBufferTag = '[object ArrayBuffer]', float32Tag = '[object Float32Array]', float64Tag = '[object Float64Array]', int8Tag = '[object Int8Array]', int16Tag = '[object Int16Array]', int32Tag = '[object Int32Array]', uint8Tag = '[object Uint8Array]', uint8ClampedTag = '[object Uint8ClampedArray]', uint16Tag = '[object Uint16Array]', uint32Tag = '[object Uint32Array]'; /** Used to identify `toStringTag` values supported by `_.clone`. */ var cloneableTags = {}; cloneableTags[argsTag] = cloneableTags[arrayTag] = cloneableTags[arrayBufferTag] = cloneableTags[boolTag] = cloneableTags[dateTag] = cloneableTags[float32Tag] = cloneableTags[float64Tag] = cloneableTags[int8Tag] = cloneableTags[int16Tag] = cloneableTags[int32Tag] = cloneableTags[numberTag] = cloneableTags[objectTag] = cloneableTags[regexpTag] = cloneableTags[stringTag] = cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true; cloneableTags[errorTag] = cloneableTags[funcTag] = cloneableTags[mapTag] = cloneableTags[setTag] = cloneableTags[weakMapTag] = false; /** Used for native method references. */ var objectProto = Object.prototype; /** * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring) * of values. */ var objToString = objectProto.toString; /** * The base implementation of `_.clone` without support for argument juggling * and `this` binding `customizer` functions. * * @private * @param {*} value The value to clone. * @param {boolean} [isDeep] Specify a deep clone. * @param {Function} [customizer] The function to customize cloning values. * @param {string} [key] The key of `value`. * @param {Object} [object] The object `value` belongs to. * @param {Array} [stackA=[]] Tracks traversed source objects. * @param {Array} [stackB=[]] Associates clones with source counterparts. * @returns {*} Returns the cloned value. */ function baseClone(value, isDeep, customizer, key, object, stackA, stackB) { var result; if (customizer) { result = object ? customizer(value, key, object) : customizer(value); } if (result !== undefined) { return result; } if (!isObject(value)) { return value; } var isArr = isArray(value); if (isArr) { result = initCloneArray(value); if (!isDeep) { return arrayCopy(value, result); } } else { var tag = objToString.call(value), isFunc = tag == funcTag; if (tag == objectTag || tag == argsTag || (isFunc && !object)) { result = initCloneObject(isFunc ? {} : value); if (!isDeep) { return baseAssign(result, value); } } else { return cloneableTags[tag] ? initCloneByTag(value, tag, isDeep) : (object ? value : {}); } } // Check for circular references and return its corresponding clone. stackA || (stackA = []); stackB || (stackB = []); var length = stackA.length; while (length--) { if (stackA[length] == value) { return stackB[length]; } } // Add the source value to the stack of traversed objects and associate it with its clone. stackA.push(value); stackB.push(result); // Recursively populate clone (susceptible to call stack limits). (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) { result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB); }); return result; } module.exports = baseClone;
[-] cacheIndexOf.js
[edit]
[-] charsLeftIndex.js
[edit]
[-] baseWrapperValue.js
[edit]
[-] shimKeys.js
[edit]
[-] createForOwn.js
[edit]
[-] deburrLetter.js
[edit]
[-] arrayEvery.js
[edit]
[-] baseFilter.js
[edit]
[-] getMatchData.js
[edit]
[-] isIterateeCall.js
[edit]
[-] arrayEach.js
[edit]
[-] createDefaults.js
[edit]
[-] mergeDefaults.js
[edit]
[-] baseForRight.js
[edit]
[-] baseValues.js
[edit]
[-] baseEachRight.js
[edit]
[-] baseFor.js
[edit]
[-] arraySum.js
[edit]
[-] createCompounder.js
[edit]
[-] baseForOwnRight.js
[edit]
[-] baseCompareAscending.js
[edit]
[-] baseWhile.js
[edit]
[-] baseDelay.js
[edit]
[-] metaMap.js
[edit]
[-] MapCache.js
[edit]
[-] arraySome.js
[edit]
[-] baseFindIndex.js
[edit]
[-] baseMatchesProperty.js
[edit]
[-] baseSortBy.js
[edit]
[-] baseRandom.js
[edit]
[-] baseDifference.js
[edit]
[-] compareAscending.js
[edit]
[-] LodashWrapper.js
[edit]
[-] invokePath.js
[edit]
[+]
..
[-] baseMap.js
[edit]
[-] isLaziable.js
[edit]
[-] unescapeHtmlChar.js
[edit]
[-] initCloneByTag.js
[edit]
[-] baseReduce.js
[edit]
[-] lazyReverse.js
[edit]
[-] baseUniq.js
[edit]
[-] baseGet.js
[edit]
[-] createReduce.js
[edit]
[-] cachePush.js
[edit]
[-] baseSum.js
[edit]
[-] escapeHtmlChar.js
[edit]
[-] mapHas.js
[edit]
[-] baseMatches.js
[edit]
[-] mapDelete.js
[edit]
[-] createCache.js
[edit]
[-] isArrayLike.js
[edit]
[-] toObject.js
[edit]
[-] basePropertyDeep.js
[edit]
[-] arrayFilter.js
[edit]
[-] assignWith.js
[edit]
[-] composeArgsRight.js
[edit]
[-] binaryIndex.js
[edit]
[-] mapSet.js
[edit]
[-] bindCallback.js
[edit]
[-] createExtremum.js
[edit]
[-] baseFunctions.js
[edit]
[-] baseToString.js
[edit]
[-] baseIsEqualDeep.js
[edit]
[-] createCtorWrapper.js
[edit]
[-] sortedUniq.js
[edit]
[-] arrayExtremum.js
[edit]
[-] baseExtremum.js
[edit]
[-] basePullAt.js
[edit]
[-] LazyWrapper.js
[edit]
[-] isStrictComparable.js
[edit]
[-] createBindWrapper.js
[edit]
[-] isObjectLike.js
[edit]
[-] createRound.js
[edit]
[-] getView.js
[edit]
[-] createAggregator.js
[edit]
[-] createFindKey.js
[edit]
[-] createBaseFor.js
[edit]
[-] getFuncName.js
[edit]
[-] trimmedRightIndex.js
[edit]
[-] isIndex.js
[edit]
[-] reEvaluate.js
[edit]
[-] reEscape.js
[edit]
[-] baseLodash.js
[edit]
[-] arrayConcat.js
[edit]
[-] escapeRegExpChar.js
[edit]
[-] baseIsFunction.js
[edit]
[-] baseForIn.js
[edit]
[-] toPath.js
[edit]
[-] arrayReduceRight.js
[edit]
[-] baseSortByOrder.js
[edit]
[-] baseSetData.js
[edit]
[-] arrayEachRight.js
[edit]
[-] baseFill.js
[edit]
[-] arrayMap.js
[edit]
[-] compareMultiple.js
[edit]
[-] mergeData.js
[edit]
[-] mapGet.js
[edit]
[-] createHybridWrapper.js
[edit]
[-] baseIndexOf.js
[edit]
[-] arrayPush.js
[edit]
[-] createCurry.js
[edit]
[-] realNames.js
[edit]
[-] arrayCopy.js
[edit]
[-] getNative.js
[edit]
[-] createPadding.js
[edit]
[-] charsRightIndex.js
[edit]
[-] baseCopy.js
[edit]
[-] baseCallback.js
[edit]
[-] pickByCallback.js
[edit]
[-] baseMerge.js
[edit]
[-] assignOwnDefaults.js
[edit]
[-] toIterable.js
[edit]
[-] baseCreate.js
[edit]
[-] initCloneArray.js
[edit]
[-] escapeStringChar.js
[edit]
[-] baseMergeDeep.js
[edit]
[-] createAssigner.js
[edit]
[-] createForEach.js
[edit]
[-] baseSome.js
[edit]
[-] trimmedLeftIndex.js
[edit]
[-] createFindIndex.js
[edit]
[-] arrayReduce.js
[edit]
[-] baseClone.js
[edit]
[-] isLength.js
[edit]
[-] indexOfNaN.js
[edit]
[-] createFlow.js
[edit]
[-] equalByTag.js
[edit]
[-] createWrapper.js
[edit]
[-] baseEach.js
[edit]
[-] composeArgs.js
[edit]
[-] equalObjects.js
[edit]
[-] baseFlatten.js
[edit]
[-] binaryIndexBy.js
[edit]
[-] assignDefaults.js
[edit]
[-] wrapperClone.js
[edit]
[-] createPadDir.js
[edit]
[-] isSpace.js
[edit]
[-] baseAssign.js
[edit]
[-] baseEvery.js
[edit]
[-] baseIsMatch.js
[edit]
[-] SetCache.js
[edit]
[-] replaceHolders.js
[edit]
[-] createObjectMapper.js
[edit]
[-] lazyClone.js
[edit]
[-] reInterpolate.js
[edit]
[-] bufferClone.js
[edit]
[-] createPartialWrapper.js
[edit]
[-] reorder.js
[edit]
[-] createBaseEach.js
[edit]
[-] baseAt.js
[edit]
[-] getLength.js
[edit]
[-] createPartial.js
[edit]
[-] createForIn.js
[edit]
[-] createFind.js
[edit]
[-] setData.js
[edit]
[-] getData.js
[edit]
[-] createSortedIndex.js
[edit]
[-] lazyValue.js
[edit]
[-] baseSlice.js
[edit]
[-] baseIsEqual.js
[edit]
[-] baseFind.js
[edit]
[-] equalArrays.js
[edit]
[-] baseForOwn.js
[edit]
[-] pickByArray.js
[edit]
[-] isKey.js
[edit]
[-] baseProperty.js
[edit]
[-] initCloneObject.js
[edit]