cypress 7.0.1 → 7.4.0

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