@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/forInRight.js ADDED
@@ -0,0 +1,37 @@
1
+ var baseForRight = require('./_baseForRight'),
2
+ castFunction = require('./_castFunction'),
3
+ keysIn = require('./keysIn');
4
+
5
+ /**
6
+ * This method is like `_.forIn` except that it iterates over properties of
7
+ * `object` in the opposite order.
8
+ *
9
+ * @static
10
+ * @memberOf _
11
+ * @since 2.0.0
12
+ * @category Object
13
+ * @param {Object} object The object to iterate over.
14
+ * @param {Function} [iteratee=_.identity] The function invoked per iteration.
15
+ * @returns {Object} Returns `object`.
16
+ * @see _.forIn
17
+ * @example
18
+ *
19
+ * function Foo() {
20
+ * this.a = 1;
21
+ * this.b = 2;
22
+ * }
23
+ *
24
+ * Foo.prototype.c = 3;
25
+ *
26
+ * _.forInRight(new Foo, function(value, key) {
27
+ * console.log(key);
28
+ * });
29
+ * // => Logs 'c', 'b', then 'a' assuming `_.forIn` logs 'a', 'b', then 'c'.
30
+ */
31
+ function forInRight(object, iteratee) {
32
+ return object == null
33
+ ? object
34
+ : baseForRight(object, castFunction(iteratee), keysIn);
35
+ }
36
+
37
+ module.exports = forInRight;
package/forOwn.js ADDED
@@ -0,0 +1,36 @@
1
+ var baseForOwn = require('./_baseForOwn'),
2
+ castFunction = require('./_castFunction');
3
+
4
+ /**
5
+ * Iterates over own enumerable string keyed properties of an object and
6
+ * invokes `iteratee` for each property. The iteratee is invoked with three
7
+ * arguments: (value, key, object). Iteratee functions may exit iteration
8
+ * early by explicitly returning `false`.
9
+ *
10
+ * @static
11
+ * @memberOf _
12
+ * @since 0.3.0
13
+ * @category Object
14
+ * @param {Object} object The object to iterate over.
15
+ * @param {Function} [iteratee=_.identity] The function invoked per iteration.
16
+ * @returns {Object} Returns `object`.
17
+ * @see _.forOwnRight
18
+ * @example
19
+ *
20
+ * function Foo() {
21
+ * this.a = 1;
22
+ * this.b = 2;
23
+ * }
24
+ *
25
+ * Foo.prototype.c = 3;
26
+ *
27
+ * _.forOwn(new Foo, function(value, key) {
28
+ * console.log(key);
29
+ * });
30
+ * // => Logs 'a' then 'b' (iteration order is not guaranteed).
31
+ */
32
+ function forOwn(object, iteratee) {
33
+ return object && baseForOwn(object, castFunction(iteratee));
34
+ }
35
+
36
+ module.exports = forOwn;
package/forOwnRight.js ADDED
@@ -0,0 +1,34 @@
1
+ var baseForOwnRight = require('./_baseForOwnRight'),
2
+ castFunction = require('./_castFunction');
3
+
4
+ /**
5
+ * This method is like `_.forOwn` except that it iterates over properties of
6
+ * `object` in the opposite order.
7
+ *
8
+ * @static
9
+ * @memberOf _
10
+ * @since 2.0.0
11
+ * @category Object
12
+ * @param {Object} object The object to iterate over.
13
+ * @param {Function} [iteratee=_.identity] The function invoked per iteration.
14
+ * @returns {Object} Returns `object`.
15
+ * @see _.forOwn
16
+ * @example
17
+ *
18
+ * function Foo() {
19
+ * this.a = 1;
20
+ * this.b = 2;
21
+ * }
22
+ *
23
+ * Foo.prototype.c = 3;
24
+ *
25
+ * _.forOwnRight(new Foo, function(value, key) {
26
+ * console.log(key);
27
+ * });
28
+ * // => Logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'.
29
+ */
30
+ function forOwnRight(object, iteratee) {
31
+ return object && baseForOwnRight(object, castFunction(iteratee));
32
+ }
33
+
34
+ module.exports = forOwnRight;
package/fp/F.js ADDED
@@ -0,0 +1 @@
1
+ module.exports = require('./stubFalse');
package/fp/T.js ADDED
@@ -0,0 +1 @@
1
+ module.exports = require('./stubTrue');
package/fp/__.js ADDED
@@ -0,0 +1 @@
1
+ module.exports = require('./placeholder');
@@ -0,0 +1,569 @@
1
+ var mapping = require('./_mapping'),
2
+ fallbackHolder = require('./placeholder');
3
+
4
+ /** Built-in value reference. */
5
+ var push = Array.prototype.push;
6
+
7
+ /**
8
+ * Creates a function, with an arity of `n`, that invokes `func` with the
9
+ * arguments it receives.
10
+ *
11
+ * @private
12
+ * @param {Function} func The function to wrap.
13
+ * @param {number} n The arity of the new function.
14
+ * @returns {Function} Returns the new function.
15
+ */
16
+ function baseArity(func, n) {
17
+ return n == 2
18
+ ? function(a, b) { return func.apply(undefined, arguments); }
19
+ : function(a) { return func.apply(undefined, arguments); };
20
+ }
21
+
22
+ /**
23
+ * Creates a function that invokes `func`, with up to `n` arguments, ignoring
24
+ * any additional arguments.
25
+ *
26
+ * @private
27
+ * @param {Function} func The function to cap arguments for.
28
+ * @param {number} n The arity cap.
29
+ * @returns {Function} Returns the new function.
30
+ */
31
+ function baseAry(func, n) {
32
+ return n == 2
33
+ ? function(a, b) { return func(a, b); }
34
+ : function(a) { return func(a); };
35
+ }
36
+
37
+ /**
38
+ * Creates a clone of `array`.
39
+ *
40
+ * @private
41
+ * @param {Array} array The array to clone.
42
+ * @returns {Array} Returns the cloned array.
43
+ */
44
+ function cloneArray(array) {
45
+ var length = array ? array.length : 0,
46
+ result = Array(length);
47
+
48
+ while (length--) {
49
+ result[length] = array[length];
50
+ }
51
+ return result;
52
+ }
53
+
54
+ /**
55
+ * Creates a function that clones a given object using the assignment `func`.
56
+ *
57
+ * @private
58
+ * @param {Function} func The assignment function.
59
+ * @returns {Function} Returns the new cloner function.
60
+ */
61
+ function createCloner(func) {
62
+ return function(object) {
63
+ return func({}, object);
64
+ };
65
+ }
66
+
67
+ /**
68
+ * A specialized version of `_.spread` which flattens the spread array into
69
+ * the arguments of the invoked `func`.
70
+ *
71
+ * @private
72
+ * @param {Function} func The function to spread arguments over.
73
+ * @param {number} start The start position of the spread.
74
+ * @returns {Function} Returns the new function.
75
+ */
76
+ function flatSpread(func, start) {
77
+ return function() {
78
+ var length = arguments.length,
79
+ lastIndex = length - 1,
80
+ args = Array(length);
81
+
82
+ while (length--) {
83
+ args[length] = arguments[length];
84
+ }
85
+ var array = args[start],
86
+ otherArgs = args.slice(0, start);
87
+
88
+ if (array) {
89
+ push.apply(otherArgs, array);
90
+ }
91
+ if (start != lastIndex) {
92
+ push.apply(otherArgs, args.slice(start + 1));
93
+ }
94
+ return func.apply(this, otherArgs);
95
+ };
96
+ }
97
+
98
+ /**
99
+ * Creates a function that wraps `func` and uses `cloner` to clone the first
100
+ * argument it receives.
101
+ *
102
+ * @private
103
+ * @param {Function} func The function to wrap.
104
+ * @param {Function} cloner The function to clone arguments.
105
+ * @returns {Function} Returns the new immutable function.
106
+ */
107
+ function wrapImmutable(func, cloner) {
108
+ return function() {
109
+ var length = arguments.length;
110
+ if (!length) {
111
+ return;
112
+ }
113
+ var args = Array(length);
114
+ while (length--) {
115
+ args[length] = arguments[length];
116
+ }
117
+ var result = args[0] = cloner.apply(undefined, args);
118
+ func.apply(undefined, args);
119
+ return result;
120
+ };
121
+ }
122
+
123
+ /**
124
+ * The base implementation of `convert` which accepts a `util` object of methods
125
+ * required to perform conversions.
126
+ *
127
+ * @param {Object} util The util object.
128
+ * @param {string} name The name of the function to convert.
129
+ * @param {Function} func The function to convert.
130
+ * @param {Object} [options] The options object.
131
+ * @param {boolean} [options.cap=true] Specify capping iteratee arguments.
132
+ * @param {boolean} [options.curry=true] Specify currying.
133
+ * @param {boolean} [options.fixed=true] Specify fixed arity.
134
+ * @param {boolean} [options.immutable=true] Specify immutable operations.
135
+ * @param {boolean} [options.rearg=true] Specify rearranging arguments.
136
+ * @returns {Function|Object} Returns the converted function or object.
137
+ */
138
+ function baseConvert(util, name, func, options) {
139
+ var isLib = typeof name == 'function',
140
+ isObj = name === Object(name);
141
+
142
+ if (isObj) {
143
+ options = func;
144
+ func = name;
145
+ name = undefined;
146
+ }
147
+ if (func == null) {
148
+ throw new TypeError;
149
+ }
150
+ options || (options = {});
151
+
152
+ var config = {
153
+ 'cap': 'cap' in options ? options.cap : true,
154
+ 'curry': 'curry' in options ? options.curry : true,
155
+ 'fixed': 'fixed' in options ? options.fixed : true,
156
+ 'immutable': 'immutable' in options ? options.immutable : true,
157
+ 'rearg': 'rearg' in options ? options.rearg : true
158
+ };
159
+
160
+ var defaultHolder = isLib ? func : fallbackHolder,
161
+ forceCurry = ('curry' in options) && options.curry,
162
+ forceFixed = ('fixed' in options) && options.fixed,
163
+ forceRearg = ('rearg' in options) && options.rearg,
164
+ pristine = isLib ? func.runInContext() : undefined;
165
+
166
+ var helpers = isLib ? func : {
167
+ 'ary': util.ary,
168
+ 'assign': util.assign,
169
+ 'clone': util.clone,
170
+ 'curry': util.curry,
171
+ 'forEach': util.forEach,
172
+ 'isArray': util.isArray,
173
+ 'isError': util.isError,
174
+ 'isFunction': util.isFunction,
175
+ 'isWeakMap': util.isWeakMap,
176
+ 'iteratee': util.iteratee,
177
+ 'keys': util.keys,
178
+ 'rearg': util.rearg,
179
+ 'toInteger': util.toInteger,
180
+ 'toPath': util.toPath
181
+ };
182
+
183
+ var ary = helpers.ary,
184
+ assign = helpers.assign,
185
+ clone = helpers.clone,
186
+ curry = helpers.curry,
187
+ each = helpers.forEach,
188
+ isArray = helpers.isArray,
189
+ isError = helpers.isError,
190
+ isFunction = helpers.isFunction,
191
+ isWeakMap = helpers.isWeakMap,
192
+ keys = helpers.keys,
193
+ rearg = helpers.rearg,
194
+ toInteger = helpers.toInteger,
195
+ toPath = helpers.toPath;
196
+
197
+ var aryMethodKeys = keys(mapping.aryMethod);
198
+
199
+ var wrappers = {
200
+ 'castArray': function(castArray) {
201
+ return function() {
202
+ var value = arguments[0];
203
+ return isArray(value)
204
+ ? castArray(cloneArray(value))
205
+ : castArray.apply(undefined, arguments);
206
+ };
207
+ },
208
+ 'iteratee': function(iteratee) {
209
+ return function() {
210
+ var func = arguments[0],
211
+ arity = arguments[1],
212
+ result = iteratee(func, arity),
213
+ length = result.length;
214
+
215
+ if (config.cap && typeof arity == 'number') {
216
+ arity = arity > 2 ? (arity - 2) : 1;
217
+ return (length && length <= arity) ? result : baseAry(result, arity);
218
+ }
219
+ return result;
220
+ };
221
+ },
222
+ 'mixin': function(mixin) {
223
+ return function(source) {
224
+ var func = this;
225
+ if (!isFunction(func)) {
226
+ return mixin(func, Object(source));
227
+ }
228
+ var pairs = [];
229
+ each(keys(source), function(key) {
230
+ if (isFunction(source[key])) {
231
+ pairs.push([key, func.prototype[key]]);
232
+ }
233
+ });
234
+
235
+ mixin(func, Object(source));
236
+
237
+ each(pairs, function(pair) {
238
+ var value = pair[1];
239
+ if (isFunction(value)) {
240
+ func.prototype[pair[0]] = value;
241
+ } else {
242
+ delete func.prototype[pair[0]];
243
+ }
244
+ });
245
+ return func;
246
+ };
247
+ },
248
+ 'nthArg': function(nthArg) {
249
+ return function(n) {
250
+ var arity = n < 0 ? 1 : (toInteger(n) + 1);
251
+ return curry(nthArg(n), arity);
252
+ };
253
+ },
254
+ 'rearg': function(rearg) {
255
+ return function(func, indexes) {
256
+ var arity = indexes ? indexes.length : 0;
257
+ return curry(rearg(func, indexes), arity);
258
+ };
259
+ },
260
+ 'runInContext': function(runInContext) {
261
+ return function(context) {
262
+ return baseConvert(util, runInContext(context), options);
263
+ };
264
+ }
265
+ };
266
+
267
+ /*--------------------------------------------------------------------------*/
268
+
269
+ /**
270
+ * Casts `func` to a function with an arity capped iteratee if needed.
271
+ *
272
+ * @private
273
+ * @param {string} name The name of the function to inspect.
274
+ * @param {Function} func The function to inspect.
275
+ * @returns {Function} Returns the cast function.
276
+ */
277
+ function castCap(name, func) {
278
+ if (config.cap) {
279
+ var indexes = mapping.iterateeRearg[name];
280
+ if (indexes) {
281
+ return iterateeRearg(func, indexes);
282
+ }
283
+ var n = !isLib && mapping.iterateeAry[name];
284
+ if (n) {
285
+ return iterateeAry(func, n);
286
+ }
287
+ }
288
+ return func;
289
+ }
290
+
291
+ /**
292
+ * Casts `func` to a curried function if needed.
293
+ *
294
+ * @private
295
+ * @param {string} name The name of the function to inspect.
296
+ * @param {Function} func The function to inspect.
297
+ * @param {number} n The arity of `func`.
298
+ * @returns {Function} Returns the cast function.
299
+ */
300
+ function castCurry(name, func, n) {
301
+ return (forceCurry || (config.curry && n > 1))
302
+ ? curry(func, n)
303
+ : func;
304
+ }
305
+
306
+ /**
307
+ * Casts `func` to a fixed arity function if needed.
308
+ *
309
+ * @private
310
+ * @param {string} name The name of the function to inspect.
311
+ * @param {Function} func The function to inspect.
312
+ * @param {number} n The arity cap.
313
+ * @returns {Function} Returns the cast function.
314
+ */
315
+ function castFixed(name, func, n) {
316
+ if (config.fixed && (forceFixed || !mapping.skipFixed[name])) {
317
+ var data = mapping.methodSpread[name],
318
+ start = data && data.start;
319
+
320
+ return start === undefined ? ary(func, n) : flatSpread(func, start);
321
+ }
322
+ return func;
323
+ }
324
+
325
+ /**
326
+ * Casts `func` to an rearged function if needed.
327
+ *
328
+ * @private
329
+ * @param {string} name The name of the function to inspect.
330
+ * @param {Function} func The function to inspect.
331
+ * @param {number} n The arity of `func`.
332
+ * @returns {Function} Returns the cast function.
333
+ */
334
+ function castRearg(name, func, n) {
335
+ return (config.rearg && n > 1 && (forceRearg || !mapping.skipRearg[name]))
336
+ ? rearg(func, mapping.methodRearg[name] || mapping.aryRearg[n])
337
+ : func;
338
+ }
339
+
340
+ /**
341
+ * Creates a clone of `object` by `path`.
342
+ *
343
+ * @private
344
+ * @param {Object} object The object to clone.
345
+ * @param {Array|string} path The path to clone by.
346
+ * @returns {Object} Returns the cloned object.
347
+ */
348
+ function cloneByPath(object, path) {
349
+ path = toPath(path);
350
+
351
+ var index = -1,
352
+ length = path.length,
353
+ lastIndex = length - 1,
354
+ result = clone(Object(object)),
355
+ nested = result;
356
+
357
+ while (nested != null && ++index < length) {
358
+ var key = path[index],
359
+ value = nested[key];
360
+
361
+ if (value != null &&
362
+ !(isFunction(value) || isError(value) || isWeakMap(value))) {
363
+ nested[key] = clone(index == lastIndex ? value : Object(value));
364
+ }
365
+ nested = nested[key];
366
+ }
367
+ return result;
368
+ }
369
+
370
+ /**
371
+ * Converts `lodash` to an immutable auto-curried iteratee-first data-last
372
+ * version with conversion `options` applied.
373
+ *
374
+ * @param {Object} [options] The options object. See `baseConvert` for more details.
375
+ * @returns {Function} Returns the converted `lodash`.
376
+ */
377
+ function convertLib(options) {
378
+ return _.runInContext.convert(options)(undefined);
379
+ }
380
+
381
+ /**
382
+ * Create a converter function for `func` of `name`.
383
+ *
384
+ * @param {string} name The name of the function to convert.
385
+ * @param {Function} func The function to convert.
386
+ * @returns {Function} Returns the new converter function.
387
+ */
388
+ function createConverter(name, func) {
389
+ var realName = mapping.aliasToReal[name] || name,
390
+ methodName = mapping.remap[realName] || realName,
391
+ oldOptions = options;
392
+
393
+ return function(options) {
394
+ var newUtil = isLib ? pristine : helpers,
395
+ newFunc = isLib ? pristine[methodName] : func,
396
+ newOptions = assign(assign({}, oldOptions), options);
397
+
398
+ return baseConvert(newUtil, realName, newFunc, newOptions);
399
+ };
400
+ }
401
+
402
+ /**
403
+ * Creates a function that wraps `func` to invoke its iteratee, with up to `n`
404
+ * arguments, ignoring any additional arguments.
405
+ *
406
+ * @private
407
+ * @param {Function} func The function to cap iteratee arguments for.
408
+ * @param {number} n The arity cap.
409
+ * @returns {Function} Returns the new function.
410
+ */
411
+ function iterateeAry(func, n) {
412
+ return overArg(func, function(func) {
413
+ return typeof func == 'function' ? baseAry(func, n) : func;
414
+ });
415
+ }
416
+
417
+ /**
418
+ * Creates a function that wraps `func` to invoke its iteratee with arguments
419
+ * arranged according to the specified `indexes` where the argument value at
420
+ * the first index is provided as the first argument, the argument value at
421
+ * the second index is provided as the second argument, and so on.
422
+ *
423
+ * @private
424
+ * @param {Function} func The function to rearrange iteratee arguments for.
425
+ * @param {number[]} indexes The arranged argument indexes.
426
+ * @returns {Function} Returns the new function.
427
+ */
428
+ function iterateeRearg(func, indexes) {
429
+ return overArg(func, function(func) {
430
+ var n = indexes.length;
431
+ return baseArity(rearg(baseAry(func, n), indexes), n);
432
+ });
433
+ }
434
+
435
+ /**
436
+ * Creates a function that invokes `func` with its first argument transformed.
437
+ *
438
+ * @private
439
+ * @param {Function} func The function to wrap.
440
+ * @param {Function} transform The argument transform.
441
+ * @returns {Function} Returns the new function.
442
+ */
443
+ function overArg(func, transform) {
444
+ return function() {
445
+ var length = arguments.length;
446
+ if (!length) {
447
+ return func();
448
+ }
449
+ var args = Array(length);
450
+ while (length--) {
451
+ args[length] = arguments[length];
452
+ }
453
+ var index = config.rearg ? 0 : (length - 1);
454
+ args[index] = transform(args[index]);
455
+ return func.apply(undefined, args);
456
+ };
457
+ }
458
+
459
+ /**
460
+ * Creates a function that wraps `func` and applys the conversions
461
+ * rules by `name`.
462
+ *
463
+ * @private
464
+ * @param {string} name The name of the function to wrap.
465
+ * @param {Function} func The function to wrap.
466
+ * @returns {Function} Returns the converted function.
467
+ */
468
+ function wrap(name, func, placeholder) {
469
+ var result,
470
+ realName = mapping.aliasToReal[name] || name,
471
+ wrapped = func,
472
+ wrapper = wrappers[realName];
473
+
474
+ if (wrapper) {
475
+ wrapped = wrapper(func);
476
+ }
477
+ else if (config.immutable) {
478
+ if (mapping.mutate.array[realName]) {
479
+ wrapped = wrapImmutable(func, cloneArray);
480
+ }
481
+ else if (mapping.mutate.object[realName]) {
482
+ wrapped = wrapImmutable(func, createCloner(func));
483
+ }
484
+ else if (mapping.mutate.set[realName]) {
485
+ wrapped = wrapImmutable(func, cloneByPath);
486
+ }
487
+ }
488
+ each(aryMethodKeys, function(aryKey) {
489
+ each(mapping.aryMethod[aryKey], function(otherName) {
490
+ if (realName == otherName) {
491
+ var data = mapping.methodSpread[realName],
492
+ afterRearg = data && data.afterRearg;
493
+
494
+ result = afterRearg
495
+ ? castFixed(realName, castRearg(realName, wrapped, aryKey), aryKey)
496
+ : castRearg(realName, castFixed(realName, wrapped, aryKey), aryKey);
497
+
498
+ result = castCap(realName, result);
499
+ result = castCurry(realName, result, aryKey);
500
+ return false;
501
+ }
502
+ });
503
+ return !result;
504
+ });
505
+
506
+ result || (result = wrapped);
507
+ if (result == func) {
508
+ result = forceCurry ? curry(result, 1) : function() {
509
+ return func.apply(this, arguments);
510
+ };
511
+ }
512
+ result.convert = createConverter(realName, func);
513
+ result.placeholder = func.placeholder = placeholder;
514
+
515
+ return result;
516
+ }
517
+
518
+ /*--------------------------------------------------------------------------*/
519
+
520
+ if (!isObj) {
521
+ return wrap(name, func, defaultHolder);
522
+ }
523
+ var _ = func;
524
+
525
+ // Convert methods by ary cap.
526
+ var pairs = [];
527
+ each(aryMethodKeys, function(aryKey) {
528
+ each(mapping.aryMethod[aryKey], function(key) {
529
+ var func = _[mapping.remap[key] || key];
530
+ if (func) {
531
+ pairs.push([key, wrap(key, func, _)]);
532
+ }
533
+ });
534
+ });
535
+
536
+ // Convert remaining methods.
537
+ each(keys(_), function(key) {
538
+ var func = _[key];
539
+ if (typeof func == 'function') {
540
+ var length = pairs.length;
541
+ while (length--) {
542
+ if (pairs[length][0] == key) {
543
+ return;
544
+ }
545
+ }
546
+ func.convert = createConverter(key, func);
547
+ pairs.push([key, func]);
548
+ }
549
+ });
550
+
551
+ // Assign to `_` leaving `_.prototype` unchanged to allow chaining.
552
+ each(pairs, function(pair) {
553
+ _[pair[0]] = pair[1];
554
+ });
555
+
556
+ _.convert = convertLib;
557
+ _.placeholder = _;
558
+
559
+ // Assign aliases.
560
+ each(keys(_), function(key) {
561
+ each(mapping.realToAlias[key] || [], function(alias) {
562
+ _[alias] = _[key];
563
+ });
564
+ });
565
+
566
+ return _;
567
+ }
568
+
569
+ module.exports = baseConvert;
@@ -0,0 +1,18 @@
1
+ var baseConvert = require('./_baseConvert');
2
+
3
+ /**
4
+ * Converts `lodash` to an immutable auto-curried iteratee-first data-last
5
+ * version with conversion `options` applied.
6
+ *
7
+ * @param {Function} lodash The lodash function to convert.
8
+ * @param {Object} [options] The options object. See `baseConvert` for more details.
9
+ * @returns {Function} Returns the converted `lodash`.
10
+ */
11
+ function browserConvert(lodash, options) {
12
+ return baseConvert(lodash, lodash, options);
13
+ }
14
+
15
+ if (typeof _ == 'function' && typeof _.runInContext == 'function') {
16
+ _ = browserConvert(_.runInContext());
17
+ }
18
+ module.exports = browserConvert;
@@ -0,0 +1,7 @@
1
+ module.exports = {
2
+ 'cap': false,
3
+ 'curry': false,
4
+ 'fixed': false,
5
+ 'immutable': false,
6
+ 'rearg': false
7
+ };