@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/unzip.js ADDED
@@ -0,0 +1,45 @@
1
+ var arrayFilter = require('./_arrayFilter'),
2
+ arrayMap = require('./_arrayMap'),
3
+ baseProperty = require('./_baseProperty'),
4
+ baseTimes = require('./_baseTimes'),
5
+ isArrayLikeObject = require('./isArrayLikeObject');
6
+
7
+ /* Built-in method references for those with the same name as other `lodash` methods. */
8
+ var nativeMax = Math.max;
9
+
10
+ /**
11
+ * This method is like `_.zip` except that it accepts an array of grouped
12
+ * elements and creates an array regrouping the elements to their pre-zip
13
+ * configuration.
14
+ *
15
+ * @static
16
+ * @memberOf _
17
+ * @since 1.2.0
18
+ * @category Array
19
+ * @param {Array} array The array of grouped elements to process.
20
+ * @returns {Array} Returns the new array of regrouped elements.
21
+ * @example
22
+ *
23
+ * var zipped = _.zip(['a', 'b'], [1, 2], [true, false]);
24
+ * // => [['a', 1, true], ['b', 2, false]]
25
+ *
26
+ * _.unzip(zipped);
27
+ * // => [['a', 'b'], [1, 2], [true, false]]
28
+ */
29
+ function unzip(array) {
30
+ if (!(array && array.length)) {
31
+ return [];
32
+ }
33
+ var length = 0;
34
+ array = arrayFilter(array, function(group) {
35
+ if (isArrayLikeObject(group)) {
36
+ length = nativeMax(group.length, length);
37
+ return true;
38
+ }
39
+ });
40
+ return baseTimes(length, function(index) {
41
+ return arrayMap(array, baseProperty(index));
42
+ });
43
+ }
44
+
45
+ module.exports = unzip;
package/unzipWith.js ADDED
@@ -0,0 +1,39 @@
1
+ var apply = require('./_apply'),
2
+ arrayMap = require('./_arrayMap'),
3
+ unzip = require('./unzip');
4
+
5
+ /**
6
+ * This method is like `_.unzip` except that it accepts `iteratee` to specify
7
+ * how regrouped values should be combined. The iteratee is invoked with the
8
+ * elements of each group: (...group).
9
+ *
10
+ * @static
11
+ * @memberOf _
12
+ * @since 3.8.0
13
+ * @category Array
14
+ * @param {Array} array The array of grouped elements to process.
15
+ * @param {Function} [iteratee=_.identity] The function to combine
16
+ * regrouped values.
17
+ * @returns {Array} Returns the new array of regrouped elements.
18
+ * @example
19
+ *
20
+ * var zipped = _.zip([1, 2], [10, 20], [100, 200]);
21
+ * // => [[1, 10, 100], [2, 20, 200]]
22
+ *
23
+ * _.unzipWith(zipped, _.add);
24
+ * // => [3, 30, 300]
25
+ */
26
+ function unzipWith(array, iteratee) {
27
+ if (!(array && array.length)) {
28
+ return [];
29
+ }
30
+ var result = unzip(array);
31
+ if (iteratee == null) {
32
+ return result;
33
+ }
34
+ return arrayMap(result, function(group) {
35
+ return apply(iteratee, undefined, group);
36
+ });
37
+ }
38
+
39
+ module.exports = unzipWith;
package/update.js ADDED
@@ -0,0 +1,35 @@
1
+ var baseUpdate = require('./_baseUpdate'),
2
+ castFunction = require('./_castFunction');
3
+
4
+ /**
5
+ * This method is like `_.set` except that accepts `updater` to produce the
6
+ * value to set. Use `_.updateWith` to customize `path` creation. The `updater`
7
+ * is invoked with one argument: (value).
8
+ *
9
+ * **Note:** This method mutates `object`.
10
+ *
11
+ * @static
12
+ * @memberOf _
13
+ * @since 4.6.0
14
+ * @category Object
15
+ * @param {Object} object The object to modify.
16
+ * @param {Array|string} path The path of the property to set.
17
+ * @param {Function} updater The function to produce the updated value.
18
+ * @returns {Object} Returns `object`.
19
+ * @example
20
+ *
21
+ * var object = { 'a': [{ 'b': { 'c': 3 } }] };
22
+ *
23
+ * _.update(object, 'a[0].b.c', function(n) { return n * n; });
24
+ * console.log(object.a[0].b.c);
25
+ * // => 9
26
+ *
27
+ * _.update(object, 'x[0].y.z', function(n) { return n ? n + 1 : 0; });
28
+ * console.log(object.x[0].y.z);
29
+ * // => 0
30
+ */
31
+ function update(object, path, updater) {
32
+ return object == null ? object : baseUpdate(object, path, castFunction(updater));
33
+ }
34
+
35
+ module.exports = update;
package/updateWith.js ADDED
@@ -0,0 +1,33 @@
1
+ var baseUpdate = require('./_baseUpdate'),
2
+ castFunction = require('./_castFunction');
3
+
4
+ /**
5
+ * This method is like `_.update` except that it accepts `customizer` which is
6
+ * invoked to produce the objects of `path`. If `customizer` returns `undefined`
7
+ * path creation is handled by the method instead. The `customizer` is invoked
8
+ * with three arguments: (nsValue, key, nsObject).
9
+ *
10
+ * **Note:** This method mutates `object`.
11
+ *
12
+ * @static
13
+ * @memberOf _
14
+ * @since 4.6.0
15
+ * @category Object
16
+ * @param {Object} object The object to modify.
17
+ * @param {Array|string} path The path of the property to set.
18
+ * @param {Function} updater The function to produce the updated value.
19
+ * @param {Function} [customizer] The function to customize assigned values.
20
+ * @returns {Object} Returns `object`.
21
+ * @example
22
+ *
23
+ * var object = {};
24
+ *
25
+ * _.updateWith(object, '[0][1]', _.constant('a'), Object);
26
+ * // => { '0': { '1': 'a' } }
27
+ */
28
+ function updateWith(object, path, updater, customizer) {
29
+ customizer = typeof customizer == 'function' ? customizer : undefined;
30
+ return object == null ? object : baseUpdate(object, path, castFunction(updater), customizer);
31
+ }
32
+
33
+ module.exports = updateWith;
package/upperCase.js ADDED
@@ -0,0 +1,27 @@
1
+ var createCompounder = require('./_createCompounder');
2
+
3
+ /**
4
+ * Converts `string`, as space separated words, to upper case.
5
+ *
6
+ * @static
7
+ * @memberOf _
8
+ * @since 4.0.0
9
+ * @category String
10
+ * @param {string} [string=''] The string to convert.
11
+ * @returns {string} Returns the upper cased string.
12
+ * @example
13
+ *
14
+ * _.upperCase('--foo-bar');
15
+ * // => 'FOO BAR'
16
+ *
17
+ * _.upperCase('fooBar');
18
+ * // => 'FOO BAR'
19
+ *
20
+ * _.upperCase('__foo_bar__');
21
+ * // => 'FOO BAR'
22
+ */
23
+ var upperCase = createCompounder(function(result, word, index) {
24
+ return result + (index ? ' ' : '') + word.toUpperCase();
25
+ });
26
+
27
+ module.exports = upperCase;
package/upperFirst.js ADDED
@@ -0,0 +1,22 @@
1
+ var createCaseFirst = require('./_createCaseFirst');
2
+
3
+ /**
4
+ * Converts the first character of `string` to upper case.
5
+ *
6
+ * @static
7
+ * @memberOf _
8
+ * @since 4.0.0
9
+ * @category String
10
+ * @param {string} [string=''] The string to convert.
11
+ * @returns {string} Returns the converted string.
12
+ * @example
13
+ *
14
+ * _.upperFirst('fred');
15
+ * // => 'Fred'
16
+ *
17
+ * _.upperFirst('FRED');
18
+ * // => 'FRED'
19
+ */
20
+ var upperFirst = createCaseFirst('toUpperCase');
21
+
22
+ module.exports = upperFirst;
package/util.js ADDED
@@ -0,0 +1,34 @@
1
+ module.exports = {
2
+ 'attempt': require('./attempt'),
3
+ 'bindAll': require('./bindAll'),
4
+ 'cond': require('./cond'),
5
+ 'conforms': require('./conforms'),
6
+ 'constant': require('./constant'),
7
+ 'defaultTo': require('./defaultTo'),
8
+ 'flow': require('./flow'),
9
+ 'flowRight': require('./flowRight'),
10
+ 'identity': require('./identity'),
11
+ 'iteratee': require('./iteratee'),
12
+ 'matches': require('./matches'),
13
+ 'matchesProperty': require('./matchesProperty'),
14
+ 'method': require('./method'),
15
+ 'methodOf': require('./methodOf'),
16
+ 'mixin': require('./mixin'),
17
+ 'noop': require('./noop'),
18
+ 'nthArg': require('./nthArg'),
19
+ 'over': require('./over'),
20
+ 'overEvery': require('./overEvery'),
21
+ 'overSome': require('./overSome'),
22
+ 'property': require('./property'),
23
+ 'propertyOf': require('./propertyOf'),
24
+ 'range': require('./range'),
25
+ 'rangeRight': require('./rangeRight'),
26
+ 'stubArray': require('./stubArray'),
27
+ 'stubFalse': require('./stubFalse'),
28
+ 'stubObject': require('./stubObject'),
29
+ 'stubString': require('./stubString'),
30
+ 'stubTrue': require('./stubTrue'),
31
+ 'times': require('./times'),
32
+ 'toPath': require('./toPath'),
33
+ 'uniqueId': require('./uniqueId')
34
+ };
package/value.js ADDED
@@ -0,0 +1 @@
1
+ module.exports = require('./wrapperValue');
package/valueOf.js ADDED
@@ -0,0 +1 @@
1
+ module.exports = require('./wrapperValue');
package/values.js ADDED
@@ -0,0 +1,34 @@
1
+ var baseValues = require('./_baseValues'),
2
+ keys = require('./keys');
3
+
4
+ /**
5
+ * Creates an array of the own enumerable string keyed property values of `object`.
6
+ *
7
+ * **Note:** Non-object values are coerced to objects.
8
+ *
9
+ * @static
10
+ * @since 0.1.0
11
+ * @memberOf _
12
+ * @category Object
13
+ * @param {Object} object The object to query.
14
+ * @returns {Array} Returns the array of property values.
15
+ * @example
16
+ *
17
+ * function Foo() {
18
+ * this.a = 1;
19
+ * this.b = 2;
20
+ * }
21
+ *
22
+ * Foo.prototype.c = 3;
23
+ *
24
+ * _.values(new Foo);
25
+ * // => [1, 2] (iteration order is not guaranteed)
26
+ *
27
+ * _.values('hi');
28
+ * // => ['h', 'i']
29
+ */
30
+ function values(object) {
31
+ return object == null ? [] : baseValues(object, keys(object));
32
+ }
33
+
34
+ module.exports = values;
package/valuesIn.js ADDED
@@ -0,0 +1,32 @@
1
+ var baseValues = require('./_baseValues'),
2
+ keysIn = require('./keysIn');
3
+
4
+ /**
5
+ * Creates an array of the own and inherited enumerable string keyed property
6
+ * values of `object`.
7
+ *
8
+ * **Note:** Non-object values are coerced to objects.
9
+ *
10
+ * @static
11
+ * @memberOf _
12
+ * @since 3.0.0
13
+ * @category Object
14
+ * @param {Object} object The object to query.
15
+ * @returns {Array} Returns the array of property values.
16
+ * @example
17
+ *
18
+ * function Foo() {
19
+ * this.a = 1;
20
+ * this.b = 2;
21
+ * }
22
+ *
23
+ * Foo.prototype.c = 3;
24
+ *
25
+ * _.valuesIn(new Foo);
26
+ * // => [1, 2, 3] (iteration order is not guaranteed)
27
+ */
28
+ function valuesIn(object) {
29
+ return object == null ? [] : baseValues(object, keysIn(object));
30
+ }
31
+
32
+ module.exports = valuesIn;
package/without.js ADDED
@@ -0,0 +1,31 @@
1
+ var baseDifference = require('./_baseDifference'),
2
+ baseRest = require('./_baseRest'),
3
+ isArrayLikeObject = require('./isArrayLikeObject');
4
+
5
+ /**
6
+ * Creates an array excluding all given values using
7
+ * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
8
+ * for equality comparisons.
9
+ *
10
+ * **Note:** Unlike `_.pull`, this method returns a new array.
11
+ *
12
+ * @static
13
+ * @memberOf _
14
+ * @since 0.1.0
15
+ * @category Array
16
+ * @param {Array} array The array to inspect.
17
+ * @param {...*} [values] The values to exclude.
18
+ * @returns {Array} Returns the new array of filtered values.
19
+ * @see _.difference, _.xor
20
+ * @example
21
+ *
22
+ * _.without([2, 1, 2, 3], 1, 2);
23
+ * // => [3]
24
+ */
25
+ var without = baseRest(function(array, values) {
26
+ return isArrayLikeObject(array)
27
+ ? baseDifference(array, values)
28
+ : [];
29
+ });
30
+
31
+ module.exports = without;
package/words.js ADDED
@@ -0,0 +1,35 @@
1
+ var asciiWords = require('./_asciiWords'),
2
+ hasUnicodeWord = require('./_hasUnicodeWord'),
3
+ toString = require('./toString'),
4
+ unicodeWords = require('./_unicodeWords');
5
+
6
+ /**
7
+ * Splits `string` into an array of its words.
8
+ *
9
+ * @static
10
+ * @memberOf _
11
+ * @since 3.0.0
12
+ * @category String
13
+ * @param {string} [string=''] The string to inspect.
14
+ * @param {RegExp|string} [pattern] The pattern to match words.
15
+ * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
16
+ * @returns {Array} Returns the words of `string`.
17
+ * @example
18
+ *
19
+ * _.words('fred, barney, & pebbles');
20
+ * // => ['fred', 'barney', 'pebbles']
21
+ *
22
+ * _.words('fred, barney, & pebbles', /[^, ]+/g);
23
+ * // => ['fred', 'barney', '&', 'pebbles']
24
+ */
25
+ function words(string, pattern, guard) {
26
+ string = toString(string);
27
+ pattern = guard ? undefined : pattern;
28
+
29
+ if (pattern === undefined) {
30
+ return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string);
31
+ }
32
+ return string.match(pattern) || [];
33
+ }
34
+
35
+ module.exports = words;
package/wrap.js ADDED
@@ -0,0 +1,30 @@
1
+ var castFunction = require('./_castFunction'),
2
+ partial = require('./partial');
3
+
4
+ /**
5
+ * Creates a function that provides `value` to `wrapper` as its first
6
+ * argument. Any additional arguments provided to the function are appended
7
+ * to those provided to the `wrapper`. The wrapper is invoked with the `this`
8
+ * binding of the created function.
9
+ *
10
+ * @static
11
+ * @memberOf _
12
+ * @since 0.1.0
13
+ * @category Function
14
+ * @param {*} value The value to wrap.
15
+ * @param {Function} [wrapper=identity] The wrapper function.
16
+ * @returns {Function} Returns the new function.
17
+ * @example
18
+ *
19
+ * var p = _.wrap(_.escape, function(func, text) {
20
+ * return '<p>' + func(text) + '</p>';
21
+ * });
22
+ *
23
+ * p('fred, barney, & pebbles');
24
+ * // => '<p>fred, barney, &amp; pebbles</p>'
25
+ */
26
+ function wrap(value, wrapper) {
27
+ return partial(castFunction(wrapper), value);
28
+ }
29
+
30
+ module.exports = wrap;
package/wrapperAt.js ADDED
@@ -0,0 +1,48 @@
1
+ var LazyWrapper = require('./_LazyWrapper'),
2
+ LodashWrapper = require('./_LodashWrapper'),
3
+ baseAt = require('./_baseAt'),
4
+ flatRest = require('./_flatRest'),
5
+ isIndex = require('./_isIndex'),
6
+ thru = require('./thru');
7
+
8
+ /**
9
+ * This method is the wrapper version of `_.at`.
10
+ *
11
+ * @name at
12
+ * @memberOf _
13
+ * @since 1.0.0
14
+ * @category Seq
15
+ * @param {...(string|string[])} [paths] The property paths to pick.
16
+ * @returns {Object} Returns the new `lodash` wrapper instance.
17
+ * @example
18
+ *
19
+ * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };
20
+ *
21
+ * _(object).at(['a[0].b.c', 'a[1]']).value();
22
+ * // => [3, 4]
23
+ */
24
+ var wrapperAt = flatRest(function(paths) {
25
+ var length = paths.length,
26
+ start = length ? paths[0] : 0,
27
+ value = this.__wrapped__,
28
+ interceptor = function(object) { return baseAt(object, paths); };
29
+
30
+ if (length > 1 || this.__actions__.length ||
31
+ !(value instanceof LazyWrapper) || !isIndex(start)) {
32
+ return this.thru(interceptor);
33
+ }
34
+ value = value.slice(start, +start + (length ? 1 : 0));
35
+ value.__actions__.push({
36
+ 'func': thru,
37
+ 'args': [interceptor],
38
+ 'thisArg': undefined
39
+ });
40
+ return new LodashWrapper(value, this.__chain__).thru(function(array) {
41
+ if (length && !array.length) {
42
+ array.push(undefined);
43
+ }
44
+ return array;
45
+ });
46
+ });
47
+
48
+ module.exports = wrapperAt;
@@ -0,0 +1,34 @@
1
+ var chain = require('./chain');
2
+
3
+ /**
4
+ * Creates a `lodash` wrapper instance with explicit method chain sequences enabled.
5
+ *
6
+ * @name chain
7
+ * @memberOf _
8
+ * @since 0.1.0
9
+ * @category Seq
10
+ * @returns {Object} Returns the new `lodash` wrapper instance.
11
+ * @example
12
+ *
13
+ * var users = [
14
+ * { 'user': 'barney', 'age': 36 },
15
+ * { 'user': 'fred', 'age': 40 }
16
+ * ];
17
+ *
18
+ * // A sequence without explicit chaining.
19
+ * _(users).head();
20
+ * // => { 'user': 'barney', 'age': 36 }
21
+ *
22
+ * // A sequence with explicit chaining.
23
+ * _(users)
24
+ * .chain()
25
+ * .head()
26
+ * .pick('user')
27
+ * .value();
28
+ * // => { 'user': 'barney' }
29
+ */
30
+ function wrapperChain() {
31
+ return chain(this);
32
+ }
33
+
34
+ module.exports = wrapperChain;
@@ -0,0 +1,147 @@
1
+ var LazyWrapper = require('./_LazyWrapper'),
2
+ LodashWrapper = require('./_LodashWrapper'),
3
+ baseLodash = require('./_baseLodash'),
4
+ isArray = require('./isArray'),
5
+ isObjectLike = require('./isObjectLike'),
6
+ wrapperClone = require('./_wrapperClone');
7
+
8
+ /** Used for built-in method references. */
9
+ var objectProto = Object.prototype;
10
+
11
+ /** Used to check objects for own properties. */
12
+ var hasOwnProperty = objectProto.hasOwnProperty;
13
+
14
+ /**
15
+ * Creates a `lodash` object which wraps `value` to enable implicit method
16
+ * chain sequences. Methods that operate on and return arrays, collections,
17
+ * and functions can be chained together. Methods that retrieve a single value
18
+ * or may return a primitive value will automatically end the chain sequence
19
+ * and return the unwrapped value. Otherwise, the value must be unwrapped
20
+ * with `_#value`.
21
+ *
22
+ * Explicit chain sequences, which must be unwrapped with `_#value`, may be
23
+ * enabled using `_.chain`.
24
+ *
25
+ * The execution of chained methods is lazy, that is, it's deferred until
26
+ * `_#value` is implicitly or explicitly called.
27
+ *
28
+ * Lazy evaluation allows several methods to support shortcut fusion.
29
+ * Shortcut fusion is an optimization to merge iteratee calls; this avoids
30
+ * the creation of intermediate arrays and can greatly reduce the number of
31
+ * iteratee executions. Sections of a chain sequence qualify for shortcut
32
+ * fusion if the section is applied to an array and iteratees accept only
33
+ * one argument. The heuristic for whether a section qualifies for shortcut
34
+ * fusion is subject to change.
35
+ *
36
+ * Chaining is supported in custom builds as long as the `_#value` method is
37
+ * directly or indirectly included in the build.
38
+ *
39
+ * In addition to lodash methods, wrappers have `Array` and `String` methods.
40
+ *
41
+ * The wrapper `Array` methods are:
42
+ * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift`
43
+ *
44
+ * The wrapper `String` methods are:
45
+ * `replace` and `split`
46
+ *
47
+ * The wrapper methods that support shortcut fusion are:
48
+ * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`,
49
+ * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`,
50
+ * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray`
51
+ *
52
+ * The chainable wrapper methods are:
53
+ * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`,
54
+ * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`,
55
+ * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`,
56
+ * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`,
57
+ * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`,
58
+ * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`,
59
+ * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`,
60
+ * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`,
61
+ * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`,
62
+ * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`,
63
+ * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`,
64
+ * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`,
65
+ * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`,
66
+ * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`,
67
+ * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`,
68
+ * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`,
69
+ * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`,
70
+ * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`,
71
+ * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`,
72
+ * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`,
73
+ * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`,
74
+ * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`,
75
+ * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`,
76
+ * `zipObject`, `zipObjectDeep`, and `zipWith`
77
+ *
78
+ * The wrapper methods that are **not** chainable by default are:
79
+ * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`,
80
+ * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`,
81
+ * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`,
82
+ * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`,
83
+ * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`,
84
+ * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`,
85
+ * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`,
86
+ * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`,
87
+ * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`,
88
+ * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`,
89
+ * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`,
90
+ * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`,
91
+ * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`,
92
+ * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`,
93
+ * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`,
94
+ * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`,
95
+ * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`,
96
+ * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`,
97
+ * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`,
98
+ * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`,
99
+ * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`,
100
+ * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`,
101
+ * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`,
102
+ * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`,
103
+ * `upperFirst`, `value`, and `words`
104
+ *
105
+ * @name _
106
+ * @constructor
107
+ * @category Seq
108
+ * @param {*} value The value to wrap in a `lodash` instance.
109
+ * @returns {Object} Returns the new `lodash` wrapper instance.
110
+ * @example
111
+ *
112
+ * function square(n) {
113
+ * return n * n;
114
+ * }
115
+ *
116
+ * var wrapped = _([1, 2, 3]);
117
+ *
118
+ * // Returns an unwrapped value.
119
+ * wrapped.reduce(_.add);
120
+ * // => 6
121
+ *
122
+ * // Returns a wrapped value.
123
+ * var squares = wrapped.map(square);
124
+ *
125
+ * _.isArray(squares);
126
+ * // => false
127
+ *
128
+ * _.isArray(squares.value());
129
+ * // => true
130
+ */
131
+ function lodash(value) {
132
+ if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) {
133
+ if (value instanceof LodashWrapper) {
134
+ return value;
135
+ }
136
+ if (hasOwnProperty.call(value, '__wrapped__')) {
137
+ return wrapperClone(value);
138
+ }
139
+ }
140
+ return new LodashWrapper(value);
141
+ }
142
+
143
+ // Ensure wrappers are instances of `baseLodash`.
144
+ lodash.prototype = baseLodash.prototype;
145
+ lodash.prototype.constructor = lodash;
146
+
147
+ module.exports = lodash;