@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
package/partial.js ADDED
@@ -0,0 +1,50 @@
1
+ var baseRest = require('./_baseRest'),
2
+ createWrap = require('./_createWrap'),
3
+ getHolder = require('./_getHolder'),
4
+ replaceHolders = require('./_replaceHolders');
5
+
6
+ /** Used to compose bitmasks for function metadata. */
7
+ var WRAP_PARTIAL_FLAG = 32;
8
+
9
+ /**
10
+ * Creates a function that invokes `func` with `partials` prepended to the
11
+ * arguments it receives. This method is like `_.bind` except it does **not**
12
+ * alter the `this` binding.
13
+ *
14
+ * The `_.partial.placeholder` value, which defaults to `_` in monolithic
15
+ * builds, may be used as a placeholder for partially applied arguments.
16
+ *
17
+ * **Note:** This method doesn't set the "length" property of partially
18
+ * applied functions.
19
+ *
20
+ * @static
21
+ * @memberOf _
22
+ * @since 0.2.0
23
+ * @category Function
24
+ * @param {Function} func The function to partially apply arguments to.
25
+ * @param {...*} [partials] The arguments to be partially applied.
26
+ * @returns {Function} Returns the new partially applied function.
27
+ * @example
28
+ *
29
+ * function greet(greeting, name) {
30
+ * return greeting + ' ' + name;
31
+ * }
32
+ *
33
+ * var sayHelloTo = _.partial(greet, 'hello');
34
+ * sayHelloTo('fred');
35
+ * // => 'hello fred'
36
+ *
37
+ * // Partially applied with placeholders.
38
+ * var greetFred = _.partial(greet, _, 'fred');
39
+ * greetFred('hi');
40
+ * // => 'hi fred'
41
+ */
42
+ var partial = baseRest(function(func, partials) {
43
+ var holders = replaceHolders(partials, getHolder(partial));
44
+ return createWrap(func, WRAP_PARTIAL_FLAG, undefined, partials, holders);
45
+ });
46
+
47
+ // Assign default placeholders.
48
+ partial.placeholder = {};
49
+
50
+ module.exports = partial;
@@ -0,0 +1,49 @@
1
+ var baseRest = require('./_baseRest'),
2
+ createWrap = require('./_createWrap'),
3
+ getHolder = require('./_getHolder'),
4
+ replaceHolders = require('./_replaceHolders');
5
+
6
+ /** Used to compose bitmasks for function metadata. */
7
+ var WRAP_PARTIAL_RIGHT_FLAG = 64;
8
+
9
+ /**
10
+ * This method is like `_.partial` except that partially applied arguments
11
+ * are appended to the arguments it receives.
12
+ *
13
+ * The `_.partialRight.placeholder` value, which defaults to `_` in monolithic
14
+ * builds, may be used as a placeholder for partially applied arguments.
15
+ *
16
+ * **Note:** This method doesn't set the "length" property of partially
17
+ * applied functions.
18
+ *
19
+ * @static
20
+ * @memberOf _
21
+ * @since 1.0.0
22
+ * @category Function
23
+ * @param {Function} func The function to partially apply arguments to.
24
+ * @param {...*} [partials] The arguments to be partially applied.
25
+ * @returns {Function} Returns the new partially applied function.
26
+ * @example
27
+ *
28
+ * function greet(greeting, name) {
29
+ * return greeting + ' ' + name;
30
+ * }
31
+ *
32
+ * var greetFred = _.partialRight(greet, 'fred');
33
+ * greetFred('hi');
34
+ * // => 'hi fred'
35
+ *
36
+ * // Partially applied with placeholders.
37
+ * var sayHelloTo = _.partialRight(greet, 'hello', _);
38
+ * sayHelloTo('fred');
39
+ * // => 'hello fred'
40
+ */
41
+ var partialRight = baseRest(function(func, partials) {
42
+ var holders = replaceHolders(partials, getHolder(partialRight));
43
+ return createWrap(func, WRAP_PARTIAL_RIGHT_FLAG, undefined, partials, holders);
44
+ });
45
+
46
+ // Assign default placeholders.
47
+ partialRight.placeholder = {};
48
+
49
+ module.exports = partialRight;
package/partition.js ADDED
@@ -0,0 +1,43 @@
1
+ var createAggregator = require('./_createAggregator');
2
+
3
+ /**
4
+ * Creates an array of elements split into two groups, the first of which
5
+ * contains elements `predicate` returns truthy for, the second of which
6
+ * contains elements `predicate` returns falsey for. The predicate is
7
+ * invoked with one argument: (value).
8
+ *
9
+ * @static
10
+ * @memberOf _
11
+ * @since 3.0.0
12
+ * @category Collection
13
+ * @param {Array|Object} collection The collection to iterate over.
14
+ * @param {Function} [predicate=_.identity] The function invoked per iteration.
15
+ * @returns {Array} Returns the array of grouped elements.
16
+ * @example
17
+ *
18
+ * var users = [
19
+ * { 'user': 'barney', 'age': 36, 'active': false },
20
+ * { 'user': 'fred', 'age': 40, 'active': true },
21
+ * { 'user': 'pebbles', 'age': 1, 'active': false }
22
+ * ];
23
+ *
24
+ * _.partition(users, function(o) { return o.active; });
25
+ * // => objects for [['fred'], ['barney', 'pebbles']]
26
+ *
27
+ * // The `_.matches` iteratee shorthand.
28
+ * _.partition(users, { 'age': 1, 'active': false });
29
+ * // => objects for [['pebbles'], ['barney', 'fred']]
30
+ *
31
+ * // The `_.matchesProperty` iteratee shorthand.
32
+ * _.partition(users, ['active', false]);
33
+ * // => objects for [['barney', 'pebbles'], ['fred']]
34
+ *
35
+ * // The `_.property` iteratee shorthand.
36
+ * _.partition(users, 'active');
37
+ * // => objects for [['fred'], ['barney', 'pebbles']]
38
+ */
39
+ var partition = createAggregator(function(result, value, key) {
40
+ result[key ? 0 : 1].push(value);
41
+ }, function() { return [[], []]; });
42
+
43
+ module.exports = partition;
package/pick.js ADDED
@@ -0,0 +1,25 @@
1
+ var basePick = require('./_basePick'),
2
+ flatRest = require('./_flatRest');
3
+
4
+ /**
5
+ * Creates an object composed of the picked `object` properties.
6
+ *
7
+ * @static
8
+ * @since 0.1.0
9
+ * @memberOf _
10
+ * @category Object
11
+ * @param {Object} object The source object.
12
+ * @param {...(string|string[])} [paths] The property paths to pick.
13
+ * @returns {Object} Returns the new object.
14
+ * @example
15
+ *
16
+ * var object = { 'a': 1, 'b': '2', 'c': 3 };
17
+ *
18
+ * _.pick(object, ['a', 'c']);
19
+ * // => { 'a': 1, 'c': 3 }
20
+ */
21
+ var pick = flatRest(function(object, paths) {
22
+ return object == null ? {} : basePick(object, paths);
23
+ });
24
+
25
+ module.exports = pick;
package/pickBy.js ADDED
@@ -0,0 +1,37 @@
1
+ var arrayMap = require('./_arrayMap'),
2
+ baseIteratee = require('./_baseIteratee'),
3
+ basePickBy = require('./_basePickBy'),
4
+ getAllKeysIn = require('./_getAllKeysIn');
5
+
6
+ /**
7
+ * Creates an object composed of the `object` properties `predicate` returns
8
+ * truthy for. The predicate is invoked with two arguments: (value, key).
9
+ *
10
+ * @static
11
+ * @memberOf _
12
+ * @since 4.0.0
13
+ * @category Object
14
+ * @param {Object} object The source object.
15
+ * @param {Function} [predicate=_.identity] The function invoked per property.
16
+ * @returns {Object} Returns the new object.
17
+ * @example
18
+ *
19
+ * var object = { 'a': 1, 'b': '2', 'c': 3 };
20
+ *
21
+ * _.pickBy(object, _.isNumber);
22
+ * // => { 'a': 1, 'c': 3 }
23
+ */
24
+ function pickBy(object, predicate) {
25
+ if (object == null) {
26
+ return {};
27
+ }
28
+ var props = arrayMap(getAllKeysIn(object), function(prop) {
29
+ return [prop];
30
+ });
31
+ predicate = baseIteratee(predicate);
32
+ return basePickBy(object, props, function(value, path) {
33
+ return predicate(value, path[0]);
34
+ });
35
+ }
36
+
37
+ module.exports = pickBy;
package/plant.js ADDED
@@ -0,0 +1,48 @@
1
+ var baseLodash = require('./_baseLodash'),
2
+ wrapperClone = require('./_wrapperClone');
3
+
4
+ /**
5
+ * Creates a clone of the chain sequence planting `value` as the wrapped value.
6
+ *
7
+ * @name plant
8
+ * @memberOf _
9
+ * @since 3.2.0
10
+ * @category Seq
11
+ * @param {*} value The value to plant.
12
+ * @returns {Object} Returns the new `lodash` wrapper instance.
13
+ * @example
14
+ *
15
+ * function square(n) {
16
+ * return n * n;
17
+ * }
18
+ *
19
+ * var wrapped = _([1, 2]).map(square);
20
+ * var other = wrapped.plant([3, 4]);
21
+ *
22
+ * other.value();
23
+ * // => [9, 16]
24
+ *
25
+ * wrapped.value();
26
+ * // => [1, 4]
27
+ */
28
+ function wrapperPlant(value) {
29
+ var result,
30
+ parent = this;
31
+
32
+ while (parent instanceof baseLodash) {
33
+ var clone = wrapperClone(parent);
34
+ clone.__index__ = 0;
35
+ clone.__values__ = undefined;
36
+ if (result) {
37
+ previous.__wrapped__ = clone;
38
+ } else {
39
+ result = clone;
40
+ }
41
+ var previous = clone;
42
+ parent = parent.__wrapped__;
43
+ }
44
+ previous.__wrapped__ = value;
45
+ return result;
46
+ }
47
+
48
+ module.exports = wrapperPlant;
package/property.js ADDED
@@ -0,0 +1,32 @@
1
+ var baseProperty = require('./_baseProperty'),
2
+ basePropertyDeep = require('./_basePropertyDeep'),
3
+ isKey = require('./_isKey'),
4
+ toKey = require('./_toKey');
5
+
6
+ /**
7
+ * Creates a function that returns the value at `path` of a given object.
8
+ *
9
+ * @static
10
+ * @memberOf _
11
+ * @since 2.4.0
12
+ * @category Util
13
+ * @param {Array|string} path The path of the property to get.
14
+ * @returns {Function} Returns the new accessor function.
15
+ * @example
16
+ *
17
+ * var objects = [
18
+ * { 'a': { 'b': 2 } },
19
+ * { 'a': { 'b': 1 } }
20
+ * ];
21
+ *
22
+ * _.map(objects, _.property('a.b'));
23
+ * // => [2, 1]
24
+ *
25
+ * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');
26
+ * // => [1, 2]
27
+ */
28
+ function property(path) {
29
+ return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);
30
+ }
31
+
32
+ module.exports = property;
package/propertyOf.js ADDED
@@ -0,0 +1,30 @@
1
+ var baseGet = require('./_baseGet');
2
+
3
+ /**
4
+ * The opposite of `_.property`; this method creates a function that returns
5
+ * the value at a given path of `object`.
6
+ *
7
+ * @static
8
+ * @memberOf _
9
+ * @since 3.0.0
10
+ * @category Util
11
+ * @param {Object} object The object to query.
12
+ * @returns {Function} Returns the new accessor function.
13
+ * @example
14
+ *
15
+ * var array = [0, 1, 2],
16
+ * object = { 'a': array, 'b': array, 'c': array };
17
+ *
18
+ * _.map(['a[2]', 'c[0]'], _.propertyOf(object));
19
+ * // => [2, 0]
20
+ *
21
+ * _.map([['a', '2'], ['c', '0']], _.propertyOf(object));
22
+ * // => [2, 0]
23
+ */
24
+ function propertyOf(object) {
25
+ return function(path) {
26
+ return object == null ? undefined : baseGet(object, path);
27
+ };
28
+ }
29
+
30
+ module.exports = propertyOf;
package/pull.js ADDED
@@ -0,0 +1,29 @@
1
+ var baseRest = require('./_baseRest'),
2
+ pullAll = require('./pullAll');
3
+
4
+ /**
5
+ * Removes all given values from `array` using
6
+ * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
7
+ * for equality comparisons.
8
+ *
9
+ * **Note:** Unlike `_.without`, this method mutates `array`. Use `_.remove`
10
+ * to remove elements from an array by predicate.
11
+ *
12
+ * @static
13
+ * @memberOf _
14
+ * @since 2.0.0
15
+ * @category Array
16
+ * @param {Array} array The array to modify.
17
+ * @param {...*} [values] The values to remove.
18
+ * @returns {Array} Returns `array`.
19
+ * @example
20
+ *
21
+ * var array = ['a', 'b', 'c', 'a', 'b', 'c'];
22
+ *
23
+ * _.pull(array, 'a', 'c');
24
+ * console.log(array);
25
+ * // => ['b', 'b']
26
+ */
27
+ var pull = baseRest(pullAll);
28
+
29
+ module.exports = pull;
package/pullAll.js ADDED
@@ -0,0 +1,29 @@
1
+ var basePullAll = require('./_basePullAll');
2
+
3
+ /**
4
+ * This method is like `_.pull` except that it accepts an array of values to remove.
5
+ *
6
+ * **Note:** Unlike `_.difference`, this method mutates `array`.
7
+ *
8
+ * @static
9
+ * @memberOf _
10
+ * @since 4.0.0
11
+ * @category Array
12
+ * @param {Array} array The array to modify.
13
+ * @param {Array} values The values to remove.
14
+ * @returns {Array} Returns `array`.
15
+ * @example
16
+ *
17
+ * var array = ['a', 'b', 'c', 'a', 'b', 'c'];
18
+ *
19
+ * _.pullAll(array, ['a', 'c']);
20
+ * console.log(array);
21
+ * // => ['b', 'b']
22
+ */
23
+ function pullAll(array, values) {
24
+ return (array && array.length && values && values.length)
25
+ ? basePullAll(array, values)
26
+ : array;
27
+ }
28
+
29
+ module.exports = pullAll;
package/pullAllBy.js ADDED
@@ -0,0 +1,33 @@
1
+ var baseIteratee = require('./_baseIteratee'),
2
+ basePullAll = require('./_basePullAll');
3
+
4
+ /**
5
+ * This method is like `_.pullAll` except that it accepts `iteratee` which is
6
+ * invoked for each element of `array` and `values` to generate the criterion
7
+ * by which they're compared. The iteratee is invoked with one argument: (value).
8
+ *
9
+ * **Note:** Unlike `_.differenceBy`, this method mutates `array`.
10
+ *
11
+ * @static
12
+ * @memberOf _
13
+ * @since 4.0.0
14
+ * @category Array
15
+ * @param {Array} array The array to modify.
16
+ * @param {Array} values The values to remove.
17
+ * @param {Function} [iteratee=_.identity] The iteratee invoked per element.
18
+ * @returns {Array} Returns `array`.
19
+ * @example
20
+ *
21
+ * var array = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }];
22
+ *
23
+ * _.pullAllBy(array, [{ 'x': 1 }, { 'x': 3 }], 'x');
24
+ * console.log(array);
25
+ * // => [{ 'x': 2 }]
26
+ */
27
+ function pullAllBy(array, values, iteratee) {
28
+ return (array && array.length && values && values.length)
29
+ ? basePullAll(array, values, baseIteratee(iteratee, 2))
30
+ : array;
31
+ }
32
+
33
+ module.exports = pullAllBy;
package/pullAllWith.js ADDED
@@ -0,0 +1,32 @@
1
+ var basePullAll = require('./_basePullAll');
2
+
3
+ /**
4
+ * This method is like `_.pullAll` except that it accepts `comparator` which
5
+ * is invoked to compare elements of `array` to `values`. The comparator is
6
+ * invoked with two arguments: (arrVal, othVal).
7
+ *
8
+ * **Note:** Unlike `_.differenceWith`, this method mutates `array`.
9
+ *
10
+ * @static
11
+ * @memberOf _
12
+ * @since 4.6.0
13
+ * @category Array
14
+ * @param {Array} array The array to modify.
15
+ * @param {Array} values The values to remove.
16
+ * @param {Function} [comparator] The comparator invoked per element.
17
+ * @returns {Array} Returns `array`.
18
+ * @example
19
+ *
20
+ * var array = [{ 'x': 1, 'y': 2 }, { 'x': 3, 'y': 4 }, { 'x': 5, 'y': 6 }];
21
+ *
22
+ * _.pullAllWith(array, [{ 'x': 3, 'y': 4 }], _.isEqual);
23
+ * console.log(array);
24
+ * // => [{ 'x': 1, 'y': 2 }, { 'x': 5, 'y': 6 }]
25
+ */
26
+ function pullAllWith(array, values, comparator) {
27
+ return (array && array.length && values && values.length)
28
+ ? basePullAll(array, values, undefined, comparator)
29
+ : array;
30
+ }
31
+
32
+ module.exports = pullAllWith;
package/pullAt.js ADDED
@@ -0,0 +1,43 @@
1
+ var arrayMap = require('./_arrayMap'),
2
+ baseAt = require('./_baseAt'),
3
+ basePullAt = require('./_basePullAt'),
4
+ compareAscending = require('./_compareAscending'),
5
+ flatRest = require('./_flatRest'),
6
+ isIndex = require('./_isIndex');
7
+
8
+ /**
9
+ * Removes elements from `array` corresponding to `indexes` and returns an
10
+ * array of removed elements.
11
+ *
12
+ * **Note:** Unlike `_.at`, this method mutates `array`.
13
+ *
14
+ * @static
15
+ * @memberOf _
16
+ * @since 3.0.0
17
+ * @category Array
18
+ * @param {Array} array The array to modify.
19
+ * @param {...(number|number[])} [indexes] The indexes of elements to remove.
20
+ * @returns {Array} Returns the new array of removed elements.
21
+ * @example
22
+ *
23
+ * var array = ['a', 'b', 'c', 'd'];
24
+ * var pulled = _.pullAt(array, [1, 3]);
25
+ *
26
+ * console.log(array);
27
+ * // => ['a', 'c']
28
+ *
29
+ * console.log(pulled);
30
+ * // => ['b', 'd']
31
+ */
32
+ var pullAt = flatRest(function(array, indexes) {
33
+ var length = array == null ? 0 : array.length,
34
+ result = baseAt(array, indexes);
35
+
36
+ basePullAt(array, arrayMap(indexes, function(index) {
37
+ return isIndex(index, length) ? +index : index;
38
+ }).sort(compareAscending));
39
+
40
+ return result;
41
+ });
42
+
43
+ module.exports = pullAt;
package/random.js ADDED
@@ -0,0 +1,82 @@
1
+ var baseRandom = require('./_baseRandom'),
2
+ isIterateeCall = require('./_isIterateeCall'),
3
+ toFinite = require('./toFinite');
4
+
5
+ /** Built-in method references without a dependency on `root`. */
6
+ var freeParseFloat = parseFloat;
7
+
8
+ /* Built-in method references for those with the same name as other `lodash` methods. */
9
+ var nativeMin = Math.min,
10
+ nativeRandom = Math.random;
11
+
12
+ /**
13
+ * Produces a random number between the inclusive `lower` and `upper` bounds.
14
+ * If only one argument is provided a number between `0` and the given number
15
+ * is returned. If `floating` is `true`, or either `lower` or `upper` are
16
+ * floats, a floating-point number is returned instead of an integer.
17
+ *
18
+ * **Note:** JavaScript follows the IEEE-754 standard for resolving
19
+ * floating-point values which can produce unexpected results.
20
+ *
21
+ * @static
22
+ * @memberOf _
23
+ * @since 0.7.0
24
+ * @category Number
25
+ * @param {number} [lower=0] The lower bound.
26
+ * @param {number} [upper=1] The upper bound.
27
+ * @param {boolean} [floating] Specify returning a floating-point number.
28
+ * @returns {number} Returns the random number.
29
+ * @example
30
+ *
31
+ * _.random(0, 5);
32
+ * // => an integer between 0 and 5
33
+ *
34
+ * _.random(5);
35
+ * // => also an integer between 0 and 5
36
+ *
37
+ * _.random(5, true);
38
+ * // => a floating-point number between 0 and 5
39
+ *
40
+ * _.random(1.2, 5.2);
41
+ * // => a floating-point number between 1.2 and 5.2
42
+ */
43
+ function random(lower, upper, floating) {
44
+ if (floating && typeof floating != 'boolean' && isIterateeCall(lower, upper, floating)) {
45
+ upper = floating = undefined;
46
+ }
47
+ if (floating === undefined) {
48
+ if (typeof upper == 'boolean') {
49
+ floating = upper;
50
+ upper = undefined;
51
+ }
52
+ else if (typeof lower == 'boolean') {
53
+ floating = lower;
54
+ lower = undefined;
55
+ }
56
+ }
57
+ if (lower === undefined && upper === undefined) {
58
+ lower = 0;
59
+ upper = 1;
60
+ }
61
+ else {
62
+ lower = toFinite(lower);
63
+ if (upper === undefined) {
64
+ upper = lower;
65
+ lower = 0;
66
+ } else {
67
+ upper = toFinite(upper);
68
+ }
69
+ }
70
+ if (lower > upper) {
71
+ var temp = lower;
72
+ lower = upper;
73
+ upper = temp;
74
+ }
75
+ if (floating || lower % 1 || upper % 1) {
76
+ var rand = nativeRandom();
77
+ return nativeMin(lower + (rand * (upper - lower + freeParseFloat('1e-' + ((rand + '').length - 1)))), upper);
78
+ }
79
+ return baseRandom(lower, upper);
80
+ }
81
+
82
+ module.exports = random;
package/range.js ADDED
@@ -0,0 +1,46 @@
1
+ var createRange = require('./_createRange');
2
+
3
+ /**
4
+ * Creates an array of numbers (positive and/or negative) progressing from
5
+ * `start` up to, but not including, `end`. A step of `-1` is used if a negative
6
+ * `start` is specified without an `end` or `step`. If `end` is not specified,
7
+ * it's set to `start` with `start` then set to `0`.
8
+ *
9
+ * **Note:** JavaScript follows the IEEE-754 standard for resolving
10
+ * floating-point values which can produce unexpected results.
11
+ *
12
+ * @static
13
+ * @since 0.1.0
14
+ * @memberOf _
15
+ * @category Util
16
+ * @param {number} [start=0] The start of the range.
17
+ * @param {number} end The end of the range.
18
+ * @param {number} [step=1] The value to increment or decrement by.
19
+ * @returns {Array} Returns the range of numbers.
20
+ * @see _.inRange, _.rangeRight
21
+ * @example
22
+ *
23
+ * _.range(4);
24
+ * // => [0, 1, 2, 3]
25
+ *
26
+ * _.range(-4);
27
+ * // => [0, -1, -2, -3]
28
+ *
29
+ * _.range(1, 5);
30
+ * // => [1, 2, 3, 4]
31
+ *
32
+ * _.range(0, 20, 5);
33
+ * // => [0, 5, 10, 15]
34
+ *
35
+ * _.range(0, -4, -1);
36
+ * // => [0, -1, -2, -3]
37
+ *
38
+ * _.range(1, 4, 0);
39
+ * // => [1, 1, 1]
40
+ *
41
+ * _.range(0);
42
+ * // => []
43
+ */
44
+ var range = createRange();
45
+
46
+ module.exports = range;
package/rangeRight.js ADDED
@@ -0,0 +1,41 @@
1
+ var createRange = require('./_createRange');
2
+
3
+ /**
4
+ * This method is like `_.range` except that it populates values in
5
+ * descending order.
6
+ *
7
+ * @static
8
+ * @memberOf _
9
+ * @since 4.0.0
10
+ * @category Util
11
+ * @param {number} [start=0] The start of the range.
12
+ * @param {number} end The end of the range.
13
+ * @param {number} [step=1] The value to increment or decrement by.
14
+ * @returns {Array} Returns the range of numbers.
15
+ * @see _.inRange, _.range
16
+ * @example
17
+ *
18
+ * _.rangeRight(4);
19
+ * // => [3, 2, 1, 0]
20
+ *
21
+ * _.rangeRight(-4);
22
+ * // => [-3, -2, -1, 0]
23
+ *
24
+ * _.rangeRight(1, 5);
25
+ * // => [4, 3, 2, 1]
26
+ *
27
+ * _.rangeRight(0, 20, 5);
28
+ * // => [15, 10, 5, 0]
29
+ *
30
+ * _.rangeRight(0, -4, -1);
31
+ * // => [-3, -2, -1, 0]
32
+ *
33
+ * _.rangeRight(1, 4, 0);
34
+ * // => [1, 1, 1]
35
+ *
36
+ * _.rangeRight(0);
37
+ * // => []
38
+ */
39
+ var rangeRight = createRange(true);
40
+
41
+ module.exports = rangeRight;