cypress 3.1.4 → 3.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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
+ }