@kineviz/lodash 4.17.21 → 4.17.23

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 (1051) hide show
  1. package/LICENSE +47 -47
  2. package/README.md +39 -39
  3. package/_DataView.js +7 -7
  4. package/_Hash.js +32 -32
  5. package/_LazyWrapper.js +28 -28
  6. package/_ListCache.js +32 -32
  7. package/_LodashWrapper.js +22 -22
  8. package/_Map.js +7 -7
  9. package/_MapCache.js +32 -32
  10. package/_Promise.js +7 -7
  11. package/_Set.js +7 -7
  12. package/_SetCache.js +27 -27
  13. package/_Stack.js +27 -27
  14. package/_Symbol.js +6 -6
  15. package/_Uint8Array.js +6 -6
  16. package/_WeakMap.js +7 -7
  17. package/_apply.js +21 -21
  18. package/_arrayAggregator.js +22 -22
  19. package/_arrayEach.js +22 -22
  20. package/_arrayEachRight.js +21 -21
  21. package/_arrayEvery.js +23 -23
  22. package/_arrayFilter.js +25 -25
  23. package/_arrayIncludes.js +17 -17
  24. package/_arrayIncludesWith.js +22 -22
  25. package/_arrayLikeKeys.js +49 -49
  26. package/_arrayMap.js +21 -21
  27. package/_arrayPush.js +20 -20
  28. package/_arrayReduce.js +26 -26
  29. package/_arrayReduceRight.js +24 -24
  30. package/_arraySample.js +15 -15
  31. package/_arraySampleSize.js +17 -17
  32. package/_arrayShuffle.js +15 -15
  33. package/_arraySome.js +23 -23
  34. package/_asciiSize.js +12 -12
  35. package/_asciiToArray.js +12 -12
  36. package/_asciiWords.js +15 -15
  37. package/_assignMergeValue.js +20 -20
  38. package/_assignValue.js +28 -28
  39. package/_assocIndexOf.js +21 -21
  40. package/_baseAggregator.js +21 -21
  41. package/_baseAssign.js +17 -17
  42. package/_baseAssignIn.js +17 -17
  43. package/_baseAssignValue.js +25 -25
  44. package/_baseAt.js +23 -23
  45. package/_baseClamp.js +22 -22
  46. package/_baseClone.js +166 -166
  47. package/_baseConforms.js +18 -18
  48. package/_baseConformsTo.js +27 -27
  49. package/_baseCreate.js +30 -30
  50. package/_baseDelay.js +21 -21
  51. package/_baseDifference.js +67 -67
  52. package/_baseEach.js +14 -14
  53. package/_baseEachRight.js +14 -14
  54. package/_baseEvery.js +21 -21
  55. package/_baseExtremum.js +32 -32
  56. package/_baseFill.js +32 -32
  57. package/_baseFilter.js +21 -21
  58. package/_baseFindIndex.js +24 -24
  59. package/_baseFindKey.js +23 -23
  60. package/_baseFlatten.js +38 -38
  61. package/_baseFor.js +16 -16
  62. package/_baseForOwn.js +16 -16
  63. package/_baseForOwnRight.js +16 -16
  64. package/_baseForRight.js +15 -15
  65. package/_baseFunctions.js +19 -19
  66. package/_baseGet.js +24 -24
  67. package/_baseGetAllKeys.js +20 -20
  68. package/_baseGetTag.js +28 -28
  69. package/_baseGt.js +14 -14
  70. package/_baseHas.js +19 -19
  71. package/_baseHasIn.js +13 -13
  72. package/_baseInRange.js +18 -18
  73. package/_baseIndexOf.js +20 -20
  74. package/_baseIndexOfWith.js +23 -23
  75. package/_baseIntersection.js +74 -74
  76. package/_baseInverter.js +21 -21
  77. package/_baseInvoke.js +24 -24
  78. package/_baseIsArguments.js +18 -18
  79. package/_baseIsArrayBuffer.js +17 -17
  80. package/_baseIsDate.js +18 -18
  81. package/_baseIsEqual.js +28 -28
  82. package/_baseIsEqualDeep.js +83 -83
  83. package/_baseIsMap.js +18 -18
  84. package/_baseIsMatch.js +62 -62
  85. package/_baseIsNaN.js +12 -12
  86. package/_baseIsNative.js +47 -47
  87. package/_baseIsRegExp.js +18 -18
  88. package/_baseIsSet.js +18 -18
  89. package/_baseIsTypedArray.js +60 -60
  90. package/_baseIteratee.js +31 -31
  91. package/_baseKeys.js +30 -30
  92. package/_baseKeysIn.js +33 -33
  93. package/_baseLodash.js +10 -10
  94. package/_baseLt.js +14 -14
  95. package/_baseMap.js +22 -22
  96. package/_baseMatches.js +22 -22
  97. package/_baseMatchesProperty.js +33 -33
  98. package/_baseMean.js +20 -20
  99. package/_baseMerge.js +42 -42
  100. package/_baseMergeDeep.js +94 -94
  101. package/_baseNth.js +20 -20
  102. package/_baseOrderBy.js +49 -49
  103. package/_basePick.js +19 -19
  104. package/_basePickBy.js +30 -30
  105. package/_baseProperty.js +14 -14
  106. package/_basePropertyDeep.js +16 -16
  107. package/_basePropertyOf.js +14 -14
  108. package/_basePullAll.js +51 -51
  109. package/_basePullAt.js +37 -37
  110. package/_baseRandom.js +18 -18
  111. package/_baseRange.js +28 -28
  112. package/_baseReduce.js +23 -23
  113. package/_baseRepeat.js +35 -35
  114. package/_baseRest.js +17 -17
  115. package/_baseSample.js +15 -15
  116. package/_baseSampleSize.js +18 -18
  117. package/_baseSet.js +51 -51
  118. package/_baseSetData.js +17 -17
  119. package/_baseSetToString.js +22 -22
  120. package/_baseShuffle.js +15 -15
  121. package/_baseSlice.js +31 -31
  122. package/_baseSome.js +22 -22
  123. package/_baseSortBy.js +21 -21
  124. package/_baseSortedIndex.js +42 -42
  125. package/_baseSortedIndexBy.js +67 -67
  126. package/_baseSortedUniq.js +30 -30
  127. package/_baseSum.js +24 -24
  128. package/_baseTimes.js +20 -20
  129. package/_baseToNumber.js +24 -24
  130. package/_baseToPairs.js +18 -18
  131. package/_baseToString.js +37 -37
  132. package/_baseTrim.js +19 -19
  133. package/_baseUnary.js +14 -14
  134. package/_baseUniq.js +72 -72
  135. package/_baseUnset.js +65 -20
  136. package/_baseUpdate.js +18 -18
  137. package/_baseValues.js +19 -19
  138. package/_baseWhile.js +26 -26
  139. package/_baseWrapperValue.js +25 -25
  140. package/_baseXor.js +36 -36
  141. package/_baseZipObject.js +23 -23
  142. package/_cacheHas.js +13 -13
  143. package/_castArrayLikeObject.js +14 -14
  144. package/_castFunction.js +14 -14
  145. package/_castPath.js +21 -21
  146. package/_castRest.js +14 -14
  147. package/_castSlice.js +18 -18
  148. package/_charsEndIndex.js +19 -19
  149. package/_charsStartIndex.js +20 -20
  150. package/_cloneArrayBuffer.js +16 -16
  151. package/_cloneBuffer.js +35 -35
  152. package/_cloneDataView.js +16 -16
  153. package/_cloneRegExp.js +17 -17
  154. package/_cloneSymbol.js +18 -18
  155. package/_cloneTypedArray.js +16 -16
  156. package/_compareAscending.js +41 -41
  157. package/_compareMultiple.js +44 -44
  158. package/_composeArgs.js +39 -39
  159. package/_composeArgsRight.js +41 -41
  160. package/_copyArray.js +20 -20
  161. package/_copyObject.js +40 -40
  162. package/_copySymbols.js +16 -16
  163. package/_copySymbolsIn.js +16 -16
  164. package/_coreJsData.js +6 -6
  165. package/_countHolders.js +21 -21
  166. package/_createAggregator.js +23 -23
  167. package/_createAssigner.js +37 -37
  168. package/_createBaseEach.js +32 -32
  169. package/_createBaseFor.js +25 -25
  170. package/_createBind.js +28 -28
  171. package/_createCaseFirst.js +33 -33
  172. package/_createCompounder.js +24 -24
  173. package/_createCtor.js +37 -37
  174. package/_createCurry.js +46 -46
  175. package/_createFind.js +25 -25
  176. package/_createFlow.js +78 -78
  177. package/_createHybrid.js +92 -92
  178. package/_createInverter.js +17 -17
  179. package/_createMathOperation.js +38 -38
  180. package/_createOver.js +27 -27
  181. package/_createPadding.js +33 -33
  182. package/_createPartial.js +43 -43
  183. package/_createRange.js +30 -30
  184. package/_createRecurry.js +56 -56
  185. package/_createRelationalOperation.js +20 -20
  186. package/_createRound.js +35 -35
  187. package/_createSet.js +19 -19
  188. package/_createToPairs.js +30 -30
  189. package/_createWrap.js +106 -106
  190. package/_customDefaultsAssignIn.js +29 -29
  191. package/_customDefaultsMerge.js +28 -28
  192. package/_customOmitClone.js +16 -16
  193. package/_deburrLetter.js +71 -71
  194. package/_defineProperty.js +11 -11
  195. package/_equalArrays.js +84 -84
  196. package/_equalByTag.js +112 -112
  197. package/_equalObjects.js +90 -90
  198. package/_escapeHtmlChar.js +21 -21
  199. package/_escapeStringChar.js +22 -22
  200. package/_flatRest.js +16 -16
  201. package/_freeGlobal.js +4 -4
  202. package/_getAllKeys.js +16 -16
  203. package/_getAllKeysIn.js +17 -17
  204. package/_getData.js +15 -15
  205. package/_getFuncName.js +31 -31
  206. package/_getHolder.js +13 -13
  207. package/_getMapData.js +18 -18
  208. package/_getMatchData.js +24 -24
  209. package/_getNative.js +17 -17
  210. package/_getPrototype.js +6 -6
  211. package/_getRawTag.js +46 -46
  212. package/_getSymbols.js +30 -30
  213. package/_getSymbolsIn.js +25 -25
  214. package/_getTag.js +58 -58
  215. package/_getValue.js +13 -13
  216. package/_getView.js +33 -33
  217. package/_getWrapDetails.js +17 -17
  218. package/_hasPath.js +39 -39
  219. package/_hasUnicode.js +26 -26
  220. package/_hasUnicodeWord.js +15 -15
  221. package/_hashClear.js +15 -15
  222. package/_hashDelete.js +17 -17
  223. package/_hashGet.js +30 -30
  224. package/_hashHas.js +23 -23
  225. package/_hashSet.js +23 -23
  226. package/_initCloneArray.js +26 -26
  227. package/_initCloneByTag.js +77 -77
  228. package/_initCloneObject.js +18 -18
  229. package/_insertWrapDetails.js +23 -23
  230. package/_isFlattenable.js +20 -20
  231. package/_isIndex.js +25 -25
  232. package/_isIterateeCall.js +30 -30
  233. package/_isKey.js +29 -29
  234. package/_isKeyable.js +15 -15
  235. package/_isLaziable.js +28 -28
  236. package/_isMaskable.js +14 -14
  237. package/_isMasked.js +20 -20
  238. package/_isPrototype.js +18 -18
  239. package/_isStrictComparable.js +15 -15
  240. package/_iteratorToArray.js +18 -18
  241. package/_lazyClone.js +23 -23
  242. package/_lazyReverse.js +23 -23
  243. package/_lazyValue.js +69 -69
  244. package/_listCacheClear.js +13 -13
  245. package/_listCacheDelete.js +35 -35
  246. package/_listCacheGet.js +19 -19
  247. package/_listCacheHas.js +16 -16
  248. package/_listCacheSet.js +26 -26
  249. package/_mapCacheClear.js +21 -21
  250. package/_mapCacheDelete.js +18 -18
  251. package/_mapCacheGet.js +16 -16
  252. package/_mapCacheHas.js +16 -16
  253. package/_mapCacheSet.js +22 -22
  254. package/_mapToArray.js +18 -18
  255. package/_matchesStrictComparable.js +20 -20
  256. package/_memoizeCapped.js +26 -26
  257. package/_mergeData.js +90 -90
  258. package/_metaMap.js +6 -6
  259. package/_nativeCreate.js +6 -6
  260. package/_nativeKeys.js +6 -6
  261. package/_nativeKeysIn.js +20 -20
  262. package/_nodeUtil.js +30 -30
  263. package/_objectToString.js +22 -22
  264. package/_overArg.js +15 -15
  265. package/_overRest.js +36 -36
  266. package/_parent.js +16 -16
  267. package/_reEscape.js +4 -4
  268. package/_reEvaluate.js +4 -4
  269. package/_reInterpolate.js +4 -4
  270. package/_realNames.js +4 -4
  271. package/_reorder.js +29 -29
  272. package/_replaceHolders.js +29 -29
  273. package/_root.js +9 -9
  274. package/_safeGet.js +21 -21
  275. package/_setCacheAdd.js +19 -19
  276. package/_setCacheHas.js +14 -14
  277. package/_setData.js +20 -20
  278. package/_setToArray.js +18 -18
  279. package/_setToPairs.js +18 -18
  280. package/_setToString.js +14 -14
  281. package/_setWrapToString.js +21 -21
  282. package/_shortOut.js +37 -37
  283. package/_shuffleSelf.js +28 -28
  284. package/_stackClear.js +15 -15
  285. package/_stackDelete.js +18 -18
  286. package/_stackGet.js +14 -14
  287. package/_stackHas.js +14 -14
  288. package/_stackSet.js +34 -34
  289. package/_strictIndexOf.js +23 -23
  290. package/_strictLastIndexOf.js +21 -21
  291. package/_stringSize.js +18 -18
  292. package/_stringToArray.js +18 -18
  293. package/_stringToPath.js +27 -27
  294. package/_toKey.js +21 -21
  295. package/_toSource.js +26 -26
  296. package/_trimmedEndIndex.js +19 -19
  297. package/_unescapeHtmlChar.js +21 -21
  298. package/_unicodeSize.js +44 -44
  299. package/_unicodeToArray.js +40 -40
  300. package/_unicodeWords.js +69 -69
  301. package/_updateWrapDetails.js +46 -46
  302. package/_wrapperClone.js +23 -23
  303. package/add.js +22 -22
  304. package/after.js +42 -42
  305. package/array.js +67 -67
  306. package/ary.js +29 -29
  307. package/assign.js +58 -58
  308. package/assignIn.js +40 -40
  309. package/assignInWith.js +38 -38
  310. package/assignWith.js +37 -37
  311. package/at.js +23 -23
  312. package/attempt.js +35 -35
  313. package/before.js +40 -40
  314. package/bind.js +57 -57
  315. package/bindAll.js +41 -41
  316. package/bindKey.js +68 -68
  317. package/camelCase.js +29 -29
  318. package/capitalize.js +23 -23
  319. package/castArray.js +44 -44
  320. package/ceil.js +26 -26
  321. package/chain.js +38 -38
  322. package/chunk.js +50 -50
  323. package/clamp.js +39 -39
  324. package/clone.js +36 -36
  325. package/cloneDeep.js +29 -29
  326. package/cloneDeepWith.js +40 -40
  327. package/cloneWith.js +42 -42
  328. package/collection.js +30 -30
  329. package/commit.js +33 -33
  330. package/compact.js +31 -31
  331. package/concat.js +43 -43
  332. package/cond.js +60 -60
  333. package/conforms.js +35 -35
  334. package/conformsTo.js +32 -32
  335. package/constant.js +26 -26
  336. package/core.js +3877 -3877
  337. package/core.min.js +6 -25
  338. package/countBy.js +40 -40
  339. package/create.js +43 -43
  340. package/curry.js +57 -57
  341. package/curryRight.js +54 -54
  342. package/date.js +3 -3
  343. package/debounce.js +191 -191
  344. package/deburr.js +45 -45
  345. package/defaultTo.js +25 -25
  346. package/defaults.js +64 -64
  347. package/defaultsDeep.js +30 -30
  348. package/defer.js +26 -26
  349. package/delay.js +28 -28
  350. package/difference.js +33 -33
  351. package/differenceBy.js +44 -44
  352. package/differenceWith.js +40 -40
  353. package/divide.js +22 -22
  354. package/drop.js +38 -38
  355. package/dropRight.js +39 -39
  356. package/dropRightWhile.js +45 -45
  357. package/dropWhile.js +45 -45
  358. package/each.js +1 -1
  359. package/eachRight.js +1 -1
  360. package/endsWith.js +43 -43
  361. package/entries.js +1 -1
  362. package/entriesIn.js +1 -1
  363. package/eq.js +37 -37
  364. package/escape.js +43 -43
  365. package/escapeRegExp.js +32 -32
  366. package/every.js +56 -56
  367. package/extend.js +1 -1
  368. package/extendWith.js +1 -1
  369. package/fill.js +45 -45
  370. package/filter.js +52 -52
  371. package/find.js +42 -42
  372. package/findIndex.js +55 -55
  373. package/findKey.js +44 -44
  374. package/findLast.js +25 -25
  375. package/findLastIndex.js +59 -59
  376. package/findLastKey.js +44 -44
  377. package/first.js +1 -1
  378. package/flatMap.js +29 -29
  379. package/flatMapDeep.js +31 -31
  380. package/flatMapDepth.js +31 -31
  381. package/flatten.js +22 -22
  382. package/flattenDeep.js +25 -25
  383. package/flattenDepth.js +33 -33
  384. package/flip.js +28 -28
  385. package/floor.js +26 -26
  386. package/flow.js +27 -27
  387. package/flowRight.js +26 -26
  388. package/forEach.js +41 -41
  389. package/forEachRight.js +31 -31
  390. package/forIn.js +39 -39
  391. package/forInRight.js +37 -37
  392. package/forOwn.js +36 -36
  393. package/forOwnRight.js +34 -34
  394. package/fp/F.js +1 -1
  395. package/fp/T.js +1 -1
  396. package/fp/__.js +1 -1
  397. package/fp/_baseConvert.js +569 -569
  398. package/fp/_convertBrowser.js +18 -18
  399. package/fp/_falseOptions.js +7 -7
  400. package/fp/_mapping.js +358 -358
  401. package/fp/_util.js +16 -16
  402. package/fp/add.js +5 -5
  403. package/fp/after.js +5 -5
  404. package/fp/all.js +1 -1
  405. package/fp/allPass.js +1 -1
  406. package/fp/always.js +1 -1
  407. package/fp/any.js +1 -1
  408. package/fp/anyPass.js +1 -1
  409. package/fp/apply.js +1 -1
  410. package/fp/array.js +2 -2
  411. package/fp/ary.js +5 -5
  412. package/fp/assign.js +5 -5
  413. package/fp/assignAll.js +5 -5
  414. package/fp/assignAllWith.js +5 -5
  415. package/fp/assignIn.js +5 -5
  416. package/fp/assignInAll.js +5 -5
  417. package/fp/assignInAllWith.js +5 -5
  418. package/fp/assignInWith.js +5 -5
  419. package/fp/assignWith.js +5 -5
  420. package/fp/assoc.js +1 -1
  421. package/fp/assocPath.js +1 -1
  422. package/fp/at.js +5 -5
  423. package/fp/attempt.js +5 -5
  424. package/fp/before.js +5 -5
  425. package/fp/bind.js +5 -5
  426. package/fp/bindAll.js +5 -5
  427. package/fp/bindKey.js +5 -5
  428. package/fp/camelCase.js +5 -5
  429. package/fp/capitalize.js +5 -5
  430. package/fp/castArray.js +5 -5
  431. package/fp/ceil.js +5 -5
  432. package/fp/chain.js +5 -5
  433. package/fp/chunk.js +5 -5
  434. package/fp/clamp.js +5 -5
  435. package/fp/clone.js +5 -5
  436. package/fp/cloneDeep.js +5 -5
  437. package/fp/cloneDeepWith.js +5 -5
  438. package/fp/cloneWith.js +5 -5
  439. package/fp/collection.js +2 -2
  440. package/fp/commit.js +5 -5
  441. package/fp/compact.js +5 -5
  442. package/fp/complement.js +1 -1
  443. package/fp/compose.js +1 -1
  444. package/fp/concat.js +5 -5
  445. package/fp/cond.js +5 -5
  446. package/fp/conforms.js +1 -1
  447. package/fp/conformsTo.js +5 -5
  448. package/fp/constant.js +5 -5
  449. package/fp/contains.js +1 -1
  450. package/fp/convert.js +18 -18
  451. package/fp/countBy.js +5 -5
  452. package/fp/create.js +5 -5
  453. package/fp/curry.js +5 -5
  454. package/fp/curryN.js +5 -5
  455. package/fp/curryRight.js +5 -5
  456. package/fp/curryRightN.js +5 -5
  457. package/fp/date.js +2 -2
  458. package/fp/debounce.js +5 -5
  459. package/fp/deburr.js +5 -5
  460. package/fp/defaultTo.js +5 -5
  461. package/fp/defaults.js +5 -5
  462. package/fp/defaultsAll.js +5 -5
  463. package/fp/defaultsDeep.js +5 -5
  464. package/fp/defaultsDeepAll.js +5 -5
  465. package/fp/defer.js +5 -5
  466. package/fp/delay.js +5 -5
  467. package/fp/difference.js +5 -5
  468. package/fp/differenceBy.js +5 -5
  469. package/fp/differenceWith.js +5 -5
  470. package/fp/dissoc.js +1 -1
  471. package/fp/dissocPath.js +1 -1
  472. package/fp/divide.js +5 -5
  473. package/fp/drop.js +5 -5
  474. package/fp/dropLast.js +1 -1
  475. package/fp/dropLastWhile.js +1 -1
  476. package/fp/dropRight.js +5 -5
  477. package/fp/dropRightWhile.js +5 -5
  478. package/fp/dropWhile.js +5 -5
  479. package/fp/each.js +1 -1
  480. package/fp/eachRight.js +1 -1
  481. package/fp/endsWith.js +5 -5
  482. package/fp/entries.js +1 -1
  483. package/fp/entriesIn.js +1 -1
  484. package/fp/eq.js +5 -5
  485. package/fp/equals.js +1 -1
  486. package/fp/escape.js +5 -5
  487. package/fp/escapeRegExp.js +5 -5
  488. package/fp/every.js +5 -5
  489. package/fp/extend.js +1 -1
  490. package/fp/extendAll.js +1 -1
  491. package/fp/extendAllWith.js +1 -1
  492. package/fp/extendWith.js +1 -1
  493. package/fp/fill.js +5 -5
  494. package/fp/filter.js +5 -5
  495. package/fp/find.js +5 -5
  496. package/fp/findFrom.js +5 -5
  497. package/fp/findIndex.js +5 -5
  498. package/fp/findIndexFrom.js +5 -5
  499. package/fp/findKey.js +5 -5
  500. package/fp/findLast.js +5 -5
  501. package/fp/findLastFrom.js +5 -5
  502. package/fp/findLastIndex.js +5 -5
  503. package/fp/findLastIndexFrom.js +5 -5
  504. package/fp/findLastKey.js +5 -5
  505. package/fp/first.js +1 -1
  506. package/fp/flatMap.js +5 -5
  507. package/fp/flatMapDeep.js +5 -5
  508. package/fp/flatMapDepth.js +5 -5
  509. package/fp/flatten.js +5 -5
  510. package/fp/flattenDeep.js +5 -5
  511. package/fp/flattenDepth.js +5 -5
  512. package/fp/flip.js +5 -5
  513. package/fp/floor.js +5 -5
  514. package/fp/flow.js +5 -5
  515. package/fp/flowRight.js +5 -5
  516. package/fp/forEach.js +5 -5
  517. package/fp/forEachRight.js +5 -5
  518. package/fp/forIn.js +5 -5
  519. package/fp/forInRight.js +5 -5
  520. package/fp/forOwn.js +5 -5
  521. package/fp/forOwnRight.js +5 -5
  522. package/fp/fromPairs.js +5 -5
  523. package/fp/function.js +2 -2
  524. package/fp/functions.js +5 -5
  525. package/fp/functionsIn.js +5 -5
  526. package/fp/get.js +5 -5
  527. package/fp/getOr.js +5 -5
  528. package/fp/groupBy.js +5 -5
  529. package/fp/gt.js +5 -5
  530. package/fp/gte.js +5 -5
  531. package/fp/has.js +5 -5
  532. package/fp/hasIn.js +5 -5
  533. package/fp/head.js +5 -5
  534. package/fp/identical.js +1 -1
  535. package/fp/identity.js +5 -5
  536. package/fp/inRange.js +5 -5
  537. package/fp/includes.js +5 -5
  538. package/fp/includesFrom.js +5 -5
  539. package/fp/indexBy.js +1 -1
  540. package/fp/indexOf.js +5 -5
  541. package/fp/indexOfFrom.js +5 -5
  542. package/fp/init.js +1 -1
  543. package/fp/initial.js +5 -5
  544. package/fp/intersection.js +5 -5
  545. package/fp/intersectionBy.js +5 -5
  546. package/fp/intersectionWith.js +5 -5
  547. package/fp/invert.js +5 -5
  548. package/fp/invertBy.js +5 -5
  549. package/fp/invertObj.js +1 -1
  550. package/fp/invoke.js +5 -5
  551. package/fp/invokeArgs.js +5 -5
  552. package/fp/invokeArgsMap.js +5 -5
  553. package/fp/invokeMap.js +5 -5
  554. package/fp/isArguments.js +5 -5
  555. package/fp/isArray.js +5 -5
  556. package/fp/isArrayBuffer.js +5 -5
  557. package/fp/isArrayLike.js +5 -5
  558. package/fp/isArrayLikeObject.js +5 -5
  559. package/fp/isBoolean.js +5 -5
  560. package/fp/isBuffer.js +5 -5
  561. package/fp/isDate.js +5 -5
  562. package/fp/isElement.js +5 -5
  563. package/fp/isEmpty.js +5 -5
  564. package/fp/isEqual.js +5 -5
  565. package/fp/isEqualWith.js +5 -5
  566. package/fp/isError.js +5 -5
  567. package/fp/isFinite.js +5 -5
  568. package/fp/isFunction.js +5 -5
  569. package/fp/isInteger.js +5 -5
  570. package/fp/isLength.js +5 -5
  571. package/fp/isMap.js +5 -5
  572. package/fp/isMatch.js +5 -5
  573. package/fp/isMatchWith.js +5 -5
  574. package/fp/isNaN.js +5 -5
  575. package/fp/isNative.js +5 -5
  576. package/fp/isNil.js +5 -5
  577. package/fp/isNull.js +5 -5
  578. package/fp/isNumber.js +5 -5
  579. package/fp/isObject.js +5 -5
  580. package/fp/isObjectLike.js +5 -5
  581. package/fp/isPlainObject.js +5 -5
  582. package/fp/isRegExp.js +5 -5
  583. package/fp/isSafeInteger.js +5 -5
  584. package/fp/isSet.js +5 -5
  585. package/fp/isString.js +5 -5
  586. package/fp/isSymbol.js +5 -5
  587. package/fp/isTypedArray.js +5 -5
  588. package/fp/isUndefined.js +5 -5
  589. package/fp/isWeakMap.js +5 -5
  590. package/fp/isWeakSet.js +5 -5
  591. package/fp/iteratee.js +5 -5
  592. package/fp/join.js +5 -5
  593. package/fp/juxt.js +1 -1
  594. package/fp/kebabCase.js +5 -5
  595. package/fp/keyBy.js +5 -5
  596. package/fp/keys.js +5 -5
  597. package/fp/keysIn.js +5 -5
  598. package/fp/lang.js +2 -2
  599. package/fp/last.js +5 -5
  600. package/fp/lastIndexOf.js +5 -5
  601. package/fp/lastIndexOfFrom.js +5 -5
  602. package/fp/lowerCase.js +5 -5
  603. package/fp/lowerFirst.js +5 -5
  604. package/fp/lt.js +5 -5
  605. package/fp/lte.js +5 -5
  606. package/fp/map.js +5 -5
  607. package/fp/mapKeys.js +5 -5
  608. package/fp/mapValues.js +5 -5
  609. package/fp/matches.js +1 -1
  610. package/fp/matchesProperty.js +5 -5
  611. package/fp/math.js +2 -2
  612. package/fp/max.js +5 -5
  613. package/fp/maxBy.js +5 -5
  614. package/fp/mean.js +5 -5
  615. package/fp/meanBy.js +5 -5
  616. package/fp/memoize.js +5 -5
  617. package/fp/merge.js +5 -5
  618. package/fp/mergeAll.js +5 -5
  619. package/fp/mergeAllWith.js +5 -5
  620. package/fp/mergeWith.js +5 -5
  621. package/fp/method.js +5 -5
  622. package/fp/methodOf.js +5 -5
  623. package/fp/min.js +5 -5
  624. package/fp/minBy.js +5 -5
  625. package/fp/mixin.js +5 -5
  626. package/fp/multiply.js +5 -5
  627. package/fp/nAry.js +1 -1
  628. package/fp/negate.js +5 -5
  629. package/fp/next.js +5 -5
  630. package/fp/noop.js +5 -5
  631. package/fp/now.js +5 -5
  632. package/fp/nth.js +5 -5
  633. package/fp/nthArg.js +5 -5
  634. package/fp/number.js +2 -2
  635. package/fp/object.js +2 -2
  636. package/fp/omit.js +5 -5
  637. package/fp/omitAll.js +1 -1
  638. package/fp/omitBy.js +5 -5
  639. package/fp/once.js +5 -5
  640. package/fp/orderBy.js +5 -5
  641. package/fp/over.js +5 -5
  642. package/fp/overArgs.js +5 -5
  643. package/fp/overEvery.js +5 -5
  644. package/fp/overSome.js +5 -5
  645. package/fp/pad.js +5 -5
  646. package/fp/padChars.js +5 -5
  647. package/fp/padCharsEnd.js +5 -5
  648. package/fp/padCharsStart.js +5 -5
  649. package/fp/padEnd.js +5 -5
  650. package/fp/padStart.js +5 -5
  651. package/fp/parseInt.js +5 -5
  652. package/fp/partial.js +5 -5
  653. package/fp/partialRight.js +5 -5
  654. package/fp/partition.js +5 -5
  655. package/fp/path.js +1 -1
  656. package/fp/pathEq.js +1 -1
  657. package/fp/pathOr.js +1 -1
  658. package/fp/paths.js +1 -1
  659. package/fp/pick.js +5 -5
  660. package/fp/pickAll.js +1 -1
  661. package/fp/pickBy.js +5 -5
  662. package/fp/pipe.js +1 -1
  663. package/fp/placeholder.js +6 -6
  664. package/fp/plant.js +5 -5
  665. package/fp/pluck.js +1 -1
  666. package/fp/prop.js +1 -1
  667. package/fp/propEq.js +1 -1
  668. package/fp/propOr.js +1 -1
  669. package/fp/property.js +1 -1
  670. package/fp/propertyOf.js +5 -5
  671. package/fp/props.js +1 -1
  672. package/fp/pull.js +5 -5
  673. package/fp/pullAll.js +5 -5
  674. package/fp/pullAllBy.js +5 -5
  675. package/fp/pullAllWith.js +5 -5
  676. package/fp/pullAt.js +5 -5
  677. package/fp/random.js +5 -5
  678. package/fp/range.js +5 -5
  679. package/fp/rangeRight.js +5 -5
  680. package/fp/rangeStep.js +5 -5
  681. package/fp/rangeStepRight.js +5 -5
  682. package/fp/rearg.js +5 -5
  683. package/fp/reduce.js +5 -5
  684. package/fp/reduceRight.js +5 -5
  685. package/fp/reject.js +5 -5
  686. package/fp/remove.js +5 -5
  687. package/fp/repeat.js +5 -5
  688. package/fp/replace.js +5 -5
  689. package/fp/rest.js +5 -5
  690. package/fp/restFrom.js +5 -5
  691. package/fp/result.js +5 -5
  692. package/fp/reverse.js +5 -5
  693. package/fp/round.js +5 -5
  694. package/fp/sample.js +5 -5
  695. package/fp/sampleSize.js +5 -5
  696. package/fp/seq.js +2 -2
  697. package/fp/set.js +5 -5
  698. package/fp/setWith.js +5 -5
  699. package/fp/shuffle.js +5 -5
  700. package/fp/size.js +5 -5
  701. package/fp/slice.js +5 -5
  702. package/fp/snakeCase.js +5 -5
  703. package/fp/some.js +5 -5
  704. package/fp/sortBy.js +5 -5
  705. package/fp/sortedIndex.js +5 -5
  706. package/fp/sortedIndexBy.js +5 -5
  707. package/fp/sortedIndexOf.js +5 -5
  708. package/fp/sortedLastIndex.js +5 -5
  709. package/fp/sortedLastIndexBy.js +5 -5
  710. package/fp/sortedLastIndexOf.js +5 -5
  711. package/fp/sortedUniq.js +5 -5
  712. package/fp/sortedUniqBy.js +5 -5
  713. package/fp/split.js +5 -5
  714. package/fp/spread.js +5 -5
  715. package/fp/spreadFrom.js +5 -5
  716. package/fp/startCase.js +5 -5
  717. package/fp/startsWith.js +5 -5
  718. package/fp/string.js +2 -2
  719. package/fp/stubArray.js +5 -5
  720. package/fp/stubFalse.js +5 -5
  721. package/fp/stubObject.js +5 -5
  722. package/fp/stubString.js +5 -5
  723. package/fp/stubTrue.js +5 -5
  724. package/fp/subtract.js +5 -5
  725. package/fp/sum.js +5 -5
  726. package/fp/sumBy.js +5 -5
  727. package/fp/symmetricDifference.js +1 -1
  728. package/fp/symmetricDifferenceBy.js +1 -1
  729. package/fp/symmetricDifferenceWith.js +1 -1
  730. package/fp/tail.js +5 -5
  731. package/fp/take.js +5 -5
  732. package/fp/takeLast.js +1 -1
  733. package/fp/takeLastWhile.js +1 -1
  734. package/fp/takeRight.js +5 -5
  735. package/fp/takeRightWhile.js +5 -5
  736. package/fp/takeWhile.js +5 -5
  737. package/fp/tap.js +5 -5
  738. package/fp/template.js +5 -5
  739. package/fp/templateSettings.js +5 -5
  740. package/fp/throttle.js +5 -5
  741. package/fp/thru.js +5 -5
  742. package/fp/times.js +5 -5
  743. package/fp/toArray.js +5 -5
  744. package/fp/toFinite.js +5 -5
  745. package/fp/toInteger.js +5 -5
  746. package/fp/toIterator.js +5 -5
  747. package/fp/toJSON.js +5 -5
  748. package/fp/toLength.js +5 -5
  749. package/fp/toLower.js +5 -5
  750. package/fp/toNumber.js +5 -5
  751. package/fp/toPairs.js +5 -5
  752. package/fp/toPairsIn.js +5 -5
  753. package/fp/toPath.js +5 -5
  754. package/fp/toPlainObject.js +5 -5
  755. package/fp/toSafeInteger.js +5 -5
  756. package/fp/toString.js +5 -5
  757. package/fp/toUpper.js +5 -5
  758. package/fp/transform.js +5 -5
  759. package/fp/trim.js +5 -5
  760. package/fp/trimChars.js +5 -5
  761. package/fp/trimCharsEnd.js +5 -5
  762. package/fp/trimCharsStart.js +5 -5
  763. package/fp/trimEnd.js +5 -5
  764. package/fp/trimStart.js +5 -5
  765. package/fp/truncate.js +5 -5
  766. package/fp/unapply.js +1 -1
  767. package/fp/unary.js +5 -5
  768. package/fp/unescape.js +5 -5
  769. package/fp/union.js +5 -5
  770. package/fp/unionBy.js +5 -5
  771. package/fp/unionWith.js +5 -5
  772. package/fp/uniq.js +5 -5
  773. package/fp/uniqBy.js +5 -5
  774. package/fp/uniqWith.js +5 -5
  775. package/fp/uniqueId.js +5 -5
  776. package/fp/unnest.js +1 -1
  777. package/fp/unset.js +5 -5
  778. package/fp/unzip.js +5 -5
  779. package/fp/unzipWith.js +5 -5
  780. package/fp/update.js +5 -5
  781. package/fp/updateWith.js +5 -5
  782. package/fp/upperCase.js +5 -5
  783. package/fp/upperFirst.js +5 -5
  784. package/fp/useWith.js +1 -1
  785. package/fp/util.js +2 -2
  786. package/fp/value.js +5 -5
  787. package/fp/valueOf.js +5 -5
  788. package/fp/values.js +5 -5
  789. package/fp/valuesIn.js +5 -5
  790. package/fp/where.js +1 -1
  791. package/fp/whereEq.js +1 -1
  792. package/fp/without.js +5 -5
  793. package/fp/words.js +5 -5
  794. package/fp/wrap.js +5 -5
  795. package/fp/wrapperAt.js +5 -5
  796. package/fp/wrapperChain.js +5 -5
  797. package/fp/wrapperLodash.js +5 -5
  798. package/fp/wrapperReverse.js +5 -5
  799. package/fp/wrapperValue.js +5 -5
  800. package/fp/xor.js +5 -5
  801. package/fp/xorBy.js +5 -5
  802. package/fp/xorWith.js +5 -5
  803. package/fp/zip.js +5 -5
  804. package/fp/zipAll.js +5 -5
  805. package/fp/zipObj.js +1 -1
  806. package/fp/zipObject.js +5 -5
  807. package/fp/zipObjectDeep.js +5 -5
  808. package/fp/zipWith.js +5 -5
  809. package/fp.js +2 -2
  810. package/fromPairs.js +28 -28
  811. package/function.js +25 -25
  812. package/functions.js +31 -31
  813. package/functionsIn.js +31 -31
  814. package/get.js +33 -33
  815. package/groupBy.js +41 -41
  816. package/gt.js +29 -29
  817. package/gte.js +30 -30
  818. package/has.js +35 -35
  819. package/hasIn.js +34 -34
  820. package/head.js +23 -23
  821. package/identity.js +21 -21
  822. package/inRange.js +55 -55
  823. package/includes.js +53 -53
  824. package/indexOf.js +42 -42
  825. package/initial.js +22 -22
  826. package/intersection.js +30 -30
  827. package/intersectionBy.js +45 -45
  828. package/intersectionWith.js +41 -41
  829. package/invert.js +42 -42
  830. package/invertBy.js +56 -56
  831. package/invoke.js +24 -24
  832. package/invokeMap.js +41 -41
  833. package/isArguments.js +36 -36
  834. package/isArray.js +26 -26
  835. package/isArrayBuffer.js +27 -27
  836. package/isArrayLike.js +33 -33
  837. package/isArrayLikeObject.js +33 -33
  838. package/isBoolean.js +29 -29
  839. package/isBuffer.js +38 -38
  840. package/isDate.js +27 -27
  841. package/isElement.js +25 -25
  842. package/isEmpty.js +77 -77
  843. package/isEqual.js +35 -35
  844. package/isEqualWith.js +41 -41
  845. package/isError.js +36 -36
  846. package/isFinite.js +36 -36
  847. package/isFunction.js +37 -37
  848. package/isInteger.js +33 -33
  849. package/isLength.js +35 -35
  850. package/isMap.js +27 -27
  851. package/isMatch.js +36 -36
  852. package/isMatchWith.js +41 -41
  853. package/isNaN.js +38 -38
  854. package/isNative.js +40 -40
  855. package/isNil.js +25 -25
  856. package/isNull.js +22 -22
  857. package/isNumber.js +38 -38
  858. package/isObject.js +31 -31
  859. package/isObjectLike.js +29 -29
  860. package/isPlainObject.js +62 -62
  861. package/isRegExp.js +27 -27
  862. package/isSafeInteger.js +37 -37
  863. package/isSet.js +27 -27
  864. package/isString.js +30 -30
  865. package/isSymbol.js +29 -29
  866. package/isTypedArray.js +27 -27
  867. package/isUndefined.js +22 -22
  868. package/isWeakMap.js +28 -28
  869. package/isWeakSet.js +28 -28
  870. package/iteratee.js +53 -53
  871. package/join.js +26 -26
  872. package/kebabCase.js +28 -28
  873. package/keyBy.js +36 -36
  874. package/keys.js +37 -37
  875. package/keysIn.js +32 -32
  876. package/lang.js +58 -58
  877. package/last.js +20 -20
  878. package/lastIndexOf.js +46 -46
  879. package/lodash.js +17248 -17209
  880. package/lodash.min.js +6 -135
  881. package/lowerCase.js +27 -27
  882. package/lowerFirst.js +22 -22
  883. package/lt.js +29 -29
  884. package/lte.js +30 -30
  885. package/map.js +53 -53
  886. package/mapKeys.js +36 -36
  887. package/mapValues.js +43 -43
  888. package/matches.js +46 -46
  889. package/matchesProperty.js +44 -44
  890. package/math.js +17 -17
  891. package/max.js +29 -29
  892. package/maxBy.js +34 -34
  893. package/mean.js +22 -22
  894. package/meanBy.js +31 -31
  895. package/memoize.js +73 -73
  896. package/merge.js +39 -39
  897. package/mergeWith.js +39 -39
  898. package/method.js +34 -34
  899. package/methodOf.js +33 -33
  900. package/min.js +29 -29
  901. package/minBy.js +34 -34
  902. package/mixin.js +74 -74
  903. package/multiply.js +22 -22
  904. package/negate.js +40 -40
  905. package/next.js +35 -35
  906. package/noop.js +17 -17
  907. package/now.js +23 -23
  908. package/nth.js +29 -29
  909. package/nthArg.js +32 -32
  910. package/number.js +5 -5
  911. package/object.js +49 -49
  912. package/omit.js +57 -57
  913. package/omitBy.js +29 -29
  914. package/once.js +25 -25
  915. package/orderBy.js +47 -47
  916. package/over.js +24 -24
  917. package/overArgs.js +61 -61
  918. package/overEvery.js +34 -34
  919. package/overSome.js +37 -37
  920. package/package.json +30 -27
  921. package/pad.js +49 -49
  922. package/padEnd.js +39 -39
  923. package/padStart.js +39 -39
  924. package/parseInt.js +43 -43
  925. package/partial.js +50 -50
  926. package/partialRight.js +49 -49
  927. package/partition.js +43 -43
  928. package/pick.js +25 -25
  929. package/pickBy.js +37 -37
  930. package/plant.js +48 -48
  931. package/property.js +32 -32
  932. package/propertyOf.js +30 -30
  933. package/pull.js +29 -29
  934. package/pullAll.js +29 -29
  935. package/pullAllBy.js +33 -33
  936. package/pullAllWith.js +32 -32
  937. package/pullAt.js +43 -43
  938. package/random.js +82 -82
  939. package/range.js +46 -46
  940. package/rangeRight.js +41 -41
  941. package/rearg.js +33 -33
  942. package/reduce.js +51 -51
  943. package/reduceRight.js +36 -36
  944. package/reject.js +46 -46
  945. package/remove.js +53 -53
  946. package/repeat.js +37 -37
  947. package/replace.js +29 -29
  948. package/rest.js +40 -40
  949. package/result.js +56 -56
  950. package/reverse.js +34 -34
  951. package/round.js +26 -26
  952. package/sample.js +24 -24
  953. package/sampleSize.js +37 -37
  954. package/seq.js +16 -16
  955. package/set.js +35 -35
  956. package/setWith.js +32 -32
  957. package/shuffle.js +25 -25
  958. package/size.js +46 -46
  959. package/slice.js +37 -37
  960. package/snakeCase.js +28 -28
  961. package/some.js +51 -51
  962. package/sortBy.js +48 -48
  963. package/sortedIndex.js +24 -24
  964. package/sortedIndexBy.js +33 -33
  965. package/sortedIndexOf.js +31 -31
  966. package/sortedLastIndex.js +25 -25
  967. package/sortedLastIndexBy.js +33 -33
  968. package/sortedLastIndexOf.js +31 -31
  969. package/sortedUniq.js +24 -24
  970. package/sortedUniqBy.js +26 -26
  971. package/split.js +52 -52
  972. package/spread.js +63 -63
  973. package/startCase.js +29 -29
  974. package/startsWith.js +39 -39
  975. package/string.js +33 -33
  976. package/stubArray.js +23 -23
  977. package/stubFalse.js +18 -18
  978. package/stubObject.js +23 -23
  979. package/stubString.js +18 -18
  980. package/stubTrue.js +18 -18
  981. package/subtract.js +22 -22
  982. package/sum.js +24 -24
  983. package/sumBy.js +33 -33
  984. package/tail.js +22 -22
  985. package/take.js +37 -37
  986. package/takeRight.js +39 -39
  987. package/takeRightWhile.js +45 -45
  988. package/takeWhile.js +45 -45
  989. package/tap.js +29 -29
  990. package/template.js +272 -272
  991. package/templateSettings.js +67 -67
  992. package/throttle.js +69 -69
  993. package/thru.js +28 -28
  994. package/times.js +51 -51
  995. package/toArray.js +58 -58
  996. package/toFinite.js +42 -42
  997. package/toInteger.js +36 -36
  998. package/toIterator.js +23 -23
  999. package/toJSON.js +1 -1
  1000. package/toLength.js +38 -38
  1001. package/toLower.js +28 -28
  1002. package/toNumber.js +64 -64
  1003. package/toPairs.js +30 -30
  1004. package/toPairsIn.js +30 -30
  1005. package/toPath.js +33 -33
  1006. package/toPlainObject.js +32 -32
  1007. package/toSafeInteger.js +37 -37
  1008. package/toString.js +28 -28
  1009. package/toUpper.js +28 -28
  1010. package/transform.js +65 -65
  1011. package/trim.js +47 -47
  1012. package/trimEnd.js +41 -41
  1013. package/trimStart.js +43 -43
  1014. package/truncate.js +111 -111
  1015. package/unary.js +22 -22
  1016. package/unescape.js +34 -34
  1017. package/union.js +26 -26
  1018. package/unionBy.js +39 -39
  1019. package/unionWith.js +34 -34
  1020. package/uniq.js +25 -25
  1021. package/uniqBy.js +31 -31
  1022. package/uniqWith.js +28 -28
  1023. package/uniqueId.js +28 -28
  1024. package/unset.js +34 -34
  1025. package/unzip.js +45 -45
  1026. package/unzipWith.js +39 -39
  1027. package/update.js +35 -35
  1028. package/updateWith.js +33 -33
  1029. package/upperCase.js +27 -27
  1030. package/upperFirst.js +22 -22
  1031. package/util.js +34 -34
  1032. package/value.js +1 -1
  1033. package/valueOf.js +1 -1
  1034. package/values.js +34 -34
  1035. package/valuesIn.js +32 -32
  1036. package/without.js +31 -31
  1037. package/words.js +35 -35
  1038. package/wrap.js +30 -30
  1039. package/wrapperAt.js +48 -48
  1040. package/wrapperChain.js +34 -34
  1041. package/wrapperLodash.js +147 -147
  1042. package/wrapperReverse.js +44 -44
  1043. package/wrapperValue.js +21 -21
  1044. package/xor.js +28 -28
  1045. package/xorBy.js +39 -39
  1046. package/xorWith.js +34 -34
  1047. package/zip.js +22 -22
  1048. package/zipObject.js +24 -24
  1049. package/zipObjectDeep.js +23 -23
  1050. package/zipWith.js +32 -32
  1051. package/_.log +0 -3
