cypress 3.1.4 → 3.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (746) hide show
  1. package/lib/cli.js +54 -15
  2. package/lib/errors.js +89 -41
  3. package/lib/exec/open.js +4 -0
  4. package/lib/exec/spawn.js +98 -19
  5. package/lib/exec/xvfb.js +38 -10
  6. package/lib/tasks/download.js +16 -1
  7. package/lib/tasks/verify.js +92 -39
  8. package/lib/util.js +68 -3
  9. package/package.json +18 -33
  10. package/types/blob-util/LICENSE +21 -0
  11. package/types/blob-util/README.md +16 -0
  12. package/types/blob-util/index.d.ts +97 -0
  13. package/types/bluebird/LICENSE +21 -0
  14. package/types/bluebird/README.md +16 -0
  15. package/types/bluebird/index.d.ts +1315 -0
  16. package/types/chai/LICENSE +21 -0
  17. package/types/chai/README.md +16 -0
  18. package/types/chai/index.d.ts +1624 -0
  19. package/types/chai-jquery/LICENSE +21 -0
  20. package/types/chai-jquery/README.md +16 -0
  21. package/types/chai-jquery/index.d.ts +2587 -0
  22. package/types/{blob-util.d.ts → cy-blob-util.d.ts} +1 -1
  23. package/types/{bluebird.d.ts → cy-bluebird.d.ts} +1 -1
  24. package/types/{chai.d.ts → cy-chai.d.ts} +1 -2
  25. package/types/cy-minimatch.d.ts +96 -0
  26. package/types/cy-moment.d.ts +7 -0
  27. package/types/cypress-npm-api.d.ts +504 -0
  28. package/types/index.d.ts +403 -125
  29. package/types/jquery/LICENSE +21 -0
  30. package/types/jquery/README.md +16 -0
  31. package/types/jquery/index.d.ts +8560 -0
  32. package/types/lodash/LICENSE +21 -0
  33. package/types/lodash/README.md +16 -0
  34. package/types/lodash/add.d.ts +2 -0
  35. package/types/lodash/after.d.ts +2 -0
  36. package/types/lodash/ary.d.ts +2 -0
  37. package/types/lodash/assign.d.ts +2 -0
  38. package/types/lodash/assignIn.d.ts +2 -0
  39. package/types/lodash/assignInWith.d.ts +2 -0
  40. package/types/lodash/assignWith.d.ts +2 -0
  41. package/types/lodash/at.d.ts +2 -0
  42. package/types/lodash/attempt.d.ts +2 -0
  43. package/types/lodash/before.d.ts +2 -0
  44. package/types/lodash/bind.d.ts +2 -0
  45. package/types/lodash/bindAll.d.ts +2 -0
  46. package/types/lodash/bindKey.d.ts +2 -0
  47. package/types/lodash/camelCase.d.ts +2 -0
  48. package/types/lodash/capitalize.d.ts +2 -0
  49. package/types/lodash/castArray.d.ts +2 -0
  50. package/types/lodash/ceil.d.ts +2 -0
  51. package/types/lodash/chain.d.ts +2 -0
  52. package/types/lodash/chunk.d.ts +2 -0
  53. package/types/lodash/clamp.d.ts +2 -0
  54. package/types/lodash/clone.d.ts +2 -0
  55. package/types/lodash/cloneDeep.d.ts +2 -0
  56. package/types/lodash/cloneDeepWith.d.ts +2 -0
  57. package/types/lodash/cloneWith.d.ts +2 -0
  58. package/types/lodash/common/array.d.ts +3708 -0
  59. package/types/lodash/common/collection.d.ts +2575 -0
  60. package/types/lodash/common/common.d.ts +270 -0
  61. package/types/lodash/common/date.d.ts +27 -0
  62. package/types/lodash/common/function.d.ts +1489 -0
  63. package/types/lodash/common/lang.d.ts +1936 -0
  64. package/types/lodash/common/math.d.ts +532 -0
  65. package/types/lodash/common/number.d.ts +178 -0
  66. package/types/lodash/common/object.d.ts +3905 -0
  67. package/types/lodash/common/seq.d.ts +196 -0
  68. package/types/lodash/common/string.d.ts +1059 -0
  69. package/types/lodash/common/util.d.ts +1463 -0
  70. package/types/lodash/compact.d.ts +2 -0
  71. package/types/lodash/concat.d.ts +2 -0
  72. package/types/lodash/cond.d.ts +2 -0
  73. package/types/lodash/conformsTo.d.ts +2 -0
  74. package/types/lodash/constant.d.ts +2 -0
  75. package/types/lodash/countBy.d.ts +2 -0
  76. package/types/lodash/create.d.ts +2 -0
  77. package/types/lodash/curry.d.ts +2 -0
  78. package/types/lodash/curryRight.d.ts +2 -0
  79. package/types/lodash/debounce.d.ts +2 -0
  80. package/types/lodash/deburr.d.ts +2 -0
  81. package/types/lodash/defaultTo.d.ts +2 -0
  82. package/types/lodash/defaults.d.ts +2 -0
  83. package/types/lodash/defaultsDeep.d.ts +2 -0
  84. package/types/lodash/defer.d.ts +2 -0
  85. package/types/lodash/delay.d.ts +2 -0
  86. package/types/lodash/difference.d.ts +2 -0
  87. package/types/lodash/differenceBy.d.ts +2 -0
  88. package/types/lodash/differenceWith.d.ts +2 -0
  89. package/types/lodash/divide.d.ts +2 -0
  90. package/types/lodash/drop.d.ts +2 -0
  91. package/types/lodash/dropRight.d.ts +2 -0
  92. package/types/lodash/dropRightWhile.d.ts +2 -0
  93. package/types/lodash/dropWhile.d.ts +2 -0
  94. package/types/lodash/each.d.ts +2 -0
  95. package/types/lodash/eachRight.d.ts +2 -0
  96. package/types/lodash/endsWith.d.ts +2 -0
  97. package/types/lodash/entries.d.ts +2 -0
  98. package/types/lodash/entriesIn.d.ts +2 -0
  99. package/types/lodash/eq.d.ts +2 -0
  100. package/types/lodash/escape.d.ts +2 -0
  101. package/types/lodash/escapeRegExp.d.ts +2 -0
  102. package/types/lodash/every.d.ts +2 -0
  103. package/types/lodash/extend.d.ts +2 -0
  104. package/types/lodash/extendWith.d.ts +2 -0
  105. package/types/lodash/fill.d.ts +2 -0
  106. package/types/lodash/filter.d.ts +2 -0
  107. package/types/lodash/find.d.ts +2 -0
  108. package/types/lodash/findIndex.d.ts +2 -0
  109. package/types/lodash/findKey.d.ts +2 -0
  110. package/types/lodash/findLast.d.ts +2 -0
  111. package/types/lodash/findLastIndex.d.ts +2 -0
  112. package/types/lodash/findLastKey.d.ts +2 -0
  113. package/types/lodash/first.d.ts +2 -0
  114. package/types/lodash/flatMap.d.ts +2 -0
  115. package/types/lodash/flatMapDeep.d.ts +2 -0
  116. package/types/lodash/flatMapDepth.d.ts +2 -0
  117. package/types/lodash/flatten.d.ts +2 -0
  118. package/types/lodash/flattenDeep.d.ts +2 -0
  119. package/types/lodash/flattenDepth.d.ts +2 -0
  120. package/types/lodash/flip.d.ts +2 -0
  121. package/types/lodash/floor.d.ts +2 -0
  122. package/types/lodash/flow.d.ts +2 -0
  123. package/types/lodash/flowRight.d.ts +2 -0
  124. package/types/lodash/forEach.d.ts +2 -0
  125. package/types/lodash/forEachRight.d.ts +2 -0
  126. package/types/lodash/forIn.d.ts +2 -0
  127. package/types/lodash/forInRight.d.ts +2 -0
  128. package/types/lodash/forOwn.d.ts +2 -0
  129. package/types/lodash/forOwnRight.d.ts +2 -0
  130. package/types/lodash/fp/F.d.ts +2 -0
  131. package/types/lodash/fp/T.d.ts +2 -0
  132. package/types/lodash/fp/__.d.ts +3 -0
  133. package/types/lodash/fp/add.d.ts +2 -0
  134. package/types/lodash/fp/after.d.ts +2 -0
  135. package/types/lodash/fp/all.d.ts +2 -0
  136. package/types/lodash/fp/allPass.d.ts +2 -0
  137. package/types/lodash/fp/always.d.ts +2 -0
  138. package/types/lodash/fp/any.d.ts +2 -0
  139. package/types/lodash/fp/anyPass.d.ts +2 -0
  140. package/types/lodash/fp/apply.d.ts +2 -0
  141. package/types/lodash/fp/ary.d.ts +2 -0
  142. package/types/lodash/fp/assign.d.ts +2 -0
  143. package/types/lodash/fp/assignAll.d.ts +2 -0
  144. package/types/lodash/fp/assignAllWith.d.ts +2 -0
  145. package/types/lodash/fp/assignIn.d.ts +2 -0
  146. package/types/lodash/fp/assignInAll.d.ts +2 -0
  147. package/types/lodash/fp/assignInAllWith.d.ts +2 -0
  148. package/types/lodash/fp/assignInWith.d.ts +2 -0
  149. package/types/lodash/fp/assignWith.d.ts +2 -0
  150. package/types/lodash/fp/assoc.d.ts +2 -0
  151. package/types/lodash/fp/assocPath.d.ts +2 -0
  152. package/types/lodash/fp/at.d.ts +2 -0
  153. package/types/lodash/fp/attempt.d.ts +2 -0
  154. package/types/lodash/fp/before.d.ts +2 -0
  155. package/types/lodash/fp/bind.d.ts +2 -0
  156. package/types/lodash/fp/bindAll.d.ts +2 -0
  157. package/types/lodash/fp/bindKey.d.ts +2 -0
  158. package/types/lodash/fp/camelCase.d.ts +2 -0
  159. package/types/lodash/fp/capitalize.d.ts +2 -0
  160. package/types/lodash/fp/castArray.d.ts +2 -0
  161. package/types/lodash/fp/ceil.d.ts +2 -0
  162. package/types/lodash/fp/chunk.d.ts +2 -0
  163. package/types/lodash/fp/clamp.d.ts +2 -0
  164. package/types/lodash/fp/clone.d.ts +2 -0
  165. package/types/lodash/fp/cloneDeep.d.ts +2 -0
  166. package/types/lodash/fp/cloneDeepWith.d.ts +2 -0
  167. package/types/lodash/fp/cloneWith.d.ts +2 -0
  168. package/types/lodash/fp/compact.d.ts +2 -0
  169. package/types/lodash/fp/complement.d.ts +2 -0
  170. package/types/lodash/fp/compose.d.ts +2 -0
  171. package/types/lodash/fp/concat.d.ts +2 -0
  172. package/types/lodash/fp/cond.d.ts +2 -0
  173. package/types/lodash/fp/conforms.d.ts +2 -0
  174. package/types/lodash/fp/conformsTo.d.ts +2 -0
  175. package/types/lodash/fp/constant.d.ts +2 -0
  176. package/types/lodash/fp/contains.d.ts +2 -0
  177. package/types/lodash/fp/convert.d.ts +15 -0
  178. package/types/lodash/fp/countBy.d.ts +2 -0
  179. package/types/lodash/fp/create.d.ts +2 -0
  180. package/types/lodash/fp/curry.d.ts +2 -0
  181. package/types/lodash/fp/curryN.d.ts +2 -0
  182. package/types/lodash/fp/curryRight.d.ts +2 -0
  183. package/types/lodash/fp/curryRightN.d.ts +2 -0
  184. package/types/lodash/fp/debounce.d.ts +2 -0
  185. package/types/lodash/fp/deburr.d.ts +2 -0
  186. package/types/lodash/fp/defaultTo.d.ts +2 -0
  187. package/types/lodash/fp/defaults.d.ts +2 -0
  188. package/types/lodash/fp/defaultsAll.d.ts +2 -0
  189. package/types/lodash/fp/defaultsDeep.d.ts +2 -0
  190. package/types/lodash/fp/defaultsDeepAll.d.ts +2 -0
  191. package/types/lodash/fp/defer.d.ts +2 -0
  192. package/types/lodash/fp/delay.d.ts +2 -0
  193. package/types/lodash/fp/difference.d.ts +2 -0
  194. package/types/lodash/fp/differenceBy.d.ts +2 -0
  195. package/types/lodash/fp/differenceWith.d.ts +2 -0
  196. package/types/lodash/fp/dissoc.d.ts +2 -0
  197. package/types/lodash/fp/dissocPath.d.ts +2 -0
  198. package/types/lodash/fp/divide.d.ts +2 -0
  199. package/types/lodash/fp/drop.d.ts +2 -0
  200. package/types/lodash/fp/dropLast.d.ts +2 -0
  201. package/types/lodash/fp/dropLastWhile.d.ts +2 -0
  202. package/types/lodash/fp/dropRight.d.ts +2 -0
  203. package/types/lodash/fp/dropRightWhile.d.ts +2 -0
  204. package/types/lodash/fp/dropWhile.d.ts +2 -0
  205. package/types/lodash/fp/each.d.ts +2 -0
  206. package/types/lodash/fp/eachRight.d.ts +2 -0
  207. package/types/lodash/fp/endsWith.d.ts +2 -0
  208. package/types/lodash/fp/entries.d.ts +2 -0
  209. package/types/lodash/fp/entriesIn.d.ts +2 -0
  210. package/types/lodash/fp/eq.d.ts +2 -0
  211. package/types/lodash/fp/equals.d.ts +2 -0
  212. package/types/lodash/fp/escape.d.ts +2 -0
  213. package/types/lodash/fp/escapeRegExp.d.ts +2 -0
  214. package/types/lodash/fp/every.d.ts +2 -0
  215. package/types/lodash/fp/extend.d.ts +2 -0
  216. package/types/lodash/fp/extendAll.d.ts +2 -0
  217. package/types/lodash/fp/extendAllWith.d.ts +2 -0
  218. package/types/lodash/fp/extendWith.d.ts +2 -0
  219. package/types/lodash/fp/fill.d.ts +2 -0
  220. package/types/lodash/fp/filter.d.ts +2 -0
  221. package/types/lodash/fp/find.d.ts +2 -0
  222. package/types/lodash/fp/findFrom.d.ts +2 -0
  223. package/types/lodash/fp/findIndex.d.ts +2 -0
  224. package/types/lodash/fp/findIndexFrom.d.ts +2 -0
  225. package/types/lodash/fp/findKey.d.ts +2 -0
  226. package/types/lodash/fp/findLast.d.ts +2 -0
  227. package/types/lodash/fp/findLastFrom.d.ts +2 -0
  228. package/types/lodash/fp/findLastIndex.d.ts +2 -0
  229. package/types/lodash/fp/findLastIndexFrom.d.ts +2 -0
  230. package/types/lodash/fp/findLastKey.d.ts +2 -0
  231. package/types/lodash/fp/first.d.ts +2 -0
  232. package/types/lodash/fp/flatMap.d.ts +2 -0
  233. package/types/lodash/fp/flatMapDeep.d.ts +2 -0
  234. package/types/lodash/fp/flatMapDepth.d.ts +2 -0
  235. package/types/lodash/fp/flatten.d.ts +2 -0
  236. package/types/lodash/fp/flattenDeep.d.ts +2 -0
  237. package/types/lodash/fp/flattenDepth.d.ts +2 -0
  238. package/types/lodash/fp/flip.d.ts +2 -0
  239. package/types/lodash/fp/floor.d.ts +2 -0
  240. package/types/lodash/fp/flow.d.ts +2 -0
  241. package/types/lodash/fp/flowRight.d.ts +2 -0
  242. package/types/lodash/fp/forEach.d.ts +2 -0
  243. package/types/lodash/fp/forEachRight.d.ts +2 -0
  244. package/types/lodash/fp/forIn.d.ts +2 -0
  245. package/types/lodash/fp/forInRight.d.ts +2 -0
  246. package/types/lodash/fp/forOwn.d.ts +2 -0
  247. package/types/lodash/fp/forOwnRight.d.ts +2 -0
  248. package/types/lodash/fp/fromPairs.d.ts +2 -0
  249. package/types/lodash/fp/functions.d.ts +2 -0
  250. package/types/lodash/fp/functionsIn.d.ts +2 -0
  251. package/types/lodash/fp/get.d.ts +2 -0
  252. package/types/lodash/fp/getOr.d.ts +2 -0
  253. package/types/lodash/fp/groupBy.d.ts +2 -0
  254. package/types/lodash/fp/gt.d.ts +2 -0
  255. package/types/lodash/fp/gte.d.ts +2 -0
  256. package/types/lodash/fp/has.d.ts +2 -0
  257. package/types/lodash/fp/hasIn.d.ts +2 -0
  258. package/types/lodash/fp/head.d.ts +2 -0
  259. package/types/lodash/fp/identical.d.ts +2 -0
  260. package/types/lodash/fp/identity.d.ts +2 -0
  261. package/types/lodash/fp/inRange.d.ts +2 -0
  262. package/types/lodash/fp/includes.d.ts +2 -0
  263. package/types/lodash/fp/includesFrom.d.ts +2 -0
  264. package/types/lodash/fp/indexBy.d.ts +2 -0
  265. package/types/lodash/fp/indexOf.d.ts +2 -0
  266. package/types/lodash/fp/indexOfFrom.d.ts +2 -0
  267. package/types/lodash/fp/init.d.ts +2 -0
  268. package/types/lodash/fp/initial.d.ts +2 -0
  269. package/types/lodash/fp/intersection.d.ts +2 -0
  270. package/types/lodash/fp/intersectionBy.d.ts +2 -0
  271. package/types/lodash/fp/intersectionWith.d.ts +2 -0
  272. package/types/lodash/fp/invert.d.ts +2 -0
  273. package/types/lodash/fp/invertBy.d.ts +2 -0
  274. package/types/lodash/fp/invertObj.d.ts +2 -0
  275. package/types/lodash/fp/invoke.d.ts +2 -0
  276. package/types/lodash/fp/invokeArgs.d.ts +2 -0
  277. package/types/lodash/fp/invokeArgsMap.d.ts +2 -0
  278. package/types/lodash/fp/invokeMap.d.ts +2 -0
  279. package/types/lodash/fp/isArguments.d.ts +2 -0
  280. package/types/lodash/fp/isArray.d.ts +2 -0
  281. package/types/lodash/fp/isArrayBuffer.d.ts +2 -0
  282. package/types/lodash/fp/isArrayLike.d.ts +2 -0
  283. package/types/lodash/fp/isArrayLikeObject.d.ts +2 -0
  284. package/types/lodash/fp/isBoolean.d.ts +2 -0
  285. package/types/lodash/fp/isBuffer.d.ts +2 -0
  286. package/types/lodash/fp/isDate.d.ts +2 -0
  287. package/types/lodash/fp/isElement.d.ts +2 -0
  288. package/types/lodash/fp/isEmpty.d.ts +2 -0
  289. package/types/lodash/fp/isEqual.d.ts +2 -0
  290. package/types/lodash/fp/isEqualWith.d.ts +2 -0
  291. package/types/lodash/fp/isError.d.ts +2 -0
  292. package/types/lodash/fp/isFinite.d.ts +2 -0
  293. package/types/lodash/fp/isFunction.d.ts +2 -0
  294. package/types/lodash/fp/isInteger.d.ts +2 -0
  295. package/types/lodash/fp/isLength.d.ts +2 -0
  296. package/types/lodash/fp/isMap.d.ts +2 -0
  297. package/types/lodash/fp/isMatch.d.ts +2 -0
  298. package/types/lodash/fp/isMatchWith.d.ts +2 -0
  299. package/types/lodash/fp/isNaN.d.ts +2 -0
  300. package/types/lodash/fp/isNative.d.ts +2 -0
  301. package/types/lodash/fp/isNil.d.ts +2 -0
  302. package/types/lodash/fp/isNull.d.ts +2 -0
  303. package/types/lodash/fp/isNumber.d.ts +2 -0
  304. package/types/lodash/fp/isObject.d.ts +2 -0
  305. package/types/lodash/fp/isObjectLike.d.ts +2 -0
  306. package/types/lodash/fp/isPlainObject.d.ts +2 -0
  307. package/types/lodash/fp/isRegExp.d.ts +2 -0
  308. package/types/lodash/fp/isSafeInteger.d.ts +2 -0
  309. package/types/lodash/fp/isSet.d.ts +2 -0
  310. package/types/lodash/fp/isString.d.ts +2 -0
  311. package/types/lodash/fp/isSymbol.d.ts +2 -0
  312. package/types/lodash/fp/isTypedArray.d.ts +2 -0
  313. package/types/lodash/fp/isUndefined.d.ts +2 -0
  314. package/types/lodash/fp/isWeakMap.d.ts +2 -0
  315. package/types/lodash/fp/isWeakSet.d.ts +2 -0
  316. package/types/lodash/fp/iteratee.d.ts +2 -0
  317. package/types/lodash/fp/join.d.ts +2 -0
  318. package/types/lodash/fp/juxt.d.ts +2 -0
  319. package/types/lodash/fp/kebabCase.d.ts +2 -0
  320. package/types/lodash/fp/keyBy.d.ts +2 -0
  321. package/types/lodash/fp/keys.d.ts +2 -0
  322. package/types/lodash/fp/keysIn.d.ts +2 -0
  323. package/types/lodash/fp/last.d.ts +2 -0
  324. package/types/lodash/fp/lastIndexOf.d.ts +2 -0
  325. package/types/lodash/fp/lastIndexOfFrom.d.ts +2 -0
  326. package/types/lodash/fp/lowerCase.d.ts +2 -0
  327. package/types/lodash/fp/lowerFirst.d.ts +2 -0
  328. package/types/lodash/fp/lt.d.ts +2 -0
  329. package/types/lodash/fp/lte.d.ts +2 -0
  330. package/types/lodash/fp/map.d.ts +2 -0
  331. package/types/lodash/fp/mapKeys.d.ts +2 -0
  332. package/types/lodash/fp/mapValues.d.ts +2 -0
  333. package/types/lodash/fp/matches.d.ts +2 -0
  334. package/types/lodash/fp/matchesProperty.d.ts +2 -0
  335. package/types/lodash/fp/max.d.ts +2 -0
  336. package/types/lodash/fp/maxBy.d.ts +2 -0
  337. package/types/lodash/fp/mean.d.ts +2 -0
  338. package/types/lodash/fp/meanBy.d.ts +2 -0
  339. package/types/lodash/fp/memoize.d.ts +2 -0
  340. package/types/lodash/fp/merge.d.ts +2 -0
  341. package/types/lodash/fp/mergeAll.d.ts +2 -0
  342. package/types/lodash/fp/mergeAllWith.d.ts +2 -0
  343. package/types/lodash/fp/mergeWith.d.ts +2 -0
  344. package/types/lodash/fp/method.d.ts +2 -0
  345. package/types/lodash/fp/methodOf.d.ts +2 -0
  346. package/types/lodash/fp/min.d.ts +2 -0
  347. package/types/lodash/fp/minBy.d.ts +2 -0
  348. package/types/lodash/fp/multiply.d.ts +2 -0
  349. package/types/lodash/fp/nAry.d.ts +2 -0
  350. package/types/lodash/fp/negate.d.ts +2 -0
  351. package/types/lodash/fp/noConflict.d.ts +2 -0
  352. package/types/lodash/fp/noop.d.ts +2 -0
  353. package/types/lodash/fp/now.d.ts +2 -0
  354. package/types/lodash/fp/nth.d.ts +2 -0
  355. package/types/lodash/fp/nthArg.d.ts +2 -0
  356. package/types/lodash/fp/omit.d.ts +2 -0
  357. package/types/lodash/fp/omitAll.d.ts +2 -0
  358. package/types/lodash/fp/omitBy.d.ts +2 -0
  359. package/types/lodash/fp/once.d.ts +2 -0
  360. package/types/lodash/fp/orderBy.d.ts +2 -0
  361. package/types/lodash/fp/over.d.ts +2 -0
  362. package/types/lodash/fp/overArgs.d.ts +2 -0
  363. package/types/lodash/fp/overEvery.d.ts +2 -0
  364. package/types/lodash/fp/overSome.d.ts +2 -0
  365. package/types/lodash/fp/pad.d.ts +2 -0
  366. package/types/lodash/fp/padChars.d.ts +2 -0
  367. package/types/lodash/fp/padCharsEnd.d.ts +2 -0
  368. package/types/lodash/fp/padCharsStart.d.ts +2 -0
  369. package/types/lodash/fp/padEnd.d.ts +2 -0
  370. package/types/lodash/fp/padStart.d.ts +2 -0
  371. package/types/lodash/fp/parseInt.d.ts +2 -0
  372. package/types/lodash/fp/partial.d.ts +2 -0
  373. package/types/lodash/fp/partialRight.d.ts +2 -0
  374. package/types/lodash/fp/partition.d.ts +2 -0
  375. package/types/lodash/fp/path.d.ts +2 -0
  376. package/types/lodash/fp/pathEq.d.ts +2 -0
  377. package/types/lodash/fp/pathOr.d.ts +2 -0
  378. package/types/lodash/fp/paths.d.ts +2 -0
  379. package/types/lodash/fp/pick.d.ts +2 -0
  380. package/types/lodash/fp/pickAll.d.ts +2 -0
  381. package/types/lodash/fp/pickBy.d.ts +2 -0
  382. package/types/lodash/fp/pipe.d.ts +2 -0
  383. package/types/lodash/fp/placeholder.d.ts +3 -0
  384. package/types/lodash/fp/pluck.d.ts +2 -0
  385. package/types/lodash/fp/prop.d.ts +2 -0
  386. package/types/lodash/fp/propEq.d.ts +2 -0
  387. package/types/lodash/fp/propOr.d.ts +2 -0
  388. package/types/lodash/fp/property.d.ts +2 -0
  389. package/types/lodash/fp/propertyOf.d.ts +2 -0
  390. package/types/lodash/fp/props.d.ts +2 -0
  391. package/types/lodash/fp/pull.d.ts +2 -0
  392. package/types/lodash/fp/pullAll.d.ts +2 -0
  393. package/types/lodash/fp/pullAllBy.d.ts +2 -0
  394. package/types/lodash/fp/pullAllWith.d.ts +2 -0
  395. package/types/lodash/fp/pullAt.d.ts +2 -0
  396. package/types/lodash/fp/random.d.ts +2 -0
  397. package/types/lodash/fp/range.d.ts +2 -0
  398. package/types/lodash/fp/rangeRight.d.ts +2 -0
  399. package/types/lodash/fp/rangeStep.d.ts +2 -0
  400. package/types/lodash/fp/rangeStepRight.d.ts +2 -0
  401. package/types/lodash/fp/rearg.d.ts +2 -0
  402. package/types/lodash/fp/reduce.d.ts +2 -0
  403. package/types/lodash/fp/reduceRight.d.ts +2 -0
  404. package/types/lodash/fp/reject.d.ts +2 -0
  405. package/types/lodash/fp/remove.d.ts +2 -0
  406. package/types/lodash/fp/repeat.d.ts +2 -0
  407. package/types/lodash/fp/replace.d.ts +2 -0
  408. package/types/lodash/fp/rest.d.ts +2 -0
  409. package/types/lodash/fp/restFrom.d.ts +2 -0
  410. package/types/lodash/fp/result.d.ts +2 -0
  411. package/types/lodash/fp/reverse.d.ts +2 -0
  412. package/types/lodash/fp/round.d.ts +2 -0
  413. package/types/lodash/fp/runInContext.d.ts +2 -0
  414. package/types/lodash/fp/sample.d.ts +2 -0
  415. package/types/lodash/fp/sampleSize.d.ts +2 -0
  416. package/types/lodash/fp/set.d.ts +2 -0
  417. package/types/lodash/fp/setWith.d.ts +2 -0
  418. package/types/lodash/fp/shuffle.d.ts +2 -0
  419. package/types/lodash/fp/size.d.ts +2 -0
  420. package/types/lodash/fp/slice.d.ts +2 -0
  421. package/types/lodash/fp/snakeCase.d.ts +2 -0
  422. package/types/lodash/fp/some.d.ts +2 -0
  423. package/types/lodash/fp/sortBy.d.ts +2 -0
  424. package/types/lodash/fp/sortedIndex.d.ts +2 -0
  425. package/types/lodash/fp/sortedIndexBy.d.ts +2 -0
  426. package/types/lodash/fp/sortedIndexOf.d.ts +2 -0
  427. package/types/lodash/fp/sortedLastIndex.d.ts +2 -0
  428. package/types/lodash/fp/sortedLastIndexBy.d.ts +2 -0
  429. package/types/lodash/fp/sortedLastIndexOf.d.ts +2 -0
  430. package/types/lodash/fp/sortedUniq.d.ts +2 -0
  431. package/types/lodash/fp/sortedUniqBy.d.ts +2 -0
  432. package/types/lodash/fp/split.d.ts +2 -0
  433. package/types/lodash/fp/spread.d.ts +2 -0
  434. package/types/lodash/fp/spreadFrom.d.ts +2 -0
  435. package/types/lodash/fp/startCase.d.ts +2 -0
  436. package/types/lodash/fp/startsWith.d.ts +2 -0
  437. package/types/lodash/fp/stubArray.d.ts +2 -0
  438. package/types/lodash/fp/stubFalse.d.ts +2 -0
  439. package/types/lodash/fp/stubObject.d.ts +2 -0
  440. package/types/lodash/fp/stubString.d.ts +2 -0
  441. package/types/lodash/fp/stubTrue.d.ts +2 -0
  442. package/types/lodash/fp/subtract.d.ts +2 -0
  443. package/types/lodash/fp/sum.d.ts +2 -0
  444. package/types/lodash/fp/sumBy.d.ts +2 -0
  445. package/types/lodash/fp/symmetricDifference.d.ts +2 -0
  446. package/types/lodash/fp/symmetricDifferenceBy.d.ts +2 -0
  447. package/types/lodash/fp/symmetricDifferenceWith.d.ts +2 -0
  448. package/types/lodash/fp/tail.d.ts +2 -0
  449. package/types/lodash/fp/take.d.ts +2 -0
  450. package/types/lodash/fp/takeLast.d.ts +2 -0
  451. package/types/lodash/fp/takeLastWhile.d.ts +2 -0
  452. package/types/lodash/fp/takeRight.d.ts +2 -0
  453. package/types/lodash/fp/takeRightWhile.d.ts +2 -0
  454. package/types/lodash/fp/takeWhile.d.ts +2 -0
  455. package/types/lodash/fp/tap.d.ts +2 -0
  456. package/types/lodash/fp/template.d.ts +2 -0
  457. package/types/lodash/fp/throttle.d.ts +2 -0
  458. package/types/lodash/fp/thru.d.ts +2 -0
  459. package/types/lodash/fp/times.d.ts +2 -0
  460. package/types/lodash/fp/toArray.d.ts +2 -0
  461. package/types/lodash/fp/toFinite.d.ts +2 -0
  462. package/types/lodash/fp/toInteger.d.ts +2 -0
  463. package/types/lodash/fp/toLength.d.ts +2 -0
  464. package/types/lodash/fp/toLower.d.ts +2 -0
  465. package/types/lodash/fp/toNumber.d.ts +2 -0
  466. package/types/lodash/fp/toPairs.d.ts +2 -0
  467. package/types/lodash/fp/toPairsIn.d.ts +2 -0
  468. package/types/lodash/fp/toPath.d.ts +2 -0
  469. package/types/lodash/fp/toPlainObject.d.ts +2 -0
  470. package/types/lodash/fp/toSafeInteger.d.ts +2 -0
  471. package/types/lodash/fp/toString.d.ts +2 -0
  472. package/types/lodash/fp/toUpper.d.ts +2 -0
  473. package/types/lodash/fp/transform.d.ts +2 -0
  474. package/types/lodash/fp/trim.d.ts +2 -0
  475. package/types/lodash/fp/trimChars.d.ts +2 -0
  476. package/types/lodash/fp/trimCharsEnd.d.ts +2 -0
  477. package/types/lodash/fp/trimCharsStart.d.ts +2 -0
  478. package/types/lodash/fp/trimEnd.d.ts +2 -0
  479. package/types/lodash/fp/trimStart.d.ts +2 -0
  480. package/types/lodash/fp/truncate.d.ts +2 -0
  481. package/types/lodash/fp/unapply.d.ts +2 -0
  482. package/types/lodash/fp/unary.d.ts +2 -0
  483. package/types/lodash/fp/unescape.d.ts +2 -0
  484. package/types/lodash/fp/union.d.ts +2 -0
  485. package/types/lodash/fp/unionBy.d.ts +2 -0
  486. package/types/lodash/fp/unionWith.d.ts +2 -0
  487. package/types/lodash/fp/uniq.d.ts +2 -0
  488. package/types/lodash/fp/uniqBy.d.ts +2 -0
  489. package/types/lodash/fp/uniqWith.d.ts +2 -0
  490. package/types/lodash/fp/uniqueId.d.ts +2 -0
  491. package/types/lodash/fp/unnest.d.ts +2 -0
  492. package/types/lodash/fp/unset.d.ts +2 -0
  493. package/types/lodash/fp/unzip.d.ts +2 -0
  494. package/types/lodash/fp/unzipWith.d.ts +2 -0
  495. package/types/lodash/fp/update.d.ts +2 -0
  496. package/types/lodash/fp/updateWith.d.ts +2 -0
  497. package/types/lodash/fp/upperCase.d.ts +2 -0
  498. package/types/lodash/fp/upperFirst.d.ts +2 -0
  499. package/types/lodash/fp/useWith.d.ts +2 -0
  500. package/types/lodash/fp/values.d.ts +2 -0
  501. package/types/lodash/fp/valuesIn.d.ts +2 -0
  502. package/types/lodash/fp/where.d.ts +2 -0
  503. package/types/lodash/fp/whereEq.d.ts +2 -0
  504. package/types/lodash/fp/without.d.ts +2 -0
  505. package/types/lodash/fp/words.d.ts +2 -0
  506. package/types/lodash/fp/wrap.d.ts +2 -0
  507. package/types/lodash/fp/xor.d.ts +2 -0
  508. package/types/lodash/fp/xorBy.d.ts +2 -0
  509. package/types/lodash/fp/xorWith.d.ts +2 -0
  510. package/types/lodash/fp/zip.d.ts +2 -0
  511. package/types/lodash/fp/zipAll.d.ts +2 -0
  512. package/types/lodash/fp/zipObj.d.ts +2 -0
  513. package/types/lodash/fp/zipObject.d.ts +2 -0
  514. package/types/lodash/fp/zipObjectDeep.d.ts +2 -0
  515. package/types/lodash/fp/zipWith.d.ts +2 -0
  516. package/types/lodash/fp.d.ts +4766 -0
  517. package/types/lodash/fromPairs.d.ts +2 -0
  518. package/types/lodash/functions.d.ts +2 -0
  519. package/types/lodash/functionsIn.d.ts +2 -0
  520. package/types/lodash/get.d.ts +2 -0
  521. package/types/lodash/groupBy.d.ts +2 -0
  522. package/types/lodash/gt.d.ts +2 -0
  523. package/types/lodash/gte.d.ts +2 -0
  524. package/types/lodash/has.d.ts +2 -0
  525. package/types/lodash/hasIn.d.ts +2 -0
  526. package/types/lodash/head.d.ts +2 -0
  527. package/types/lodash/identity.d.ts +2 -0
  528. package/types/lodash/inRange.d.ts +2 -0
  529. package/types/lodash/includes.d.ts +2 -0
  530. package/types/lodash/index.d.ts +47 -0
  531. package/types/lodash/indexOf.d.ts +2 -0
  532. package/types/lodash/initial.d.ts +2 -0
  533. package/types/lodash/intersection.d.ts +2 -0
  534. package/types/lodash/intersectionBy.d.ts +2 -0
  535. package/types/lodash/intersectionWith.d.ts +2 -0
  536. package/types/lodash/invert.d.ts +2 -0
  537. package/types/lodash/invertBy.d.ts +2 -0
  538. package/types/lodash/invoke.d.ts +2 -0
  539. package/types/lodash/invokeMap.d.ts +2 -0
  540. package/types/lodash/isArguments.d.ts +2 -0
  541. package/types/lodash/isArray.d.ts +2 -0
  542. package/types/lodash/isArrayBuffer.d.ts +2 -0
  543. package/types/lodash/isArrayLike.d.ts +2 -0
  544. package/types/lodash/isArrayLikeObject.d.ts +2 -0
  545. package/types/lodash/isBoolean.d.ts +2 -0
  546. package/types/lodash/isBuffer.d.ts +2 -0
  547. package/types/lodash/isDate.d.ts +2 -0
  548. package/types/lodash/isElement.d.ts +2 -0
  549. package/types/lodash/isEmpty.d.ts +2 -0
  550. package/types/lodash/isEqual.d.ts +2 -0
  551. package/types/lodash/isEqualWith.d.ts +2 -0
  552. package/types/lodash/isError.d.ts +2 -0
  553. package/types/lodash/isFinite.d.ts +2 -0
  554. package/types/lodash/isFunction.d.ts +2 -0
  555. package/types/lodash/isInteger.d.ts +2 -0
  556. package/types/lodash/isLength.d.ts +2 -0
  557. package/types/lodash/isMap.d.ts +2 -0
  558. package/types/lodash/isMatch.d.ts +2 -0
  559. package/types/lodash/isMatchWith.d.ts +2 -0
  560. package/types/lodash/isNaN.d.ts +2 -0
  561. package/types/lodash/isNative.d.ts +2 -0
  562. package/types/lodash/isNil.d.ts +2 -0
  563. package/types/lodash/isNull.d.ts +2 -0
  564. package/types/lodash/isNumber.d.ts +2 -0
  565. package/types/lodash/isObject.d.ts +2 -0
  566. package/types/lodash/isObjectLike.d.ts +2 -0
  567. package/types/lodash/isPlainObject.d.ts +2 -0
  568. package/types/lodash/isRegExp.d.ts +2 -0
  569. package/types/lodash/isSafeInteger.d.ts +2 -0
  570. package/types/lodash/isSet.d.ts +2 -0
  571. package/types/lodash/isString.d.ts +2 -0
  572. package/types/lodash/isSymbol.d.ts +2 -0
  573. package/types/lodash/isTypedArray.d.ts +2 -0
  574. package/types/lodash/isUndefined.d.ts +2 -0
  575. package/types/lodash/isWeakMap.d.ts +2 -0
  576. package/types/lodash/isWeakSet.d.ts +2 -0
  577. package/types/lodash/iteratee.d.ts +2 -0
  578. package/types/lodash/join.d.ts +2 -0
  579. package/types/lodash/kebabCase.d.ts +2 -0
  580. package/types/lodash/keyBy.d.ts +2 -0
  581. package/types/lodash/keys.d.ts +2 -0
  582. package/types/lodash/keysIn.d.ts +2 -0
  583. package/types/lodash/last.d.ts +2 -0
  584. package/types/lodash/lastIndexOf.d.ts +2 -0
  585. package/types/lodash/lowerCase.d.ts +2 -0
  586. package/types/lodash/lowerFirst.d.ts +2 -0
  587. package/types/lodash/lt.d.ts +2 -0
  588. package/types/lodash/lte.d.ts +2 -0
  589. package/types/lodash/map.d.ts +2 -0
  590. package/types/lodash/mapKeys.d.ts +2 -0
  591. package/types/lodash/mapValues.d.ts +2 -0
  592. package/types/lodash/matches.d.ts +2 -0
  593. package/types/lodash/matchesProperty.d.ts +2 -0
  594. package/types/lodash/max.d.ts +2 -0
  595. package/types/lodash/maxBy.d.ts +2 -0
  596. package/types/lodash/mean.d.ts +2 -0
  597. package/types/lodash/meanBy.d.ts +2 -0
  598. package/types/lodash/memoize.d.ts +2 -0
  599. package/types/lodash/merge.d.ts +2 -0
  600. package/types/lodash/mergeWith.d.ts +2 -0
  601. package/types/lodash/method.d.ts +2 -0
  602. package/types/lodash/methodOf.d.ts +2 -0
  603. package/types/lodash/min.d.ts +2 -0
  604. package/types/lodash/minBy.d.ts +2 -0
  605. package/types/lodash/mixin.d.ts +2 -0
  606. package/types/lodash/negate.d.ts +2 -0
  607. package/types/lodash/noConflict.d.ts +2 -0
  608. package/types/lodash/noop.d.ts +2 -0
  609. package/types/lodash/now.d.ts +2 -0
  610. package/types/lodash/nth.d.ts +2 -0
  611. package/types/lodash/nthArg.d.ts +2 -0
  612. package/types/lodash/omit.d.ts +2 -0
  613. package/types/lodash/omitBy.d.ts +2 -0
  614. package/types/lodash/once.d.ts +2 -0
  615. package/types/lodash/orderBy.d.ts +2 -0
  616. package/types/lodash/over.d.ts +2 -0
  617. package/types/lodash/overArgs.d.ts +2 -0
  618. package/types/lodash/overEvery.d.ts +2 -0
  619. package/types/lodash/overSome.d.ts +2 -0
  620. package/types/lodash/pad.d.ts +2 -0
  621. package/types/lodash/padEnd.d.ts +2 -0
  622. package/types/lodash/padStart.d.ts +2 -0
  623. package/types/lodash/parseInt.d.ts +2 -0
  624. package/types/lodash/partial.d.ts +2 -0
  625. package/types/lodash/partialRight.d.ts +2 -0
  626. package/types/lodash/partition.d.ts +2 -0
  627. package/types/lodash/pick.d.ts +2 -0
  628. package/types/lodash/pickBy.d.ts +2 -0
  629. package/types/lodash/property.d.ts +2 -0
  630. package/types/lodash/propertyOf.d.ts +2 -0
  631. package/types/lodash/pull.d.ts +2 -0
  632. package/types/lodash/pullAll.d.ts +2 -0
  633. package/types/lodash/pullAllBy.d.ts +2 -0
  634. package/types/lodash/pullAllWith.d.ts +2 -0
  635. package/types/lodash/pullAt.d.ts +2 -0
  636. package/types/lodash/random.d.ts +2 -0
  637. package/types/lodash/range.d.ts +2 -0
  638. package/types/lodash/rangeRight.d.ts +2 -0
  639. package/types/lodash/rearg.d.ts +2 -0
  640. package/types/lodash/reduce.d.ts +2 -0
  641. package/types/lodash/reduceRight.d.ts +2 -0
  642. package/types/lodash/reject.d.ts +2 -0
  643. package/types/lodash/remove.d.ts +2 -0
  644. package/types/lodash/repeat.d.ts +2 -0
  645. package/types/lodash/replace.d.ts +2 -0
  646. package/types/lodash/rest.d.ts +2 -0
  647. package/types/lodash/result.d.ts +2 -0
  648. package/types/lodash/reverse.d.ts +2 -0
  649. package/types/lodash/round.d.ts +2 -0
  650. package/types/lodash/runInContext.d.ts +2 -0
  651. package/types/lodash/sample.d.ts +2 -0
  652. package/types/lodash/sampleSize.d.ts +2 -0
  653. package/types/lodash/set.d.ts +2 -0
  654. package/types/lodash/setWith.d.ts +2 -0
  655. package/types/lodash/shuffle.d.ts +2 -0
  656. package/types/lodash/size.d.ts +2 -0
  657. package/types/lodash/slice.d.ts +2 -0
  658. package/types/lodash/snakeCase.d.ts +2 -0
  659. package/types/lodash/some.d.ts +2 -0
  660. package/types/lodash/sortBy.d.ts +2 -0
  661. package/types/lodash/sortedIndex.d.ts +2 -0
  662. package/types/lodash/sortedIndexBy.d.ts +2 -0
  663. package/types/lodash/sortedIndexOf.d.ts +2 -0
  664. package/types/lodash/sortedLastIndex.d.ts +2 -0
  665. package/types/lodash/sortedLastIndexBy.d.ts +2 -0
  666. package/types/lodash/sortedLastIndexOf.d.ts +2 -0
  667. package/types/lodash/sortedUniq.d.ts +2 -0
  668. package/types/lodash/sortedUniqBy.d.ts +2 -0
  669. package/types/lodash/split.d.ts +2 -0
  670. package/types/lodash/spread.d.ts +2 -0
  671. package/types/lodash/startCase.d.ts +2 -0
  672. package/types/lodash/startsWith.d.ts +2 -0
  673. package/types/lodash/subtract.d.ts +2 -0
  674. package/types/lodash/sum.d.ts +2 -0
  675. package/types/lodash/sumBy.d.ts +2 -0
  676. package/types/lodash/tail.d.ts +2 -0
  677. package/types/lodash/take.d.ts +2 -0
  678. package/types/lodash/takeRight.d.ts +2 -0
  679. package/types/lodash/takeRightWhile.d.ts +2 -0
  680. package/types/lodash/takeWhile.d.ts +2 -0
  681. package/types/lodash/tap.d.ts +2 -0
  682. package/types/lodash/template.d.ts +2 -0
  683. package/types/lodash/throttle.d.ts +2 -0
  684. package/types/lodash/thru.d.ts +2 -0
  685. package/types/lodash/times.d.ts +2 -0
  686. package/types/lodash/toArray.d.ts +2 -0
  687. package/types/lodash/toFinite.d.ts +2 -0
  688. package/types/lodash/toInteger.d.ts +2 -0
  689. package/types/lodash/toLength.d.ts +2 -0
  690. package/types/lodash/toLower.d.ts +2 -0
  691. package/types/lodash/toNumber.d.ts +2 -0
  692. package/types/lodash/toPairs.d.ts +2 -0
  693. package/types/lodash/toPairsIn.d.ts +2 -0
  694. package/types/lodash/toPath.d.ts +2 -0
  695. package/types/lodash/toPlainObject.d.ts +2 -0
  696. package/types/lodash/toSafeInteger.d.ts +2 -0
  697. package/types/lodash/toString.d.ts +2 -0
  698. package/types/lodash/toUpper.d.ts +2 -0
  699. package/types/lodash/transform.d.ts +2 -0
  700. package/types/lodash/trim.d.ts +2 -0
  701. package/types/lodash/trimEnd.d.ts +2 -0
  702. package/types/lodash/trimStart.d.ts +2 -0
  703. package/types/lodash/truncate.d.ts +2 -0
  704. package/types/lodash/unary.d.ts +2 -0
  705. package/types/lodash/unescape.d.ts +2 -0
  706. package/types/lodash/union.d.ts +2 -0
  707. package/types/lodash/unionBy.d.ts +2 -0
  708. package/types/lodash/unionWith.d.ts +2 -0
  709. package/types/lodash/uniq.d.ts +2 -0
  710. package/types/lodash/uniqBy.d.ts +2 -0
  711. package/types/lodash/uniqWith.d.ts +2 -0
  712. package/types/lodash/uniqueId.d.ts +2 -0
  713. package/types/lodash/unset.d.ts +2 -0
  714. package/types/lodash/unzip.d.ts +2 -0
  715. package/types/lodash/unzipWith.d.ts +2 -0
  716. package/types/lodash/update.d.ts +2 -0
  717. package/types/lodash/updateWith.d.ts +2 -0
  718. package/types/lodash/upperCase.d.ts +2 -0
  719. package/types/lodash/upperFirst.d.ts +2 -0
  720. package/types/lodash/values.d.ts +2 -0
  721. package/types/lodash/valuesIn.d.ts +2 -0
  722. package/types/lodash/without.d.ts +2 -0
  723. package/types/lodash/words.d.ts +2 -0
  724. package/types/lodash/wrap.d.ts +2 -0
  725. package/types/lodash/xor.d.ts +2 -0
  726. package/types/lodash/xorBy.d.ts +2 -0
  727. package/types/lodash/xorWith.d.ts +2 -0
  728. package/types/lodash/zip.d.ts +2 -0
  729. package/types/lodash/zipObject.d.ts +2 -0
  730. package/types/lodash/zipObjectDeep.d.ts +2 -0
  731. package/types/lodash/zipWith.d.ts +2 -0
  732. package/types/minimatch/LICENSE +21 -0
  733. package/types/minimatch/README.md +16 -0
  734. package/types/minimatch/index.d.ts +214 -0
  735. package/types/mocha/LICENSE +21 -0
  736. package/types/mocha/README.md +16 -0
  737. package/types/mocha/index.d.ts +241 -0
  738. package/types/sinon/LICENSE +21 -0
  739. package/types/sinon/README.md +16 -0
  740. package/types/sinon/index.d.ts +1659 -0
  741. package/types/sinon/ts3.1/index.d.ts +1747 -0
  742. package/types/sinon-chai/LICENSE +21 -0
  743. package/types/sinon-chai/README.md +16 -0
  744. package/types/sinon-chai/index.d.ts +109 -0
  745. package/types/minimatch.d.ts +0 -11
  746. package/types/moment.d.ts +0 -11
