@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/_createWrap.js
ADDED
|
@@ -0,0 +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;
|
|
@@ -0,0 +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;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
var baseMerge = require('./_baseMerge'),
|
|
2
|
+
isObject = require('./isObject');
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Used by `_.defaultsDeep` to customize its `_.merge` use to merge source
|
|
6
|
+
* objects into destination objects that are passed thru.
|
|
7
|
+
*
|
|
8
|
+
* @private
|
|
9
|
+
* @param {*} objValue The destination value.
|
|
10
|
+
* @param {*} srcValue The source value.
|
|
11
|
+
* @param {string} key The key of the property to merge.
|
|
12
|
+
* @param {Object} object The parent object of `objValue`.
|
|
13
|
+
* @param {Object} source The parent object of `srcValue`.
|
|
14
|
+
* @param {Object} [stack] Tracks traversed source values and their merged
|
|
15
|
+
* counterparts.
|
|
16
|
+
* @returns {*} Returns the value to assign.
|
|
17
|
+
*/
|
|
18
|
+
function customDefaultsMerge(objValue, srcValue, key, object, source, stack) {
|
|
19
|
+
if (isObject(objValue) && isObject(srcValue)) {
|
|
20
|
+
// Recursively merge objects and arrays (susceptible to call stack limits).
|
|
21
|
+
stack.set(srcValue, objValue);
|
|
22
|
+
baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack);
|
|
23
|
+
stack['delete'](srcValue);
|
|
24
|
+
}
|
|
25
|
+
return objValue;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
module.exports = customDefaultsMerge;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
var isPlainObject = require('./isPlainObject');
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain
|
|
5
|
+
* objects.
|
|
6
|
+
*
|
|
7
|
+
* @private
|
|
8
|
+
* @param {*} value The value to inspect.
|
|
9
|
+
* @param {string} key The key of the property to inspect.
|
|
10
|
+
* @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`.
|
|
11
|
+
*/
|
|
12
|
+
function customOmitClone(value) {
|
|
13
|
+
return isPlainObject(value) ? undefined : value;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
module.exports = customOmitClone;
|
package/_deburrLetter.js
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
var basePropertyOf = require('./_basePropertyOf');
|
|
2
|
+
|
|
3
|
+
/** Used to map Latin Unicode letters to basic Latin letters. */
|
|
4
|
+
var deburredLetters = {
|
|
5
|
+
// Latin-1 Supplement block.
|
|
6
|
+
'\xc0': 'A', '\xc1': 'A', '\xc2': 'A', '\xc3': 'A', '\xc4': 'A', '\xc5': 'A',
|
|
7
|
+
'\xe0': 'a', '\xe1': 'a', '\xe2': 'a', '\xe3': 'a', '\xe4': 'a', '\xe5': 'a',
|
|
8
|
+
'\xc7': 'C', '\xe7': 'c',
|
|
9
|
+
'\xd0': 'D', '\xf0': 'd',
|
|
10
|
+
'\xc8': 'E', '\xc9': 'E', '\xca': 'E', '\xcb': 'E',
|
|
11
|
+
'\xe8': 'e', '\xe9': 'e', '\xea': 'e', '\xeb': 'e',
|
|
12
|
+
'\xcc': 'I', '\xcd': 'I', '\xce': 'I', '\xcf': 'I',
|
|
13
|
+
'\xec': 'i', '\xed': 'i', '\xee': 'i', '\xef': 'i',
|
|
14
|
+
'\xd1': 'N', '\xf1': 'n',
|
|
15
|
+
'\xd2': 'O', '\xd3': 'O', '\xd4': 'O', '\xd5': 'O', '\xd6': 'O', '\xd8': 'O',
|
|
16
|
+
'\xf2': 'o', '\xf3': 'o', '\xf4': 'o', '\xf5': 'o', '\xf6': 'o', '\xf8': 'o',
|
|
17
|
+
'\xd9': 'U', '\xda': 'U', '\xdb': 'U', '\xdc': 'U',
|
|
18
|
+
'\xf9': 'u', '\xfa': 'u', '\xfb': 'u', '\xfc': 'u',
|
|
19
|
+
'\xdd': 'Y', '\xfd': 'y', '\xff': 'y',
|
|
20
|
+
'\xc6': 'Ae', '\xe6': 'ae',
|
|
21
|
+
'\xde': 'Th', '\xfe': 'th',
|
|
22
|
+
'\xdf': 'ss',
|
|
23
|
+
// Latin Extended-A block.
|
|
24
|
+
'\u0100': 'A', '\u0102': 'A', '\u0104': 'A',
|
|
25
|
+
'\u0101': 'a', '\u0103': 'a', '\u0105': 'a',
|
|
26
|
+
'\u0106': 'C', '\u0108': 'C', '\u010a': 'C', '\u010c': 'C',
|
|
27
|
+
'\u0107': 'c', '\u0109': 'c', '\u010b': 'c', '\u010d': 'c',
|
|
28
|
+
'\u010e': 'D', '\u0110': 'D', '\u010f': 'd', '\u0111': 'd',
|
|
29
|
+
'\u0112': 'E', '\u0114': 'E', '\u0116': 'E', '\u0118': 'E', '\u011a': 'E',
|
|
30
|
+
'\u0113': 'e', '\u0115': 'e', '\u0117': 'e', '\u0119': 'e', '\u011b': 'e',
|
|
31
|
+
'\u011c': 'G', '\u011e': 'G', '\u0120': 'G', '\u0122': 'G',
|
|
32
|
+
'\u011d': 'g', '\u011f': 'g', '\u0121': 'g', '\u0123': 'g',
|
|
33
|
+
'\u0124': 'H', '\u0126': 'H', '\u0125': 'h', '\u0127': 'h',
|
|
34
|
+
'\u0128': 'I', '\u012a': 'I', '\u012c': 'I', '\u012e': 'I', '\u0130': 'I',
|
|
35
|
+
'\u0129': 'i', '\u012b': 'i', '\u012d': 'i', '\u012f': 'i', '\u0131': 'i',
|
|
36
|
+
'\u0134': 'J', '\u0135': 'j',
|
|
37
|
+
'\u0136': 'K', '\u0137': 'k', '\u0138': 'k',
|
|
38
|
+
'\u0139': 'L', '\u013b': 'L', '\u013d': 'L', '\u013f': 'L', '\u0141': 'L',
|
|
39
|
+
'\u013a': 'l', '\u013c': 'l', '\u013e': 'l', '\u0140': 'l', '\u0142': 'l',
|
|
40
|
+
'\u0143': 'N', '\u0145': 'N', '\u0147': 'N', '\u014a': 'N',
|
|
41
|
+
'\u0144': 'n', '\u0146': 'n', '\u0148': 'n', '\u014b': 'n',
|
|
42
|
+
'\u014c': 'O', '\u014e': 'O', '\u0150': 'O',
|
|
43
|
+
'\u014d': 'o', '\u014f': 'o', '\u0151': 'o',
|
|
44
|
+
'\u0154': 'R', '\u0156': 'R', '\u0158': 'R',
|
|
45
|
+
'\u0155': 'r', '\u0157': 'r', '\u0159': 'r',
|
|
46
|
+
'\u015a': 'S', '\u015c': 'S', '\u015e': 'S', '\u0160': 'S',
|
|
47
|
+
'\u015b': 's', '\u015d': 's', '\u015f': 's', '\u0161': 's',
|
|
48
|
+
'\u0162': 'T', '\u0164': 'T', '\u0166': 'T',
|
|
49
|
+
'\u0163': 't', '\u0165': 't', '\u0167': 't',
|
|
50
|
+
'\u0168': 'U', '\u016a': 'U', '\u016c': 'U', '\u016e': 'U', '\u0170': 'U', '\u0172': 'U',
|
|
51
|
+
'\u0169': 'u', '\u016b': 'u', '\u016d': 'u', '\u016f': 'u', '\u0171': 'u', '\u0173': 'u',
|
|
52
|
+
'\u0174': 'W', '\u0175': 'w',
|
|
53
|
+
'\u0176': 'Y', '\u0177': 'y', '\u0178': 'Y',
|
|
54
|
+
'\u0179': 'Z', '\u017b': 'Z', '\u017d': 'Z',
|
|
55
|
+
'\u017a': 'z', '\u017c': 'z', '\u017e': 'z',
|
|
56
|
+
'\u0132': 'IJ', '\u0133': 'ij',
|
|
57
|
+
'\u0152': 'Oe', '\u0153': 'oe',
|
|
58
|
+
'\u0149': "'n", '\u017f': 's'
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A
|
|
63
|
+
* letters to basic Latin letters.
|
|
64
|
+
*
|
|
65
|
+
* @private
|
|
66
|
+
* @param {string} letter The matched letter to deburr.
|
|
67
|
+
* @returns {string} Returns the deburred letter.
|
|
68
|
+
*/
|
|
69
|
+
var deburrLetter = basePropertyOf(deburredLetters);
|
|
70
|
+
|
|
71
|
+
module.exports = deburrLetter;
|
package/_equalArrays.js
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
var SetCache = require('./_SetCache'),
|
|
2
|
+
arraySome = require('./_arraySome'),
|
|
3
|
+
cacheHas = require('./_cacheHas');
|
|
4
|
+
|
|
5
|
+
/** Used to compose bitmasks for value comparisons. */
|
|
6
|
+
var COMPARE_PARTIAL_FLAG = 1,
|
|
7
|
+
COMPARE_UNORDERED_FLAG = 2;
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* A specialized version of `baseIsEqualDeep` for arrays with support for
|
|
11
|
+
* partial deep comparisons.
|
|
12
|
+
*
|
|
13
|
+
* @private
|
|
14
|
+
* @param {Array} array The array to compare.
|
|
15
|
+
* @param {Array} other The other array to compare.
|
|
16
|
+
* @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
|
|
17
|
+
* @param {Function} customizer The function to customize comparisons.
|
|
18
|
+
* @param {Function} equalFunc The function to determine equivalents of values.
|
|
19
|
+
* @param {Object} stack Tracks traversed `array` and `other` objects.
|
|
20
|
+
* @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.
|
|
21
|
+
*/
|
|
22
|
+
function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
|
|
23
|
+
var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
|
|
24
|
+
arrLength = array.length,
|
|
25
|
+
othLength = other.length;
|
|
26
|
+
|
|
27
|
+
if (arrLength != othLength && !(isPartial && othLength > arrLength)) {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
// Check that cyclic values are equal.
|
|
31
|
+
var arrStacked = stack.get(array);
|
|
32
|
+
var othStacked = stack.get(other);
|
|
33
|
+
if (arrStacked && othStacked) {
|
|
34
|
+
return arrStacked == other && othStacked == array;
|
|
35
|
+
}
|
|
36
|
+
var index = -1,
|
|
37
|
+
result = true,
|
|
38
|
+
seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;
|
|
39
|
+
|
|
40
|
+
stack.set(array, other);
|
|
41
|
+
stack.set(other, array);
|
|
42
|
+
|
|
43
|
+
// Ignore non-index properties.
|
|
44
|
+
while (++index < arrLength) {
|
|
45
|
+
var arrValue = array[index],
|
|
46
|
+
othValue = other[index];
|
|
47
|
+
|
|
48
|
+
if (customizer) {
|
|
49
|
+
var compared = isPartial
|
|
50
|
+
? customizer(othValue, arrValue, index, other, array, stack)
|
|
51
|
+
: customizer(arrValue, othValue, index, array, other, stack);
|
|
52
|
+
}
|
|
53
|
+
if (compared !== undefined) {
|
|
54
|
+
if (compared) {
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
result = false;
|
|
58
|
+
break;
|
|
59
|
+
}
|
|
60
|
+
// Recursively compare arrays (susceptible to call stack limits).
|
|
61
|
+
if (seen) {
|
|
62
|
+
if (!arraySome(other, function(othValue, othIndex) {
|
|
63
|
+
if (!cacheHas(seen, othIndex) &&
|
|
64
|
+
(arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
|
|
65
|
+
return seen.push(othIndex);
|
|
66
|
+
}
|
|
67
|
+
})) {
|
|
68
|
+
result = false;
|
|
69
|
+
break;
|
|
70
|
+
}
|
|
71
|
+
} else if (!(
|
|
72
|
+
arrValue === othValue ||
|
|
73
|
+
equalFunc(arrValue, othValue, bitmask, customizer, stack)
|
|
74
|
+
)) {
|
|
75
|
+
result = false;
|
|
76
|
+
break;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
stack['delete'](array);
|
|
80
|
+
stack['delete'](other);
|
|
81
|
+
return result;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
module.exports = equalArrays;
|
package/_equalByTag.js
ADDED
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
var Symbol = require('./_Symbol'),
|
|
2
|
+
Uint8Array = require('./_Uint8Array'),
|
|
3
|
+
eq = require('./eq'),
|
|
4
|
+
equalArrays = require('./_equalArrays'),
|
|
5
|
+
mapToArray = require('./_mapToArray'),
|
|
6
|
+
setToArray = require('./_setToArray');
|
|
7
|
+
|
|
8
|
+
/** Used to compose bitmasks for value comparisons. */
|
|
9
|
+
var COMPARE_PARTIAL_FLAG = 1,
|
|
10
|
+
COMPARE_UNORDERED_FLAG = 2;
|
|
11
|
+
|
|
12
|
+
/** `Object#toString` result references. */
|
|
13
|
+
var boolTag = '[object Boolean]',
|
|
14
|
+
dateTag = '[object Date]',
|
|
15
|
+
errorTag = '[object Error]',
|
|
16
|
+
mapTag = '[object Map]',
|
|
17
|
+
numberTag = '[object Number]',
|
|
18
|
+
regexpTag = '[object RegExp]',
|
|
19
|
+
setTag = '[object Set]',
|
|
20
|
+
stringTag = '[object String]',
|
|
21
|
+
symbolTag = '[object Symbol]';
|
|
22
|
+
|
|
23
|
+
var arrayBufferTag = '[object ArrayBuffer]',
|
|
24
|
+
dataViewTag = '[object DataView]';
|
|
25
|
+
|
|
26
|
+
/** Used to convert symbols to primitives and strings. */
|
|
27
|
+
var symbolProto = Symbol ? Symbol.prototype : undefined,
|
|
28
|
+
symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* A specialized version of `baseIsEqualDeep` for comparing objects of
|
|
32
|
+
* the same `toStringTag`.
|
|
33
|
+
*
|
|
34
|
+
* **Note:** This function only supports comparing values with tags of
|
|
35
|
+
* `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.
|
|
36
|
+
*
|
|
37
|
+
* @private
|
|
38
|
+
* @param {Object} object The object to compare.
|
|
39
|
+
* @param {Object} other The other object to compare.
|
|
40
|
+
* @param {string} tag The `toStringTag` of the objects to compare.
|
|
41
|
+
* @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
|
|
42
|
+
* @param {Function} customizer The function to customize comparisons.
|
|
43
|
+
* @param {Function} equalFunc The function to determine equivalents of values.
|
|
44
|
+
* @param {Object} stack Tracks traversed `object` and `other` objects.
|
|
45
|
+
* @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
|
|
46
|
+
*/
|
|
47
|
+
function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {
|
|
48
|
+
switch (tag) {
|
|
49
|
+
case dataViewTag:
|
|
50
|
+
if ((object.byteLength != other.byteLength) ||
|
|
51
|
+
(object.byteOffset != other.byteOffset)) {
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
object = object.buffer;
|
|
55
|
+
other = other.buffer;
|
|
56
|
+
|
|
57
|
+
case arrayBufferTag:
|
|
58
|
+
if ((object.byteLength != other.byteLength) ||
|
|
59
|
+
!equalFunc(new Uint8Array(object), new Uint8Array(other))) {
|
|
60
|
+
return false;
|
|
61
|
+
}
|
|
62
|
+
return true;
|
|
63
|
+
|
|
64
|
+
case boolTag:
|
|
65
|
+
case dateTag:
|
|
66
|
+
case numberTag:
|
|
67
|
+
// Coerce booleans to `1` or `0` and dates to milliseconds.
|
|
68
|
+
// Invalid dates are coerced to `NaN`.
|
|
69
|
+
return eq(+object, +other);
|
|
70
|
+
|
|
71
|
+
case errorTag:
|
|
72
|
+
return object.name == other.name && object.message == other.message;
|
|
73
|
+
|
|
74
|
+
case regexpTag:
|
|
75
|
+
case stringTag:
|
|
76
|
+
// Coerce regexes to strings and treat strings, primitives and objects,
|
|
77
|
+
// as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring
|
|
78
|
+
// for more details.
|
|
79
|
+
return object == (other + '');
|
|
80
|
+
|
|
81
|
+
case mapTag:
|
|
82
|
+
var convert = mapToArray;
|
|
83
|
+
|
|
84
|
+
case setTag:
|
|
85
|
+
var isPartial = bitmask & COMPARE_PARTIAL_FLAG;
|
|
86
|
+
convert || (convert = setToArray);
|
|
87
|
+
|
|
88
|
+
if (object.size != other.size && !isPartial) {
|
|
89
|
+
return false;
|
|
90
|
+
}
|
|
91
|
+
// Assume cyclic values are equal.
|
|
92
|
+
var stacked = stack.get(object);
|
|
93
|
+
if (stacked) {
|
|
94
|
+
return stacked == other;
|
|
95
|
+
}
|
|
96
|
+
bitmask |= COMPARE_UNORDERED_FLAG;
|
|
97
|
+
|
|
98
|
+
// Recursively compare objects (susceptible to call stack limits).
|
|
99
|
+
stack.set(object, other);
|
|
100
|
+
var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);
|
|
101
|
+
stack['delete'](object);
|
|
102
|
+
return result;
|
|
103
|
+
|
|
104
|
+
case symbolTag:
|
|
105
|
+
if (symbolValueOf) {
|
|
106
|
+
return symbolValueOf.call(object) == symbolValueOf.call(other);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return false;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
module.exports = equalByTag;
|
package/_equalObjects.js
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
var getAllKeys = require('./_getAllKeys');
|
|
2
|
+
|
|
3
|
+
/** Used to compose bitmasks for value comparisons. */
|
|
4
|
+
var COMPARE_PARTIAL_FLAG = 1;
|
|
5
|
+
|
|
6
|
+
/** Used for built-in method references. */
|
|
7
|
+
var objectProto = Object.prototype;
|
|
8
|
+
|
|
9
|
+
/** Used to check objects for own properties. */
|
|
10
|
+
var hasOwnProperty = objectProto.hasOwnProperty;
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* A specialized version of `baseIsEqualDeep` for objects with support for
|
|
14
|
+
* partial deep comparisons.
|
|
15
|
+
*
|
|
16
|
+
* @private
|
|
17
|
+
* @param {Object} object The object to compare.
|
|
18
|
+
* @param {Object} other The other object to compare.
|
|
19
|
+
* @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
|
|
20
|
+
* @param {Function} customizer The function to customize comparisons.
|
|
21
|
+
* @param {Function} equalFunc The function to determine equivalents of values.
|
|
22
|
+
* @param {Object} stack Tracks traversed `object` and `other` objects.
|
|
23
|
+
* @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
|
|
24
|
+
*/
|
|
25
|
+
function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
|
|
26
|
+
var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
|
|
27
|
+
objProps = getAllKeys(object),
|
|
28
|
+
objLength = objProps.length,
|
|
29
|
+
othProps = getAllKeys(other),
|
|
30
|
+
othLength = othProps.length;
|
|
31
|
+
|
|
32
|
+
if (objLength != othLength && !isPartial) {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
var index = objLength;
|
|
36
|
+
while (index--) {
|
|
37
|
+
var key = objProps[index];
|
|
38
|
+
if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
// Check that cyclic values are equal.
|
|
43
|
+
var objStacked = stack.get(object);
|
|
44
|
+
var othStacked = stack.get(other);
|
|
45
|
+
if (objStacked && othStacked) {
|
|
46
|
+
return objStacked == other && othStacked == object;
|
|
47
|
+
}
|
|
48
|
+
var result = true;
|
|
49
|
+
stack.set(object, other);
|
|
50
|
+
stack.set(other, object);
|
|
51
|
+
|
|
52
|
+
var skipCtor = isPartial;
|
|
53
|
+
while (++index < objLength) {
|
|
54
|
+
key = objProps[index];
|
|
55
|
+
var objValue = object[key],
|
|
56
|
+
othValue = other[key];
|
|
57
|
+
|
|
58
|
+
if (customizer) {
|
|
59
|
+
var compared = isPartial
|
|
60
|
+
? customizer(othValue, objValue, key, other, object, stack)
|
|
61
|
+
: customizer(objValue, othValue, key, object, other, stack);
|
|
62
|
+
}
|
|
63
|
+
// Recursively compare objects (susceptible to call stack limits).
|
|
64
|
+
if (!(compared === undefined
|
|
65
|
+
? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))
|
|
66
|
+
: compared
|
|
67
|
+
)) {
|
|
68
|
+
result = false;
|
|
69
|
+
break;
|
|
70
|
+
}
|
|
71
|
+
skipCtor || (skipCtor = key == 'constructor');
|
|
72
|
+
}
|
|
73
|
+
if (result && !skipCtor) {
|
|
74
|
+
var objCtor = object.constructor,
|
|
75
|
+
othCtor = other.constructor;
|
|
76
|
+
|
|
77
|
+
// Non `Object` object instances with different constructors are not equal.
|
|
78
|
+
if (objCtor != othCtor &&
|
|
79
|
+
('constructor' in object && 'constructor' in other) &&
|
|
80
|
+
!(typeof objCtor == 'function' && objCtor instanceof objCtor &&
|
|
81
|
+
typeof othCtor == 'function' && othCtor instanceof othCtor)) {
|
|
82
|
+
result = false;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
stack['delete'](object);
|
|
86
|
+
stack['delete'](other);
|
|
87
|
+
return result;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
module.exports = equalObjects;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
var basePropertyOf = require('./_basePropertyOf');
|
|
2
|
+
|
|
3
|
+
/** Used to map characters to HTML entities. */
|
|
4
|
+
var htmlEscapes = {
|
|
5
|
+
'&': '&',
|
|
6
|
+
'<': '<',
|
|
7
|
+
'>': '>',
|
|
8
|
+
'"': '"',
|
|
9
|
+
"'": '''
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Used by `_.escape` to convert characters to HTML entities.
|
|
14
|
+
*
|
|
15
|
+
* @private
|
|
16
|
+
* @param {string} chr The matched character to escape.
|
|
17
|
+
* @returns {string} Returns the escaped character.
|
|
18
|
+
*/
|
|
19
|
+
var escapeHtmlChar = basePropertyOf(htmlEscapes);
|
|
20
|
+
|
|
21
|
+
module.exports = escapeHtmlChar;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/** Used to escape characters for inclusion in compiled string literals. */
|
|
2
|
+
var stringEscapes = {
|
|
3
|
+
'\\': '\\',
|
|
4
|
+
"'": "'",
|
|
5
|
+
'\n': 'n',
|
|
6
|
+
'\r': 'r',
|
|
7
|
+
'\u2028': 'u2028',
|
|
8
|
+
'\u2029': 'u2029'
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Used by `_.template` to escape characters for inclusion in compiled string literals.
|
|
13
|
+
*
|
|
14
|
+
* @private
|
|
15
|
+
* @param {string} chr The matched character to escape.
|
|
16
|
+
* @returns {string} Returns the escaped character.
|
|
17
|
+
*/
|
|
18
|
+
function escapeStringChar(chr) {
|
|
19
|
+
return '\\' + stringEscapes[chr];
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
module.exports = escapeStringChar;
|
package/_flatRest.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
var flatten = require('./flatten'),
|
|
2
|
+
overRest = require('./_overRest'),
|
|
3
|
+
setToString = require('./_setToString');
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* A specialized version of `baseRest` which flattens the rest array.
|
|
7
|
+
*
|
|
8
|
+
* @private
|
|
9
|
+
* @param {Function} func The function to apply a rest parameter to.
|
|
10
|
+
* @returns {Function} Returns the new function.
|
|
11
|
+
*/
|
|
12
|
+
function flatRest(func) {
|
|
13
|
+
return setToString(overRest(func, undefined, flatten), func + '');
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
module.exports = flatRest;
|
package/_freeGlobal.js
ADDED
package/_getAllKeys.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
var baseGetAllKeys = require('./_baseGetAllKeys'),
|
|
2
|
+
getSymbols = require('./_getSymbols'),
|
|
3
|
+
keys = require('./keys');
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Creates an array of own enumerable property names and symbols of `object`.
|
|
7
|
+
*
|
|
8
|
+
* @private
|
|
9
|
+
* @param {Object} object The object to query.
|
|
10
|
+
* @returns {Array} Returns the array of property names and symbols.
|
|
11
|
+
*/
|
|
12
|
+
function getAllKeys(object) {
|
|
13
|
+
return baseGetAllKeys(object, keys, getSymbols);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
module.exports = getAllKeys;
|
package/_getAllKeysIn.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
var baseGetAllKeys = require('./_baseGetAllKeys'),
|
|
2
|
+
getSymbolsIn = require('./_getSymbolsIn'),
|
|
3
|
+
keysIn = require('./keysIn');
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Creates an array of own and inherited enumerable property names and
|
|
7
|
+
* symbols of `object`.
|
|
8
|
+
*
|
|
9
|
+
* @private
|
|
10
|
+
* @param {Object} object The object to query.
|
|
11
|
+
* @returns {Array} Returns the array of property names and symbols.
|
|
12
|
+
*/
|
|
13
|
+
function getAllKeysIn(object) {
|
|
14
|
+
return baseGetAllKeys(object, keysIn, getSymbolsIn);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
module.exports = getAllKeysIn;
|
package/_getData.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
var metaMap = require('./_metaMap'),
|
|
2
|
+
noop = require('./noop');
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Gets metadata for `func`.
|
|
6
|
+
*
|
|
7
|
+
* @private
|
|
8
|
+
* @param {Function} func The function to query.
|
|
9
|
+
* @returns {*} Returns the metadata for `func`.
|
|
10
|
+
*/
|
|
11
|
+
var getData = !metaMap ? noop : function(func) {
|
|
12
|
+
return metaMap.get(func);
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
module.exports = getData;
|