@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/toString.js
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
var baseToString = require('./_baseToString');
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Converts `value` to a string. An empty string is returned for `null`
|
|
5
|
+
* and `undefined` values. The sign of `-0` is preserved.
|
|
6
|
+
*
|
|
7
|
+
* @static
|
|
8
|
+
* @memberOf _
|
|
9
|
+
* @since 4.0.0
|
|
10
|
+
* @category Lang
|
|
11
|
+
* @param {*} value The value to convert.
|
|
12
|
+
* @returns {string} Returns the converted string.
|
|
13
|
+
* @example
|
|
14
|
+
*
|
|
15
|
+
* _.toString(null);
|
|
16
|
+
* // => ''
|
|
17
|
+
*
|
|
18
|
+
* _.toString(-0);
|
|
19
|
+
* // => '-0'
|
|
20
|
+
*
|
|
21
|
+
* _.toString([1, 2, 3]);
|
|
22
|
+
* // => '1,2,3'
|
|
23
|
+
*/
|
|
24
|
+
function toString(value) {
|
|
25
|
+
return value == null ? '' : baseToString(value);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
module.exports = toString;
|
package/toUpper.js
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
var toString = require('./toString');
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Converts `string`, as a whole, to upper case just like
|
|
5
|
+
* [String#toUpperCase](https://mdn.io/toUpperCase).
|
|
6
|
+
*
|
|
7
|
+
* @static
|
|
8
|
+
* @memberOf _
|
|
9
|
+
* @since 4.0.0
|
|
10
|
+
* @category String
|
|
11
|
+
* @param {string} [string=''] The string to convert.
|
|
12
|
+
* @returns {string} Returns the upper cased string.
|
|
13
|
+
* @example
|
|
14
|
+
*
|
|
15
|
+
* _.toUpper('--foo-bar--');
|
|
16
|
+
* // => '--FOO-BAR--'
|
|
17
|
+
*
|
|
18
|
+
* _.toUpper('fooBar');
|
|
19
|
+
* // => 'FOOBAR'
|
|
20
|
+
*
|
|
21
|
+
* _.toUpper('__foo_bar__');
|
|
22
|
+
* // => '__FOO_BAR__'
|
|
23
|
+
*/
|
|
24
|
+
function toUpper(value) {
|
|
25
|
+
return toString(value).toUpperCase();
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
module.exports = toUpper;
|
package/transform.js
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
var arrayEach = require('./_arrayEach'),
|
|
2
|
+
baseCreate = require('./_baseCreate'),
|
|
3
|
+
baseForOwn = require('./_baseForOwn'),
|
|
4
|
+
baseIteratee = require('./_baseIteratee'),
|
|
5
|
+
getPrototype = require('./_getPrototype'),
|
|
6
|
+
isArray = require('./isArray'),
|
|
7
|
+
isBuffer = require('./isBuffer'),
|
|
8
|
+
isFunction = require('./isFunction'),
|
|
9
|
+
isObject = require('./isObject'),
|
|
10
|
+
isTypedArray = require('./isTypedArray');
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* An alternative to `_.reduce`; this method transforms `object` to a new
|
|
14
|
+
* `accumulator` object which is the result of running each of its own
|
|
15
|
+
* enumerable string keyed properties thru `iteratee`, with each invocation
|
|
16
|
+
* potentially mutating the `accumulator` object. If `accumulator` is not
|
|
17
|
+
* provided, a new object with the same `[[Prototype]]` will be used. The
|
|
18
|
+
* iteratee is invoked with four arguments: (accumulator, value, key, object).
|
|
19
|
+
* Iteratee functions may exit iteration early by explicitly returning `false`.
|
|
20
|
+
*
|
|
21
|
+
* @static
|
|
22
|
+
* @memberOf _
|
|
23
|
+
* @since 1.3.0
|
|
24
|
+
* @category Object
|
|
25
|
+
* @param {Object} object The object to iterate over.
|
|
26
|
+
* @param {Function} [iteratee=_.identity] The function invoked per iteration.
|
|
27
|
+
* @param {*} [accumulator] The custom accumulator value.
|
|
28
|
+
* @returns {*} Returns the accumulated value.
|
|
29
|
+
* @example
|
|
30
|
+
*
|
|
31
|
+
* _.transform([2, 3, 4], function(result, n) {
|
|
32
|
+
* result.push(n *= n);
|
|
33
|
+
* return n % 2 == 0;
|
|
34
|
+
* }, []);
|
|
35
|
+
* // => [4, 9]
|
|
36
|
+
*
|
|
37
|
+
* _.transform({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {
|
|
38
|
+
* (result[value] || (result[value] = [])).push(key);
|
|
39
|
+
* }, {});
|
|
40
|
+
* // => { '1': ['a', 'c'], '2': ['b'] }
|
|
41
|
+
*/
|
|
42
|
+
function transform(object, iteratee, accumulator) {
|
|
43
|
+
var isArr = isArray(object),
|
|
44
|
+
isArrLike = isArr || isBuffer(object) || isTypedArray(object);
|
|
45
|
+
|
|
46
|
+
iteratee = baseIteratee(iteratee, 4);
|
|
47
|
+
if (accumulator == null) {
|
|
48
|
+
var Ctor = object && object.constructor;
|
|
49
|
+
if (isArrLike) {
|
|
50
|
+
accumulator = isArr ? new Ctor : [];
|
|
51
|
+
}
|
|
52
|
+
else if (isObject(object)) {
|
|
53
|
+
accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {};
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
accumulator = {};
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
(isArrLike ? arrayEach : baseForOwn)(object, function(value, index, object) {
|
|
60
|
+
return iteratee(accumulator, value, index, object);
|
|
61
|
+
});
|
|
62
|
+
return accumulator;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
module.exports = transform;
|
package/trim.js
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
var baseToString = require('./_baseToString'),
|
|
2
|
+
baseTrim = require('./_baseTrim'),
|
|
3
|
+
castSlice = require('./_castSlice'),
|
|
4
|
+
charsEndIndex = require('./_charsEndIndex'),
|
|
5
|
+
charsStartIndex = require('./_charsStartIndex'),
|
|
6
|
+
stringToArray = require('./_stringToArray'),
|
|
7
|
+
toString = require('./toString');
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Removes leading and trailing whitespace or specified characters from `string`.
|
|
11
|
+
*
|
|
12
|
+
* @static
|
|
13
|
+
* @memberOf _
|
|
14
|
+
* @since 3.0.0
|
|
15
|
+
* @category String
|
|
16
|
+
* @param {string} [string=''] The string to trim.
|
|
17
|
+
* @param {string} [chars=whitespace] The characters to trim.
|
|
18
|
+
* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
|
|
19
|
+
* @returns {string} Returns the trimmed string.
|
|
20
|
+
* @example
|
|
21
|
+
*
|
|
22
|
+
* _.trim(' abc ');
|
|
23
|
+
* // => 'abc'
|
|
24
|
+
*
|
|
25
|
+
* _.trim('-_-abc-_-', '_-');
|
|
26
|
+
* // => 'abc'
|
|
27
|
+
*
|
|
28
|
+
* _.map([' foo ', ' bar '], _.trim);
|
|
29
|
+
* // => ['foo', 'bar']
|
|
30
|
+
*/
|
|
31
|
+
function trim(string, chars, guard) {
|
|
32
|
+
string = toString(string);
|
|
33
|
+
if (string && (guard || chars === undefined)) {
|
|
34
|
+
return baseTrim(string);
|
|
35
|
+
}
|
|
36
|
+
if (!string || !(chars = baseToString(chars))) {
|
|
37
|
+
return string;
|
|
38
|
+
}
|
|
39
|
+
var strSymbols = stringToArray(string),
|
|
40
|
+
chrSymbols = stringToArray(chars),
|
|
41
|
+
start = charsStartIndex(strSymbols, chrSymbols),
|
|
42
|
+
end = charsEndIndex(strSymbols, chrSymbols) + 1;
|
|
43
|
+
|
|
44
|
+
return castSlice(strSymbols, start, end).join('');
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
module.exports = trim;
|
package/trimEnd.js
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
var baseToString = require('./_baseToString'),
|
|
2
|
+
castSlice = require('./_castSlice'),
|
|
3
|
+
charsEndIndex = require('./_charsEndIndex'),
|
|
4
|
+
stringToArray = require('./_stringToArray'),
|
|
5
|
+
toString = require('./toString'),
|
|
6
|
+
trimmedEndIndex = require('./_trimmedEndIndex');
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Removes trailing whitespace or specified characters from `string`.
|
|
10
|
+
*
|
|
11
|
+
* @static
|
|
12
|
+
* @memberOf _
|
|
13
|
+
* @since 4.0.0
|
|
14
|
+
* @category String
|
|
15
|
+
* @param {string} [string=''] The string to trim.
|
|
16
|
+
* @param {string} [chars=whitespace] The characters to trim.
|
|
17
|
+
* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
|
|
18
|
+
* @returns {string} Returns the trimmed string.
|
|
19
|
+
* @example
|
|
20
|
+
*
|
|
21
|
+
* _.trimEnd(' abc ');
|
|
22
|
+
* // => ' abc'
|
|
23
|
+
*
|
|
24
|
+
* _.trimEnd('-_-abc-_-', '_-');
|
|
25
|
+
* // => '-_-abc'
|
|
26
|
+
*/
|
|
27
|
+
function trimEnd(string, chars, guard) {
|
|
28
|
+
string = toString(string);
|
|
29
|
+
if (string && (guard || chars === undefined)) {
|
|
30
|
+
return string.slice(0, trimmedEndIndex(string) + 1);
|
|
31
|
+
}
|
|
32
|
+
if (!string || !(chars = baseToString(chars))) {
|
|
33
|
+
return string;
|
|
34
|
+
}
|
|
35
|
+
var strSymbols = stringToArray(string),
|
|
36
|
+
end = charsEndIndex(strSymbols, stringToArray(chars)) + 1;
|
|
37
|
+
|
|
38
|
+
return castSlice(strSymbols, 0, end).join('');
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
module.exports = trimEnd;
|
package/trimStart.js
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
var baseToString = require('./_baseToString'),
|
|
2
|
+
castSlice = require('./_castSlice'),
|
|
3
|
+
charsStartIndex = require('./_charsStartIndex'),
|
|
4
|
+
stringToArray = require('./_stringToArray'),
|
|
5
|
+
toString = require('./toString');
|
|
6
|
+
|
|
7
|
+
/** Used to match leading whitespace. */
|
|
8
|
+
var reTrimStart = /^\s+/;
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Removes leading whitespace or specified characters from `string`.
|
|
12
|
+
*
|
|
13
|
+
* @static
|
|
14
|
+
* @memberOf _
|
|
15
|
+
* @since 4.0.0
|
|
16
|
+
* @category String
|
|
17
|
+
* @param {string} [string=''] The string to trim.
|
|
18
|
+
* @param {string} [chars=whitespace] The characters to trim.
|
|
19
|
+
* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
|
|
20
|
+
* @returns {string} Returns the trimmed string.
|
|
21
|
+
* @example
|
|
22
|
+
*
|
|
23
|
+
* _.trimStart(' abc ');
|
|
24
|
+
* // => 'abc '
|
|
25
|
+
*
|
|
26
|
+
* _.trimStart('-_-abc-_-', '_-');
|
|
27
|
+
* // => 'abc-_-'
|
|
28
|
+
*/
|
|
29
|
+
function trimStart(string, chars, guard) {
|
|
30
|
+
string = toString(string);
|
|
31
|
+
if (string && (guard || chars === undefined)) {
|
|
32
|
+
return string.replace(reTrimStart, '');
|
|
33
|
+
}
|
|
34
|
+
if (!string || !(chars = baseToString(chars))) {
|
|
35
|
+
return string;
|
|
36
|
+
}
|
|
37
|
+
var strSymbols = stringToArray(string),
|
|
38
|
+
start = charsStartIndex(strSymbols, stringToArray(chars));
|
|
39
|
+
|
|
40
|
+
return castSlice(strSymbols, start).join('');
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
module.exports = trimStart;
|
package/truncate.js
ADDED
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
var baseToString = require('./_baseToString'),
|
|
2
|
+
castSlice = require('./_castSlice'),
|
|
3
|
+
hasUnicode = require('./_hasUnicode'),
|
|
4
|
+
isObject = require('./isObject'),
|
|
5
|
+
isRegExp = require('./isRegExp'),
|
|
6
|
+
stringSize = require('./_stringSize'),
|
|
7
|
+
stringToArray = require('./_stringToArray'),
|
|
8
|
+
toInteger = require('./toInteger'),
|
|
9
|
+
toString = require('./toString');
|
|
10
|
+
|
|
11
|
+
/** Used as default options for `_.truncate`. */
|
|
12
|
+
var DEFAULT_TRUNC_LENGTH = 30,
|
|
13
|
+
DEFAULT_TRUNC_OMISSION = '...';
|
|
14
|
+
|
|
15
|
+
/** Used to match `RegExp` flags from their coerced string values. */
|
|
16
|
+
var reFlags = /\w*$/;
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Truncates `string` if it's longer than the given maximum string length.
|
|
20
|
+
* The last characters of the truncated string are replaced with the omission
|
|
21
|
+
* string which defaults to "...".
|
|
22
|
+
*
|
|
23
|
+
* @static
|
|
24
|
+
* @memberOf _
|
|
25
|
+
* @since 4.0.0
|
|
26
|
+
* @category String
|
|
27
|
+
* @param {string} [string=''] The string to truncate.
|
|
28
|
+
* @param {Object} [options={}] The options object.
|
|
29
|
+
* @param {number} [options.length=30] The maximum string length.
|
|
30
|
+
* @param {string} [options.omission='...'] The string to indicate text is omitted.
|
|
31
|
+
* @param {RegExp|string} [options.separator] The separator pattern to truncate to.
|
|
32
|
+
* @returns {string} Returns the truncated string.
|
|
33
|
+
* @example
|
|
34
|
+
*
|
|
35
|
+
* _.truncate('hi-diddly-ho there, neighborino');
|
|
36
|
+
* // => 'hi-diddly-ho there, neighbo...'
|
|
37
|
+
*
|
|
38
|
+
* _.truncate('hi-diddly-ho there, neighborino', {
|
|
39
|
+
* 'length': 24,
|
|
40
|
+
* 'separator': ' '
|
|
41
|
+
* });
|
|
42
|
+
* // => 'hi-diddly-ho there,...'
|
|
43
|
+
*
|
|
44
|
+
* _.truncate('hi-diddly-ho there, neighborino', {
|
|
45
|
+
* 'length': 24,
|
|
46
|
+
* 'separator': /,? +/
|
|
47
|
+
* });
|
|
48
|
+
* // => 'hi-diddly-ho there...'
|
|
49
|
+
*
|
|
50
|
+
* _.truncate('hi-diddly-ho there, neighborino', {
|
|
51
|
+
* 'omission': ' [...]'
|
|
52
|
+
* });
|
|
53
|
+
* // => 'hi-diddly-ho there, neig [...]'
|
|
54
|
+
*/
|
|
55
|
+
function truncate(string, options) {
|
|
56
|
+
var length = DEFAULT_TRUNC_LENGTH,
|
|
57
|
+
omission = DEFAULT_TRUNC_OMISSION;
|
|
58
|
+
|
|
59
|
+
if (isObject(options)) {
|
|
60
|
+
var separator = 'separator' in options ? options.separator : separator;
|
|
61
|
+
length = 'length' in options ? toInteger(options.length) : length;
|
|
62
|
+
omission = 'omission' in options ? baseToString(options.omission) : omission;
|
|
63
|
+
}
|
|
64
|
+
string = toString(string);
|
|
65
|
+
|
|
66
|
+
var strLength = string.length;
|
|
67
|
+
if (hasUnicode(string)) {
|
|
68
|
+
var strSymbols = stringToArray(string);
|
|
69
|
+
strLength = strSymbols.length;
|
|
70
|
+
}
|
|
71
|
+
if (length >= strLength) {
|
|
72
|
+
return string;
|
|
73
|
+
}
|
|
74
|
+
var end = length - stringSize(omission);
|
|
75
|
+
if (end < 1) {
|
|
76
|
+
return omission;
|
|
77
|
+
}
|
|
78
|
+
var result = strSymbols
|
|
79
|
+
? castSlice(strSymbols, 0, end).join('')
|
|
80
|
+
: string.slice(0, end);
|
|
81
|
+
|
|
82
|
+
if (separator === undefined) {
|
|
83
|
+
return result + omission;
|
|
84
|
+
}
|
|
85
|
+
if (strSymbols) {
|
|
86
|
+
end += (result.length - end);
|
|
87
|
+
}
|
|
88
|
+
if (isRegExp(separator)) {
|
|
89
|
+
if (string.slice(end).search(separator)) {
|
|
90
|
+
var match,
|
|
91
|
+
substring = result;
|
|
92
|
+
|
|
93
|
+
if (!separator.global) {
|
|
94
|
+
separator = RegExp(separator.source, toString(reFlags.exec(separator)) + 'g');
|
|
95
|
+
}
|
|
96
|
+
separator.lastIndex = 0;
|
|
97
|
+
while ((match = separator.exec(substring))) {
|
|
98
|
+
var newEnd = match.index;
|
|
99
|
+
}
|
|
100
|
+
result = result.slice(0, newEnd === undefined ? end : newEnd);
|
|
101
|
+
}
|
|
102
|
+
} else if (string.indexOf(baseToString(separator), end) != end) {
|
|
103
|
+
var index = result.lastIndexOf(separator);
|
|
104
|
+
if (index > -1) {
|
|
105
|
+
result = result.slice(0, index);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
return result + omission;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
module.exports = truncate;
|
package/unary.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
var ary = require('./ary');
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Creates a function that accepts up to one argument, ignoring any
|
|
5
|
+
* additional arguments.
|
|
6
|
+
*
|
|
7
|
+
* @static
|
|
8
|
+
* @memberOf _
|
|
9
|
+
* @since 4.0.0
|
|
10
|
+
* @category Function
|
|
11
|
+
* @param {Function} func The function to cap arguments for.
|
|
12
|
+
* @returns {Function} Returns the new capped function.
|
|
13
|
+
* @example
|
|
14
|
+
*
|
|
15
|
+
* _.map(['6', '8', '10'], _.unary(parseInt));
|
|
16
|
+
* // => [6, 8, 10]
|
|
17
|
+
*/
|
|
18
|
+
function unary(func) {
|
|
19
|
+
return ary(func, 1);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
module.exports = unary;
|
package/unescape.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
var toString = require('./toString'),
|
|
2
|
+
unescapeHtmlChar = require('./_unescapeHtmlChar');
|
|
3
|
+
|
|
4
|
+
/** Used to match HTML entities and HTML characters. */
|
|
5
|
+
var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g,
|
|
6
|
+
reHasEscapedHtml = RegExp(reEscapedHtml.source);
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* The inverse of `_.escape`; this method converts the HTML entities
|
|
10
|
+
* `&`, `<`, `>`, `"`, and `'` in `string` to
|
|
11
|
+
* their corresponding characters.
|
|
12
|
+
*
|
|
13
|
+
* **Note:** No other HTML entities are unescaped. To unescape additional
|
|
14
|
+
* HTML entities use a third-party library like [_he_](https://mths.be/he).
|
|
15
|
+
*
|
|
16
|
+
* @static
|
|
17
|
+
* @memberOf _
|
|
18
|
+
* @since 0.6.0
|
|
19
|
+
* @category String
|
|
20
|
+
* @param {string} [string=''] The string to unescape.
|
|
21
|
+
* @returns {string} Returns the unescaped string.
|
|
22
|
+
* @example
|
|
23
|
+
*
|
|
24
|
+
* _.unescape('fred, barney, & pebbles');
|
|
25
|
+
* // => 'fred, barney, & pebbles'
|
|
26
|
+
*/
|
|
27
|
+
function unescape(string) {
|
|
28
|
+
string = toString(string);
|
|
29
|
+
return (string && reHasEscapedHtml.test(string))
|
|
30
|
+
? string.replace(reEscapedHtml, unescapeHtmlChar)
|
|
31
|
+
: string;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
module.exports = unescape;
|
package/union.js
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
var baseFlatten = require('./_baseFlatten'),
|
|
2
|
+
baseRest = require('./_baseRest'),
|
|
3
|
+
baseUniq = require('./_baseUniq'),
|
|
4
|
+
isArrayLikeObject = require('./isArrayLikeObject');
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Creates an array of unique values, in order, from all given arrays using
|
|
8
|
+
* [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
|
|
9
|
+
* for equality comparisons.
|
|
10
|
+
*
|
|
11
|
+
* @static
|
|
12
|
+
* @memberOf _
|
|
13
|
+
* @since 0.1.0
|
|
14
|
+
* @category Array
|
|
15
|
+
* @param {...Array} [arrays] The arrays to inspect.
|
|
16
|
+
* @returns {Array} Returns the new array of combined values.
|
|
17
|
+
* @example
|
|
18
|
+
*
|
|
19
|
+
* _.union([2], [1, 2]);
|
|
20
|
+
* // => [2, 1]
|
|
21
|
+
*/
|
|
22
|
+
var union = baseRest(function(arrays) {
|
|
23
|
+
return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
module.exports = union;
|
package/unionBy.js
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
var baseFlatten = require('./_baseFlatten'),
|
|
2
|
+
baseIteratee = require('./_baseIteratee'),
|
|
3
|
+
baseRest = require('./_baseRest'),
|
|
4
|
+
baseUniq = require('./_baseUniq'),
|
|
5
|
+
isArrayLikeObject = require('./isArrayLikeObject'),
|
|
6
|
+
last = require('./last');
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* This method is like `_.union` except that it accepts `iteratee` which is
|
|
10
|
+
* invoked for each element of each `arrays` to generate the criterion by
|
|
11
|
+
* which uniqueness is computed. Result values are chosen from the first
|
|
12
|
+
* array in which the value occurs. The iteratee is invoked with one argument:
|
|
13
|
+
* (value).
|
|
14
|
+
*
|
|
15
|
+
* @static
|
|
16
|
+
* @memberOf _
|
|
17
|
+
* @since 4.0.0
|
|
18
|
+
* @category Array
|
|
19
|
+
* @param {...Array} [arrays] The arrays to inspect.
|
|
20
|
+
* @param {Function} [iteratee=_.identity] The iteratee invoked per element.
|
|
21
|
+
* @returns {Array} Returns the new array of combined values.
|
|
22
|
+
* @example
|
|
23
|
+
*
|
|
24
|
+
* _.unionBy([2.1], [1.2, 2.3], Math.floor);
|
|
25
|
+
* // => [2.1, 1.2]
|
|
26
|
+
*
|
|
27
|
+
* // The `_.property` iteratee shorthand.
|
|
28
|
+
* _.unionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');
|
|
29
|
+
* // => [{ 'x': 1 }, { 'x': 2 }]
|
|
30
|
+
*/
|
|
31
|
+
var unionBy = baseRest(function(arrays) {
|
|
32
|
+
var iteratee = last(arrays);
|
|
33
|
+
if (isArrayLikeObject(iteratee)) {
|
|
34
|
+
iteratee = undefined;
|
|
35
|
+
}
|
|
36
|
+
return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), baseIteratee(iteratee, 2));
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
module.exports = unionBy;
|
package/unionWith.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
var baseFlatten = require('./_baseFlatten'),
|
|
2
|
+
baseRest = require('./_baseRest'),
|
|
3
|
+
baseUniq = require('./_baseUniq'),
|
|
4
|
+
isArrayLikeObject = require('./isArrayLikeObject'),
|
|
5
|
+
last = require('./last');
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* This method is like `_.union` except that it accepts `comparator` which
|
|
9
|
+
* is invoked to compare elements of `arrays`. Result values are chosen from
|
|
10
|
+
* the first array in which the value occurs. The comparator is invoked
|
|
11
|
+
* with two arguments: (arrVal, othVal).
|
|
12
|
+
*
|
|
13
|
+
* @static
|
|
14
|
+
* @memberOf _
|
|
15
|
+
* @since 4.0.0
|
|
16
|
+
* @category Array
|
|
17
|
+
* @param {...Array} [arrays] The arrays to inspect.
|
|
18
|
+
* @param {Function} [comparator] The comparator invoked per element.
|
|
19
|
+
* @returns {Array} Returns the new array of combined values.
|
|
20
|
+
* @example
|
|
21
|
+
*
|
|
22
|
+
* var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];
|
|
23
|
+
* var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];
|
|
24
|
+
*
|
|
25
|
+
* _.unionWith(objects, others, _.isEqual);
|
|
26
|
+
* // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]
|
|
27
|
+
*/
|
|
28
|
+
var unionWith = baseRest(function(arrays) {
|
|
29
|
+
var comparator = last(arrays);
|
|
30
|
+
comparator = typeof comparator == 'function' ? comparator : undefined;
|
|
31
|
+
return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), undefined, comparator);
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
module.exports = unionWith;
|
package/uniq.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
var baseUniq = require('./_baseUniq');
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Creates a duplicate-free version of an array, using
|
|
5
|
+
* [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
|
|
6
|
+
* for equality comparisons, in which only the first occurrence of each element
|
|
7
|
+
* is kept. The order of result values is determined by the order they occur
|
|
8
|
+
* in the array.
|
|
9
|
+
*
|
|
10
|
+
* @static
|
|
11
|
+
* @memberOf _
|
|
12
|
+
* @since 0.1.0
|
|
13
|
+
* @category Array
|
|
14
|
+
* @param {Array} array The array to inspect.
|
|
15
|
+
* @returns {Array} Returns the new duplicate free array.
|
|
16
|
+
* @example
|
|
17
|
+
*
|
|
18
|
+
* _.uniq([2, 1, 2]);
|
|
19
|
+
* // => [2, 1]
|
|
20
|
+
*/
|
|
21
|
+
function uniq(array) {
|
|
22
|
+
return (array && array.length) ? baseUniq(array) : [];
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
module.exports = uniq;
|
package/uniqBy.js
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
var baseIteratee = require('./_baseIteratee'),
|
|
2
|
+
baseUniq = require('./_baseUniq');
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* This method is like `_.uniq` except that it accepts `iteratee` which is
|
|
6
|
+
* invoked for each element in `array` to generate the criterion by which
|
|
7
|
+
* uniqueness is computed. The order of result values is determined by the
|
|
8
|
+
* order they occur in the array. The iteratee is invoked with one argument:
|
|
9
|
+
* (value).
|
|
10
|
+
*
|
|
11
|
+
* @static
|
|
12
|
+
* @memberOf _
|
|
13
|
+
* @since 4.0.0
|
|
14
|
+
* @category Array
|
|
15
|
+
* @param {Array} array The array to inspect.
|
|
16
|
+
* @param {Function} [iteratee=_.identity] The iteratee invoked per element.
|
|
17
|
+
* @returns {Array} Returns the new duplicate free array.
|
|
18
|
+
* @example
|
|
19
|
+
*
|
|
20
|
+
* _.uniqBy([2.1, 1.2, 2.3], Math.floor);
|
|
21
|
+
* // => [2.1, 1.2]
|
|
22
|
+
*
|
|
23
|
+
* // The `_.property` iteratee shorthand.
|
|
24
|
+
* _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');
|
|
25
|
+
* // => [{ 'x': 1 }, { 'x': 2 }]
|
|
26
|
+
*/
|
|
27
|
+
function uniqBy(array, iteratee) {
|
|
28
|
+
return (array && array.length) ? baseUniq(array, baseIteratee(iteratee, 2)) : [];
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
module.exports = uniqBy;
|
package/uniqWith.js
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
var baseUniq = require('./_baseUniq');
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* This method is like `_.uniq` except that it accepts `comparator` which
|
|
5
|
+
* is invoked to compare elements of `array`. The order of result values is
|
|
6
|
+
* determined by the order they occur in the array.The comparator is invoked
|
|
7
|
+
* with two arguments: (arrVal, othVal).
|
|
8
|
+
*
|
|
9
|
+
* @static
|
|
10
|
+
* @memberOf _
|
|
11
|
+
* @since 4.0.0
|
|
12
|
+
* @category Array
|
|
13
|
+
* @param {Array} array The array to inspect.
|
|
14
|
+
* @param {Function} [comparator] The comparator invoked per element.
|
|
15
|
+
* @returns {Array} Returns the new duplicate free array.
|
|
16
|
+
* @example
|
|
17
|
+
*
|
|
18
|
+
* var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }];
|
|
19
|
+
*
|
|
20
|
+
* _.uniqWith(objects, _.isEqual);
|
|
21
|
+
* // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]
|
|
22
|
+
*/
|
|
23
|
+
function uniqWith(array, comparator) {
|
|
24
|
+
comparator = typeof comparator == 'function' ? comparator : undefined;
|
|
25
|
+
return (array && array.length) ? baseUniq(array, undefined, comparator) : [];
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
module.exports = uniqWith;
|
package/uniqueId.js
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
var toString = require('./toString');
|
|
2
|
+
|
|
3
|
+
/** Used to generate unique IDs. */
|
|
4
|
+
var idCounter = 0;
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Generates a unique ID. If `prefix` is given, the ID is appended to it.
|
|
8
|
+
*
|
|
9
|
+
* @static
|
|
10
|
+
* @since 0.1.0
|
|
11
|
+
* @memberOf _
|
|
12
|
+
* @category Util
|
|
13
|
+
* @param {string} [prefix=''] The value to prefix the ID with.
|
|
14
|
+
* @returns {string} Returns the unique ID.
|
|
15
|
+
* @example
|
|
16
|
+
*
|
|
17
|
+
* _.uniqueId('contact_');
|
|
18
|
+
* // => 'contact_104'
|
|
19
|
+
*
|
|
20
|
+
* _.uniqueId();
|
|
21
|
+
* // => '105'
|
|
22
|
+
*/
|
|
23
|
+
function uniqueId(prefix) {
|
|
24
|
+
var id = ++idCounter;
|
|
25
|
+
return toString(prefix) + id;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
module.exports = uniqueId;
|
package/unset.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
var baseUnset = require('./_baseUnset');
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Removes the property at `path` of `object`.
|
|
5
|
+
*
|
|
6
|
+
* **Note:** This method mutates `object`.
|
|
7
|
+
*
|
|
8
|
+
* @static
|
|
9
|
+
* @memberOf _
|
|
10
|
+
* @since 4.0.0
|
|
11
|
+
* @category Object
|
|
12
|
+
* @param {Object} object The object to modify.
|
|
13
|
+
* @param {Array|string} path The path of the property to unset.
|
|
14
|
+
* @returns {boolean} Returns `true` if the property is deleted, else `false`.
|
|
15
|
+
* @example
|
|
16
|
+
*
|
|
17
|
+
* var object = { 'a': [{ 'b': { 'c': 7 } }] };
|
|
18
|
+
* _.unset(object, 'a[0].b.c');
|
|
19
|
+
* // => true
|
|
20
|
+
*
|
|
21
|
+
* console.log(object);
|
|
22
|
+
* // => { 'a': [{ 'b': {} }] };
|
|
23
|
+
*
|
|
24
|
+
* _.unset(object, ['a', '0', 'b', 'c']);
|
|
25
|
+
* // => true
|
|
26
|
+
*
|
|
27
|
+
* console.log(object);
|
|
28
|
+
* // => { 'a': [{ 'b': {} }] };
|
|
29
|
+
*/
|
|
30
|
+
function unset(object, path) {
|
|
31
|
+
return object == null ? true : baseUnset(object, path);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
module.exports = unset;
|