@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/_baseSortBy.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The base implementation of `_.sortBy` which uses `comparer` to define the
|
|
3
|
+
* sort order of `array` and replaces criteria objects with their corresponding
|
|
4
|
+
* values.
|
|
5
|
+
*
|
|
6
|
+
* @private
|
|
7
|
+
* @param {Array} array The array to sort.
|
|
8
|
+
* @param {Function} comparer The function to define sort order.
|
|
9
|
+
* @returns {Array} Returns `array`.
|
|
10
|
+
*/
|
|
11
|
+
function baseSortBy(array, comparer) {
|
|
12
|
+
var length = array.length;
|
|
13
|
+
|
|
14
|
+
array.sort(comparer);
|
|
15
|
+
while (length--) {
|
|
16
|
+
array[length] = array[length].value;
|
|
17
|
+
}
|
|
18
|
+
return array;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
module.exports = baseSortBy;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
var baseSortedIndexBy = require('./_baseSortedIndexBy'),
|
|
2
|
+
identity = require('./identity'),
|
|
3
|
+
isSymbol = require('./isSymbol');
|
|
4
|
+
|
|
5
|
+
/** Used as references for the maximum length and index of an array. */
|
|
6
|
+
var MAX_ARRAY_LENGTH = 4294967295,
|
|
7
|
+
HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1;
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* The base implementation of `_.sortedIndex` and `_.sortedLastIndex` which
|
|
11
|
+
* performs a binary search of `array` to determine the index at which `value`
|
|
12
|
+
* should be inserted into `array` in order to maintain its sort order.
|
|
13
|
+
*
|
|
14
|
+
* @private
|
|
15
|
+
* @param {Array} array The sorted array to inspect.
|
|
16
|
+
* @param {*} value The value to evaluate.
|
|
17
|
+
* @param {boolean} [retHighest] Specify returning the highest qualified index.
|
|
18
|
+
* @returns {number} Returns the index at which `value` should be inserted
|
|
19
|
+
* into `array`.
|
|
20
|
+
*/
|
|
21
|
+
function baseSortedIndex(array, value, retHighest) {
|
|
22
|
+
var low = 0,
|
|
23
|
+
high = array == null ? low : array.length;
|
|
24
|
+
|
|
25
|
+
if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) {
|
|
26
|
+
while (low < high) {
|
|
27
|
+
var mid = (low + high) >>> 1,
|
|
28
|
+
computed = array[mid];
|
|
29
|
+
|
|
30
|
+
if (computed !== null && !isSymbol(computed) &&
|
|
31
|
+
(retHighest ? (computed <= value) : (computed < value))) {
|
|
32
|
+
low = mid + 1;
|
|
33
|
+
} else {
|
|
34
|
+
high = mid;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return high;
|
|
38
|
+
}
|
|
39
|
+
return baseSortedIndexBy(array, value, identity, retHighest);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
module.exports = baseSortedIndex;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
var isSymbol = require('./isSymbol');
|
|
2
|
+
|
|
3
|
+
/** Used as references for the maximum length and index of an array. */
|
|
4
|
+
var MAX_ARRAY_LENGTH = 4294967295,
|
|
5
|
+
MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1;
|
|
6
|
+
|
|
7
|
+
/* Built-in method references for those with the same name as other `lodash` methods. */
|
|
8
|
+
var nativeFloor = Math.floor,
|
|
9
|
+
nativeMin = Math.min;
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* The base implementation of `_.sortedIndexBy` and `_.sortedLastIndexBy`
|
|
13
|
+
* which invokes `iteratee` for `value` and each element of `array` to compute
|
|
14
|
+
* their sort ranking. The iteratee is invoked with one argument; (value).
|
|
15
|
+
*
|
|
16
|
+
* @private
|
|
17
|
+
* @param {Array} array The sorted array to inspect.
|
|
18
|
+
* @param {*} value The value to evaluate.
|
|
19
|
+
* @param {Function} iteratee The iteratee invoked per element.
|
|
20
|
+
* @param {boolean} [retHighest] Specify returning the highest qualified index.
|
|
21
|
+
* @returns {number} Returns the index at which `value` should be inserted
|
|
22
|
+
* into `array`.
|
|
23
|
+
*/
|
|
24
|
+
function baseSortedIndexBy(array, value, iteratee, retHighest) {
|
|
25
|
+
var low = 0,
|
|
26
|
+
high = array == null ? 0 : array.length;
|
|
27
|
+
if (high === 0) {
|
|
28
|
+
return 0;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
value = iteratee(value);
|
|
32
|
+
var valIsNaN = value !== value,
|
|
33
|
+
valIsNull = value === null,
|
|
34
|
+
valIsSymbol = isSymbol(value),
|
|
35
|
+
valIsUndefined = value === undefined;
|
|
36
|
+
|
|
37
|
+
while (low < high) {
|
|
38
|
+
var mid = nativeFloor((low + high) / 2),
|
|
39
|
+
computed = iteratee(array[mid]),
|
|
40
|
+
othIsDefined = computed !== undefined,
|
|
41
|
+
othIsNull = computed === null,
|
|
42
|
+
othIsReflexive = computed === computed,
|
|
43
|
+
othIsSymbol = isSymbol(computed);
|
|
44
|
+
|
|
45
|
+
if (valIsNaN) {
|
|
46
|
+
var setLow = retHighest || othIsReflexive;
|
|
47
|
+
} else if (valIsUndefined) {
|
|
48
|
+
setLow = othIsReflexive && (retHighest || othIsDefined);
|
|
49
|
+
} else if (valIsNull) {
|
|
50
|
+
setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull);
|
|
51
|
+
} else if (valIsSymbol) {
|
|
52
|
+
setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol);
|
|
53
|
+
} else if (othIsNull || othIsSymbol) {
|
|
54
|
+
setLow = false;
|
|
55
|
+
} else {
|
|
56
|
+
setLow = retHighest ? (computed <= value) : (computed < value);
|
|
57
|
+
}
|
|
58
|
+
if (setLow) {
|
|
59
|
+
low = mid + 1;
|
|
60
|
+
} else {
|
|
61
|
+
high = mid;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return nativeMin(high, MAX_ARRAY_INDEX);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
module.exports = baseSortedIndexBy;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
var eq = require('./eq');
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* The base implementation of `_.sortedUniq` and `_.sortedUniqBy` without
|
|
5
|
+
* support for iteratee shorthands.
|
|
6
|
+
*
|
|
7
|
+
* @private
|
|
8
|
+
* @param {Array} array The array to inspect.
|
|
9
|
+
* @param {Function} [iteratee] The iteratee invoked per element.
|
|
10
|
+
* @returns {Array} Returns the new duplicate free array.
|
|
11
|
+
*/
|
|
12
|
+
function baseSortedUniq(array, iteratee) {
|
|
13
|
+
var index = -1,
|
|
14
|
+
length = array.length,
|
|
15
|
+
resIndex = 0,
|
|
16
|
+
result = [];
|
|
17
|
+
|
|
18
|
+
while (++index < length) {
|
|
19
|
+
var value = array[index],
|
|
20
|
+
computed = iteratee ? iteratee(value) : value;
|
|
21
|
+
|
|
22
|
+
if (!index || !eq(computed, seen)) {
|
|
23
|
+
var seen = computed;
|
|
24
|
+
result[resIndex++] = value === 0 ? 0 : value;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return result;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
module.exports = baseSortedUniq;
|
package/_baseSum.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The base implementation of `_.sum` and `_.sumBy` without support for
|
|
3
|
+
* iteratee shorthands.
|
|
4
|
+
*
|
|
5
|
+
* @private
|
|
6
|
+
* @param {Array} array The array to iterate over.
|
|
7
|
+
* @param {Function} iteratee The function invoked per iteration.
|
|
8
|
+
* @returns {number} Returns the sum.
|
|
9
|
+
*/
|
|
10
|
+
function baseSum(array, iteratee) {
|
|
11
|
+
var result,
|
|
12
|
+
index = -1,
|
|
13
|
+
length = array.length;
|
|
14
|
+
|
|
15
|
+
while (++index < length) {
|
|
16
|
+
var current = iteratee(array[index]);
|
|
17
|
+
if (current !== undefined) {
|
|
18
|
+
result = result === undefined ? current : (result + current);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return result;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
module.exports = baseSum;
|
package/_baseTimes.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The base implementation of `_.times` without support for iteratee shorthands
|
|
3
|
+
* or max array length checks.
|
|
4
|
+
*
|
|
5
|
+
* @private
|
|
6
|
+
* @param {number} n The number of times to invoke `iteratee`.
|
|
7
|
+
* @param {Function} iteratee The function invoked per iteration.
|
|
8
|
+
* @returns {Array} Returns the array of results.
|
|
9
|
+
*/
|
|
10
|
+
function baseTimes(n, iteratee) {
|
|
11
|
+
var index = -1,
|
|
12
|
+
result = Array(n);
|
|
13
|
+
|
|
14
|
+
while (++index < n) {
|
|
15
|
+
result[index] = iteratee(index);
|
|
16
|
+
}
|
|
17
|
+
return result;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
module.exports = baseTimes;
|
package/_baseToNumber.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
var isSymbol = require('./isSymbol');
|
|
2
|
+
|
|
3
|
+
/** Used as references for various `Number` constants. */
|
|
4
|
+
var NAN = 0 / 0;
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* The base implementation of `_.toNumber` which doesn't ensure correct
|
|
8
|
+
* conversions of binary, hexadecimal, or octal string values.
|
|
9
|
+
*
|
|
10
|
+
* @private
|
|
11
|
+
* @param {*} value The value to process.
|
|
12
|
+
* @returns {number} Returns the number.
|
|
13
|
+
*/
|
|
14
|
+
function baseToNumber(value) {
|
|
15
|
+
if (typeof value == 'number') {
|
|
16
|
+
return value;
|
|
17
|
+
}
|
|
18
|
+
if (isSymbol(value)) {
|
|
19
|
+
return NAN;
|
|
20
|
+
}
|
|
21
|
+
return +value;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
module.exports = baseToNumber;
|
package/_baseToPairs.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
var arrayMap = require('./_arrayMap');
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array
|
|
5
|
+
* of key-value pairs for `object` corresponding to the property names of `props`.
|
|
6
|
+
*
|
|
7
|
+
* @private
|
|
8
|
+
* @param {Object} object The object to query.
|
|
9
|
+
* @param {Array} props The property names to get values for.
|
|
10
|
+
* @returns {Object} Returns the key-value pairs.
|
|
11
|
+
*/
|
|
12
|
+
function baseToPairs(object, props) {
|
|
13
|
+
return arrayMap(props, function(key) {
|
|
14
|
+
return [key, object[key]];
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
module.exports = baseToPairs;
|
package/_baseToString.js
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
var Symbol = require('./_Symbol'),
|
|
2
|
+
arrayMap = require('./_arrayMap'),
|
|
3
|
+
isArray = require('./isArray'),
|
|
4
|
+
isSymbol = require('./isSymbol');
|
|
5
|
+
|
|
6
|
+
/** Used as references for various `Number` constants. */
|
|
7
|
+
var INFINITY = 1 / 0;
|
|
8
|
+
|
|
9
|
+
/** Used to convert symbols to primitives and strings. */
|
|
10
|
+
var symbolProto = Symbol ? Symbol.prototype : undefined,
|
|
11
|
+
symbolToString = symbolProto ? symbolProto.toString : undefined;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* The base implementation of `_.toString` which doesn't convert nullish
|
|
15
|
+
* values to empty strings.
|
|
16
|
+
*
|
|
17
|
+
* @private
|
|
18
|
+
* @param {*} value The value to process.
|
|
19
|
+
* @returns {string} Returns the string.
|
|
20
|
+
*/
|
|
21
|
+
function baseToString(value) {
|
|
22
|
+
// Exit early for strings to avoid a performance hit in some environments.
|
|
23
|
+
if (typeof value == 'string') {
|
|
24
|
+
return value;
|
|
25
|
+
}
|
|
26
|
+
if (isArray(value)) {
|
|
27
|
+
// Recursively convert values (susceptible to call stack limits).
|
|
28
|
+
return arrayMap(value, baseToString) + '';
|
|
29
|
+
}
|
|
30
|
+
if (isSymbol(value)) {
|
|
31
|
+
return symbolToString ? symbolToString.call(value) : '';
|
|
32
|
+
}
|
|
33
|
+
var result = (value + '');
|
|
34
|
+
return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
module.exports = baseToString;
|
package/_baseTrim.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
var trimmedEndIndex = require('./_trimmedEndIndex');
|
|
2
|
+
|
|
3
|
+
/** Used to match leading whitespace. */
|
|
4
|
+
var reTrimStart = /^\s+/;
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* The base implementation of `_.trim`.
|
|
8
|
+
*
|
|
9
|
+
* @private
|
|
10
|
+
* @param {string} string The string to trim.
|
|
11
|
+
* @returns {string} Returns the trimmed string.
|
|
12
|
+
*/
|
|
13
|
+
function baseTrim(string) {
|
|
14
|
+
return string
|
|
15
|
+
? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')
|
|
16
|
+
: string;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
module.exports = baseTrim;
|
package/_baseUnary.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The base implementation of `_.unary` without support for storing metadata.
|
|
3
|
+
*
|
|
4
|
+
* @private
|
|
5
|
+
* @param {Function} func The function to cap arguments for.
|
|
6
|
+
* @returns {Function} Returns the new capped function.
|
|
7
|
+
*/
|
|
8
|
+
function baseUnary(func) {
|
|
9
|
+
return function(value) {
|
|
10
|
+
return func(value);
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
module.exports = baseUnary;
|
package/_baseUniq.js
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
var SetCache = require('./_SetCache'),
|
|
2
|
+
arrayIncludes = require('./_arrayIncludes'),
|
|
3
|
+
arrayIncludesWith = require('./_arrayIncludesWith'),
|
|
4
|
+
cacheHas = require('./_cacheHas'),
|
|
5
|
+
createSet = require('./_createSet'),
|
|
6
|
+
setToArray = require('./_setToArray');
|
|
7
|
+
|
|
8
|
+
/** Used as the size to enable large array optimizations. */
|
|
9
|
+
var LARGE_ARRAY_SIZE = 200;
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* The base implementation of `_.uniqBy` without support for iteratee shorthands.
|
|
13
|
+
*
|
|
14
|
+
* @private
|
|
15
|
+
* @param {Array} array The array to inspect.
|
|
16
|
+
* @param {Function} [iteratee] The iteratee invoked per element.
|
|
17
|
+
* @param {Function} [comparator] The comparator invoked per element.
|
|
18
|
+
* @returns {Array} Returns the new duplicate free array.
|
|
19
|
+
*/
|
|
20
|
+
function baseUniq(array, iteratee, comparator) {
|
|
21
|
+
var index = -1,
|
|
22
|
+
includes = arrayIncludes,
|
|
23
|
+
length = array.length,
|
|
24
|
+
isCommon = true,
|
|
25
|
+
result = [],
|
|
26
|
+
seen = result;
|
|
27
|
+
|
|
28
|
+
if (comparator) {
|
|
29
|
+
isCommon = false;
|
|
30
|
+
includes = arrayIncludesWith;
|
|
31
|
+
}
|
|
32
|
+
else if (length >= LARGE_ARRAY_SIZE) {
|
|
33
|
+
var set = iteratee ? null : createSet(array);
|
|
34
|
+
if (set) {
|
|
35
|
+
return setToArray(set);
|
|
36
|
+
}
|
|
37
|
+
isCommon = false;
|
|
38
|
+
includes = cacheHas;
|
|
39
|
+
seen = new SetCache;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
seen = iteratee ? [] : result;
|
|
43
|
+
}
|
|
44
|
+
outer:
|
|
45
|
+
while (++index < length) {
|
|
46
|
+
var value = array[index],
|
|
47
|
+
computed = iteratee ? iteratee(value) : value;
|
|
48
|
+
|
|
49
|
+
value = (comparator || value !== 0) ? value : 0;
|
|
50
|
+
if (isCommon && computed === computed) {
|
|
51
|
+
var seenIndex = seen.length;
|
|
52
|
+
while (seenIndex--) {
|
|
53
|
+
if (seen[seenIndex] === computed) {
|
|
54
|
+
continue outer;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
if (iteratee) {
|
|
58
|
+
seen.push(computed);
|
|
59
|
+
}
|
|
60
|
+
result.push(value);
|
|
61
|
+
}
|
|
62
|
+
else if (!includes(seen, computed, comparator)) {
|
|
63
|
+
if (seen !== result) {
|
|
64
|
+
seen.push(computed);
|
|
65
|
+
}
|
|
66
|
+
result.push(value);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return result;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
module.exports = baseUniq;
|
package/_baseUnset.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
var castPath = require('./_castPath'),
|
|
2
|
+
last = require('./last'),
|
|
3
|
+
parent = require('./_parent'),
|
|
4
|
+
toKey = require('./_toKey');
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* The base implementation of `_.unset`.
|
|
8
|
+
*
|
|
9
|
+
* @private
|
|
10
|
+
* @param {Object} object The object to modify.
|
|
11
|
+
* @param {Array|string} path The property path to unset.
|
|
12
|
+
* @returns {boolean} Returns `true` if the property is deleted, else `false`.
|
|
13
|
+
*/
|
|
14
|
+
function baseUnset(object, path) {
|
|
15
|
+
path = castPath(path, object);
|
|
16
|
+
object = parent(object, path);
|
|
17
|
+
return object == null || delete object[toKey(last(path))];
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
module.exports = baseUnset;
|
package/_baseUpdate.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
var baseGet = require('./_baseGet'),
|
|
2
|
+
baseSet = require('./_baseSet');
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* The base implementation of `_.update`.
|
|
6
|
+
*
|
|
7
|
+
* @private
|
|
8
|
+
* @param {Object} object The object to modify.
|
|
9
|
+
* @param {Array|string} path The path of the property to update.
|
|
10
|
+
* @param {Function} updater The function to produce the updated value.
|
|
11
|
+
* @param {Function} [customizer] The function to customize path creation.
|
|
12
|
+
* @returns {Object} Returns `object`.
|
|
13
|
+
*/
|
|
14
|
+
function baseUpdate(object, path, updater, customizer) {
|
|
15
|
+
return baseSet(object, path, updater(baseGet(object, path)), customizer);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
module.exports = baseUpdate;
|
package/_baseValues.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
var arrayMap = require('./_arrayMap');
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* The base implementation of `_.values` and `_.valuesIn` which creates an
|
|
5
|
+
* array of `object` property values corresponding to the property names
|
|
6
|
+
* of `props`.
|
|
7
|
+
*
|
|
8
|
+
* @private
|
|
9
|
+
* @param {Object} object The object to query.
|
|
10
|
+
* @param {Array} props The property names to get values for.
|
|
11
|
+
* @returns {Object} Returns the array of property values.
|
|
12
|
+
*/
|
|
13
|
+
function baseValues(object, props) {
|
|
14
|
+
return arrayMap(props, function(key) {
|
|
15
|
+
return object[key];
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
module.exports = baseValues;
|
package/_baseWhile.js
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
var baseSlice = require('./_baseSlice');
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* The base implementation of methods like `_.dropWhile` and `_.takeWhile`
|
|
5
|
+
* without support for iteratee shorthands.
|
|
6
|
+
*
|
|
7
|
+
* @private
|
|
8
|
+
* @param {Array} array The array to query.
|
|
9
|
+
* @param {Function} predicate The function invoked per iteration.
|
|
10
|
+
* @param {boolean} [isDrop] Specify dropping elements instead of taking them.
|
|
11
|
+
* @param {boolean} [fromRight] Specify iterating from right to left.
|
|
12
|
+
* @returns {Array} Returns the slice of `array`.
|
|
13
|
+
*/
|
|
14
|
+
function baseWhile(array, predicate, isDrop, fromRight) {
|
|
15
|
+
var length = array.length,
|
|
16
|
+
index = fromRight ? length : -1;
|
|
17
|
+
|
|
18
|
+
while ((fromRight ? index-- : ++index < length) &&
|
|
19
|
+
predicate(array[index], index, array)) {}
|
|
20
|
+
|
|
21
|
+
return isDrop
|
|
22
|
+
? baseSlice(array, (fromRight ? 0 : index), (fromRight ? index + 1 : length))
|
|
23
|
+
: baseSlice(array, (fromRight ? index + 1 : 0), (fromRight ? length : index));
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
module.exports = baseWhile;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
var LazyWrapper = require('./_LazyWrapper'),
|
|
2
|
+
arrayPush = require('./_arrayPush'),
|
|
3
|
+
arrayReduce = require('./_arrayReduce');
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* The base implementation of `wrapperValue` which returns the result of
|
|
7
|
+
* performing a sequence of actions on the unwrapped `value`, where each
|
|
8
|
+
* successive action is supplied the return value of the previous.
|
|
9
|
+
*
|
|
10
|
+
* @private
|
|
11
|
+
* @param {*} value The unwrapped value.
|
|
12
|
+
* @param {Array} actions Actions to perform to resolve the unwrapped value.
|
|
13
|
+
* @returns {*} Returns the resolved value.
|
|
14
|
+
*/
|
|
15
|
+
function baseWrapperValue(value, actions) {
|
|
16
|
+
var result = value;
|
|
17
|
+
if (result instanceof LazyWrapper) {
|
|
18
|
+
result = result.value();
|
|
19
|
+
}
|
|
20
|
+
return arrayReduce(actions, function(result, action) {
|
|
21
|
+
return action.func.apply(action.thisArg, arrayPush([result], action.args));
|
|
22
|
+
}, result);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
module.exports = baseWrapperValue;
|
package/_baseXor.js
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
var baseDifference = require('./_baseDifference'),
|
|
2
|
+
baseFlatten = require('./_baseFlatten'),
|
|
3
|
+
baseUniq = require('./_baseUniq');
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* The base implementation of methods like `_.xor`, without support for
|
|
7
|
+
* iteratee shorthands, that accepts an array of arrays to inspect.
|
|
8
|
+
*
|
|
9
|
+
* @private
|
|
10
|
+
* @param {Array} arrays The arrays to inspect.
|
|
11
|
+
* @param {Function} [iteratee] The iteratee invoked per element.
|
|
12
|
+
* @param {Function} [comparator] The comparator invoked per element.
|
|
13
|
+
* @returns {Array} Returns the new array of values.
|
|
14
|
+
*/
|
|
15
|
+
function baseXor(arrays, iteratee, comparator) {
|
|
16
|
+
var length = arrays.length;
|
|
17
|
+
if (length < 2) {
|
|
18
|
+
return length ? baseUniq(arrays[0]) : [];
|
|
19
|
+
}
|
|
20
|
+
var index = -1,
|
|
21
|
+
result = Array(length);
|
|
22
|
+
|
|
23
|
+
while (++index < length) {
|
|
24
|
+
var array = arrays[index],
|
|
25
|
+
othIndex = -1;
|
|
26
|
+
|
|
27
|
+
while (++othIndex < length) {
|
|
28
|
+
if (othIndex != index) {
|
|
29
|
+
result[index] = baseDifference(result[index] || array, arrays[othIndex], iteratee, comparator);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return baseUniq(baseFlatten(result, 1), iteratee, comparator);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
module.exports = baseXor;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This base implementation of `_.zipObject` which assigns values using `assignFunc`.
|
|
3
|
+
*
|
|
4
|
+
* @private
|
|
5
|
+
* @param {Array} props The property identifiers.
|
|
6
|
+
* @param {Array} values The property values.
|
|
7
|
+
* @param {Function} assignFunc The function to assign values.
|
|
8
|
+
* @returns {Object} Returns the new object.
|
|
9
|
+
*/
|
|
10
|
+
function baseZipObject(props, values, assignFunc) {
|
|
11
|
+
var index = -1,
|
|
12
|
+
length = props.length,
|
|
13
|
+
valsLength = values.length,
|
|
14
|
+
result = {};
|
|
15
|
+
|
|
16
|
+
while (++index < length) {
|
|
17
|
+
var value = index < valsLength ? values[index] : undefined;
|
|
18
|
+
assignFunc(result, props[index], value);
|
|
19
|
+
}
|
|
20
|
+
return result;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
module.exports = baseZipObject;
|
package/_cacheHas.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Checks if a `cache` value for `key` exists.
|
|
3
|
+
*
|
|
4
|
+
* @private
|
|
5
|
+
* @param {Object} cache The cache to query.
|
|
6
|
+
* @param {string} key The key of the entry to check.
|
|
7
|
+
* @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
|
|
8
|
+
*/
|
|
9
|
+
function cacheHas(cache, key) {
|
|
10
|
+
return cache.has(key);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
module.exports = cacheHas;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
var isArrayLikeObject = require('./isArrayLikeObject');
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Casts `value` to an empty array if it's not an array like object.
|
|
5
|
+
*
|
|
6
|
+
* @private
|
|
7
|
+
* @param {*} value The value to inspect.
|
|
8
|
+
* @returns {Array|Object} Returns the cast array-like object.
|
|
9
|
+
*/
|
|
10
|
+
function castArrayLikeObject(value) {
|
|
11
|
+
return isArrayLikeObject(value) ? value : [];
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
module.exports = castArrayLikeObject;
|
package/_castFunction.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
var identity = require('./identity');
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Casts `value` to `identity` if it's not a function.
|
|
5
|
+
*
|
|
6
|
+
* @private
|
|
7
|
+
* @param {*} value The value to inspect.
|
|
8
|
+
* @returns {Function} Returns cast function.
|
|
9
|
+
*/
|
|
10
|
+
function castFunction(value) {
|
|
11
|
+
return typeof value == 'function' ? value : identity;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
module.exports = castFunction;
|
package/_castPath.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
var isArray = require('./isArray'),
|
|
2
|
+
isKey = require('./_isKey'),
|
|
3
|
+
stringToPath = require('./_stringToPath'),
|
|
4
|
+
toString = require('./toString');
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Casts `value` to a path array if it's not one.
|
|
8
|
+
*
|
|
9
|
+
* @private
|
|
10
|
+
* @param {*} value The value to inspect.
|
|
11
|
+
* @param {Object} [object] The object to query keys on.
|
|
12
|
+
* @returns {Array} Returns the cast property path array.
|
|
13
|
+
*/
|
|
14
|
+
function castPath(value, object) {
|
|
15
|
+
if (isArray(value)) {
|
|
16
|
+
return value;
|
|
17
|
+
}
|
|
18
|
+
return isKey(value, object) ? [value] : stringToPath(toString(value));
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
module.exports = castPath;
|
package/_castRest.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
var baseRest = require('./_baseRest');
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* A `baseRest` alias which can be replaced with `identity` by module
|
|
5
|
+
* replacement plugins.
|
|
6
|
+
*
|
|
7
|
+
* @private
|
|
8
|
+
* @type {Function}
|
|
9
|
+
* @param {Function} func The function to apply a rest parameter to.
|
|
10
|
+
* @returns {Function} Returns the new function.
|
|
11
|
+
*/
|
|
12
|
+
var castRest = baseRest;
|
|
13
|
+
|
|
14
|
+
module.exports = castRest;
|
package/_castSlice.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
var baseSlice = require('./_baseSlice');
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Casts `array` to a slice if it's needed.
|
|
5
|
+
*
|
|
6
|
+
* @private
|
|
7
|
+
* @param {Array} array The array to inspect.
|
|
8
|
+
* @param {number} start The start position.
|
|
9
|
+
* @param {number} [end=array.length] The end position.
|
|
10
|
+
* @returns {Array} Returns the cast slice.
|
|
11
|
+
*/
|
|
12
|
+
function castSlice(array, start, end) {
|
|
13
|
+
var length = array.length;
|
|
14
|
+
end = end === undefined ? length : end;
|
|
15
|
+
return (!start && end >= length) ? array : baseSlice(array, start, end);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
module.exports = castSlice;
|