@kineviz/lodash 4.17.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +47 -0
- package/README.md +39 -0
- package/_.log +3 -0
- package/_DataView.js +7 -0
- package/_Hash.js +32 -0
- package/_LazyWrapper.js +28 -0
- package/_ListCache.js +32 -0
- package/_LodashWrapper.js +22 -0
- package/_Map.js +7 -0
- package/_MapCache.js +32 -0
- package/_Promise.js +7 -0
- package/_Set.js +7 -0
- package/_SetCache.js +27 -0
- package/_Stack.js +27 -0
- package/_Symbol.js +6 -0
- package/_Uint8Array.js +6 -0
- package/_WeakMap.js +7 -0
- package/_apply.js +21 -0
- package/_arrayAggregator.js +22 -0
- package/_arrayEach.js +22 -0
- package/_arrayEachRight.js +21 -0
- package/_arrayEvery.js +23 -0
- package/_arrayFilter.js +25 -0
- package/_arrayIncludes.js +17 -0
- package/_arrayIncludesWith.js +22 -0
- package/_arrayLikeKeys.js +49 -0
- package/_arrayMap.js +21 -0
- package/_arrayPush.js +20 -0
- package/_arrayReduce.js +26 -0
- package/_arrayReduceRight.js +24 -0
- package/_arraySample.js +15 -0
- package/_arraySampleSize.js +17 -0
- package/_arrayShuffle.js +15 -0
- package/_arraySome.js +23 -0
- package/_asciiSize.js +12 -0
- package/_asciiToArray.js +12 -0
- package/_asciiWords.js +15 -0
- package/_assignMergeValue.js +20 -0
- package/_assignValue.js +28 -0
- package/_assocIndexOf.js +21 -0
- package/_baseAggregator.js +21 -0
- package/_baseAssign.js +17 -0
- package/_baseAssignIn.js +17 -0
- package/_baseAssignValue.js +25 -0
- package/_baseAt.js +23 -0
- package/_baseClamp.js +22 -0
- package/_baseClone.js +166 -0
- package/_baseConforms.js +18 -0
- package/_baseConformsTo.js +27 -0
- package/_baseCreate.js +30 -0
- package/_baseDelay.js +21 -0
- package/_baseDifference.js +67 -0
- package/_baseEach.js +14 -0
- package/_baseEachRight.js +14 -0
- package/_baseEvery.js +21 -0
- package/_baseExtremum.js +32 -0
- package/_baseFill.js +32 -0
- package/_baseFilter.js +21 -0
- package/_baseFindIndex.js +24 -0
- package/_baseFindKey.js +23 -0
- package/_baseFlatten.js +38 -0
- package/_baseFor.js +16 -0
- package/_baseForOwn.js +16 -0
- package/_baseForOwnRight.js +16 -0
- package/_baseForRight.js +15 -0
- package/_baseFunctions.js +19 -0
- package/_baseGet.js +24 -0
- package/_baseGetAllKeys.js +20 -0
- package/_baseGetTag.js +28 -0
- package/_baseGt.js +14 -0
- package/_baseHas.js +19 -0
- package/_baseHasIn.js +13 -0
- package/_baseInRange.js +18 -0
- package/_baseIndexOf.js +20 -0
- package/_baseIndexOfWith.js +23 -0
- package/_baseIntersection.js +74 -0
- package/_baseInverter.js +21 -0
- package/_baseInvoke.js +24 -0
- package/_baseIsArguments.js +18 -0
- package/_baseIsArrayBuffer.js +17 -0
- package/_baseIsDate.js +18 -0
- package/_baseIsEqual.js +28 -0
- package/_baseIsEqualDeep.js +83 -0
- package/_baseIsMap.js +18 -0
- package/_baseIsMatch.js +62 -0
- package/_baseIsNaN.js +12 -0
- package/_baseIsNative.js +47 -0
- package/_baseIsRegExp.js +18 -0
- package/_baseIsSet.js +18 -0
- package/_baseIsTypedArray.js +60 -0
- package/_baseIteratee.js +31 -0
- package/_baseKeys.js +30 -0
- package/_baseKeysIn.js +33 -0
- package/_baseLodash.js +10 -0
- package/_baseLt.js +14 -0
- package/_baseMap.js +22 -0
- package/_baseMatches.js +22 -0
- package/_baseMatchesProperty.js +33 -0
- package/_baseMean.js +20 -0
- package/_baseMerge.js +42 -0
- package/_baseMergeDeep.js +94 -0
- package/_baseNth.js +20 -0
- package/_baseOrderBy.js +49 -0
- package/_basePick.js +19 -0
- package/_basePickBy.js +30 -0
- package/_baseProperty.js +14 -0
- package/_basePropertyDeep.js +16 -0
- package/_basePropertyOf.js +14 -0
- package/_basePullAll.js +51 -0
- package/_basePullAt.js +37 -0
- package/_baseRandom.js +18 -0
- package/_baseRange.js +28 -0
- package/_baseReduce.js +23 -0
- package/_baseRepeat.js +35 -0
- package/_baseRest.js +17 -0
- package/_baseSample.js +15 -0
- package/_baseSampleSize.js +18 -0
- package/_baseSet.js +51 -0
- package/_baseSetData.js +17 -0
- package/_baseSetToString.js +22 -0
- package/_baseShuffle.js +15 -0
- package/_baseSlice.js +31 -0
- package/_baseSome.js +22 -0
- package/_baseSortBy.js +21 -0
- package/_baseSortedIndex.js +42 -0
- package/_baseSortedIndexBy.js +67 -0
- package/_baseSortedUniq.js +30 -0
- package/_baseSum.js +24 -0
- package/_baseTimes.js +20 -0
- package/_baseToNumber.js +24 -0
- package/_baseToPairs.js +18 -0
- package/_baseToString.js +37 -0
- package/_baseTrim.js +19 -0
- package/_baseUnary.js +14 -0
- package/_baseUniq.js +72 -0
- package/_baseUnset.js +20 -0
- package/_baseUpdate.js +18 -0
- package/_baseValues.js +19 -0
- package/_baseWhile.js +26 -0
- package/_baseWrapperValue.js +25 -0
- package/_baseXor.js +36 -0
- package/_baseZipObject.js +23 -0
- package/_cacheHas.js +13 -0
- package/_castArrayLikeObject.js +14 -0
- package/_castFunction.js +14 -0
- package/_castPath.js +21 -0
- package/_castRest.js +14 -0
- package/_castSlice.js +18 -0
- package/_charsEndIndex.js +19 -0
- package/_charsStartIndex.js +20 -0
- package/_cloneArrayBuffer.js +16 -0
- package/_cloneBuffer.js +35 -0
- package/_cloneDataView.js +16 -0
- package/_cloneRegExp.js +17 -0
- package/_cloneSymbol.js +18 -0
- package/_cloneTypedArray.js +16 -0
- package/_compareAscending.js +41 -0
- package/_compareMultiple.js +44 -0
- package/_composeArgs.js +39 -0
- package/_composeArgsRight.js +41 -0
- package/_copyArray.js +20 -0
- package/_copyObject.js +40 -0
- package/_copySymbols.js +16 -0
- package/_copySymbolsIn.js +16 -0
- package/_coreJsData.js +6 -0
- package/_countHolders.js +21 -0
- package/_createAggregator.js +23 -0
- package/_createAssigner.js +37 -0
- package/_createBaseEach.js +32 -0
- package/_createBaseFor.js +25 -0
- package/_createBind.js +28 -0
- package/_createCaseFirst.js +33 -0
- package/_createCompounder.js +24 -0
- package/_createCtor.js +37 -0
- package/_createCurry.js +46 -0
- package/_createFind.js +25 -0
- package/_createFlow.js +78 -0
- package/_createHybrid.js +92 -0
- package/_createInverter.js +17 -0
- package/_createMathOperation.js +38 -0
- package/_createOver.js +27 -0
- package/_createPadding.js +33 -0
- package/_createPartial.js +43 -0
- package/_createRange.js +30 -0
- package/_createRecurry.js +56 -0
- package/_createRelationalOperation.js +20 -0
- package/_createRound.js +35 -0
- package/_createSet.js +19 -0
- package/_createToPairs.js +30 -0
- package/_createWrap.js +106 -0
- package/_customDefaultsAssignIn.js +29 -0
- package/_customDefaultsMerge.js +28 -0
- package/_customOmitClone.js +16 -0
- package/_deburrLetter.js +71 -0
- package/_defineProperty.js +11 -0
- package/_equalArrays.js +84 -0
- package/_equalByTag.js +112 -0
- package/_equalObjects.js +90 -0
- package/_escapeHtmlChar.js +21 -0
- package/_escapeStringChar.js +22 -0
- package/_flatRest.js +16 -0
- package/_freeGlobal.js +4 -0
- package/_getAllKeys.js +16 -0
- package/_getAllKeysIn.js +17 -0
- package/_getData.js +15 -0
- package/_getFuncName.js +31 -0
- package/_getHolder.js +13 -0
- package/_getMapData.js +18 -0
- package/_getMatchData.js +24 -0
- package/_getNative.js +17 -0
- package/_getPrototype.js +6 -0
- package/_getRawTag.js +46 -0
- package/_getSymbols.js +30 -0
- package/_getSymbolsIn.js +25 -0
- package/_getTag.js +58 -0
- package/_getValue.js +13 -0
- package/_getView.js +33 -0
- package/_getWrapDetails.js +17 -0
- package/_hasPath.js +39 -0
- package/_hasUnicode.js +26 -0
- package/_hasUnicodeWord.js +15 -0
- package/_hashClear.js +15 -0
- package/_hashDelete.js +17 -0
- package/_hashGet.js +30 -0
- package/_hashHas.js +23 -0
- package/_hashSet.js +23 -0
- package/_initCloneArray.js +26 -0
- package/_initCloneByTag.js +77 -0
- package/_initCloneObject.js +18 -0
- package/_insertWrapDetails.js +23 -0
- package/_isFlattenable.js +20 -0
- package/_isIndex.js +25 -0
- package/_isIterateeCall.js +30 -0
- package/_isKey.js +29 -0
- package/_isKeyable.js +15 -0
- package/_isLaziable.js +28 -0
- package/_isMaskable.js +14 -0
- package/_isMasked.js +20 -0
- package/_isPrototype.js +18 -0
- package/_isStrictComparable.js +15 -0
- package/_iteratorToArray.js +18 -0
- package/_lazyClone.js +23 -0
- package/_lazyReverse.js +23 -0
- package/_lazyValue.js +69 -0
- package/_listCacheClear.js +13 -0
- package/_listCacheDelete.js +35 -0
- package/_listCacheGet.js +19 -0
- package/_listCacheHas.js +16 -0
- package/_listCacheSet.js +26 -0
- package/_mapCacheClear.js +21 -0
- package/_mapCacheDelete.js +18 -0
- package/_mapCacheGet.js +16 -0
- package/_mapCacheHas.js +16 -0
- package/_mapCacheSet.js +22 -0
- package/_mapToArray.js +18 -0
- package/_matchesStrictComparable.js +20 -0
- package/_memoizeCapped.js +26 -0
- package/_mergeData.js +90 -0
- package/_metaMap.js +6 -0
- package/_nativeCreate.js +6 -0
- package/_nativeKeys.js +6 -0
- package/_nativeKeysIn.js +20 -0
- package/_nodeUtil.js +30 -0
- package/_objectToString.js +22 -0
- package/_overArg.js +15 -0
- package/_overRest.js +36 -0
- package/_parent.js +16 -0
- package/_reEscape.js +4 -0
- package/_reEvaluate.js +4 -0
- package/_reInterpolate.js +4 -0
- package/_realNames.js +4 -0
- package/_reorder.js +29 -0
- package/_replaceHolders.js +29 -0
- package/_root.js +9 -0
- package/_safeGet.js +21 -0
- package/_setCacheAdd.js +19 -0
- package/_setCacheHas.js +14 -0
- package/_setData.js +20 -0
- package/_setToArray.js +18 -0
- package/_setToPairs.js +18 -0
- package/_setToString.js +14 -0
- package/_setWrapToString.js +21 -0
- package/_shortOut.js +37 -0
- package/_shuffleSelf.js +28 -0
- package/_stackClear.js +15 -0
- package/_stackDelete.js +18 -0
- package/_stackGet.js +14 -0
- package/_stackHas.js +14 -0
- package/_stackSet.js +34 -0
- package/_strictIndexOf.js +23 -0
- package/_strictLastIndexOf.js +21 -0
- package/_stringSize.js +18 -0
- package/_stringToArray.js +18 -0
- package/_stringToPath.js +27 -0
- package/_toKey.js +21 -0
- package/_toSource.js +26 -0
- package/_trimmedEndIndex.js +19 -0
- package/_unescapeHtmlChar.js +21 -0
- package/_unicodeSize.js +44 -0
- package/_unicodeToArray.js +40 -0
- package/_unicodeWords.js +69 -0
- package/_updateWrapDetails.js +46 -0
- package/_wrapperClone.js +23 -0
- package/add.js +22 -0
- package/after.js +42 -0
- package/array.js +67 -0
- package/ary.js +29 -0
- package/assign.js +58 -0
- package/assignIn.js +40 -0
- package/assignInWith.js +38 -0
- package/assignWith.js +37 -0
- package/at.js +23 -0
- package/attempt.js +35 -0
- package/before.js +40 -0
- package/bind.js +57 -0
- package/bindAll.js +41 -0
- package/bindKey.js +68 -0
- package/camelCase.js +29 -0
- package/capitalize.js +23 -0
- package/castArray.js +44 -0
- package/ceil.js +26 -0
- package/chain.js +38 -0
- package/chunk.js +50 -0
- package/clamp.js +39 -0
- package/clone.js +36 -0
- package/cloneDeep.js +29 -0
- package/cloneDeepWith.js +40 -0
- package/cloneWith.js +42 -0
- package/collection.js +30 -0
- package/commit.js +33 -0
- package/compact.js +31 -0
- package/concat.js +43 -0
- package/cond.js +60 -0
- package/conforms.js +35 -0
- package/conformsTo.js +32 -0
- package/constant.js +26 -0
- package/core.js +3877 -0
- package/core.min.js +29 -0
- package/countBy.js +40 -0
- package/create.js +43 -0
- package/curry.js +57 -0
- package/curryRight.js +54 -0
- package/date.js +3 -0
- package/debounce.js +191 -0
- package/deburr.js +45 -0
- package/defaultTo.js +25 -0
- package/defaults.js +64 -0
- package/defaultsDeep.js +30 -0
- package/defer.js +26 -0
- package/delay.js +28 -0
- package/difference.js +33 -0
- package/differenceBy.js +44 -0
- package/differenceWith.js +40 -0
- package/divide.js +22 -0
- package/drop.js +38 -0
- package/dropRight.js +39 -0
- package/dropRightWhile.js +45 -0
- package/dropWhile.js +45 -0
- package/each.js +1 -0
- package/eachRight.js +1 -0
- package/endsWith.js +43 -0
- package/entries.js +1 -0
- package/entriesIn.js +1 -0
- package/eq.js +37 -0
- package/escape.js +43 -0
- package/escapeRegExp.js +32 -0
- package/every.js +56 -0
- package/extend.js +1 -0
- package/extendWith.js +1 -0
- package/fill.js +45 -0
- package/filter.js +52 -0
- package/find.js +42 -0
- package/findIndex.js +55 -0
- package/findKey.js +44 -0
- package/findLast.js +25 -0
- package/findLastIndex.js +59 -0
- package/findLastKey.js +44 -0
- package/first.js +1 -0
- package/flatMap.js +29 -0
- package/flatMapDeep.js +31 -0
- package/flatMapDepth.js +31 -0
- package/flatten.js +22 -0
- package/flattenDeep.js +25 -0
- package/flattenDepth.js +33 -0
- package/flip.js +28 -0
- package/floor.js +26 -0
- package/flow.js +27 -0
- package/flowRight.js +26 -0
- package/forEach.js +41 -0
- package/forEachRight.js +31 -0
- package/forIn.js +39 -0
- package/forInRight.js +37 -0
- package/forOwn.js +36 -0
- package/forOwnRight.js +34 -0
- package/fp/F.js +1 -0
- package/fp/T.js +1 -0
- package/fp/__.js +1 -0
- package/fp/_baseConvert.js +569 -0
- package/fp/_convertBrowser.js +18 -0
- package/fp/_falseOptions.js +7 -0
- package/fp/_mapping.js +358 -0
- package/fp/_util.js +16 -0
- package/fp/add.js +5 -0
- package/fp/after.js +5 -0
- package/fp/all.js +1 -0
- package/fp/allPass.js +1 -0
- package/fp/always.js +1 -0
- package/fp/any.js +1 -0
- package/fp/anyPass.js +1 -0
- package/fp/apply.js +1 -0
- package/fp/array.js +2 -0
- package/fp/ary.js +5 -0
- package/fp/assign.js +5 -0
- package/fp/assignAll.js +5 -0
- package/fp/assignAllWith.js +5 -0
- package/fp/assignIn.js +5 -0
- package/fp/assignInAll.js +5 -0
- package/fp/assignInAllWith.js +5 -0
- package/fp/assignInWith.js +5 -0
- package/fp/assignWith.js +5 -0
- package/fp/assoc.js +1 -0
- package/fp/assocPath.js +1 -0
- package/fp/at.js +5 -0
- package/fp/attempt.js +5 -0
- package/fp/before.js +5 -0
- package/fp/bind.js +5 -0
- package/fp/bindAll.js +5 -0
- package/fp/bindKey.js +5 -0
- package/fp/camelCase.js +5 -0
- package/fp/capitalize.js +5 -0
- package/fp/castArray.js +5 -0
- package/fp/ceil.js +5 -0
- package/fp/chain.js +5 -0
- package/fp/chunk.js +5 -0
- package/fp/clamp.js +5 -0
- package/fp/clone.js +5 -0
- package/fp/cloneDeep.js +5 -0
- package/fp/cloneDeepWith.js +5 -0
- package/fp/cloneWith.js +5 -0
- package/fp/collection.js +2 -0
- package/fp/commit.js +5 -0
- package/fp/compact.js +5 -0
- package/fp/complement.js +1 -0
- package/fp/compose.js +1 -0
- package/fp/concat.js +5 -0
- package/fp/cond.js +5 -0
- package/fp/conforms.js +1 -0
- package/fp/conformsTo.js +5 -0
- package/fp/constant.js +5 -0
- package/fp/contains.js +1 -0
- package/fp/convert.js +18 -0
- package/fp/countBy.js +5 -0
- package/fp/create.js +5 -0
- package/fp/curry.js +5 -0
- package/fp/curryN.js +5 -0
- package/fp/curryRight.js +5 -0
- package/fp/curryRightN.js +5 -0
- package/fp/date.js +2 -0
- package/fp/debounce.js +5 -0
- package/fp/deburr.js +5 -0
- package/fp/defaultTo.js +5 -0
- package/fp/defaults.js +5 -0
- package/fp/defaultsAll.js +5 -0
- package/fp/defaultsDeep.js +5 -0
- package/fp/defaultsDeepAll.js +5 -0
- package/fp/defer.js +5 -0
- package/fp/delay.js +5 -0
- package/fp/difference.js +5 -0
- package/fp/differenceBy.js +5 -0
- package/fp/differenceWith.js +5 -0
- package/fp/dissoc.js +1 -0
- package/fp/dissocPath.js +1 -0
- package/fp/divide.js +5 -0
- package/fp/drop.js +5 -0
- package/fp/dropLast.js +1 -0
- package/fp/dropLastWhile.js +1 -0
- package/fp/dropRight.js +5 -0
- package/fp/dropRightWhile.js +5 -0
- package/fp/dropWhile.js +5 -0
- package/fp/each.js +1 -0
- package/fp/eachRight.js +1 -0
- package/fp/endsWith.js +5 -0
- package/fp/entries.js +1 -0
- package/fp/entriesIn.js +1 -0
- package/fp/eq.js +5 -0
- package/fp/equals.js +1 -0
- package/fp/escape.js +5 -0
- package/fp/escapeRegExp.js +5 -0
- package/fp/every.js +5 -0
- package/fp/extend.js +1 -0
- package/fp/extendAll.js +1 -0
- package/fp/extendAllWith.js +1 -0
- package/fp/extendWith.js +1 -0
- package/fp/fill.js +5 -0
- package/fp/filter.js +5 -0
- package/fp/find.js +5 -0
- package/fp/findFrom.js +5 -0
- package/fp/findIndex.js +5 -0
- package/fp/findIndexFrom.js +5 -0
- package/fp/findKey.js +5 -0
- package/fp/findLast.js +5 -0
- package/fp/findLastFrom.js +5 -0
- package/fp/findLastIndex.js +5 -0
- package/fp/findLastIndexFrom.js +5 -0
- package/fp/findLastKey.js +5 -0
- package/fp/first.js +1 -0
- package/fp/flatMap.js +5 -0
- package/fp/flatMapDeep.js +5 -0
- package/fp/flatMapDepth.js +5 -0
- package/fp/flatten.js +5 -0
- package/fp/flattenDeep.js +5 -0
- package/fp/flattenDepth.js +5 -0
- package/fp/flip.js +5 -0
- package/fp/floor.js +5 -0
- package/fp/flow.js +5 -0
- package/fp/flowRight.js +5 -0
- package/fp/forEach.js +5 -0
- package/fp/forEachRight.js +5 -0
- package/fp/forIn.js +5 -0
- package/fp/forInRight.js +5 -0
- package/fp/forOwn.js +5 -0
- package/fp/forOwnRight.js +5 -0
- package/fp/fromPairs.js +5 -0
- package/fp/function.js +2 -0
- package/fp/functions.js +5 -0
- package/fp/functionsIn.js +5 -0
- package/fp/get.js +5 -0
- package/fp/getOr.js +5 -0
- package/fp/groupBy.js +5 -0
- package/fp/gt.js +5 -0
- package/fp/gte.js +5 -0
- package/fp/has.js +5 -0
- package/fp/hasIn.js +5 -0
- package/fp/head.js +5 -0
- package/fp/identical.js +1 -0
- package/fp/identity.js +5 -0
- package/fp/inRange.js +5 -0
- package/fp/includes.js +5 -0
- package/fp/includesFrom.js +5 -0
- package/fp/indexBy.js +1 -0
- package/fp/indexOf.js +5 -0
- package/fp/indexOfFrom.js +5 -0
- package/fp/init.js +1 -0
- package/fp/initial.js +5 -0
- package/fp/intersection.js +5 -0
- package/fp/intersectionBy.js +5 -0
- package/fp/intersectionWith.js +5 -0
- package/fp/invert.js +5 -0
- package/fp/invertBy.js +5 -0
- package/fp/invertObj.js +1 -0
- package/fp/invoke.js +5 -0
- package/fp/invokeArgs.js +5 -0
- package/fp/invokeArgsMap.js +5 -0
- package/fp/invokeMap.js +5 -0
- package/fp/isArguments.js +5 -0
- package/fp/isArray.js +5 -0
- package/fp/isArrayBuffer.js +5 -0
- package/fp/isArrayLike.js +5 -0
- package/fp/isArrayLikeObject.js +5 -0
- package/fp/isBoolean.js +5 -0
- package/fp/isBuffer.js +5 -0
- package/fp/isDate.js +5 -0
- package/fp/isElement.js +5 -0
- package/fp/isEmpty.js +5 -0
- package/fp/isEqual.js +5 -0
- package/fp/isEqualWith.js +5 -0
- package/fp/isError.js +5 -0
- package/fp/isFinite.js +5 -0
- package/fp/isFunction.js +5 -0
- package/fp/isInteger.js +5 -0
- package/fp/isLength.js +5 -0
- package/fp/isMap.js +5 -0
- package/fp/isMatch.js +5 -0
- package/fp/isMatchWith.js +5 -0
- package/fp/isNaN.js +5 -0
- package/fp/isNative.js +5 -0
- package/fp/isNil.js +5 -0
- package/fp/isNull.js +5 -0
- package/fp/isNumber.js +5 -0
- package/fp/isObject.js +5 -0
- package/fp/isObjectLike.js +5 -0
- package/fp/isPlainObject.js +5 -0
- package/fp/isRegExp.js +5 -0
- package/fp/isSafeInteger.js +5 -0
- package/fp/isSet.js +5 -0
- package/fp/isString.js +5 -0
- package/fp/isSymbol.js +5 -0
- package/fp/isTypedArray.js +5 -0
- package/fp/isUndefined.js +5 -0
- package/fp/isWeakMap.js +5 -0
- package/fp/isWeakSet.js +5 -0
- package/fp/iteratee.js +5 -0
- package/fp/join.js +5 -0
- package/fp/juxt.js +1 -0
- package/fp/kebabCase.js +5 -0
- package/fp/keyBy.js +5 -0
- package/fp/keys.js +5 -0
- package/fp/keysIn.js +5 -0
- package/fp/lang.js +2 -0
- package/fp/last.js +5 -0
- package/fp/lastIndexOf.js +5 -0
- package/fp/lastIndexOfFrom.js +5 -0
- package/fp/lowerCase.js +5 -0
- package/fp/lowerFirst.js +5 -0
- package/fp/lt.js +5 -0
- package/fp/lte.js +5 -0
- package/fp/map.js +5 -0
- package/fp/mapKeys.js +5 -0
- package/fp/mapValues.js +5 -0
- package/fp/matches.js +1 -0
- package/fp/matchesProperty.js +5 -0
- package/fp/math.js +2 -0
- package/fp/max.js +5 -0
- package/fp/maxBy.js +5 -0
- package/fp/mean.js +5 -0
- package/fp/meanBy.js +5 -0
- package/fp/memoize.js +5 -0
- package/fp/merge.js +5 -0
- package/fp/mergeAll.js +5 -0
- package/fp/mergeAllWith.js +5 -0
- package/fp/mergeWith.js +5 -0
- package/fp/method.js +5 -0
- package/fp/methodOf.js +5 -0
- package/fp/min.js +5 -0
- package/fp/minBy.js +5 -0
- package/fp/mixin.js +5 -0
- package/fp/multiply.js +5 -0
- package/fp/nAry.js +1 -0
- package/fp/negate.js +5 -0
- package/fp/next.js +5 -0
- package/fp/noop.js +5 -0
- package/fp/now.js +5 -0
- package/fp/nth.js +5 -0
- package/fp/nthArg.js +5 -0
- package/fp/number.js +2 -0
- package/fp/object.js +2 -0
- package/fp/omit.js +5 -0
- package/fp/omitAll.js +1 -0
- package/fp/omitBy.js +5 -0
- package/fp/once.js +5 -0
- package/fp/orderBy.js +5 -0
- package/fp/over.js +5 -0
- package/fp/overArgs.js +5 -0
- package/fp/overEvery.js +5 -0
- package/fp/overSome.js +5 -0
- package/fp/pad.js +5 -0
- package/fp/padChars.js +5 -0
- package/fp/padCharsEnd.js +5 -0
- package/fp/padCharsStart.js +5 -0
- package/fp/padEnd.js +5 -0
- package/fp/padStart.js +5 -0
- package/fp/parseInt.js +5 -0
- package/fp/partial.js +5 -0
- package/fp/partialRight.js +5 -0
- package/fp/partition.js +5 -0
- package/fp/path.js +1 -0
- package/fp/pathEq.js +1 -0
- package/fp/pathOr.js +1 -0
- package/fp/paths.js +1 -0
- package/fp/pick.js +5 -0
- package/fp/pickAll.js +1 -0
- package/fp/pickBy.js +5 -0
- package/fp/pipe.js +1 -0
- package/fp/placeholder.js +6 -0
- package/fp/plant.js +5 -0
- package/fp/pluck.js +1 -0
- package/fp/prop.js +1 -0
- package/fp/propEq.js +1 -0
- package/fp/propOr.js +1 -0
- package/fp/property.js +1 -0
- package/fp/propertyOf.js +5 -0
- package/fp/props.js +1 -0
- package/fp/pull.js +5 -0
- package/fp/pullAll.js +5 -0
- package/fp/pullAllBy.js +5 -0
- package/fp/pullAllWith.js +5 -0
- package/fp/pullAt.js +5 -0
- package/fp/random.js +5 -0
- package/fp/range.js +5 -0
- package/fp/rangeRight.js +5 -0
- package/fp/rangeStep.js +5 -0
- package/fp/rangeStepRight.js +5 -0
- package/fp/rearg.js +5 -0
- package/fp/reduce.js +5 -0
- package/fp/reduceRight.js +5 -0
- package/fp/reject.js +5 -0
- package/fp/remove.js +5 -0
- package/fp/repeat.js +5 -0
- package/fp/replace.js +5 -0
- package/fp/rest.js +5 -0
- package/fp/restFrom.js +5 -0
- package/fp/result.js +5 -0
- package/fp/reverse.js +5 -0
- package/fp/round.js +5 -0
- package/fp/sample.js +5 -0
- package/fp/sampleSize.js +5 -0
- package/fp/seq.js +2 -0
- package/fp/set.js +5 -0
- package/fp/setWith.js +5 -0
- package/fp/shuffle.js +5 -0
- package/fp/size.js +5 -0
- package/fp/slice.js +5 -0
- package/fp/snakeCase.js +5 -0
- package/fp/some.js +5 -0
- package/fp/sortBy.js +5 -0
- package/fp/sortedIndex.js +5 -0
- package/fp/sortedIndexBy.js +5 -0
- package/fp/sortedIndexOf.js +5 -0
- package/fp/sortedLastIndex.js +5 -0
- package/fp/sortedLastIndexBy.js +5 -0
- package/fp/sortedLastIndexOf.js +5 -0
- package/fp/sortedUniq.js +5 -0
- package/fp/sortedUniqBy.js +5 -0
- package/fp/split.js +5 -0
- package/fp/spread.js +5 -0
- package/fp/spreadFrom.js +5 -0
- package/fp/startCase.js +5 -0
- package/fp/startsWith.js +5 -0
- package/fp/string.js +2 -0
- package/fp/stubArray.js +5 -0
- package/fp/stubFalse.js +5 -0
- package/fp/stubObject.js +5 -0
- package/fp/stubString.js +5 -0
- package/fp/stubTrue.js +5 -0
- package/fp/subtract.js +5 -0
- package/fp/sum.js +5 -0
- package/fp/sumBy.js +5 -0
- package/fp/symmetricDifference.js +1 -0
- package/fp/symmetricDifferenceBy.js +1 -0
- package/fp/symmetricDifferenceWith.js +1 -0
- package/fp/tail.js +5 -0
- package/fp/take.js +5 -0
- package/fp/takeLast.js +1 -0
- package/fp/takeLastWhile.js +1 -0
- package/fp/takeRight.js +5 -0
- package/fp/takeRightWhile.js +5 -0
- package/fp/takeWhile.js +5 -0
- package/fp/tap.js +5 -0
- package/fp/template.js +5 -0
- package/fp/templateSettings.js +5 -0
- package/fp/throttle.js +5 -0
- package/fp/thru.js +5 -0
- package/fp/times.js +5 -0
- package/fp/toArray.js +5 -0
- package/fp/toFinite.js +5 -0
- package/fp/toInteger.js +5 -0
- package/fp/toIterator.js +5 -0
- package/fp/toJSON.js +5 -0
- package/fp/toLength.js +5 -0
- package/fp/toLower.js +5 -0
- package/fp/toNumber.js +5 -0
- package/fp/toPairs.js +5 -0
- package/fp/toPairsIn.js +5 -0
- package/fp/toPath.js +5 -0
- package/fp/toPlainObject.js +5 -0
- package/fp/toSafeInteger.js +5 -0
- package/fp/toString.js +5 -0
- package/fp/toUpper.js +5 -0
- package/fp/transform.js +5 -0
- package/fp/trim.js +5 -0
- package/fp/trimChars.js +5 -0
- package/fp/trimCharsEnd.js +5 -0
- package/fp/trimCharsStart.js +5 -0
- package/fp/trimEnd.js +5 -0
- package/fp/trimStart.js +5 -0
- package/fp/truncate.js +5 -0
- package/fp/unapply.js +1 -0
- package/fp/unary.js +5 -0
- package/fp/unescape.js +5 -0
- package/fp/union.js +5 -0
- package/fp/unionBy.js +5 -0
- package/fp/unionWith.js +5 -0
- package/fp/uniq.js +5 -0
- package/fp/uniqBy.js +5 -0
- package/fp/uniqWith.js +5 -0
- package/fp/uniqueId.js +5 -0
- package/fp/unnest.js +1 -0
- package/fp/unset.js +5 -0
- package/fp/unzip.js +5 -0
- package/fp/unzipWith.js +5 -0
- package/fp/update.js +5 -0
- package/fp/updateWith.js +5 -0
- package/fp/upperCase.js +5 -0
- package/fp/upperFirst.js +5 -0
- package/fp/useWith.js +1 -0
- package/fp/util.js +2 -0
- package/fp/value.js +5 -0
- package/fp/valueOf.js +5 -0
- package/fp/values.js +5 -0
- package/fp/valuesIn.js +5 -0
- package/fp/where.js +1 -0
- package/fp/whereEq.js +1 -0
- package/fp/without.js +5 -0
- package/fp/words.js +5 -0
- package/fp/wrap.js +5 -0
- package/fp/wrapperAt.js +5 -0
- package/fp/wrapperChain.js +5 -0
- package/fp/wrapperLodash.js +5 -0
- package/fp/wrapperReverse.js +5 -0
- package/fp/wrapperValue.js +5 -0
- package/fp/xor.js +5 -0
- package/fp/xorBy.js +5 -0
- package/fp/xorWith.js +5 -0
- package/fp/zip.js +5 -0
- package/fp/zipAll.js +5 -0
- package/fp/zipObj.js +1 -0
- package/fp/zipObject.js +5 -0
- package/fp/zipObjectDeep.js +5 -0
- package/fp/zipWith.js +5 -0
- package/fp.js +2 -0
- package/fromPairs.js +28 -0
- package/function.js +25 -0
- package/functions.js +31 -0
- package/functionsIn.js +31 -0
- package/get.js +33 -0
- package/groupBy.js +41 -0
- package/gt.js +29 -0
- package/gte.js +30 -0
- package/has.js +35 -0
- package/hasIn.js +34 -0
- package/head.js +23 -0
- package/identity.js +21 -0
- package/inRange.js +55 -0
- package/includes.js +53 -0
- package/index.js +1 -0
- package/indexOf.js +42 -0
- package/initial.js +22 -0
- package/intersection.js +30 -0
- package/intersectionBy.js +45 -0
- package/intersectionWith.js +41 -0
- package/invert.js +42 -0
- package/invertBy.js +56 -0
- package/invoke.js +24 -0
- package/invokeMap.js +41 -0
- package/isArguments.js +36 -0
- package/isArray.js +26 -0
- package/isArrayBuffer.js +27 -0
- package/isArrayLike.js +33 -0
- package/isArrayLikeObject.js +33 -0
- package/isBoolean.js +29 -0
- package/isBuffer.js +38 -0
- package/isDate.js +27 -0
- package/isElement.js +25 -0
- package/isEmpty.js +77 -0
- package/isEqual.js +35 -0
- package/isEqualWith.js +41 -0
- package/isError.js +36 -0
- package/isFinite.js +36 -0
- package/isFunction.js +37 -0
- package/isInteger.js +33 -0
- package/isLength.js +35 -0
- package/isMap.js +27 -0
- package/isMatch.js +36 -0
- package/isMatchWith.js +41 -0
- package/isNaN.js +38 -0
- package/isNative.js +40 -0
- package/isNil.js +25 -0
- package/isNull.js +22 -0
- package/isNumber.js +38 -0
- package/isObject.js +31 -0
- package/isObjectLike.js +29 -0
- package/isPlainObject.js +62 -0
- package/isRegExp.js +27 -0
- package/isSafeInteger.js +37 -0
- package/isSet.js +27 -0
- package/isString.js +30 -0
- package/isSymbol.js +29 -0
- package/isTypedArray.js +27 -0
- package/isUndefined.js +22 -0
- package/isWeakMap.js +28 -0
- package/isWeakSet.js +28 -0
- package/iteratee.js +53 -0
- package/join.js +26 -0
- package/kebabCase.js +28 -0
- package/keyBy.js +36 -0
- package/keys.js +37 -0
- package/keysIn.js +32 -0
- package/lang.js +58 -0
- package/last.js +20 -0
- package/lastIndexOf.js +46 -0
- package/lodash.js +17209 -0
- package/lodash.min.js +138 -0
- package/lowerCase.js +27 -0
- package/lowerFirst.js +22 -0
- package/lt.js +29 -0
- package/lte.js +30 -0
- package/map.js +53 -0
- package/mapKeys.js +36 -0
- package/mapValues.js +43 -0
- package/matches.js +46 -0
- package/matchesProperty.js +44 -0
- package/math.js +17 -0
- package/max.js +29 -0
- package/maxBy.js +34 -0
- package/mean.js +22 -0
- package/meanBy.js +31 -0
- package/memoize.js +73 -0
- package/merge.js +39 -0
- package/mergeWith.js +39 -0
- package/method.js +34 -0
- package/methodOf.js +33 -0
- package/min.js +29 -0
- package/minBy.js +34 -0
- package/mixin.js +74 -0
- package/multiply.js +22 -0
- package/negate.js +40 -0
- package/next.js +35 -0
- package/noop.js +17 -0
- package/now.js +23 -0
- package/nth.js +29 -0
- package/nthArg.js +32 -0
- package/number.js +5 -0
- package/object.js +49 -0
- package/omit.js +57 -0
- package/omitBy.js +29 -0
- package/once.js +25 -0
- package/orderBy.js +47 -0
- package/over.js +24 -0
- package/overArgs.js +61 -0
- package/overEvery.js +34 -0
- package/overSome.js +37 -0
- package/package.json +27 -0
- package/pad.js +49 -0
- package/padEnd.js +39 -0
- package/padStart.js +39 -0
- package/parseInt.js +43 -0
- package/partial.js +50 -0
- package/partialRight.js +49 -0
- package/partition.js +43 -0
- package/pick.js +25 -0
- package/pickBy.js +37 -0
- package/plant.js +48 -0
- package/property.js +32 -0
- package/propertyOf.js +30 -0
- package/pull.js +29 -0
- package/pullAll.js +29 -0
- package/pullAllBy.js +33 -0
- package/pullAllWith.js +32 -0
- package/pullAt.js +43 -0
- package/random.js +82 -0
- package/range.js +46 -0
- package/rangeRight.js +41 -0
- package/rearg.js +33 -0
- package/reduce.js +51 -0
- package/reduceRight.js +36 -0
- package/reject.js +46 -0
- package/remove.js +53 -0
- package/repeat.js +37 -0
- package/replace.js +29 -0
- package/rest.js +40 -0
- package/result.js +56 -0
- package/reverse.js +34 -0
- package/round.js +26 -0
- package/sample.js +24 -0
- package/sampleSize.js +37 -0
- package/seq.js +16 -0
- package/set.js +35 -0
- package/setWith.js +32 -0
- package/shuffle.js +25 -0
- package/size.js +46 -0
- package/slice.js +37 -0
- package/snakeCase.js +28 -0
- package/some.js +51 -0
- package/sortBy.js +48 -0
- package/sortedIndex.js +24 -0
- package/sortedIndexBy.js +33 -0
- package/sortedIndexOf.js +31 -0
- package/sortedLastIndex.js +25 -0
- package/sortedLastIndexBy.js +33 -0
- package/sortedLastIndexOf.js +31 -0
- package/sortedUniq.js +24 -0
- package/sortedUniqBy.js +26 -0
- package/split.js +52 -0
- package/spread.js +63 -0
- package/startCase.js +29 -0
- package/startsWith.js +39 -0
- package/string.js +33 -0
- package/stubArray.js +23 -0
- package/stubFalse.js +18 -0
- package/stubObject.js +23 -0
- package/stubString.js +18 -0
- package/stubTrue.js +18 -0
- package/subtract.js +22 -0
- package/sum.js +24 -0
- package/sumBy.js +33 -0
- package/tail.js +22 -0
- package/take.js +37 -0
- package/takeRight.js +39 -0
- package/takeRightWhile.js +45 -0
- package/takeWhile.js +45 -0
- package/tap.js +29 -0
- package/template.js +272 -0
- package/templateSettings.js +67 -0
- package/throttle.js +69 -0
- package/thru.js +28 -0
- package/times.js +51 -0
- package/toArray.js +58 -0
- package/toFinite.js +42 -0
- package/toInteger.js +36 -0
- package/toIterator.js +23 -0
- package/toJSON.js +1 -0
- package/toLength.js +38 -0
- package/toLower.js +28 -0
- package/toNumber.js +64 -0
- package/toPairs.js +30 -0
- package/toPairsIn.js +30 -0
- package/toPath.js +33 -0
- package/toPlainObject.js +32 -0
- package/toSafeInteger.js +37 -0
- package/toString.js +28 -0
- package/toUpper.js +28 -0
- package/transform.js +65 -0
- package/trim.js +47 -0
- package/trimEnd.js +41 -0
- package/trimStart.js +43 -0
- package/truncate.js +111 -0
- package/unary.js +22 -0
- package/unescape.js +34 -0
- package/union.js +26 -0
- package/unionBy.js +39 -0
- package/unionWith.js +34 -0
- package/uniq.js +25 -0
- package/uniqBy.js +31 -0
- package/uniqWith.js +28 -0
- package/uniqueId.js +28 -0
- package/unset.js +34 -0
- package/unzip.js +45 -0
- package/unzipWith.js +39 -0
- package/update.js +35 -0
- package/updateWith.js +33 -0
- package/upperCase.js +27 -0
- package/upperFirst.js +22 -0
- package/util.js +34 -0
- package/value.js +1 -0
- package/valueOf.js +1 -0
- package/values.js +34 -0
- package/valuesIn.js +32 -0
- package/without.js +31 -0
- package/words.js +35 -0
- package/wrap.js +30 -0
- package/wrapperAt.js +48 -0
- package/wrapperChain.js +34 -0
- package/wrapperLodash.js +147 -0
- package/wrapperReverse.js +44 -0
- package/wrapperValue.js +21 -0
- package/xor.js +28 -0
- package/xorBy.js +39 -0
- package/xorWith.js +34 -0
- package/zip.js +22 -0
- package/zipObject.js +24 -0
- package/zipObjectDeep.js +23 -0
- package/zipWith.js +32 -0
package/assign.js
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
var assignValue = require('./_assignValue'),
|
|
2
|
+
copyObject = require('./_copyObject'),
|
|
3
|
+
createAssigner = require('./_createAssigner'),
|
|
4
|
+
isArrayLike = require('./isArrayLike'),
|
|
5
|
+
isPrototype = require('./_isPrototype'),
|
|
6
|
+
keys = require('./keys');
|
|
7
|
+
|
|
8
|
+
/** Used for built-in method references. */
|
|
9
|
+
var objectProto = Object.prototype;
|
|
10
|
+
|
|
11
|
+
/** Used to check objects for own properties. */
|
|
12
|
+
var hasOwnProperty = objectProto.hasOwnProperty;
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Assigns own enumerable string keyed properties of source objects to the
|
|
16
|
+
* destination object. Source objects are applied from left to right.
|
|
17
|
+
* Subsequent sources overwrite property assignments of previous sources.
|
|
18
|
+
*
|
|
19
|
+
* **Note:** This method mutates `object` and is loosely based on
|
|
20
|
+
* [`Object.assign`](https://mdn.io/Object/assign).
|
|
21
|
+
*
|
|
22
|
+
* @static
|
|
23
|
+
* @memberOf _
|
|
24
|
+
* @since 0.10.0
|
|
25
|
+
* @category Object
|
|
26
|
+
* @param {Object} object The destination object.
|
|
27
|
+
* @param {...Object} [sources] The source objects.
|
|
28
|
+
* @returns {Object} Returns `object`.
|
|
29
|
+
* @see _.assignIn
|
|
30
|
+
* @example
|
|
31
|
+
*
|
|
32
|
+
* function Foo() {
|
|
33
|
+
* this.a = 1;
|
|
34
|
+
* }
|
|
35
|
+
*
|
|
36
|
+
* function Bar() {
|
|
37
|
+
* this.c = 3;
|
|
38
|
+
* }
|
|
39
|
+
*
|
|
40
|
+
* Foo.prototype.b = 2;
|
|
41
|
+
* Bar.prototype.d = 4;
|
|
42
|
+
*
|
|
43
|
+
* _.assign({ 'a': 0 }, new Foo, new Bar);
|
|
44
|
+
* // => { 'a': 1, 'c': 3 }
|
|
45
|
+
*/
|
|
46
|
+
var assign = createAssigner(function(object, source) {
|
|
47
|
+
if (isPrototype(source) || isArrayLike(source)) {
|
|
48
|
+
copyObject(source, keys(source), object);
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
for (var key in source) {
|
|
52
|
+
if (hasOwnProperty.call(source, key)) {
|
|
53
|
+
assignValue(object, key, source[key]);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
module.exports = assign;
|
package/assignIn.js
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
var copyObject = require('./_copyObject'),
|
|
2
|
+
createAssigner = require('./_createAssigner'),
|
|
3
|
+
keysIn = require('./keysIn');
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* This method is like `_.assign` except that it iterates over own and
|
|
7
|
+
* inherited source properties.
|
|
8
|
+
*
|
|
9
|
+
* **Note:** This method mutates `object`.
|
|
10
|
+
*
|
|
11
|
+
* @static
|
|
12
|
+
* @memberOf _
|
|
13
|
+
* @since 4.0.0
|
|
14
|
+
* @alias extend
|
|
15
|
+
* @category Object
|
|
16
|
+
* @param {Object} object The destination object.
|
|
17
|
+
* @param {...Object} [sources] The source objects.
|
|
18
|
+
* @returns {Object} Returns `object`.
|
|
19
|
+
* @see _.assign
|
|
20
|
+
* @example
|
|
21
|
+
*
|
|
22
|
+
* function Foo() {
|
|
23
|
+
* this.a = 1;
|
|
24
|
+
* }
|
|
25
|
+
*
|
|
26
|
+
* function Bar() {
|
|
27
|
+
* this.c = 3;
|
|
28
|
+
* }
|
|
29
|
+
*
|
|
30
|
+
* Foo.prototype.b = 2;
|
|
31
|
+
* Bar.prototype.d = 4;
|
|
32
|
+
*
|
|
33
|
+
* _.assignIn({ 'a': 0 }, new Foo, new Bar);
|
|
34
|
+
* // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 }
|
|
35
|
+
*/
|
|
36
|
+
var assignIn = createAssigner(function(object, source) {
|
|
37
|
+
copyObject(source, keysIn(source), object);
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
module.exports = assignIn;
|
package/assignInWith.js
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
var copyObject = require('./_copyObject'),
|
|
2
|
+
createAssigner = require('./_createAssigner'),
|
|
3
|
+
keysIn = require('./keysIn');
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* This method is like `_.assignIn` except that it accepts `customizer`
|
|
7
|
+
* which is invoked to produce the assigned values. If `customizer` returns
|
|
8
|
+
* `undefined`, assignment is handled by the method instead. The `customizer`
|
|
9
|
+
* is invoked with five arguments: (objValue, srcValue, key, object, source).
|
|
10
|
+
*
|
|
11
|
+
* **Note:** This method mutates `object`.
|
|
12
|
+
*
|
|
13
|
+
* @static
|
|
14
|
+
* @memberOf _
|
|
15
|
+
* @since 4.0.0
|
|
16
|
+
* @alias extendWith
|
|
17
|
+
* @category Object
|
|
18
|
+
* @param {Object} object The destination object.
|
|
19
|
+
* @param {...Object} sources The source objects.
|
|
20
|
+
* @param {Function} [customizer] The function to customize assigned values.
|
|
21
|
+
* @returns {Object} Returns `object`.
|
|
22
|
+
* @see _.assignWith
|
|
23
|
+
* @example
|
|
24
|
+
*
|
|
25
|
+
* function customizer(objValue, srcValue) {
|
|
26
|
+
* return _.isUndefined(objValue) ? srcValue : objValue;
|
|
27
|
+
* }
|
|
28
|
+
*
|
|
29
|
+
* var defaults = _.partialRight(_.assignInWith, customizer);
|
|
30
|
+
*
|
|
31
|
+
* defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });
|
|
32
|
+
* // => { 'a': 1, 'b': 2 }
|
|
33
|
+
*/
|
|
34
|
+
var assignInWith = createAssigner(function(object, source, srcIndex, customizer) {
|
|
35
|
+
copyObject(source, keysIn(source), object, customizer);
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
module.exports = assignInWith;
|
package/assignWith.js
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
var copyObject = require('./_copyObject'),
|
|
2
|
+
createAssigner = require('./_createAssigner'),
|
|
3
|
+
keys = require('./keys');
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* This method is like `_.assign` except that it accepts `customizer`
|
|
7
|
+
* which is invoked to produce the assigned values. If `customizer` returns
|
|
8
|
+
* `undefined`, assignment is handled by the method instead. The `customizer`
|
|
9
|
+
* is invoked with five arguments: (objValue, srcValue, key, object, source).
|
|
10
|
+
*
|
|
11
|
+
* **Note:** This method mutates `object`.
|
|
12
|
+
*
|
|
13
|
+
* @static
|
|
14
|
+
* @memberOf _
|
|
15
|
+
* @since 4.0.0
|
|
16
|
+
* @category Object
|
|
17
|
+
* @param {Object} object The destination object.
|
|
18
|
+
* @param {...Object} sources The source objects.
|
|
19
|
+
* @param {Function} [customizer] The function to customize assigned values.
|
|
20
|
+
* @returns {Object} Returns `object`.
|
|
21
|
+
* @see _.assignInWith
|
|
22
|
+
* @example
|
|
23
|
+
*
|
|
24
|
+
* function customizer(objValue, srcValue) {
|
|
25
|
+
* return _.isUndefined(objValue) ? srcValue : objValue;
|
|
26
|
+
* }
|
|
27
|
+
*
|
|
28
|
+
* var defaults = _.partialRight(_.assignWith, customizer);
|
|
29
|
+
*
|
|
30
|
+
* defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });
|
|
31
|
+
* // => { 'a': 1, 'b': 2 }
|
|
32
|
+
*/
|
|
33
|
+
var assignWith = createAssigner(function(object, source, srcIndex, customizer) {
|
|
34
|
+
copyObject(source, keys(source), object, customizer);
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
module.exports = assignWith;
|
package/at.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
var baseAt = require('./_baseAt'),
|
|
2
|
+
flatRest = require('./_flatRest');
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Creates an array of values corresponding to `paths` of `object`.
|
|
6
|
+
*
|
|
7
|
+
* @static
|
|
8
|
+
* @memberOf _
|
|
9
|
+
* @since 1.0.0
|
|
10
|
+
* @category Object
|
|
11
|
+
* @param {Object} object The object to iterate over.
|
|
12
|
+
* @param {...(string|string[])} [paths] The property paths to pick.
|
|
13
|
+
* @returns {Array} Returns the picked values.
|
|
14
|
+
* @example
|
|
15
|
+
*
|
|
16
|
+
* var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };
|
|
17
|
+
*
|
|
18
|
+
* _.at(object, ['a[0].b.c', 'a[1]']);
|
|
19
|
+
* // => [3, 4]
|
|
20
|
+
*/
|
|
21
|
+
var at = flatRest(baseAt);
|
|
22
|
+
|
|
23
|
+
module.exports = at;
|
package/attempt.js
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
var apply = require('./_apply'),
|
|
2
|
+
baseRest = require('./_baseRest'),
|
|
3
|
+
isError = require('./isError');
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Attempts to invoke `func`, returning either the result or the caught error
|
|
7
|
+
* object. Any additional arguments are provided to `func` when it's invoked.
|
|
8
|
+
*
|
|
9
|
+
* @static
|
|
10
|
+
* @memberOf _
|
|
11
|
+
* @since 3.0.0
|
|
12
|
+
* @category Util
|
|
13
|
+
* @param {Function} func The function to attempt.
|
|
14
|
+
* @param {...*} [args] The arguments to invoke `func` with.
|
|
15
|
+
* @returns {*} Returns the `func` result or error object.
|
|
16
|
+
* @example
|
|
17
|
+
*
|
|
18
|
+
* // Avoid throwing errors for invalid selectors.
|
|
19
|
+
* var elements = _.attempt(function(selector) {
|
|
20
|
+
* return document.querySelectorAll(selector);
|
|
21
|
+
* }, '>_>');
|
|
22
|
+
*
|
|
23
|
+
* if (_.isError(elements)) {
|
|
24
|
+
* elements = [];
|
|
25
|
+
* }
|
|
26
|
+
*/
|
|
27
|
+
var attempt = baseRest(function(func, args) {
|
|
28
|
+
try {
|
|
29
|
+
return apply(func, undefined, args);
|
|
30
|
+
} catch (e) {
|
|
31
|
+
return isError(e) ? e : new Error(e);
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
module.exports = attempt;
|
package/before.js
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
var toInteger = require('./toInteger');
|
|
2
|
+
|
|
3
|
+
/** Error message constants. */
|
|
4
|
+
var FUNC_ERROR_TEXT = 'Expected a function';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Creates a function that invokes `func`, with the `this` binding and arguments
|
|
8
|
+
* of the created function, while it's called less than `n` times. Subsequent
|
|
9
|
+
* calls to the created function return the result of the last `func` invocation.
|
|
10
|
+
*
|
|
11
|
+
* @static
|
|
12
|
+
* @memberOf _
|
|
13
|
+
* @since 3.0.0
|
|
14
|
+
* @category Function
|
|
15
|
+
* @param {number} n The number of calls at which `func` is no longer invoked.
|
|
16
|
+
* @param {Function} func The function to restrict.
|
|
17
|
+
* @returns {Function} Returns the new restricted function.
|
|
18
|
+
* @example
|
|
19
|
+
*
|
|
20
|
+
* jQuery(element).on('click', _.before(5, addContactToList));
|
|
21
|
+
* // => Allows adding up to 4 contacts to the list.
|
|
22
|
+
*/
|
|
23
|
+
function before(n, func) {
|
|
24
|
+
var result;
|
|
25
|
+
if (typeof func != 'function') {
|
|
26
|
+
throw new TypeError(FUNC_ERROR_TEXT);
|
|
27
|
+
}
|
|
28
|
+
n = toInteger(n);
|
|
29
|
+
return function() {
|
|
30
|
+
if (--n > 0) {
|
|
31
|
+
result = func.apply(this, arguments);
|
|
32
|
+
}
|
|
33
|
+
if (n <= 1) {
|
|
34
|
+
func = undefined;
|
|
35
|
+
}
|
|
36
|
+
return result;
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
module.exports = before;
|
package/bind.js
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
var baseRest = require('./_baseRest'),
|
|
2
|
+
createWrap = require('./_createWrap'),
|
|
3
|
+
getHolder = require('./_getHolder'),
|
|
4
|
+
replaceHolders = require('./_replaceHolders');
|
|
5
|
+
|
|
6
|
+
/** Used to compose bitmasks for function metadata. */
|
|
7
|
+
var WRAP_BIND_FLAG = 1,
|
|
8
|
+
WRAP_PARTIAL_FLAG = 32;
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Creates a function that invokes `func` with the `this` binding of `thisArg`
|
|
12
|
+
* and `partials` prepended to the arguments it receives.
|
|
13
|
+
*
|
|
14
|
+
* The `_.bind.placeholder` value, which defaults to `_` in monolithic builds,
|
|
15
|
+
* may be used as a placeholder for partially applied arguments.
|
|
16
|
+
*
|
|
17
|
+
* **Note:** Unlike native `Function#bind`, this method doesn't set the "length"
|
|
18
|
+
* property of bound functions.
|
|
19
|
+
*
|
|
20
|
+
* @static
|
|
21
|
+
* @memberOf _
|
|
22
|
+
* @since 0.1.0
|
|
23
|
+
* @category Function
|
|
24
|
+
* @param {Function} func The function to bind.
|
|
25
|
+
* @param {*} thisArg The `this` binding of `func`.
|
|
26
|
+
* @param {...*} [partials] The arguments to be partially applied.
|
|
27
|
+
* @returns {Function} Returns the new bound function.
|
|
28
|
+
* @example
|
|
29
|
+
*
|
|
30
|
+
* function greet(greeting, punctuation) {
|
|
31
|
+
* return greeting + ' ' + this.user + punctuation;
|
|
32
|
+
* }
|
|
33
|
+
*
|
|
34
|
+
* var object = { 'user': 'fred' };
|
|
35
|
+
*
|
|
36
|
+
* var bound = _.bind(greet, object, 'hi');
|
|
37
|
+
* bound('!');
|
|
38
|
+
* // => 'hi fred!'
|
|
39
|
+
*
|
|
40
|
+
* // Bound with placeholders.
|
|
41
|
+
* var bound = _.bind(greet, object, _, '!');
|
|
42
|
+
* bound('hi');
|
|
43
|
+
* // => 'hi fred!'
|
|
44
|
+
*/
|
|
45
|
+
var bind = baseRest(function(func, thisArg, partials) {
|
|
46
|
+
var bitmask = WRAP_BIND_FLAG;
|
|
47
|
+
if (partials.length) {
|
|
48
|
+
var holders = replaceHolders(partials, getHolder(bind));
|
|
49
|
+
bitmask |= WRAP_PARTIAL_FLAG;
|
|
50
|
+
}
|
|
51
|
+
return createWrap(func, bitmask, thisArg, partials, holders);
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
// Assign default placeholders.
|
|
55
|
+
bind.placeholder = {};
|
|
56
|
+
|
|
57
|
+
module.exports = bind;
|
package/bindAll.js
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
var arrayEach = require('./_arrayEach'),
|
|
2
|
+
baseAssignValue = require('./_baseAssignValue'),
|
|
3
|
+
bind = require('./bind'),
|
|
4
|
+
flatRest = require('./_flatRest'),
|
|
5
|
+
toKey = require('./_toKey');
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Binds methods of an object to the object itself, overwriting the existing
|
|
9
|
+
* method.
|
|
10
|
+
*
|
|
11
|
+
* **Note:** This method doesn't set the "length" property of bound functions.
|
|
12
|
+
*
|
|
13
|
+
* @static
|
|
14
|
+
* @since 0.1.0
|
|
15
|
+
* @memberOf _
|
|
16
|
+
* @category Util
|
|
17
|
+
* @param {Object} object The object to bind and assign the bound methods to.
|
|
18
|
+
* @param {...(string|string[])} methodNames The object method names to bind.
|
|
19
|
+
* @returns {Object} Returns `object`.
|
|
20
|
+
* @example
|
|
21
|
+
*
|
|
22
|
+
* var view = {
|
|
23
|
+
* 'label': 'docs',
|
|
24
|
+
* 'click': function() {
|
|
25
|
+
* console.log('clicked ' + this.label);
|
|
26
|
+
* }
|
|
27
|
+
* };
|
|
28
|
+
*
|
|
29
|
+
* _.bindAll(view, ['click']);
|
|
30
|
+
* jQuery(element).on('click', view.click);
|
|
31
|
+
* // => Logs 'clicked docs' when clicked.
|
|
32
|
+
*/
|
|
33
|
+
var bindAll = flatRest(function(object, methodNames) {
|
|
34
|
+
arrayEach(methodNames, function(key) {
|
|
35
|
+
key = toKey(key);
|
|
36
|
+
baseAssignValue(object, key, bind(object[key], object));
|
|
37
|
+
});
|
|
38
|
+
return object;
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
module.exports = bindAll;
|
package/bindKey.js
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
var baseRest = require('./_baseRest'),
|
|
2
|
+
createWrap = require('./_createWrap'),
|
|
3
|
+
getHolder = require('./_getHolder'),
|
|
4
|
+
replaceHolders = require('./_replaceHolders');
|
|
5
|
+
|
|
6
|
+
/** Used to compose bitmasks for function metadata. */
|
|
7
|
+
var WRAP_BIND_FLAG = 1,
|
|
8
|
+
WRAP_BIND_KEY_FLAG = 2,
|
|
9
|
+
WRAP_PARTIAL_FLAG = 32;
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Creates a function that invokes the method at `object[key]` with `partials`
|
|
13
|
+
* prepended to the arguments it receives.
|
|
14
|
+
*
|
|
15
|
+
* This method differs from `_.bind` by allowing bound functions to reference
|
|
16
|
+
* methods that may be redefined or don't yet exist. See
|
|
17
|
+
* [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern)
|
|
18
|
+
* for more details.
|
|
19
|
+
*
|
|
20
|
+
* The `_.bindKey.placeholder` value, which defaults to `_` in monolithic
|
|
21
|
+
* builds, may be used as a placeholder for partially applied arguments.
|
|
22
|
+
*
|
|
23
|
+
* @static
|
|
24
|
+
* @memberOf _
|
|
25
|
+
* @since 0.10.0
|
|
26
|
+
* @category Function
|
|
27
|
+
* @param {Object} object The object to invoke the method on.
|
|
28
|
+
* @param {string} key The key of the method.
|
|
29
|
+
* @param {...*} [partials] The arguments to be partially applied.
|
|
30
|
+
* @returns {Function} Returns the new bound function.
|
|
31
|
+
* @example
|
|
32
|
+
*
|
|
33
|
+
* var object = {
|
|
34
|
+
* 'user': 'fred',
|
|
35
|
+
* 'greet': function(greeting, punctuation) {
|
|
36
|
+
* return greeting + ' ' + this.user + punctuation;
|
|
37
|
+
* }
|
|
38
|
+
* };
|
|
39
|
+
*
|
|
40
|
+
* var bound = _.bindKey(object, 'greet', 'hi');
|
|
41
|
+
* bound('!');
|
|
42
|
+
* // => 'hi fred!'
|
|
43
|
+
*
|
|
44
|
+
* object.greet = function(greeting, punctuation) {
|
|
45
|
+
* return greeting + 'ya ' + this.user + punctuation;
|
|
46
|
+
* };
|
|
47
|
+
*
|
|
48
|
+
* bound('!');
|
|
49
|
+
* // => 'hiya fred!'
|
|
50
|
+
*
|
|
51
|
+
* // Bound with placeholders.
|
|
52
|
+
* var bound = _.bindKey(object, 'greet', _, '!');
|
|
53
|
+
* bound('hi');
|
|
54
|
+
* // => 'hiya fred!'
|
|
55
|
+
*/
|
|
56
|
+
var bindKey = baseRest(function(object, key, partials) {
|
|
57
|
+
var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG;
|
|
58
|
+
if (partials.length) {
|
|
59
|
+
var holders = replaceHolders(partials, getHolder(bindKey));
|
|
60
|
+
bitmask |= WRAP_PARTIAL_FLAG;
|
|
61
|
+
}
|
|
62
|
+
return createWrap(key, bitmask, object, partials, holders);
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
// Assign default placeholders.
|
|
66
|
+
bindKey.placeholder = {};
|
|
67
|
+
|
|
68
|
+
module.exports = bindKey;
|
package/camelCase.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
var capitalize = require('./capitalize'),
|
|
2
|
+
createCompounder = require('./_createCompounder');
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase).
|
|
6
|
+
*
|
|
7
|
+
* @static
|
|
8
|
+
* @memberOf _
|
|
9
|
+
* @since 3.0.0
|
|
10
|
+
* @category String
|
|
11
|
+
* @param {string} [string=''] The string to convert.
|
|
12
|
+
* @returns {string} Returns the camel cased string.
|
|
13
|
+
* @example
|
|
14
|
+
*
|
|
15
|
+
* _.camelCase('Foo Bar');
|
|
16
|
+
* // => 'fooBar'
|
|
17
|
+
*
|
|
18
|
+
* _.camelCase('--foo-bar--');
|
|
19
|
+
* // => 'fooBar'
|
|
20
|
+
*
|
|
21
|
+
* _.camelCase('__FOO_BAR__');
|
|
22
|
+
* // => 'fooBar'
|
|
23
|
+
*/
|
|
24
|
+
var camelCase = createCompounder(function(result, word, index) {
|
|
25
|
+
word = word.toLowerCase();
|
|
26
|
+
return result + (index ? capitalize(word) : word);
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
module.exports = camelCase;
|
package/capitalize.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
var toString = require('./toString'),
|
|
2
|
+
upperFirst = require('./upperFirst');
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Converts the first character of `string` to upper case and the remaining
|
|
6
|
+
* to lower case.
|
|
7
|
+
*
|
|
8
|
+
* @static
|
|
9
|
+
* @memberOf _
|
|
10
|
+
* @since 3.0.0
|
|
11
|
+
* @category String
|
|
12
|
+
* @param {string} [string=''] The string to capitalize.
|
|
13
|
+
* @returns {string} Returns the capitalized string.
|
|
14
|
+
* @example
|
|
15
|
+
*
|
|
16
|
+
* _.capitalize('FRED');
|
|
17
|
+
* // => 'Fred'
|
|
18
|
+
*/
|
|
19
|
+
function capitalize(string) {
|
|
20
|
+
return upperFirst(toString(string).toLowerCase());
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
module.exports = capitalize;
|
package/castArray.js
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
var isArray = require('./isArray');
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Casts `value` as an array if it's not one.
|
|
5
|
+
*
|
|
6
|
+
* @static
|
|
7
|
+
* @memberOf _
|
|
8
|
+
* @since 4.4.0
|
|
9
|
+
* @category Lang
|
|
10
|
+
* @param {*} value The value to inspect.
|
|
11
|
+
* @returns {Array} Returns the cast array.
|
|
12
|
+
* @example
|
|
13
|
+
*
|
|
14
|
+
* _.castArray(1);
|
|
15
|
+
* // => [1]
|
|
16
|
+
*
|
|
17
|
+
* _.castArray({ 'a': 1 });
|
|
18
|
+
* // => [{ 'a': 1 }]
|
|
19
|
+
*
|
|
20
|
+
* _.castArray('abc');
|
|
21
|
+
* // => ['abc']
|
|
22
|
+
*
|
|
23
|
+
* _.castArray(null);
|
|
24
|
+
* // => [null]
|
|
25
|
+
*
|
|
26
|
+
* _.castArray(undefined);
|
|
27
|
+
* // => [undefined]
|
|
28
|
+
*
|
|
29
|
+
* _.castArray();
|
|
30
|
+
* // => []
|
|
31
|
+
*
|
|
32
|
+
* var array = [1, 2, 3];
|
|
33
|
+
* console.log(_.castArray(array) === array);
|
|
34
|
+
* // => true
|
|
35
|
+
*/
|
|
36
|
+
function castArray() {
|
|
37
|
+
if (!arguments.length) {
|
|
38
|
+
return [];
|
|
39
|
+
}
|
|
40
|
+
var value = arguments[0];
|
|
41
|
+
return isArray(value) ? value : [value];
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
module.exports = castArray;
|
package/ceil.js
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
var createRound = require('./_createRound');
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Computes `number` rounded up to `precision`.
|
|
5
|
+
*
|
|
6
|
+
* @static
|
|
7
|
+
* @memberOf _
|
|
8
|
+
* @since 3.10.0
|
|
9
|
+
* @category Math
|
|
10
|
+
* @param {number} number The number to round up.
|
|
11
|
+
* @param {number} [precision=0] The precision to round up to.
|
|
12
|
+
* @returns {number} Returns the rounded up number.
|
|
13
|
+
* @example
|
|
14
|
+
*
|
|
15
|
+
* _.ceil(4.006);
|
|
16
|
+
* // => 5
|
|
17
|
+
*
|
|
18
|
+
* _.ceil(6.004, 2);
|
|
19
|
+
* // => 6.01
|
|
20
|
+
*
|
|
21
|
+
* _.ceil(6040, -2);
|
|
22
|
+
* // => 6100
|
|
23
|
+
*/
|
|
24
|
+
var ceil = createRound('ceil');
|
|
25
|
+
|
|
26
|
+
module.exports = ceil;
|
package/chain.js
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
var lodash = require('./wrapperLodash');
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Creates a `lodash` wrapper instance that wraps `value` with explicit method
|
|
5
|
+
* chain sequences enabled. The result of such sequences must be unwrapped
|
|
6
|
+
* with `_#value`.
|
|
7
|
+
*
|
|
8
|
+
* @static
|
|
9
|
+
* @memberOf _
|
|
10
|
+
* @since 1.3.0
|
|
11
|
+
* @category Seq
|
|
12
|
+
* @param {*} value The value to wrap.
|
|
13
|
+
* @returns {Object} Returns the new `lodash` wrapper instance.
|
|
14
|
+
* @example
|
|
15
|
+
*
|
|
16
|
+
* var users = [
|
|
17
|
+
* { 'user': 'barney', 'age': 36 },
|
|
18
|
+
* { 'user': 'fred', 'age': 40 },
|
|
19
|
+
* { 'user': 'pebbles', 'age': 1 }
|
|
20
|
+
* ];
|
|
21
|
+
*
|
|
22
|
+
* var youngest = _
|
|
23
|
+
* .chain(users)
|
|
24
|
+
* .sortBy('age')
|
|
25
|
+
* .map(function(o) {
|
|
26
|
+
* return o.user + ' is ' + o.age;
|
|
27
|
+
* })
|
|
28
|
+
* .head()
|
|
29
|
+
* .value();
|
|
30
|
+
* // => 'pebbles is 1'
|
|
31
|
+
*/
|
|
32
|
+
function chain(value) {
|
|
33
|
+
var result = lodash(value);
|
|
34
|
+
result.__chain__ = true;
|
|
35
|
+
return result;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
module.exports = chain;
|
package/chunk.js
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
var baseSlice = require('./_baseSlice'),
|
|
2
|
+
isIterateeCall = require('./_isIterateeCall'),
|
|
3
|
+
toInteger = require('./toInteger');
|
|
4
|
+
|
|
5
|
+
/* Built-in method references for those with the same name as other `lodash` methods. */
|
|
6
|
+
var nativeCeil = Math.ceil,
|
|
7
|
+
nativeMax = Math.max;
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Creates an array of elements split into groups the length of `size`.
|
|
11
|
+
* If `array` can't be split evenly, the final chunk will be the remaining
|
|
12
|
+
* elements.
|
|
13
|
+
*
|
|
14
|
+
* @static
|
|
15
|
+
* @memberOf _
|
|
16
|
+
* @since 3.0.0
|
|
17
|
+
* @category Array
|
|
18
|
+
* @param {Array} array The array to process.
|
|
19
|
+
* @param {number} [size=1] The length of each chunk
|
|
20
|
+
* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
|
|
21
|
+
* @returns {Array} Returns the new array of chunks.
|
|
22
|
+
* @example
|
|
23
|
+
*
|
|
24
|
+
* _.chunk(['a', 'b', 'c', 'd'], 2);
|
|
25
|
+
* // => [['a', 'b'], ['c', 'd']]
|
|
26
|
+
*
|
|
27
|
+
* _.chunk(['a', 'b', 'c', 'd'], 3);
|
|
28
|
+
* // => [['a', 'b', 'c'], ['d']]
|
|
29
|
+
*/
|
|
30
|
+
function chunk(array, size, guard) {
|
|
31
|
+
if ((guard ? isIterateeCall(array, size, guard) : size === undefined)) {
|
|
32
|
+
size = 1;
|
|
33
|
+
} else {
|
|
34
|
+
size = nativeMax(toInteger(size), 0);
|
|
35
|
+
}
|
|
36
|
+
var length = array == null ? 0 : array.length;
|
|
37
|
+
if (!length || size < 1) {
|
|
38
|
+
return [];
|
|
39
|
+
}
|
|
40
|
+
var index = 0,
|
|
41
|
+
resIndex = 0,
|
|
42
|
+
result = Array(nativeCeil(length / size));
|
|
43
|
+
|
|
44
|
+
while (index < length) {
|
|
45
|
+
result[resIndex++] = baseSlice(array, index, (index += size));
|
|
46
|
+
}
|
|
47
|
+
return result;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
module.exports = chunk;
|