@@ -0,0 +1,3708 @@
1
+ import _ = require("../index");
2
+ declare module "../index" {
3
+ // chunk
4
+
5
+ interface LoDashStatic {
6
+ /**
7
+ * Creates an array of elements split into groups the length of size. If collection can’t be split evenly, the
8
+ * final chunk will be the remaining elements.
9
+ *
10
+ * @param array The array to process.
11
+ * @param size The length of each chunk.
12
+ * @return Returns the new array containing chunks.
13
+ */
14
+ chunk<T>(
15
+ array: List<T> | null | undefined,
16
+ size?: number
17
+ ): T[][];
18
+ }
19
+
20
+ interface LoDashImplicitWrapper<TValue> {
21
+ /**
22
+ * @see _.chunk
23
+ */
24
+ chunk<T>(
25
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
26
+ size?: number,
27
+ ): LoDashImplicitWrapper<T[][]>;
28
+ }
29
+
30
+ interface LoDashExplicitWrapper<TValue> {
31
+ /**
32
+ * @see _.chunk
33
+ */
34
+ chunk<T>(
35
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
36
+ size?: number,
37
+ ): LoDashExplicitWrapper<T[][]>;
38
+ }
39
+
40
+ // compact
41
+
42
+ interface LoDashStatic {
43
+ /**
44
+ * Creates an array with all falsey values removed. The values false, null, 0, "", undefined, and NaN are
45
+ * falsey.
46
+ *
47
+ * @param array The array to compact.
48
+ * @return Returns the new array of filtered values.
49
+ */
50
+ compact<T>(array: List<T | null | undefined | false | "" | 0> | null | undefined): T[];
51
+ }
52
+
53
+ interface LoDashImplicitWrapper<TValue> {
54
+ /**
55
+ * @see _.compact
56
+ */
57
+ compact<T>(this: LoDashImplicitWrapper<List<T | null | undefined | false | "" | 0> | null | undefined>): LoDashImplicitWrapper<T[]>;
58
+ }
59
+
60
+ interface LoDashExplicitWrapper<TValue> {
61
+ /**
62
+ * @see _.compact
63
+ */
64
+ compact<T>(this: LoDashExplicitWrapper<List<T | null | undefined | false | "" | 0> | null | undefined>): LoDashExplicitWrapper<T[]>;
65
+ }
66
+
67
+ // concat
68
+
69
+ interface LoDashStatic {
70
+ /**
71
+ * Creates a new array concatenating `array` with any additional arrays
72
+ * and/or values.
73
+ *
74
+ * @category Array
75
+ * @param array The array to concatenate.
76
+ * @param [values] The values to concatenate.
77
+ * @returns Returns the new concatenated array.
78
+ * @example
79
+ *
80
+ * var array = [1];
81
+ * var other = _.concat(array, 2, [3], [[4]]);
82
+ *
83
+ * console.log(other);
84
+ * // => [1, 2, 3, [4]]
85
+ *
86
+ * console.log(array);
87
+ * // => [1]
88
+ */
89
+ concat<T>(array: Many<T>, ...values: Array<Many<T>>): T[];
90
+ }
91
+
92
+ interface LoDashImplicitWrapper<TValue> {
93
+ /**
94
+ * @see _.compact
95
+ */
96
+ concat<T>(this: LoDashImplicitWrapper<Many<T>>, ...values: Array<Many<T>>): LoDashImplicitWrapper<T[]>;
97
+ }
98
+
99
+ interface LoDashExplicitWrapper<TValue> {
100
+ /**
101
+ * @see _.compact
102
+ */
103
+ concat<T>(this: LoDashExplicitWrapper<Many<T>>, ...values: Array<Many<T>>): LoDashExplicitWrapper<T[]>;
104
+ }
105
+
106
+ // difference
107
+
108
+ interface LoDashStatic {
109
+ /**
110
+ * Creates an array of unique array values not included in the other provided arrays using SameValueZero for
111
+ * equality comparisons.
112
+ *
113
+ * @param array The array to inspect.
114
+ * @param values The arrays of values to exclude.
115
+ * @return Returns the new array of filtered values.
116
+ */
117
+ difference<T>(
118
+ array: List<T> | null | undefined,
119
+ ...values: Array<List<T>>
120
+ ): T[];
121
+ }
122
+
123
+ interface LoDashImplicitWrapper<TValue> {
124
+ /**
125
+ * @see _.difference
126
+ */
127
+ difference<T>(
128
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
129
+ ...values: Array<List<T>>
130
+ ): LoDashImplicitWrapper<T[]>;
131
+ }
132
+
133
+ interface LoDashExplicitWrapper<TValue> {
134
+ /**
135
+ * @see _.difference
136
+ */
137
+ difference<T>(
138
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
139
+ ...values: Array<List<T>>
140
+ ): LoDashExplicitWrapper<T[]>;
141
+ }
142
+
143
+ // differenceBy
144
+
145
+ interface LoDashStatic {
146
+ /**
147
+ * This method is like _.difference except that it accepts iteratee which is invoked for each element of array
148
+ * and values to generate the criterion by which uniqueness is computed. The iteratee is invoked with one
149
+ * argument: (value).
150
+ *
151
+ * @param array The array to inspect.
152
+ * @param values The values to exclude.
153
+ * @param iteratee The iteratee invoked per element.
154
+ * @returns Returns the new array of filtered values.
155
+ */
156
+ differenceBy<T1, T2>(
157
+ array: List<T1> | null | undefined,
158
+ values: List<T2>,
159
+ iteratee: ValueIteratee<T1 | T2>
160
+ ): T1[];
161
+
162
+ /**
163
+ * @see _.differenceBy
164
+ */
165
+ differenceBy<T1, T2, T3>(
166
+ array: List<T1> | null | undefined,
167
+ values1: List<T2>,
168
+ values2: List<T3>,
169
+ iteratee: ValueIteratee<T1 | T2 | T3>
170
+ ): T1[];
171
+
172
+ /**
173
+ * @see _.differenceBy
174
+ */
175
+ differenceBy<T1, T2, T3, T4>(
176
+ array: List<T1> | null | undefined,
177
+ values1: List<T2>,
178
+ values2: List<T3>,
179
+ values3: List<T4>,
180
+ iteratee: ValueIteratee<T1 | T2 | T3 | T4>
181
+ ): T1[];
182
+
183
+ /**
184
+ * @see _.differenceBy
185
+ */
186
+ differenceBy<T1, T2, T3, T4, T5>(
187
+ array: List<T1> | null | undefined,
188
+ values1: List<T2>,
189
+ values2: List<T3>,
190
+ values3: List<T4>,
191
+ values4: List<T5>,
192
+ iteratee: ValueIteratee<T1 | T2 | T3 | T4 | T5>
193
+ ): T1[];
194
+
195
+ /**
196
+ * @see _.differenceBy
197
+ */
198
+ differenceBy<T1, T2, T3, T4, T5, T6>(
199
+ array: List<T1> | null | undefined,
200
+ values1: List<T2>,
201
+ values2: List<T3>,
202
+ values3: List<T4>,
203
+ values4: List<T5>,
204
+ values5: List<T6>,
205
+ iteratee: ValueIteratee<T1 | T2 | T3 | T4 | T5 | T6>
206
+ ): T1[];
207
+
208
+ /**
209
+ * @see _.differenceBy
210
+ */
211
+ differenceBy<T1, T2, T3, T4, T5, T6, T7>(
212
+ array: List<T1> | null | undefined,
213
+ values1: List<T2>,
214
+ values2: List<T3>,
215
+ values3: List<T4>,
216
+ values4: List<T5>,
217
+ values5: List<T6>,
218
+ ...values: Array<List<T7> | ValueIteratee<T1 | T2 | T3 | T4 | T5 | T6 | T7>>
219
+ ): T1[];
220
+
221
+ /**
222
+ * @see _.differenceBy
223
+ */
224
+ differenceBy<T>(
225
+ array: List<T> | null | undefined,
226
+ ...values: Array<List<T>>
227
+ ): T[];
228
+ }
229
+
230
+ interface LoDashImplicitWrapper<TValue> {
231
+ /**
232
+ * @see _.differenceBy
233
+ */
234
+ differenceBy<T1, T2>(
235
+ this: LoDashImplicitWrapper<List<T1> | null | undefined>,
236
+ values: List<T2>,
237
+ iteratee: ValueIteratee<T1 | T2>
238
+ ): LoDashImplicitWrapper<T1[]>;
239
+
240
+ /**
241
+ * @see _.differenceBy
242
+ */
243
+ differenceBy<T1, T2, T3>(
244
+ this: LoDashImplicitWrapper<List<T1> | null | undefined>,
245
+ values1: List<T2>,
246
+ values2: List<T3>,
247
+ iteratee: ValueIteratee<T1 | T2 | T3>
248
+ ): LoDashImplicitWrapper<T1[]>;
249
+
250
+ /**
251
+ * @see _.differenceBy
252
+ */
253
+ differenceBy<T1, T2, T3, T4>(
254
+ this: LoDashImplicitWrapper<List<T1> | null | undefined>,
255
+ values1: List<T2>,
256
+ values2: List<T3>,
257
+ values3: List<T4>,
258
+ iteratee: ValueIteratee<T1 | T2 | T3 | T4>
259
+ ): LoDashImplicitWrapper<T1[]>;
260
+
261
+ /**
262
+ * @see _.differenceBy
263
+ */
264
+ differenceBy<T1, T2, T3, T4, T5>(
265
+ this: LoDashImplicitWrapper<List<T1> | null | undefined>,
266
+ values1: List<T2>,
267
+ values2: List<T3>,
268
+ values3: List<T4>,
269
+ values4: List<T5>,
270
+ iteratee: ValueIteratee<T1 | T2 | T3 | T4 | T5>
271
+ ): LoDashImplicitWrapper<T1[]>;
272
+
273
+ /**
274
+ * @see _.differenceBy
275
+ */
276
+ differenceBy<T1, T2, T3, T4, T5, T6>(
277
+ this: LoDashImplicitWrapper<List<T1> | null | undefined>,
278
+ values1: List<T2>,
279
+ values2: List<T3>,
280
+ values3: List<T4>,
281
+ values4: List<T5>,
282
+ values5: List<T6>,
283
+ iteratee: ValueIteratee<T1 | T2 | T3 | T4 | T5 | T6>
284
+ ): LoDashImplicitWrapper<T1[]>;
285
+
286
+ /**
287
+ * @see _.differenceBy
288
+ */
289
+ differenceBy<T1, T2, T3, T4, T5, T6, T7>(
290
+ this: LoDashImplicitWrapper<List<T1> | null | undefined>,
291
+ values1: List<T2>,
292
+ values2: List<T3>,
293
+ values3: List<T4>,
294
+ values4: List<T5>,
295
+ values5: List<T6>,
296
+ ...values: Array<List<T7> | ValueIteratee<T1 | T2 | T3 | T4 | T5 | T6 | T7>>
297
+ ): LoDashImplicitWrapper<T1[]>;
298
+
299
+ /**
300
+ * @see _.differenceBy
301
+ */
302
+ differenceBy<T>(
303
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
304
+ ...values: Array<List<T>>
305
+ ): LoDashImplicitWrapper<T[]>;
306
+ }
307
+
308
+ interface LoDashExplicitWrapper<TValue> {
309
+ /**
310
+ * @see _.differenceBy
311
+ */
312
+ differenceBy<T1, T2>(
313
+ this: LoDashExplicitWrapper<List<T1> | null | undefined>,
314
+ values: List<T2>,
315
+ iteratee: ValueIteratee<T1 | T2>
316
+ ): LoDashExplicitWrapper<T1[]>;
317
+
318
+ /**
319
+ * @see _.differenceBy
320
+ */
321
+ differenceBy<T1, T2, T3>(
322
+ this: LoDashExplicitWrapper<List<T1> | null | undefined>,
323
+ values1: List<T2>,
324
+ values2: List<T3>,
325
+ iteratee: ValueIteratee<T1 | T2 | T3>
326
+ ): LoDashExplicitWrapper<T1[]>;
327
+
328
+ /**
329
+ * @see _.differenceBy
330
+ */
331
+ differenceBy<T1, T2, T3, T4>(
332
+ this: LoDashExplicitWrapper<List<T1> | null | undefined>,
333
+ values1: List<T2>,
334
+ values2: List<T3>,
335
+ values3: List<T4>,
336
+ iteratee: ValueIteratee<T1 | T2 | T3 | T4>
337
+ ): LoDashExplicitWrapper<T1[]>;
338
+
339
+ /**
340
+ * @see _.differenceBy
341
+ */
342
+ differenceBy<T1, T2, T3, T4, T5>(
343
+ this: LoDashExplicitWrapper<List<T1> | null | undefined>,
344
+ values1: List<T2>,
345
+ values2: List<T3>,
346
+ values3: List<T4>,
347
+ values4: List<T5>,
348
+ iteratee: ValueIteratee<T1 | T2 | T3 | T4 | T5>
349
+ ): LoDashExplicitWrapper<T1[]>;
350
+
351
+ /**
352
+ * @see _.differenceBy
353
+ */
354
+ differenceBy<T1, T2, T3, T4, T5, T6>(
355
+ this: LoDashExplicitWrapper<List<T1> | null | undefined>,
356
+ values1: List<T2>,
357
+ values2: List<T3>,
358
+ values3: List<T4>,
359
+ values4: List<T5>,
360
+ values5: List<T6>,
361
+ iteratee: ValueIteratee<T1 | T2 | T3 | T4 | T5 | T6>
362
+ ): LoDashExplicitWrapper<T1[]>;
363
+
364
+ /**
365
+ * @see _.differenceBy
366
+ */
367
+ differenceBy<T1, T2, T3, T4, T5, T6, T7>(
368
+ this: LoDashExplicitWrapper<List<T1> | null | undefined>,
369
+ values1: List<T2>,
370
+ values2: List<T3>,
371
+ values3: List<T4>,
372
+ values4: List<T5>,
373
+ values5: List<T6>,
374
+ ...values: Array<List<T7> | ValueIteratee<T1 | T2 | T3 | T4 | T5 | T6 | T7>>
375
+ ): LoDashExplicitWrapper<T1[]>;
376
+
377
+ /**
378
+ * @see _.differenceBy
379
+ */
380
+ differenceBy<T>(
381
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
382
+ ...values: Array<List<T>>
383
+ ): LoDashExplicitWrapper<T[]>;
384
+ }
385
+
386
+ // differenceWith
387
+
388
+ interface LoDashStatic {
389
+ /**
390
+ * Creates an array of unique `array` values not included in the other
391
+ * provided arrays using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
392
+ * for equality comparisons.
393
+ *
394
+ * @category Array
395
+ * @param [values] The arrays to inspect.
396
+ * @param [comparator] The comparator invoked per element.
397
+ * @returns Returns the new array of filtered values.
398
+ * @example
399
+ *
400
+ * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];
401
+
402
+ * _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual);
403
+ * // => [{ 'x': 2, 'y': 1 }]
404
+ */
405
+ differenceWith<T1, T2>(
406
+ array: List<T1> | null | undefined,
407
+ values: List<T2>,
408
+ comparator: Comparator2<T1, T2>
409
+ ): T1[];
410
+
411
+ /**
412
+ * @see _.differenceWith
413
+ */
414
+ differenceWith<T1, T2, T3>(
415
+ array: List<T1> | null | undefined,
416
+ values1: List<T2>,
417
+ values2: List<T3>,
418
+ comparator: Comparator2<T1, T2 | T3>
419
+ ): T1[];
420
+
421
+ /**
422
+ * @see _.differenceWith
423
+ */
424
+ differenceWith<T1, T2, T3, T4>(
425
+ array: List<T1> | null | undefined,
426
+ values1: List<T2>,
427
+ values2: List<T3>,
428
+ ...values: Array<List<T4> | Comparator2<T1, T2 | T3 | T4>>
429
+ ): T1[];
430
+
431
+ /**
432
+ * @see _.differenceWith
433
+ */
434
+ differenceWith<T>(
435
+ array: List<T> | null | undefined,
436
+ ...values: Array<List<T>>
437
+ ): T[];
438
+ }
439
+
440
+ interface LoDashImplicitWrapper<TValue> {
441
+ /**
442
+ * @see _.differenceWith
443
+ */
444
+ differenceWith<T1, T2>(
445
+ this: LoDashImplicitWrapper<List<T1> | null | undefined>,
446
+ values: List<T2>,
447
+ comparator: Comparator2<T1, T2>
448
+ ): LoDashImplicitWrapper<T1[]>;
449
+
450
+ /**
451
+ * @see _.differenceWith
452
+ */
453
+ differenceWith<T1, T2, T3>(
454
+ this: LoDashImplicitWrapper<List<T1> | null | undefined>,
455
+ values1: List<T2>,
456
+ values2: List<T3>,
457
+ comparator: Comparator2<T1, T2 | T3>
458
+ ): LoDashImplicitWrapper<T1[]>;
459
+
460
+ /**
461
+ * @see _.differenceWith
462
+ */
463
+ differenceWith<T1, T2, T3, T4>(
464
+ this: LoDashImplicitWrapper<List<T1> | null | undefined>,
465
+ values1: List<T2>,
466
+ values2: List<T3>,
467
+ ...values: Array<List<T4> | Comparator2<T1, T2 | T3 | T4>>
468
+ ): LoDashImplicitWrapper<T1[]>;
469
+
470
+ /**
471
+ * @see _.differenceWith
472
+ */
473
+ differenceWith<T>(
474
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
475
+ ...values: Array<List<T>>
476
+ ): LoDashImplicitWrapper<T[]>;
477
+ }
478
+
479
+ interface LoDashExplicitWrapper<TValue> {
480
+ /**
481
+ * @see _.differenceWith
482
+ */
483
+ differenceWith<T1, T2>(
484
+ this: LoDashExplicitWrapper<List<T1> | null | undefined>,
485
+ values: List<T2>,
486
+ comparator: Comparator2<T1, T2>
487
+ ): LoDashExplicitWrapper<T1[]>;
488
+
489
+ /**
490
+ * @see _.differenceWith
491
+ */
492
+ differenceWith<T1, T2, T3>(
493
+ this: LoDashExplicitWrapper<List<T1> | null | undefined>,
494
+ values1: List<T2>,
495
+ values2: List<T3>,
496
+ comparator: Comparator2<T1, T2 | T3>
497
+ ): LoDashExplicitWrapper<T1[]>;
498
+
499
+ /**
500
+ * @see _.differenceWith
501
+ */
502
+ differenceWith<T1, T2, T3, T4>(
503
+ this: LoDashExplicitWrapper<List<T1> | null | undefined>,
504
+ values1: List<T2>,
505
+ values2: List<T3>,
506
+ ...values: Array<List<T4> | Comparator2<T1, T2 | T3 | T4>>
507
+ ): LoDashExplicitWrapper<T1[]>;
508
+
509
+ /**
510
+ * @see _.differenceWith
511
+ */
512
+ differenceWith<T>(
513
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
514
+ ...values: Array<List<T>>
515
+ ): LoDashExplicitWrapper<T[]>;
516
+ }
517
+
518
+ // drop
519
+
520
+ interface LoDashStatic {
521
+ /**
522
+ * Creates a slice of array with n elements dropped from the beginning.
523
+ *
524
+ * @param array The array to query.
525
+ * @param n The number of elements to drop.
526
+ * @return Returns the slice of array.
527
+ */
528
+ drop<T>(array: List<T> | null | undefined, n?: number): T[];
529
+ }
530
+
531
+ interface LoDashImplicitWrapper<TValue> {
532
+ /**
533
+ * @see _.drop
534
+ */
535
+ drop<T>(this: LoDashImplicitWrapper<List<T> | null | undefined>, n?: number): LoDashImplicitWrapper<T[]>;
536
+ }
537
+
538
+ interface LoDashExplicitWrapper<TValue> {
539
+ /**
540
+ * @see _.drop
541
+ */
542
+ drop<T>(this: LoDashExplicitWrapper<List<T> | null | undefined>, n?: number): LoDashExplicitWrapper<T[]>;
543
+ }
544
+
545
+ // dropRight
546
+
547
+ interface LoDashStatic {
548
+ /**
549
+ * Creates a slice of array with n elements dropped from the end.
550
+ *
551
+ * @param array The array to query.
552
+ * @param n The number of elements to drop.
553
+ * @return Returns the slice of array.
554
+ */
555
+ dropRight<T>(
556
+ array: List<T> | null | undefined,
557
+ n?: number
558
+ ): T[];
559
+ }
560
+
561
+ interface LoDashImplicitWrapper<TValue> {
562
+ /**
563
+ * @see _.dropRight
564
+ */
565
+ dropRight<T>(this: LoDashImplicitWrapper<List<T> | null | undefined>, n?: number): LoDashImplicitWrapper<T[]>;
566
+ }
567
+
568
+ interface LoDashExplicitWrapper<TValue> {
569
+ /**
570
+ * @see _.dropRight
571
+ */
572
+ dropRight<T>(this: LoDashExplicitWrapper<List<T> | null | undefined>, n?: number): LoDashExplicitWrapper<T[]>;
573
+ }
574
+
575
+ // dropRightWhile
576
+
577
+ interface LoDashStatic {
578
+ /**
579
+ * Creates a slice of array excluding elements dropped from the end. Elements are dropped until predicate
580
+ * returns falsey. The predicate is invoked with three arguments: (value, index, array).
581
+ *
582
+ * @param array The array to query.
583
+ * @param predicate The function invoked per iteration.
584
+ * @return Returns the slice of array.
585
+ */
586
+ dropRightWhile<T>(
587
+ array: List<T> | null | undefined,
588
+ predicate?: ListIteratee<T>
589
+ ): T[];
590
+ }
591
+
592
+ interface LoDashImplicitWrapper<TValue> {
593
+ /**
594
+ * @see _.dropRightWhile
595
+ */
596
+ dropRightWhile<T>(
597
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
598
+ predicate?: ListIteratee<T>
599
+ ): LoDashImplicitWrapper<T[]>;
600
+ }
601
+
602
+ interface LoDashExplicitWrapper<TValue> {
603
+ /**
604
+ * @see _.dropRightWhile
605
+ */
606
+ dropRightWhile<T>(
607
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
608
+ predicate?: ListIteratee<T>
609
+ ): LoDashExplicitWrapper<T[]>;
610
+ }
611
+
612
+ // dropWhile
613
+
614
+ interface LoDashStatic {
615
+ /**
616
+ * Creates a slice of array excluding elements dropped from the beginning. Elements are dropped until predicate
617
+ * returns falsey. The predicate is invoked with three arguments: (value, index, array).
618
+ *
619
+ * @param array The array to query.
620
+ * @param predicate The function invoked per iteration.
621
+ * @return Returns the slice of array.
622
+ */
623
+ dropWhile<T>(
624
+ array: List<T> | null | undefined,
625
+ predicate?: ListIteratee<T>
626
+ ): T[];
627
+ }
628
+
629
+ interface LoDashImplicitWrapper<TValue> {
630
+ /**
631
+ * @see _.dropWhile
632
+ */
633
+ dropWhile<T>(
634
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
635
+ predicate?: ListIteratee<T>
636
+ ): LoDashImplicitWrapper<T[]>;
637
+ }
638
+
639
+ interface LoDashExplicitWrapper<TValue> {
640
+ /**
641
+ * @see _.dropWhile
642
+ */
643
+ dropWhile<T>(
644
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
645
+ predicate?: ListIteratee<T>
646
+ ): LoDashExplicitWrapper<T[]>;
647
+ }
648
+
649
+ // fill
650
+
651
+ interface LoDashStatic {
652
+ /**
653
+ * Fills elements of array with value from start up to, but not including, end.
654
+ *
655
+ * Note: This method mutates array.
656
+ *
657
+ * @param array The array to fill.
658
+ * @param value The value to fill array with.
659
+ * @param start The start position.
660
+ * @param end The end position.
661
+ * @return Returns array.
662
+ */
663
+ fill<T>(
664
+ array: any[] | null | undefined,
665
+ value: T
666
+ ): T[];
667
+
668
+ /**
669
+ * @see _.fill
670
+ */
671
+ fill<T>(
672
+ array: List<any> | null | undefined,
673
+ value: T
674
+ ): List<T>;
675
+
676
+ /**
677
+ * @see _.fill
678
+ */
679
+ fill<T, U>(
680
+ array: U[] | null | undefined,
681
+ value: T,
682
+ start?: number,
683
+ end?: number
684
+ ): Array<T | U>;
685
+
686
+ /**
687
+ * @see _.fill
688
+ */
689
+ fill<T, U>(
690
+ array: List<U> | null | undefined,
691
+ value: T,
692
+ start?: number,
693
+ end?: number
694
+ ): List<T | U>;
695
+ }
696
+
697
+ interface LoDashImplicitWrapper<TValue> {
698
+ /**
699
+ * @see _.fill
700
+ */
701
+ fill<T>(
702
+ this: LoDashImplicitWrapper<any[] | null | undefined>,
703
+ value: T
704
+ ): LoDashImplicitWrapper<T[]>;
705
+
706
+ /**
707
+ * @see _.fill
708
+ */
709
+ fill<T>(
710
+ this: LoDashImplicitWrapper<List<any> | null | undefined>,
711
+ value: T
712
+ ): LoDashImplicitWrapper<List<T>>;
713
+
714
+ /**
715
+ * @see _.fill
716
+ */
717
+ fill<T, U>(
718
+ this: LoDashImplicitWrapper<U[] | null | undefined>,
719
+ value: T,
720
+ start?: number,
721
+ end?: number
722
+ ): LoDashImplicitWrapper<Array<T | U>>;
723
+
724
+ /**
725
+ * @see _.fill
726
+ */
727
+ fill<T, U>(
728
+ this: LoDashImplicitWrapper<List<U> | null | undefined>,
729
+ value: T,
730
+ start?: number,
731
+ end?: number
732
+ ): LoDashImplicitWrapper<List<T | U>>;
733
+ }
734
+
735
+ interface LoDashExplicitWrapper<TValue> {
736
+ /**
737
+ * @see _.fill
738
+ */
739
+ fill<T>(
740
+ this: LoDashExplicitWrapper<any[] | null | undefined>,
741
+ value: T
742
+ ): LoDashExplicitWrapper<T[]>;
743
+
744
+ /**
745
+ * @see _.fill
746
+ */
747
+ fill<T>(
748
+ this: LoDashExplicitWrapper<List<any> | null | undefined>,
749
+ value: T
750
+ ): LoDashExplicitWrapper<List<T>>;
751
+
752
+ /**
753
+ * @see _.fill
754
+ */
755
+ fill<T, U>(
756
+ this: LoDashExplicitWrapper<U[] | null | undefined>,
757
+ value: T,
758
+ start?: number,
759
+ end?: number
760
+ ): LoDashExplicitWrapper<Array<T | U>>;
761
+
762
+ /**
763
+ * @see _.fill
764
+ */
765
+ fill<T, U>(
766
+ this: LoDashExplicitWrapper<List<U> | null | undefined>,
767
+ value: T,
768
+ start?: number,
769
+ end?: number
770
+ ): LoDashExplicitWrapper<List<T | U>>;
771
+ }
772
+
773
+ // findIndex
774
+
775
+ interface LoDashStatic {
776
+ /**
777
+ * This method is like _.find except that it returns the index of the first element predicate returns truthy
778
+ * for instead of the element itself.
779
+ *
780
+ * @param array The array to search.
781
+ * @param predicate The function invoked per iteration.
782
+ * @param fromIndex The index to search from.
783
+ * @return Returns the index of the found element, else -1.
784
+ */
785
+ findIndex<T>(
786
+ array: List<T> | null | undefined,
787
+ predicate?: ListIterateeCustom<T, boolean>,
788
+ fromIndex?: number
789
+ ): number;
790
+ }
791
+
792
+ interface LoDashImplicitWrapper<TValue> {
793
+ /**
794
+ * @see _.findIndex
795
+ */
796
+ findIndex<T>(
797
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
798
+ predicate?: ListIterateeCustom<T, boolean>,
799
+ fromIndex?: number
800
+ ): number;
801
+ }
802
+
803
+ interface LoDashExplicitWrapper<TValue> {
804
+ /**
805
+ * @see _.findIndex
806
+ */
807
+ findIndex<T>(
808
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
809
+ predicate?: ListIterateeCustom<T, boolean>,
810
+ fromIndex?: number
811
+ ): LoDashExplicitWrapper<number>;
812
+ }
813
+
814
+ // findLastIndex
815
+
816
+ interface LoDashStatic {
817
+ /**
818
+ * This method is like _.findIndex except that it iterates over elements of collection from right to left.
819
+ *
820
+ * @param array The array to search.
821
+ * @param predicate The function invoked per iteration.
822
+ * @param fromIndex The index to search from.
823
+ * @return Returns the index of the found element, else -1.
824
+ */
825
+ findLastIndex<T>(
826
+ array: List<T> | null | undefined,
827
+ predicate?: ListIterateeCustom<T, boolean>,
828
+ fromIndex?: number
829
+ ): number;
830
+ }
831
+
832
+ interface LoDashImplicitWrapper<TValue> {
833
+ /**
834
+ * @see _.findLastIndex
835
+ */
836
+ findLastIndex<T>(
837
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
838
+ predicate?: ListIterateeCustom<T, boolean>,
839
+ fromIndex?: number
840
+ ): number;
841
+ }
842
+
843
+ interface LoDashExplicitWrapper<TValue> {
844
+ /**
845
+ * @see _.findLastIndex
846
+ */
847
+ findLastIndex<T>(
848
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
849
+ predicate?: ListIterateeCustom<T, boolean>,
850
+ fromIndex?: number
851
+ ): LoDashExplicitWrapper<number>;
852
+ }
853
+
854
+ // first
855
+
856
+ interface LoDashStatic {
857
+ first: typeof _.head; // tslint:disable-line:no-unnecessary-qualifier
858
+ }
859
+
860
+ interface LoDashImplicitWrapper<TValue> {
861
+ /**
862
+ * @see _.head
863
+ */
864
+ first<T>(this: LoDashImplicitWrapper<List<T> | null | undefined>): T | undefined;
865
+ }
866
+
867
+ interface LoDashExplicitWrapper<TValue> {
868
+ /**
869
+ * @see _.head
870
+ */
871
+ first<T>(this: LoDashExplicitWrapper<List<T> | null | undefined>): LoDashExplicitWrapper<T | undefined>;
872
+ }
873
+
874
+ interface RecursiveArray<T> extends Array<T|RecursiveArray<T>> {}
875
+ interface ListOfRecursiveArraysOrValues<T> extends List<T|RecursiveArray<T>> {}
876
+
877
+ // flatten
878
+
879
+ interface LoDashStatic {
880
+ /**
881
+ * Flattens `array` a single level deep.
882
+ *
883
+ * @param array The array to flatten.
884
+ * @return Returns the new flattened array.
885
+ */
886
+ flatten<T>(array: List<Many<T>> | null | undefined): T[];
887
+ }
888
+
889
+ interface LoDashImplicitWrapper<TValue> {
890
+ /**
891
+ * @see _.flatten
892
+ */
893
+ flatten<T>(this: LoDashImplicitWrapper<List<Many<T>> | null | undefined>): LoDashImplicitWrapper<T[]>;
894
+ }
895
+
896
+ interface LoDashExplicitWrapper<TValue> {
897
+ /**
898
+ * @see _.flatten
899
+ */
900
+ flatten<T>(this: LoDashExplicitWrapper<List<Many<T>> | null | undefined>): LoDashExplicitWrapper<T[]>;
901
+ }
902
+
903
+ // flattenDeep
904
+
905
+ interface LoDashStatic {
906
+ /**
907
+ * Recursively flattens a nested array.
908
+ *
909
+ * @param array The array to recursively flatten.
910
+ * @return Returns the new flattened array.
911
+ */
912
+ flattenDeep<T>(array: ListOfRecursiveArraysOrValues<T> | null | undefined): T[];
913
+ }
914
+
915
+ interface LoDashImplicitWrapper<TValue> {
916
+ /**
917
+ * @see _.flattenDeep
918
+ */
919
+ flattenDeep<T>(this: LoDashImplicitWrapper<ListOfRecursiveArraysOrValues<T> | null | undefined>): LoDashImplicitWrapper<T[]>;
920
+ }
921
+
922
+ interface LoDashExplicitWrapper<TValue> {
923
+ /**
924
+ * @see _.flattenDeep
925
+ */
926
+ flattenDeep<T>(this: LoDashExplicitWrapper<ListOfRecursiveArraysOrValues<T> | null | undefined>): LoDashExplicitWrapper<T[]>;
927
+ }
928
+
929
+ // flattenDepth
930
+
931
+ interface LoDashStatic {
932
+ /**
933
+ * Recursively flatten array up to depth times.
934
+ *
935
+ * @param array The array to recursively flatten.
936
+ * @param number The maximum recursion depth.
937
+ * @return Returns the new flattened array.
938
+ */
939
+ flattenDepth<T>(array: ListOfRecursiveArraysOrValues<T> | null | undefined, depth?: number): T[];
940
+ }
941
+
942
+ interface LoDashImplicitWrapper<TValue> {
943
+ /**
944
+ * @see _.flattenDeep
945
+ */
946
+ flattenDepth<T>(this: LoDashImplicitWrapper<ListOfRecursiveArraysOrValues<T> | null | undefined>, depth?: number): LoDashImplicitWrapper<T[]>;
947
+ }
948
+
949
+ interface LoDashExplicitWrapper<TValue> {
950
+ /**
951
+ * @see _.flattenDeep
952
+ */
953
+ flattenDepth<T>(this: LoDashExplicitWrapper<ListOfRecursiveArraysOrValues<T> | null | undefined>, depth?: number): LoDashExplicitWrapper<T[]>;
954
+ }
955
+
956
+ // fromPairs
957
+
958
+ interface LoDashStatic {
959
+ /**
960
+ * The inverse of `_.toPairs`; this method returns an object composed
961
+ * from key-value `pairs`.
962
+ *
963
+ * @category Array
964
+ * @param pairs The key-value pairs.
965
+ * @returns Returns the new object.
966
+ * @example
967
+ *
968
+ * _.fromPairs([['fred', 30], ['barney', 40]]);
969
+ * // => { 'fred': 30, 'barney': 40 }
970
+ */
971
+ fromPairs<T>(
972
+ pairs: List<[PropertyName, T]> | null | undefined
973
+ ): Dictionary<T>;
974
+
975
+ /**
976
+ @see _.fromPairs
977
+ */
978
+ fromPairs(
979
+ pairs: List<any[]> | null | undefined
980
+ ): Dictionary<any>;
981
+ }
982
+
983
+ interface LoDashImplicitWrapper<TValue> {
984
+ /**
985
+ * @see _.fromPairs
986
+ */
987
+ fromPairs<T>(
988
+ this: LoDashImplicitWrapper<List<[PropertyName, T]> | null | undefined>
989
+ ): LoDashImplicitWrapper<Dictionary<T>>;
990
+
991
+ /**
992
+ @see _.fromPairs
993
+ */
994
+ fromPairs(
995
+ this: LoDashImplicitWrapper<List<any[]> | null | undefined>
996
+ ): LoDashImplicitWrapper<Dictionary<any>>;
997
+ }
998
+
999
+ interface LoDashExplicitWrapper<TValue> {
1000
+ /**
1001
+ * @see _.fromPairs
1002
+ */
1003
+ fromPairs<T>(
1004
+ this: LoDashExplicitWrapper<List<[PropertyName, T]> | null | undefined>
1005
+ ): LoDashExplicitWrapper<Dictionary<T>>;
1006
+
1007
+ /**
1008
+ @see _.fromPairs
1009
+ */
1010
+ fromPairs(
1011
+ this: LoDashExplicitWrapper<List<any[]> | null | undefined>
1012
+ ): LoDashExplicitWrapper<Dictionary<any>>;
1013
+ }
1014
+
1015
+ // head
1016
+
1017
+ interface LoDashStatic {
1018
+ /**
1019
+ * Gets the first element of array.
1020
+ *
1021
+ * @alias _.first
1022
+ *
1023
+ * @param array The array to query.
1024
+ * @return Returns the first element of array.
1025
+ */
1026
+ head<T>(array: List<T> | null | undefined): T | undefined;
1027
+ }
1028
+
1029
+ interface LoDashImplicitWrapper<TValue> {
1030
+ /**
1031
+ * @see _.head
1032
+ */
1033
+ head<T>(this: LoDashImplicitWrapper<List<T> | null | undefined>): T | undefined;
1034
+ }
1035
+
1036
+ interface LoDashExplicitWrapper<TValue> {
1037
+ /**
1038
+ * @see _.head
1039
+ */
1040
+ head<T>(this: LoDashExplicitWrapper<List<T> | null | undefined>): LoDashExplicitWrapper<T | undefined>;
1041
+ }
1042
+
1043
+ // indexOf
1044
+
1045
+ interface LoDashStatic {
1046
+ /**
1047
+ * Gets the index at which the first occurrence of `value` is found in `array`
1048
+ * using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
1049
+ * for equality comparisons. If `fromIndex` is negative, it's used as the offset
1050
+ * from the end of `array`.
1051
+ *
1052
+ * @category Array
1053
+ * @param array The array to search.
1054
+ * @param value The value to search for.
1055
+ * @param [fromIndex=0] The index to search from.
1056
+ * @returns Returns the index of the matched value, else `-1`.
1057
+ * @example
1058
+ *
1059
+ * _.indexOf([1, 2, 1, 2], 2);
1060
+ * // => 1
1061
+ *
1062
+ * // using `fromIndex`
1063
+ * _.indexOf([1, 2, 1, 2], 2, 2);
1064
+ * // => 3
1065
+ */
1066
+ indexOf<T>(
1067
+ array: List<T> | null | undefined,
1068
+ value: T,
1069
+ fromIndex?: number
1070
+ ): number;
1071
+ }
1072
+
1073
+ interface LoDashImplicitWrapper<TValue> {
1074
+ /**
1075
+ * @see _.indexOf
1076
+ */
1077
+ indexOf<T>(
1078
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
1079
+ value: T,
1080
+ fromIndex?: number
1081
+ ): number;
1082
+ }
1083
+
1084
+ interface LoDashExplicitWrapper<TValue> {
1085
+ /**
1086
+ * @see _.indexOf
1087
+ */
1088
+ indexOf<T>(
1089
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
1090
+ value: T,
1091
+ fromIndex?: number
1092
+ ): LoDashExplicitWrapper<number>;
1093
+ }
1094
+
1095
+ // initial
1096
+
1097
+ interface LoDashStatic {
1098
+ /**
1099
+ * Gets all but the last element of array.
1100
+ *
1101
+ * @param array The array to query.
1102
+ * @return Returns the slice of array.
1103
+ */
1104
+ initial<T>(array: List<T> | null | undefined): T[];
1105
+ }
1106
+
1107
+ interface LoDashImplicitWrapper<TValue> {
1108
+ /**
1109
+ * @see _.initial
1110
+ */
1111
+ initial<T>(this: LoDashImplicitWrapper<List<T> | null | undefined>): LoDashImplicitWrapper<T[]>;
1112
+ }
1113
+
1114
+ interface LoDashExplicitWrapper<TValue> {
1115
+ /**
1116
+ * @see _.initial
1117
+ */
1118
+ initial<T>(this: LoDashExplicitWrapper<List<T> | null | undefined>): LoDashExplicitWrapper<T[]>;
1119
+ }
1120
+
1121
+ // intersection
1122
+
1123
+ interface LoDashStatic {
1124
+ /**
1125
+ * Creates an array of unique values that are included in all of the provided arrays using SameValueZero for
1126
+ * equality comparisons.
1127
+ *
1128
+ * @param arrays The arrays to inspect.
1129
+ * @return Returns the new array of shared values.
1130
+ */
1131
+ intersection<T>(...arrays: Array<List<T>>): T[];
1132
+ }
1133
+
1134
+ interface LoDashImplicitWrapper<TValue> {
1135
+ /**
1136
+ * @see _.intersection
1137
+ */
1138
+ intersection<T>(
1139
+ this: LoDashImplicitWrapper<List<T>>,
1140
+ ...arrays: Array<List<T>>
1141
+ ): LoDashImplicitWrapper<T[]>;
1142
+ }
1143
+
1144
+ interface LoDashExplicitWrapper<TValue> {
1145
+ /**
1146
+ * @see _.intersection
1147
+ */
1148
+ intersection<T>(
1149
+ this: LoDashExplicitWrapper<List<T>>,
1150
+ ...arrays: Array<List<T>>
1151
+ ): LoDashExplicitWrapper<T[]>;
1152
+ }
1153
+
1154
+ // intersectionBy
1155
+
1156
+ interface LoDashStatic {
1157
+ /**
1158
+ * This method is like `_.intersection` except that it accepts `iteratee`
1159
+ * which is invoked for each element of each `arrays` to generate the criterion
1160
+ * by which uniqueness is computed. The iteratee is invoked with one argument: (value).
1161
+ *
1162
+ * @category Array
1163
+ * @param [arrays] The arrays to inspect.
1164
+ * @param [iteratee=_.identity] The iteratee invoked per element.
1165
+ * @returns Returns the new array of shared values.
1166
+ * @example
1167
+ *
1168
+ * _.intersectionBy([2.1, 1.2], [4.3, 2.4], Math.floor);
1169
+ * // => [2.1]
1170
+ *
1171
+ * // using the `_.property` iteratee shorthand
1172
+ * _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');
1173
+ * // => [{ 'x': 1 }]
1174
+ */
1175
+ intersectionBy<T1, T2>(
1176
+ array: List<T1> | null,
1177
+ values: List<T2>,
1178
+ iteratee: ValueIteratee<T1 | T2>
1179
+ ): T1[];
1180
+
1181
+ /**
1182
+ * @see _.intersectionBy
1183
+ */
1184
+ intersectionBy<T1, T2, T3>(
1185
+ array: List<T1> | null,
1186
+ values1: List<T2>,
1187
+ values2: List<T3>,
1188
+ iteratee: ValueIteratee<T1 | T2 | T3>
1189
+ ): T1[];
1190
+
1191
+ /**
1192
+ * @see _.intersectionBy
1193
+ */
1194
+ intersectionBy<T1, T2, T3, T4>(
1195
+ array: List<T1> | null | undefined,
1196
+ values1: List<T2>,
1197
+ values2: List<T3>,
1198
+ ...values: Array<List<T4> | ValueIteratee<T1 | T2 | T3 | T4>>
1199
+ ): T1[];
1200
+
1201
+ /**
1202
+ * @see _.intersectionBy
1203
+ */
1204
+ intersectionBy<T>(
1205
+ array?: List<T> | null,
1206
+ ...values: Array<List<T>>
1207
+ ): T[];
1208
+ }
1209
+
1210
+ interface LoDashImplicitWrapper<TValue> {
1211
+ /**
1212
+ * @see _.intersectionBy
1213
+ */
1214
+ intersectionBy<T1, T2>(
1215
+ this: LoDashImplicitWrapper<List<T1> | null | undefined>,
1216
+ values: List<T2>,
1217
+ iteratee: ValueIteratee<T1 | T2>
1218
+ ): LoDashImplicitWrapper<T1[]>;
1219
+
1220
+ /**
1221
+ * @see _.intersectionBy
1222
+ */
1223
+ intersectionBy<T1, T2, T3>(
1224
+ this: LoDashImplicitWrapper<List<T1> | null | undefined>,
1225
+ values1: List<T2>,
1226
+ values2: List<T3>,
1227
+ iteratee: ValueIteratee<T1 | T2 | T3>
1228
+ ): LoDashImplicitWrapper<T1[]>;
1229
+
1230
+ /**
1231
+ * @see _.intersectionBy
1232
+ */
1233
+ intersectionBy<T1, T2, T3, T4>(
1234
+ this: LoDashImplicitWrapper<List<T1> | null | undefined>,
1235
+ values1: List<T2>,
1236
+ values2: List<T3>,
1237
+ ...values: Array<List<T4> | ValueIteratee<T1 | T2 | T3 | T4>>
1238
+ ): LoDashImplicitWrapper<T1[]>;
1239
+
1240
+ /**
1241
+ * @see _.intersectionBy
1242
+ */
1243
+ intersectionBy<T>(
1244
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
1245
+ ...values: Array<List<T>>
1246
+ ): LoDashImplicitWrapper<T[]>;
1247
+ }
1248
+
1249
+ interface LoDashExplicitWrapper<TValue> {
1250
+ /**
1251
+ * @see _.intersectionBy
1252
+ */
1253
+ intersectionBy<T1, T2>(
1254
+ this: LoDashExplicitWrapper<List<T1> | null | undefined>,
1255
+ values: List<T2>,
1256
+ iteratee: ValueIteratee<T1 | T2>
1257
+ ): LoDashExplicitWrapper<T1[]>;
1258
+
1259
+ /**
1260
+ * @see _.intersectionBy
1261
+ */
1262
+ intersectionBy<T1, T2, T3>(
1263
+ this: LoDashExplicitWrapper<List<T1> | null | undefined>,
1264
+ values1: List<T2>,
1265
+ values2: List<T3>,
1266
+ iteratee: ValueIteratee<T1 | T2 | T3>
1267
+ ): LoDashExplicitWrapper<T1[]>;
1268
+
1269
+ /**
1270
+ * @see _.intersectionBy
1271
+ */
1272
+ intersectionBy<T1, T2, T3, T4>(
1273
+ this: LoDashExplicitWrapper<List<T1> | null | undefined>,
1274
+ values1: List<T2>,
1275
+ values2: List<T3>,
1276
+ ...values: Array<List<T4> | ValueIteratee<T1 | T2 | T3 | T4>>
1277
+ ): LoDashExplicitWrapper<T1[]>;
1278
+
1279
+ /**
1280
+ * @see _.intersectionBy
1281
+ */
1282
+ intersectionBy<T>(
1283
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
1284
+ ...values: Array<List<T>>
1285
+ ): LoDashExplicitWrapper<T[]>;
1286
+ }
1287
+
1288
+ // intersectionWith
1289
+
1290
+ interface LoDashStatic {
1291
+ /**
1292
+ * Creates an array of unique `array` values not included in the other
1293
+ * provided arrays using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
1294
+ * for equality comparisons.
1295
+ *
1296
+ * @category Array
1297
+ * @param [values] The arrays to inspect.
1298
+ * @param [comparator] The comparator invoked per element.
1299
+ * @returns Returns the new array of filtered values.
1300
+ * @example
1301
+ *
1302
+ * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];
1303
+ * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];
1304
+
1305
+ * _.intersectionWith(objects, others, _.isEqual);
1306
+ * // => [{ 'x': 1, 'y': 2 }]
1307
+ */
1308
+ intersectionWith<T1, T2>(
1309
+ array: List<T1> | null | undefined,
1310
+ values: List<T2>,
1311
+ comparator: Comparator2<T1, T2>
1312
+ ): T1[];
1313
+
1314
+ /**
1315
+ * @see _.intersectionWith
1316
+ */
1317
+ intersectionWith<T1, T2, T3>(
1318
+ array: List<T1> | null | undefined,
1319
+ values1: List<T2>,
1320
+ values2: List<T3>,
1321
+ comparator: Comparator2<T1, T2 | T3>
1322
+ ): T1[];
1323
+
1324
+ /**
1325
+ * @see _.intersectionWith
1326
+ */
1327
+ intersectionWith<T1, T2, T3, T4>(
1328
+ array: List<T1> | null | undefined,
1329
+ values1: List<T2>,
1330
+ values2: List<T3>,
1331
+ ...values: Array<List<T4> | Comparator2<T1, T2 | T3 | T4>>
1332
+ ): T1[];
1333
+
1334
+ /**
1335
+ * @see _.intersectionWith
1336
+ */
1337
+ intersectionWith<T>(
1338
+ array?: List<T> | null,
1339
+ ...values: Array<List<T>>
1340
+ ): T[];
1341
+ }
1342
+
1343
+ interface LoDashImplicitWrapper<TValue> {
1344
+ /**
1345
+ * @see _.intersectionWith
1346
+ */
1347
+ intersectionWith<T1, T2>(
1348
+ this: LoDashImplicitWrapper<List<T1> | null | undefined>,
1349
+ values: List<T2>,
1350
+ comparator: Comparator2<T1, T2>
1351
+ ): LoDashImplicitWrapper<T1[]>;
1352
+
1353
+ /**
1354
+ * @see _.intersectionWith
1355
+ */
1356
+ intersectionWith<T1, T2, T3>(
1357
+ this: LoDashImplicitWrapper<List<T1> | null | undefined>,
1358
+ values1: List<T2>,
1359
+ values2: List<T3>,
1360
+ comparator: Comparator2<T1, T2 | T3>
1361
+ ): LoDashImplicitWrapper<T1[]>;
1362
+
1363
+ /**
1364
+ * @see _.intersectionWith
1365
+ */
1366
+ intersectionWith<T1, T2, T3, T4>(
1367
+ this: LoDashImplicitWrapper<List<T1> | null | undefined>,
1368
+ values1: List<T2>,
1369
+ values2: List<T3>,
1370
+ ...values: Array<List<T4> | Comparator2<T1, T2 | T3 | T4>>
1371
+ ): LoDashImplicitWrapper<T1[]>;
1372
+
1373
+ /**
1374
+ * @see _.intersectionWith
1375
+ */
1376
+ intersectionWith<T>(
1377
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
1378
+ ...values: Array<List<T>>
1379
+ ): LoDashImplicitWrapper<T[]>;
1380
+ }
1381
+
1382
+ interface LoDashExplicitWrapper<TValue> {
1383
+ /**
1384
+ * @see _.intersectionWith
1385
+ */
1386
+ intersectionWith<T1, T2>(
1387
+ this: LoDashExplicitWrapper<List<T1> | null | undefined>,
1388
+ values: List<T2>,
1389
+ comparator: Comparator2<T1, T2>
1390
+ ): LoDashExplicitWrapper<T1[]>;
1391
+
1392
+ /**
1393
+ * @see _.intersectionWith
1394
+ */
1395
+ intersectionWith<T1, T2, T3>(
1396
+ this: LoDashExplicitWrapper<List<T1> | null | undefined>,
1397
+ values1: List<T2>,
1398
+ values2: List<T3>,
1399
+ comparator: Comparator2<T1, T2 | T3>
1400
+ ): LoDashExplicitWrapper<T1[]>;
1401
+
1402
+ /**
1403
+ * @see _.intersectionWith
1404
+ */
1405
+ intersectionWith<T1, T2, T3, T4>(
1406
+ this: LoDashExplicitWrapper<List<T1> | null | undefined>,
1407
+ values1: List<T2>,
1408
+ values2: List<T3>,
1409
+ ...values: Array<List<T4> | Comparator2<T1, T2 | T3 | T4>>
1410
+ ): LoDashExplicitWrapper<T1[]>;
1411
+
1412
+ /**
1413
+ * @see _.intersectionWith
1414
+ */
1415
+ intersectionWith<T>(
1416
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
1417
+ ...values: Array<List<T>>
1418
+ ): LoDashExplicitWrapper<T[]>;
1419
+ }
1420
+
1421
+ // join
1422
+
1423
+ interface LoDashStatic {
1424
+ /**
1425
+ * Converts all elements in `array` into a string separated by `separator`.
1426
+ *
1427
+ * @param array The array to convert.
1428
+ * @param separator The element separator.
1429
+ * @returns Returns the joined string.
1430
+ */
1431
+ join(
1432
+ array: List<any> | null | undefined,
1433
+ separator?: string
1434
+ ): string;
1435
+ }
1436
+
1437
+ interface LoDashImplicitWrapper<TValue> {
1438
+ /**
1439
+ * @see _.join
1440
+ */
1441
+ join(separator?: string): string;
1442
+ }
1443
+
1444
+ interface LoDashExplicitWrapper<TValue> {
1445
+ /**
1446
+ * @see _.join
1447
+ */
1448
+ join(separator?: string): LoDashExplicitWrapper<string>;
1449
+ }
1450
+
1451
+ // last
1452
+
1453
+ interface LoDashStatic {
1454
+ /**
1455
+ * Gets the last element of array.
1456
+ *
1457
+ * @param array The array to query.
1458
+ * @return Returns the last element of array.
1459
+ */
1460
+ last<T>(array: List<T> | null | undefined): T | undefined;
1461
+ }
1462
+
1463
+ interface LoDashImplicitWrapper<TValue> {
1464
+ /**
1465
+ * @see _.last
1466
+ */
1467
+ last<T>(this: LoDashImplicitWrapper<List<T> | null | undefined>): T | undefined;
1468
+ }
1469
+
1470
+ interface LoDashExplicitWrapper<TValue> {
1471
+ /**
1472
+ * @see _.last
1473
+ */
1474
+ last<T>(this: LoDashExplicitWrapper<List<T> | null | undefined>): LoDashExplicitWrapper<T | undefined>;
1475
+ }
1476
+
1477
+ // lastIndexOf
1478
+
1479
+ interface LoDashStatic {
1480
+ /**
1481
+ * This method is like _.indexOf except that it iterates over elements of array from right to left.
1482
+ *
1483
+ * @param array The array to search.
1484
+ * @param value The value to search for.
1485
+ * @param fromIndex The index to search from or true to perform a binary search on a sorted array.
1486
+ * @return Returns the index of the matched value, else -1.
1487
+ */
1488
+ lastIndexOf<T>(
1489
+ array: List<T> | null | undefined,
1490
+ value: T,
1491
+ fromIndex?: true|number
1492
+ ): number;
1493
+ }
1494
+
1495
+ interface LoDashImplicitWrapper<TValue> {
1496
+ /**
1497
+ * @see _.indexOf
1498
+ */
1499
+ lastIndexOf<T>(
1500
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
1501
+ value: T,
1502
+ fromIndex?: true|number
1503
+ ): number;
1504
+ }
1505
+
1506
+ interface LoDashExplicitWrapper<TValue> {
1507
+ /**
1508
+ * @see _.indexOf
1509
+ */
1510
+ lastIndexOf<T>(
1511
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
1512
+ value: T,
1513
+ fromIndex?: true|number
1514
+ ): LoDashExplicitWrapper<number>;
1515
+ }
1516
+
1517
+ // nth
1518
+
1519
+ interface LoDashStatic {
1520
+ /**
1521
+ * Gets the element at index `n` of `array`. If `n` is negative, the nth element from the end is returned.
1522
+ *
1523
+ * @param array array The array to query.
1524
+ * @param value The index of the element to return.
1525
+ * @return Returns the nth element of `array`.
1526
+ */
1527
+ nth<T>(
1528
+ array: List<T> | null | undefined,
1529
+ n?: number
1530
+ ): T | undefined;
1531
+ }
1532
+
1533
+ interface LoDashImplicitWrapper<TValue> {
1534
+ /**
1535
+ * @see _.nth
1536
+ */
1537
+ nth<T>(
1538
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
1539
+ n?: number
1540
+ ): T | undefined;
1541
+ }
1542
+
1543
+ interface LoDashExplicitWrapper<TValue> {
1544
+ /**
1545
+ * @see _.nth
1546
+ */
1547
+ nth<T>(
1548
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
1549
+ n?: number
1550
+ ): LoDashExplicitWrapper<T | undefined>;
1551
+ }
1552
+
1553
+ // pull
1554
+
1555
+ interface LoDashStatic {
1556
+ /**
1557
+ * Removes all provided values from array using SameValueZero for equality comparisons.
1558
+ *
1559
+ * Note: Unlike _.without, this method mutates array.
1560
+ *
1561
+ * @param array The array to modify.
1562
+ * @param values The values to remove.
1563
+ * @return Returns array.
1564
+ */
1565
+ pull<T>(
1566
+ array: T[],
1567
+ ...values: T[]
1568
+ ): T[];
1569
+
1570
+ /**
1571
+ * @see _.pull
1572
+ */
1573
+ pull<T>(
1574
+ array: List<T>,
1575
+ ...values: T[]
1576
+ ): List<T>;
1577
+ }
1578
+
1579
+ interface LoDashImplicitWrapper<TValue> {
1580
+ /**
1581
+ * @see _.pull
1582
+ */
1583
+ pull<T>(
1584
+ this: LoDashImplicitWrapper<List<T>>,
1585
+ ...values: T[]
1586
+ ): this;
1587
+ }
1588
+
1589
+ interface LoDashExplicitWrapper<TValue> {
1590
+ /**
1591
+ * @see _.pull
1592
+ */
1593
+ pull<T>(
1594
+ this: LoDashExplicitWrapper<List<T>>,
1595
+ ...values: T[]
1596
+ ): this;
1597
+ }
1598
+
1599
+ // pullAll
1600
+
1601
+ interface LoDashStatic {
1602
+ /**
1603
+ * This method is like `_.pull` except that it accepts an array of values to remove.
1604
+ *
1605
+ * **Note:** Unlike `_.difference`, this method mutates `array`.
1606
+ *
1607
+ * @category Array
1608
+ * @param array The array to modify.
1609
+ * @param values The values to remove.
1610
+ * @returns Returns `array`.
1611
+ * @example
1612
+ *
1613
+ * var array = [1, 2, 3, 1, 2, 3];
1614
+ *
1615
+ * _.pull(array, [2, 3]);
1616
+ * console.log(array);
1617
+ * // => [1, 1]
1618
+ */
1619
+ pullAll<T>(
1620
+ array: T[],
1621
+ values?: List<T>,
1622
+ ): T[];
1623
+
1624
+ /**
1625
+ * @see _.pullAll
1626
+ */
1627
+ pullAll<T>(
1628
+ array: List<T>,
1629
+ values?: List<T>,
1630
+ ): List<T>;
1631
+ }
1632
+
1633
+ interface LoDashImplicitWrapper<TValue> {
1634
+ /**
1635
+ * @see _.pullAll
1636
+ */
1637
+ pullAll<T>(
1638
+ this: LoDashImplicitWrapper<List<T>>,
1639
+ values?: List<T>
1640
+ ): this;
1641
+ }
1642
+
1643
+ interface LoDashExplicitWrapper<TValue> {
1644
+ /**
1645
+ * @see _.pullAll
1646
+ */
1647
+ pullAll<T>(
1648
+ this: LoDashExplicitWrapper<List<T>>,
1649
+ values?: List<T>
1650
+ ): this;
1651
+ }
1652
+
1653
+ // pullAllBy
1654
+
1655
+ interface LoDashStatic {
1656
+ /**
1657
+ * This method is like `_.pullAll` except that it accepts `iteratee` which is
1658
+ * invoked for each element of `array` and `values` to to generate the criterion
1659
+ * by which uniqueness is computed. The iteratee is invoked with one argument: (value).
1660
+ *
1661
+ * **Note:** Unlike `_.differenceBy`, this method mutates `array`.
1662
+ *
1663
+ * @category Array
1664
+ * @param array The array to modify.
1665
+ * @param values The values to remove.
1666
+ * @param [iteratee=_.identity] The iteratee invoked per element.
1667
+ * @returns Returns `array`.
1668
+ * @example
1669
+ *
1670
+ * var array = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }];
1671
+ *
1672
+ * _.pullAllBy(array, [{ 'x': 1 }, { 'x': 3 }], 'x');
1673
+ * console.log(array);
1674
+ * // => [{ 'x': 2 }]
1675
+ */
1676
+ pullAllBy<T>(
1677
+ array: T[],
1678
+ values?: List<T>,
1679
+ iteratee?: ValueIteratee<T>
1680
+ ): T[];
1681
+
1682
+ /**
1683
+ * @see _.pullAllBy
1684
+ */
1685
+ pullAllBy<T>(
1686
+ array: List<T>,
1687
+ values?: List<T>,
1688
+ iteratee?: ValueIteratee<T>
1689
+ ): List<T>;
1690
+
1691
+ /**
1692
+ * @see _.pullAllBy
1693
+ */
1694
+ pullAllBy<T1, T2>(
1695
+ array: T1[],
1696
+ values: List<T2>,
1697
+ iteratee: ValueIteratee<T1 | T2>
1698
+ ): T1[];
1699
+
1700
+ /**
1701
+ * @see _.pullAllBy
1702
+ */
1703
+ pullAllBy<T1, T2>(
1704
+ array: List<T1>,
1705
+ values: List<T2>,
1706
+ iteratee: ValueIteratee<T1 | T2>
1707
+ ): List<T1>;
1708
+ }
1709
+
1710
+ interface LoDashWrapper<TValue> {
1711
+ /**
1712
+ * @see _.pullAllBy
1713
+ */
1714
+ pullAllBy<T>(
1715
+ this: LoDashWrapper<List<T>>,
1716
+ values?: List<T>,
1717
+ iteratee?: ValueIteratee<T>
1718
+ ): this;
1719
+
1720
+ /**
1721
+ * @see _.pullAllBy
1722
+ */
1723
+ pullAllBy<T1, T2>(
1724
+ this: LoDashWrapper<List<T1>>,
1725
+ values: List<T2>,
1726
+ iteratee: ValueIteratee<T1 | T2>
1727
+ ): this;
1728
+ }
1729
+
1730
+ // pullAllWith
1731
+
1732
+ interface LoDashStatic {
1733
+ /**
1734
+ * This method is like `_.pullAll` except that it accepts `comparator` which is
1735
+ * invoked to compare elements of array to values. The comparator is invoked with
1736
+ * two arguments: (arrVal, othVal).
1737
+ *
1738
+ * **Note:** Unlike `_.differenceWith`, this method mutates `array`.
1739
+ *
1740
+ * @category Array
1741
+ * @param array The array to modify.
1742
+ * @param values The values to remove.
1743
+ * @param [iteratee=_.identity] The iteratee invoked per element.
1744
+ * @returns Returns `array`.
1745
+ * @example
1746
+ *
1747
+ * var array = [{ 'x': 1, 'y': 2 }, { 'x': 3, 'y': 4 }, { 'x': 5, 'y': 6 }];
1748
+ *
1749
+ * _.pullAllWith(array, [{ 'x': 3, 'y': 4 }], _.isEqual);
1750
+ * console.log(array);
1751
+ * // => [{ 'x': 1, 'y': 2 }, { 'x': 5, 'y': 6 }]
1752
+ */
1753
+ pullAllWith<T>(
1754
+ array: T[],
1755
+ values?: List<T>,
1756
+ comparator?: Comparator<T>
1757
+ ): T[];
1758
+
1759
+ /**
1760
+ * @see _.pullAllWith
1761
+ */
1762
+ pullAllWith<T>(
1763
+ array: List<T>,
1764
+ values?: List<T>,
1765
+ comparator?: Comparator<T>
1766
+ ): List<T>;
1767
+
1768
+ /**
1769
+ * @see _.pullAllWith
1770
+ */
1771
+ pullAllWith<T1, T2>(
1772
+ array: T1[],
1773
+ values: List<T2>,
1774
+ comparator: Comparator2<T1, T2>
1775
+ ): T1[];
1776
+
1777
+ /**
1778
+ * @see _.pullAllWith
1779
+ */
1780
+ pullAllWith<T1, T2>(
1781
+ array: List<T1>,
1782
+ values: List<T2>,
1783
+ comparator: Comparator2<T1, T2>
1784
+ ): List<T1>;
1785
+ }
1786
+
1787
+ interface LoDashWrapper<TValue> {
1788
+ /**
1789
+ * @see _.pullAllWith
1790
+ */
1791
+ pullAllWith<T>(
1792
+ this: LoDashWrapper<List<T>>,
1793
+ values?: List<T>,
1794
+ comparator?: Comparator<T>
1795
+ ): this;
1796
+
1797
+ /**
1798
+ * @see _.pullAllWith
1799
+ */
1800
+ pullAllWith<T1, T2>(
1801
+ this: LoDashWrapper<List<T1>>,
1802
+ values: List<T2>,
1803
+ comparator: Comparator2<T1, T2>
1804
+ ): this;
1805
+ }
1806
+
1807
+ // pullAt
1808
+
1809
+ interface LoDashStatic {
1810
+ /**
1811
+ * Removes elements from array corresponding to the given indexes and returns an array of the removed elements.
1812
+ * Indexes may be specified as an array of indexes or as individual arguments.
1813
+ *
1814
+ * Note: Unlike _.at, this method mutates array.
1815
+ *
1816
+ * @param array The array to modify.
1817
+ * @param indexes The indexes of elements to remove, specified as individual indexes or arrays of indexes.
1818
+ * @return Returns the new array of removed elements.
1819
+ */
1820
+ pullAt<T>(
1821
+ array: T[],
1822
+ ...indexes: Array<Many<number>>
1823
+ ): T[];
1824
+
1825
+ /**
1826
+ * @see _.pullAt
1827
+ */
1828
+ pullAt<T>(
1829
+ array: List<T>,
1830
+ ...indexes: Array<Many<number>>
1831
+ ): List<T>;
1832
+ }
1833
+
1834
+ interface LoDashWrapper<TValue> {
1835
+ /**
1836
+ * @see _.pullAt
1837
+ */
1838
+ pullAt(...indexes: Array<Many<number>>): this;
1839
+ }
1840
+
1841
+ // remove
1842
+
1843
+ interface LoDashStatic {
1844
+ /**
1845
+ * Removes all elements from array that predicate returns truthy for and returns an array of the removed
1846
+ * elements. The predicate is invoked with three arguments: (value, index, array).
1847
+ *
1848
+ * Note: Unlike _.filter, this method mutates array.
1849
+ *
1850
+ * @param array The array to modify.
1851
+ * @param predicate The function invoked per iteration.
1852
+ * @return Returns the new array of removed elements.
1853
+ */
1854
+ remove<T>(
1855
+ array: List<T>,
1856
+ predicate?: ListIteratee<T>
1857
+ ): T[];
1858
+ }
1859
+
1860
+ interface LoDashImplicitWrapper<TValue> {
1861
+ /**
1862
+ * @see _.remove
1863
+ */
1864
+ remove<T>(
1865
+ this: LoDashImplicitWrapper<List<T>>,
1866
+ predicate?: ListIteratee<T>
1867
+ ): LoDashImplicitWrapper<T[]>;
1868
+ }
1869
+
1870
+ interface LoDashExplicitWrapper<TValue> {
1871
+ /**
1872
+ * @see _.remove
1873
+ */
1874
+ remove<T>(
1875
+ this: LoDashExplicitWrapper<List<T>>,
1876
+ predicate?: ListIteratee<T>
1877
+ ): LoDashExplicitWrapper<T[]>;
1878
+ }
1879
+
1880
+ // reverse
1881
+
1882
+ interface LoDashStatic {
1883
+ /**
1884
+ * Reverses `array` so that the first element becomes the last, the second
1885
+ * element becomes the second to last, and so on.
1886
+ *
1887
+ * **Note:** This method mutates `array` and is based on
1888
+ * [`Array#reverse`](https://mdn.io/Array/reverse).
1889
+ *
1890
+ * @category Array
1891
+ * @returns Returns `array`.
1892
+ * @example
1893
+ *
1894
+ * var array = [1, 2, 3];
1895
+ *
1896
+ * _.reverse(array);
1897
+ * // => [3, 2, 1]
1898
+ *
1899
+ * console.log(array);
1900
+ * // => [3, 2, 1]
1901
+ */
1902
+ reverse<TList extends List<any>>(
1903
+ array: TList,
1904
+ ): TList;
1905
+ }
1906
+
1907
+ // slice
1908
+
1909
+ interface LoDashStatic {
1910
+ /**
1911
+ * Creates a slice of array from start up to, but not including, end.
1912
+ *
1913
+ * @param array The array to slice.
1914
+ * @param start The start position.
1915
+ * @param end The end position.
1916
+ * @return Returns the slice of array.
1917
+ */
1918
+ slice<T>(
1919
+ array: List<T> | null | undefined,
1920
+ start?: number,
1921
+ end?: number
1922
+ ): T[];
1923
+ }
1924
+
1925
+ interface LoDashImplicitWrapper<TValue> {
1926
+ /**
1927
+ * @see _.slice
1928
+ */
1929
+ slice<T>(
1930
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
1931
+ start?: number,
1932
+ end?: number
1933
+ ): LoDashImplicitWrapper<T[]>;
1934
+ }
1935
+
1936
+ interface LoDashExplicitWrapper<TValue> {
1937
+ /**
1938
+ * @see _.slice
1939
+ */
1940
+ slice<T>(
1941
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
1942
+ start?: number,
1943
+ end?: number
1944
+ ): LoDashExplicitWrapper<T[]>;
1945
+ }
1946
+
1947
+ // sortedIndex
1948
+
1949
+ interface LoDashStatic {
1950
+ /**
1951
+ * Uses a binary search to determine the lowest index at which `value` should
1952
+ * be inserted into `array` in order to maintain its sort order.
1953
+ *
1954
+ * @category Array
1955
+ * @param array The sorted array to inspect.
1956
+ * @param value The value to evaluate.
1957
+ * @returns Returns the index at which `value` should be inserted into `array`.
1958
+ * @example
1959
+ *
1960
+ * _.sortedIndex([30, 50], 40);
1961
+ * // => 1
1962
+ *
1963
+ * _.sortedIndex([4, 5], 4);
1964
+ * // => 0
1965
+ */
1966
+ sortedIndex<T>(
1967
+ array: List<T> | null | undefined,
1968
+ value: T
1969
+ ): number;
1970
+ }
1971
+
1972
+ interface LoDashImplicitWrapper<TValue> {
1973
+ /**
1974
+ * @see _.sortedIndex
1975
+ */
1976
+ sortedIndex<T>(
1977
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
1978
+ value: T
1979
+ ): number;
1980
+ }
1981
+
1982
+ interface LoDashExplicitWrapper<TValue> {
1983
+ /**
1984
+ * @see _.sortedIndex
1985
+ */
1986
+ sortedIndex<T>(
1987
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
1988
+ value: T
1989
+ ): LoDashExplicitWrapper<number>;
1990
+ }
1991
+
1992
+ // sortedIndexBy
1993
+
1994
+ interface LoDashStatic {
1995
+ /**
1996
+ * Uses a binary search to determine the lowest index at which `value` should
1997
+ * be inserted into `array` in order to maintain its sort order.
1998
+ *
1999
+ * @category Array
2000
+ * @param array The sorted array to inspect.
2001
+ * @param value The value to evaluate.
2002
+ * @returns Returns the index at which `value` should be inserted into `array`.
2003
+ * @example
2004
+ *
2005
+ * _.sortedIndex([30, 50], 40);
2006
+ * // => 1
2007
+ *
2008
+ * _.sortedIndex([4, 5], 4);
2009
+ * // => 0
2010
+ */
2011
+ sortedIndex<T>(
2012
+ array: List<T> | null | undefined,
2013
+ value: T
2014
+ ): number;
2015
+ }
2016
+
2017
+ interface LoDashImplicitWrapper<TValue> {
2018
+ /**
2019
+ * @see _.sortedIndex
2020
+ */
2021
+ sortedIndex<T>(
2022
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
2023
+ value: T
2024
+ ): number;
2025
+ }
2026
+
2027
+ interface LoDashExplicitWrapper<TValue> {
2028
+ /**
2029
+ * @see _.sortedIndex
2030
+ */
2031
+ sortedIndex<T>(
2032
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
2033
+ value: T
2034
+ ): LoDashExplicitWrapper<number>;
2035
+ }
2036
+
2037
+ // _.sortedIndexBy
2038
+ interface LoDashStatic {
2039
+ /**
2040
+ * This method is like `_.sortedIndex` except that it accepts `iteratee`
2041
+ * which is invoked for `value` and each element of `array` to compute their
2042
+ * sort ranking. The iteratee is invoked with one argument: (value).
2043
+ *
2044
+ * @category Array
2045
+ * @param array The sorted array to inspect.
2046
+ * @param value The value to evaluate.
2047
+ * @param [iteratee=_.identity] The iteratee invoked per element.
2048
+ * @returns Returns the index at which `value` should be inserted into `array`.
2049
+ * @example
2050
+ *
2051
+ * var dict = { 'thirty': 30, 'forty': 40, 'fifty': 50 };
2052
+ *
2053
+ * _.sortedIndexBy(['thirty', 'fifty'], 'forty', _.propertyOf(dict));
2054
+ * // => 1
2055
+ *
2056
+ * // using the `_.property` iteratee shorthand
2057
+ * _.sortedIndexBy([{ 'x': 4 }, { 'x': 5 }], { 'x': 4 }, 'x');
2058
+ * // => 0
2059
+ */
2060
+ sortedIndexBy<T>(
2061
+ array: List<T> | null | undefined,
2062
+ value: T,
2063
+ iteratee?: ValueIteratee<T>
2064
+ ): number;
2065
+ }
2066
+
2067
+ interface LoDashImplicitWrapper<TValue> {
2068
+ /**
2069
+ * @see _.sortedIndexBy
2070
+ */
2071
+ sortedIndexBy<T>(
2072
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
2073
+ value: T,
2074
+ iteratee?: ValueIteratee<T>
2075
+ ): number;
2076
+ }
2077
+
2078
+ interface LoDashExplicitWrapper<TValue> {
2079
+ /**
2080
+ * @see _.sortedIndexBy
2081
+ */
2082
+ sortedIndexBy<T>(
2083
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
2084
+ value: T,
2085
+ iteratee?: ValueIteratee<T>
2086
+ ): LoDashExplicitWrapper<number>;
2087
+ }
2088
+
2089
+ // sortedIndexOf
2090
+
2091
+ interface LoDashStatic {
2092
+ /**
2093
+ * This method is like `_.indexOf` except that it performs a binary
2094
+ * search on a sorted `array`.
2095
+ *
2096
+ * @category Array
2097
+ * @param array The array to search.
2098
+ * @param value The value to search for.
2099
+ * @returns Returns the index of the matched value, else `-1`.
2100
+ * @example
2101
+ *
2102
+ * _.sortedIndexOf([1, 1, 2, 2], 2);
2103
+ * // => 2
2104
+ */
2105
+ sortedIndexOf<T>(
2106
+ array: List<T> | null | undefined,
2107
+ value: T
2108
+ ): number;
2109
+ }
2110
+
2111
+ interface LoDashImplicitWrapper<TValue> {
2112
+ /**
2113
+ * @see _.sortedIndexOf
2114
+ */
2115
+ sortedIndexOf<T>(
2116
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
2117
+ value: T
2118
+ ): number;
2119
+ }
2120
+
2121
+ interface LoDashExplicitWrapper<TValue> {
2122
+ /**
2123
+ * @see _.sortedIndexOf
2124
+ */
2125
+ sortedIndexOf<T>(
2126
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
2127
+ value: T
2128
+ ): LoDashExplicitWrapper<number>;
2129
+ }
2130
+
2131
+ // sortedLastIndex
2132
+
2133
+ interface LoDashStatic {
2134
+ /**
2135
+ * This method is like `_.sortedIndex` except that it returns the highest
2136
+ * index at which `value` should be inserted into `array` in order to
2137
+ * maintain its sort order.
2138
+ *
2139
+ * @category Array
2140
+ * @param array The sorted array to inspect.
2141
+ * @param value The value to evaluate.
2142
+ * @returns Returns the index at which `value` should be inserted into `array`.
2143
+ * @example
2144
+ *
2145
+ * _.sortedLastIndex([4, 5], 4);
2146
+ * // => 1
2147
+ */
2148
+ sortedLastIndex<T>(
2149
+ array: List<T> | null | undefined,
2150
+ value: T
2151
+ ): number;
2152
+ }
2153
+
2154
+ interface LoDashImplicitWrapper<TValue> {
2155
+ /**
2156
+ * @see _.sortedLastIndex
2157
+ */
2158
+ sortedLastIndex<T>(
2159
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
2160
+ value: T
2161
+ ): number;
2162
+ }
2163
+
2164
+ interface LoDashExplicitWrapper<TValue> {
2165
+ /**
2166
+ * @see _.sortedLastIndex
2167
+ */
2168
+ sortedLastIndex<T>(
2169
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
2170
+ value: T
2171
+ ): LoDashExplicitWrapper<number>;
2172
+ }
2173
+
2174
+ // sortedLastIndexBy
2175
+
2176
+ interface LoDashStatic {
2177
+ /**
2178
+ * This method is like `_.sortedLastIndex` except that it accepts `iteratee`
2179
+ * which is invoked for `value` and each element of `array` to compute their
2180
+ * sort ranking. The iteratee is invoked with one argument: (value).
2181
+ *
2182
+ * @category Array
2183
+ * @param array The sorted array to inspect.
2184
+ * @param value The value to evaluate.
2185
+ * @param [iteratee=_.identity] The iteratee invoked per element.
2186
+ * @returns Returns the index at which `value` should be inserted into `array`.
2187
+ * @example
2188
+ *
2189
+ * // using the `_.property` iteratee shorthand
2190
+ * _.sortedLastIndexBy([{ 'x': 4 }, { 'x': 5 }], { 'x': 4 }, 'x');
2191
+ * // => 1
2192
+ */
2193
+ sortedLastIndexBy<T>(
2194
+ array: List<T> | null | undefined,
2195
+ value: T,
2196
+ iteratee: ValueIteratee<T>
2197
+ ): number;
2198
+ }
2199
+
2200
+ interface LoDashImplicitWrapper<TValue> {
2201
+ /**
2202
+ * @see _.sortedLastIndexBy
2203
+ */
2204
+ sortedLastIndexBy<T>(
2205
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
2206
+ value: T,
2207
+ iteratee: ValueIteratee<T>
2208
+ ): number;
2209
+ }
2210
+
2211
+ interface LoDashExplicitWrapper<TValue> {
2212
+ /**
2213
+ * @see _.sortedLastIndexBy
2214
+ */
2215
+ sortedLastIndexBy<T>(
2216
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
2217
+ value: T,
2218
+ iteratee: ValueIteratee<T>
2219
+ ): LoDashExplicitWrapper<number>;
2220
+ }
2221
+
2222
+ // sortedLastIndexOf
2223
+
2224
+ interface LoDashStatic {
2225
+ /**
2226
+ * This method is like `_.lastIndexOf` except that it performs a binary
2227
+ * search on a sorted `array`.
2228
+ *
2229
+ * @category Array
2230
+ * @param array The array to search.
2231
+ * @param value The value to search for.
2232
+ * @returns Returns the index of the matched value, else `-1`.
2233
+ * @example
2234
+ *
2235
+ * _.sortedLastIndexOf([1, 1, 2, 2], 2);
2236
+ * // => 3
2237
+ */
2238
+ sortedLastIndexOf<T>(
2239
+ array: List<T> | null | undefined,
2240
+ value: T
2241
+ ): number;
2242
+ }
2243
+
2244
+ interface LoDashImplicitWrapper<TValue> {
2245
+ /**
2246
+ * @see _.sortedLastIndexOf
2247
+ */
2248
+ sortedLastIndexOf<T>(
2249
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
2250
+ value: T
2251
+ ): number;
2252
+ }
2253
+
2254
+ interface LoDashExplicitWrapper<TValue> {
2255
+ /**
2256
+ * @see _.sortedLastIndexOf
2257
+ */
2258
+ sortedLastIndexOf<T>(
2259
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
2260
+ value: T
2261
+ ): LoDashExplicitWrapper<number>;
2262
+ }
2263
+
2264
+ // sortedUniq
2265
+
2266
+ interface LoDashStatic {
2267
+ /**
2268
+ * This method is like `_.uniq` except that it's designed and optimized
2269
+ * for sorted arrays.
2270
+ *
2271
+ * @category Array
2272
+ * @param array The array to inspect.
2273
+ * @returns Returns the new duplicate free array.
2274
+ * @example
2275
+ *
2276
+ * _.sortedUniq([1, 1, 2]);
2277
+ * // => [1, 2]
2278
+ */
2279
+ sortedUniq<T>(
2280
+ array: List<T> | null | undefined
2281
+ ): T[];
2282
+ }
2283
+
2284
+ interface LoDashImplicitWrapper<TValue> {
2285
+ /**
2286
+ * @see _.sortedUniq
2287
+ */
2288
+ sortedUniq<T>(this: LoDashImplicitWrapper<List<T> | null | undefined>): LoDashImplicitWrapper<T[]>;
2289
+ }
2290
+
2291
+ interface LoDashExplicitWrapper<TValue> {
2292
+ /**
2293
+ * @see _.sortedUniq
2294
+ */
2295
+ sortedUniq<T>(this: LoDashExplicitWrapper<List<T> | null | undefined>): LoDashExplicitWrapper<T[]>;
2296
+ }
2297
+
2298
+ // sortedUniqBy
2299
+
2300
+ interface LoDashStatic {
2301
+ /**
2302
+ * This method is like `_.uniqBy` except that it's designed and optimized
2303
+ * for sorted arrays.
2304
+ *
2305
+ * @category Array
2306
+ * @param array The array to inspect.
2307
+ * @param [iteratee] The iteratee invoked per element.
2308
+ * @returns Returns the new duplicate free array.
2309
+ * @example
2310
+ *
2311
+ * _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor);
2312
+ * // => [1.1, 2.2]
2313
+ */
2314
+ sortedUniqBy<T>(
2315
+ array: List<T> | null | undefined,
2316
+ iteratee: ValueIteratee<T>
2317
+ ): T[];
2318
+ }
2319
+
2320
+ interface LoDashImplicitWrapper<TValue> {
2321
+ /**
2322
+ * @see _.sortedUniqBy
2323
+ */
2324
+ sortedUniqBy<T>(
2325
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
2326
+ iteratee: ValueIteratee<T>
2327
+ ): LoDashImplicitWrapper<T[]>;
2328
+ }
2329
+
2330
+ interface LoDashExplicitWrapper<TValue> {
2331
+ /**
2332
+ * @see _.sortedUniqBy
2333
+ */
2334
+ sortedUniqBy<T>(
2335
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
2336
+ iteratee: ValueIteratee<T>
2337
+ ): LoDashExplicitWrapper<T[]>;
2338
+ }
2339
+
2340
+ // tail
2341
+
2342
+ interface LoDashStatic {
2343
+ /**
2344
+ * Gets all but the first element of array.
2345
+ *
2346
+ * @param array The array to query.
2347
+ * @return Returns the slice of array.
2348
+ */
2349
+ tail<T>(array: List<T> | null | undefined): T[];
2350
+ }
2351
+
2352
+ interface LoDashImplicitWrapper<TValue> {
2353
+ /**
2354
+ * @see _.tail
2355
+ */
2356
+ tail<T>(this: LoDashImplicitWrapper<List<T> | null | undefined>): LoDashImplicitWrapper<T[]>;
2357
+ }
2358
+
2359
+ interface LoDashExplicitWrapper<TValue> {
2360
+ /**
2361
+ * @see _.tail
2362
+ */
2363
+ tail<T>(this: LoDashExplicitWrapper<List<T> | null | undefined>): LoDashExplicitWrapper<T[]>;
2364
+ }
2365
+
2366
+ // take
2367
+
2368
+ interface LoDashStatic {
2369
+ /**
2370
+ * Creates a slice of array with n elements taken from the beginning.
2371
+ *
2372
+ * @param array The array to query.
2373
+ * @param n The number of elements to take.
2374
+ * @return Returns the slice of array.
2375
+ */
2376
+ take<T>(
2377
+ array: List<T> | null | undefined,
2378
+ n?: number
2379
+ ): T[];
2380
+ }
2381
+
2382
+ interface LoDashImplicitWrapper<TValue> {
2383
+ /**
2384
+ * @see _.take
2385
+ */
2386
+ take<T>(
2387
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
2388
+ n?: number
2389
+ ): LoDashImplicitWrapper<T[]>;
2390
+ }
2391
+
2392
+ interface LoDashExplicitWrapper<TValue> {
2393
+ /**
2394
+ * @see _.take
2395
+ */
2396
+ take<T>(
2397
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
2398
+ n?: number
2399
+ ): LoDashExplicitWrapper<T[]>;
2400
+ }
2401
+
2402
+ // takeRight
2403
+
2404
+ interface LoDashStatic {
2405
+ /**
2406
+ * Creates a slice of array with n elements taken from the end.
2407
+ *
2408
+ * @param array The array to query.
2409
+ * @param n The number of elements to take.
2410
+ * @return Returns the slice of array.
2411
+ */
2412
+ takeRight<T>(
2413
+ array: List<T> | null | undefined,
2414
+ n?: number
2415
+ ): T[];
2416
+ }
2417
+
2418
+ interface LoDashImplicitWrapper<TValue> {
2419
+ /**
2420
+ * @see _.takeRight
2421
+ */
2422
+ takeRight<T>(
2423
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
2424
+ n?: number
2425
+ ): LoDashImplicitWrapper<T[]>;
2426
+ }
2427
+
2428
+ interface LoDashExplicitWrapper<TValue> {
2429
+ /**
2430
+ * @see _.takeRight
2431
+ */
2432
+ takeRight<T>(
2433
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
2434
+ n?: number
2435
+ ): LoDashExplicitWrapper<T[]>;
2436
+ }
2437
+
2438
+ // takeRightWhile
2439
+
2440
+ interface LoDashStatic {
2441
+ /**
2442
+ * Creates a slice of array with elements taken from the end. Elements are taken until predicate returns
2443
+ * falsey. The predicate is invoked with three arguments: (value, index, array).
2444
+ *
2445
+ * @param array The array to query.
2446
+ * @param predicate The function invoked per iteration.
2447
+ * @return Returns the slice of array.
2448
+ */
2449
+ takeRightWhile<T>(
2450
+ array: List<T> | null | undefined,
2451
+ predicate?: ListIteratee<T>
2452
+ ): T[];
2453
+ }
2454
+
2455
+ interface LoDashImplicitWrapper<TValue> {
2456
+ /**
2457
+ * @see _.takeRightWhile
2458
+ */
2459
+ takeRightWhile<T>(
2460
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
2461
+ predicate?: ListIteratee<T>
2462
+ ): LoDashImplicitWrapper<T[]>;
2463
+ }
2464
+
2465
+ interface LoDashExplicitWrapper<TValue> {
2466
+ /**
2467
+ * @see _.takeRightWhile
2468
+ */
2469
+ takeRightWhile<T>(
2470
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
2471
+ predicate?: ListIteratee<T>
2472
+ ): LoDashExplicitWrapper<T[]>;
2473
+ }
2474
+
2475
+ // takeWhile
2476
+
2477
+ interface LoDashStatic {
2478
+ /**
2479
+ * Creates a slice of array with elements taken from the beginning. Elements are taken until predicate returns
2480
+ * falsey. The predicate is invoked with three arguments: (value, index, array).
2481
+ *
2482
+ * @param array The array to query.
2483
+ * @param predicate The function invoked per iteration.
2484
+ * @return Returns the slice of array.
2485
+ */
2486
+ takeWhile<T>(
2487
+ array: List<T> | null | undefined,
2488
+ predicate?: ListIteratee<T>
2489
+ ): T[];
2490
+ }
2491
+
2492
+ interface LoDashImplicitWrapper<TValue> {
2493
+ /**
2494
+ * @see _.takeWhile
2495
+ */
2496
+ takeWhile<T>(
2497
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
2498
+ predicate?: ListIteratee<T>
2499
+ ): LoDashImplicitWrapper<T[]>;
2500
+ }
2501
+
2502
+ interface LoDashExplicitWrapper<TValue> {
2503
+ /**
2504
+ * @see _.takeWhile
2505
+ */
2506
+ takeWhile<T>(
2507
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
2508
+ predicate?: ListIteratee<T>
2509
+ ): LoDashExplicitWrapper<T[]>;
2510
+ }
2511
+
2512
+ // union
2513
+
2514
+ interface LoDashStatic {
2515
+ /**
2516
+ * Creates an array of unique values, in order, from all of the provided arrays using SameValueZero for
2517
+ * equality comparisons.
2518
+ *
2519
+ * @param arrays The arrays to inspect.
2520
+ * @return Returns the new array of combined values.
2521
+ */
2522
+ union<T>(...arrays: Array<List<T> | null | undefined>): T[];
2523
+ }
2524
+
2525
+ interface LoDashImplicitWrapper<TValue> {
2526
+ /**
2527
+ * @see _.union
2528
+ */
2529
+ union<T>(
2530
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
2531
+ ...arrays: Array<List<T> | null | undefined>
2532
+ ): LoDashImplicitWrapper<T[]>;
2533
+ }
2534
+
2535
+ interface LoDashExplicitWrapper<TValue> {
2536
+ /**
2537
+ * @see _.union
2538
+ */
2539
+ union<T>(
2540
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
2541
+ ...arrays: Array<List<T> | null | undefined>
2542
+ ): LoDashExplicitWrapper<T[]>;
2543
+ }
2544
+
2545
+ // unionBy
2546
+
2547
+ interface LoDashStatic {
2548
+ /**
2549
+ * This method is like `_.union` except that it accepts `iteratee` which is
2550
+ * invoked for each element of each `arrays` to generate the criterion by which
2551
+ * uniqueness is computed. The iteratee is invoked with one argument: (value).
2552
+ *
2553
+ * @param arrays The arrays to inspect.
2554
+ * @param iteratee The iteratee invoked per element.
2555
+ * @return Returns the new array of combined values.
2556
+ */
2557
+ unionBy<T>(
2558
+ arrays: List<T> | null | undefined,
2559
+ iteratee?: ValueIteratee<T>
2560
+ ): T[];
2561
+
2562
+ /**
2563
+ * @see _.unionBy
2564
+ */
2565
+ unionBy<T>(
2566
+ arrays1: List<T> | null | undefined,
2567
+ arrays2: List<T> | null | undefined,
2568
+ iteratee?: ValueIteratee<T>
2569
+ ): T[];
2570
+
2571
+ /**
2572
+ * @see _.unionBy
2573
+ */
2574
+ unionBy<T>(
2575
+ arrays1: List<T> | null | undefined,
2576
+ arrays2: List<T> | null | undefined,
2577
+ arrays3: List<T> | null | undefined,
2578
+ iteratee?: ValueIteratee<T>
2579
+ ): T[];
2580
+
2581
+ /**
2582
+ * @see _.unionBy
2583
+ */
2584
+ unionBy<T>(
2585
+ arrays1: List<T> | null | undefined,
2586
+ arrays2: List<T> | null | undefined,
2587
+ arrays3: List<T> | null | undefined,
2588
+ arrays4: List<T> | null | undefined,
2589
+ iteratee?: ValueIteratee<T>
2590
+ ): T[];
2591
+
2592
+ /**
2593
+ * @see _.unionBy
2594
+ */
2595
+ unionBy<T>(
2596
+ arrays1: List<T> | null | undefined,
2597
+ arrays2: List<T> | null | undefined,
2598
+ arrays3: List<T> | null | undefined,
2599
+ arrays4: List<T> | null | undefined,
2600
+ arrays5: List<T> | null | undefined,
2601
+ ...iteratee: Array<ValueIteratee<T> | List<T> | null | undefined>
2602
+ ): T[];
2603
+ }
2604
+
2605
+ interface LoDashImplicitWrapper<TValue> {
2606
+ /**
2607
+ * @see _.unionBy
2608
+ */
2609
+ unionBy<T>(
2610
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
2611
+ iteratee?: ValueIteratee<T>
2612
+ ): LoDashImplicitWrapper<T[]>;
2613
+
2614
+ /**
2615
+ * @see _.unionBy
2616
+ */
2617
+ unionBy<T>(
2618
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
2619
+ arrays2: List<T> | null | undefined,
2620
+ iteratee?: ValueIteratee<T>
2621
+ ): LoDashImplicitWrapper<T[]>;
2622
+
2623
+ /**
2624
+ * @see _.unionBy
2625
+ */
2626
+ unionBy<T>(
2627
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
2628
+ arrays2: List<T> | null | undefined,
2629
+ arrays3: List<T> | null | undefined,
2630
+ iteratee?: ValueIteratee<T>
2631
+ ): LoDashImplicitWrapper<T[]>;
2632
+
2633
+ /**
2634
+ * @see _.unionBy
2635
+ */
2636
+ unionBy<T>(
2637
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
2638
+ arrays2: List<T> | null | undefined,
2639
+ arrays3: List<T> | null | undefined,
2640
+ arrays4: List<T> | null | undefined,
2641
+ iteratee?: ValueIteratee<T>
2642
+ ): LoDashImplicitWrapper<T[]>;
2643
+
2644
+ /**
2645
+ * @see _.unionBy
2646
+ */
2647
+ unionBy<T>(
2648
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
2649
+ arrays2: List<T> | null | undefined,
2650
+ arrays3: List<T> | null | undefined,
2651
+ arrays4: List<T> | null | undefined,
2652
+ arrays5: List<T> | null | undefined,
2653
+ ...iteratee: Array<ValueIteratee<T> | List<T> | null | undefined>
2654
+ ): LoDashImplicitWrapper<T[]>;
2655
+ }
2656
+
2657
+ interface LoDashExplicitWrapper<TValue> {
2658
+ /**
2659
+ * @see _.unionBy
2660
+ */
2661
+ unionBy<T>(
2662
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
2663
+ iteratee?: ValueIteratee<T>
2664
+ ): LoDashExplicitWrapper<T[]>;
2665
+
2666
+ /**
2667
+ * @see _.unionBy
2668
+ */
2669
+ unionBy<T>(
2670
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
2671
+ arrays2: List<T> | null | undefined,
2672
+ iteratee?: ValueIteratee<T>
2673
+ ): LoDashExplicitWrapper<T[]>;
2674
+
2675
+ /**
2676
+ * @see _.unionBy
2677
+ */
2678
+ unionBy<T>(
2679
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
2680
+ arrays2: List<T> | null | undefined,
2681
+ arrays3: List<T> | null | undefined,
2682
+ iteratee?: ValueIteratee<T>
2683
+ ): LoDashExplicitWrapper<T[]>;
2684
+
2685
+ /**
2686
+ * @see _.unionBy
2687
+ */
2688
+ unionBy<T>(
2689
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
2690
+ arrays2: List<T> | null | undefined,
2691
+ arrays3: List<T> | null | undefined,
2692
+ arrays4: List<T> | null | undefined,
2693
+ iteratee?: ValueIteratee<T>
2694
+ ): LoDashExplicitWrapper<T[]>;
2695
+
2696
+ /**
2697
+ * @see _.unionBy
2698
+ */
2699
+ unionBy<T>(
2700
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
2701
+ arrays2: List<T> | null | undefined,
2702
+ arrays3: List<T> | null | undefined,
2703
+ arrays4: List<T> | null | undefined,
2704
+ arrays5: List<T> | null | undefined,
2705
+ ...iteratee: Array<ValueIteratee<T> | List<T> | null | undefined>
2706
+ ): LoDashExplicitWrapper<T[]>;
2707
+ }
2708
+
2709
+ // unionWith
2710
+
2711
+ interface LoDashStatic {
2712
+ /**
2713
+ * This method is like `_.union` except that it accepts `comparator` which
2714
+ * is invoked to compare elements of `arrays`. The comparator is invoked
2715
+ * with two arguments: (arrVal, othVal).
2716
+ *
2717
+ * @category Array
2718
+ * @param [arrays] The arrays to inspect.
2719
+ * @param [comparator] The comparator invoked per element.
2720
+ * @returns Returns the new array of combined values.
2721
+ * @example
2722
+ *
2723
+ * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];
2724
+ * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];
2725
+ *
2726
+ * _.unionWith(objects, others, _.isEqual);
2727
+ * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]
2728
+ */
2729
+ unionWith<T>(
2730
+ arrays: List<T> | null | undefined,
2731
+ comparator?: Comparator<T>
2732
+ ): T[];
2733
+
2734
+ /**
2735
+ * @see _.unionBy
2736
+ */
2737
+ unionWith<T>(
2738
+ arrays: List<T> | null | undefined,
2739
+ arrays2: List<T> | null | undefined,
2740
+ comparator?: Comparator<T>
2741
+ ): T[];
2742
+
2743
+ /**
2744
+ * @see _.unionWith
2745
+ */
2746
+ unionWith<T>(
2747
+ arrays: List<T> | null | undefined,
2748
+ arrays2: List<T> | null | undefined,
2749
+ arrays3: List<T> | null | undefined,
2750
+ ...comparator: Array<Comparator<T> | List<T> | null | undefined>
2751
+ ): T[];
2752
+ }
2753
+
2754
+ interface LoDashImplicitWrapper<TValue> {
2755
+ /**
2756
+ * @see _.unionWith
2757
+ */
2758
+ unionWith<T>(
2759
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
2760
+ comparator?: Comparator<T>
2761
+ ): LoDashImplicitWrapper<T[]>;
2762
+
2763
+ /**
2764
+ * @see _.unionWith
2765
+ */
2766
+ unionWith<T>(
2767
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
2768
+ arrays2: List<T> | null | undefined,
2769
+ comparator?: Comparator<T>
2770
+ ): LoDashImplicitWrapper<T[]>;
2771
+
2772
+ /**
2773
+ * @see _.unionWith
2774
+ */
2775
+ unionWith<T>(
2776
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
2777
+ arrays2: List<T> | null | undefined,
2778
+ arrays3: List<T> | null | undefined,
2779
+ ...comparator: Array<Comparator<T> | List<T> | null | undefined>
2780
+ ): LoDashImplicitWrapper<T[]>;
2781
+ }
2782
+
2783
+ interface LoDashExplicitWrapper<TValue> {
2784
+ /**
2785
+ * @see _.unionWith
2786
+ */
2787
+ unionWith<T>(
2788
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
2789
+ comparator?: Comparator<T>
2790
+ ): LoDashExplicitWrapper<T[]>;
2791
+
2792
+ /**
2793
+ * @see _.unionWith
2794
+ */
2795
+ unionWith<T>(
2796
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
2797
+ arrays2: List<T> | null | undefined,
2798
+ comparator?: Comparator<T>
2799
+ ): LoDashExplicitWrapper<T[]>;
2800
+
2801
+ /**
2802
+ * @see _.unionWith
2803
+ */
2804
+ unionWith<T>(
2805
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
2806
+ arrays2: List<T> | null | undefined,
2807
+ arrays3: List<T> | null | undefined,
2808
+ ...comparator: Array<Comparator<T> | List<T> | null | undefined>
2809
+ ): LoDashExplicitWrapper<T[]>;
2810
+ }
2811
+
2812
+ // uniq
2813
+
2814
+ interface LoDashStatic {
2815
+ /**
2816
+ * Creates a duplicate-free version of an array, using
2817
+ * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
2818
+ * for equality comparisons, in which only the first occurrence of each element
2819
+ * is kept.
2820
+ *
2821
+ * @category Array
2822
+ * @param array The array to inspect.
2823
+ * @returns Returns the new duplicate free array.
2824
+ * @example
2825
+ *
2826
+ * _.uniq([2, 1, 2]);
2827
+ * // => [2, 1]
2828
+ */
2829
+ uniq<T>(
2830
+ array: List<T> | null | undefined
2831
+ ): T[];
2832
+ }
2833
+
2834
+ interface LoDashImplicitWrapper<TValue> {
2835
+ /**
2836
+ * @see _.uniq
2837
+ */
2838
+ uniq<T>(this: LoDashImplicitWrapper<List<T> | null | undefined>): LoDashImplicitWrapper<T[]>;
2839
+ }
2840
+
2841
+ interface LoDashExplicitWrapper<TValue> {
2842
+ /**
2843
+ * @see _.uniq
2844
+ */
2845
+ uniq<T>(this: LoDashExplicitWrapper<List<T> | null | undefined>): LoDashExplicitWrapper<T[]>;
2846
+ }
2847
+
2848
+ // uniqBy
2849
+
2850
+ interface LoDashStatic {
2851
+ /**
2852
+ * This method is like `_.uniq` except that it accepts `iteratee` which is
2853
+ * invoked for each element in `array` to generate the criterion by which
2854
+ * uniqueness is computed. The iteratee is invoked with one argument: (value).
2855
+ *
2856
+ * @category Array
2857
+ * @param array The array to inspect.
2858
+ * @param [iteratee=_.identity] The iteratee invoked per element.
2859
+ * @returns Returns the new duplicate free array.
2860
+ * @example
2861
+ *
2862
+ * _.uniqBy([2.1, 1.2, 2.3], Math.floor);
2863
+ * // => [2.1, 1.2]
2864
+ *
2865
+ * // using the `_.property` iteratee shorthand
2866
+ * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');
2867
+ * // => [{ 'x': 1 }, { 'x': 2 }]
2868
+ */
2869
+ uniqBy<T>(
2870
+ array: List<T> | null | undefined,
2871
+ iteratee: ValueIteratee<T>
2872
+ ): T[];
2873
+ }
2874
+
2875
+ interface LoDashImplicitWrapper<TValue> {
2876
+ /**
2877
+ * @see _.uniqBy
2878
+ */
2879
+ uniqBy<T>(
2880
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
2881
+ iteratee: ValueIteratee<T>
2882
+ ): LoDashImplicitWrapper<T[]>;
2883
+ }
2884
+
2885
+ interface LoDashExplicitWrapper<TValue> {
2886
+ /**
2887
+ * @see _.uniqBy
2888
+ */
2889
+ uniqBy<T>(
2890
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
2891
+ iteratee: ValueIteratee<T>
2892
+ ): LoDashExplicitWrapper<T[]>;
2893
+ }
2894
+
2895
+ // uniqWith
2896
+
2897
+ interface LoDashStatic {
2898
+ /**
2899
+ * This method is like `_.uniq` except that it accepts `comparator` which
2900
+ * is invoked to compare elements of `array`. The comparator is invoked with
2901
+ * two arguments: (arrVal, othVal).
2902
+ *
2903
+ * @category Array
2904
+ * @param array The array to inspect.
2905
+ * @param [comparator] The comparator invoked per element.
2906
+ * @returns Returns the new duplicate free array.
2907
+ * @example
2908
+ *
2909
+ * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }];
2910
+ *
2911
+ * _.uniqWith(objects, _.isEqual);
2912
+ * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]
2913
+ */
2914
+ uniqWith<T>(
2915
+ array: List<T> | null | undefined,
2916
+ comparator?: Comparator<T>
2917
+ ): T[];
2918
+ }
2919
+
2920
+ interface LoDashImplicitWrapper<TValue> {
2921
+ /**
2922
+ * @see _.uniqWith
2923
+ */
2924
+ uniqWith<T>(
2925
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
2926
+ comparator?: Comparator<T>
2927
+ ): LoDashImplicitWrapper<T[]>;
2928
+ }
2929
+
2930
+ interface LoDashExplicitWrapper<TValue> {
2931
+ /**
2932
+ * @see _.uniqWith
2933
+ */
2934
+ uniqWith<T>(
2935
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
2936
+ comparator?: Comparator<T>
2937
+ ): LoDashExplicitWrapper<T[]>;
2938
+ }
2939
+
2940
+ // unzip
2941
+
2942
+ interface LoDashStatic {
2943
+ /**
2944
+ * This method is like _.zip except that it accepts an array of grouped elements and creates an array
2945
+ * regrouping the elements to their pre-zip configuration.
2946
+ *
2947
+ * @param array The array of grouped elements to process.
2948
+ * @return Returns the new array of regrouped elements.
2949
+ */
2950
+ unzip<T>(array: T[][] | List<List<T>> | null | undefined): T[][];
2951
+ }
2952
+
2953
+ interface LoDashImplicitWrapper<TValue> {
2954
+ /**
2955
+ * @see _.unzip
2956
+ */
2957
+ unzip<T>(this: LoDashImplicitWrapper<T[][] | List<List<T>> | null | undefined>): LoDashImplicitWrapper<T[][]>;
2958
+ }
2959
+
2960
+ interface LoDashExplicitWrapper<TValue> {
2961
+ /**
2962
+ * @see _.unzip
2963
+ */
2964
+ unzip<T>(this: LoDashExplicitWrapper<T[][] | List<List<T>> | null | undefined>): LoDashExplicitWrapper<T[][]>;
2965
+ }
2966
+
2967
+ // unzipWith
2968
+
2969
+ interface LoDashStatic {
2970
+ /**
2971
+ * This method is like _.unzip except that it accepts an iteratee to specify how regrouped values should be
2972
+ * combined. The iteratee is invoked with four arguments: (accumulator, value, index, group).
2973
+ *
2974
+ * @param array The array of grouped elements to process.
2975
+ * @param iteratee The function to combine regrouped values.
2976
+ * @return Returns the new array of regrouped elements.
2977
+ */
2978
+ unzipWith<T, TResult>(
2979
+ array: List<List<T>> | null | undefined,
2980
+ iteratee: (...values: T[]) => TResult
2981
+ ): TResult[];
2982
+
2983
+ /**
2984
+ * @see _.unzipWith
2985
+ */
2986
+ unzipWith<T>(
2987
+ array: List<List<T>> | null | undefined
2988
+ ): T[][];
2989
+ }
2990
+
2991
+ interface LoDashImplicitWrapper<TValue> {
2992
+ /**
2993
+ * @see _.unzipWith
2994
+ */
2995
+ unzipWith<T, TResult>(
2996
+ this: LoDashImplicitWrapper<List<List<T>> | null | undefined>,
2997
+ iteratee: (...values: T[]) => TResult
2998
+ ): LoDashImplicitWrapper<TResult[]>;
2999
+
3000
+ /**
3001
+ * @see _.unzipWith
3002
+ */
3003
+ unzipWith<T>(
3004
+ this: LoDashImplicitWrapper<List<List<T>> | null | undefined>
3005
+ ): LoDashImplicitWrapper<T[][]>;
3006
+ }
3007
+
3008
+ interface LoDashExplicitWrapper<TValue> {
3009
+ /**
3010
+ * @see _.unzipWith
3011
+ */
3012
+ unzipWith<T, TResult>(
3013
+ this: LoDashExplicitWrapper<List<List<T>> | null | undefined>,
3014
+ iteratee: (...values: T[]) => TResult
3015
+ ): LoDashExplicitWrapper<TResult[]>;
3016
+
3017
+ /**
3018
+ * @see _.unzipWith
3019
+ */
3020
+ unzipWith<T>(
3021
+ this: LoDashExplicitWrapper<List<List<T>> | null | undefined>
3022
+ ): LoDashExplicitWrapper<T[][]>;
3023
+ }
3024
+
3025
+ // without
3026
+
3027
+ interface LoDashStatic {
3028
+ /**
3029
+ * Creates an array excluding all provided values using SameValueZero for equality comparisons.
3030
+ *
3031
+ * @param array The array to filter.
3032
+ * @param values The values to exclude.
3033
+ * @return Returns the new array of filtered values.
3034
+ */
3035
+ without<T>(
3036
+ array: List<T> | null | undefined,
3037
+ ...values: T[]
3038
+ ): T[];
3039
+ }
3040
+
3041
+ interface LoDashImplicitWrapper<TValue> {
3042
+ /**
3043
+ * @see _.without
3044
+ */
3045
+ without<T>(
3046
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
3047
+ ...values: T[]
3048
+ ): LoDashImplicitWrapper<T[]>;
3049
+ }
3050
+
3051
+ interface LoDashExplicitWrapper<TValue> {
3052
+ /**
3053
+ * @see _.without
3054
+ */
3055
+ without<T>(
3056
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
3057
+ ...values: T[]
3058
+ ): LoDashExplicitWrapper<T[]>;
3059
+ }
3060
+
3061
+ // xor
3062
+
3063
+ interface LoDashStatic {
3064
+ /**
3065
+ * Creates an array of unique values that is the symmetric difference of the provided arrays.
3066
+ *
3067
+ * @param arrays The arrays to inspect.
3068
+ * @return Returns the new array of values.
3069
+ */
3070
+ xor<T>(...arrays: Array<List<T> | null | undefined>): T[];
3071
+ }
3072
+
3073
+ interface LoDashImplicitWrapper<TValue> {
3074
+ /**
3075
+ * @see _.xor
3076
+ */
3077
+ xor<T>(
3078
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
3079
+ ...arrays: Array<List<T> | null | undefined>
3080
+ ): LoDashImplicitWrapper<T[]>;
3081
+ }
3082
+
3083
+ interface LoDashExplicitWrapper<TValue> {
3084
+ /**
3085
+ * @see _.xor
3086
+ */
3087
+ xor<T>(
3088
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
3089
+ ...arrays: Array<List<T> | null | undefined>
3090
+ ): LoDashExplicitWrapper<T[]>;
3091
+ }
3092
+
3093
+ // xorBy
3094
+
3095
+ interface LoDashStatic {
3096
+ /**
3097
+ * This method is like `_.xor` except that it accepts `iteratee` which is
3098
+ * invoked for each element of each `arrays` to generate the criterion by which
3099
+ * uniqueness is computed. The iteratee is invoked with one argument: (value).
3100
+ *
3101
+ * @category Array
3102
+ * @param [arrays] The arrays to inspect.
3103
+ * @param [iteratee=_.identity] The iteratee invoked per element.
3104
+ * @returns Returns the new array of values.
3105
+ * @example
3106
+ *
3107
+ * _.xorBy([2.1, 1.2], [4.3, 2.4], Math.floor);
3108
+ * // => [1.2, 4.3]
3109
+ *
3110
+ * // using the `_.property` iteratee shorthand
3111
+ * _.xorBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');
3112
+ * // => [{ 'x': 2 }]
3113
+ */
3114
+ xorBy<T>(
3115
+ arrays: List<T> | null | undefined,
3116
+ iteratee?: ValueIteratee<T>
3117
+ ): T[];
3118
+
3119
+ /**
3120
+ * @see _.xorBy
3121
+ */
3122
+ xorBy<T>(
3123
+ arrays: List<T> | null | undefined,
3124
+ arrays2: List<T> | null | undefined,
3125
+ iteratee?: ValueIteratee<T>
3126
+ ): T[];
3127
+
3128
+ /**
3129
+ * @see _.xorBy
3130
+ */
3131
+ xorBy<T>(
3132
+ arrays: List<T> | null | undefined,
3133
+ arrays2: List<T> | null | undefined,
3134
+ arrays3: List<T> | null | undefined,
3135
+ ...iteratee: Array<ValueIteratee<T> | List<T> | null | undefined>
3136
+ ): T[];
3137
+ }
3138
+
3139
+ interface LoDashImplicitWrapper<TValue> {
3140
+ /**
3141
+ * @see _.xor
3142
+ */
3143
+ xorBy<T>(
3144
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
3145
+ iteratee?: ValueIteratee<T>
3146
+ ): LoDashImplicitWrapper<T[]>;
3147
+
3148
+ /**
3149
+ * @see _.xorBy
3150
+ */
3151
+ xorBy<T>(
3152
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
3153
+ arrays2: List<T> | null | undefined,
3154
+ iteratee?: ValueIteratee<T>
3155
+ ): LoDashImplicitWrapper<T[]>;
3156
+
3157
+ /**
3158
+ * @see _.xorBy
3159
+ */
3160
+ xorBy<T>(
3161
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
3162
+ arrays2: List<T> | null | undefined,
3163
+ arrays3: List<T> | null | undefined,
3164
+ ...iteratee: Array<ValueIteratee<T> | List<T> | null | undefined>
3165
+ ): LoDashImplicitWrapper<T[]>;
3166
+ }
3167
+
3168
+ interface LoDashExplicitWrapper<TValue> {
3169
+ /**
3170
+ * @see _.xorBy
3171
+ */
3172
+ xorBy<T>(
3173
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
3174
+ iteratee?: ValueIteratee<T>
3175
+ ): LoDashExplicitWrapper<T[]>;
3176
+
3177
+ /**
3178
+ * @see _.xorBy
3179
+ */
3180
+ xorBy<T>(
3181
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
3182
+ arrays2: List<T> | null | undefined,
3183
+ iteratee?: ValueIteratee<T>
3184
+ ): LoDashExplicitWrapper<T[]>;
3185
+
3186
+ /**
3187
+ * @see _.xorBy
3188
+ */
3189
+ xorBy<T>(
3190
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
3191
+ arrays2: List<T> | null | undefined,
3192
+ arrays3: List<T> | null | undefined,
3193
+ ...iteratee: Array<ValueIteratee<T> | List<T> | null | undefined>
3194
+ ): LoDashExplicitWrapper<T[]>;
3195
+ }
3196
+
3197
+ // xorWith
3198
+
3199
+ interface LoDashStatic {
3200
+ /**
3201
+ * This method is like `_.xor` except that it accepts `comparator` which is
3202
+ * invoked to compare elements of `arrays`. The comparator is invoked with
3203
+ * two arguments: (arrVal, othVal).
3204
+ *
3205
+ * @category Array
3206
+ * @param [arrays] The arrays to inspect.
3207
+ * @param [comparator] The comparator invoked per element.
3208
+ * @returns Returns the new array of values.
3209
+ * @example
3210
+ *
3211
+ * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];
3212
+ * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];
3213
+ *
3214
+ * _.xorWith(objects, others, _.isEqual);
3215
+ * // => [{ 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]
3216
+ */
3217
+ xorWith<T>(
3218
+ arrays: List<T> | null | undefined,
3219
+ comparator?: Comparator<T>
3220
+ ): T[];
3221
+
3222
+ /**
3223
+ * @see _.xorWith
3224
+ */
3225
+ xorWith<T>(
3226
+ arrays: List<T> | null | undefined,
3227
+ arrays2: List<T> | null | undefined,
3228
+ comparator?: Comparator<T>
3229
+ ): T[];
3230
+
3231
+ /**
3232
+ * @see _.xorWith
3233
+ */
3234
+ xorWith<T>(
3235
+ arrays: List<T> | null | undefined,
3236
+ arrays2: List<T> | null | undefined,
3237
+ arrays3: List<T> | null | undefined,
3238
+ ...comparator: Array<Comparator<T> | List<T> | null | undefined>
3239
+ ): T[];
3240
+ }
3241
+
3242
+ interface LoDashImplicitWrapper<TValue> {
3243
+ /**
3244
+ * @see _.xorWith
3245
+ */
3246
+ xorWith<T>(
3247
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
3248
+ comparator?: Comparator<T>
3249
+ ): LoDashImplicitWrapper<T[]>;
3250
+
3251
+ /**
3252
+ * @see _.xorWith
3253
+ */
3254
+ xorWith<T>(
3255
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
3256
+ arrays2: List<T> | null | undefined,
3257
+ comparator?: Comparator<T>
3258
+ ): LoDashImplicitWrapper<T[]>;
3259
+
3260
+ /**
3261
+ * @see _.xorWith
3262
+ */
3263
+ xorWith<T>(
3264
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
3265
+ arrays2: List<T> | null | undefined,
3266
+ arrays3: List<T> | null | undefined,
3267
+ ...comparator: Array<Comparator<T> | List<T> | null | undefined>
3268
+ ): LoDashImplicitWrapper<T[]>;
3269
+ }
3270
+
3271
+ interface LoDashExplicitWrapper<TValue> {
3272
+ /**
3273
+ * @see _.xorWith
3274
+ */
3275
+ xorWith<T>(
3276
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
3277
+ comparator?: Comparator<T>
3278
+ ): LoDashExplicitWrapper<T[]>;
3279
+
3280
+ /**
3281
+ * @see _.xorWith
3282
+ */
3283
+ xorWith<T>(
3284
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
3285
+ arrays2: List<T> | null | undefined,
3286
+ comparator?: Comparator<T>
3287
+ ): LoDashExplicitWrapper<T[]>;
3288
+
3289
+ /**
3290
+ * @see _.xorWith
3291
+ */
3292
+ xorWith<T>(
3293
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
3294
+ arrays2: List<T> | null | undefined,
3295
+ arrays3: List<T> | null | undefined,
3296
+ ...comparator: Array<Comparator<T> | List<T> | null | undefined>
3297
+ ): LoDashExplicitWrapper<T[]>;
3298
+ }
3299
+
3300
+ // zip
3301
+
3302
+ interface LoDashStatic {
3303
+ /**
3304
+ * Creates an array of grouped elements, the first of which contains the first elements of the given arrays,
3305
+ * the second of which contains the second elements of the given arrays, and so on.
3306
+ *
3307
+ * @param arrays The arrays to process.
3308
+ * @return Returns the new array of grouped elements.
3309
+ */
3310
+ zip<T1, T2>(arrays1: List<T1>, arrays2: List<T2>): Array<[T1 | undefined, T2 | undefined]>;
3311
+
3312
+ /**
3313
+ * @see _.zip
3314
+ */
3315
+ zip<T1, T2, T3>(arrays1: List<T1>, arrays2: List<T2>, arrays3: List<T3>): Array<[T1 | undefined, T2 | undefined, T3 | undefined]>;
3316
+
3317
+ /**
3318
+ * @see _.zip
3319
+ */
3320
+ zip<T1, T2, T3, T4>(arrays1: List<T1>, arrays2: List<T2>, arrays3: List<T3>, arrays4: List<T4>): Array<[T1 | undefined, T2 | undefined, T3 | undefined, T4 | undefined]>;
3321
+
3322
+ /**
3323
+ * @see _.zip
3324
+ */
3325
+ zip<T1, T2, T3, T4, T5>(arrays1: List<T1>, arrays2: List<T2>, arrays3: List<T3>, arrays4: List<T4>, arrays5: List<T5>): Array<[T1 | undefined, T2 | undefined, T3 | undefined, T4 | undefined, T5 | undefined]>;
3326
+
3327
+ /**
3328
+ * @see _.zip
3329
+ */
3330
+ zip<T>(...arrays: Array<List<T> | null | undefined>): Array<Array<T | undefined>>;
3331
+ }
3332
+
3333
+ interface LoDashImplicitWrapper<TValue> {
3334
+ /**
3335
+ * @see _.zip
3336
+ */
3337
+ zip<T1, T2>(
3338
+ this: LoDashImplicitWrapper<List<T1>>,
3339
+ arrays2: List<T2>,
3340
+ ): LoDashImplicitWrapper<Array<[T1 | undefined, T2 | undefined]>>;
3341
+
3342
+ /**
3343
+ * @see _.zip
3344
+ */
3345
+ zip<T1, T2, T3>(
3346
+ this: LoDashImplicitWrapper<List<T1>>,
3347
+ arrays2: List<T2>,
3348
+ arrays3: List<T3>,
3349
+ ): LoDashImplicitWrapper<Array<[T1 | undefined, T2 | undefined, T3 | undefined]>>;
3350
+
3351
+ /**
3352
+ * @see _.zip
3353
+ */
3354
+ zip<T1, T2, T3, T4>(
3355
+ this: LoDashImplicitWrapper<List<T1>>,
3356
+ arrays2: List<T2>,
3357
+ arrays3: List<T3>,
3358
+ arrays4: List<T4>,
3359
+ ): LoDashImplicitWrapper<Array<[T1 | undefined, T2 | undefined, T3 | undefined, T4 | undefined]>>;
3360
+
3361
+ /**
3362
+ * @see _.zip
3363
+ */
3364
+ zip<T1, T2, T3, T4, T5>(
3365
+ this: LoDashImplicitWrapper<List<T1>>,
3366
+ arrays2: List<T2>,
3367
+ arrays3: List<T3>,
3368
+ arrays4: List<T4>,
3369
+ arrays5: List<T5>,
3370
+ ): LoDashImplicitWrapper<Array<[T1 | undefined, T2 | undefined, T3 | undefined, T4 | undefined, T5 | undefined]>>;
3371
+
3372
+ /**
3373
+ * @see _.zip
3374
+ */
3375
+ zip<T>(
3376
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
3377
+ ...arrays: Array<List<T> | null | undefined>
3378
+ ): LoDashImplicitWrapper<Array<Array<T | undefined>>>;
3379
+ }
3380
+
3381
+ interface LoDashExplicitWrapper<TValue> {
3382
+ /**
3383
+ * @see _.zip
3384
+ */
3385
+ zip<T1, T2>(
3386
+ this: LoDashExplicitWrapper<List<T1>>,
3387
+ arrays2: List<T2>,
3388
+ ): LoDashExplicitWrapper<Array<[T1 | undefined, T2 | undefined]>>;
3389
+
3390
+ /**
3391
+ * @see _.zip
3392
+ */
3393
+ zip<T1, T2, T3>(
3394
+ this: LoDashExplicitWrapper<List<T1>>,
3395
+ arrays2: List<T2>,
3396
+ arrays3: List<T3>,
3397
+ ): LoDashExplicitWrapper<Array<[T1 | undefined, T2 | undefined, T3 | undefined]>>;
3398
+
3399
+ /**
3400
+ * @see _.zip
3401
+ */
3402
+ zip<T1, T2, T3, T4>(
3403
+ this: LoDashExplicitWrapper<List<T1>>,
3404
+ arrays2: List<T2>,
3405
+ arrays3: List<T3>,
3406
+ arrays4: List<T4>,
3407
+ ): LoDashExplicitWrapper<Array<[T1 | undefined, T2 | undefined, T3 | undefined, T4 | undefined]>>;
3408
+
3409
+ /**
3410
+ * @see _.zip
3411
+ */
3412
+ zip<T1, T2, T3, T4, T5>(
3413
+ this: LoDashExplicitWrapper<List<T1>>,
3414
+ arrays2: List<T2>,
3415
+ arrays3: List<T3>,
3416
+ arrays4: List<T4>,
3417
+ arrays5: List<T5>,
3418
+ ): LoDashExplicitWrapper<Array<[T1 | undefined, T2 | undefined, T3 | undefined, T4 | undefined, T5 | undefined]>>;
3419
+
3420
+ /**
3421
+ * @see _.zip
3422
+ */
3423
+ zip<T>(
3424
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
3425
+ ...arrays: Array<List<T> | null | undefined>
3426
+ ): LoDashExplicitWrapper<Array<Array<T | undefined>>>;
3427
+ }
3428
+
3429
+ // zipObject
3430
+
3431
+ interface LoDashStatic {
3432
+ /**
3433
+ * This method is like _.fromPairs except that it accepts two arrays, one of property
3434
+ * identifiers and one of corresponding values.
3435
+ *
3436
+ * @param props The property names.
3437
+ * @param values The property values.
3438
+ * @return Returns the new object.
3439
+ */
3440
+ zipObject<T>(
3441
+ props: List<PropertyName>,
3442
+ values: List<T>
3443
+ ): Dictionary<T>;
3444
+
3445
+ /**
3446
+ * @see _.zipObject
3447
+ */
3448
+ zipObject(
3449
+ props?: List<PropertyName>
3450
+ ): Dictionary<undefined>;
3451
+ }
3452
+
3453
+ interface LoDashImplicitWrapper<TValue> {
3454
+ /**
3455
+ * @see _.zipObject
3456
+ */
3457
+ zipObject<T>(
3458
+ this: LoDashImplicitWrapper<List<PropertyName>>,
3459
+ values: List<T>
3460
+ ): LoDashImplicitWrapper<Dictionary<T>>;
3461
+
3462
+ /**
3463
+ * @see _.zipObject
3464
+ */
3465
+ zipObject(
3466
+ this: LoDashImplicitWrapper<List<PropertyName>>
3467
+ ): LoDashImplicitWrapper<Dictionary<undefined>>;
3468
+ }
3469
+
3470
+ interface LoDashExplicitWrapper<TValue> {
3471
+ /**
3472
+ * @see _.zipObject
3473
+ */
3474
+ zipObject<T>(
3475
+ this: LoDashExplicitWrapper<List<PropertyName>>,
3476
+ values: List<T>
3477
+ ): LoDashExplicitWrapper<Dictionary<T>>;
3478
+
3479
+ /**
3480
+ * @see _.zipObject
3481
+ */
3482
+ zipObject(
3483
+ this: LoDashExplicitWrapper<List<PropertyName>>
3484
+ ): LoDashExplicitWrapper<Dictionary<undefined>>;
3485
+ }
3486
+
3487
+ // zipObjectDeep
3488
+
3489
+ interface LoDashStatic {
3490
+ /**
3491
+ * This method is like _.zipObject except that it supports property paths.
3492
+ *
3493
+ * @param paths The property names.
3494
+ * @param values The property values.
3495
+ * @return Returns the new object.
3496
+ */
3497
+ zipObjectDeep(
3498
+ paths?: List<PropertyPath>,
3499
+ values?: List<any>
3500
+ ): object;
3501
+ }
3502
+
3503
+ interface LoDashImplicitWrapper<TValue> {
3504
+ /**
3505
+ * @see _.zipObjectDeep
3506
+ */
3507
+ zipObjectDeep(
3508
+ this: LoDashImplicitWrapper<List<PropertyPath>>,
3509
+ values?: List<any>
3510
+ ): LoDashImplicitWrapper<object>;
3511
+ }
3512
+
3513
+ interface LoDashExplicitWrapper<TValue> {
3514
+ /**
3515
+ * @see _.zipObjectDeep
3516
+ */
3517
+ zipObjectDeep(
3518
+ this: LoDashExplicitWrapper<List<PropertyPath>>,
3519
+ values?: List<any>
3520
+ ): LoDashExplicitWrapper<object>;
3521
+ }
3522
+
3523
+ // zipWith
3524
+
3525
+ interface LoDashStatic {
3526
+ /**
3527
+ * This method is like _.zip except that it accepts an iteratee to specify how grouped values should be
3528
+ * combined. The iteratee is invoked with four arguments: (accumulator, value, index,
3529
+ * group).
3530
+ * @param arrays The arrays to process.
3531
+ * @param iteratee The function to combine grouped values.
3532
+ * @return Returns the new array of grouped elements.
3533
+ */
3534
+ zipWith<T, TResult>(
3535
+ arrays: List<T>,
3536
+ iteratee: (value1: T) => TResult
3537
+ ): TResult[];
3538
+
3539
+ /**
3540
+ * @see _.zipWith
3541
+ */
3542
+ zipWith<T1, T2, TResult>(
3543
+ arrays1: List<T1>,
3544
+ arrays2: List<T2>,
3545
+ iteratee: (value1: T1, value2: T2) => TResult
3546
+ ): TResult[];
3547
+
3548
+ /**
3549
+ * @see _.zipWith
3550
+ */
3551
+ zipWith<T1, T2, T3, TResult>(
3552
+ arrays1: List<T1>,
3553
+ arrays2: List<T2>,
3554
+ arrays3: List<T3>,
3555
+ iteratee: (value1: T1, value2: T2, value3: T3) => TResult
3556
+ ): TResult[];
3557
+
3558
+ /**
3559
+ * @see _.zipWith
3560
+ */
3561
+ zipWith<T1, T2, T3, T4, TResult>(
3562
+ arrays1: List<T1>,
3563
+ arrays2: List<T2>,
3564
+ arrays3: List<T3>,
3565
+ arrays4: List<T4>,
3566
+ iteratee: (value1: T1, value2: T2, value3: T3, value4: T4) => TResult
3567
+ ): TResult[];
3568
+
3569
+ /**
3570
+ * @see _.zipWith
3571
+ */
3572
+ zipWith<T1, T2, T3, T4, T5, TResult>(
3573
+ arrays1: List<T1>,
3574
+ arrays2: List<T2>,
3575
+ arrays3: List<T3>,
3576
+ arrays4: List<T4>,
3577
+ arrays5: List<T5>,
3578
+ iteratee: (value1: T1, value2: T2, value3: T3, value4: T4, value5: T5) => TResult
3579
+ ): TResult[];
3580
+
3581
+ /**
3582
+ * @see _.zipWith
3583
+ */
3584
+ zipWith<T, TResult>(
3585
+ ...iteratee: Array<((...group: T[]) => TResult) | List<T> | null | undefined>
3586
+ ): TResult[];
3587
+ }
3588
+
3589
+ interface LoDashImplicitWrapper<TValue> {
3590
+ /**
3591
+ * @see _.zipWith
3592
+ */
3593
+ zipWith<T, TResult>(
3594
+ this: LoDashImplicitWrapper<List<T>>,
3595
+ iteratee: (value1: T) => TResult
3596
+ ): LoDashImplicitWrapper<TResult[]>;
3597
+
3598
+ /**
3599
+ * @see _.zipWith
3600
+ */
3601
+ zipWith<T1, T2, TResult>(
3602
+ this: LoDashImplicitWrapper<List<T1>>,
3603
+ arrays2: List<T2>,
3604
+ iteratee: (value1: T1, value2: T2) => TResult
3605
+ ): LoDashImplicitWrapper<TResult[]>;
3606
+
3607
+ /**
3608
+ * @see _.zipWith
3609
+ */
3610
+ zipWith<T1, T2, T3, TResult>(
3611
+ this: LoDashImplicitWrapper<List<T1>>,
3612
+ arrays2: List<T2>,
3613
+ arrays3: List<T3>,
3614
+ iteratee: (value1: T1, value2: T2, value3: T3) => TResult
3615
+ ): LoDashImplicitWrapper<TResult[]>;
3616
+
3617
+ /**
3618
+ * @see _.zipWith
3619
+ */
3620
+ zipWith<T1, T2, T3, T4, TResult>(
3621
+ this: LoDashImplicitWrapper<List<T1>>,
3622
+ arrays2: List<T2>,
3623
+ arrays3: List<T3>,
3624
+ arrays4: List<T4>,
3625
+ iteratee: (value1: T1, value2: T2, value3: T3, value4: T4) => TResult
3626
+ ): LoDashImplicitWrapper<TResult[]>;
3627
+
3628
+ /**
3629
+ * @see _.zipWith
3630
+ */
3631
+ zipWith<T1, T2, T3, T4, T5, TResult>(
3632
+ this: LoDashImplicitWrapper<List<T1>>,
3633
+ arrays2: List<T2>,
3634
+ arrays3: List<T3>,
3635
+ arrays4: List<T4>,
3636
+ arrays5: List<T5>,
3637
+ iteratee: (value1: T1, value2: T2, value3: T3, value4: T4, value5: T5) => TResult
3638
+ ): LoDashImplicitWrapper<TResult[]>;
3639
+
3640
+ /**
3641
+ * @see _.zipWith
3642
+ */
3643
+ zipWith<T, TResult>(
3644
+ this: LoDashImplicitWrapper<List<T> | null | undefined>,
3645
+ ...iteratee: Array<((...group: T[]) => TResult) | List<T> | null | undefined>
3646
+ ): LoDashImplicitWrapper<TResult[]>;
3647
+ }
3648
+
3649
+ interface LoDashExplicitWrapper<TValue> {
3650
+ /**
3651
+ * @see _.zipWith
3652
+ */
3653
+ zipWith<T, TResult>(
3654
+ this: LoDashExplicitWrapper<List<T>>,
3655
+ iteratee: (value1: T) => TResult
3656
+ ): LoDashExplicitWrapper<TResult[]>;
3657
+
3658
+ /**
3659
+ * @see _.zipWith
3660
+ */
3661
+ zipWith<T1, T2, TResult>(
3662
+ this: LoDashExplicitWrapper<List<T1>>,
3663
+ arrays2: List<T2>,
3664
+ iteratee: (value1: T1, value2: T2) => TResult
3665
+ ): LoDashExplicitWrapper<TResult[]>;
3666
+
3667
+ /**
3668
+ * @see _.zipWith
3669
+ */
3670
+ zipWith<T1, T2, T3, TResult>(
3671
+ this: LoDashExplicitWrapper<List<T1>>,
3672
+ arrays2: List<T2>,
3673
+ arrays3: List<T3>,
3674
+ iteratee: (value1: T1, value2: T2, value3: T3) => TResult
3675
+ ): LoDashExplicitWrapper<TResult[]>;
3676
+
3677
+ /**
3678
+ * @see _.zipWith
3679
+ */
3680
+ zipWith<T1, T2, T3, T4, TResult>(
3681
+ this: LoDashExplicitWrapper<List<T1>>,
3682
+ arrays2: List<T2>,
3683
+ arrays3: List<T3>,
3684
+ arrays4: List<T4>,
3685
+ iteratee: (value1: T1, value2: T2, value3: T3, value4: T4) => TResult
3686
+ ): LoDashExplicitWrapper<TResult[]>;
3687
+
3688
+ /**
3689
+ * @see _.zipWith
3690
+ */
3691
+ zipWith<T1, T2, T3, T4, T5, TResult>(
3692
+ this: LoDashExplicitWrapper<List<T1>>,
3693
+ arrays2: List<T2>,
3694
+ arrays3: List<T3>,
3695
+ arrays4: List<T4>,
3696
+ arrays5: List<T5>,
3697
+ iteratee: (value1: T1, value2: T2, value3: T3, value4: T4, value5: T5) => TResult
3698
+ ): LoDashExplicitWrapper<TResult[]>;
3699
+
3700
+ /**
3701
+ * @see _.zipWith
3702
+ */
3703
+ zipWith<T, TResult>(
3704
+ this: LoDashExplicitWrapper<List<T> | null | undefined>,
3705
+ ...iteratee: Array<((...group: T[]) => TResult) | List<T> | null | undefined>
3706
+ ): LoDashExplicitWrapper<TResult[]>;
3707
+ }
3708
+ }