@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/invertBy.js ADDED
@@ -0,0 +1,56 @@
1
+ var baseIteratee = require('./_baseIteratee'),
2
+ createInverter = require('./_createInverter');
3
+
4
+ /** Used for built-in method references. */
5
+ var objectProto = Object.prototype;
6
+
7
+ /** Used to check objects for own properties. */
8
+ var hasOwnProperty = objectProto.hasOwnProperty;
9
+
10
+ /**
11
+ * Used to resolve the
12
+ * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
13
+ * of values.
14
+ */
15
+ var nativeObjectToString = objectProto.toString;
16
+
17
+ /**
18
+ * This method is like `_.invert` except that the inverted object is generated
19
+ * from the results of running each element of `object` thru `iteratee`. The
20
+ * corresponding inverted value of each inverted key is an array of keys
21
+ * responsible for generating the inverted value. The iteratee is invoked
22
+ * with one argument: (value).
23
+ *
24
+ * @static
25
+ * @memberOf _
26
+ * @since 4.1.0
27
+ * @category Object
28
+ * @param {Object} object The object to invert.
29
+ * @param {Function} [iteratee=_.identity] The iteratee invoked per element.
30
+ * @returns {Object} Returns the new inverted object.
31
+ * @example
32
+ *
33
+ * var object = { 'a': 1, 'b': 2, 'c': 1 };
34
+ *
35
+ * _.invertBy(object);
36
+ * // => { '1': ['a', 'c'], '2': ['b'] }
37
+ *
38
+ * _.invertBy(object, function(value) {
39
+ * return 'group' + value;
40
+ * });
41
+ * // => { 'group1': ['a', 'c'], 'group2': ['b'] }
42
+ */
43
+ var invertBy = createInverter(function(result, value, key) {
44
+ if (value != null &&
45
+ typeof value.toString != 'function') {
46
+ value = nativeObjectToString.call(value);
47
+ }
48
+
49
+ if (hasOwnProperty.call(result, value)) {
50
+ result[value].push(key);
51
+ } else {
52
+ result[value] = [key];
53
+ }
54
+ }, baseIteratee);
55
+
56
+ module.exports = invertBy;
package/invoke.js ADDED
@@ -0,0 +1,24 @@
1
+ var baseInvoke = require('./_baseInvoke'),
2
+ baseRest = require('./_baseRest');
3
+
4
+ /**
5
+ * Invokes the method at `path` of `object`.
6
+ *
7
+ * @static
8
+ * @memberOf _
9
+ * @since 4.0.0
10
+ * @category Object
11
+ * @param {Object} object The object to query.
12
+ * @param {Array|string} path The path of the method to invoke.
13
+ * @param {...*} [args] The arguments to invoke the method with.
14
+ * @returns {*} Returns the result of the invoked method.
15
+ * @example
16
+ *
17
+ * var object = { 'a': [{ 'b': { 'c': [1, 2, 3, 4] } }] };
18
+ *
19
+ * _.invoke(object, 'a[0].b.c.slice', 1, 3);
20
+ * // => [2, 3]
21
+ */
22
+ var invoke = baseRest(baseInvoke);
23
+
24
+ module.exports = invoke;
package/invokeMap.js ADDED
@@ -0,0 +1,41 @@
1
+ var apply = require('./_apply'),
2
+ baseEach = require('./_baseEach'),
3
+ baseInvoke = require('./_baseInvoke'),
4
+ baseRest = require('./_baseRest'),
5
+ isArrayLike = require('./isArrayLike');
6
+
7
+ /**
8
+ * Invokes the method at `path` of each element in `collection`, returning
9
+ * an array of the results of each invoked method. Any additional arguments
10
+ * are provided to each invoked method. If `path` is a function, it's invoked
11
+ * for, and `this` bound to, each element in `collection`.
12
+ *
13
+ * @static
14
+ * @memberOf _
15
+ * @since 4.0.0
16
+ * @category Collection
17
+ * @param {Array|Object} collection The collection to iterate over.
18
+ * @param {Array|Function|string} path The path of the method to invoke or
19
+ * the function invoked per iteration.
20
+ * @param {...*} [args] The arguments to invoke each method with.
21
+ * @returns {Array} Returns the array of results.
22
+ * @example
23
+ *
24
+ * _.invokeMap([[5, 1, 7], [3, 2, 1]], 'sort');
25
+ * // => [[1, 5, 7], [1, 2, 3]]
26
+ *
27
+ * _.invokeMap([123, 456], String.prototype.split, '');
28
+ * // => [['1', '2', '3'], ['4', '5', '6']]
29
+ */
30
+ var invokeMap = baseRest(function(collection, path, args) {
31
+ var index = -1,
32
+ isFunc = typeof path == 'function',
33
+ result = isArrayLike(collection) ? Array(collection.length) : [];
34
+
35
+ baseEach(collection, function(value) {
36
+ result[++index] = isFunc ? apply(path, value, args) : baseInvoke(value, path, args);
37
+ });
38
+ return result;
39
+ });
40
+
41
+ module.exports = invokeMap;
package/isArguments.js ADDED
@@ -0,0 +1,36 @@
1
+ var baseIsArguments = require('./_baseIsArguments'),
2
+ isObjectLike = require('./isObjectLike');
3
+
4
+ /** Used for built-in method references. */
5
+ var objectProto = Object.prototype;
6
+
7
+ /** Used to check objects for own properties. */
8
+ var hasOwnProperty = objectProto.hasOwnProperty;
9
+
10
+ /** Built-in value references. */
11
+ var propertyIsEnumerable = objectProto.propertyIsEnumerable;
12
+
13
+ /**
14
+ * Checks if `value` is likely an `arguments` object.
15
+ *
16
+ * @static
17
+ * @memberOf _
18
+ * @since 0.1.0
19
+ * @category Lang
20
+ * @param {*} value The value to check.
21
+ * @returns {boolean} Returns `true` if `value` is an `arguments` object,
22
+ * else `false`.
23
+ * @example
24
+ *
25
+ * _.isArguments(function() { return arguments; }());
26
+ * // => true
27
+ *
28
+ * _.isArguments([1, 2, 3]);
29
+ * // => false
30
+ */
31
+ var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {
32
+ return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&
33
+ !propertyIsEnumerable.call(value, 'callee');
34
+ };
35
+
36
+ module.exports = isArguments;
package/isArray.js ADDED
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Checks if `value` is classified as an `Array` object.
3
+ *
4
+ * @static
5
+ * @memberOf _
6
+ * @since 0.1.0
7
+ * @category Lang
8
+ * @param {*} value The value to check.
9
+ * @returns {boolean} Returns `true` if `value` is an array, else `false`.
10
+ * @example
11
+ *
12
+ * _.isArray([1, 2, 3]);
13
+ * // => true
14
+ *
15
+ * _.isArray(document.body.children);
16
+ * // => false
17
+ *
18
+ * _.isArray('abc');
19
+ * // => false
20
+ *
21
+ * _.isArray(_.noop);
22
+ * // => false
23
+ */
24
+ var isArray = Array.isArray;
25
+
26
+ module.exports = isArray;
@@ -0,0 +1,27 @@
1
+ var baseIsArrayBuffer = require('./_baseIsArrayBuffer'),
2
+ baseUnary = require('./_baseUnary'),
3
+ nodeUtil = require('./_nodeUtil');
4
+
5
+ /* Node.js helper references. */
6
+ var nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer;
7
+
8
+ /**
9
+ * Checks if `value` is classified as an `ArrayBuffer` object.
10
+ *
11
+ * @static
12
+ * @memberOf _
13
+ * @since 4.3.0
14
+ * @category Lang
15
+ * @param {*} value The value to check.
16
+ * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.
17
+ * @example
18
+ *
19
+ * _.isArrayBuffer(new ArrayBuffer(2));
20
+ * // => true
21
+ *
22
+ * _.isArrayBuffer(new Array(2));
23
+ * // => false
24
+ */
25
+ var isArrayBuffer = nodeIsArrayBuffer ? baseUnary(nodeIsArrayBuffer) : baseIsArrayBuffer;
26
+
27
+ module.exports = isArrayBuffer;
package/isArrayLike.js ADDED
@@ -0,0 +1,33 @@
1
+ var isFunction = require('./isFunction'),
2
+ isLength = require('./isLength');
3
+
4
+ /**
5
+ * Checks if `value` is array-like. A value is considered array-like if it's
6
+ * not a function and has a `value.length` that's an integer greater than or
7
+ * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.
8
+ *
9
+ * @static
10
+ * @memberOf _
11
+ * @since 4.0.0
12
+ * @category Lang
13
+ * @param {*} value The value to check.
14
+ * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
15
+ * @example
16
+ *
17
+ * _.isArrayLike([1, 2, 3]);
18
+ * // => true
19
+ *
20
+ * _.isArrayLike(document.body.children);
21
+ * // => true
22
+ *
23
+ * _.isArrayLike('abc');
24
+ * // => true
25
+ *
26
+ * _.isArrayLike(_.noop);
27
+ * // => false
28
+ */
29
+ function isArrayLike(value) {
30
+ return value != null && !isFunction(value) && isLength(value.length) && '[object Object]' !== String(value);
31
+ }
32
+
33
+ module.exports = isArrayLike;
@@ -0,0 +1,33 @@
1
+ var isArrayLike = require('./isArrayLike'),
2
+ isObjectLike = require('./isObjectLike');
3
+
4
+ /**
5
+ * This method is like `_.isArrayLike` except that it also checks if `value`
6
+ * is an object.
7
+ *
8
+ * @static
9
+ * @memberOf _
10
+ * @since 4.0.0
11
+ * @category Lang
12
+ * @param {*} value The value to check.
13
+ * @returns {boolean} Returns `true` if `value` is an array-like object,
14
+ * else `false`.
15
+ * @example
16
+ *
17
+ * _.isArrayLikeObject([1, 2, 3]);
18
+ * // => true
19
+ *
20
+ * _.isArrayLikeObject(document.body.children);
21
+ * // => true
22
+ *
23
+ * _.isArrayLikeObject('abc');
24
+ * // => false
25
+ *
26
+ * _.isArrayLikeObject(_.noop);
27
+ * // => false
28
+ */
29
+ function isArrayLikeObject(value) {
30
+ return isObjectLike(value) && isArrayLike(value);
31
+ }
32
+
33
+ module.exports = isArrayLikeObject;
package/isBoolean.js ADDED
@@ -0,0 +1,29 @@
1
+ var baseGetTag = require('./_baseGetTag'),
2
+ isObjectLike = require('./isObjectLike');
3
+
4
+ /** `Object#toString` result references. */
5
+ var boolTag = '[object Boolean]';
6
+
7
+ /**
8
+ * Checks if `value` is classified as a boolean primitive or object.
9
+ *
10
+ * @static
11
+ * @memberOf _
12
+ * @since 0.1.0
13
+ * @category Lang
14
+ * @param {*} value The value to check.
15
+ * @returns {boolean} Returns `true` if `value` is a boolean, else `false`.
16
+ * @example
17
+ *
18
+ * _.isBoolean(false);
19
+ * // => true
20
+ *
21
+ * _.isBoolean(null);
22
+ * // => false
23
+ */
24
+ function isBoolean(value) {
25
+ return value === true || value === false ||
26
+ (isObjectLike(value) && baseGetTag(value) == boolTag);
27
+ }
28
+
29
+ module.exports = isBoolean;
package/isBuffer.js ADDED
@@ -0,0 +1,38 @@
1
+ var root = require('./_root'),
2
+ stubFalse = require('./stubFalse');
3
+
4
+ /** Detect free variable `exports`. */
5
+ var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;
6
+
7
+ /** Detect free variable `module`. */
8
+ var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;
9
+
10
+ /** Detect the popular CommonJS extension `module.exports`. */
11
+ var moduleExports = freeModule && freeModule.exports === freeExports;
12
+
13
+ /** Built-in value references. */
14
+ var Buffer = moduleExports ? root.Buffer : undefined;
15
+
16
+ /* Built-in method references for those with the same name as other `lodash` methods. */
17
+ var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;
18
+
19
+ /**
20
+ * Checks if `value` is a buffer.
21
+ *
22
+ * @static
23
+ * @memberOf _
24
+ * @since 4.3.0
25
+ * @category Lang
26
+ * @param {*} value The value to check.
27
+ * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.
28
+ * @example
29
+ *
30
+ * _.isBuffer(new Buffer(2));
31
+ * // => true
32
+ *
33
+ * _.isBuffer(new Uint8Array(2));
34
+ * // => false
35
+ */
36
+ var isBuffer = nativeIsBuffer || stubFalse;
37
+
38
+ module.exports = isBuffer;
package/isDate.js ADDED
@@ -0,0 +1,27 @@
1
+ var baseIsDate = require('./_baseIsDate'),
2
+ baseUnary = require('./_baseUnary'),
3
+ nodeUtil = require('./_nodeUtil');
4
+
5
+ /* Node.js helper references. */
6
+ var nodeIsDate = nodeUtil && nodeUtil.isDate;
7
+
8
+ /**
9
+ * Checks if `value` is classified as a `Date` object.
10
+ *
11
+ * @static
12
+ * @memberOf _
13
+ * @since 0.1.0
14
+ * @category Lang
15
+ * @param {*} value The value to check.
16
+ * @returns {boolean} Returns `true` if `value` is a date object, else `false`.
17
+ * @example
18
+ *
19
+ * _.isDate(new Date);
20
+ * // => true
21
+ *
22
+ * _.isDate('Mon April 23 2012');
23
+ * // => false
24
+ */
25
+ var isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate;
26
+
27
+ module.exports = isDate;
package/isElement.js ADDED
@@ -0,0 +1,25 @@
1
+ var isObjectLike = require('./isObjectLike'),
2
+ isPlainObject = require('./isPlainObject');
3
+
4
+ /**
5
+ * Checks if `value` is likely a DOM element.
6
+ *
7
+ * @static
8
+ * @memberOf _
9
+ * @since 0.1.0
10
+ * @category Lang
11
+ * @param {*} value The value to check.
12
+ * @returns {boolean} Returns `true` if `value` is a DOM element, else `false`.
13
+ * @example
14
+ *
15
+ * _.isElement(document.body);
16
+ * // => true
17
+ *
18
+ * _.isElement('<body>');
19
+ * // => false
20
+ */
21
+ function isElement(value) {
22
+ return isObjectLike(value) && value.nodeType === 1 && !isPlainObject(value);
23
+ }
24
+
25
+ module.exports = isElement;
package/isEmpty.js ADDED
@@ -0,0 +1,77 @@
1
+ var baseKeys = require('./_baseKeys'),
2
+ getTag = require('./_getTag'),
3
+ isArguments = require('./isArguments'),
4
+ isArray = require('./isArray'),
5
+ isArrayLike = require('./isArrayLike'),
6
+ isBuffer = require('./isBuffer'),
7
+ isPrototype = require('./_isPrototype'),
8
+ isTypedArray = require('./isTypedArray');
9
+
10
+ /** `Object#toString` result references. */
11
+ var mapTag = '[object Map]',
12
+ setTag = '[object Set]';
13
+
14
+ /** Used for built-in method references. */
15
+ var objectProto = Object.prototype;
16
+
17
+ /** Used to check objects for own properties. */
18
+ var hasOwnProperty = objectProto.hasOwnProperty;
19
+
20
+ /**
21
+ * Checks if `value` is an empty object, collection, map, or set.
22
+ *
23
+ * Objects are considered empty if they have no own enumerable string keyed
24
+ * properties.
25
+ *
26
+ * Array-like values such as `arguments` objects, arrays, buffers, strings, or
27
+ * jQuery-like collections are considered empty if they have a `length` of `0`.
28
+ * Similarly, maps and sets are considered empty if they have a `size` of `0`.
29
+ *
30
+ * @static
31
+ * @memberOf _
32
+ * @since 0.1.0
33
+ * @category Lang
34
+ * @param {*} value The value to check.
35
+ * @returns {boolean} Returns `true` if `value` is empty, else `false`.
36
+ * @example
37
+ *
38
+ * _.isEmpty(null);
39
+ * // => true
40
+ *
41
+ * _.isEmpty(true);
42
+ * // => true
43
+ *
44
+ * _.isEmpty(1);
45
+ * // => true
46
+ *
47
+ * _.isEmpty([1, 2, 3]);
48
+ * // => false
49
+ *
50
+ * _.isEmpty({ 'a': 1 });
51
+ * // => false
52
+ */
53
+ function isEmpty(value) {
54
+ if (value == null) {
55
+ return true;
56
+ }
57
+ if (isArrayLike(value) &&
58
+ (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||
59
+ isBuffer(value) || isTypedArray(value) || isArguments(value))) {
60
+ return !value.length;
61
+ }
62
+ var tag = getTag(value);
63
+ if (tag == mapTag || tag == setTag) {
64
+ return !value.size;
65
+ }
66
+ if (isPrototype(value)) {
67
+ return !baseKeys(value).length;
68
+ }
69
+ for (var key in value) {
70
+ if (hasOwnProperty.call(value, key)) {
71
+ return false;
72
+ }
73
+ }
74
+ return true;
75
+ }
76
+
77
+ module.exports = isEmpty;
package/isEqual.js ADDED
@@ -0,0 +1,35 @@
1
+ var baseIsEqual = require('./_baseIsEqual');
2
+
3
+ /**
4
+ * Performs a deep comparison between two values to determine if they are
5
+ * equivalent.
6
+ *
7
+ * **Note:** This method supports comparing arrays, array buffers, booleans,
8
+ * date objects, error objects, maps, numbers, `Object` objects, regexes,
9
+ * sets, strings, symbols, and typed arrays. `Object` objects are compared
10
+ * by their own, not inherited, enumerable properties. Functions and DOM
11
+ * nodes are compared by strict equality, i.e. `===`.
12
+ *
13
+ * @static
14
+ * @memberOf _
15
+ * @since 0.1.0
16
+ * @category Lang
17
+ * @param {*} value The value to compare.
18
+ * @param {*} other The other value to compare.
19
+ * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
20
+ * @example
21
+ *
22
+ * var object = { 'a': 1 };
23
+ * var other = { 'a': 1 };
24
+ *
25
+ * _.isEqual(object, other);
26
+ * // => true
27
+ *
28
+ * object === other;
29
+ * // => false
30
+ */
31
+ function isEqual(value, other) {
32
+ return baseIsEqual(value, other);
33
+ }
34
+
35
+ module.exports = isEqual;
package/isEqualWith.js ADDED
@@ -0,0 +1,41 @@
1
+ var baseIsEqual = require('./_baseIsEqual');
2
+
3
+ /**
4
+ * This method is like `_.isEqual` except that it accepts `customizer` which
5
+ * is invoked to compare values. If `customizer` returns `undefined`, comparisons
6
+ * are handled by the method instead. The `customizer` is invoked with up to
7
+ * six arguments: (objValue, othValue [, index|key, object, other, stack]).
8
+ *
9
+ * @static
10
+ * @memberOf _
11
+ * @since 4.0.0
12
+ * @category Lang
13
+ * @param {*} value The value to compare.
14
+ * @param {*} other The other value to compare.
15
+ * @param {Function} [customizer] The function to customize comparisons.
16
+ * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
17
+ * @example
18
+ *
19
+ * function isGreeting(value) {
20
+ * return /^h(?:i|ello)$/.test(value);
21
+ * }
22
+ *
23
+ * function customizer(objValue, othValue) {
24
+ * if (isGreeting(objValue) && isGreeting(othValue)) {
25
+ * return true;
26
+ * }
27
+ * }
28
+ *
29
+ * var array = ['hello', 'goodbye'];
30
+ * var other = ['hi', 'goodbye'];
31
+ *
32
+ * _.isEqualWith(array, other, customizer);
33
+ * // => true
34
+ */
35
+ function isEqualWith(value, other, customizer) {
36
+ customizer = typeof customizer == 'function' ? customizer : undefined;
37
+ var result = customizer ? customizer(value, other) : undefined;
38
+ return result === undefined ? baseIsEqual(value, other, undefined, customizer) : !!result;
39
+ }
40
+
41
+ module.exports = isEqualWith;
package/isError.js ADDED
@@ -0,0 +1,36 @@
1
+ var baseGetTag = require('./_baseGetTag'),
2
+ isObjectLike = require('./isObjectLike'),
3
+ isPlainObject = require('./isPlainObject');
4
+
5
+ /** `Object#toString` result references. */
6
+ var domExcTag = '[object DOMException]',
7
+ errorTag = '[object Error]';
8
+
9
+ /**
10
+ * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`,
11
+ * `SyntaxError`, `TypeError`, or `URIError` object.
12
+ *
13
+ * @static
14
+ * @memberOf _
15
+ * @since 3.0.0
16
+ * @category Lang
17
+ * @param {*} value The value to check.
18
+ * @returns {boolean} Returns `true` if `value` is an error object, else `false`.
19
+ * @example
20
+ *
21
+ * _.isError(new Error);
22
+ * // => true
23
+ *
24
+ * _.isError(Error);
25
+ * // => false
26
+ */
27
+ function isError(value) {
28
+ if (!isObjectLike(value)) {
29
+ return false;
30
+ }
31
+ var tag = baseGetTag(value);
32
+ return tag == errorTag || tag == domExcTag ||
33
+ (typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value));
34
+ }
35
+
36
+ module.exports = isError;
package/isFinite.js ADDED
@@ -0,0 +1,36 @@
1
+ var root = require('./_root');
2
+
3
+ /* Built-in method references for those with the same name as other `lodash` methods. */
4
+ var nativeIsFinite = root.isFinite;
5
+
6
+ /**
7
+ * Checks if `value` is a finite primitive number.
8
+ *
9
+ * **Note:** This method is based on
10
+ * [`Number.isFinite`](https://mdn.io/Number/isFinite).
11
+ *
12
+ * @static
13
+ * @memberOf _
14
+ * @since 0.1.0
15
+ * @category Lang
16
+ * @param {*} value The value to check.
17
+ * @returns {boolean} Returns `true` if `value` is a finite number, else `false`.
18
+ * @example
19
+ *
20
+ * _.isFinite(3);
21
+ * // => true
22
+ *
23
+ * _.isFinite(Number.MIN_VALUE);
24
+ * // => true
25
+ *
26
+ * _.isFinite(Infinity);
27
+ * // => false
28
+ *
29
+ * _.isFinite('3');
30
+ * // => false
31
+ */
32
+ function isFinite(value) {
33
+ return typeof value == 'number' && nativeIsFinite(value);
34
+ }
35
+
36
+ module.exports = isFinite;
package/isFunction.js ADDED
@@ -0,0 +1,37 @@
1
+ var baseGetTag = require('./_baseGetTag'),
2
+ isObject = require('./isObject');
3
+
4
+ /** `Object#toString` result references. */
5
+ var asyncTag = '[object AsyncFunction]',
6
+ funcTag = '[object Function]',
7
+ genTag = '[object GeneratorFunction]',
8
+ proxyTag = '[object Proxy]';
9
+
10
+ /**
11
+ * Checks if `value` is classified as a `Function` object.
12
+ *
13
+ * @static
14
+ * @memberOf _
15
+ * @since 0.1.0
16
+ * @category Lang
17
+ * @param {*} value The value to check.
18
+ * @returns {boolean} Returns `true` if `value` is a function, else `false`.
19
+ * @example
20
+ *
21
+ * _.isFunction(_);
22
+ * // => true
23
+ *
24
+ * _.isFunction(/abc/);
25
+ * // => false
26
+ */
27
+ function isFunction(value) {
28
+ if (!isObject(value)) {
29
+ return false;
30
+ }
31
+ // The use of `Object#toString` avoids issues with the `typeof` operator
32
+ // in Safari 9 which returns 'object' for typed arrays and other constructors.
33
+ var tag = baseGetTag(value);
34
+ return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
35
+ }
36
+
37
+ module.exports = isFunction;