@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
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
var baseIndexOf = require('./_baseIndexOf');
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol
|
|
5
|
+
* that is not found in the character symbols.
|
|
6
|
+
*
|
|
7
|
+
* @private
|
|
8
|
+
* @param {Array} strSymbols The string symbols to inspect.
|
|
9
|
+
* @param {Array} chrSymbols The character symbols to find.
|
|
10
|
+
* @returns {number} Returns the index of the last unmatched string symbol.
|
|
11
|
+
*/
|
|
12
|
+
function charsEndIndex(strSymbols, chrSymbols) {
|
|
13
|
+
var index = strSymbols.length;
|
|
14
|
+
|
|
15
|
+
while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}
|
|
16
|
+
return index;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
module.exports = charsEndIndex;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
var baseIndexOf = require('./_baseIndexOf');
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Used by `_.trim` and `_.trimStart` to get the index of the first string symbol
|
|
5
|
+
* that is not found in the character symbols.
|
|
6
|
+
*
|
|
7
|
+
* @private
|
|
8
|
+
* @param {Array} strSymbols The string symbols to inspect.
|
|
9
|
+
* @param {Array} chrSymbols The character symbols to find.
|
|
10
|
+
* @returns {number} Returns the index of the first unmatched string symbol.
|
|
11
|
+
*/
|
|
12
|
+
function charsStartIndex(strSymbols, chrSymbols) {
|
|
13
|
+
var index = -1,
|
|
14
|
+
length = strSymbols.length;
|
|
15
|
+
|
|
16
|
+
while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}
|
|
17
|
+
return index;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
module.exports = charsStartIndex;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
var Uint8Array = require('./_Uint8Array');
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Creates a clone of `arrayBuffer`.
|
|
5
|
+
*
|
|
6
|
+
* @private
|
|
7
|
+
* @param {ArrayBuffer} arrayBuffer The array buffer to clone.
|
|
8
|
+
* @returns {ArrayBuffer} Returns the cloned array buffer.
|
|
9
|
+
*/
|
|
10
|
+
function cloneArrayBuffer(arrayBuffer) {
|
|
11
|
+
var result = new arrayBuffer.constructor(arrayBuffer.byteLength);
|
|
12
|
+
new Uint8Array(result).set(new Uint8Array(arrayBuffer));
|
|
13
|
+
return result;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
module.exports = cloneArrayBuffer;
|
package/_cloneBuffer.js
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
var root = require('./_root');
|
|
2
|
+
|
|
3
|
+
/** Detect free variable `exports`. */
|
|
4
|
+
var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;
|
|
5
|
+
|
|
6
|
+
/** Detect free variable `module`. */
|
|
7
|
+
var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;
|
|
8
|
+
|
|
9
|
+
/** Detect the popular CommonJS extension `module.exports`. */
|
|
10
|
+
var moduleExports = freeModule && freeModule.exports === freeExports;
|
|
11
|
+
|
|
12
|
+
/** Built-in value references. */
|
|
13
|
+
var Buffer = moduleExports ? root.Buffer : undefined,
|
|
14
|
+
allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Creates a clone of `buffer`.
|
|
18
|
+
*
|
|
19
|
+
* @private
|
|
20
|
+
* @param {Buffer} buffer The buffer to clone.
|
|
21
|
+
* @param {boolean} [isDeep] Specify a deep clone.
|
|
22
|
+
* @returns {Buffer} Returns the cloned buffer.
|
|
23
|
+
*/
|
|
24
|
+
function cloneBuffer(buffer, isDeep) {
|
|
25
|
+
if (isDeep) {
|
|
26
|
+
return buffer.slice();
|
|
27
|
+
}
|
|
28
|
+
var length = buffer.length,
|
|
29
|
+
result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);
|
|
30
|
+
|
|
31
|
+
buffer.copy(result);
|
|
32
|
+
return result;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
module.exports = cloneBuffer;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
var cloneArrayBuffer = require('./_cloneArrayBuffer');
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Creates a clone of `dataView`.
|
|
5
|
+
*
|
|
6
|
+
* @private
|
|
7
|
+
* @param {Object} dataView The data view to clone.
|
|
8
|
+
* @param {boolean} [isDeep] Specify a deep clone.
|
|
9
|
+
* @returns {Object} Returns the cloned data view.
|
|
10
|
+
*/
|
|
11
|
+
function cloneDataView(dataView, isDeep) {
|
|
12
|
+
var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;
|
|
13
|
+
return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
module.exports = cloneDataView;
|
package/_cloneRegExp.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/** Used to match `RegExp` flags from their coerced string values. */
|
|
2
|
+
var reFlags = /\w*$/;
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Creates a clone of `regexp`.
|
|
6
|
+
*
|
|
7
|
+
* @private
|
|
8
|
+
* @param {Object} regexp The regexp to clone.
|
|
9
|
+
* @returns {Object} Returns the cloned regexp.
|
|
10
|
+
*/
|
|
11
|
+
function cloneRegExp(regexp) {
|
|
12
|
+
var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));
|
|
13
|
+
result.lastIndex = regexp.lastIndex;
|
|
14
|
+
return result;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
module.exports = cloneRegExp;
|
package/_cloneSymbol.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
var Symbol = require('./_Symbol');
|
|
2
|
+
|
|
3
|
+
/** Used to convert symbols to primitives and strings. */
|
|
4
|
+
var symbolProto = Symbol ? Symbol.prototype : undefined,
|
|
5
|
+
symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Creates a clone of the `symbol` object.
|
|
9
|
+
*
|
|
10
|
+
* @private
|
|
11
|
+
* @param {Object} symbol The symbol object to clone.
|
|
12
|
+
* @returns {Object} Returns the cloned symbol object.
|
|
13
|
+
*/
|
|
14
|
+
function cloneSymbol(symbol) {
|
|
15
|
+
return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
module.exports = cloneSymbol;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
var cloneArrayBuffer = require('./_cloneArrayBuffer');
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Creates a clone of `typedArray`.
|
|
5
|
+
*
|
|
6
|
+
* @private
|
|
7
|
+
* @param {Object} typedArray The typed array to clone.
|
|
8
|
+
* @param {boolean} [isDeep] Specify a deep clone.
|
|
9
|
+
* @returns {Object} Returns the cloned typed array.
|
|
10
|
+
*/
|
|
11
|
+
function cloneTypedArray(typedArray, isDeep) {
|
|
12
|
+
var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;
|
|
13
|
+
return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
module.exports = cloneTypedArray;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
var isSymbol = require('./isSymbol');
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Compares values to sort them in ascending order.
|
|
5
|
+
*
|
|
6
|
+
* @private
|
|
7
|
+
* @param {*} value The value to compare.
|
|
8
|
+
* @param {*} other The other value to compare.
|
|
9
|
+
* @returns {number} Returns the sort order indicator for `value`.
|
|
10
|
+
*/
|
|
11
|
+
function compareAscending(value, other) {
|
|
12
|
+
if (value !== other) {
|
|
13
|
+
var valIsDefined = value !== undefined,
|
|
14
|
+
valIsNull = value === null,
|
|
15
|
+
valIsReflexive = value === value,
|
|
16
|
+
valIsSymbol = isSymbol(value);
|
|
17
|
+
|
|
18
|
+
var othIsDefined = other !== undefined,
|
|
19
|
+
othIsNull = other === null,
|
|
20
|
+
othIsReflexive = other === other,
|
|
21
|
+
othIsSymbol = isSymbol(other);
|
|
22
|
+
|
|
23
|
+
if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||
|
|
24
|
+
(valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||
|
|
25
|
+
(valIsNull && othIsDefined && othIsReflexive) ||
|
|
26
|
+
(!valIsDefined && othIsReflexive) ||
|
|
27
|
+
!valIsReflexive) {
|
|
28
|
+
return 1;
|
|
29
|
+
}
|
|
30
|
+
if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||
|
|
31
|
+
(othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||
|
|
32
|
+
(othIsNull && valIsDefined && valIsReflexive) ||
|
|
33
|
+
(!othIsDefined && valIsReflexive) ||
|
|
34
|
+
!othIsReflexive) {
|
|
35
|
+
return -1;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return 0;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
module.exports = compareAscending;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
var compareAscending = require('./_compareAscending');
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Used by `_.orderBy` to compare multiple properties of a value to another
|
|
5
|
+
* and stable sort them.
|
|
6
|
+
*
|
|
7
|
+
* If `orders` is unspecified, all values are sorted in ascending order. Otherwise,
|
|
8
|
+
* specify an order of "desc" for descending or "asc" for ascending sort order
|
|
9
|
+
* of corresponding values.
|
|
10
|
+
*
|
|
11
|
+
* @private
|
|
12
|
+
* @param {Object} object The object to compare.
|
|
13
|
+
* @param {Object} other The other object to compare.
|
|
14
|
+
* @param {boolean[]|string[]} orders The order to sort by for each property.
|
|
15
|
+
* @returns {number} Returns the sort order indicator for `object`.
|
|
16
|
+
*/
|
|
17
|
+
function compareMultiple(object, other, orders) {
|
|
18
|
+
var index = -1,
|
|
19
|
+
objCriteria = object.criteria,
|
|
20
|
+
othCriteria = other.criteria,
|
|
21
|
+
length = objCriteria.length,
|
|
22
|
+
ordersLength = orders.length;
|
|
23
|
+
|
|
24
|
+
while (++index < length) {
|
|
25
|
+
var result = compareAscending(objCriteria[index], othCriteria[index]);
|
|
26
|
+
if (result) {
|
|
27
|
+
if (index >= ordersLength) {
|
|
28
|
+
return result;
|
|
29
|
+
}
|
|
30
|
+
var order = orders[index];
|
|
31
|
+
return result * (order == 'desc' ? -1 : 1);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
// Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications
|
|
35
|
+
// that causes it, under certain circumstances, to provide the same value for
|
|
36
|
+
// `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247
|
|
37
|
+
// for more details.
|
|
38
|
+
//
|
|
39
|
+
// This also ensures a stable sort in V8 and other engines.
|
|
40
|
+
// See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details.
|
|
41
|
+
return object.index - other.index;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
module.exports = compareMultiple;
|
package/_composeArgs.js
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/* Built-in method references for those with the same name as other `lodash` methods. */
|
|
2
|
+
var nativeMax = Math.max;
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Creates an array that is the composition of partially applied arguments,
|
|
6
|
+
* placeholders, and provided arguments into a single array of arguments.
|
|
7
|
+
*
|
|
8
|
+
* @private
|
|
9
|
+
* @param {Array} args The provided arguments.
|
|
10
|
+
* @param {Array} partials The arguments to prepend to those provided.
|
|
11
|
+
* @param {Array} holders The `partials` placeholder indexes.
|
|
12
|
+
* @params {boolean} [isCurried] Specify composing for a curried function.
|
|
13
|
+
* @returns {Array} Returns the new array of composed arguments.
|
|
14
|
+
*/
|
|
15
|
+
function composeArgs(args, partials, holders, isCurried) {
|
|
16
|
+
var argsIndex = -1,
|
|
17
|
+
argsLength = args.length,
|
|
18
|
+
holdersLength = holders.length,
|
|
19
|
+
leftIndex = -1,
|
|
20
|
+
leftLength = partials.length,
|
|
21
|
+
rangeLength = nativeMax(argsLength - holdersLength, 0),
|
|
22
|
+
result = Array(leftLength + rangeLength),
|
|
23
|
+
isUncurried = !isCurried;
|
|
24
|
+
|
|
25
|
+
while (++leftIndex < leftLength) {
|
|
26
|
+
result[leftIndex] = partials[leftIndex];
|
|
27
|
+
}
|
|
28
|
+
while (++argsIndex < holdersLength) {
|
|
29
|
+
if (isUncurried || argsIndex < argsLength) {
|
|
30
|
+
result[holders[argsIndex]] = args[argsIndex];
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
while (rangeLength--) {
|
|
34
|
+
result[leftIndex++] = args[argsIndex++];
|
|
35
|
+
}
|
|
36
|
+
return result;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
module.exports = composeArgs;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/* Built-in method references for those with the same name as other `lodash` methods. */
|
|
2
|
+
var nativeMax = Math.max;
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* This function is like `composeArgs` except that the arguments composition
|
|
6
|
+
* is tailored for `_.partialRight`.
|
|
7
|
+
*
|
|
8
|
+
* @private
|
|
9
|
+
* @param {Array} args The provided arguments.
|
|
10
|
+
* @param {Array} partials The arguments to append to those provided.
|
|
11
|
+
* @param {Array} holders The `partials` placeholder indexes.
|
|
12
|
+
* @params {boolean} [isCurried] Specify composing for a curried function.
|
|
13
|
+
* @returns {Array} Returns the new array of composed arguments.
|
|
14
|
+
*/
|
|
15
|
+
function composeArgsRight(args, partials, holders, isCurried) {
|
|
16
|
+
var argsIndex = -1,
|
|
17
|
+
argsLength = args.length,
|
|
18
|
+
holdersIndex = -1,
|
|
19
|
+
holdersLength = holders.length,
|
|
20
|
+
rightIndex = -1,
|
|
21
|
+
rightLength = partials.length,
|
|
22
|
+
rangeLength = nativeMax(argsLength - holdersLength, 0),
|
|
23
|
+
result = Array(rangeLength + rightLength),
|
|
24
|
+
isUncurried = !isCurried;
|
|
25
|
+
|
|
26
|
+
while (++argsIndex < rangeLength) {
|
|
27
|
+
result[argsIndex] = args[argsIndex];
|
|
28
|
+
}
|
|
29
|
+
var offset = argsIndex;
|
|
30
|
+
while (++rightIndex < rightLength) {
|
|
31
|
+
result[offset + rightIndex] = partials[rightIndex];
|
|
32
|
+
}
|
|
33
|
+
while (++holdersIndex < holdersLength) {
|
|
34
|
+
if (isUncurried || argsIndex < argsLength) {
|
|
35
|
+
result[offset + holders[holdersIndex]] = args[argsIndex++];
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return result;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
module.exports = composeArgsRight;
|
package/_copyArray.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copies the values of `source` to `array`.
|
|
3
|
+
*
|
|
4
|
+
* @private
|
|
5
|
+
* @param {Array} source The array to copy values from.
|
|
6
|
+
* @param {Array} [array=[]] The array to copy values to.
|
|
7
|
+
* @returns {Array} Returns `array`.
|
|
8
|
+
*/
|
|
9
|
+
function copyArray(source, array) {
|
|
10
|
+
var index = -1,
|
|
11
|
+
length = source.length;
|
|
12
|
+
|
|
13
|
+
array || (array = Array(length));
|
|
14
|
+
while (++index < length) {
|
|
15
|
+
array[index] = source[index];
|
|
16
|
+
}
|
|
17
|
+
return array;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
module.exports = copyArray;
|
package/_copyObject.js
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
var assignValue = require('./_assignValue'),
|
|
2
|
+
baseAssignValue = require('./_baseAssignValue');
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Copies properties of `source` to `object`.
|
|
6
|
+
*
|
|
7
|
+
* @private
|
|
8
|
+
* @param {Object} source The object to copy properties from.
|
|
9
|
+
* @param {Array} props The property identifiers to copy.
|
|
10
|
+
* @param {Object} [object={}] The object to copy properties to.
|
|
11
|
+
* @param {Function} [customizer] The function to customize copied values.
|
|
12
|
+
* @returns {Object} Returns `object`.
|
|
13
|
+
*/
|
|
14
|
+
function copyObject(source, props, object, customizer) {
|
|
15
|
+
var isNew = !object;
|
|
16
|
+
object || (object = {});
|
|
17
|
+
|
|
18
|
+
var index = -1,
|
|
19
|
+
length = props.length;
|
|
20
|
+
|
|
21
|
+
while (++index < length) {
|
|
22
|
+
var key = props[index];
|
|
23
|
+
|
|
24
|
+
var newValue = customizer
|
|
25
|
+
? customizer(object[key], source[key], key, object, source)
|
|
26
|
+
: undefined;
|
|
27
|
+
|
|
28
|
+
if (newValue === undefined) {
|
|
29
|
+
newValue = source[key];
|
|
30
|
+
}
|
|
31
|
+
if (isNew) {
|
|
32
|
+
baseAssignValue(object, key, newValue);
|
|
33
|
+
} else {
|
|
34
|
+
assignValue(object, key, newValue);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return object;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
module.exports = copyObject;
|
package/_copySymbols.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
var copyObject = require('./_copyObject'),
|
|
2
|
+
getSymbols = require('./_getSymbols');
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Copies own symbols of `source` to `object`.
|
|
6
|
+
*
|
|
7
|
+
* @private
|
|
8
|
+
* @param {Object} source The object to copy symbols from.
|
|
9
|
+
* @param {Object} [object={}] The object to copy symbols to.
|
|
10
|
+
* @returns {Object} Returns `object`.
|
|
11
|
+
*/
|
|
12
|
+
function copySymbols(source, object) {
|
|
13
|
+
return copyObject(source, getSymbols(source), object);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
module.exports = copySymbols;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
var copyObject = require('./_copyObject'),
|
|
2
|
+
getSymbolsIn = require('./_getSymbolsIn');
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Copies own and inherited symbols of `source` to `object`.
|
|
6
|
+
*
|
|
7
|
+
* @private
|
|
8
|
+
* @param {Object} source The object to copy symbols from.
|
|
9
|
+
* @param {Object} [object={}] The object to copy symbols to.
|
|
10
|
+
* @returns {Object} Returns `object`.
|
|
11
|
+
*/
|
|
12
|
+
function copySymbolsIn(source, object) {
|
|
13
|
+
return copyObject(source, getSymbolsIn(source), object);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
module.exports = copySymbolsIn;
|
package/_coreJsData.js
ADDED
package/_countHolders.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gets the number of `placeholder` occurrences in `array`.
|
|
3
|
+
*
|
|
4
|
+
* @private
|
|
5
|
+
* @param {Array} array The array to inspect.
|
|
6
|
+
* @param {*} placeholder The placeholder to search for.
|
|
7
|
+
* @returns {number} Returns the placeholder count.
|
|
8
|
+
*/
|
|
9
|
+
function countHolders(array, placeholder) {
|
|
10
|
+
var length = array.length,
|
|
11
|
+
result = 0;
|
|
12
|
+
|
|
13
|
+
while (length--) {
|
|
14
|
+
if (array[length] === placeholder) {
|
|
15
|
+
++result;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return result;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
module.exports = countHolders;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
var arrayAggregator = require('./_arrayAggregator'),
|
|
2
|
+
baseAggregator = require('./_baseAggregator'),
|
|
3
|
+
baseIteratee = require('./_baseIteratee'),
|
|
4
|
+
isArray = require('./isArray');
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Creates a function like `_.groupBy`.
|
|
8
|
+
*
|
|
9
|
+
* @private
|
|
10
|
+
* @param {Function} setter The function to set accumulator values.
|
|
11
|
+
* @param {Function} [initializer] The accumulator object initializer.
|
|
12
|
+
* @returns {Function} Returns the new aggregator function.
|
|
13
|
+
*/
|
|
14
|
+
function createAggregator(setter, initializer) {
|
|
15
|
+
return function(collection, iteratee) {
|
|
16
|
+
var func = isArray(collection) ? arrayAggregator : baseAggregator,
|
|
17
|
+
accumulator = initializer ? initializer() : {};
|
|
18
|
+
|
|
19
|
+
return func(collection, setter, baseIteratee(iteratee, 2), accumulator);
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
module.exports = createAggregator;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
var baseRest = require('./_baseRest'),
|
|
2
|
+
isIterateeCall = require('./_isIterateeCall');
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Creates a function like `_.assign`.
|
|
6
|
+
*
|
|
7
|
+
* @private
|
|
8
|
+
* @param {Function} assigner The function to assign values.
|
|
9
|
+
* @returns {Function} Returns the new assigner function.
|
|
10
|
+
*/
|
|
11
|
+
function createAssigner(assigner) {
|
|
12
|
+
return baseRest(function(object, sources) {
|
|
13
|
+
var index = -1,
|
|
14
|
+
length = sources.length,
|
|
15
|
+
customizer = length > 1 ? sources[length - 1] : undefined,
|
|
16
|
+
guard = length > 2 ? sources[2] : undefined;
|
|
17
|
+
|
|
18
|
+
customizer = (assigner.length > 3 && typeof customizer == 'function')
|
|
19
|
+
? (length--, customizer)
|
|
20
|
+
: undefined;
|
|
21
|
+
|
|
22
|
+
if (guard && isIterateeCall(sources[0], sources[1], guard)) {
|
|
23
|
+
customizer = length < 3 ? undefined : customizer;
|
|
24
|
+
length = 1;
|
|
25
|
+
}
|
|
26
|
+
object = Object(object);
|
|
27
|
+
while (++index < length) {
|
|
28
|
+
var source = sources[index];
|
|
29
|
+
if (source) {
|
|
30
|
+
assigner(object, source, index, customizer);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return object;
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
module.exports = createAssigner;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
var isArrayLike = require('./isArrayLike');
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Creates a `baseEach` or `baseEachRight` function.
|
|
5
|
+
*
|
|
6
|
+
* @private
|
|
7
|
+
* @param {Function} eachFunc The function to iterate over a collection.
|
|
8
|
+
* @param {boolean} [fromRight] Specify iterating from right to left.
|
|
9
|
+
* @returns {Function} Returns the new base function.
|
|
10
|
+
*/
|
|
11
|
+
function createBaseEach(eachFunc, fromRight) {
|
|
12
|
+
return function(collection, iteratee) {
|
|
13
|
+
if (collection == null) {
|
|
14
|
+
return collection;
|
|
15
|
+
}
|
|
16
|
+
if (!isArrayLike(collection)) {
|
|
17
|
+
return eachFunc(collection, iteratee);
|
|
18
|
+
}
|
|
19
|
+
var length = collection.length,
|
|
20
|
+
index = fromRight ? length : -1,
|
|
21
|
+
iterable = Object(collection);
|
|
22
|
+
|
|
23
|
+
while ((fromRight ? index-- : ++index < length)) {
|
|
24
|
+
if (iteratee(iterable[index], index, iterable) === false) {
|
|
25
|
+
break;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return collection;
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
module.exports = createBaseEach;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creates a base function for methods like `_.forIn` and `_.forOwn`.
|
|
3
|
+
*
|
|
4
|
+
* @private
|
|
5
|
+
* @param {boolean} [fromRight] Specify iterating from right to left.
|
|
6
|
+
* @returns {Function} Returns the new base function.
|
|
7
|
+
*/
|
|
8
|
+
function createBaseFor(fromRight) {
|
|
9
|
+
return function(object, iteratee, keysFunc) {
|
|
10
|
+
var index = -1,
|
|
11
|
+
iterable = Object(object),
|
|
12
|
+
props = keysFunc(object),
|
|
13
|
+
length = props.length;
|
|
14
|
+
|
|
15
|
+
while (length--) {
|
|
16
|
+
var key = props[fromRight ? length : ++index];
|
|
17
|
+
if (iteratee(iterable[key], key, iterable) === false) {
|
|
18
|
+
break;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return object;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
module.exports = createBaseFor;
|
package/_createBind.js
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
var createCtor = require('./_createCtor'),
|
|
2
|
+
root = require('./_root');
|
|
3
|
+
|
|
4
|
+
/** Used to compose bitmasks for function metadata. */
|
|
5
|
+
var WRAP_BIND_FLAG = 1;
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Creates a function that wraps `func` to invoke it with the optional `this`
|
|
9
|
+
* binding of `thisArg`.
|
|
10
|
+
*
|
|
11
|
+
* @private
|
|
12
|
+
* @param {Function} func The function to wrap.
|
|
13
|
+
* @param {number} bitmask The bitmask flags. See `createWrap` for more details.
|
|
14
|
+
* @param {*} [thisArg] The `this` binding of `func`.
|
|
15
|
+
* @returns {Function} Returns the new wrapped function.
|
|
16
|
+
*/
|
|
17
|
+
function createBind(func, bitmask, thisArg) {
|
|
18
|
+
var isBind = bitmask & WRAP_BIND_FLAG,
|
|
19
|
+
Ctor = createCtor(func);
|
|
20
|
+
|
|
21
|
+
function wrapper() {
|
|
22
|
+
var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;
|
|
23
|
+
return fn.apply(isBind ? thisArg : this, arguments);
|
|
24
|
+
}
|
|
25
|
+
return wrapper;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
module.exports = createBind;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
var castSlice = require('./_castSlice'),
|
|
2
|
+
hasUnicode = require('./_hasUnicode'),
|
|
3
|
+
stringToArray = require('./_stringToArray'),
|
|
4
|
+
toString = require('./toString');
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Creates a function like `_.lowerFirst`.
|
|
8
|
+
*
|
|
9
|
+
* @private
|
|
10
|
+
* @param {string} methodName The name of the `String` case method to use.
|
|
11
|
+
* @returns {Function} Returns the new case function.
|
|
12
|
+
*/
|
|
13
|
+
function createCaseFirst(methodName) {
|
|
14
|
+
return function(string) {
|
|
15
|
+
string = toString(string);
|
|
16
|
+
|
|
17
|
+
var strSymbols = hasUnicode(string)
|
|
18
|
+
? stringToArray(string)
|
|
19
|
+
: undefined;
|
|
20
|
+
|
|
21
|
+
var chr = strSymbols
|
|
22
|
+
? strSymbols[0]
|
|
23
|
+
: string.charAt(0);
|
|
24
|
+
|
|
25
|
+
var trailing = strSymbols
|
|
26
|
+
? castSlice(strSymbols, 1).join('')
|
|
27
|
+
: string.slice(1);
|
|
28
|
+
|
|
29
|
+
return chr[methodName]() + trailing;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
module.exports = createCaseFirst;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
var arrayReduce = require('./_arrayReduce'),
|
|
2
|
+
deburr = require('./deburr'),
|
|
3
|
+
words = require('./words');
|
|
4
|
+
|
|
5
|
+
/** Used to compose unicode capture groups. */
|
|
6
|
+
var rsApos = "['\u2019]";
|
|
7
|
+
|
|
8
|
+
/** Used to match apostrophes. */
|
|
9
|
+
var reApos = RegExp(rsApos, 'g');
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Creates a function like `_.camelCase`.
|
|
13
|
+
*
|
|
14
|
+
* @private
|
|
15
|
+
* @param {Function} callback The function to combine each word.
|
|
16
|
+
* @returns {Function} Returns the new compounder function.
|
|
17
|
+
*/
|
|
18
|
+
function createCompounder(callback) {
|
|
19
|
+
return function(string) {
|
|
20
|
+
return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
module.exports = createCompounder;
|