@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.
Files changed (1052) hide show
  1. package/LICENSE +47 -0
  2. package/README.md +39 -0
  3. package/_.log +3 -0
  4. package/_DataView.js +7 -0
  5. package/_Hash.js +32 -0
  6. package/_LazyWrapper.js +28 -0
  7. package/_ListCache.js +32 -0
  8. package/_LodashWrapper.js +22 -0
  9. package/_Map.js +7 -0
  10. package/_MapCache.js +32 -0
  11. package/_Promise.js +7 -0
  12. package/_Set.js +7 -0
  13. package/_SetCache.js +27 -0
  14. package/_Stack.js +27 -0
  15. package/_Symbol.js +6 -0
  16. package/_Uint8Array.js +6 -0
  17. package/_WeakMap.js +7 -0
  18. package/_apply.js +21 -0
  19. package/_arrayAggregator.js +22 -0
  20. package/_arrayEach.js +22 -0
  21. package/_arrayEachRight.js +21 -0
  22. package/_arrayEvery.js +23 -0
  23. package/_arrayFilter.js +25 -0
  24. package/_arrayIncludes.js +17 -0
  25. package/_arrayIncludesWith.js +22 -0
  26. package/_arrayLikeKeys.js +49 -0
  27. package/_arrayMap.js +21 -0
  28. package/_arrayPush.js +20 -0
  29. package/_arrayReduce.js +26 -0
  30. package/_arrayReduceRight.js +24 -0
  31. package/_arraySample.js +15 -0
  32. package/_arraySampleSize.js +17 -0
  33. package/_arrayShuffle.js +15 -0
  34. package/_arraySome.js +23 -0
  35. package/_asciiSize.js +12 -0
  36. package/_asciiToArray.js +12 -0
  37. package/_asciiWords.js +15 -0
  38. package/_assignMergeValue.js +20 -0
  39. package/_assignValue.js +28 -0
  40. package/_assocIndexOf.js +21 -0
  41. package/_baseAggregator.js +21 -0
  42. package/_baseAssign.js +17 -0
  43. package/_baseAssignIn.js +17 -0
  44. package/_baseAssignValue.js +25 -0
  45. package/_baseAt.js +23 -0
  46. package/_baseClamp.js +22 -0
  47. package/_baseClone.js +166 -0
  48. package/_baseConforms.js +18 -0
  49. package/_baseConformsTo.js +27 -0
  50. package/_baseCreate.js +30 -0
  51. package/_baseDelay.js +21 -0
  52. package/_baseDifference.js +67 -0
  53. package/_baseEach.js +14 -0
  54. package/_baseEachRight.js +14 -0
  55. package/_baseEvery.js +21 -0
  56. package/_baseExtremum.js +32 -0
  57. package/_baseFill.js +32 -0
  58. package/_baseFilter.js +21 -0
  59. package/_baseFindIndex.js +24 -0
  60. package/_baseFindKey.js +23 -0
  61. package/_baseFlatten.js +38 -0
  62. package/_baseFor.js +16 -0
  63. package/_baseForOwn.js +16 -0
  64. package/_baseForOwnRight.js +16 -0
  65. package/_baseForRight.js +15 -0
  66. package/_baseFunctions.js +19 -0
  67. package/_baseGet.js +24 -0
  68. package/_baseGetAllKeys.js +20 -0
  69. package/_baseGetTag.js +28 -0
  70. package/_baseGt.js +14 -0
  71. package/_baseHas.js +19 -0
  72. package/_baseHasIn.js +13 -0
  73. package/_baseInRange.js +18 -0
  74. package/_baseIndexOf.js +20 -0
  75. package/_baseIndexOfWith.js +23 -0
  76. package/_baseIntersection.js +74 -0
  77. package/_baseInverter.js +21 -0
  78. package/_baseInvoke.js +24 -0
  79. package/_baseIsArguments.js +18 -0
  80. package/_baseIsArrayBuffer.js +17 -0
  81. package/_baseIsDate.js +18 -0
  82. package/_baseIsEqual.js +28 -0
  83. package/_baseIsEqualDeep.js +83 -0
  84. package/_baseIsMap.js +18 -0
  85. package/_baseIsMatch.js +62 -0
  86. package/_baseIsNaN.js +12 -0
  87. package/_baseIsNative.js +47 -0
  88. package/_baseIsRegExp.js +18 -0
  89. package/_baseIsSet.js +18 -0
  90. package/_baseIsTypedArray.js +60 -0
  91. package/_baseIteratee.js +31 -0
  92. package/_baseKeys.js +30 -0
  93. package/_baseKeysIn.js +33 -0
  94. package/_baseLodash.js +10 -0
  95. package/_baseLt.js +14 -0
  96. package/_baseMap.js +22 -0
  97. package/_baseMatches.js +22 -0
  98. package/_baseMatchesProperty.js +33 -0
  99. package/_baseMean.js +20 -0
  100. package/_baseMerge.js +42 -0
  101. package/_baseMergeDeep.js +94 -0
  102. package/_baseNth.js +20 -0
  103. package/_baseOrderBy.js +49 -0
  104. package/_basePick.js +19 -0
  105. package/_basePickBy.js +30 -0
  106. package/_baseProperty.js +14 -0
  107. package/_basePropertyDeep.js +16 -0
  108. package/_basePropertyOf.js +14 -0
  109. package/_basePullAll.js +51 -0
  110. package/_basePullAt.js +37 -0
  111. package/_baseRandom.js +18 -0
  112. package/_baseRange.js +28 -0
  113. package/_baseReduce.js +23 -0
  114. package/_baseRepeat.js +35 -0
  115. package/_baseRest.js +17 -0
  116. package/_baseSample.js +15 -0
  117. package/_baseSampleSize.js +18 -0
  118. package/_baseSet.js +51 -0
  119. package/_baseSetData.js +17 -0
  120. package/_baseSetToString.js +22 -0
  121. package/_baseShuffle.js +15 -0
  122. package/_baseSlice.js +31 -0
  123. package/_baseSome.js +22 -0
  124. package/_baseSortBy.js +21 -0
  125. package/_baseSortedIndex.js +42 -0
  126. package/_baseSortedIndexBy.js +67 -0
  127. package/_baseSortedUniq.js +30 -0
  128. package/_baseSum.js +24 -0
  129. package/_baseTimes.js +20 -0
  130. package/_baseToNumber.js +24 -0
  131. package/_baseToPairs.js +18 -0
  132. package/_baseToString.js +37 -0
  133. package/_baseTrim.js +19 -0
  134. package/_baseUnary.js +14 -0
  135. package/_baseUniq.js +72 -0
  136. package/_baseUnset.js +20 -0
  137. package/_baseUpdate.js +18 -0
  138. package/_baseValues.js +19 -0
  139. package/_baseWhile.js +26 -0
  140. package/_baseWrapperValue.js +25 -0
  141. package/_baseXor.js +36 -0
  142. package/_baseZipObject.js +23 -0
  143. package/_cacheHas.js +13 -0
  144. package/_castArrayLikeObject.js +14 -0
  145. package/_castFunction.js +14 -0
  146. package/_castPath.js +21 -0
  147. package/_castRest.js +14 -0
  148. package/_castSlice.js +18 -0
  149. package/_charsEndIndex.js +19 -0
  150. package/_charsStartIndex.js +20 -0
  151. package/_cloneArrayBuffer.js +16 -0
  152. package/_cloneBuffer.js +35 -0
  153. package/_cloneDataView.js +16 -0
  154. package/_cloneRegExp.js +17 -0
  155. package/_cloneSymbol.js +18 -0
  156. package/_cloneTypedArray.js +16 -0
  157. package/_compareAscending.js +41 -0
  158. package/_compareMultiple.js +44 -0
  159. package/_composeArgs.js +39 -0
  160. package/_composeArgsRight.js +41 -0
  161. package/_copyArray.js +20 -0
  162. package/_copyObject.js +40 -0
  163. package/_copySymbols.js +16 -0
  164. package/_copySymbolsIn.js +16 -0
  165. package/_coreJsData.js +6 -0
  166. package/_countHolders.js +21 -0
  167. package/_createAggregator.js +23 -0
  168. package/_createAssigner.js +37 -0
  169. package/_createBaseEach.js +32 -0
  170. package/_createBaseFor.js +25 -0
  171. package/_createBind.js +28 -0
  172. package/_createCaseFirst.js +33 -0
  173. package/_createCompounder.js +24 -0
  174. package/_createCtor.js +37 -0
  175. package/_createCurry.js +46 -0
  176. package/_createFind.js +25 -0
  177. package/_createFlow.js +78 -0
  178. package/_createHybrid.js +92 -0
  179. package/_createInverter.js +17 -0
  180. package/_createMathOperation.js +38 -0
  181. package/_createOver.js +27 -0
  182. package/_createPadding.js +33 -0
  183. package/_createPartial.js +43 -0
  184. package/_createRange.js +30 -0
  185. package/_createRecurry.js +56 -0
  186. package/_createRelationalOperation.js +20 -0
  187. package/_createRound.js +35 -0
  188. package/_createSet.js +19 -0
  189. package/_createToPairs.js +30 -0
  190. package/_createWrap.js +106 -0
  191. package/_customDefaultsAssignIn.js +29 -0
  192. package/_customDefaultsMerge.js +28 -0
  193. package/_customOmitClone.js +16 -0
  194. package/_deburrLetter.js +71 -0
  195. package/_defineProperty.js +11 -0
  196. package/_equalArrays.js +84 -0
  197. package/_equalByTag.js +112 -0
  198. package/_equalObjects.js +90 -0
  199. package/_escapeHtmlChar.js +21 -0
  200. package/_escapeStringChar.js +22 -0
  201. package/_flatRest.js +16 -0
  202. package/_freeGlobal.js +4 -0
  203. package/_getAllKeys.js +16 -0
  204. package/_getAllKeysIn.js +17 -0
  205. package/_getData.js +15 -0
  206. package/_getFuncName.js +31 -0
  207. package/_getHolder.js +13 -0
  208. package/_getMapData.js +18 -0
  209. package/_getMatchData.js +24 -0
  210. package/_getNative.js +17 -0
  211. package/_getPrototype.js +6 -0
  212. package/_getRawTag.js +46 -0
  213. package/_getSymbols.js +30 -0
  214. package/_getSymbolsIn.js +25 -0
  215. package/_getTag.js +58 -0
  216. package/_getValue.js +13 -0
  217. package/_getView.js +33 -0
  218. package/_getWrapDetails.js +17 -0
  219. package/_hasPath.js +39 -0
  220. package/_hasUnicode.js +26 -0
  221. package/_hasUnicodeWord.js +15 -0
  222. package/_hashClear.js +15 -0
  223. package/_hashDelete.js +17 -0
  224. package/_hashGet.js +30 -0
  225. package/_hashHas.js +23 -0
  226. package/_hashSet.js +23 -0
  227. package/_initCloneArray.js +26 -0
  228. package/_initCloneByTag.js +77 -0
  229. package/_initCloneObject.js +18 -0
  230. package/_insertWrapDetails.js +23 -0
  231. package/_isFlattenable.js +20 -0
  232. package/_isIndex.js +25 -0
  233. package/_isIterateeCall.js +30 -0
  234. package/_isKey.js +29 -0
  235. package/_isKeyable.js +15 -0
  236. package/_isLaziable.js +28 -0
  237. package/_isMaskable.js +14 -0
  238. package/_isMasked.js +20 -0
  239. package/_isPrototype.js +18 -0
  240. package/_isStrictComparable.js +15 -0
  241. package/_iteratorToArray.js +18 -0
  242. package/_lazyClone.js +23 -0
  243. package/_lazyReverse.js +23 -0
  244. package/_lazyValue.js +69 -0
  245. package/_listCacheClear.js +13 -0
  246. package/_listCacheDelete.js +35 -0
  247. package/_listCacheGet.js +19 -0
  248. package/_listCacheHas.js +16 -0
  249. package/_listCacheSet.js +26 -0
  250. package/_mapCacheClear.js +21 -0
  251. package/_mapCacheDelete.js +18 -0
  252. package/_mapCacheGet.js +16 -0
  253. package/_mapCacheHas.js +16 -0
  254. package/_mapCacheSet.js +22 -0
  255. package/_mapToArray.js +18 -0
  256. package/_matchesStrictComparable.js +20 -0
  257. package/_memoizeCapped.js +26 -0
  258. package/_mergeData.js +90 -0
  259. package/_metaMap.js +6 -0
  260. package/_nativeCreate.js +6 -0
  261. package/_nativeKeys.js +6 -0
  262. package/_nativeKeysIn.js +20 -0
  263. package/_nodeUtil.js +30 -0
  264. package/_objectToString.js +22 -0
  265. package/_overArg.js +15 -0
  266. package/_overRest.js +36 -0
  267. package/_parent.js +16 -0
  268. package/_reEscape.js +4 -0
  269. package/_reEvaluate.js +4 -0
  270. package/_reInterpolate.js +4 -0
  271. package/_realNames.js +4 -0
  272. package/_reorder.js +29 -0
  273. package/_replaceHolders.js +29 -0
  274. package/_root.js +9 -0
  275. package/_safeGet.js +21 -0
  276. package/_setCacheAdd.js +19 -0
  277. package/_setCacheHas.js +14 -0
  278. package/_setData.js +20 -0
  279. package/_setToArray.js +18 -0
  280. package/_setToPairs.js +18 -0
  281. package/_setToString.js +14 -0
  282. package/_setWrapToString.js +21 -0
  283. package/_shortOut.js +37 -0
  284. package/_shuffleSelf.js +28 -0
  285. package/_stackClear.js +15 -0
  286. package/_stackDelete.js +18 -0
  287. package/_stackGet.js +14 -0
  288. package/_stackHas.js +14 -0
  289. package/_stackSet.js +34 -0
  290. package/_strictIndexOf.js +23 -0
  291. package/_strictLastIndexOf.js +21 -0
  292. package/_stringSize.js +18 -0
  293. package/_stringToArray.js +18 -0
  294. package/_stringToPath.js +27 -0
  295. package/_toKey.js +21 -0
  296. package/_toSource.js +26 -0
  297. package/_trimmedEndIndex.js +19 -0
  298. package/_unescapeHtmlChar.js +21 -0
  299. package/_unicodeSize.js +44 -0
  300. package/_unicodeToArray.js +40 -0
  301. package/_unicodeWords.js +69 -0
  302. package/_updateWrapDetails.js +46 -0
  303. package/_wrapperClone.js +23 -0
  304. package/add.js +22 -0
  305. package/after.js +42 -0
  306. package/array.js +67 -0
  307. package/ary.js +29 -0
  308. package/assign.js +58 -0
  309. package/assignIn.js +40 -0
  310. package/assignInWith.js +38 -0
  311. package/assignWith.js +37 -0
  312. package/at.js +23 -0
  313. package/attempt.js +35 -0
  314. package/before.js +40 -0
  315. package/bind.js +57 -0
  316. package/bindAll.js +41 -0
  317. package/bindKey.js +68 -0
  318. package/camelCase.js +29 -0
  319. package/capitalize.js +23 -0
  320. package/castArray.js +44 -0
  321. package/ceil.js +26 -0
  322. package/chain.js +38 -0
  323. package/chunk.js +50 -0
  324. package/clamp.js +39 -0
  325. package/clone.js +36 -0
  326. package/cloneDeep.js +29 -0
  327. package/cloneDeepWith.js +40 -0
  328. package/cloneWith.js +42 -0
  329. package/collection.js +30 -0
  330. package/commit.js +33 -0
  331. package/compact.js +31 -0
  332. package/concat.js +43 -0
  333. package/cond.js +60 -0
  334. package/conforms.js +35 -0
  335. package/conformsTo.js +32 -0
  336. package/constant.js +26 -0
  337. package/core.js +3877 -0
  338. package/core.min.js +29 -0
  339. package/countBy.js +40 -0
  340. package/create.js +43 -0
  341. package/curry.js +57 -0
  342. package/curryRight.js +54 -0
  343. package/date.js +3 -0
  344. package/debounce.js +191 -0
  345. package/deburr.js +45 -0
  346. package/defaultTo.js +25 -0
  347. package/defaults.js +64 -0
  348. package/defaultsDeep.js +30 -0
  349. package/defer.js +26 -0
  350. package/delay.js +28 -0
  351. package/difference.js +33 -0
  352. package/differenceBy.js +44 -0
  353. package/differenceWith.js +40 -0
  354. package/divide.js +22 -0
  355. package/drop.js +38 -0
  356. package/dropRight.js +39 -0
  357. package/dropRightWhile.js +45 -0
  358. package/dropWhile.js +45 -0
  359. package/each.js +1 -0
  360. package/eachRight.js +1 -0
  361. package/endsWith.js +43 -0
  362. package/entries.js +1 -0
  363. package/entriesIn.js +1 -0
  364. package/eq.js +37 -0
  365. package/escape.js +43 -0
  366. package/escapeRegExp.js +32 -0
  367. package/every.js +56 -0
  368. package/extend.js +1 -0
  369. package/extendWith.js +1 -0
  370. package/fill.js +45 -0
  371. package/filter.js +52 -0
  372. package/find.js +42 -0
  373. package/findIndex.js +55 -0
  374. package/findKey.js +44 -0
  375. package/findLast.js +25 -0
  376. package/findLastIndex.js +59 -0
  377. package/findLastKey.js +44 -0
  378. package/first.js +1 -0
  379. package/flatMap.js +29 -0
  380. package/flatMapDeep.js +31 -0
  381. package/flatMapDepth.js +31 -0
  382. package/flatten.js +22 -0
  383. package/flattenDeep.js +25 -0
  384. package/flattenDepth.js +33 -0
  385. package/flip.js +28 -0
  386. package/floor.js +26 -0
  387. package/flow.js +27 -0
  388. package/flowRight.js +26 -0
  389. package/forEach.js +41 -0
  390. package/forEachRight.js +31 -0
  391. package/forIn.js +39 -0
  392. package/forInRight.js +37 -0
  393. package/forOwn.js +36 -0
  394. package/forOwnRight.js +34 -0
  395. package/fp/F.js +1 -0
  396. package/fp/T.js +1 -0
  397. package/fp/__.js +1 -0
  398. package/fp/_baseConvert.js +569 -0
  399. package/fp/_convertBrowser.js +18 -0
  400. package/fp/_falseOptions.js +7 -0
  401. package/fp/_mapping.js +358 -0
  402. package/fp/_util.js +16 -0
  403. package/fp/add.js +5 -0
  404. package/fp/after.js +5 -0
  405. package/fp/all.js +1 -0
  406. package/fp/allPass.js +1 -0
  407. package/fp/always.js +1 -0
  408. package/fp/any.js +1 -0
  409. package/fp/anyPass.js +1 -0
  410. package/fp/apply.js +1 -0
  411. package/fp/array.js +2 -0
  412. package/fp/ary.js +5 -0
  413. package/fp/assign.js +5 -0
  414. package/fp/assignAll.js +5 -0
  415. package/fp/assignAllWith.js +5 -0
  416. package/fp/assignIn.js +5 -0
  417. package/fp/assignInAll.js +5 -0
  418. package/fp/assignInAllWith.js +5 -0
  419. package/fp/assignInWith.js +5 -0
  420. package/fp/assignWith.js +5 -0
  421. package/fp/assoc.js +1 -0
  422. package/fp/assocPath.js +1 -0
  423. package/fp/at.js +5 -0
  424. package/fp/attempt.js +5 -0
  425. package/fp/before.js +5 -0
  426. package/fp/bind.js +5 -0
  427. package/fp/bindAll.js +5 -0
  428. package/fp/bindKey.js +5 -0
  429. package/fp/camelCase.js +5 -0
  430. package/fp/capitalize.js +5 -0
  431. package/fp/castArray.js +5 -0
  432. package/fp/ceil.js +5 -0
  433. package/fp/chain.js +5 -0
  434. package/fp/chunk.js +5 -0
  435. package/fp/clamp.js +5 -0
  436. package/fp/clone.js +5 -0
  437. package/fp/cloneDeep.js +5 -0
  438. package/fp/cloneDeepWith.js +5 -0
  439. package/fp/cloneWith.js +5 -0
  440. package/fp/collection.js +2 -0
  441. package/fp/commit.js +5 -0
  442. package/fp/compact.js +5 -0
  443. package/fp/complement.js +1 -0
  444. package/fp/compose.js +1 -0
  445. package/fp/concat.js +5 -0
  446. package/fp/cond.js +5 -0
  447. package/fp/conforms.js +1 -0
  448. package/fp/conformsTo.js +5 -0
  449. package/fp/constant.js +5 -0
  450. package/fp/contains.js +1 -0
  451. package/fp/convert.js +18 -0
  452. package/fp/countBy.js +5 -0
  453. package/fp/create.js +5 -0
  454. package/fp/curry.js +5 -0
  455. package/fp/curryN.js +5 -0
  456. package/fp/curryRight.js +5 -0
  457. package/fp/curryRightN.js +5 -0
  458. package/fp/date.js +2 -0
  459. package/fp/debounce.js +5 -0
  460. package/fp/deburr.js +5 -0
  461. package/fp/defaultTo.js +5 -0
  462. package/fp/defaults.js +5 -0
  463. package/fp/defaultsAll.js +5 -0
  464. package/fp/defaultsDeep.js +5 -0
  465. package/fp/defaultsDeepAll.js +5 -0
  466. package/fp/defer.js +5 -0
  467. package/fp/delay.js +5 -0
  468. package/fp/difference.js +5 -0
  469. package/fp/differenceBy.js +5 -0
  470. package/fp/differenceWith.js +5 -0
  471. package/fp/dissoc.js +1 -0
  472. package/fp/dissocPath.js +1 -0
  473. package/fp/divide.js +5 -0
  474. package/fp/drop.js +5 -0
  475. package/fp/dropLast.js +1 -0
  476. package/fp/dropLastWhile.js +1 -0
  477. package/fp/dropRight.js +5 -0
  478. package/fp/dropRightWhile.js +5 -0
  479. package/fp/dropWhile.js +5 -0
  480. package/fp/each.js +1 -0
  481. package/fp/eachRight.js +1 -0
  482. package/fp/endsWith.js +5 -0
  483. package/fp/entries.js +1 -0
  484. package/fp/entriesIn.js +1 -0
  485. package/fp/eq.js +5 -0
  486. package/fp/equals.js +1 -0
  487. package/fp/escape.js +5 -0
  488. package/fp/escapeRegExp.js +5 -0
  489. package/fp/every.js +5 -0
  490. package/fp/extend.js +1 -0
  491. package/fp/extendAll.js +1 -0
  492. package/fp/extendAllWith.js +1 -0
  493. package/fp/extendWith.js +1 -0
  494. package/fp/fill.js +5 -0
  495. package/fp/filter.js +5 -0
  496. package/fp/find.js +5 -0
  497. package/fp/findFrom.js +5 -0
  498. package/fp/findIndex.js +5 -0
  499. package/fp/findIndexFrom.js +5 -0
  500. package/fp/findKey.js +5 -0
  501. package/fp/findLast.js +5 -0
  502. package/fp/findLastFrom.js +5 -0
  503. package/fp/findLastIndex.js +5 -0
  504. package/fp/findLastIndexFrom.js +5 -0
  505. package/fp/findLastKey.js +5 -0
  506. package/fp/first.js +1 -0
  507. package/fp/flatMap.js +5 -0
  508. package/fp/flatMapDeep.js +5 -0
  509. package/fp/flatMapDepth.js +5 -0
  510. package/fp/flatten.js +5 -0
  511. package/fp/flattenDeep.js +5 -0
  512. package/fp/flattenDepth.js +5 -0
  513. package/fp/flip.js +5 -0
  514. package/fp/floor.js +5 -0
  515. package/fp/flow.js +5 -0
  516. package/fp/flowRight.js +5 -0
  517. package/fp/forEach.js +5 -0
  518. package/fp/forEachRight.js +5 -0
  519. package/fp/forIn.js +5 -0
  520. package/fp/forInRight.js +5 -0
  521. package/fp/forOwn.js +5 -0
  522. package/fp/forOwnRight.js +5 -0
  523. package/fp/fromPairs.js +5 -0
  524. package/fp/function.js +2 -0
  525. package/fp/functions.js +5 -0
  526. package/fp/functionsIn.js +5 -0
  527. package/fp/get.js +5 -0
  528. package/fp/getOr.js +5 -0
  529. package/fp/groupBy.js +5 -0
  530. package/fp/gt.js +5 -0
  531. package/fp/gte.js +5 -0
  532. package/fp/has.js +5 -0
  533. package/fp/hasIn.js +5 -0
  534. package/fp/head.js +5 -0
  535. package/fp/identical.js +1 -0
  536. package/fp/identity.js +5 -0
  537. package/fp/inRange.js +5 -0
  538. package/fp/includes.js +5 -0
  539. package/fp/includesFrom.js +5 -0
  540. package/fp/indexBy.js +1 -0
  541. package/fp/indexOf.js +5 -0
  542. package/fp/indexOfFrom.js +5 -0
  543. package/fp/init.js +1 -0
  544. package/fp/initial.js +5 -0
  545. package/fp/intersection.js +5 -0
  546. package/fp/intersectionBy.js +5 -0
  547. package/fp/intersectionWith.js +5 -0
  548. package/fp/invert.js +5 -0
  549. package/fp/invertBy.js +5 -0
  550. package/fp/invertObj.js +1 -0
  551. package/fp/invoke.js +5 -0
  552. package/fp/invokeArgs.js +5 -0
  553. package/fp/invokeArgsMap.js +5 -0
  554. package/fp/invokeMap.js +5 -0
  555. package/fp/isArguments.js +5 -0
  556. package/fp/isArray.js +5 -0
  557. package/fp/isArrayBuffer.js +5 -0
  558. package/fp/isArrayLike.js +5 -0
  559. package/fp/isArrayLikeObject.js +5 -0
  560. package/fp/isBoolean.js +5 -0
  561. package/fp/isBuffer.js +5 -0
  562. package/fp/isDate.js +5 -0
  563. package/fp/isElement.js +5 -0
  564. package/fp/isEmpty.js +5 -0
  565. package/fp/isEqual.js +5 -0
  566. package/fp/isEqualWith.js +5 -0
  567. package/fp/isError.js +5 -0
  568. package/fp/isFinite.js +5 -0
  569. package/fp/isFunction.js +5 -0
  570. package/fp/isInteger.js +5 -0
  571. package/fp/isLength.js +5 -0
  572. package/fp/isMap.js +5 -0
  573. package/fp/isMatch.js +5 -0
  574. package/fp/isMatchWith.js +5 -0
  575. package/fp/isNaN.js +5 -0
  576. package/fp/isNative.js +5 -0
  577. package/fp/isNil.js +5 -0
  578. package/fp/isNull.js +5 -0
  579. package/fp/isNumber.js +5 -0
  580. package/fp/isObject.js +5 -0
  581. package/fp/isObjectLike.js +5 -0
  582. package/fp/isPlainObject.js +5 -0
  583. package/fp/isRegExp.js +5 -0
  584. package/fp/isSafeInteger.js +5 -0
  585. package/fp/isSet.js +5 -0
  586. package/fp/isString.js +5 -0
  587. package/fp/isSymbol.js +5 -0
  588. package/fp/isTypedArray.js +5 -0
  589. package/fp/isUndefined.js +5 -0
  590. package/fp/isWeakMap.js +5 -0
  591. package/fp/isWeakSet.js +5 -0
  592. package/fp/iteratee.js +5 -0
  593. package/fp/join.js +5 -0
  594. package/fp/juxt.js +1 -0
  595. package/fp/kebabCase.js +5 -0
  596. package/fp/keyBy.js +5 -0
  597. package/fp/keys.js +5 -0
  598. package/fp/keysIn.js +5 -0
  599. package/fp/lang.js +2 -0
  600. package/fp/last.js +5 -0
  601. package/fp/lastIndexOf.js +5 -0
  602. package/fp/lastIndexOfFrom.js +5 -0
  603. package/fp/lowerCase.js +5 -0
  604. package/fp/lowerFirst.js +5 -0
  605. package/fp/lt.js +5 -0
  606. package/fp/lte.js +5 -0
  607. package/fp/map.js +5 -0
  608. package/fp/mapKeys.js +5 -0
  609. package/fp/mapValues.js +5 -0
  610. package/fp/matches.js +1 -0
  611. package/fp/matchesProperty.js +5 -0
  612. package/fp/math.js +2 -0
  613. package/fp/max.js +5 -0
  614. package/fp/maxBy.js +5 -0
  615. package/fp/mean.js +5 -0
  616. package/fp/meanBy.js +5 -0
  617. package/fp/memoize.js +5 -0
  618. package/fp/merge.js +5 -0
  619. package/fp/mergeAll.js +5 -0
  620. package/fp/mergeAllWith.js +5 -0
  621. package/fp/mergeWith.js +5 -0
  622. package/fp/method.js +5 -0
  623. package/fp/methodOf.js +5 -0
  624. package/fp/min.js +5 -0
  625. package/fp/minBy.js +5 -0
  626. package/fp/mixin.js +5 -0
  627. package/fp/multiply.js +5 -0
  628. package/fp/nAry.js +1 -0
  629. package/fp/negate.js +5 -0
  630. package/fp/next.js +5 -0
  631. package/fp/noop.js +5 -0
  632. package/fp/now.js +5 -0
  633. package/fp/nth.js +5 -0
  634. package/fp/nthArg.js +5 -0
  635. package/fp/number.js +2 -0
  636. package/fp/object.js +2 -0
  637. package/fp/omit.js +5 -0
  638. package/fp/omitAll.js +1 -0
  639. package/fp/omitBy.js +5 -0
  640. package/fp/once.js +5 -0
  641. package/fp/orderBy.js +5 -0
  642. package/fp/over.js +5 -0
  643. package/fp/overArgs.js +5 -0
  644. package/fp/overEvery.js +5 -0
  645. package/fp/overSome.js +5 -0
  646. package/fp/pad.js +5 -0
  647. package/fp/padChars.js +5 -0
  648. package/fp/padCharsEnd.js +5 -0
  649. package/fp/padCharsStart.js +5 -0
  650. package/fp/padEnd.js +5 -0
  651. package/fp/padStart.js +5 -0
  652. package/fp/parseInt.js +5 -0
  653. package/fp/partial.js +5 -0
  654. package/fp/partialRight.js +5 -0
  655. package/fp/partition.js +5 -0
  656. package/fp/path.js +1 -0
  657. package/fp/pathEq.js +1 -0
  658. package/fp/pathOr.js +1 -0
  659. package/fp/paths.js +1 -0
  660. package/fp/pick.js +5 -0
  661. package/fp/pickAll.js +1 -0
  662. package/fp/pickBy.js +5 -0
  663. package/fp/pipe.js +1 -0
  664. package/fp/placeholder.js +6 -0
  665. package/fp/plant.js +5 -0
  666. package/fp/pluck.js +1 -0
  667. package/fp/prop.js +1 -0
  668. package/fp/propEq.js +1 -0
  669. package/fp/propOr.js +1 -0
  670. package/fp/property.js +1 -0
  671. package/fp/propertyOf.js +5 -0
  672. package/fp/props.js +1 -0
  673. package/fp/pull.js +5 -0
  674. package/fp/pullAll.js +5 -0
  675. package/fp/pullAllBy.js +5 -0
  676. package/fp/pullAllWith.js +5 -0
  677. package/fp/pullAt.js +5 -0
  678. package/fp/random.js +5 -0
  679. package/fp/range.js +5 -0
  680. package/fp/rangeRight.js +5 -0
  681. package/fp/rangeStep.js +5 -0
  682. package/fp/rangeStepRight.js +5 -0
  683. package/fp/rearg.js +5 -0
  684. package/fp/reduce.js +5 -0
  685. package/fp/reduceRight.js +5 -0
  686. package/fp/reject.js +5 -0
  687. package/fp/remove.js +5 -0
  688. package/fp/repeat.js +5 -0
  689. package/fp/replace.js +5 -0
  690. package/fp/rest.js +5 -0
  691. package/fp/restFrom.js +5 -0
  692. package/fp/result.js +5 -0
  693. package/fp/reverse.js +5 -0
  694. package/fp/round.js +5 -0
  695. package/fp/sample.js +5 -0
  696. package/fp/sampleSize.js +5 -0
  697. package/fp/seq.js +2 -0
  698. package/fp/set.js +5 -0
  699. package/fp/setWith.js +5 -0
  700. package/fp/shuffle.js +5 -0
  701. package/fp/size.js +5 -0
  702. package/fp/slice.js +5 -0
  703. package/fp/snakeCase.js +5 -0
  704. package/fp/some.js +5 -0
  705. package/fp/sortBy.js +5 -0
  706. package/fp/sortedIndex.js +5 -0
  707. package/fp/sortedIndexBy.js +5 -0
  708. package/fp/sortedIndexOf.js +5 -0
  709. package/fp/sortedLastIndex.js +5 -0
  710. package/fp/sortedLastIndexBy.js +5 -0
  711. package/fp/sortedLastIndexOf.js +5 -0
  712. package/fp/sortedUniq.js +5 -0
  713. package/fp/sortedUniqBy.js +5 -0
  714. package/fp/split.js +5 -0
  715. package/fp/spread.js +5 -0
  716. package/fp/spreadFrom.js +5 -0
  717. package/fp/startCase.js +5 -0
  718. package/fp/startsWith.js +5 -0
  719. package/fp/string.js +2 -0
  720. package/fp/stubArray.js +5 -0
  721. package/fp/stubFalse.js +5 -0
  722. package/fp/stubObject.js +5 -0
  723. package/fp/stubString.js +5 -0
  724. package/fp/stubTrue.js +5 -0
  725. package/fp/subtract.js +5 -0
  726. package/fp/sum.js +5 -0
  727. package/fp/sumBy.js +5 -0
  728. package/fp/symmetricDifference.js +1 -0
  729. package/fp/symmetricDifferenceBy.js +1 -0
  730. package/fp/symmetricDifferenceWith.js +1 -0
  731. package/fp/tail.js +5 -0
  732. package/fp/take.js +5 -0
  733. package/fp/takeLast.js +1 -0
  734. package/fp/takeLastWhile.js +1 -0
  735. package/fp/takeRight.js +5 -0
  736. package/fp/takeRightWhile.js +5 -0
  737. package/fp/takeWhile.js +5 -0
  738. package/fp/tap.js +5 -0
  739. package/fp/template.js +5 -0
  740. package/fp/templateSettings.js +5 -0
  741. package/fp/throttle.js +5 -0
  742. package/fp/thru.js +5 -0
  743. package/fp/times.js +5 -0
  744. package/fp/toArray.js +5 -0
  745. package/fp/toFinite.js +5 -0
  746. package/fp/toInteger.js +5 -0
  747. package/fp/toIterator.js +5 -0
  748. package/fp/toJSON.js +5 -0
  749. package/fp/toLength.js +5 -0
  750. package/fp/toLower.js +5 -0
  751. package/fp/toNumber.js +5 -0
  752. package/fp/toPairs.js +5 -0
  753. package/fp/toPairsIn.js +5 -0
  754. package/fp/toPath.js +5 -0
  755. package/fp/toPlainObject.js +5 -0
  756. package/fp/toSafeInteger.js +5 -0
  757. package/fp/toString.js +5 -0
  758. package/fp/toUpper.js +5 -0
  759. package/fp/transform.js +5 -0
  760. package/fp/trim.js +5 -0
  761. package/fp/trimChars.js +5 -0
  762. package/fp/trimCharsEnd.js +5 -0
  763. package/fp/trimCharsStart.js +5 -0
  764. package/fp/trimEnd.js +5 -0
  765. package/fp/trimStart.js +5 -0
  766. package/fp/truncate.js +5 -0
  767. package/fp/unapply.js +1 -0
  768. package/fp/unary.js +5 -0
  769. package/fp/unescape.js +5 -0
  770. package/fp/union.js +5 -0
  771. package/fp/unionBy.js +5 -0
  772. package/fp/unionWith.js +5 -0
  773. package/fp/uniq.js +5 -0
  774. package/fp/uniqBy.js +5 -0
  775. package/fp/uniqWith.js +5 -0
  776. package/fp/uniqueId.js +5 -0
  777. package/fp/unnest.js +1 -0
  778. package/fp/unset.js +5 -0
  779. package/fp/unzip.js +5 -0
  780. package/fp/unzipWith.js +5 -0
  781. package/fp/update.js +5 -0
  782. package/fp/updateWith.js +5 -0
  783. package/fp/upperCase.js +5 -0
  784. package/fp/upperFirst.js +5 -0
  785. package/fp/useWith.js +1 -0
  786. package/fp/util.js +2 -0
  787. package/fp/value.js +5 -0
  788. package/fp/valueOf.js +5 -0
  789. package/fp/values.js +5 -0
  790. package/fp/valuesIn.js +5 -0
  791. package/fp/where.js +1 -0
  792. package/fp/whereEq.js +1 -0
  793. package/fp/without.js +5 -0
  794. package/fp/words.js +5 -0
  795. package/fp/wrap.js +5 -0
  796. package/fp/wrapperAt.js +5 -0
  797. package/fp/wrapperChain.js +5 -0
  798. package/fp/wrapperLodash.js +5 -0
  799. package/fp/wrapperReverse.js +5 -0
  800. package/fp/wrapperValue.js +5 -0
  801. package/fp/xor.js +5 -0
  802. package/fp/xorBy.js +5 -0
  803. package/fp/xorWith.js +5 -0
  804. package/fp/zip.js +5 -0
  805. package/fp/zipAll.js +5 -0
  806. package/fp/zipObj.js +1 -0
  807. package/fp/zipObject.js +5 -0
  808. package/fp/zipObjectDeep.js +5 -0
  809. package/fp/zipWith.js +5 -0
  810. package/fp.js +2 -0
  811. package/fromPairs.js +28 -0
  812. package/function.js +25 -0
  813. package/functions.js +31 -0
  814. package/functionsIn.js +31 -0
  815. package/get.js +33 -0
  816. package/groupBy.js +41 -0
  817. package/gt.js +29 -0
  818. package/gte.js +30 -0
  819. package/has.js +35 -0
  820. package/hasIn.js +34 -0
  821. package/head.js +23 -0
  822. package/identity.js +21 -0
  823. package/inRange.js +55 -0
  824. package/includes.js +53 -0
  825. package/index.js +1 -0
  826. package/indexOf.js +42 -0
  827. package/initial.js +22 -0
  828. package/intersection.js +30 -0
  829. package/intersectionBy.js +45 -0
  830. package/intersectionWith.js +41 -0
  831. package/invert.js +42 -0
  832. package/invertBy.js +56 -0
  833. package/invoke.js +24 -0
  834. package/invokeMap.js +41 -0
  835. package/isArguments.js +36 -0
  836. package/isArray.js +26 -0
  837. package/isArrayBuffer.js +27 -0
  838. package/isArrayLike.js +33 -0
  839. package/isArrayLikeObject.js +33 -0
  840. package/isBoolean.js +29 -0
  841. package/isBuffer.js +38 -0
  842. package/isDate.js +27 -0
  843. package/isElement.js +25 -0
  844. package/isEmpty.js +77 -0
  845. package/isEqual.js +35 -0
  846. package/isEqualWith.js +41 -0
  847. package/isError.js +36 -0
  848. package/isFinite.js +36 -0
  849. package/isFunction.js +37 -0
  850. package/isInteger.js +33 -0
  851. package/isLength.js +35 -0
  852. package/isMap.js +27 -0
  853. package/isMatch.js +36 -0
  854. package/isMatchWith.js +41 -0
  855. package/isNaN.js +38 -0
  856. package/isNative.js +40 -0
  857. package/isNil.js +25 -0
  858. package/isNull.js +22 -0
  859. package/isNumber.js +38 -0
  860. package/isObject.js +31 -0
  861. package/isObjectLike.js +29 -0
  862. package/isPlainObject.js +62 -0
  863. package/isRegExp.js +27 -0
  864. package/isSafeInteger.js +37 -0
  865. package/isSet.js +27 -0
  866. package/isString.js +30 -0
  867. package/isSymbol.js +29 -0
  868. package/isTypedArray.js +27 -0
  869. package/isUndefined.js +22 -0
  870. package/isWeakMap.js +28 -0
  871. package/isWeakSet.js +28 -0
  872. package/iteratee.js +53 -0
  873. package/join.js +26 -0
  874. package/kebabCase.js +28 -0
  875. package/keyBy.js +36 -0
  876. package/keys.js +37 -0
  877. package/keysIn.js +32 -0
  878. package/lang.js +58 -0
  879. package/last.js +20 -0
  880. package/lastIndexOf.js +46 -0
  881. package/lodash.js +17209 -0
  882. package/lodash.min.js +138 -0
  883. package/lowerCase.js +27 -0
  884. package/lowerFirst.js +22 -0
  885. package/lt.js +29 -0
  886. package/lte.js +30 -0
  887. package/map.js +53 -0
  888. package/mapKeys.js +36 -0
  889. package/mapValues.js +43 -0
  890. package/matches.js +46 -0
  891. package/matchesProperty.js +44 -0
  892. package/math.js +17 -0
  893. package/max.js +29 -0
  894. package/maxBy.js +34 -0
  895. package/mean.js +22 -0
  896. package/meanBy.js +31 -0
  897. package/memoize.js +73 -0
  898. package/merge.js +39 -0
  899. package/mergeWith.js +39 -0
  900. package/method.js +34 -0
  901. package/methodOf.js +33 -0
  902. package/min.js +29 -0
  903. package/minBy.js +34 -0
  904. package/mixin.js +74 -0
  905. package/multiply.js +22 -0
  906. package/negate.js +40 -0
  907. package/next.js +35 -0
  908. package/noop.js +17 -0
  909. package/now.js +23 -0
  910. package/nth.js +29 -0
  911. package/nthArg.js +32 -0
  912. package/number.js +5 -0
  913. package/object.js +49 -0
  914. package/omit.js +57 -0
  915. package/omitBy.js +29 -0
  916. package/once.js +25 -0
  917. package/orderBy.js +47 -0
  918. package/over.js +24 -0
  919. package/overArgs.js +61 -0
  920. package/overEvery.js +34 -0
  921. package/overSome.js +37 -0
  922. package/package.json +27 -0
  923. package/pad.js +49 -0
  924. package/padEnd.js +39 -0
  925. package/padStart.js +39 -0
  926. package/parseInt.js +43 -0
  927. package/partial.js +50 -0
  928. package/partialRight.js +49 -0
  929. package/partition.js +43 -0
  930. package/pick.js +25 -0
  931. package/pickBy.js +37 -0
  932. package/plant.js +48 -0
  933. package/property.js +32 -0
  934. package/propertyOf.js +30 -0
  935. package/pull.js +29 -0
  936. package/pullAll.js +29 -0
  937. package/pullAllBy.js +33 -0
  938. package/pullAllWith.js +32 -0
  939. package/pullAt.js +43 -0
  940. package/random.js +82 -0
  941. package/range.js +46 -0
  942. package/rangeRight.js +41 -0
  943. package/rearg.js +33 -0
  944. package/reduce.js +51 -0
  945. package/reduceRight.js +36 -0
  946. package/reject.js +46 -0
  947. package/remove.js +53 -0
  948. package/repeat.js +37 -0
  949. package/replace.js +29 -0
  950. package/rest.js +40 -0
  951. package/result.js +56 -0
  952. package/reverse.js +34 -0
  953. package/round.js +26 -0
  954. package/sample.js +24 -0
  955. package/sampleSize.js +37 -0
  956. package/seq.js +16 -0
  957. package/set.js +35 -0
  958. package/setWith.js +32 -0
  959. package/shuffle.js +25 -0
  960. package/size.js +46 -0
  961. package/slice.js +37 -0
  962. package/snakeCase.js +28 -0
  963. package/some.js +51 -0
  964. package/sortBy.js +48 -0
  965. package/sortedIndex.js +24 -0
  966. package/sortedIndexBy.js +33 -0
  967. package/sortedIndexOf.js +31 -0
  968. package/sortedLastIndex.js +25 -0
  969. package/sortedLastIndexBy.js +33 -0
  970. package/sortedLastIndexOf.js +31 -0
  971. package/sortedUniq.js +24 -0
  972. package/sortedUniqBy.js +26 -0
  973. package/split.js +52 -0
  974. package/spread.js +63 -0
  975. package/startCase.js +29 -0
  976. package/startsWith.js +39 -0
  977. package/string.js +33 -0
  978. package/stubArray.js +23 -0
  979. package/stubFalse.js +18 -0
  980. package/stubObject.js +23 -0
  981. package/stubString.js +18 -0
  982. package/stubTrue.js +18 -0
  983. package/subtract.js +22 -0
  984. package/sum.js +24 -0
  985. package/sumBy.js +33 -0
  986. package/tail.js +22 -0
  987. package/take.js +37 -0
  988. package/takeRight.js +39 -0
  989. package/takeRightWhile.js +45 -0
  990. package/takeWhile.js +45 -0
  991. package/tap.js +29 -0
  992. package/template.js +272 -0
  993. package/templateSettings.js +67 -0
  994. package/throttle.js +69 -0
  995. package/thru.js +28 -0
  996. package/times.js +51 -0
  997. package/toArray.js +58 -0
  998. package/toFinite.js +42 -0
  999. package/toInteger.js +36 -0
  1000. package/toIterator.js +23 -0
  1001. package/toJSON.js +1 -0
  1002. package/toLength.js +38 -0
  1003. package/toLower.js +28 -0
  1004. package/toNumber.js +64 -0
  1005. package/toPairs.js +30 -0
  1006. package/toPairsIn.js +30 -0
  1007. package/toPath.js +33 -0
  1008. package/toPlainObject.js +32 -0
  1009. package/toSafeInteger.js +37 -0
  1010. package/toString.js +28 -0
  1011. package/toUpper.js +28 -0
  1012. package/transform.js +65 -0
  1013. package/trim.js +47 -0
  1014. package/trimEnd.js +41 -0
  1015. package/trimStart.js +43 -0
  1016. package/truncate.js +111 -0
  1017. package/unary.js +22 -0
  1018. package/unescape.js +34 -0
  1019. package/union.js +26 -0
  1020. package/unionBy.js +39 -0
  1021. package/unionWith.js +34 -0
  1022. package/uniq.js +25 -0
  1023. package/uniqBy.js +31 -0
  1024. package/uniqWith.js +28 -0
  1025. package/uniqueId.js +28 -0
  1026. package/unset.js +34 -0
  1027. package/unzip.js +45 -0
  1028. package/unzipWith.js +39 -0
  1029. package/update.js +35 -0
  1030. package/updateWith.js +33 -0
  1031. package/upperCase.js +27 -0
  1032. package/upperFirst.js +22 -0
  1033. package/util.js +34 -0
  1034. package/value.js +1 -0
  1035. package/valueOf.js +1 -0
  1036. package/values.js +34 -0
  1037. package/valuesIn.js +32 -0
  1038. package/without.js +31 -0
  1039. package/words.js +35 -0
  1040. package/wrap.js +30 -0
  1041. package/wrapperAt.js +48 -0
  1042. package/wrapperChain.js +34 -0
  1043. package/wrapperLodash.js +147 -0
  1044. package/wrapperReverse.js +44 -0
  1045. package/wrapperValue.js +21 -0
  1046. package/xor.js +28 -0
  1047. package/xorBy.js +39 -0
  1048. package/xorWith.js +34 -0
  1049. package/zip.js +22 -0
  1050. package/zipObject.js +24 -0
  1051. package/zipObjectDeep.js +23 -0
  1052. package/zipWith.js +32 -0
