@kineviz/lodash 4.17.21 → 4.17.23
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 -47
- package/README.md +39 -39
- package/_DataView.js +7 -7
- package/_Hash.js +32 -32
- package/_LazyWrapper.js +28 -28
- package/_ListCache.js +32 -32
- package/_LodashWrapper.js +22 -22
- package/_Map.js +7 -7
- package/_MapCache.js +32 -32
- package/_Promise.js +7 -7
- package/_Set.js +7 -7
- package/_SetCache.js +27 -27
- package/_Stack.js +27 -27
- package/_Symbol.js +6 -6
- package/_Uint8Array.js +6 -6
- package/_WeakMap.js +7 -7
- package/_apply.js +21 -21
- package/_arrayAggregator.js +22 -22
- package/_arrayEach.js +22 -22
- package/_arrayEachRight.js +21 -21
- package/_arrayEvery.js +23 -23
- package/_arrayFilter.js +25 -25
- package/_arrayIncludes.js +17 -17
- package/_arrayIncludesWith.js +22 -22
- package/_arrayLikeKeys.js +49 -49
- package/_arrayMap.js +21 -21
- package/_arrayPush.js +20 -20
- package/_arrayReduce.js +26 -26
- package/_arrayReduceRight.js +24 -24
- package/_arraySample.js +15 -15
- package/_arraySampleSize.js +17 -17
- package/_arrayShuffle.js +15 -15
- package/_arraySome.js +23 -23
- package/_asciiSize.js +12 -12
- package/_asciiToArray.js +12 -12
- package/_asciiWords.js +15 -15
- package/_assignMergeValue.js +20 -20
- package/_assignValue.js +28 -28
- package/_assocIndexOf.js +21 -21
- package/_baseAggregator.js +21 -21
- package/_baseAssign.js +17 -17
- package/_baseAssignIn.js +17 -17
- package/_baseAssignValue.js +25 -25
- package/_baseAt.js +23 -23
- package/_baseClamp.js +22 -22
- package/_baseClone.js +166 -166
- package/_baseConforms.js +18 -18
- package/_baseConformsTo.js +27 -27
- package/_baseCreate.js +30 -30
- package/_baseDelay.js +21 -21
- package/_baseDifference.js +67 -67
- package/_baseEach.js +14 -14
- package/_baseEachRight.js +14 -14
- package/_baseEvery.js +21 -21
- package/_baseExtremum.js +32 -32
- package/_baseFill.js +32 -32
- package/_baseFilter.js +21 -21
- package/_baseFindIndex.js +24 -24
- package/_baseFindKey.js +23 -23
- package/_baseFlatten.js +38 -38
- package/_baseFor.js +16 -16
- package/_baseForOwn.js +16 -16
- package/_baseForOwnRight.js +16 -16
- package/_baseForRight.js +15 -15
- package/_baseFunctions.js +19 -19
- package/_baseGet.js +24 -24
- package/_baseGetAllKeys.js +20 -20
- package/_baseGetTag.js +28 -28
- package/_baseGt.js +14 -14
- package/_baseHas.js +19 -19
- package/_baseHasIn.js +13 -13
- package/_baseInRange.js +18 -18
- package/_baseIndexOf.js +20 -20
- package/_baseIndexOfWith.js +23 -23
- package/_baseIntersection.js +74 -74
- package/_baseInverter.js +21 -21
- package/_baseInvoke.js +24 -24
- package/_baseIsArguments.js +18 -18
- package/_baseIsArrayBuffer.js +17 -17
- package/_baseIsDate.js +18 -18
- package/_baseIsEqual.js +28 -28
- package/_baseIsEqualDeep.js +83 -83
- package/_baseIsMap.js +18 -18
- package/_baseIsMatch.js +62 -62
- package/_baseIsNaN.js +12 -12
- package/_baseIsNative.js +47 -47
- package/_baseIsRegExp.js +18 -18
- package/_baseIsSet.js +18 -18
- package/_baseIsTypedArray.js +60 -60
- package/_baseIteratee.js +31 -31
- package/_baseKeys.js +30 -30
- package/_baseKeysIn.js +33 -33
- package/_baseLodash.js +10 -10
- package/_baseLt.js +14 -14
- package/_baseMap.js +22 -22
- package/_baseMatches.js +22 -22
- package/_baseMatchesProperty.js +33 -33
- package/_baseMean.js +20 -20
- package/_baseMerge.js +42 -42
- package/_baseMergeDeep.js +94 -94
- package/_baseNth.js +20 -20
- package/_baseOrderBy.js +49 -49
- package/_basePick.js +19 -19
- package/_basePickBy.js +30 -30
- package/_baseProperty.js +14 -14
- package/_basePropertyDeep.js +16 -16
- package/_basePropertyOf.js +14 -14
- package/_basePullAll.js +51 -51
- package/_basePullAt.js +37 -37
- package/_baseRandom.js +18 -18
- package/_baseRange.js +28 -28
- package/_baseReduce.js +23 -23
- package/_baseRepeat.js +35 -35
- package/_baseRest.js +17 -17
- package/_baseSample.js +15 -15
- package/_baseSampleSize.js +18 -18
- package/_baseSet.js +51 -51
- package/_baseSetData.js +17 -17
- package/_baseSetToString.js +22 -22
- package/_baseShuffle.js +15 -15
- package/_baseSlice.js +31 -31
- package/_baseSome.js +22 -22
- package/_baseSortBy.js +21 -21
- package/_baseSortedIndex.js +42 -42
- package/_baseSortedIndexBy.js +67 -67
- package/_baseSortedUniq.js +30 -30
- package/_baseSum.js +24 -24
- package/_baseTimes.js +20 -20
- package/_baseToNumber.js +24 -24
- package/_baseToPairs.js +18 -18
- package/_baseToString.js +37 -37
- package/_baseTrim.js +19 -19
- package/_baseUnary.js +14 -14
- package/_baseUniq.js +72 -72
- package/_baseUnset.js +65 -20
- package/_baseUpdate.js +18 -18
- package/_baseValues.js +19 -19
- package/_baseWhile.js +26 -26
- package/_baseWrapperValue.js +25 -25
- package/_baseXor.js +36 -36
- package/_baseZipObject.js +23 -23
- package/_cacheHas.js +13 -13
- package/_castArrayLikeObject.js +14 -14
- package/_castFunction.js +14 -14
- package/_castPath.js +21 -21
- package/_castRest.js +14 -14
- package/_castSlice.js +18 -18
- package/_charsEndIndex.js +19 -19
- package/_charsStartIndex.js +20 -20
- package/_cloneArrayBuffer.js +16 -16
- package/_cloneBuffer.js +35 -35
- package/_cloneDataView.js +16 -16
- package/_cloneRegExp.js +17 -17
- package/_cloneSymbol.js +18 -18
- package/_cloneTypedArray.js +16 -16
- package/_compareAscending.js +41 -41
- package/_compareMultiple.js +44 -44
- package/_composeArgs.js +39 -39
- package/_composeArgsRight.js +41 -41
- package/_copyArray.js +20 -20
- package/_copyObject.js +40 -40
- package/_copySymbols.js +16 -16
- package/_copySymbolsIn.js +16 -16
- package/_coreJsData.js +6 -6
- package/_countHolders.js +21 -21
- package/_createAggregator.js +23 -23
- package/_createAssigner.js +37 -37
- package/_createBaseEach.js +32 -32
- package/_createBaseFor.js +25 -25
- package/_createBind.js +28 -28
- package/_createCaseFirst.js +33 -33
- package/_createCompounder.js +24 -24
- package/_createCtor.js +37 -37
- package/_createCurry.js +46 -46
- package/_createFind.js +25 -25
- package/_createFlow.js +78 -78
- package/_createHybrid.js +92 -92
- package/_createInverter.js +17 -17
- package/_createMathOperation.js +38 -38
- package/_createOver.js +27 -27
- package/_createPadding.js +33 -33
- package/_createPartial.js +43 -43
- package/_createRange.js +30 -30
- package/_createRecurry.js +56 -56
- package/_createRelationalOperation.js +20 -20
- package/_createRound.js +35 -35
- package/_createSet.js +19 -19
- package/_createToPairs.js +30 -30
- package/_createWrap.js +106 -106
- package/_customDefaultsAssignIn.js +29 -29
- package/_customDefaultsMerge.js +28 -28
- package/_customOmitClone.js +16 -16
- package/_deburrLetter.js +71 -71
- package/_defineProperty.js +11 -11
- package/_equalArrays.js +84 -84
- package/_equalByTag.js +112 -112
- package/_equalObjects.js +90 -90
- package/_escapeHtmlChar.js +21 -21
- package/_escapeStringChar.js +22 -22
- package/_flatRest.js +16 -16
- package/_freeGlobal.js +4 -4
- package/_getAllKeys.js +16 -16
- package/_getAllKeysIn.js +17 -17
- package/_getData.js +15 -15
- package/_getFuncName.js +31 -31
- package/_getHolder.js +13 -13
- package/_getMapData.js +18 -18
- package/_getMatchData.js +24 -24
- package/_getNative.js +17 -17
- package/_getPrototype.js +6 -6
- package/_getRawTag.js +46 -46
- package/_getSymbols.js +30 -30
- package/_getSymbolsIn.js +25 -25
- package/_getTag.js +58 -58
- package/_getValue.js +13 -13
- package/_getView.js +33 -33
- package/_getWrapDetails.js +17 -17
- package/_hasPath.js +39 -39
- package/_hasUnicode.js +26 -26
- package/_hasUnicodeWord.js +15 -15
- package/_hashClear.js +15 -15
- package/_hashDelete.js +17 -17
- package/_hashGet.js +30 -30
- package/_hashHas.js +23 -23
- package/_hashSet.js +23 -23
- package/_initCloneArray.js +26 -26
- package/_initCloneByTag.js +77 -77
- package/_initCloneObject.js +18 -18
- package/_insertWrapDetails.js +23 -23
- package/_isFlattenable.js +20 -20
- package/_isIndex.js +25 -25
- package/_isIterateeCall.js +30 -30
- package/_isKey.js +29 -29
- package/_isKeyable.js +15 -15
- package/_isLaziable.js +28 -28
- package/_isMaskable.js +14 -14
- package/_isMasked.js +20 -20
- package/_isPrototype.js +18 -18
- package/_isStrictComparable.js +15 -15
- package/_iteratorToArray.js +18 -18
- package/_lazyClone.js +23 -23
- package/_lazyReverse.js +23 -23
- package/_lazyValue.js +69 -69
- package/_listCacheClear.js +13 -13
- package/_listCacheDelete.js +35 -35
- package/_listCacheGet.js +19 -19
- package/_listCacheHas.js +16 -16
- package/_listCacheSet.js +26 -26
- package/_mapCacheClear.js +21 -21
- package/_mapCacheDelete.js +18 -18
- package/_mapCacheGet.js +16 -16
- package/_mapCacheHas.js +16 -16
- package/_mapCacheSet.js +22 -22
- package/_mapToArray.js +18 -18
- package/_matchesStrictComparable.js +20 -20
- package/_memoizeCapped.js +26 -26
- package/_mergeData.js +90 -90
- package/_metaMap.js +6 -6
- package/_nativeCreate.js +6 -6
- package/_nativeKeys.js +6 -6
- package/_nativeKeysIn.js +20 -20
- package/_nodeUtil.js +30 -30
- package/_objectToString.js +22 -22
- package/_overArg.js +15 -15
- package/_overRest.js +36 -36
- package/_parent.js +16 -16
- package/_reEscape.js +4 -4
- package/_reEvaluate.js +4 -4
- package/_reInterpolate.js +4 -4
- package/_realNames.js +4 -4
- package/_reorder.js +29 -29
- package/_replaceHolders.js +29 -29
- package/_root.js +9 -9
- package/_safeGet.js +21 -21
- package/_setCacheAdd.js +19 -19
- package/_setCacheHas.js +14 -14
- package/_setData.js +20 -20
- package/_setToArray.js +18 -18
- package/_setToPairs.js +18 -18
- package/_setToString.js +14 -14
- package/_setWrapToString.js +21 -21
- package/_shortOut.js +37 -37
- package/_shuffleSelf.js +28 -28
- package/_stackClear.js +15 -15
- package/_stackDelete.js +18 -18
- package/_stackGet.js +14 -14
- package/_stackHas.js +14 -14
- package/_stackSet.js +34 -34
- package/_strictIndexOf.js +23 -23
- package/_strictLastIndexOf.js +21 -21
- package/_stringSize.js +18 -18
- package/_stringToArray.js +18 -18
- package/_stringToPath.js +27 -27
- package/_toKey.js +21 -21
- package/_toSource.js +26 -26
- package/_trimmedEndIndex.js +19 -19
- package/_unescapeHtmlChar.js +21 -21
- package/_unicodeSize.js +44 -44
- package/_unicodeToArray.js +40 -40
- package/_unicodeWords.js +69 -69
- package/_updateWrapDetails.js +46 -46
- package/_wrapperClone.js +23 -23
- package/add.js +22 -22
- package/after.js +42 -42
- package/array.js +67 -67
- package/ary.js +29 -29
- package/assign.js +58 -58
- package/assignIn.js +40 -40
- package/assignInWith.js +38 -38
- package/assignWith.js +37 -37
- package/at.js +23 -23
- package/attempt.js +35 -35
- package/before.js +40 -40
- package/bind.js +57 -57
- package/bindAll.js +41 -41
- package/bindKey.js +68 -68
- package/camelCase.js +29 -29
- package/capitalize.js +23 -23
- package/castArray.js +44 -44
- package/ceil.js +26 -26
- package/chain.js +38 -38
- package/chunk.js +50 -50
- package/clamp.js +39 -39
- package/clone.js +36 -36
- package/cloneDeep.js +29 -29
- package/cloneDeepWith.js +40 -40
- package/cloneWith.js +42 -42
- package/collection.js +30 -30
- package/commit.js +33 -33
- package/compact.js +31 -31
- package/concat.js +43 -43
- package/cond.js +60 -60
- package/conforms.js +35 -35
- package/conformsTo.js +32 -32
- package/constant.js +26 -26
- package/core.js +3877 -3877
- package/core.min.js +6 -25
- package/countBy.js +40 -40
- package/create.js +43 -43
- package/curry.js +57 -57
- package/curryRight.js +54 -54
- package/date.js +3 -3
- package/debounce.js +191 -191
- package/deburr.js +45 -45
- package/defaultTo.js +25 -25
- package/defaults.js +64 -64
- package/defaultsDeep.js +30 -30
- package/defer.js +26 -26
- package/delay.js +28 -28
- package/difference.js +33 -33
- package/differenceBy.js +44 -44
- package/differenceWith.js +40 -40
- package/divide.js +22 -22
- package/drop.js +38 -38
- package/dropRight.js +39 -39
- package/dropRightWhile.js +45 -45
- package/dropWhile.js +45 -45
- package/each.js +1 -1
- package/eachRight.js +1 -1
- package/endsWith.js +43 -43
- package/entries.js +1 -1
- package/entriesIn.js +1 -1
- package/eq.js +37 -37
- package/escape.js +43 -43
- package/escapeRegExp.js +32 -32
- package/every.js +56 -56
- package/extend.js +1 -1
- package/extendWith.js +1 -1
- package/fill.js +45 -45
- package/filter.js +52 -52
- package/find.js +42 -42
- package/findIndex.js +55 -55
- package/findKey.js +44 -44
- package/findLast.js +25 -25
- package/findLastIndex.js +59 -59
- package/findLastKey.js +44 -44
- package/first.js +1 -1
- package/flatMap.js +29 -29
- package/flatMapDeep.js +31 -31
- package/flatMapDepth.js +31 -31
- package/flatten.js +22 -22
- package/flattenDeep.js +25 -25
- package/flattenDepth.js +33 -33
- package/flip.js +28 -28
- package/floor.js +26 -26
- package/flow.js +27 -27
- package/flowRight.js +26 -26
- package/forEach.js +41 -41
- package/forEachRight.js +31 -31
- package/forIn.js +39 -39
- package/forInRight.js +37 -37
- package/forOwn.js +36 -36
- package/forOwnRight.js +34 -34
- package/fp/F.js +1 -1
- package/fp/T.js +1 -1
- package/fp/__.js +1 -1
- package/fp/_baseConvert.js +569 -569
- package/fp/_convertBrowser.js +18 -18
- package/fp/_falseOptions.js +7 -7
- package/fp/_mapping.js +358 -358
- package/fp/_util.js +16 -16
- package/fp/add.js +5 -5
- package/fp/after.js +5 -5
- package/fp/all.js +1 -1
- package/fp/allPass.js +1 -1
- package/fp/always.js +1 -1
- package/fp/any.js +1 -1
- package/fp/anyPass.js +1 -1
- package/fp/apply.js +1 -1
- package/fp/array.js +2 -2
- package/fp/ary.js +5 -5
- package/fp/assign.js +5 -5
- package/fp/assignAll.js +5 -5
- package/fp/assignAllWith.js +5 -5
- package/fp/assignIn.js +5 -5
- package/fp/assignInAll.js +5 -5
- package/fp/assignInAllWith.js +5 -5
- package/fp/assignInWith.js +5 -5
- package/fp/assignWith.js +5 -5
- package/fp/assoc.js +1 -1
- package/fp/assocPath.js +1 -1
- package/fp/at.js +5 -5
- package/fp/attempt.js +5 -5
- package/fp/before.js +5 -5
- package/fp/bind.js +5 -5
- package/fp/bindAll.js +5 -5
- package/fp/bindKey.js +5 -5
- package/fp/camelCase.js +5 -5
- package/fp/capitalize.js +5 -5
- package/fp/castArray.js +5 -5
- package/fp/ceil.js +5 -5
- package/fp/chain.js +5 -5
- package/fp/chunk.js +5 -5
- package/fp/clamp.js +5 -5
- package/fp/clone.js +5 -5
- package/fp/cloneDeep.js +5 -5
- package/fp/cloneDeepWith.js +5 -5
- package/fp/cloneWith.js +5 -5
- package/fp/collection.js +2 -2
- package/fp/commit.js +5 -5
- package/fp/compact.js +5 -5
- package/fp/complement.js +1 -1
- package/fp/compose.js +1 -1
- package/fp/concat.js +5 -5
- package/fp/cond.js +5 -5
- package/fp/conforms.js +1 -1
- package/fp/conformsTo.js +5 -5
- package/fp/constant.js +5 -5
- package/fp/contains.js +1 -1
- package/fp/convert.js +18 -18
- package/fp/countBy.js +5 -5
- package/fp/create.js +5 -5
- package/fp/curry.js +5 -5
- package/fp/curryN.js +5 -5
- package/fp/curryRight.js +5 -5
- package/fp/curryRightN.js +5 -5
- package/fp/date.js +2 -2
- package/fp/debounce.js +5 -5
- package/fp/deburr.js +5 -5
- package/fp/defaultTo.js +5 -5
- package/fp/defaults.js +5 -5
- package/fp/defaultsAll.js +5 -5
- package/fp/defaultsDeep.js +5 -5
- package/fp/defaultsDeepAll.js +5 -5
- package/fp/defer.js +5 -5
- package/fp/delay.js +5 -5
- package/fp/difference.js +5 -5
- package/fp/differenceBy.js +5 -5
- package/fp/differenceWith.js +5 -5
- package/fp/dissoc.js +1 -1
- package/fp/dissocPath.js +1 -1
- package/fp/divide.js +5 -5
- package/fp/drop.js +5 -5
- package/fp/dropLast.js +1 -1
- package/fp/dropLastWhile.js +1 -1
- package/fp/dropRight.js +5 -5
- package/fp/dropRightWhile.js +5 -5
- package/fp/dropWhile.js +5 -5
- package/fp/each.js +1 -1
- package/fp/eachRight.js +1 -1
- package/fp/endsWith.js +5 -5
- package/fp/entries.js +1 -1
- package/fp/entriesIn.js +1 -1
- package/fp/eq.js +5 -5
- package/fp/equals.js +1 -1
- package/fp/escape.js +5 -5
- package/fp/escapeRegExp.js +5 -5
- package/fp/every.js +5 -5
- package/fp/extend.js +1 -1
- package/fp/extendAll.js +1 -1
- package/fp/extendAllWith.js +1 -1
- package/fp/extendWith.js +1 -1
- package/fp/fill.js +5 -5
- package/fp/filter.js +5 -5
- package/fp/find.js +5 -5
- package/fp/findFrom.js +5 -5
- package/fp/findIndex.js +5 -5
- package/fp/findIndexFrom.js +5 -5
- package/fp/findKey.js +5 -5
- package/fp/findLast.js +5 -5
- package/fp/findLastFrom.js +5 -5
- package/fp/findLastIndex.js +5 -5
- package/fp/findLastIndexFrom.js +5 -5
- package/fp/findLastKey.js +5 -5
- package/fp/first.js +1 -1
- package/fp/flatMap.js +5 -5
- package/fp/flatMapDeep.js +5 -5
- package/fp/flatMapDepth.js +5 -5
- package/fp/flatten.js +5 -5
- package/fp/flattenDeep.js +5 -5
- package/fp/flattenDepth.js +5 -5
- package/fp/flip.js +5 -5
- package/fp/floor.js +5 -5
- package/fp/flow.js +5 -5
- package/fp/flowRight.js +5 -5
- package/fp/forEach.js +5 -5
- package/fp/forEachRight.js +5 -5
- package/fp/forIn.js +5 -5
- package/fp/forInRight.js +5 -5
- package/fp/forOwn.js +5 -5
- package/fp/forOwnRight.js +5 -5
- package/fp/fromPairs.js +5 -5
- package/fp/function.js +2 -2
- package/fp/functions.js +5 -5
- package/fp/functionsIn.js +5 -5
- package/fp/get.js +5 -5
- package/fp/getOr.js +5 -5
- package/fp/groupBy.js +5 -5
- package/fp/gt.js +5 -5
- package/fp/gte.js +5 -5
- package/fp/has.js +5 -5
- package/fp/hasIn.js +5 -5
- package/fp/head.js +5 -5
- package/fp/identical.js +1 -1
- package/fp/identity.js +5 -5
- package/fp/inRange.js +5 -5
- package/fp/includes.js +5 -5
- package/fp/includesFrom.js +5 -5
- package/fp/indexBy.js +1 -1
- package/fp/indexOf.js +5 -5
- package/fp/indexOfFrom.js +5 -5
- package/fp/init.js +1 -1
- package/fp/initial.js +5 -5
- package/fp/intersection.js +5 -5
- package/fp/intersectionBy.js +5 -5
- package/fp/intersectionWith.js +5 -5
- package/fp/invert.js +5 -5
- package/fp/invertBy.js +5 -5
- package/fp/invertObj.js +1 -1
- package/fp/invoke.js +5 -5
- package/fp/invokeArgs.js +5 -5
- package/fp/invokeArgsMap.js +5 -5
- package/fp/invokeMap.js +5 -5
- package/fp/isArguments.js +5 -5
- package/fp/isArray.js +5 -5
- package/fp/isArrayBuffer.js +5 -5
- package/fp/isArrayLike.js +5 -5
- package/fp/isArrayLikeObject.js +5 -5
- package/fp/isBoolean.js +5 -5
- package/fp/isBuffer.js +5 -5
- package/fp/isDate.js +5 -5
- package/fp/isElement.js +5 -5
- package/fp/isEmpty.js +5 -5
- package/fp/isEqual.js +5 -5
- package/fp/isEqualWith.js +5 -5
- package/fp/isError.js +5 -5
- package/fp/isFinite.js +5 -5
- package/fp/isFunction.js +5 -5
- package/fp/isInteger.js +5 -5
- package/fp/isLength.js +5 -5
- package/fp/isMap.js +5 -5
- package/fp/isMatch.js +5 -5
- package/fp/isMatchWith.js +5 -5
- package/fp/isNaN.js +5 -5
- package/fp/isNative.js +5 -5
- package/fp/isNil.js +5 -5
- package/fp/isNull.js +5 -5
- package/fp/isNumber.js +5 -5
- package/fp/isObject.js +5 -5
- package/fp/isObjectLike.js +5 -5
- package/fp/isPlainObject.js +5 -5
- package/fp/isRegExp.js +5 -5
- package/fp/isSafeInteger.js +5 -5
- package/fp/isSet.js +5 -5
- package/fp/isString.js +5 -5
- package/fp/isSymbol.js +5 -5
- package/fp/isTypedArray.js +5 -5
- package/fp/isUndefined.js +5 -5
- package/fp/isWeakMap.js +5 -5
- package/fp/isWeakSet.js +5 -5
- package/fp/iteratee.js +5 -5
- package/fp/join.js +5 -5
- package/fp/juxt.js +1 -1
- package/fp/kebabCase.js +5 -5
- package/fp/keyBy.js +5 -5
- package/fp/keys.js +5 -5
- package/fp/keysIn.js +5 -5
- package/fp/lang.js +2 -2
- package/fp/last.js +5 -5
- package/fp/lastIndexOf.js +5 -5
- package/fp/lastIndexOfFrom.js +5 -5
- package/fp/lowerCase.js +5 -5
- package/fp/lowerFirst.js +5 -5
- package/fp/lt.js +5 -5
- package/fp/lte.js +5 -5
- package/fp/map.js +5 -5
- package/fp/mapKeys.js +5 -5
- package/fp/mapValues.js +5 -5
- package/fp/matches.js +1 -1
- package/fp/matchesProperty.js +5 -5
- package/fp/math.js +2 -2
- package/fp/max.js +5 -5
- package/fp/maxBy.js +5 -5
- package/fp/mean.js +5 -5
- package/fp/meanBy.js +5 -5
- package/fp/memoize.js +5 -5
- package/fp/merge.js +5 -5
- package/fp/mergeAll.js +5 -5
- package/fp/mergeAllWith.js +5 -5
- package/fp/mergeWith.js +5 -5
- package/fp/method.js +5 -5
- package/fp/methodOf.js +5 -5
- package/fp/min.js +5 -5
- package/fp/minBy.js +5 -5
- package/fp/mixin.js +5 -5
- package/fp/multiply.js +5 -5
- package/fp/nAry.js +1 -1
- package/fp/negate.js +5 -5
- package/fp/next.js +5 -5
- package/fp/noop.js +5 -5
- package/fp/now.js +5 -5
- package/fp/nth.js +5 -5
- package/fp/nthArg.js +5 -5
- package/fp/number.js +2 -2
- package/fp/object.js +2 -2
- package/fp/omit.js +5 -5
- package/fp/omitAll.js +1 -1
- package/fp/omitBy.js +5 -5
- package/fp/once.js +5 -5
- package/fp/orderBy.js +5 -5
- package/fp/over.js +5 -5
- package/fp/overArgs.js +5 -5
- package/fp/overEvery.js +5 -5
- package/fp/overSome.js +5 -5
- package/fp/pad.js +5 -5
- package/fp/padChars.js +5 -5
- package/fp/padCharsEnd.js +5 -5
- package/fp/padCharsStart.js +5 -5
- package/fp/padEnd.js +5 -5
- package/fp/padStart.js +5 -5
- package/fp/parseInt.js +5 -5
- package/fp/partial.js +5 -5
- package/fp/partialRight.js +5 -5
- package/fp/partition.js +5 -5
- package/fp/path.js +1 -1
- package/fp/pathEq.js +1 -1
- package/fp/pathOr.js +1 -1
- package/fp/paths.js +1 -1
- package/fp/pick.js +5 -5
- package/fp/pickAll.js +1 -1
- package/fp/pickBy.js +5 -5
- package/fp/pipe.js +1 -1
- package/fp/placeholder.js +6 -6
- package/fp/plant.js +5 -5
- package/fp/pluck.js +1 -1
- package/fp/prop.js +1 -1
- package/fp/propEq.js +1 -1
- package/fp/propOr.js +1 -1
- package/fp/property.js +1 -1
- package/fp/propertyOf.js +5 -5
- package/fp/props.js +1 -1
- package/fp/pull.js +5 -5
- package/fp/pullAll.js +5 -5
- package/fp/pullAllBy.js +5 -5
- package/fp/pullAllWith.js +5 -5
- package/fp/pullAt.js +5 -5
- package/fp/random.js +5 -5
- package/fp/range.js +5 -5
- package/fp/rangeRight.js +5 -5
- package/fp/rangeStep.js +5 -5
- package/fp/rangeStepRight.js +5 -5
- package/fp/rearg.js +5 -5
- package/fp/reduce.js +5 -5
- package/fp/reduceRight.js +5 -5
- package/fp/reject.js +5 -5
- package/fp/remove.js +5 -5
- package/fp/repeat.js +5 -5
- package/fp/replace.js +5 -5
- package/fp/rest.js +5 -5
- package/fp/restFrom.js +5 -5
- package/fp/result.js +5 -5
- package/fp/reverse.js +5 -5
- package/fp/round.js +5 -5
- package/fp/sample.js +5 -5
- package/fp/sampleSize.js +5 -5
- package/fp/seq.js +2 -2
- package/fp/set.js +5 -5
- package/fp/setWith.js +5 -5
- package/fp/shuffle.js +5 -5
- package/fp/size.js +5 -5
- package/fp/slice.js +5 -5
- package/fp/snakeCase.js +5 -5
- package/fp/some.js +5 -5
- package/fp/sortBy.js +5 -5
- package/fp/sortedIndex.js +5 -5
- package/fp/sortedIndexBy.js +5 -5
- package/fp/sortedIndexOf.js +5 -5
- package/fp/sortedLastIndex.js +5 -5
- package/fp/sortedLastIndexBy.js +5 -5
- package/fp/sortedLastIndexOf.js +5 -5
- package/fp/sortedUniq.js +5 -5
- package/fp/sortedUniqBy.js +5 -5
- package/fp/split.js +5 -5
- package/fp/spread.js +5 -5
- package/fp/spreadFrom.js +5 -5
- package/fp/startCase.js +5 -5
- package/fp/startsWith.js +5 -5
- package/fp/string.js +2 -2
- package/fp/stubArray.js +5 -5
- package/fp/stubFalse.js +5 -5
- package/fp/stubObject.js +5 -5
- package/fp/stubString.js +5 -5
- package/fp/stubTrue.js +5 -5
- package/fp/subtract.js +5 -5
- package/fp/sum.js +5 -5
- package/fp/sumBy.js +5 -5
- package/fp/symmetricDifference.js +1 -1
- package/fp/symmetricDifferenceBy.js +1 -1
- package/fp/symmetricDifferenceWith.js +1 -1
- package/fp/tail.js +5 -5
- package/fp/take.js +5 -5
- package/fp/takeLast.js +1 -1
- package/fp/takeLastWhile.js +1 -1
- package/fp/takeRight.js +5 -5
- package/fp/takeRightWhile.js +5 -5
- package/fp/takeWhile.js +5 -5
- package/fp/tap.js +5 -5
- package/fp/template.js +5 -5
- package/fp/templateSettings.js +5 -5
- package/fp/throttle.js +5 -5
- package/fp/thru.js +5 -5
- package/fp/times.js +5 -5
- package/fp/toArray.js +5 -5
- package/fp/toFinite.js +5 -5
- package/fp/toInteger.js +5 -5
- package/fp/toIterator.js +5 -5
- package/fp/toJSON.js +5 -5
- package/fp/toLength.js +5 -5
- package/fp/toLower.js +5 -5
- package/fp/toNumber.js +5 -5
- package/fp/toPairs.js +5 -5
- package/fp/toPairsIn.js +5 -5
- package/fp/toPath.js +5 -5
- package/fp/toPlainObject.js +5 -5
- package/fp/toSafeInteger.js +5 -5
- package/fp/toString.js +5 -5
- package/fp/toUpper.js +5 -5
- package/fp/transform.js +5 -5
- package/fp/trim.js +5 -5
- package/fp/trimChars.js +5 -5
- package/fp/trimCharsEnd.js +5 -5
- package/fp/trimCharsStart.js +5 -5
- package/fp/trimEnd.js +5 -5
- package/fp/trimStart.js +5 -5
- package/fp/truncate.js +5 -5
- package/fp/unapply.js +1 -1
- package/fp/unary.js +5 -5
- package/fp/unescape.js +5 -5
- package/fp/union.js +5 -5
- package/fp/unionBy.js +5 -5
- package/fp/unionWith.js +5 -5
- package/fp/uniq.js +5 -5
- package/fp/uniqBy.js +5 -5
- package/fp/uniqWith.js +5 -5
- package/fp/uniqueId.js +5 -5
- package/fp/unnest.js +1 -1
- package/fp/unset.js +5 -5
- package/fp/unzip.js +5 -5
- package/fp/unzipWith.js +5 -5
- package/fp/update.js +5 -5
- package/fp/updateWith.js +5 -5
- package/fp/upperCase.js +5 -5
- package/fp/upperFirst.js +5 -5
- package/fp/useWith.js +1 -1
- package/fp/util.js +2 -2
- package/fp/value.js +5 -5
- package/fp/valueOf.js +5 -5
- package/fp/values.js +5 -5
- package/fp/valuesIn.js +5 -5
- package/fp/where.js +1 -1
- package/fp/whereEq.js +1 -1
- package/fp/without.js +5 -5
- package/fp/words.js +5 -5
- package/fp/wrap.js +5 -5
- package/fp/wrapperAt.js +5 -5
- package/fp/wrapperChain.js +5 -5
- package/fp/wrapperLodash.js +5 -5
- package/fp/wrapperReverse.js +5 -5
- package/fp/wrapperValue.js +5 -5
- package/fp/xor.js +5 -5
- package/fp/xorBy.js +5 -5
- package/fp/xorWith.js +5 -5
- package/fp/zip.js +5 -5
- package/fp/zipAll.js +5 -5
- package/fp/zipObj.js +1 -1
- package/fp/zipObject.js +5 -5
- package/fp/zipObjectDeep.js +5 -5
- package/fp/zipWith.js +5 -5
- package/fp.js +2 -2
- package/fromPairs.js +28 -28
- package/function.js +25 -25
- package/functions.js +31 -31
- package/functionsIn.js +31 -31
- package/get.js +33 -33
- package/groupBy.js +41 -41
- package/gt.js +29 -29
- package/gte.js +30 -30
- package/has.js +35 -35
- package/hasIn.js +34 -34
- package/head.js +23 -23
- package/identity.js +21 -21
- package/inRange.js +55 -55
- package/includes.js +53 -53
- package/indexOf.js +42 -42
- package/initial.js +22 -22
- package/intersection.js +30 -30
- package/intersectionBy.js +45 -45
- package/intersectionWith.js +41 -41
- package/invert.js +42 -42
- package/invertBy.js +56 -56
- package/invoke.js +24 -24
- package/invokeMap.js +41 -41
- package/isArguments.js +36 -36
- package/isArray.js +26 -26
- package/isArrayBuffer.js +27 -27
- package/isArrayLike.js +33 -33
- package/isArrayLikeObject.js +33 -33
- package/isBoolean.js +29 -29
- package/isBuffer.js +38 -38
- package/isDate.js +27 -27
- package/isElement.js +25 -25
- package/isEmpty.js +77 -77
- package/isEqual.js +35 -35
- package/isEqualWith.js +41 -41
- package/isError.js +36 -36
- package/isFinite.js +36 -36
- package/isFunction.js +37 -37
- package/isInteger.js +33 -33
- package/isLength.js +35 -35
- package/isMap.js +27 -27
- package/isMatch.js +36 -36
- package/isMatchWith.js +41 -41
- package/isNaN.js +38 -38
- package/isNative.js +40 -40
- package/isNil.js +25 -25
- package/isNull.js +22 -22
- package/isNumber.js +38 -38
- package/isObject.js +31 -31
- package/isObjectLike.js +29 -29
- package/isPlainObject.js +62 -62
- package/isRegExp.js +27 -27
- package/isSafeInteger.js +37 -37
- package/isSet.js +27 -27
- package/isString.js +30 -30
- package/isSymbol.js +29 -29
- package/isTypedArray.js +27 -27
- package/isUndefined.js +22 -22
- package/isWeakMap.js +28 -28
- package/isWeakSet.js +28 -28
- package/iteratee.js +53 -53
- package/join.js +26 -26
- package/kebabCase.js +28 -28
- package/keyBy.js +36 -36
- package/keys.js +37 -37
- package/keysIn.js +32 -32
- package/lang.js +58 -58
- package/last.js +20 -20
- package/lastIndexOf.js +46 -46
- package/lodash.js +17248 -17209
- package/lodash.min.js +6 -135
- package/lowerCase.js +27 -27
- package/lowerFirst.js +22 -22
- package/lt.js +29 -29
- package/lte.js +30 -30
- package/map.js +53 -53
- package/mapKeys.js +36 -36
- package/mapValues.js +43 -43
- package/matches.js +46 -46
- package/matchesProperty.js +44 -44
- package/math.js +17 -17
- package/max.js +29 -29
- package/maxBy.js +34 -34
- package/mean.js +22 -22
- package/meanBy.js +31 -31
- package/memoize.js +73 -73
- package/merge.js +39 -39
- package/mergeWith.js +39 -39
- package/method.js +34 -34
- package/methodOf.js +33 -33
- package/min.js +29 -29
- package/minBy.js +34 -34
- package/mixin.js +74 -74
- package/multiply.js +22 -22
- package/negate.js +40 -40
- package/next.js +35 -35
- package/noop.js +17 -17
- package/now.js +23 -23
- package/nth.js +29 -29
- package/nthArg.js +32 -32
- package/number.js +5 -5
- package/object.js +49 -49
- package/omit.js +57 -57
- package/omitBy.js +29 -29
- package/once.js +25 -25
- package/orderBy.js +47 -47
- package/over.js +24 -24
- package/overArgs.js +61 -61
- package/overEvery.js +34 -34
- package/overSome.js +37 -37
- package/package.json +30 -27
- package/pad.js +49 -49
- package/padEnd.js +39 -39
- package/padStart.js +39 -39
- package/parseInt.js +43 -43
- package/partial.js +50 -50
- package/partialRight.js +49 -49
- package/partition.js +43 -43
- package/pick.js +25 -25
- package/pickBy.js +37 -37
- package/plant.js +48 -48
- package/property.js +32 -32
- package/propertyOf.js +30 -30
- package/pull.js +29 -29
- package/pullAll.js +29 -29
- package/pullAllBy.js +33 -33
- package/pullAllWith.js +32 -32
- package/pullAt.js +43 -43
- package/random.js +82 -82
- package/range.js +46 -46
- package/rangeRight.js +41 -41
- package/rearg.js +33 -33
- package/reduce.js +51 -51
- package/reduceRight.js +36 -36
- package/reject.js +46 -46
- package/remove.js +53 -53
- package/repeat.js +37 -37
- package/replace.js +29 -29
- package/rest.js +40 -40
- package/result.js +56 -56
- package/reverse.js +34 -34
- package/round.js +26 -26
- package/sample.js +24 -24
- package/sampleSize.js +37 -37
- package/seq.js +16 -16
- package/set.js +35 -35
- package/setWith.js +32 -32
- package/shuffle.js +25 -25
- package/size.js +46 -46
- package/slice.js +37 -37
- package/snakeCase.js +28 -28
- package/some.js +51 -51
- package/sortBy.js +48 -48
- package/sortedIndex.js +24 -24
- package/sortedIndexBy.js +33 -33
- package/sortedIndexOf.js +31 -31
- package/sortedLastIndex.js +25 -25
- package/sortedLastIndexBy.js +33 -33
- package/sortedLastIndexOf.js +31 -31
- package/sortedUniq.js +24 -24
- package/sortedUniqBy.js +26 -26
- package/split.js +52 -52
- package/spread.js +63 -63
- package/startCase.js +29 -29
- package/startsWith.js +39 -39
- package/string.js +33 -33
- package/stubArray.js +23 -23
- package/stubFalse.js +18 -18
- package/stubObject.js +23 -23
- package/stubString.js +18 -18
- package/stubTrue.js +18 -18
- package/subtract.js +22 -22
- package/sum.js +24 -24
- package/sumBy.js +33 -33
- package/tail.js +22 -22
- package/take.js +37 -37
- package/takeRight.js +39 -39
- package/takeRightWhile.js +45 -45
- package/takeWhile.js +45 -45
- package/tap.js +29 -29
- package/template.js +272 -272
- package/templateSettings.js +67 -67
- package/throttle.js +69 -69
- package/thru.js +28 -28
- package/times.js +51 -51
- package/toArray.js +58 -58
- package/toFinite.js +42 -42
- package/toInteger.js +36 -36
- package/toIterator.js +23 -23
- package/toJSON.js +1 -1
- package/toLength.js +38 -38
- package/toLower.js +28 -28
- package/toNumber.js +64 -64
- package/toPairs.js +30 -30
- package/toPairsIn.js +30 -30
- package/toPath.js +33 -33
- package/toPlainObject.js +32 -32
- package/toSafeInteger.js +37 -37
- package/toString.js +28 -28
- package/toUpper.js +28 -28
- package/transform.js +65 -65
- package/trim.js +47 -47
- package/trimEnd.js +41 -41
- package/trimStart.js +43 -43
- package/truncate.js +111 -111
- package/unary.js +22 -22
- package/unescape.js +34 -34
- package/union.js +26 -26
- package/unionBy.js +39 -39
- package/unionWith.js +34 -34
- package/uniq.js +25 -25
- package/uniqBy.js +31 -31
- package/uniqWith.js +28 -28
- package/uniqueId.js +28 -28
- package/unset.js +34 -34
- package/unzip.js +45 -45
- package/unzipWith.js +39 -39
- package/update.js +35 -35
- package/updateWith.js +33 -33
- package/upperCase.js +27 -27
- package/upperFirst.js +22 -22
- package/util.js +34 -34
- package/value.js +1 -1
- package/valueOf.js +1 -1
- package/values.js +34 -34
- package/valuesIn.js +32 -32
- package/without.js +31 -31
- package/words.js +35 -35
- package/wrap.js +30 -30
- package/wrapperAt.js +48 -48
- package/wrapperChain.js +34 -34
- package/wrapperLodash.js +147 -147
- package/wrapperReverse.js +44 -44
- package/wrapperValue.js +21 -21
- package/xor.js +28 -28
- package/xorBy.js +39 -39
- package/xorWith.js +34 -34
- package/zip.js +22 -22
- package/zipObject.js +24 -24
- package/zipObjectDeep.js +23 -23
- package/zipWith.js +32 -32
- package/_.log +0 -3
package/_createRange.js
CHANGED
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
var baseRange = require('./_baseRange'),
|
|
2
|
-
isIterateeCall = require('./_isIterateeCall'),
|
|
3
|
-
toFinite = require('./toFinite');
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Creates a `_.range` or `_.rangeRight` function.
|
|
7
|
-
*
|
|
8
|
-
* @private
|
|
9
|
-
* @param {boolean} [fromRight] Specify iterating from right to left.
|
|
10
|
-
* @returns {Function} Returns the new range function.
|
|
11
|
-
*/
|
|
12
|
-
function createRange(fromRight) {
|
|
13
|
-
return function(start, end, step) {
|
|
14
|
-
if (step && typeof step != 'number' && isIterateeCall(start, end, step)) {
|
|
15
|
-
end = step = undefined;
|
|
16
|
-
}
|
|
17
|
-
// Ensure the sign of `-0` is preserved.
|
|
18
|
-
start = toFinite(start);
|
|
19
|
-
if (end === undefined) {
|
|
20
|
-
end = start;
|
|
21
|
-
start = 0;
|
|
22
|
-
} else {
|
|
23
|
-
end = toFinite(end);
|
|
24
|
-
}
|
|
25
|
-
step = step === undefined ? (start < end ? 1 : -1) : toFinite(step);
|
|
26
|
-
return baseRange(start, end, step, fromRight);
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
module.exports = createRange;
|
|
1
|
+
var baseRange = require('./_baseRange'),
|
|
2
|
+
isIterateeCall = require('./_isIterateeCall'),
|
|
3
|
+
toFinite = require('./toFinite');
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Creates a `_.range` or `_.rangeRight` function.
|
|
7
|
+
*
|
|
8
|
+
* @private
|
|
9
|
+
* @param {boolean} [fromRight] Specify iterating from right to left.
|
|
10
|
+
* @returns {Function} Returns the new range function.
|
|
11
|
+
*/
|
|
12
|
+
function createRange(fromRight) {
|
|
13
|
+
return function(start, end, step) {
|
|
14
|
+
if (step && typeof step != 'number' && isIterateeCall(start, end, step)) {
|
|
15
|
+
end = step = undefined;
|
|
16
|
+
}
|
|
17
|
+
// Ensure the sign of `-0` is preserved.
|
|
18
|
+
start = toFinite(start);
|
|
19
|
+
if (end === undefined) {
|
|
20
|
+
end = start;
|
|
21
|
+
start = 0;
|
|
22
|
+
} else {
|
|
23
|
+
end = toFinite(end);
|
|
24
|
+
}
|
|
25
|
+
step = step === undefined ? (start < end ? 1 : -1) : toFinite(step);
|
|
26
|
+
return baseRange(start, end, step, fromRight);
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
module.exports = createRange;
|
package/_createRecurry.js
CHANGED
|
@@ -1,56 +1,56 @@
|
|
|
1
|
-
var isLaziable = require('./_isLaziable'),
|
|
2
|
-
setData = require('./_setData'),
|
|
3
|
-
setWrapToString = require('./_setWrapToString');
|
|
4
|
-
|
|
5
|
-
/** Used to compose bitmasks for function metadata. */
|
|
6
|
-
var WRAP_BIND_FLAG = 1,
|
|
7
|
-
WRAP_BIND_KEY_FLAG = 2,
|
|
8
|
-
WRAP_CURRY_BOUND_FLAG = 4,
|
|
9
|
-
WRAP_CURRY_FLAG = 8,
|
|
10
|
-
WRAP_PARTIAL_FLAG = 32,
|
|
11
|
-
WRAP_PARTIAL_RIGHT_FLAG = 64;
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Creates a function that wraps `func` to continue currying.
|
|
15
|
-
*
|
|
16
|
-
* @private
|
|
17
|
-
* @param {Function} func The function to wrap.
|
|
18
|
-
* @param {number} bitmask The bitmask flags. See `createWrap` for more details.
|
|
19
|
-
* @param {Function} wrapFunc The function to create the `func` wrapper.
|
|
20
|
-
* @param {*} placeholder The placeholder value.
|
|
21
|
-
* @param {*} [thisArg] The `this` binding of `func`.
|
|
22
|
-
* @param {Array} [partials] The arguments to prepend to those provided to
|
|
23
|
-
* the new function.
|
|
24
|
-
* @param {Array} [holders] The `partials` placeholder indexes.
|
|
25
|
-
* @param {Array} [argPos] The argument positions of the new function.
|
|
26
|
-
* @param {number} [ary] The arity cap of `func`.
|
|
27
|
-
* @param {number} [arity] The arity of `func`.
|
|
28
|
-
* @returns {Function} Returns the new wrapped function.
|
|
29
|
-
*/
|
|
30
|
-
function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) {
|
|
31
|
-
var isCurry = bitmask & WRAP_CURRY_FLAG,
|
|
32
|
-
newHolders = isCurry ? holders : undefined,
|
|
33
|
-
newHoldersRight = isCurry ? undefined : holders,
|
|
34
|
-
newPartials = isCurry ? partials : undefined,
|
|
35
|
-
newPartialsRight = isCurry ? undefined : partials;
|
|
36
|
-
|
|
37
|
-
bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG);
|
|
38
|
-
bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG);
|
|
39
|
-
|
|
40
|
-
if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) {
|
|
41
|
-
bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG);
|
|
42
|
-
}
|
|
43
|
-
var newData = [
|
|
44
|
-
func, bitmask, thisArg, newPartials, newHolders, newPartialsRight,
|
|
45
|
-
newHoldersRight, argPos, ary, arity
|
|
46
|
-
];
|
|
47
|
-
|
|
48
|
-
var result = wrapFunc.apply(undefined, newData);
|
|
49
|
-
if (isLaziable(func)) {
|
|
50
|
-
setData(result, newData);
|
|
51
|
-
}
|
|
52
|
-
result.placeholder = placeholder;
|
|
53
|
-
return setWrapToString(result, func, bitmask);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
module.exports = createRecurry;
|
|
1
|
+
var isLaziable = require('./_isLaziable'),
|
|
2
|
+
setData = require('./_setData'),
|
|
3
|
+
setWrapToString = require('./_setWrapToString');
|
|
4
|
+
|
|
5
|
+
/** Used to compose bitmasks for function metadata. */
|
|
6
|
+
var WRAP_BIND_FLAG = 1,
|
|
7
|
+
WRAP_BIND_KEY_FLAG = 2,
|
|
8
|
+
WRAP_CURRY_BOUND_FLAG = 4,
|
|
9
|
+
WRAP_CURRY_FLAG = 8,
|
|
10
|
+
WRAP_PARTIAL_FLAG = 32,
|
|
11
|
+
WRAP_PARTIAL_RIGHT_FLAG = 64;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Creates a function that wraps `func` to continue currying.
|
|
15
|
+
*
|
|
16
|
+
* @private
|
|
17
|
+
* @param {Function} func The function to wrap.
|
|
18
|
+
* @param {number} bitmask The bitmask flags. See `createWrap` for more details.
|
|
19
|
+
* @param {Function} wrapFunc The function to create the `func` wrapper.
|
|
20
|
+
* @param {*} placeholder The placeholder value.
|
|
21
|
+
* @param {*} [thisArg] The `this` binding of `func`.
|
|
22
|
+
* @param {Array} [partials] The arguments to prepend to those provided to
|
|
23
|
+
* the new function.
|
|
24
|
+
* @param {Array} [holders] The `partials` placeholder indexes.
|
|
25
|
+
* @param {Array} [argPos] The argument positions of the new function.
|
|
26
|
+
* @param {number} [ary] The arity cap of `func`.
|
|
27
|
+
* @param {number} [arity] The arity of `func`.
|
|
28
|
+
* @returns {Function} Returns the new wrapped function.
|
|
29
|
+
*/
|
|
30
|
+
function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) {
|
|
31
|
+
var isCurry = bitmask & WRAP_CURRY_FLAG,
|
|
32
|
+
newHolders = isCurry ? holders : undefined,
|
|
33
|
+
newHoldersRight = isCurry ? undefined : holders,
|
|
34
|
+
newPartials = isCurry ? partials : undefined,
|
|
35
|
+
newPartialsRight = isCurry ? undefined : partials;
|
|
36
|
+
|
|
37
|
+
bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG);
|
|
38
|
+
bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG);
|
|
39
|
+
|
|
40
|
+
if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) {
|
|
41
|
+
bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG);
|
|
42
|
+
}
|
|
43
|
+
var newData = [
|
|
44
|
+
func, bitmask, thisArg, newPartials, newHolders, newPartialsRight,
|
|
45
|
+
newHoldersRight, argPos, ary, arity
|
|
46
|
+
];
|
|
47
|
+
|
|
48
|
+
var result = wrapFunc.apply(undefined, newData);
|
|
49
|
+
if (isLaziable(func)) {
|
|
50
|
+
setData(result, newData);
|
|
51
|
+
}
|
|
52
|
+
result.placeholder = placeholder;
|
|
53
|
+
return setWrapToString(result, func, bitmask);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
module.exports = createRecurry;
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
var toNumber = require('./toNumber');
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Creates a function that performs a relational operation on two values.
|
|
5
|
-
*
|
|
6
|
-
* @private
|
|
7
|
-
* @param {Function} operator The function to perform the operation.
|
|
8
|
-
* @returns {Function} Returns the new relational operation function.
|
|
9
|
-
*/
|
|
10
|
-
function createRelationalOperation(operator) {
|
|
11
|
-
return function(value, other) {
|
|
12
|
-
if (!(typeof value == 'string' && typeof other == 'string')) {
|
|
13
|
-
value = toNumber(value);
|
|
14
|
-
other = toNumber(other);
|
|
15
|
-
}
|
|
16
|
-
return operator(value, other);
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
module.exports = createRelationalOperation;
|
|
1
|
+
var toNumber = require('./toNumber');
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Creates a function that performs a relational operation on two values.
|
|
5
|
+
*
|
|
6
|
+
* @private
|
|
7
|
+
* @param {Function} operator The function to perform the operation.
|
|
8
|
+
* @returns {Function} Returns the new relational operation function.
|
|
9
|
+
*/
|
|
10
|
+
function createRelationalOperation(operator) {
|
|
11
|
+
return function(value, other) {
|
|
12
|
+
if (!(typeof value == 'string' && typeof other == 'string')) {
|
|
13
|
+
value = toNumber(value);
|
|
14
|
+
other = toNumber(other);
|
|
15
|
+
}
|
|
16
|
+
return operator(value, other);
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
module.exports = createRelationalOperation;
|
package/_createRound.js
CHANGED
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
var root = require('./_root'),
|
|
2
|
-
toInteger = require('./toInteger'),
|
|
3
|
-
toNumber = require('./toNumber'),
|
|
4
|
-
toString = require('./toString');
|
|
5
|
-
|
|
6
|
-
/* Built-in method references for those with the same name as other `lodash` methods. */
|
|
7
|
-
var nativeIsFinite = root.isFinite,
|
|
8
|
-
nativeMin = Math.min;
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Creates a function like `_.round`.
|
|
12
|
-
*
|
|
13
|
-
* @private
|
|
14
|
-
* @param {string} methodName The name of the `Math` method to use when rounding.
|
|
15
|
-
* @returns {Function} Returns the new round function.
|
|
16
|
-
*/
|
|
17
|
-
function createRound(methodName) {
|
|
18
|
-
var func = Math[methodName];
|
|
19
|
-
return function(number, precision) {
|
|
20
|
-
number = toNumber(number);
|
|
21
|
-
precision = precision == null ? 0 : nativeMin(toInteger(precision), 292);
|
|
22
|
-
if (precision && nativeIsFinite(number)) {
|
|
23
|
-
// Shift with exponential notation to avoid floating-point issues.
|
|
24
|
-
// See [MDN](https://mdn.io/round#Examples) for more details.
|
|
25
|
-
var pair = (toString(number) + 'e').split('e'),
|
|
26
|
-
value = func(pair[0] + 'e' + (+pair[1] + precision));
|
|
27
|
-
|
|
28
|
-
pair = (toString(value) + 'e').split('e');
|
|
29
|
-
return +(pair[0] + 'e' + (+pair[1] - precision));
|
|
30
|
-
}
|
|
31
|
-
return func(number);
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
module.exports = createRound;
|
|
1
|
+
var root = require('./_root'),
|
|
2
|
+
toInteger = require('./toInteger'),
|
|
3
|
+
toNumber = require('./toNumber'),
|
|
4
|
+
toString = require('./toString');
|
|
5
|
+
|
|
6
|
+
/* Built-in method references for those with the same name as other `lodash` methods. */
|
|
7
|
+
var nativeIsFinite = root.isFinite,
|
|
8
|
+
nativeMin = Math.min;
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Creates a function like `_.round`.
|
|
12
|
+
*
|
|
13
|
+
* @private
|
|
14
|
+
* @param {string} methodName The name of the `Math` method to use when rounding.
|
|
15
|
+
* @returns {Function} Returns the new round function.
|
|
16
|
+
*/
|
|
17
|
+
function createRound(methodName) {
|
|
18
|
+
var func = Math[methodName];
|
|
19
|
+
return function(number, precision) {
|
|
20
|
+
number = toNumber(number);
|
|
21
|
+
precision = precision == null ? 0 : nativeMin(toInteger(precision), 292);
|
|
22
|
+
if (precision && nativeIsFinite(number)) {
|
|
23
|
+
// Shift with exponential notation to avoid floating-point issues.
|
|
24
|
+
// See [MDN](https://mdn.io/round#Examples) for more details.
|
|
25
|
+
var pair = (toString(number) + 'e').split('e'),
|
|
26
|
+
value = func(pair[0] + 'e' + (+pair[1] + precision));
|
|
27
|
+
|
|
28
|
+
pair = (toString(value) + 'e').split('e');
|
|
29
|
+
return +(pair[0] + 'e' + (+pair[1] - precision));
|
|
30
|
+
}
|
|
31
|
+
return func(number);
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
module.exports = createRound;
|
package/_createSet.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
var Set = require('./_Set'),
|
|
2
|
-
noop = require('./noop'),
|
|
3
|
-
setToArray = require('./_setToArray');
|
|
4
|
-
|
|
5
|
-
/** Used as references for various `Number` constants. */
|
|
6
|
-
var INFINITY = 1 / 0;
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Creates a set object of `values`.
|
|
10
|
-
*
|
|
11
|
-
* @private
|
|
12
|
-
* @param {Array} values The values to add to the set.
|
|
13
|
-
* @returns {Object} Returns the new set.
|
|
14
|
-
*/
|
|
15
|
-
var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {
|
|
16
|
-
return new Set(values);
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
module.exports = createSet;
|
|
1
|
+
var Set = require('./_Set'),
|
|
2
|
+
noop = require('./noop'),
|
|
3
|
+
setToArray = require('./_setToArray');
|
|
4
|
+
|
|
5
|
+
/** Used as references for various `Number` constants. */
|
|
6
|
+
var INFINITY = 1 / 0;
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Creates a set object of `values`.
|
|
10
|
+
*
|
|
11
|
+
* @private
|
|
12
|
+
* @param {Array} values The values to add to the set.
|
|
13
|
+
* @returns {Object} Returns the new set.
|
|
14
|
+
*/
|
|
15
|
+
var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {
|
|
16
|
+
return new Set(values);
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
module.exports = createSet;
|
package/_createToPairs.js
CHANGED
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
var baseToPairs = require('./_baseToPairs'),
|
|
2
|
-
getTag = require('./_getTag'),
|
|
3
|
-
mapToArray = require('./_mapToArray'),
|
|
4
|
-
setToPairs = require('./_setToPairs');
|
|
5
|
-
|
|
6
|
-
/** `Object#toString` result references. */
|
|
7
|
-
var mapTag = '[object Map]',
|
|
8
|
-
setTag = '[object Set]';
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Creates a `_.toPairs` or `_.toPairsIn` function.
|
|
12
|
-
*
|
|
13
|
-
* @private
|
|
14
|
-
* @param {Function} keysFunc The function to get the keys of a given object.
|
|
15
|
-
* @returns {Function} Returns the new pairs function.
|
|
16
|
-
*/
|
|
17
|
-
function createToPairs(keysFunc) {
|
|
18
|
-
return function(object) {
|
|
19
|
-
var tag = getTag(object);
|
|
20
|
-
if (tag == mapTag) {
|
|
21
|
-
return mapToArray(object);
|
|
22
|
-
}
|
|
23
|
-
if (tag == setTag) {
|
|
24
|
-
return setToPairs(object);
|
|
25
|
-
}
|
|
26
|
-
return baseToPairs(object, keysFunc(object));
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
module.exports = createToPairs;
|
|
1
|
+
var baseToPairs = require('./_baseToPairs'),
|
|
2
|
+
getTag = require('./_getTag'),
|
|
3
|
+
mapToArray = require('./_mapToArray'),
|
|
4
|
+
setToPairs = require('./_setToPairs');
|
|
5
|
+
|
|
6
|
+
/** `Object#toString` result references. */
|
|
7
|
+
var mapTag = '[object Map]',
|
|
8
|
+
setTag = '[object Set]';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Creates a `_.toPairs` or `_.toPairsIn` function.
|
|
12
|
+
*
|
|
13
|
+
* @private
|
|
14
|
+
* @param {Function} keysFunc The function to get the keys of a given object.
|
|
15
|
+
* @returns {Function} Returns the new pairs function.
|
|
16
|
+
*/
|
|
17
|
+
function createToPairs(keysFunc) {
|
|
18
|
+
return function(object) {
|
|
19
|
+
var tag = getTag(object);
|
|
20
|
+
if (tag == mapTag) {
|
|
21
|
+
return mapToArray(object);
|
|
22
|
+
}
|
|
23
|
+
if (tag == setTag) {
|
|
24
|
+
return setToPairs(object);
|
|
25
|
+
}
|
|
26
|
+
return baseToPairs(object, keysFunc(object));
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
module.exports = createToPairs;
|
package/_createWrap.js
CHANGED
|
@@ -1,106 +1,106 @@
|
|
|
1
|
-
var baseSetData = require('./_baseSetData'),
|
|
2
|
-
createBind = require('./_createBind'),
|
|
3
|
-
createCurry = require('./_createCurry'),
|
|
4
|
-
createHybrid = require('./_createHybrid'),
|
|
5
|
-
createPartial = require('./_createPartial'),
|
|
6
|
-
getData = require('./_getData'),
|
|
7
|
-
mergeData = require('./_mergeData'),
|
|
8
|
-
setData = require('./_setData'),
|
|
9
|
-
setWrapToString = require('./_setWrapToString'),
|
|
10
|
-
toInteger = require('./toInteger');
|
|
11
|
-
|
|
12
|
-
/** Error message constants. */
|
|
13
|
-
var FUNC_ERROR_TEXT = 'Expected a function';
|
|
14
|
-
|
|
15
|
-
/** Used to compose bitmasks for function metadata. */
|
|
16
|
-
var WRAP_BIND_FLAG = 1,
|
|
17
|
-
WRAP_BIND_KEY_FLAG = 2,
|
|
18
|
-
WRAP_CURRY_FLAG = 8,
|
|
19
|
-
WRAP_CURRY_RIGHT_FLAG = 16,
|
|
20
|
-
WRAP_PARTIAL_FLAG = 32,
|
|
21
|
-
WRAP_PARTIAL_RIGHT_FLAG = 64;
|
|
22
|
-
|
|
23
|
-
/* Built-in method references for those with the same name as other `lodash` methods. */
|
|
24
|
-
var nativeMax = Math.max;
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Creates a function that either curries or invokes `func` with optional
|
|
28
|
-
* `this` binding and partially applied arguments.
|
|
29
|
-
*
|
|
30
|
-
* @private
|
|
31
|
-
* @param {Function|string} func The function or method name to wrap.
|
|
32
|
-
* @param {number} bitmask The bitmask flags.
|
|
33
|
-
* 1 - `_.bind`
|
|
34
|
-
* 2 - `_.bindKey`
|
|
35
|
-
* 4 - `_.curry` or `_.curryRight` of a bound function
|
|
36
|
-
* 8 - `_.curry`
|
|
37
|
-
* 16 - `_.curryRight`
|
|
38
|
-
* 32 - `_.partial`
|
|
39
|
-
* 64 - `_.partialRight`
|
|
40
|
-
* 128 - `_.rearg`
|
|
41
|
-
* 256 - `_.ary`
|
|
42
|
-
* 512 - `_.flip`
|
|
43
|
-
* @param {*} [thisArg] The `this` binding of `func`.
|
|
44
|
-
* @param {Array} [partials] The arguments to be partially applied.
|
|
45
|
-
* @param {Array} [holders] The `partials` placeholder indexes.
|
|
46
|
-
* @param {Array} [argPos] The argument positions of the new function.
|
|
47
|
-
* @param {number} [ary] The arity cap of `func`.
|
|
48
|
-
* @param {number} [arity] The arity of `func`.
|
|
49
|
-
* @returns {Function} Returns the new wrapped function.
|
|
50
|
-
*/
|
|
51
|
-
function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) {
|
|
52
|
-
var isBindKey = bitmask & WRAP_BIND_KEY_FLAG;
|
|
53
|
-
if (!isBindKey && typeof func != 'function') {
|
|
54
|
-
throw new TypeError(FUNC_ERROR_TEXT);
|
|
55
|
-
}
|
|
56
|
-
var length = partials ? partials.length : 0;
|
|
57
|
-
if (!length) {
|
|
58
|
-
bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG);
|
|
59
|
-
partials = holders = undefined;
|
|
60
|
-
}
|
|
61
|
-
ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0);
|
|
62
|
-
arity = arity === undefined ? arity : toInteger(arity);
|
|
63
|
-
length -= holders ? holders.length : 0;
|
|
64
|
-
|
|
65
|
-
if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) {
|
|
66
|
-
var partialsRight = partials,
|
|
67
|
-
holdersRight = holders;
|
|
68
|
-
|
|
69
|
-
partials = holders = undefined;
|
|
70
|
-
}
|
|
71
|
-
var data = isBindKey ? undefined : getData(func);
|
|
72
|
-
|
|
73
|
-
var newData = [
|
|
74
|
-
func, bitmask, thisArg, partials, holders, partialsRight, holdersRight,
|
|
75
|
-
argPos, ary, arity
|
|
76
|
-
];
|
|
77
|
-
|
|
78
|
-
if (data) {
|
|
79
|
-
mergeData(newData, data);
|
|
80
|
-
}
|
|
81
|
-
func = newData[0];
|
|
82
|
-
bitmask = newData[1];
|
|
83
|
-
thisArg = newData[2];
|
|
84
|
-
partials = newData[3];
|
|
85
|
-
holders = newData[4];
|
|
86
|
-
arity = newData[9] = newData[9] === undefined
|
|
87
|
-
? (isBindKey ? 0 : func.length)
|
|
88
|
-
: nativeMax(newData[9] - length, 0);
|
|
89
|
-
|
|
90
|
-
if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) {
|
|
91
|
-
bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG);
|
|
92
|
-
}
|
|
93
|
-
if (!bitmask || bitmask == WRAP_BIND_FLAG) {
|
|
94
|
-
var result = createBind(func, bitmask, thisArg);
|
|
95
|
-
} else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) {
|
|
96
|
-
result = createCurry(func, bitmask, arity);
|
|
97
|
-
} else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) {
|
|
98
|
-
result = createPartial(func, bitmask, thisArg, partials);
|
|
99
|
-
} else {
|
|
100
|
-
result = createHybrid.apply(undefined, newData);
|
|
101
|
-
}
|
|
102
|
-
var setter = data ? baseSetData : setData;
|
|
103
|
-
return setWrapToString(setter(result, newData), func, bitmask);
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
module.exports = createWrap;
|
|
1
|
+
var baseSetData = require('./_baseSetData'),
|
|
2
|
+
createBind = require('./_createBind'),
|
|
3
|
+
createCurry = require('./_createCurry'),
|
|
4
|
+
createHybrid = require('./_createHybrid'),
|
|
5
|
+
createPartial = require('./_createPartial'),
|
|
6
|
+
getData = require('./_getData'),
|
|
7
|
+
mergeData = require('./_mergeData'),
|
|
8
|
+
setData = require('./_setData'),
|
|
9
|
+
setWrapToString = require('./_setWrapToString'),
|
|
10
|
+
toInteger = require('./toInteger');
|
|
11
|
+
|
|
12
|
+
/** Error message constants. */
|
|
13
|
+
var FUNC_ERROR_TEXT = 'Expected a function';
|
|
14
|
+
|
|
15
|
+
/** Used to compose bitmasks for function metadata. */
|
|
16
|
+
var WRAP_BIND_FLAG = 1,
|
|
17
|
+
WRAP_BIND_KEY_FLAG = 2,
|
|
18
|
+
WRAP_CURRY_FLAG = 8,
|
|
19
|
+
WRAP_CURRY_RIGHT_FLAG = 16,
|
|
20
|
+
WRAP_PARTIAL_FLAG = 32,
|
|
21
|
+
WRAP_PARTIAL_RIGHT_FLAG = 64;
|
|
22
|
+
|
|
23
|
+
/* Built-in method references for those with the same name as other `lodash` methods. */
|
|
24
|
+
var nativeMax = Math.max;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Creates a function that either curries or invokes `func` with optional
|
|
28
|
+
* `this` binding and partially applied arguments.
|
|
29
|
+
*
|
|
30
|
+
* @private
|
|
31
|
+
* @param {Function|string} func The function or method name to wrap.
|
|
32
|
+
* @param {number} bitmask The bitmask flags.
|
|
33
|
+
* 1 - `_.bind`
|
|
34
|
+
* 2 - `_.bindKey`
|
|
35
|
+
* 4 - `_.curry` or `_.curryRight` of a bound function
|
|
36
|
+
* 8 - `_.curry`
|
|
37
|
+
* 16 - `_.curryRight`
|
|
38
|
+
* 32 - `_.partial`
|
|
39
|
+
* 64 - `_.partialRight`
|
|
40
|
+
* 128 - `_.rearg`
|
|
41
|
+
* 256 - `_.ary`
|
|
42
|
+
* 512 - `_.flip`
|
|
43
|
+
* @param {*} [thisArg] The `this` binding of `func`.
|
|
44
|
+
* @param {Array} [partials] The arguments to be partially applied.
|
|
45
|
+
* @param {Array} [holders] The `partials` placeholder indexes.
|
|
46
|
+
* @param {Array} [argPos] The argument positions of the new function.
|
|
47
|
+
* @param {number} [ary] The arity cap of `func`.
|
|
48
|
+
* @param {number} [arity] The arity of `func`.
|
|
49
|
+
* @returns {Function} Returns the new wrapped function.
|
|
50
|
+
*/
|
|
51
|
+
function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) {
|
|
52
|
+
var isBindKey = bitmask & WRAP_BIND_KEY_FLAG;
|
|
53
|
+
if (!isBindKey && typeof func != 'function') {
|
|
54
|
+
throw new TypeError(FUNC_ERROR_TEXT);
|
|
55
|
+
}
|
|
56
|
+
var length = partials ? partials.length : 0;
|
|
57
|
+
if (!length) {
|
|
58
|
+
bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG);
|
|
59
|
+
partials = holders = undefined;
|
|
60
|
+
}
|
|
61
|
+
ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0);
|
|
62
|
+
arity = arity === undefined ? arity : toInteger(arity);
|
|
63
|
+
length -= holders ? holders.length : 0;
|
|
64
|
+
|
|
65
|
+
if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) {
|
|
66
|
+
var partialsRight = partials,
|
|
67
|
+
holdersRight = holders;
|
|
68
|
+
|
|
69
|
+
partials = holders = undefined;
|
|
70
|
+
}
|
|
71
|
+
var data = isBindKey ? undefined : getData(func);
|
|
72
|
+
|
|
73
|
+
var newData = [
|
|
74
|
+
func, bitmask, thisArg, partials, holders, partialsRight, holdersRight,
|
|
75
|
+
argPos, ary, arity
|
|
76
|
+
];
|
|
77
|
+
|
|
78
|
+
if (data) {
|
|
79
|
+
mergeData(newData, data);
|
|
80
|
+
}
|
|
81
|
+
func = newData[0];
|
|
82
|
+
bitmask = newData[1];
|
|
83
|
+
thisArg = newData[2];
|
|
84
|
+
partials = newData[3];
|
|
85
|
+
holders = newData[4];
|
|
86
|
+
arity = newData[9] = newData[9] === undefined
|
|
87
|
+
? (isBindKey ? 0 : func.length)
|
|
88
|
+
: nativeMax(newData[9] - length, 0);
|
|
89
|
+
|
|
90
|
+
if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) {
|
|
91
|
+
bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG);
|
|
92
|
+
}
|
|
93
|
+
if (!bitmask || bitmask == WRAP_BIND_FLAG) {
|
|
94
|
+
var result = createBind(func, bitmask, thisArg);
|
|
95
|
+
} else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) {
|
|
96
|
+
result = createCurry(func, bitmask, arity);
|
|
97
|
+
} else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) {
|
|
98
|
+
result = createPartial(func, bitmask, thisArg, partials);
|
|
99
|
+
} else {
|
|
100
|
+
result = createHybrid.apply(undefined, newData);
|
|
101
|
+
}
|
|
102
|
+
var setter = data ? baseSetData : setData;
|
|
103
|
+
return setWrapToString(setter(result, newData), func, bitmask);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
module.exports = createWrap;
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
var eq = require('./eq');
|
|
2
|
-
|
|
3
|
-
/** Used for built-in method references. */
|
|
4
|
-
var objectProto = Object.prototype;
|
|
5
|
-
|
|
6
|
-
/** Used to check objects for own properties. */
|
|
7
|
-
var hasOwnProperty = objectProto.hasOwnProperty;
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Used by `_.defaults` to customize its `_.assignIn` use to assign properties
|
|
11
|
-
* of source objects to the destination object for all destination properties
|
|
12
|
-
* that resolve to `undefined`.
|
|
13
|
-
*
|
|
14
|
-
* @private
|
|
15
|
-
* @param {*} objValue The destination value.
|
|
16
|
-
* @param {*} srcValue The source value.
|
|
17
|
-
* @param {string} key The key of the property to assign.
|
|
18
|
-
* @param {Object} object The parent object of `objValue`.
|
|
19
|
-
* @returns {*} Returns the value to assign.
|
|
20
|
-
*/
|
|
21
|
-
function customDefaultsAssignIn(objValue, srcValue, key, object) {
|
|
22
|
-
if (objValue === undefined ||
|
|
23
|
-
(eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) {
|
|
24
|
-
return srcValue;
|
|
25
|
-
}
|
|
26
|
-
return objValue;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
module.exports = customDefaultsAssignIn;
|
|
1
|
+
var eq = require('./eq');
|
|
2
|
+
|
|
3
|
+
/** Used for built-in method references. */
|
|
4
|
+
var objectProto = Object.prototype;
|
|
5
|
+
|
|
6
|
+
/** Used to check objects for own properties. */
|
|
7
|
+
var hasOwnProperty = objectProto.hasOwnProperty;
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Used by `_.defaults` to customize its `_.assignIn` use to assign properties
|
|
11
|
+
* of source objects to the destination object for all destination properties
|
|
12
|
+
* that resolve to `undefined`.
|
|
13
|
+
*
|
|
14
|
+
* @private
|
|
15
|
+
* @param {*} objValue The destination value.
|
|
16
|
+
* @param {*} srcValue The source value.
|
|
17
|
+
* @param {string} key The key of the property to assign.
|
|
18
|
+
* @param {Object} object The parent object of `objValue`.
|
|
19
|
+
* @returns {*} Returns the value to assign.
|
|
20
|
+
*/
|
|
21
|
+
function customDefaultsAssignIn(objValue, srcValue, key, object) {
|
|
22
|
+
if (objValue === undefined ||
|
|
23
|
+
(eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) {
|
|
24
|
+
return srcValue;
|
|
25
|
+
}
|
|
26
|
+
return objValue;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
module.exports = customDefaultsAssignIn;
|