@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,24 @@
1
+ /**
2
+ * A specialized version of `_.reduceRight` for arrays without support for
3
+ * iteratee shorthands.
4
+ *
5
+ * @private
6
+ * @param {Array} [array] The array 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 last element of `array` as
10
+ * the initial value.
11
+ * @returns {*} Returns the accumulated value.
12
+ */
13
+ function arrayReduceRight(array, iteratee, accumulator, initAccum) {
14
+ var length = array == null ? 0 : array.length;
15
+ if (initAccum && length) {
16
+ accumulator = array[--length];
17
+ }
18
+ while (length--) {
19
+ accumulator = iteratee(accumulator, array[length], length, array);
20
+ }
21
+ return accumulator;
22
+ }
23
+
24
+ module.exports = arrayReduceRight;
@@ -0,0 +1,15 @@
1
+ var baseRandom = require('./_baseRandom');
2
+
3
+ /**
4
+ * A specialized version of `_.sample` for arrays.
5
+ *
6
+ * @private
7
+ * @param {Array} array The array to sample.
8
+ * @returns {*} Returns the random element.
9
+ */
10
+ function arraySample(array) {
11
+ var length = array.length;
12
+ return length ? array[baseRandom(0, length - 1)] : undefined;
13
+ }
14
+
15
+ module.exports = arraySample;
@@ -0,0 +1,17 @@
1
+ var baseClamp = require('./_baseClamp'),
2
+ copyArray = require('./_copyArray'),
3
+ shuffleSelf = require('./_shuffleSelf');
4
+
5
+ /**
6
+ * A specialized version of `_.sampleSize` for arrays.
7
+ *
8
+ * @private
9
+ * @param {Array} array The array to sample.
10
+ * @param {number} n The number of elements to sample.
11
+ * @returns {Array} Returns the random elements.
12
+ */
13
+ function arraySampleSize(array, n) {
14
+ return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length));
15
+ }
16
+
17
+ module.exports = arraySampleSize;
@@ -0,0 +1,15 @@
1
+ var copyArray = require('./_copyArray'),
2
+ shuffleSelf = require('./_shuffleSelf');
3
+
4
+ /**
5
+ * A specialized version of `_.shuffle` for arrays.
6
+ *
7
+ * @private
8
+ * @param {Array} array The array to shuffle.
9
+ * @returns {Array} Returns the new shuffled array.
10
+ */
11
+ function arrayShuffle(array) {
12
+ return shuffleSelf(copyArray(array));
13
+ }
14
+
15
+ module.exports = arrayShuffle;
package/_arraySome.js ADDED
@@ -0,0 +1,23 @@
1
+ /**
2
+ * A specialized version of `_.some` for arrays without support for iteratee
3
+ * shorthands.
4
+ *
5
+ * @private
6
+ * @param {Array} [array] The array to iterate over.
7
+ * @param {Function} predicate The function invoked per iteration.
8
+ * @returns {boolean} Returns `true` if any element passes the predicate check,
9
+ * else `false`.
10
+ */
11
+ function arraySome(array, predicate) {
12
+ var index = -1,
13
+ length = array == null ? 0 : array.length;
14
+
15
+ while (++index < length) {
16
+ if (predicate(array[index], index, array)) {
17
+ return true;
18
+ }
19
+ }
20
+ return false;
21
+ }
22
+
23
+ module.exports = arraySome;
package/_asciiSize.js ADDED
@@ -0,0 +1,12 @@
1
+ var baseProperty = require('./_baseProperty');
2
+
3
+ /**
4
+ * Gets the size of an ASCII `string`.
5
+ *
6
+ * @private
7
+ * @param {string} string The string inspect.
8
+ * @returns {number} Returns the string size.
9
+ */
10
+ var asciiSize = baseProperty('length');
11
+
12
+ module.exports = asciiSize;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Converts an ASCII `string` to an array.
3
+ *
4
+ * @private
5
+ * @param {string} string The string to convert.
6
+ * @returns {Array} Returns the converted array.
7
+ */
8
+ function asciiToArray(string) {
9
+ return string.split('');
10
+ }
11
+
12
+ module.exports = asciiToArray;
package/_asciiWords.js ADDED
@@ -0,0 +1,15 @@
1
+ /** Used to match words composed of alphanumeric characters. */
2
+ var reAsciiWord = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;
3
+
4
+ /**
5
+ * Splits an ASCII `string` into an array of its words.
6
+ *
7
+ * @private
8
+ * @param {string} The string to inspect.
9
+ * @returns {Array} Returns the words of `string`.
10
+ */
11
+ function asciiWords(string) {
12
+ return string.match(reAsciiWord) || [];
13
+ }
14
+
15
+ module.exports = asciiWords;
@@ -0,0 +1,20 @@
1
+ var baseAssignValue = require('./_baseAssignValue'),
2
+ eq = require('./eq');
3
+
4
+ /**
5
+ * This function is like `assignValue` except that it doesn't assign
6
+ * `undefined` values.
7
+ *
8
+ * @private
9
+ * @param {Object} object The object to modify.
10
+ * @param {string} key The key of the property to assign.
11
+ * @param {*} value The value to assign.
12
+ */
13
+ function assignMergeValue(object, key, value) {
14
+ if ((value !== undefined && !eq(object[key], value)) ||
15
+ (value === undefined && !(key in object))) {
16
+ baseAssignValue(object, key, value);
17
+ }
18
+ }
19
+
20
+ module.exports = assignMergeValue;
@@ -0,0 +1,28 @@
1
+ var baseAssignValue = require('./_baseAssignValue'),
2
+ eq = require('./eq');
3
+
4
+ /** Used for built-in method references. */
5
+ var objectProto = Object.prototype;
6
+
7
+ /** Used to check objects for own properties. */
8
+ var hasOwnProperty = objectProto.hasOwnProperty;
9
+
10
+ /**
11
+ * Assigns `value` to `key` of `object` if the existing value is not equivalent
12
+ * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
13
+ * for equality comparisons.
14
+ *
15
+ * @private
16
+ * @param {Object} object The object to modify.
17
+ * @param {string} key The key of the property to assign.
18
+ * @param {*} value The value to assign.
19
+ */
20
+ function assignValue(object, key, value) {
21
+ var objValue = object[key];
22
+ if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||
23
+ (value === undefined && !(key in object))) {
24
+ baseAssignValue(object, key, value);
25
+ }
26
+ }
27
+
28
+ module.exports = assignValue;
@@ -0,0 +1,21 @@
1
+ var eq = require('./eq');
2
+
3
+ /**
4
+ * Gets the index at which the `key` is found in `array` of key-value pairs.
5
+ *
6
+ * @private
7
+ * @param {Array} array The array to inspect.
8
+ * @param {*} key The key to search for.
9
+ * @returns {number} Returns the index of the matched value, else `-1`.
10
+ */
11
+ function assocIndexOf(array, key) {
12
+ var length = array.length;
13
+ while (length--) {
14
+ if (eq(array[length][0], key)) {
15
+ return length;
16
+ }
17
+ }
18
+ return -1;
19
+ }
20
+
21
+ module.exports = assocIndexOf;
@@ -0,0 +1,21 @@
1
+ var baseEach = require('./_baseEach');
2
+
3
+ /**
4
+ * Aggregates elements of `collection` on `accumulator` with keys transformed
5
+ * by `iteratee` and values set by `setter`.
6
+ *
7
+ * @private
8
+ * @param {Array|Object} collection The collection to iterate over.
9
+ * @param {Function} setter The function to set `accumulator` values.
10
+ * @param {Function} iteratee The iteratee to transform keys.
11
+ * @param {Object} accumulator The initial aggregated object.
12
+ * @returns {Function} Returns `accumulator`.
13
+ */
14
+ function baseAggregator(collection, setter, iteratee, accumulator) {
15
+ baseEach(collection, function(value, key, collection) {
16
+ setter(accumulator, value, iteratee(value), collection);
17
+ });
18
+ return accumulator;
19
+ }
20
+
21
+ module.exports = baseAggregator;
package/_baseAssign.js ADDED
@@ -0,0 +1,17 @@
1
+ var copyObject = require('./_copyObject'),
2
+ keys = require('./keys');
3
+
4
+ /**
5
+ * The base implementation of `_.assign` without support for multiple sources
6
+ * or `customizer` functions.
7
+ *
8
+ * @private
9
+ * @param {Object} object The destination object.
10
+ * @param {Object} source The source object.
11
+ * @returns {Object} Returns `object`.
12
+ */
13
+ function baseAssign(object, source) {
14
+ return object && copyObject(source, keys(source), object);
15
+ }
16
+
17
+ module.exports = baseAssign;
@@ -0,0 +1,17 @@
1
+ var copyObject = require('./_copyObject'),
2
+ keysIn = require('./keysIn');
3
+
4
+ /**
5
+ * The base implementation of `_.assignIn` without support for multiple sources
6
+ * or `customizer` functions.
7
+ *
8
+ * @private
9
+ * @param {Object} object The destination object.
10
+ * @param {Object} source The source object.
11
+ * @returns {Object} Returns `object`.
12
+ */
13
+ function baseAssignIn(object, source) {
14
+ return object && copyObject(source, keysIn(source), object);
15
+ }
16
+
17
+ module.exports = baseAssignIn;
@@ -0,0 +1,25 @@
1
+ var defineProperty = require('./_defineProperty');
2
+
3
+ /**
4
+ * The base implementation of `assignValue` and `assignMergeValue` without
5
+ * value checks.
6
+ *
7
+ * @private
8
+ * @param {Object} object The object to modify.
9
+ * @param {string} key The key of the property to assign.
10
+ * @param {*} value The value to assign.
11
+ */
12
+ function baseAssignValue(object, key, value) {
13
+ if (key == '__proto__' && defineProperty) {
14
+ defineProperty(object, key, {
15
+ 'configurable': true,
16
+ 'enumerable': true,
17
+ 'value': value,
18
+ 'writable': true
19
+ });
20
+ } else {
21
+ object[key] = value;
22
+ }
23
+ }
24
+
25
+ module.exports = baseAssignValue;
package/_baseAt.js ADDED
@@ -0,0 +1,23 @@
1
+ var get = require('./get');
2
+
3
+ /**
4
+ * The base implementation of `_.at` without support for individual paths.
5
+ *
6
+ * @private
7
+ * @param {Object} object The object to iterate over.
8
+ * @param {string[]} paths The property paths to pick.
9
+ * @returns {Array} Returns the picked elements.
10
+ */
11
+ function baseAt(object, paths) {
12
+ var index = -1,
13
+ length = paths.length,
14
+ result = Array(length),
15
+ skip = object == null;
16
+
17
+ while (++index < length) {
18
+ result[index] = skip ? undefined : get(object, paths[index]);
19
+ }
20
+ return result;
21
+ }
22
+
23
+ module.exports = baseAt;
package/_baseClamp.js ADDED
@@ -0,0 +1,22 @@
1
+ /**
2
+ * The base implementation of `_.clamp` which doesn't coerce arguments.
3
+ *
4
+ * @private
5
+ * @param {number} number The number to clamp.
6
+ * @param {number} [lower] The lower bound.
7
+ * @param {number} upper The upper bound.
8
+ * @returns {number} Returns the clamped number.
9
+ */
10
+ function baseClamp(number, lower, upper) {
11
+ if (number === number) {
12
+ if (upper !== undefined) {
13
+ number = number <= upper ? number : upper;
14
+ }
15
+ if (lower !== undefined) {
16
+ number = number >= lower ? number : lower;
17
+ }
18
+ }
19
+ return number;
20
+ }
21
+
22
+ module.exports = baseClamp;
package/_baseClone.js ADDED
@@ -0,0 +1,166 @@
1
+ var Stack = require('./_Stack'),
2
+ arrayEach = require('./_arrayEach'),
3
+ assignValue = require('./_assignValue'),
4
+ baseAssign = require('./_baseAssign'),
5
+ baseAssignIn = require('./_baseAssignIn'),
6
+ cloneBuffer = require('./_cloneBuffer'),
7
+ copyArray = require('./_copyArray'),
8
+ copySymbols = require('./_copySymbols'),
9
+ copySymbolsIn = require('./_copySymbolsIn'),
10
+ getAllKeys = require('./_getAllKeys'),
11
+ getAllKeysIn = require('./_getAllKeysIn'),
12
+ getTag = require('./_getTag'),
13
+ initCloneArray = require('./_initCloneArray'),
14
+ initCloneByTag = require('./_initCloneByTag'),
15
+ initCloneObject = require('./_initCloneObject'),
16
+ isArray = require('./isArray'),
17
+ isBuffer = require('./isBuffer'),
18
+ isMap = require('./isMap'),
19
+ isObject = require('./isObject'),
20
+ isSet = require('./isSet'),
21
+ keys = require('./keys'),
22
+ keysIn = require('./keysIn');
23
+
24
+ /** Used to compose bitmasks for cloning. */
25
+ var CLONE_DEEP_FLAG = 1,
26
+ CLONE_FLAT_FLAG = 2,
27
+ CLONE_SYMBOLS_FLAG = 4;
28
+
29
+ /** `Object#toString` result references. */
30
+ var argsTag = '[object Arguments]',
31
+ arrayTag = '[object Array]',
32
+ boolTag = '[object Boolean]',
33
+ dateTag = '[object Date]',
34
+ errorTag = '[object Error]',
35
+ funcTag = '[object Function]',
36
+ genTag = '[object GeneratorFunction]',
37
+ mapTag = '[object Map]',
38
+ numberTag = '[object Number]',
39
+ objectTag = '[object Object]',
40
+ regexpTag = '[object RegExp]',
41
+ setTag = '[object Set]',
42
+ stringTag = '[object String]',
43
+ symbolTag = '[object Symbol]',
44
+ weakMapTag = '[object WeakMap]';
45
+
46
+ var arrayBufferTag = '[object ArrayBuffer]',
47
+ dataViewTag = '[object DataView]',
48
+ float32Tag = '[object Float32Array]',
49
+ float64Tag = '[object Float64Array]',
50
+ int8Tag = '[object Int8Array]',
51
+ int16Tag = '[object Int16Array]',
52
+ int32Tag = '[object Int32Array]',
53
+ uint8Tag = '[object Uint8Array]',
54
+ uint8ClampedTag = '[object Uint8ClampedArray]',
55
+ uint16Tag = '[object Uint16Array]',
56
+ uint32Tag = '[object Uint32Array]';
57
+
58
+ /** Used to identify `toStringTag` values supported by `_.clone`. */
59
+ var cloneableTags = {};
60
+ cloneableTags[argsTag] = cloneableTags[arrayTag] =
61
+ cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =
62
+ cloneableTags[boolTag] = cloneableTags[dateTag] =
63
+ cloneableTags[float32Tag] = cloneableTags[float64Tag] =
64
+ cloneableTags[int8Tag] = cloneableTags[int16Tag] =
65
+ cloneableTags[int32Tag] = cloneableTags[mapTag] =
66
+ cloneableTags[numberTag] = cloneableTags[objectTag] =
67
+ cloneableTags[regexpTag] = cloneableTags[setTag] =
68
+ cloneableTags[stringTag] = cloneableTags[symbolTag] =
69
+ cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =
70
+ cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;
71
+ cloneableTags[errorTag] = cloneableTags[funcTag] =
72
+ cloneableTags[weakMapTag] = false;
73
+
74
+ /**
75
+ * The base implementation of `_.clone` and `_.cloneDeep` which tracks
76
+ * traversed objects.
77
+ *
78
+ * @private
79
+ * @param {*} value The value to clone.
80
+ * @param {boolean} bitmask The bitmask flags.
81
+ * 1 - Deep clone
82
+ * 2 - Flatten inherited properties
83
+ * 4 - Clone symbols
84
+ * @param {Function} [customizer] The function to customize cloning.
85
+ * @param {string} [key] The key of `value`.
86
+ * @param {Object} [object] The parent object of `value`.
87
+ * @param {Object} [stack] Tracks traversed objects and their clone counterparts.
88
+ * @returns {*} Returns the cloned value.
89
+ */
90
+ function baseClone(value, bitmask, customizer, key, object, stack) {
91
+ var result,
92
+ isDeep = bitmask & CLONE_DEEP_FLAG,
93
+ isFlat = bitmask & CLONE_FLAT_FLAG,
94
+ isFull = bitmask & CLONE_SYMBOLS_FLAG;
95
+
96
+ if (customizer) {
97
+ result = object ? customizer(value, key, object, stack) : customizer(value);
98
+ }
99
+ if (result !== undefined) {
100
+ return result;
101
+ }
102
+ if (!isObject(value)) {
103
+ return value;
104
+ }
105
+ var isArr = isArray(value);
106
+ if (isArr) {
107
+ result = initCloneArray(value);
108
+ if (!isDeep) {
109
+ return copyArray(value, result);
110
+ }
111
+ } else {
112
+ var tag = getTag(value),
113
+ isFunc = tag == funcTag || tag == genTag;
114
+
115
+ if (isBuffer(value)) {
116
+ return cloneBuffer(value, isDeep);
117
+ }
118
+ if (tag == objectTag || tag == argsTag || (isFunc && !object)) {
119
+ result = (isFlat || isFunc) ? {} : initCloneObject(value);
120
+ if (!isDeep) {
121
+ return isFlat
122
+ ? copySymbolsIn(value, baseAssignIn(result, value))
123
+ : copySymbols(value, baseAssign(result, value));
124
+ }
125
+ } else {
126
+ if (!cloneableTags[tag]) {
127
+ return object ? value : {};
128
+ }
129
+ result = initCloneByTag(value, tag, isDeep);
130
+ }
131
+ }
132
+ // Check for circular references and return its corresponding clone.
133
+ stack || (stack = new Stack);
134
+ var stacked = stack.get(value);
135
+ if (stacked) {
136
+ return stacked;
137
+ }
138
+ stack.set(value, result);
139
+
140
+ if (isSet(value)) {
141
+ value.forEach(function(subValue) {
142
+ result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));
143
+ });
144
+ } else if (isMap(value)) {
145
+ value.forEach(function(subValue, key) {
146
+ result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));
147
+ });
148
+ }
149
+
150
+ var keysFunc = isFull
151
+ ? (isFlat ? getAllKeysIn : getAllKeys)
152
+ : (isFlat ? keysIn : keys);
153
+
154
+ var props = isArr ? undefined : keysFunc(value);
155
+ arrayEach(props || value, function(subValue, key) {
156
+ if (props) {
157
+ key = subValue;
158
+ subValue = value[key];
159
+ }
160
+ // Recursively populate clone (susceptible to call stack limits).
161
+ assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));
162
+ });
163
+ return result;
164
+ }
165
+
166
+ module.exports = baseClone;
@@ -0,0 +1,18 @@
1
+ var baseConformsTo = require('./_baseConformsTo'),
2
+ keys = require('./keys');
3
+
4
+ /**
5
+ * The base implementation of `_.conforms` which doesn't clone `source`.
6
+ *
7
+ * @private
8
+ * @param {Object} source The object of property predicates to conform to.
9
+ * @returns {Function} Returns the new spec function.
10
+ */
11
+ function baseConforms(source) {
12
+ var props = keys(source);
13
+ return function(object) {
14
+ return baseConformsTo(object, source, props);
15
+ };
16
+ }
17
+
18
+ module.exports = baseConforms;
@@ -0,0 +1,27 @@
1
+ /**
2
+ * The base implementation of `_.conformsTo` which accepts `props` to check.
3
+ *
4
+ * @private
5
+ * @param {Object} object The object to inspect.
6
+ * @param {Object} source The object of property predicates to conform to.
7
+ * @returns {boolean} Returns `true` if `object` conforms, else `false`.
8
+ */
9
+ function baseConformsTo(object, source, props) {
10
+ var length = props.length;
11
+ if (object == null) {
12
+ return !length;
13
+ }
14
+ object = Object(object);
15
+ while (length--) {
16
+ var key = props[length],
17
+ predicate = source[key],
18
+ value = object[key];
19
+
20
+ if ((value === undefined && !(key in object)) || !predicate(value)) {
21
+ return false;
22
+ }
23
+ }
24
+ return true;
25
+ }
26
+
27
+ module.exports = baseConformsTo;
package/_baseCreate.js ADDED
@@ -0,0 +1,30 @@
1
+ var isObject = require('./isObject');
2
+
3
+ /** Built-in value references. */
4
+ var objectCreate = Object.create;
5
+
6
+ /**
7
+ * The base implementation of `_.create` without support for assigning
8
+ * properties to the created object.
9
+ *
10
+ * @private
11
+ * @param {Object} proto The object to inherit from.
12
+ * @returns {Object} Returns the new object.
13
+ */
14
+ var baseCreate = (function() {
15
+ function object() {}
16
+ return function(proto) {
17
+ if (!isObject(proto)) {
18
+ return {};
19
+ }
20
+ if (objectCreate) {
21
+ return objectCreate(proto);
22
+ }
23
+ object.prototype = proto;
24
+ var result = new object;
25
+ object.prototype = undefined;
26
+ return result;
27
+ };
28
+ }());
29
+
30
+ module.exports = baseCreate;
package/_baseDelay.js ADDED
@@ -0,0 +1,21 @@
1
+ /** Error message constants. */
2
+ var FUNC_ERROR_TEXT = 'Expected a function';
3
+
4
+ /**
5
+ * The base implementation of `_.delay` and `_.defer` which accepts `args`
6
+ * to provide to `func`.
7
+ *
8
+ * @private
9
+ * @param {Function} func The function to delay.
10
+ * @param {number} wait The number of milliseconds to delay invocation.
11
+ * @param {Array} args The arguments to provide to `func`.
12
+ * @returns {number|Object} Returns the timer id or timeout object.
13
+ */
14
+ function baseDelay(func, wait, args) {
15
+ if (typeof func != 'function') {
16
+ throw new TypeError(FUNC_ERROR_TEXT);
17
+ }
18
+ return setTimeout(function() { func.apply(undefined, args); }, wait);
19
+ }
20
+
21
+ module.exports = baseDelay;
@@ -0,0 +1,67 @@
1
+ var SetCache = require('./_SetCache'),
2
+ arrayIncludes = require('./_arrayIncludes'),
3
+ arrayIncludesWith = require('./_arrayIncludesWith'),
4
+ arrayMap = require('./_arrayMap'),
5
+ baseUnary = require('./_baseUnary'),
6
+ cacheHas = require('./_cacheHas');
7
+
8
+ /** Used as the size to enable large array optimizations. */
9
+ var LARGE_ARRAY_SIZE = 200;
10
+
11
+ /**
12
+ * The base implementation of methods like `_.difference` without support
13
+ * for excluding multiple arrays or iteratee shorthands.
14
+ *
15
+ * @private
16
+ * @param {Array} array The array to inspect.
17
+ * @param {Array} values The values to exclude.
18
+ * @param {Function} [iteratee] The iteratee invoked per element.
19
+ * @param {Function} [comparator] The comparator invoked per element.
20
+ * @returns {Array} Returns the new array of filtered values.
21
+ */
22
+ function baseDifference(array, values, iteratee, comparator) {
23
+ var index = -1,
24
+ includes = arrayIncludes,
25
+ isCommon = true,
26
+ length = array.length,
27
+ result = [],
28
+ valuesLength = values.length;
29
+
30
+ if (!length) {
31
+ return result;
32
+ }
33
+ if (iteratee) {
34
+ values = arrayMap(values, baseUnary(iteratee));
35
+ }
36
+ if (comparator) {
37
+ includes = arrayIncludesWith;
38
+ isCommon = false;
39
+ }
40
+ else if (values.length >= LARGE_ARRAY_SIZE) {
41
+ includes = cacheHas;
42
+ isCommon = false;
43
+ values = new SetCache(values);
44
+ }
45
+ outer:
46
+ while (++index < length) {
47
+ var value = array[index],
48
+ computed = iteratee == null ? value : iteratee(value);
49
+
50
+ value = (comparator || value !== 0) ? value : 0;
51
+ if (isCommon && computed === computed) {
52
+ var valuesIndex = valuesLength;
53
+ while (valuesIndex--) {
54
+ if (values[valuesIndex] === computed) {
55
+ continue outer;
56
+ }
57
+ }
58
+ result.push(value);
59
+ }
60
+ else if (!includes(values, computed, comparator)) {
61
+ result.push(value);
62
+ }
63
+ }
64
+ return result;
65
+ }
66
+
67
+ module.exports = baseDifference;