@@ -0,0 +1,94 @@
1
+ var assignMergeValue = require('./_assignMergeValue'),
2
+ cloneBuffer = require('./_cloneBuffer'),
3
+ cloneTypedArray = require('./_cloneTypedArray'),
4
+ copyArray = require('./_copyArray'),
5
+ initCloneObject = require('./_initCloneObject'),
6
+ isArguments = require('./isArguments'),
7
+ isArray = require('./isArray'),
8
+ isArrayLikeObject = require('./isArrayLikeObject'),
9
+ isBuffer = require('./isBuffer'),
10
+ isFunction = require('./isFunction'),
11
+ isObject = require('./isObject'),
12
+ isPlainObject = require('./isPlainObject'),
13
+ isTypedArray = require('./isTypedArray'),
14
+ safeGet = require('./_safeGet'),
15
+ toPlainObject = require('./toPlainObject');
16
+
17
+ /**
18
+ * A specialized version of `baseMerge` for arrays and objects which performs
19
+ * deep merges and tracks traversed objects enabling objects with circular
20
+ * references to be merged.
21
+ *
22
+ * @private
23
+ * @param {Object} object The destination object.
24
+ * @param {Object} source The source object.
25
+ * @param {string} key The key of the value to merge.
26
+ * @param {number} srcIndex The index of `source`.
27
+ * @param {Function} mergeFunc The function to merge values.
28
+ * @param {Function} [customizer] The function to customize assigned values.
29
+ * @param {Object} [stack] Tracks traversed source values and their merged
30
+ * counterparts.
31
+ */
32
+ function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {
33
+ var objValue = safeGet(object, key),
34
+ srcValue = safeGet(source, key),
35
+ stacked = stack.get(srcValue);
36
+
37
+ if (stacked) {
38
+ assignMergeValue(object, key, stacked);
39
+ return;
40
+ }
41
+ var newValue = customizer
42
+ ? customizer(objValue, srcValue, (key + ''), object, source, stack)
43
+ : undefined;
44
+
45
+ var isCommon = newValue === undefined;
46
+
47
+ if (isCommon) {
48
+ var isArr = isArray(srcValue),
49
+ isBuff = !isArr && isBuffer(srcValue),
50
+ isTyped = !isArr && !isBuff && isTypedArray(srcValue);
51
+
52
+ newValue = srcValue;
53
+ if (isArr || isBuff || isTyped) {
54
+ if (isArray(objValue)) {
55
+ newValue = objValue;
56
+ }
57
+ else if (isArrayLikeObject(objValue)) {
58
+ newValue = copyArray(objValue);
59
+ }
60
+ else if (isBuff) {
61
+ isCommon = false;
62
+ newValue = cloneBuffer(srcValue, true);
63
+ }
64
+ else if (isTyped) {
65
+ isCommon = false;
66
+ newValue = cloneTypedArray(srcValue, true);
67
+ }
68
+ else {
69
+ newValue = [];
70
+ }
71
+ }
72
+ else if (isPlainObject(srcValue) || isArguments(srcValue)) {
73
+ newValue = objValue;
74
+ if (isArguments(objValue)) {
75
+ newValue = toPlainObject(objValue);
76
+ }
77
+ else if (!isObject(objValue) || isFunction(objValue)) {
78
+ newValue = initCloneObject(srcValue);
79
+ }
80
+ }
81
+ else {
82
+ isCommon = false;
83
+ }
84
+ }
85
+ if (isCommon) {
86
+ // Recursively merge objects and arrays (susceptible to call stack limits).
87
+ stack.set(srcValue, newValue);
88
+ mergeFunc(newValue, srcValue, srcIndex, customizer, stack);
89
+ stack['delete'](srcValue);
90
+ }
91
+ assignMergeValue(object, key, newValue);
92
+ }
93
+
94
+ module.exports = baseMergeDeep;
package/_baseNth.js ADDED
@@ -0,0 +1,20 @@
1
+ var isIndex = require('./_isIndex');
2
+
3
+ /**
4
+ * The base implementation of `_.nth` which doesn't coerce arguments.
5
+ *
6
+ * @private
7
+ * @param {Array} array The array to query.
8
+ * @param {number} n The index of the element to return.
9
+ * @returns {*} Returns the nth element of `array`.
10
+ */
11
+ function baseNth(array, n) {
12
+ var length = array.length;
13
+ if (!length) {
14
+ return;
15
+ }
16
+ n += n < 0 ? length : 0;
17
+ return isIndex(n, length) ? array[n] : undefined;
18
+ }
19
+
20
+ module.exports = baseNth;
@@ -0,0 +1,49 @@
1
+ var arrayMap = require('./_arrayMap'),
2
+ baseGet = require('./_baseGet'),
3
+ baseIteratee = require('./_baseIteratee'),
4
+ baseMap = require('./_baseMap'),
5
+ baseSortBy = require('./_baseSortBy'),
6
+ baseUnary = require('./_baseUnary'),
7
+ compareMultiple = require('./_compareMultiple'),
8
+ identity = require('./identity'),
9
+ isArray = require('./isArray');
10
+
11
+ /**
12
+ * The base implementation of `_.orderBy` without param guards.
13
+ *
14
+ * @private
15
+ * @param {Array|Object} collection The collection to iterate over.
16
+ * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.
17
+ * @param {string[]} orders The sort orders of `iteratees`.
18
+ * @returns {Array} Returns the new sorted array.
19
+ */
20
+ function baseOrderBy(collection, iteratees, orders) {
21
+ if (iteratees.length) {
22
+ iteratees = arrayMap(iteratees, function(iteratee) {
23
+ if (isArray(iteratee)) {
24
+ return function(value) {
25
+ return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee);
26
+ }
27
+ }
28
+ return iteratee;
29
+ });
30
+ } else {
31
+ iteratees = [identity];
32
+ }
33
+
34
+ var index = -1;
35
+ iteratees = arrayMap(iteratees, baseUnary(baseIteratee));
36
+
37
+ var result = baseMap(collection, function(value, key, collection) {
38
+ var criteria = arrayMap(iteratees, function(iteratee) {
39
+ return iteratee(value);
40
+ });
41
+ return { 'criteria': criteria, 'index': ++index, 'value': value };
42
+ });
43
+
44
+ return baseSortBy(result, function(object, other) {
45
+ return compareMultiple(object, other, orders);
46
+ });
47
+ }
48
+
49
+ module.exports = baseOrderBy;
package/_basePick.js ADDED
@@ -0,0 +1,19 @@
1
+ var basePickBy = require('./_basePickBy'),
2
+ hasIn = require('./hasIn');
3
+
4
+ /**
5
+ * The base implementation of `_.pick` without support for individual
6
+ * property identifiers.
7
+ *
8
+ * @private
9
+ * @param {Object} object The source object.
10
+ * @param {string[]} paths The property paths to pick.
11
+ * @returns {Object} Returns the new object.
12
+ */
13
+ function basePick(object, paths) {
14
+ return basePickBy(object, paths, function(value, path) {
15
+ return hasIn(object, path);
16
+ });
17
+ }
18
+
19
+ module.exports = basePick;
package/_basePickBy.js ADDED
@@ -0,0 +1,30 @@
1
+ var baseGet = require('./_baseGet'),
2
+ baseSet = require('./_baseSet'),
3
+ castPath = require('./_castPath');
4
+
5
+ /**
6
+ * The base implementation of `_.pickBy` without support for iteratee shorthands.
7
+ *
8
+ * @private
9
+ * @param {Object} object The source object.
10
+ * @param {string[]} paths The property paths to pick.
11
+ * @param {Function} predicate The function invoked per property.
12
+ * @returns {Object} Returns the new object.
13
+ */
14
+ function basePickBy(object, paths, predicate) {
15
+ var index = -1,
16
+ length = paths.length,
17
+ result = {};
18
+
19
+ while (++index < length) {
20
+ var path = paths[index],
21
+ value = baseGet(object, path);
22
+
23
+ if (predicate(value, path)) {
24
+ baseSet(result, castPath(path, object), value);
25
+ }
26
+ }
27
+ return result;
28
+ }
29
+
30
+ module.exports = basePickBy;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * The base implementation of `_.property` without support for deep paths.
3
+ *
4
+ * @private
5
+ * @param {string} key The key of the property to get.
6
+ * @returns {Function} Returns the new accessor function.
7
+ */
8
+ function baseProperty(key) {
9
+ return function(object) {
10
+ return object == null ? undefined : object[key];
11
+ };
12
+ }
13
+
14
+ module.exports = baseProperty;
@@ -0,0 +1,16 @@
1
+ var baseGet = require('./_baseGet');
2
+
3
+ /**
4
+ * A specialized version of `baseProperty` which supports deep paths.
5
+ *
6
+ * @private
7
+ * @param {Array|string} path The path of the property to get.
8
+ * @returns {Function} Returns the new accessor function.
9
+ */
10
+ function basePropertyDeep(path) {
11
+ return function(object) {
12
+ return baseGet(object, path);
13
+ };
14
+ }
15
+
16
+ module.exports = basePropertyDeep;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * The base implementation of `_.propertyOf` without support for deep paths.
3
+ *
4
+ * @private
5
+ * @param {Object} object The object to query.
6
+ * @returns {Function} Returns the new accessor function.
7
+ */
8
+ function basePropertyOf(object) {
9
+ return function(key) {
10
+ return object == null ? undefined : object[key];
11
+ };
12
+ }
13
+
14
+ module.exports = basePropertyOf;
@@ -0,0 +1,51 @@
1
+ var arrayMap = require('./_arrayMap'),
2
+ baseIndexOf = require('./_baseIndexOf'),
3
+ baseIndexOfWith = require('./_baseIndexOfWith'),
4
+ baseUnary = require('./_baseUnary'),
5
+ copyArray = require('./_copyArray');
6
+
7
+ /** Used for built-in method references. */
8
+ var arrayProto = Array.prototype;
9
+
10
+ /** Built-in value references. */
11
+ var splice = arrayProto.splice;
12
+
13
+ /**
14
+ * The base implementation of `_.pullAllBy` without support for iteratee
15
+ * shorthands.
16
+ *
17
+ * @private
18
+ * @param {Array} array The array to modify.
19
+ * @param {Array} values The values to remove.
20
+ * @param {Function} [iteratee] The iteratee invoked per element.
21
+ * @param {Function} [comparator] The comparator invoked per element.
22
+ * @returns {Array} Returns `array`.
23
+ */
24
+ function basePullAll(array, values, iteratee, comparator) {
25
+ var indexOf = comparator ? baseIndexOfWith : baseIndexOf,
26
+ index = -1,
27
+ length = values.length,
28
+ seen = array;
29
+
30
+ if (array === values) {
31
+ values = copyArray(values);
32
+ }
33
+ if (iteratee) {
34
+ seen = arrayMap(array, baseUnary(iteratee));
35
+ }
36
+ while (++index < length) {
37
+ var fromIndex = 0,
38
+ value = values[index],
39
+ computed = iteratee ? iteratee(value) : value;
40
+
41
+ while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) {
42
+ if (seen !== array) {
43
+ splice.call(seen, fromIndex, 1);
44
+ }
45
+ splice.call(array, fromIndex, 1);
46
+ }
47
+ }
48
+ return array;
49
+ }
50
+
51
+ module.exports = basePullAll;
package/_basePullAt.js ADDED
@@ -0,0 +1,37 @@
1
+ var baseUnset = require('./_baseUnset'),
2
+ isIndex = require('./_isIndex');
3
+
4
+ /** Used for built-in method references. */
5
+ var arrayProto = Array.prototype;
6
+
7
+ /** Built-in value references. */
8
+ var splice = arrayProto.splice;
9
+
10
+ /**
11
+ * The base implementation of `_.pullAt` without support for individual
12
+ * indexes or capturing the removed elements.
13
+ *
14
+ * @private
15
+ * @param {Array} array The array to modify.
16
+ * @param {number[]} indexes The indexes of elements to remove.
17
+ * @returns {Array} Returns `array`.
18
+ */
19
+ function basePullAt(array, indexes) {
20
+ var length = array ? indexes.length : 0,
21
+ lastIndex = length - 1;
22
+
23
+ while (length--) {
24
+ var index = indexes[length];
25
+ if (length == lastIndex || index !== previous) {
26
+ var previous = index;
27
+ if (isIndex(index)) {
28
+ splice.call(array, index, 1);
29
+ } else {
30
+ baseUnset(array, index);
31
+ }
32
+ }
33
+ }
34
+ return array;
35
+ }
36
+
37
+ module.exports = basePullAt;
package/_baseRandom.js ADDED
@@ -0,0 +1,18 @@
1
+ /* Built-in method references for those with the same name as other `lodash` methods. */
2
+ var nativeFloor = Math.floor,
3
+ nativeRandom = Math.random;
4
+
5
+ /**
6
+ * The base implementation of `_.random` without support for returning
7
+ * floating-point numbers.
8
+ *
9
+ * @private
10
+ * @param {number} lower The lower bound.
11
+ * @param {number} upper The upper bound.
12
+ * @returns {number} Returns the random number.
13
+ */
14
+ function baseRandom(lower, upper) {
15
+ return lower + nativeFloor(nativeRandom() * (upper - lower + 1));
16
+ }
17
+
18
+ module.exports = baseRandom;
package/_baseRange.js ADDED
@@ -0,0 +1,28 @@
1
+ /* Built-in method references for those with the same name as other `lodash` methods. */
2
+ var nativeCeil = Math.ceil,
3
+ nativeMax = Math.max;
4
+
5
+ /**
6
+ * The base implementation of `_.range` and `_.rangeRight` which doesn't
7
+ * coerce arguments.
8
+ *
9
+ * @private
10
+ * @param {number} start The start of the range.
11
+ * @param {number} end The end of the range.
12
+ * @param {number} step The value to increment or decrement by.
13
+ * @param {boolean} [fromRight] Specify iterating from right to left.
14
+ * @returns {Array} Returns the range of numbers.
15
+ */
16
+ function baseRange(start, end, step, fromRight) {
17
+ var index = -1,
18
+ length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),
19
+ result = Array(length);
20
+
21
+ while (length--) {
22
+ result[fromRight ? length : ++index] = start;
23
+ start += step;
24
+ }
25
+ return result;
26
+ }
27
+
28
+ module.exports = baseRange;
package/_baseReduce.js ADDED
@@ -0,0 +1,23 @@
1
+ /**
2
+ * The base implementation of `_.reduce` and `_.reduceRight`, without support
3
+ * for iteratee shorthands, which iterates over `collection` using `eachFunc`.
4
+ *
5
+ * @private
6
+ * @param {Array|Object} collection The collection to iterate over.
7
+ * @param {Function} iteratee The function invoked per iteration.
8
+ * @param {*} accumulator The initial value.
9
+ * @param {boolean} initAccum Specify using the first or last element of
10
+ * `collection` as the initial value.
11
+ * @param {Function} eachFunc The function to iterate over `collection`.
12
+ * @returns {*} Returns the accumulated value.
13
+ */
14
+ function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {
15
+ eachFunc(collection, function(value, index, collection) {
16
+ accumulator = initAccum
17
+ ? (initAccum = false, value)
18
+ : iteratee(accumulator, value, index, collection);
19
+ });
20
+ return accumulator;
21
+ }
22
+
23
+ module.exports = baseReduce;
package/_baseRepeat.js ADDED
@@ -0,0 +1,35 @@
1
+ /** Used as references for various `Number` constants. */
2
+ var MAX_SAFE_INTEGER = 9007199254740991;
3
+
4
+ /* Built-in method references for those with the same name as other `lodash` methods. */
5
+ var nativeFloor = Math.floor;
6
+
7
+ /**
8
+ * The base implementation of `_.repeat` which doesn't coerce arguments.
9
+ *
10
+ * @private
11
+ * @param {string} string The string to repeat.
12
+ * @param {number} n The number of times to repeat the string.
13
+ * @returns {string} Returns the repeated string.
14
+ */
15
+ function baseRepeat(string, n) {
16
+ var result = '';
17
+ if (!string || n < 1 || n > MAX_SAFE_INTEGER) {
18
+ return result;
19
+ }
20
+ // Leverage the exponentiation by squaring algorithm for a faster repeat.
21
+ // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details.
22
+ do {
23
+ if (n % 2) {
24
+ result += string;
25
+ }
26
+ n = nativeFloor(n / 2);
27
+ if (n) {
28
+ string += string;
29
+ }
30
+ } while (n);
31
+
32
+ return result;
33
+ }
34
+
35
+ module.exports = baseRepeat;
package/_baseRest.js ADDED
@@ -0,0 +1,17 @@
1
+ var identity = require('./identity'),
2
+ overRest = require('./_overRest'),
3
+ setToString = require('./_setToString');
4
+
5
+ /**
6
+ * The base implementation of `_.rest` which doesn't validate or coerce arguments.
7
+ *
8
+ * @private
9
+ * @param {Function} func The function to apply a rest parameter to.
10
+ * @param {number} [start=func.length-1] The start position of the rest parameter.
11
+ * @returns {Function} Returns the new function.
12
+ */
13
+ function baseRest(func, start) {
14
+ return setToString(overRest(func, start, identity), func + '');
15
+ }
16
+
17
+ module.exports = baseRest;
package/_baseSample.js ADDED
@@ -0,0 +1,15 @@
1
+ var arraySample = require('./_arraySample'),
2
+ values = require('./values');
3
+
4
+ /**
5
+ * The base implementation of `_.sample`.
6
+ *
7
+ * @private
8
+ * @param {Array|Object} collection The collection to sample.
9
+ * @returns {*} Returns the random element.
10
+ */
11
+ function baseSample(collection) {
12
+ return arraySample(values(collection));
13
+ }
14
+
15
+ module.exports = baseSample;
@@ -0,0 +1,18 @@
1
+ var baseClamp = require('./_baseClamp'),
2
+ shuffleSelf = require('./_shuffleSelf'),
3
+ values = require('./values');
4
+
5
+ /**
6
+ * The base implementation of `_.sampleSize` without param guards.
7
+ *
8
+ * @private
9
+ * @param {Array|Object} collection The collection to sample.
10
+ * @param {number} n The number of elements to sample.
11
+ * @returns {Array} Returns the random elements.
12
+ */
13
+ function baseSampleSize(collection, n) {
14
+ var array = values(collection);
15
+ return shuffleSelf(array, baseClamp(n, 0, array.length));
16
+ }
17
+
18
+ module.exports = baseSampleSize;
package/_baseSet.js ADDED
@@ -0,0 +1,51 @@
1
+ var assignValue = require('./_assignValue'),
2
+ castPath = require('./_castPath'),
3
+ isIndex = require('./_isIndex'),
4
+ isObject = require('./isObject'),
5
+ toKey = require('./_toKey');
6
+
7
+ /**
8
+ * The base implementation of `_.set`.
9
+ *
10
+ * @private
11
+ * @param {Object} object The object to modify.
12
+ * @param {Array|string} path The path of the property to set.
13
+ * @param {*} value The value to set.
14
+ * @param {Function} [customizer] The function to customize path creation.
15
+ * @returns {Object} Returns `object`.
16
+ */
17
+ function baseSet(object, path, value, customizer) {
18
+ if (!isObject(object)) {
19
+ return object;
20
+ }
21
+ path = castPath(path, object);
22
+
23
+ var index = -1,
24
+ length = path.length,
25
+ lastIndex = length - 1,
26
+ nested = object;
27
+
28
+ while (nested != null && ++index < length) {
29
+ var key = toKey(path[index]),
30
+ newValue = value;
31
+
32
+ if (key === '__proto__' || key === 'constructor' || key === 'prototype') {
33
+ return object;
34
+ }
35
+
36
+ if (index != lastIndex) {
37
+ var objValue = nested[key];
38
+ newValue = customizer ? customizer(objValue, key, nested) : undefined;
39
+ if (newValue === undefined) {
40
+ newValue = isObject(objValue)
41
+ ? objValue
42
+ : (isIndex(path[index + 1]) ? [] : {});
43
+ }
44
+ }
45
+ assignValue(nested, key, newValue);
46
+ nested = nested[key];
47
+ }
48
+ return object;
49
+ }
50
+
51
+ module.exports = baseSet;
@@ -0,0 +1,17 @@
1
+ var identity = require('./identity'),
2
+ metaMap = require('./_metaMap');
3
+
4
+ /**
5
+ * The base implementation of `setData` without support for hot loop shorting.
6
+ *
7
+ * @private
8
+ * @param {Function} func The function to associate metadata with.
9
+ * @param {*} data The metadata.
10
+ * @returns {Function} Returns `func`.
11
+ */
12
+ var baseSetData = !metaMap ? identity : function(func, data) {
13
+ metaMap.set(func, data);
14
+ return func;
15
+ };
16
+
17
+ module.exports = baseSetData;
@@ -0,0 +1,22 @@
1
+ var constant = require('./constant'),
2
+ defineProperty = require('./_defineProperty'),
3
+ identity = require('./identity');
4
+
5
+ /**
6
+ * The base implementation of `setToString` without support for hot loop shorting.
7
+ *
8
+ * @private
9
+ * @param {Function} func The function to modify.
10
+ * @param {Function} string The `toString` result.
11
+ * @returns {Function} Returns `func`.
12
+ */
13
+ var baseSetToString = !defineProperty ? identity : function(func, string) {
14
+ return defineProperty(func, 'toString', {
15
+ 'configurable': true,
16
+ 'enumerable': false,
17
+ 'value': constant(string),
18
+ 'writable': true
19
+ });
20
+ };
21
+
22
+ module.exports = baseSetToString;
@@ -0,0 +1,15 @@
1
+ var shuffleSelf = require('./_shuffleSelf'),
2
+ values = require('./values');
3
+
4
+ /**
5
+ * The base implementation of `_.shuffle`.
6
+ *
7
+ * @private
8
+ * @param {Array|Object} collection The collection to shuffle.
9
+ * @returns {Array} Returns the new shuffled array.
10
+ */
11
+ function baseShuffle(collection) {
12
+ return shuffleSelf(values(collection));
13
+ }
14
+
15
+ module.exports = baseShuffle;
package/_baseSlice.js ADDED
@@ -0,0 +1,31 @@
1
+ /**
2
+ * The base implementation of `_.slice` without an iteratee call guard.
3
+ *
4
+ * @private
5
+ * @param {Array} array The array to slice.
6
+ * @param {number} [start=0] The start position.
7
+ * @param {number} [end=array.length] The end position.
8
+ * @returns {Array} Returns the slice of `array`.
9
+ */
10
+ function baseSlice(array, start, end) {
11
+ var index = -1,
12
+ length = array.length;
13
+
14
+ if (start < 0) {
15
+ start = -start > length ? 0 : (length + start);
16
+ }
17
+ end = end > length ? length : end;
18
+ if (end < 0) {
19
+ end += length;
20
+ }
21
+ length = start > end ? 0 : ((end - start) >>> 0);
22
+ start >>>= 0;
23
+
24
+ var result = Array(length);
25
+ while (++index < length) {
26
+ result[index] = array[index + start];
27
+ }
28
+ return result;
29
+ }
30
+
31
+ module.exports = baseSlice;
package/_baseSome.js ADDED
@@ -0,0 +1,22 @@
1
+ var baseEach = require('./_baseEach');
2
+
3
+ /**
4
+ * The base implementation of `_.some` without support for iteratee shorthands.
5
+ *
6
+ * @private
7
+ * @param {Array|Object} collection The collection to iterate over.
8
+ * @param {Function} predicate The function invoked per iteration.
9
+ * @returns {boolean} Returns `true` if any element passes the predicate check,
10
+ * else `false`.
11
+ */
12
+ function baseSome(collection, predicate) {
13
+ var result;
14
+
15
+ baseEach(collection, function(value, index, collection) {
16
+ result = predicate(value, index, collection);
17
+ return !result;
18
+ });
19
+ return !!result;
20
+ }
21
+
22
+ module.exports = baseSome;