package/_createRange.js CHANGED
@@ -1,30 +1,30 @@
1
- var baseRange = require('./_baseRange'),
2
- isIterateeCall = require('./_isIterateeCall'),
3
- toFinite = require('./toFinite');
4
-
5
- /**
6
- * Creates a `_.range` or `_.rangeRight` function.
7
- *
8
- * @private
9
- * @param {boolean} [fromRight] Specify iterating from right to left.
10
- * @returns {Function} Returns the new range function.
11
- */
12
- function createRange(fromRight) {
13
- return function(start, end, step) {
14
- if (step && typeof step != 'number' && isIterateeCall(start, end, step)) {
15
- end = step = undefined;
16
- }
17
- // Ensure the sign of `-0` is preserved.
18
- start = toFinite(start);
19
- if (end === undefined) {
20
- end = start;
21
- start = 0;
22
- } else {
23
- end = toFinite(end);
24
- }
25
- step = step === undefined ? (start < end ? 1 : -1) : toFinite(step);
26
- return baseRange(start, end, step, fromRight);
27
- };
28
- }
29
-
30
- module.exports = createRange;
1
+ var baseRange = require('./_baseRange'),
2
+ isIterateeCall = require('./_isIterateeCall'),
3
+ toFinite = require('./toFinite');
4
+
5
+ /**
6
+ * Creates a `_.range` or `_.rangeRight` function.
7
+ *
8
+ * @private
9
+ * @param {boolean} [fromRight] Specify iterating from right to left.
10
+ * @returns {Function} Returns the new range function.
11
+ */
12
+ function createRange(fromRight) {
13
+ return function(start, end, step) {
14
+ if (step && typeof step != 'number' && isIterateeCall(start, end, step)) {
15
+ end = step = undefined;
16
+ }
17
+ // Ensure the sign of `-0` is preserved.
18
+ start = toFinite(start);
19
+ if (end === undefined) {
20
+ end = start;
21
+ start = 0;
22
+ } else {
23
+ end = toFinite(end);
24
+ }
25
+ step = step === undefined ? (start < end ? 1 : -1) : toFinite(step);
26
+ return baseRange(start, end, step, fromRight);
27
+ };
28
+ }
29
+
30
+ module.exports = createRange;
package/_createRecurry.js CHANGED
@@ -1,56 +1,56 @@
1
- var isLaziable = require('./_isLaziable'),
2
- setData = require('./_setData'),
3
- setWrapToString = require('./_setWrapToString');
4
-
5
- /** Used to compose bitmasks for function metadata. */
6
- var WRAP_BIND_FLAG = 1,
7
- WRAP_BIND_KEY_FLAG = 2,
8
- WRAP_CURRY_BOUND_FLAG = 4,
9
- WRAP_CURRY_FLAG = 8,
10
- WRAP_PARTIAL_FLAG = 32,
11
- WRAP_PARTIAL_RIGHT_FLAG = 64;
12
-
13
- /**
14
- * Creates a function that wraps `func` to continue currying.
15
- *
16
- * @private
17
- * @param {Function} func The function to wrap.
18
- * @param {number} bitmask The bitmask flags. See `createWrap` for more details.
19
- * @param {Function} wrapFunc The function to create the `func` wrapper.
20
- * @param {*} placeholder The placeholder value.
21
- * @param {*} [thisArg] The `this` binding of `func`.
22
- * @param {Array} [partials] The arguments to prepend to those provided to
23
- * the new function.
24
- * @param {Array} [holders] The `partials` placeholder indexes.
25
- * @param {Array} [argPos] The argument positions of the new function.
26
- * @param {number} [ary] The arity cap of `func`.
27
- * @param {number} [arity] The arity of `func`.
28
- * @returns {Function} Returns the new wrapped function.
29
- */
30
- function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) {
31
- var isCurry = bitmask & WRAP_CURRY_FLAG,
32
- newHolders = isCurry ? holders : undefined,
33
- newHoldersRight = isCurry ? undefined : holders,
34
- newPartials = isCurry ? partials : undefined,
35
- newPartialsRight = isCurry ? undefined : partials;
36
-
37
- bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG);
38
- bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG);
39
-
40
- if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) {
41
- bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG);
42
- }
43
- var newData = [
44
- func, bitmask, thisArg, newPartials, newHolders, newPartialsRight,
45
- newHoldersRight, argPos, ary, arity
46
- ];
47
-
48
- var result = wrapFunc.apply(undefined, newData);
49
- if (isLaziable(func)) {
50
- setData(result, newData);
51
- }
52
- result.placeholder = placeholder;
53
- return setWrapToString(result, func, bitmask);
54
- }
55
-
56
- module.exports = createRecurry;
1
+ var isLaziable = require('./_isLaziable'),
2
+ setData = require('./_setData'),
3
+ setWrapToString = require('./_setWrapToString');
4
+
5
+ /** Used to compose bitmasks for function metadata. */
6
+ var WRAP_BIND_FLAG = 1,
7
+ WRAP_BIND_KEY_FLAG = 2,
8
+ WRAP_CURRY_BOUND_FLAG = 4,
9
+ WRAP_CURRY_FLAG = 8,
10
+ WRAP_PARTIAL_FLAG = 32,
11
+ WRAP_PARTIAL_RIGHT_FLAG = 64;
12
+
13
+ /**
14
+ * Creates a function that wraps `func` to continue currying.
15
+ *
16
+ * @private
17
+ * @param {Function} func The function to wrap.
18
+ * @param {number} bitmask The bitmask flags. See `createWrap` for more details.
19
+ * @param {Function} wrapFunc The function to create the `func` wrapper.
20
+ * @param {*} placeholder The placeholder value.
21
+ * @param {*} [thisArg] The `this` binding of `func`.
22
+ * @param {Array} [partials] The arguments to prepend to those provided to
23
+ * the new function.
24
+ * @param {Array} [holders] The `partials` placeholder indexes.
25
+ * @param {Array} [argPos] The argument positions of the new function.
26
+ * @param {number} [ary] The arity cap of `func`.
27
+ * @param {number} [arity] The arity of `func`.
28
+ * @returns {Function} Returns the new wrapped function.
29
+ */
30
+ function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) {
31
+ var isCurry = bitmask & WRAP_CURRY_FLAG,
32
+ newHolders = isCurry ? holders : undefined,
33
+ newHoldersRight = isCurry ? undefined : holders,
34
+ newPartials = isCurry ? partials : undefined,
35
+ newPartialsRight = isCurry ? undefined : partials;
36
+
37
+ bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG);
38
+ bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG);
39
+
40
+ if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) {
41
+ bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG);
42
+ }
43
+ var newData = [
44
+ func, bitmask, thisArg, newPartials, newHolders, newPartialsRight,
45
+ newHoldersRight, argPos, ary, arity
46
+ ];
47
+
48
+ var result = wrapFunc.apply(undefined, newData);
49
+ if (isLaziable(func)) {
50
+ setData(result, newData);
51
+ }
52
+ result.placeholder = placeholder;
53
+ return setWrapToString(result, func, bitmask);
54
+ }
55
+
56
+ module.exports = createRecurry;
@@ -1,20 +1,20 @@
1
- var toNumber = require('./toNumber');
2
-
3
- /**
4
- * Creates a function that performs a relational operation on two values.
5
- *
6
- * @private
7
- * @param {Function} operator The function to perform the operation.
8
- * @returns {Function} Returns the new relational operation function.
9
- */
10
- function createRelationalOperation(operator) {
11
- return function(value, other) {
12
- if (!(typeof value == 'string' && typeof other == 'string')) {
13
- value = toNumber(value);
14
- other = toNumber(other);
15
- }
16
- return operator(value, other);
17
- };
18
- }
19
-
20
- module.exports = createRelationalOperation;
1
+ var toNumber = require('./toNumber');
2
+
3
+ /**
4
+ * Creates a function that performs a relational operation on two values.
5
+ *
6
+ * @private
7
+ * @param {Function} operator The function to perform the operation.
8
+ * @returns {Function} Returns the new relational operation function.
9
+ */
10
+ function createRelationalOperation(operator) {
11
+ return function(value, other) {
12
+ if (!(typeof value == 'string' && typeof other == 'string')) {
13
+ value = toNumber(value);
14
+ other = toNumber(other);
15
+ }
16
+ return operator(value, other);
17
+ };
18
+ }
19
+
20
+ module.exports = createRelationalOperation;
package/_createRound.js CHANGED
@@ -1,35 +1,35 @@
1
- var root = require('./_root'),
2
- toInteger = require('./toInteger'),
3
- toNumber = require('./toNumber'),
4
- toString = require('./toString');
5
-
6
- /* Built-in method references for those with the same name as other `lodash` methods. */
7
- var nativeIsFinite = root.isFinite,
8
- nativeMin = Math.min;
9
-
10
- /**
11
- * Creates a function like `_.round`.
12
- *
13
- * @private
14
- * @param {string} methodName The name of the `Math` method to use when rounding.
15
- * @returns {Function} Returns the new round function.
16
- */
17
- function createRound(methodName) {
18
- var func = Math[methodName];
19
- return function(number, precision) {
20
- number = toNumber(number);
21
- precision = precision == null ? 0 : nativeMin(toInteger(precision), 292);
22
- if (precision && nativeIsFinite(number)) {
23
- // Shift with exponential notation to avoid floating-point issues.
24
- // See [MDN](https://mdn.io/round#Examples) for more details.
25
- var pair = (toString(number) + 'e').split('e'),
26
- value = func(pair[0] + 'e' + (+pair[1] + precision));
27
-
28
- pair = (toString(value) + 'e').split('e');
29
- return +(pair[0] + 'e' + (+pair[1] - precision));
30
- }
31
- return func(number);
32
- };
33
- }
34
-
35
- module.exports = createRound;
1
+ var root = require('./_root'),
2
+ toInteger = require('./toInteger'),
3
+ toNumber = require('./toNumber'),
4
+ toString = require('./toString');
5
+
6
+ /* Built-in method references for those with the same name as other `lodash` methods. */
7
+ var nativeIsFinite = root.isFinite,
8
+ nativeMin = Math.min;
9
+
10
+ /**
11
+ * Creates a function like `_.round`.
12
+ *
13
+ * @private
14
+ * @param {string} methodName The name of the `Math` method to use when rounding.
15
+ * @returns {Function} Returns the new round function.
16
+ */
17
+ function createRound(methodName) {
18
+ var func = Math[methodName];
19
+ return function(number, precision) {
20
+ number = toNumber(number);
21
+ precision = precision == null ? 0 : nativeMin(toInteger(precision), 292);
22
+ if (precision && nativeIsFinite(number)) {
23
+ // Shift with exponential notation to avoid floating-point issues.
24
+ // See [MDN](https://mdn.io/round#Examples) for more details.
25
+ var pair = (toString(number) + 'e').split('e'),
26
+ value = func(pair[0] + 'e' + (+pair[1] + precision));
27
+
28
+ pair = (toString(value) + 'e').split('e');
29
+ return +(pair[0] + 'e' + (+pair[1] - precision));
30
+ }
31
+ return func(number);
32
+ };
33
+ }
34
+
35
+ module.exports = createRound;
package/_createSet.js CHANGED
@@ -1,19 +1,19 @@
1
- var Set = require('./_Set'),
2
- noop = require('./noop'),
3
- setToArray = require('./_setToArray');
4
-
5
- /** Used as references for various `Number` constants. */
6
- var INFINITY = 1 / 0;
7
-
8
- /**
9
- * Creates a set object of `values`.
10
- *
11
- * @private
12
- * @param {Array} values The values to add to the set.
13
- * @returns {Object} Returns the new set.
14
- */
15
- var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {
16
- return new Set(values);
17
- };
18
-
19
- module.exports = createSet;
1
+ var Set = require('./_Set'),
2
+ noop = require('./noop'),
3
+ setToArray = require('./_setToArray');
4
+
5
+ /** Used as references for various `Number` constants. */
6
+ var INFINITY = 1 / 0;
7
+
8
+ /**
9
+ * Creates a set object of `values`.
10
+ *
11
+ * @private
12
+ * @param {Array} values The values to add to the set.
13
+ * @returns {Object} Returns the new set.
14
+ */
15
+ var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {
16
+ return new Set(values);
17
+ };
18
+
19
+ module.exports = createSet;
package/_createToPairs.js CHANGED
@@ -1,30 +1,30 @@
1
- var baseToPairs = require('./_baseToPairs'),
2
- getTag = require('./_getTag'),
3
- mapToArray = require('./_mapToArray'),
4
- setToPairs = require('./_setToPairs');
5
-
6
- /** `Object#toString` result references. */
7
- var mapTag = '[object Map]',
8
- setTag = '[object Set]';
9
-
10
- /**
11
- * Creates a `_.toPairs` or `_.toPairsIn` function.
12
- *
13
- * @private
14
- * @param {Function} keysFunc The function to get the keys of a given object.
15
- * @returns {Function} Returns the new pairs function.
16
- */
17
- function createToPairs(keysFunc) {
18
- return function(object) {
19
- var tag = getTag(object);
20
- if (tag == mapTag) {
21
- return mapToArray(object);
22
- }
23
- if (tag == setTag) {
24
- return setToPairs(object);
25
- }
26
- return baseToPairs(object, keysFunc(object));
27
- };
28
- }
29
-
30
- module.exports = createToPairs;
1
+ var baseToPairs = require('./_baseToPairs'),
2
+ getTag = require('./_getTag'),
3
+ mapToArray = require('./_mapToArray'),
4
+ setToPairs = require('./_setToPairs');
5
+
6
+ /** `Object#toString` result references. */
7
+ var mapTag = '[object Map]',
8
+ setTag = '[object Set]';
9
+
10
+ /**
11
+ * Creates a `_.toPairs` or `_.toPairsIn` function.
12
+ *
13
+ * @private
14
+ * @param {Function} keysFunc The function to get the keys of a given object.
15
+ * @returns {Function} Returns the new pairs function.
16
+ */
17
+ function createToPairs(keysFunc) {
18
+ return function(object) {
19
+ var tag = getTag(object);
20
+ if (tag == mapTag) {
21
+ return mapToArray(object);
22
+ }
23
+ if (tag == setTag) {
24
+ return setToPairs(object);
25
+ }
26
+ return baseToPairs(object, keysFunc(object));
27
+ };
28
+ }
29
+
30
+ module.exports = createToPairs;
package/_createWrap.js CHANGED
@@ -1,106 +1,106 @@
1
- var baseSetData = require('./_baseSetData'),
2
- createBind = require('./_createBind'),
3
- createCurry = require('./_createCurry'),
4
- createHybrid = require('./_createHybrid'),
5
- createPartial = require('./_createPartial'),
6
- getData = require('./_getData'),
7
- mergeData = require('./_mergeData'),
8
- setData = require('./_setData'),
9
- setWrapToString = require('./_setWrapToString'),
10
- toInteger = require('./toInteger');
11
-
12
- /** Error message constants. */
13
- var FUNC_ERROR_TEXT = 'Expected a function';
14
-
15
- /** Used to compose bitmasks for function metadata. */
16
- var WRAP_BIND_FLAG = 1,
17
- WRAP_BIND_KEY_FLAG = 2,
18
- WRAP_CURRY_FLAG = 8,
19
- WRAP_CURRY_RIGHT_FLAG = 16,
20
- WRAP_PARTIAL_FLAG = 32,
21
- WRAP_PARTIAL_RIGHT_FLAG = 64;
22
-
23
- /* Built-in method references for those with the same name as other `lodash` methods. */
24
- var nativeMax = Math.max;
25
-
26
- /**
27
- * Creates a function that either curries or invokes `func` with optional
28
- * `this` binding and partially applied arguments.
29
- *
30
- * @private
31
- * @param {Function|string} func The function or method name to wrap.
32
- * @param {number} bitmask The bitmask flags.
33
- * 1 - `_.bind`
34
- * 2 - `_.bindKey`
35
- * 4 - `_.curry` or `_.curryRight` of a bound function
36
- * 8 - `_.curry`
37
- * 16 - `_.curryRight`
38
- * 32 - `_.partial`
39
- * 64 - `_.partialRight`
40
- * 128 - `_.rearg`
41
- * 256 - `_.ary`
42
- * 512 - `_.flip`
43
- * @param {*} [thisArg] The `this` binding of `func`.
44
- * @param {Array} [partials] The arguments to be partially applied.
45
- * @param {Array} [holders] The `partials` placeholder indexes.
46
- * @param {Array} [argPos] The argument positions of the new function.
47
- * @param {number} [ary] The arity cap of `func`.
48
- * @param {number} [arity] The arity of `func`.
49
- * @returns {Function} Returns the new wrapped function.
50
- */
51
- function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) {
52
- var isBindKey = bitmask & WRAP_BIND_KEY_FLAG;
53
- if (!isBindKey && typeof func != 'function') {
54
- throw new TypeError(FUNC_ERROR_TEXT);
55
- }
56
- var length = partials ? partials.length : 0;
57
- if (!length) {
58
- bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG);
59
- partials = holders = undefined;
60
- }
61
- ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0);
62
- arity = arity === undefined ? arity : toInteger(arity);
63
- length -= holders ? holders.length : 0;
64
-
65
- if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) {
66
- var partialsRight = partials,
67
- holdersRight = holders;
68
-
69
- partials = holders = undefined;
70
- }
71
- var data = isBindKey ? undefined : getData(func);
72
-
73
- var newData = [
74
- func, bitmask, thisArg, partials, holders, partialsRight, holdersRight,
75
- argPos, ary, arity
76
- ];
77
-
78
- if (data) {
79
- mergeData(newData, data);
80
- }
81
- func = newData[0];
82
- bitmask = newData[1];
83
- thisArg = newData[2];
84
- partials = newData[3];
85
- holders = newData[4];
86
- arity = newData[9] = newData[9] === undefined
87
- ? (isBindKey ? 0 : func.length)
88
- : nativeMax(newData[9] - length, 0);
89
-
90
- if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) {
91
- bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG);
92
- }
93
- if (!bitmask || bitmask == WRAP_BIND_FLAG) {
94
- var result = createBind(func, bitmask, thisArg);
95
- } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) {
96
- result = createCurry(func, bitmask, arity);
97
- } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) {
98
- result = createPartial(func, bitmask, thisArg, partials);
99
- } else {
100
- result = createHybrid.apply(undefined, newData);
101
- }
102
- var setter = data ? baseSetData : setData;
103
- return setWrapToString(setter(result, newData), func, bitmask);
104
- }
105
-
106
- module.exports = createWrap;
1
+ var baseSetData = require('./_baseSetData'),
2
+ createBind = require('./_createBind'),
3
+ createCurry = require('./_createCurry'),
4
+ createHybrid = require('./_createHybrid'),
5
+ createPartial = require('./_createPartial'),
6
+ getData = require('./_getData'),
7
+ mergeData = require('./_mergeData'),
8
+ setData = require('./_setData'),
9
+ setWrapToString = require('./_setWrapToString'),
10
+ toInteger = require('./toInteger');
11
+
12
+ /** Error message constants. */
13
+ var FUNC_ERROR_TEXT = 'Expected a function';
14
+
15
+ /** Used to compose bitmasks for function metadata. */
16
+ var WRAP_BIND_FLAG = 1,
17
+ WRAP_BIND_KEY_FLAG = 2,
18
+ WRAP_CURRY_FLAG = 8,
19
+ WRAP_CURRY_RIGHT_FLAG = 16,
20
+ WRAP_PARTIAL_FLAG = 32,
21
+ WRAP_PARTIAL_RIGHT_FLAG = 64;
22
+
23
+ /* Built-in method references for those with the same name as other `lodash` methods. */
24
+ var nativeMax = Math.max;
25
+
26
+ /**
27
+ * Creates a function that either curries or invokes `func` with optional
28
+ * `this` binding and partially applied arguments.
29
+ *
30
+ * @private
31
+ * @param {Function|string} func The function or method name to wrap.
32
+ * @param {number} bitmask The bitmask flags.
33
+ * 1 - `_.bind`
34
+ * 2 - `_.bindKey`
35
+ * 4 - `_.curry` or `_.curryRight` of a bound function
36
+ * 8 - `_.curry`
37
+ * 16 - `_.curryRight`
38
+ * 32 - `_.partial`
39
+ * 64 - `_.partialRight`
40
+ * 128 - `_.rearg`
41
+ * 256 - `_.ary`
42
+ * 512 - `_.flip`
43
+ * @param {*} [thisArg] The `this` binding of `func`.
44
+ * @param {Array} [partials] The arguments to be partially applied.
45
+ * @param {Array} [holders] The `partials` placeholder indexes.
46
+ * @param {Array} [argPos] The argument positions of the new function.
47
+ * @param {number} [ary] The arity cap of `func`.
48
+ * @param {number} [arity] The arity of `func`.
49
+ * @returns {Function} Returns the new wrapped function.
50
+ */
51
+ function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) {
52
+ var isBindKey = bitmask & WRAP_BIND_KEY_FLAG;
53
+ if (!isBindKey && typeof func != 'function') {
54
+ throw new TypeError(FUNC_ERROR_TEXT);
55
+ }
56
+ var length = partials ? partials.length : 0;
57
+ if (!length) {
58
+ bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG);
59
+ partials = holders = undefined;
60
+ }
61
+ ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0);
62
+ arity = arity === undefined ? arity : toInteger(arity);
63
+ length -= holders ? holders.length : 0;
64
+
65
+ if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) {
66
+ var partialsRight = partials,
67
+ holdersRight = holders;
68
+
69
+ partials = holders = undefined;
70
+ }
71
+ var data = isBindKey ? undefined : getData(func);
72
+
73
+ var newData = [
74
+ func, bitmask, thisArg, partials, holders, partialsRight, holdersRight,
75
+ argPos, ary, arity
76
+ ];
77
+
78
+ if (data) {
79
+ mergeData(newData, data);
80
+ }
81
+ func = newData[0];
82
+ bitmask = newData[1];
83
+ thisArg = newData[2];
84
+ partials = newData[3];
85
+ holders = newData[4];
86
+ arity = newData[9] = newData[9] === undefined
87
+ ? (isBindKey ? 0 : func.length)
88
+ : nativeMax(newData[9] - length, 0);
89
+
90
+ if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) {
91
+ bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG);
92
+ }
93
+ if (!bitmask || bitmask == WRAP_BIND_FLAG) {
94
+ var result = createBind(func, bitmask, thisArg);
95
+ } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) {
96
+ result = createCurry(func, bitmask, arity);
97
+ } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) {
98
+ result = createPartial(func, bitmask, thisArg, partials);
99
+ } else {
100
+ result = createHybrid.apply(undefined, newData);
101
+ }
102
+ var setter = data ? baseSetData : setData;
103
+ return setWrapToString(setter(result, newData), func, bitmask);
104
+ }
105
+
106
+ module.exports = createWrap;
@@ -1,29 +1,29 @@
1
- var eq = require('./eq');
2
-
3
- /** Used for built-in method references. */
4
- var objectProto = Object.prototype;
5
-
6
- /** Used to check objects for own properties. */
7
- var hasOwnProperty = objectProto.hasOwnProperty;
8
-
9
- /**
10
- * Used by `_.defaults` to customize its `_.assignIn` use to assign properties
11
- * of source objects to the destination object for all destination properties
12
- * that resolve to `undefined`.
13
- *
14
- * @private
15
- * @param {*} objValue The destination value.
16
- * @param {*} srcValue The source value.
17
- * @param {string} key The key of the property to assign.
18
- * @param {Object} object The parent object of `objValue`.
19
- * @returns {*} Returns the value to assign.
20
- */
21
- function customDefaultsAssignIn(objValue, srcValue, key, object) {
22
- if (objValue === undefined ||
23
- (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) {
24
- return srcValue;
25
- }
26
- return objValue;
27
- }
28
-
29
- module.exports = customDefaultsAssignIn;
1
+ var eq = require('./eq');
2
+
3
+ /** Used for built-in method references. */
4
+ var objectProto = Object.prototype;
5
+
6
+ /** Used to check objects for own properties. */
7
+ var hasOwnProperty = objectProto.hasOwnProperty;
8
+
9
+ /**
10
+ * Used by `_.defaults` to customize its `_.assignIn` use to assign properties
11
+ * of source objects to the destination object for all destination properties
12
+ * that resolve to `undefined`.
13
+ *
14
+ * @private
15
+ * @param {*} objValue The destination value.
16
+ * @param {*} srcValue The source value.
17
+ * @param {string} key The key of the property to assign.
18
+ * @param {Object} object The parent object of `objValue`.
19
+ * @returns {*} Returns the value to assign.
20
+ */
21
+ function customDefaultsAssignIn(objValue, srcValue, key, object) {
22
+ if (objValue === undefined ||
23
+ (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) {
24
+ return srcValue;
25
+ }
26
+ return objValue;
27
+ }
28
+
29
+ module.exports = customDefaultsAssignIn;