@types/lodash 4.14.159 → 4.14.163

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (718) hide show
  1. lodash/README.md +1 -1
  2. lodash/common/array.d.ts +517 -2103
  3. lodash/common/collection.d.ts +912 -1569
  4. lodash/common/common.d.ts +70 -68
  5. lodash/common/date.d.ts +2 -6
  6. lodash/common/function.d.ts +812 -872
  7. lodash/common/lang.d.ts +237 -479
  8. lodash/common/math.d.ts +64 -191
  9. lodash/common/number.d.ts +39 -86
  10. lodash/common/object.d.ts +672 -2274
  11. lodash/common/seq.d.ts +101 -87
  12. lodash/common/string.d.ts +80 -351
  13. lodash/common/util.d.ts +337 -639
  14. lodash/fp.d.ts +694 -751
  15. lodash/index.d.ts +0 -1
  16. lodash/multiply.d.ts +1 -1
  17. lodash/package.json +3 -10
  18. lodash/ts3.1/add.d.ts +0 -2
  19. lodash/ts3.1/after.d.ts +0 -2
  20. lodash/ts3.1/ary.d.ts +0 -2
  21. lodash/ts3.1/assign.d.ts +0 -2
  22. lodash/ts3.1/assignIn.d.ts +0 -2
  23. lodash/ts3.1/assignInWith.d.ts +0 -2
  24. lodash/ts3.1/assignWith.d.ts +0 -2
  25. lodash/ts3.1/at.d.ts +0 -2
  26. lodash/ts3.1/attempt.d.ts +0 -2
  27. lodash/ts3.1/before.d.ts +0 -2
  28. lodash/ts3.1/bind.d.ts +0 -2
  29. lodash/ts3.1/bindAll.d.ts +0 -2
  30. lodash/ts3.1/bindKey.d.ts +0 -2
  31. lodash/ts3.1/camelCase.d.ts +0 -2
  32. lodash/ts3.1/capitalize.d.ts +0 -2
  33. lodash/ts3.1/castArray.d.ts +0 -2
  34. lodash/ts3.1/ceil.d.ts +0 -2
  35. lodash/ts3.1/chain.d.ts +0 -2
  36. lodash/ts3.1/chunk.d.ts +0 -2
  37. lodash/ts3.1/clamp.d.ts +0 -2
  38. lodash/ts3.1/clone.d.ts +0 -2
  39. lodash/ts3.1/cloneDeep.d.ts +0 -2
  40. lodash/ts3.1/cloneDeepWith.d.ts +0 -2
  41. lodash/ts3.1/cloneWith.d.ts +0 -2
  42. lodash/ts3.1/common/array.d.ts +0 -2127
  43. lodash/ts3.1/common/collection.d.ts +0 -1930
  44. lodash/ts3.1/common/common.d.ts +0 -284
  45. lodash/ts3.1/common/date.d.ts +0 -23
  46. lodash/ts3.1/common/function.d.ts +0 -1392
  47. lodash/ts3.1/common/lang.d.ts +0 -1693
  48. lodash/ts3.1/common/math.d.ts +0 -405
  49. lodash/ts3.1/common/number.d.ts +0 -131
  50. lodash/ts3.1/common/object.d.ts +0 -2507
  51. lodash/ts3.1/common/seq.d.ts +0 -210
  52. lodash/ts3.1/common/string.d.ts +0 -788
  53. lodash/ts3.1/common/util.d.ts +0 -1219
  54. lodash/ts3.1/compact.d.ts +0 -2
  55. lodash/ts3.1/concat.d.ts +0 -2
  56. lodash/ts3.1/cond.d.ts +0 -2
  57. lodash/ts3.1/conformsTo.d.ts +0 -2
  58. lodash/ts3.1/constant.d.ts +0 -2
  59. lodash/ts3.1/countBy.d.ts +0 -2
  60. lodash/ts3.1/create.d.ts +0 -2
  61. lodash/ts3.1/curry.d.ts +0 -2
  62. lodash/ts3.1/curryRight.d.ts +0 -2
  63. lodash/ts3.1/debounce.d.ts +0 -2
  64. lodash/ts3.1/deburr.d.ts +0 -2
  65. lodash/ts3.1/defaultTo.d.ts +0 -2
  66. lodash/ts3.1/defaults.d.ts +0 -2
  67. lodash/ts3.1/defaultsDeep.d.ts +0 -2
  68. lodash/ts3.1/defer.d.ts +0 -2
  69. lodash/ts3.1/delay.d.ts +0 -2
  70. lodash/ts3.1/difference.d.ts +0 -2
  71. lodash/ts3.1/differenceBy.d.ts +0 -2
  72. lodash/ts3.1/differenceWith.d.ts +0 -2
  73. lodash/ts3.1/divide.d.ts +0 -2
  74. lodash/ts3.1/drop.d.ts +0 -2
  75. lodash/ts3.1/dropRight.d.ts +0 -2
  76. lodash/ts3.1/dropRightWhile.d.ts +0 -2
  77. lodash/ts3.1/dropWhile.d.ts +0 -2
  78. lodash/ts3.1/each.d.ts +0 -2
  79. lodash/ts3.1/eachRight.d.ts +0 -2
  80. lodash/ts3.1/endsWith.d.ts +0 -2
  81. lodash/ts3.1/entries.d.ts +0 -2
  82. lodash/ts3.1/entriesIn.d.ts +0 -2
  83. lodash/ts3.1/eq.d.ts +0 -2
  84. lodash/ts3.1/escape.d.ts +0 -2
  85. lodash/ts3.1/escapeRegExp.d.ts +0 -2
  86. lodash/ts3.1/every.d.ts +0 -2
  87. lodash/ts3.1/extend.d.ts +0 -2
  88. lodash/ts3.1/extendWith.d.ts +0 -2
  89. lodash/ts3.1/fill.d.ts +0 -2
  90. lodash/ts3.1/filter.d.ts +0 -2
  91. lodash/ts3.1/find.d.ts +0 -2
  92. lodash/ts3.1/findIndex.d.ts +0 -2
  93. lodash/ts3.1/findKey.d.ts +0 -2
  94. lodash/ts3.1/findLast.d.ts +0 -2
  95. lodash/ts3.1/findLastIndex.d.ts +0 -2
  96. lodash/ts3.1/findLastKey.d.ts +0 -2
  97. lodash/ts3.1/first.d.ts +0 -2
  98. lodash/ts3.1/flatMap.d.ts +0 -2
  99. lodash/ts3.1/flatMapDeep.d.ts +0 -2
  100. lodash/ts3.1/flatMapDepth.d.ts +0 -2
  101. lodash/ts3.1/flatten.d.ts +0 -2
  102. lodash/ts3.1/flattenDeep.d.ts +0 -2
  103. lodash/ts3.1/flattenDepth.d.ts +0 -2
  104. lodash/ts3.1/flip.d.ts +0 -2
  105. lodash/ts3.1/floor.d.ts +0 -2
  106. lodash/ts3.1/flow.d.ts +0 -2
  107. lodash/ts3.1/flowRight.d.ts +0 -2
  108. lodash/ts3.1/forEach.d.ts +0 -2
  109. lodash/ts3.1/forEachRight.d.ts +0 -2
  110. lodash/ts3.1/forIn.d.ts +0 -2
  111. lodash/ts3.1/forInRight.d.ts +0 -2
  112. lodash/ts3.1/forOwn.d.ts +0 -2
  113. lodash/ts3.1/forOwnRight.d.ts +0 -2
  114. lodash/ts3.1/fp/F.d.ts +0 -2
  115. lodash/ts3.1/fp/T.d.ts +0 -2
  116. lodash/ts3.1/fp/__.d.ts +0 -3
  117. lodash/ts3.1/fp/add.d.ts +0 -2
  118. lodash/ts3.1/fp/after.d.ts +0 -2
  119. lodash/ts3.1/fp/all.d.ts +0 -2
  120. lodash/ts3.1/fp/allPass.d.ts +0 -2
  121. lodash/ts3.1/fp/always.d.ts +0 -2
  122. lodash/ts3.1/fp/any.d.ts +0 -2
  123. lodash/ts3.1/fp/anyPass.d.ts +0 -2
  124. lodash/ts3.1/fp/apply.d.ts +0 -2
  125. lodash/ts3.1/fp/ary.d.ts +0 -2
  126. lodash/ts3.1/fp/assign.d.ts +0 -2
  127. lodash/ts3.1/fp/assignAll.d.ts +0 -2
  128. lodash/ts3.1/fp/assignAllWith.d.ts +0 -2
  129. lodash/ts3.1/fp/assignIn.d.ts +0 -2
  130. lodash/ts3.1/fp/assignInAll.d.ts +0 -2
  131. lodash/ts3.1/fp/assignInAllWith.d.ts +0 -2
  132. lodash/ts3.1/fp/assignInWith.d.ts +0 -2
  133. lodash/ts3.1/fp/assignWith.d.ts +0 -2
  134. lodash/ts3.1/fp/assoc.d.ts +0 -2
  135. lodash/ts3.1/fp/assocPath.d.ts +0 -2
  136. lodash/ts3.1/fp/at.d.ts +0 -2
  137. lodash/ts3.1/fp/attempt.d.ts +0 -2
  138. lodash/ts3.1/fp/before.d.ts +0 -2
  139. lodash/ts3.1/fp/bind.d.ts +0 -2
  140. lodash/ts3.1/fp/bindAll.d.ts +0 -2
  141. lodash/ts3.1/fp/bindKey.d.ts +0 -2
  142. lodash/ts3.1/fp/camelCase.d.ts +0 -2
  143. lodash/ts3.1/fp/capitalize.d.ts +0 -2
  144. lodash/ts3.1/fp/castArray.d.ts +0 -2
  145. lodash/ts3.1/fp/ceil.d.ts +0 -2
  146. lodash/ts3.1/fp/chunk.d.ts +0 -2
  147. lodash/ts3.1/fp/clamp.d.ts +0 -2
  148. lodash/ts3.1/fp/clone.d.ts +0 -2
  149. lodash/ts3.1/fp/cloneDeep.d.ts +0 -2
  150. lodash/ts3.1/fp/cloneDeepWith.d.ts +0 -2
  151. lodash/ts3.1/fp/cloneWith.d.ts +0 -2
  152. lodash/ts3.1/fp/compact.d.ts +0 -2
  153. lodash/ts3.1/fp/complement.d.ts +0 -2
  154. lodash/ts3.1/fp/compose.d.ts +0 -2
  155. lodash/ts3.1/fp/concat.d.ts +0 -2
  156. lodash/ts3.1/fp/cond.d.ts +0 -2
  157. lodash/ts3.1/fp/conforms.d.ts +0 -2
  158. lodash/ts3.1/fp/conformsTo.d.ts +0 -2
  159. lodash/ts3.1/fp/constant.d.ts +0 -2
  160. lodash/ts3.1/fp/contains.d.ts +0 -2
  161. lodash/ts3.1/fp/convert.d.ts +0 -15
  162. lodash/ts3.1/fp/countBy.d.ts +0 -2
  163. lodash/ts3.1/fp/create.d.ts +0 -2
  164. lodash/ts3.1/fp/curry.d.ts +0 -2
  165. lodash/ts3.1/fp/curryN.d.ts +0 -2
  166. lodash/ts3.1/fp/curryRight.d.ts +0 -2
  167. lodash/ts3.1/fp/curryRightN.d.ts +0 -2
  168. lodash/ts3.1/fp/debounce.d.ts +0 -2
  169. lodash/ts3.1/fp/deburr.d.ts +0 -2
  170. lodash/ts3.1/fp/defaultTo.d.ts +0 -2
  171. lodash/ts3.1/fp/defaults.d.ts +0 -2
  172. lodash/ts3.1/fp/defaultsAll.d.ts +0 -2
  173. lodash/ts3.1/fp/defaultsDeep.d.ts +0 -2
  174. lodash/ts3.1/fp/defaultsDeepAll.d.ts +0 -2
  175. lodash/ts3.1/fp/defer.d.ts +0 -2
  176. lodash/ts3.1/fp/delay.d.ts +0 -2
  177. lodash/ts3.1/fp/difference.d.ts +0 -2
  178. lodash/ts3.1/fp/differenceBy.d.ts +0 -2
  179. lodash/ts3.1/fp/differenceWith.d.ts +0 -2
  180. lodash/ts3.1/fp/dissoc.d.ts +0 -2
  181. lodash/ts3.1/fp/dissocPath.d.ts +0 -2
  182. lodash/ts3.1/fp/divide.d.ts +0 -2
  183. lodash/ts3.1/fp/drop.d.ts +0 -2
  184. lodash/ts3.1/fp/dropLast.d.ts +0 -2
  185. lodash/ts3.1/fp/dropLastWhile.d.ts +0 -2
  186. lodash/ts3.1/fp/dropRight.d.ts +0 -2
  187. lodash/ts3.1/fp/dropRightWhile.d.ts +0 -2
  188. lodash/ts3.1/fp/dropWhile.d.ts +0 -2
  189. lodash/ts3.1/fp/each.d.ts +0 -2
  190. lodash/ts3.1/fp/eachRight.d.ts +0 -2
  191. lodash/ts3.1/fp/endsWith.d.ts +0 -2
  192. lodash/ts3.1/fp/entries.d.ts +0 -2
  193. lodash/ts3.1/fp/entriesIn.d.ts +0 -2
  194. lodash/ts3.1/fp/eq.d.ts +0 -2
  195. lodash/ts3.1/fp/equals.d.ts +0 -2
  196. lodash/ts3.1/fp/escape.d.ts +0 -2
  197. lodash/ts3.1/fp/escapeRegExp.d.ts +0 -2
  198. lodash/ts3.1/fp/every.d.ts +0 -2
  199. lodash/ts3.1/fp/extend.d.ts +0 -2
  200. lodash/ts3.1/fp/extendAll.d.ts +0 -2
  201. lodash/ts3.1/fp/extendAllWith.d.ts +0 -2
  202. lodash/ts3.1/fp/extendWith.d.ts +0 -2
  203. lodash/ts3.1/fp/fill.d.ts +0 -2
  204. lodash/ts3.1/fp/filter.d.ts +0 -2
  205. lodash/ts3.1/fp/find.d.ts +0 -2
  206. lodash/ts3.1/fp/findFrom.d.ts +0 -2
  207. lodash/ts3.1/fp/findIndex.d.ts +0 -2
  208. lodash/ts3.1/fp/findIndexFrom.d.ts +0 -2
  209. lodash/ts3.1/fp/findKey.d.ts +0 -2
  210. lodash/ts3.1/fp/findLast.d.ts +0 -2
  211. lodash/ts3.1/fp/findLastFrom.d.ts +0 -2
  212. lodash/ts3.1/fp/findLastIndex.d.ts +0 -2
  213. lodash/ts3.1/fp/findLastIndexFrom.d.ts +0 -2
  214. lodash/ts3.1/fp/findLastKey.d.ts +0 -2
  215. lodash/ts3.1/fp/first.d.ts +0 -2
  216. lodash/ts3.1/fp/flatMap.d.ts +0 -2
  217. lodash/ts3.1/fp/flatMapDeep.d.ts +0 -2
  218. lodash/ts3.1/fp/flatMapDepth.d.ts +0 -2
  219. lodash/ts3.1/fp/flatten.d.ts +0 -2
  220. lodash/ts3.1/fp/flattenDeep.d.ts +0 -2
  221. lodash/ts3.1/fp/flattenDepth.d.ts +0 -2
  222. lodash/ts3.1/fp/flip.d.ts +0 -2
  223. lodash/ts3.1/fp/floor.d.ts +0 -2
  224. lodash/ts3.1/fp/flow.d.ts +0 -2
  225. lodash/ts3.1/fp/flowRight.d.ts +0 -2
  226. lodash/ts3.1/fp/forEach.d.ts +0 -2
  227. lodash/ts3.1/fp/forEachRight.d.ts +0 -2
  228. lodash/ts3.1/fp/forIn.d.ts +0 -2
  229. lodash/ts3.1/fp/forInRight.d.ts +0 -2
  230. lodash/ts3.1/fp/forOwn.d.ts +0 -2
  231. lodash/ts3.1/fp/forOwnRight.d.ts +0 -2
  232. lodash/ts3.1/fp/fromPairs.d.ts +0 -2
  233. lodash/ts3.1/fp/functions.d.ts +0 -2
  234. lodash/ts3.1/fp/functionsIn.d.ts +0 -2
  235. lodash/ts3.1/fp/get.d.ts +0 -2
  236. lodash/ts3.1/fp/getOr.d.ts +0 -2
  237. lodash/ts3.1/fp/groupBy.d.ts +0 -2
  238. lodash/ts3.1/fp/gt.d.ts +0 -2
  239. lodash/ts3.1/fp/gte.d.ts +0 -2
  240. lodash/ts3.1/fp/has.d.ts +0 -2
  241. lodash/ts3.1/fp/hasIn.d.ts +0 -2
  242. lodash/ts3.1/fp/head.d.ts +0 -2
  243. lodash/ts3.1/fp/identical.d.ts +0 -2
  244. lodash/ts3.1/fp/identity.d.ts +0 -2
  245. lodash/ts3.1/fp/inRange.d.ts +0 -2
  246. lodash/ts3.1/fp/includes.d.ts +0 -2
  247. lodash/ts3.1/fp/includesFrom.d.ts +0 -2
  248. lodash/ts3.1/fp/indexBy.d.ts +0 -2
  249. lodash/ts3.1/fp/indexOf.d.ts +0 -2
  250. lodash/ts3.1/fp/indexOfFrom.d.ts +0 -2
  251. lodash/ts3.1/fp/init.d.ts +0 -2
  252. lodash/ts3.1/fp/initial.d.ts +0 -2
  253. lodash/ts3.1/fp/intersection.d.ts +0 -2
  254. lodash/ts3.1/fp/intersectionBy.d.ts +0 -2
  255. lodash/ts3.1/fp/intersectionWith.d.ts +0 -2
  256. lodash/ts3.1/fp/invert.d.ts +0 -2
  257. lodash/ts3.1/fp/invertBy.d.ts +0 -2
  258. lodash/ts3.1/fp/invertObj.d.ts +0 -2
  259. lodash/ts3.1/fp/invoke.d.ts +0 -2
  260. lodash/ts3.1/fp/invokeArgs.d.ts +0 -2
  261. lodash/ts3.1/fp/invokeArgsMap.d.ts +0 -2
  262. lodash/ts3.1/fp/invokeMap.d.ts +0 -2
  263. lodash/ts3.1/fp/isArguments.d.ts +0 -2
  264. lodash/ts3.1/fp/isArray.d.ts +0 -2
  265. lodash/ts3.1/fp/isArrayBuffer.d.ts +0 -2
  266. lodash/ts3.1/fp/isArrayLike.d.ts +0 -2
  267. lodash/ts3.1/fp/isArrayLikeObject.d.ts +0 -2
  268. lodash/ts3.1/fp/isBoolean.d.ts +0 -2
  269. lodash/ts3.1/fp/isBuffer.d.ts +0 -2
  270. lodash/ts3.1/fp/isDate.d.ts +0 -2
  271. lodash/ts3.1/fp/isElement.d.ts +0 -2
  272. lodash/ts3.1/fp/isEmpty.d.ts +0 -2
  273. lodash/ts3.1/fp/isEqual.d.ts +0 -2
  274. lodash/ts3.1/fp/isEqualWith.d.ts +0 -2
  275. lodash/ts3.1/fp/isError.d.ts +0 -2
  276. lodash/ts3.1/fp/isFinite.d.ts +0 -2
  277. lodash/ts3.1/fp/isFunction.d.ts +0 -2
  278. lodash/ts3.1/fp/isInteger.d.ts +0 -2
  279. lodash/ts3.1/fp/isLength.d.ts +0 -2
  280. lodash/ts3.1/fp/isMap.d.ts +0 -2
  281. lodash/ts3.1/fp/isMatch.d.ts +0 -2
  282. lodash/ts3.1/fp/isMatchWith.d.ts +0 -2
  283. lodash/ts3.1/fp/isNaN.d.ts +0 -2
  284. lodash/ts3.1/fp/isNative.d.ts +0 -2
  285. lodash/ts3.1/fp/isNil.d.ts +0 -2
  286. lodash/ts3.1/fp/isNull.d.ts +0 -2
  287. lodash/ts3.1/fp/isNumber.d.ts +0 -2
  288. lodash/ts3.1/fp/isObject.d.ts +0 -2
  289. lodash/ts3.1/fp/isObjectLike.d.ts +0 -2
  290. lodash/ts3.1/fp/isPlainObject.d.ts +0 -2
  291. lodash/ts3.1/fp/isRegExp.d.ts +0 -2
  292. lodash/ts3.1/fp/isSafeInteger.d.ts +0 -2
  293. lodash/ts3.1/fp/isSet.d.ts +0 -2
  294. lodash/ts3.1/fp/isString.d.ts +0 -2
  295. lodash/ts3.1/fp/isSymbol.d.ts +0 -2
  296. lodash/ts3.1/fp/isTypedArray.d.ts +0 -2
  297. lodash/ts3.1/fp/isUndefined.d.ts +0 -2
  298. lodash/ts3.1/fp/isWeakMap.d.ts +0 -2
  299. lodash/ts3.1/fp/isWeakSet.d.ts +0 -2
  300. lodash/ts3.1/fp/iteratee.d.ts +0 -2
  301. lodash/ts3.1/fp/join.d.ts +0 -2
  302. lodash/ts3.1/fp/juxt.d.ts +0 -2
  303. lodash/ts3.1/fp/kebabCase.d.ts +0 -2
  304. lodash/ts3.1/fp/keyBy.d.ts +0 -2
  305. lodash/ts3.1/fp/keys.d.ts +0 -2
  306. lodash/ts3.1/fp/keysIn.d.ts +0 -2
  307. lodash/ts3.1/fp/last.d.ts +0 -2
  308. lodash/ts3.1/fp/lastIndexOf.d.ts +0 -2
  309. lodash/ts3.1/fp/lastIndexOfFrom.d.ts +0 -2
  310. lodash/ts3.1/fp/lowerCase.d.ts +0 -2
  311. lodash/ts3.1/fp/lowerFirst.d.ts +0 -2
  312. lodash/ts3.1/fp/lt.d.ts +0 -2
  313. lodash/ts3.1/fp/lte.d.ts +0 -2
  314. lodash/ts3.1/fp/map.d.ts +0 -2
  315. lodash/ts3.1/fp/mapKeys.d.ts +0 -2
  316. lodash/ts3.1/fp/mapValues.d.ts +0 -2
  317. lodash/ts3.1/fp/matches.d.ts +0 -2
  318. lodash/ts3.1/fp/matchesProperty.d.ts +0 -2
  319. lodash/ts3.1/fp/max.d.ts +0 -2
  320. lodash/ts3.1/fp/maxBy.d.ts +0 -2
  321. lodash/ts3.1/fp/mean.d.ts +0 -2
  322. lodash/ts3.1/fp/meanBy.d.ts +0 -2
  323. lodash/ts3.1/fp/memoize.d.ts +0 -2
  324. lodash/ts3.1/fp/merge.d.ts +0 -2
  325. lodash/ts3.1/fp/mergeAll.d.ts +0 -2
  326. lodash/ts3.1/fp/mergeAllWith.d.ts +0 -2
  327. lodash/ts3.1/fp/mergeWith.d.ts +0 -2
  328. lodash/ts3.1/fp/method.d.ts +0 -2
  329. lodash/ts3.1/fp/methodOf.d.ts +0 -2
  330. lodash/ts3.1/fp/min.d.ts +0 -2
  331. lodash/ts3.1/fp/minBy.d.ts +0 -2
  332. lodash/ts3.1/fp/multiply.d.ts +0 -2
  333. lodash/ts3.1/fp/nAry.d.ts +0 -2
  334. lodash/ts3.1/fp/negate.d.ts +0 -2
  335. lodash/ts3.1/fp/noConflict.d.ts +0 -2
  336. lodash/ts3.1/fp/noop.d.ts +0 -2
  337. lodash/ts3.1/fp/now.d.ts +0 -2
  338. lodash/ts3.1/fp/nth.d.ts +0 -2
  339. lodash/ts3.1/fp/nthArg.d.ts +0 -2
  340. lodash/ts3.1/fp/omit.d.ts +0 -2
  341. lodash/ts3.1/fp/omitAll.d.ts +0 -2
  342. lodash/ts3.1/fp/omitBy.d.ts +0 -2
  343. lodash/ts3.1/fp/once.d.ts +0 -2
  344. lodash/ts3.1/fp/orderBy.d.ts +0 -2
  345. lodash/ts3.1/fp/over.d.ts +0 -2
  346. lodash/ts3.1/fp/overArgs.d.ts +0 -2
  347. lodash/ts3.1/fp/overEvery.d.ts +0 -2
  348. lodash/ts3.1/fp/overSome.d.ts +0 -2
  349. lodash/ts3.1/fp/pad.d.ts +0 -2
  350. lodash/ts3.1/fp/padChars.d.ts +0 -2
  351. lodash/ts3.1/fp/padCharsEnd.d.ts +0 -2
  352. lodash/ts3.1/fp/padCharsStart.d.ts +0 -2
  353. lodash/ts3.1/fp/padEnd.d.ts +0 -2
  354. lodash/ts3.1/fp/padStart.d.ts +0 -2
  355. lodash/ts3.1/fp/parseInt.d.ts +0 -2
  356. lodash/ts3.1/fp/partial.d.ts +0 -2
  357. lodash/ts3.1/fp/partialRight.d.ts +0 -2
  358. lodash/ts3.1/fp/partition.d.ts +0 -2
  359. lodash/ts3.1/fp/path.d.ts +0 -2
  360. lodash/ts3.1/fp/pathEq.d.ts +0 -2
  361. lodash/ts3.1/fp/pathOr.d.ts +0 -2
  362. lodash/ts3.1/fp/paths.d.ts +0 -2
  363. lodash/ts3.1/fp/pick.d.ts +0 -2
  364. lodash/ts3.1/fp/pickAll.d.ts +0 -2
  365. lodash/ts3.1/fp/pickBy.d.ts +0 -2
  366. lodash/ts3.1/fp/pipe.d.ts +0 -2
  367. lodash/ts3.1/fp/placeholder.d.ts +0 -3
  368. lodash/ts3.1/fp/pluck.d.ts +0 -2
  369. lodash/ts3.1/fp/prop.d.ts +0 -2
  370. lodash/ts3.1/fp/propEq.d.ts +0 -2
  371. lodash/ts3.1/fp/propOr.d.ts +0 -2
  372. lodash/ts3.1/fp/property.d.ts +0 -2
  373. lodash/ts3.1/fp/propertyOf.d.ts +0 -2
  374. lodash/ts3.1/fp/props.d.ts +0 -2
  375. lodash/ts3.1/fp/pull.d.ts +0 -2
  376. lodash/ts3.1/fp/pullAll.d.ts +0 -2
  377. lodash/ts3.1/fp/pullAllBy.d.ts +0 -2
  378. lodash/ts3.1/fp/pullAllWith.d.ts +0 -2
  379. lodash/ts3.1/fp/pullAt.d.ts +0 -2
  380. lodash/ts3.1/fp/random.d.ts +0 -2
  381. lodash/ts3.1/fp/range.d.ts +0 -2
  382. lodash/ts3.1/fp/rangeRight.d.ts +0 -2
  383. lodash/ts3.1/fp/rangeStep.d.ts +0 -2
  384. lodash/ts3.1/fp/rangeStepRight.d.ts +0 -2
  385. lodash/ts3.1/fp/rearg.d.ts +0 -2
  386. lodash/ts3.1/fp/reduce.d.ts +0 -2
  387. lodash/ts3.1/fp/reduceRight.d.ts +0 -2
  388. lodash/ts3.1/fp/reject.d.ts +0 -2
  389. lodash/ts3.1/fp/remove.d.ts +0 -2
  390. lodash/ts3.1/fp/repeat.d.ts +0 -2
  391. lodash/ts3.1/fp/replace.d.ts +0 -2
  392. lodash/ts3.1/fp/rest.d.ts +0 -2
  393. lodash/ts3.1/fp/restFrom.d.ts +0 -2
  394. lodash/ts3.1/fp/result.d.ts +0 -2
  395. lodash/ts3.1/fp/reverse.d.ts +0 -2
  396. lodash/ts3.1/fp/round.d.ts +0 -2
  397. lodash/ts3.1/fp/runInContext.d.ts +0 -2
  398. lodash/ts3.1/fp/sample.d.ts +0 -2
  399. lodash/ts3.1/fp/sampleSize.d.ts +0 -2
  400. lodash/ts3.1/fp/set.d.ts +0 -2
  401. lodash/ts3.1/fp/setWith.d.ts +0 -2
  402. lodash/ts3.1/fp/shuffle.d.ts +0 -2
  403. lodash/ts3.1/fp/size.d.ts +0 -2
  404. lodash/ts3.1/fp/slice.d.ts +0 -2
  405. lodash/ts3.1/fp/snakeCase.d.ts +0 -2
  406. lodash/ts3.1/fp/some.d.ts +0 -2
  407. lodash/ts3.1/fp/sortBy.d.ts +0 -2
  408. lodash/ts3.1/fp/sortedIndex.d.ts +0 -2
  409. lodash/ts3.1/fp/sortedIndexBy.d.ts +0 -2
  410. lodash/ts3.1/fp/sortedIndexOf.d.ts +0 -2
  411. lodash/ts3.1/fp/sortedLastIndex.d.ts +0 -2
  412. lodash/ts3.1/fp/sortedLastIndexBy.d.ts +0 -2
  413. lodash/ts3.1/fp/sortedLastIndexOf.d.ts +0 -2
  414. lodash/ts3.1/fp/sortedUniq.d.ts +0 -2
  415. lodash/ts3.1/fp/sortedUniqBy.d.ts +0 -2
  416. lodash/ts3.1/fp/split.d.ts +0 -2
  417. lodash/ts3.1/fp/spread.d.ts +0 -2
  418. lodash/ts3.1/fp/spreadFrom.d.ts +0 -2
  419. lodash/ts3.1/fp/startCase.d.ts +0 -2
  420. lodash/ts3.1/fp/startsWith.d.ts +0 -2
  421. lodash/ts3.1/fp/stubArray.d.ts +0 -2
  422. lodash/ts3.1/fp/stubFalse.d.ts +0 -2
  423. lodash/ts3.1/fp/stubObject.d.ts +0 -2
  424. lodash/ts3.1/fp/stubString.d.ts +0 -2
  425. lodash/ts3.1/fp/stubTrue.d.ts +0 -2
  426. lodash/ts3.1/fp/subtract.d.ts +0 -2
  427. lodash/ts3.1/fp/sum.d.ts +0 -2
  428. lodash/ts3.1/fp/sumBy.d.ts +0 -2
  429. lodash/ts3.1/fp/symmetricDifference.d.ts +0 -2
  430. lodash/ts3.1/fp/symmetricDifferenceBy.d.ts +0 -2
  431. lodash/ts3.1/fp/symmetricDifferenceWith.d.ts +0 -2
  432. lodash/ts3.1/fp/tail.d.ts +0 -2
  433. lodash/ts3.1/fp/take.d.ts +0 -2
  434. lodash/ts3.1/fp/takeLast.d.ts +0 -2
  435. lodash/ts3.1/fp/takeLastWhile.d.ts +0 -2
  436. lodash/ts3.1/fp/takeRight.d.ts +0 -2
  437. lodash/ts3.1/fp/takeRightWhile.d.ts +0 -2
  438. lodash/ts3.1/fp/takeWhile.d.ts +0 -2
  439. lodash/ts3.1/fp/tap.d.ts +0 -2
  440. lodash/ts3.1/fp/template.d.ts +0 -2
  441. lodash/ts3.1/fp/throttle.d.ts +0 -2
  442. lodash/ts3.1/fp/thru.d.ts +0 -2
  443. lodash/ts3.1/fp/times.d.ts +0 -2
  444. lodash/ts3.1/fp/toArray.d.ts +0 -2
  445. lodash/ts3.1/fp/toFinite.d.ts +0 -2
  446. lodash/ts3.1/fp/toInteger.d.ts +0 -2
  447. lodash/ts3.1/fp/toLength.d.ts +0 -2
  448. lodash/ts3.1/fp/toLower.d.ts +0 -2
  449. lodash/ts3.1/fp/toNumber.d.ts +0 -2
  450. lodash/ts3.1/fp/toPairs.d.ts +0 -2
  451. lodash/ts3.1/fp/toPairsIn.d.ts +0 -2
  452. lodash/ts3.1/fp/toPath.d.ts +0 -2
  453. lodash/ts3.1/fp/toPlainObject.d.ts +0 -2
  454. lodash/ts3.1/fp/toSafeInteger.d.ts +0 -2
  455. lodash/ts3.1/fp/toString.d.ts +0 -2
  456. lodash/ts3.1/fp/toUpper.d.ts +0 -2
  457. lodash/ts3.1/fp/transform.d.ts +0 -2
  458. lodash/ts3.1/fp/trim.d.ts +0 -2
  459. lodash/ts3.1/fp/trimChars.d.ts +0 -2
  460. lodash/ts3.1/fp/trimCharsEnd.d.ts +0 -2
  461. lodash/ts3.1/fp/trimCharsStart.d.ts +0 -2
  462. lodash/ts3.1/fp/trimEnd.d.ts +0 -2
  463. lodash/ts3.1/fp/trimStart.d.ts +0 -2
  464. lodash/ts3.1/fp/truncate.d.ts +0 -2
  465. lodash/ts3.1/fp/unapply.d.ts +0 -2
  466. lodash/ts3.1/fp/unary.d.ts +0 -2
  467. lodash/ts3.1/fp/unescape.d.ts +0 -2
  468. lodash/ts3.1/fp/union.d.ts +0 -2
  469. lodash/ts3.1/fp/unionBy.d.ts +0 -2
  470. lodash/ts3.1/fp/unionWith.d.ts +0 -2
  471. lodash/ts3.1/fp/uniq.d.ts +0 -2
  472. lodash/ts3.1/fp/uniqBy.d.ts +0 -2
  473. lodash/ts3.1/fp/uniqWith.d.ts +0 -2
  474. lodash/ts3.1/fp/uniqueId.d.ts +0 -2
  475. lodash/ts3.1/fp/unnest.d.ts +0 -2
  476. lodash/ts3.1/fp/unset.d.ts +0 -2
  477. lodash/ts3.1/fp/unzip.d.ts +0 -2
  478. lodash/ts3.1/fp/unzipWith.d.ts +0 -2
  479. lodash/ts3.1/fp/update.d.ts +0 -2
  480. lodash/ts3.1/fp/updateWith.d.ts +0 -2
  481. lodash/ts3.1/fp/upperCase.d.ts +0 -2
  482. lodash/ts3.1/fp/upperFirst.d.ts +0 -2
  483. lodash/ts3.1/fp/useWith.d.ts +0 -2
  484. lodash/ts3.1/fp/values.d.ts +0 -2
  485. lodash/ts3.1/fp/valuesIn.d.ts +0 -2
  486. lodash/ts3.1/fp/where.d.ts +0 -2
  487. lodash/ts3.1/fp/whereEq.d.ts +0 -2
  488. lodash/ts3.1/fp/without.d.ts +0 -2
  489. lodash/ts3.1/fp/words.d.ts +0 -2
  490. lodash/ts3.1/fp/wrap.d.ts +0 -2
  491. lodash/ts3.1/fp/xor.d.ts +0 -2
  492. lodash/ts3.1/fp/xorBy.d.ts +0 -2
  493. lodash/ts3.1/fp/xorWith.d.ts +0 -2
  494. lodash/ts3.1/fp/zip.d.ts +0 -2
  495. lodash/ts3.1/fp/zipAll.d.ts +0 -2
  496. lodash/ts3.1/fp/zipObj.d.ts +0 -2
  497. lodash/ts3.1/fp/zipObject.d.ts +0 -2
  498. lodash/ts3.1/fp/zipObjectDeep.d.ts +0 -2
  499. lodash/ts3.1/fp/zipWith.d.ts +0 -2
  500. lodash/ts3.1/fp.d.ts +0 -4938
  501. lodash/ts3.1/fromPairs.d.ts +0 -2
  502. lodash/ts3.1/functions.d.ts +0 -2
  503. lodash/ts3.1/functionsIn.d.ts +0 -2
  504. lodash/ts3.1/get.d.ts +0 -2
  505. lodash/ts3.1/groupBy.d.ts +0 -2
  506. lodash/ts3.1/gt.d.ts +0 -2
  507. lodash/ts3.1/gte.d.ts +0 -2
  508. lodash/ts3.1/has.d.ts +0 -2
  509. lodash/ts3.1/hasIn.d.ts +0 -2
  510. lodash/ts3.1/head.d.ts +0 -2
  511. lodash/ts3.1/identity.d.ts +0 -2
  512. lodash/ts3.1/inRange.d.ts +0 -2
  513. lodash/ts3.1/includes.d.ts +0 -2
  514. lodash/ts3.1/index.d.ts +0 -33
  515. lodash/ts3.1/indexOf.d.ts +0 -2
  516. lodash/ts3.1/initial.d.ts +0 -2
  517. lodash/ts3.1/intersection.d.ts +0 -2
  518. lodash/ts3.1/intersectionBy.d.ts +0 -2
  519. lodash/ts3.1/intersectionWith.d.ts +0 -2
  520. lodash/ts3.1/invert.d.ts +0 -2
  521. lodash/ts3.1/invertBy.d.ts +0 -2
  522. lodash/ts3.1/invoke.d.ts +0 -2
  523. lodash/ts3.1/invokeMap.d.ts +0 -2
  524. lodash/ts3.1/isArguments.d.ts +0 -2
  525. lodash/ts3.1/isArray.d.ts +0 -2
  526. lodash/ts3.1/isArrayBuffer.d.ts +0 -2
  527. lodash/ts3.1/isArrayLike.d.ts +0 -2
  528. lodash/ts3.1/isArrayLikeObject.d.ts +0 -2
  529. lodash/ts3.1/isBoolean.d.ts +0 -2
  530. lodash/ts3.1/isBuffer.d.ts +0 -2
  531. lodash/ts3.1/isDate.d.ts +0 -2
  532. lodash/ts3.1/isElement.d.ts +0 -2
  533. lodash/ts3.1/isEmpty.d.ts +0 -2
  534. lodash/ts3.1/isEqual.d.ts +0 -2
  535. lodash/ts3.1/isEqualWith.d.ts +0 -2
  536. lodash/ts3.1/isError.d.ts +0 -2
  537. lodash/ts3.1/isFinite.d.ts +0 -2
  538. lodash/ts3.1/isFunction.d.ts +0 -2
  539. lodash/ts3.1/isInteger.d.ts +0 -2
  540. lodash/ts3.1/isLength.d.ts +0 -2
  541. lodash/ts3.1/isMap.d.ts +0 -2
  542. lodash/ts3.1/isMatch.d.ts +0 -2
  543. lodash/ts3.1/isMatchWith.d.ts +0 -2
  544. lodash/ts3.1/isNaN.d.ts +0 -2
  545. lodash/ts3.1/isNative.d.ts +0 -2
  546. lodash/ts3.1/isNil.d.ts +0 -2
  547. lodash/ts3.1/isNull.d.ts +0 -2
  548. lodash/ts3.1/isNumber.d.ts +0 -2
  549. lodash/ts3.1/isObject.d.ts +0 -2
  550. lodash/ts3.1/isObjectLike.d.ts +0 -2
  551. lodash/ts3.1/isPlainObject.d.ts +0 -2
  552. lodash/ts3.1/isRegExp.d.ts +0 -2
  553. lodash/ts3.1/isSafeInteger.d.ts +0 -2
  554. lodash/ts3.1/isSet.d.ts +0 -2
  555. lodash/ts3.1/isString.d.ts +0 -2
  556. lodash/ts3.1/isSymbol.d.ts +0 -2
  557. lodash/ts3.1/isTypedArray.d.ts +0 -2
  558. lodash/ts3.1/isUndefined.d.ts +0 -2
  559. lodash/ts3.1/isWeakMap.d.ts +0 -2
  560. lodash/ts3.1/isWeakSet.d.ts +0 -2
  561. lodash/ts3.1/iteratee.d.ts +0 -2
  562. lodash/ts3.1/join.d.ts +0 -2
  563. lodash/ts3.1/kebabCase.d.ts +0 -2
  564. lodash/ts3.1/keyBy.d.ts +0 -2
  565. lodash/ts3.1/keys.d.ts +0 -2
  566. lodash/ts3.1/keysIn.d.ts +0 -2
  567. lodash/ts3.1/last.d.ts +0 -2
  568. lodash/ts3.1/lastIndexOf.d.ts +0 -2
  569. lodash/ts3.1/lowerCase.d.ts +0 -2
  570. lodash/ts3.1/lowerFirst.d.ts +0 -2
  571. lodash/ts3.1/lt.d.ts +0 -2
  572. lodash/ts3.1/lte.d.ts +0 -2
  573. lodash/ts3.1/map.d.ts +0 -2
  574. lodash/ts3.1/mapKeys.d.ts +0 -2
  575. lodash/ts3.1/mapValues.d.ts +0 -2
  576. lodash/ts3.1/matches.d.ts +0 -2
  577. lodash/ts3.1/matchesProperty.d.ts +0 -2
  578. lodash/ts3.1/max.d.ts +0 -2
  579. lodash/ts3.1/maxBy.d.ts +0 -2
  580. lodash/ts3.1/mean.d.ts +0 -2
  581. lodash/ts3.1/meanBy.d.ts +0 -2
  582. lodash/ts3.1/memoize.d.ts +0 -2
  583. lodash/ts3.1/merge.d.ts +0 -2
  584. lodash/ts3.1/mergeWith.d.ts +0 -2
  585. lodash/ts3.1/method.d.ts +0 -2
  586. lodash/ts3.1/methodOf.d.ts +0 -2
  587. lodash/ts3.1/min.d.ts +0 -2
  588. lodash/ts3.1/minBy.d.ts +0 -2
  589. lodash/ts3.1/mixin.d.ts +0 -2
  590. lodash/ts3.1/multiply.d.ts +0 -2
  591. lodash/ts3.1/negate.d.ts +0 -2
  592. lodash/ts3.1/noConflict.d.ts +0 -2
  593. lodash/ts3.1/noop.d.ts +0 -2
  594. lodash/ts3.1/now.d.ts +0 -2
  595. lodash/ts3.1/nth.d.ts +0 -2
  596. lodash/ts3.1/nthArg.d.ts +0 -2
  597. lodash/ts3.1/omit.d.ts +0 -2
  598. lodash/ts3.1/omitBy.d.ts +0 -2
  599. lodash/ts3.1/once.d.ts +0 -2
  600. lodash/ts3.1/orderBy.d.ts +0 -2
  601. lodash/ts3.1/over.d.ts +0 -2
  602. lodash/ts3.1/overArgs.d.ts +0 -2
  603. lodash/ts3.1/overEvery.d.ts +0 -2
  604. lodash/ts3.1/overSome.d.ts +0 -2
  605. lodash/ts3.1/pad.d.ts +0 -2
  606. lodash/ts3.1/padEnd.d.ts +0 -2
  607. lodash/ts3.1/padStart.d.ts +0 -2
  608. lodash/ts3.1/parseInt.d.ts +0 -2
  609. lodash/ts3.1/partial.d.ts +0 -2
  610. lodash/ts3.1/partialRight.d.ts +0 -2
  611. lodash/ts3.1/partition.d.ts +0 -2
  612. lodash/ts3.1/pick.d.ts +0 -2
  613. lodash/ts3.1/pickBy.d.ts +0 -2
  614. lodash/ts3.1/property.d.ts +0 -2
  615. lodash/ts3.1/propertyOf.d.ts +0 -2
  616. lodash/ts3.1/pull.d.ts +0 -2
  617. lodash/ts3.1/pullAll.d.ts +0 -2
  618. lodash/ts3.1/pullAllBy.d.ts +0 -2
  619. lodash/ts3.1/pullAllWith.d.ts +0 -2
  620. lodash/ts3.1/pullAt.d.ts +0 -2
  621. lodash/ts3.1/random.d.ts +0 -2
  622. lodash/ts3.1/range.d.ts +0 -2
  623. lodash/ts3.1/rangeRight.d.ts +0 -2
  624. lodash/ts3.1/rearg.d.ts +0 -2
  625. lodash/ts3.1/reduce.d.ts +0 -2
  626. lodash/ts3.1/reduceRight.d.ts +0 -2
  627. lodash/ts3.1/reject.d.ts +0 -2
  628. lodash/ts3.1/remove.d.ts +0 -2
  629. lodash/ts3.1/repeat.d.ts +0 -2
  630. lodash/ts3.1/replace.d.ts +0 -2
  631. lodash/ts3.1/rest.d.ts +0 -2
  632. lodash/ts3.1/result.d.ts +0 -2
  633. lodash/ts3.1/reverse.d.ts +0 -2
  634. lodash/ts3.1/round.d.ts +0 -2
  635. lodash/ts3.1/runInContext.d.ts +0 -2
  636. lodash/ts3.1/sample.d.ts +0 -2
  637. lodash/ts3.1/sampleSize.d.ts +0 -2
  638. lodash/ts3.1/set.d.ts +0 -2
  639. lodash/ts3.1/setWith.d.ts +0 -2
  640. lodash/ts3.1/shuffle.d.ts +0 -2
  641. lodash/ts3.1/size.d.ts +0 -2
  642. lodash/ts3.1/slice.d.ts +0 -2
  643. lodash/ts3.1/snakeCase.d.ts +0 -2
  644. lodash/ts3.1/some.d.ts +0 -2
  645. lodash/ts3.1/sortBy.d.ts +0 -2
  646. lodash/ts3.1/sortedIndex.d.ts +0 -2
  647. lodash/ts3.1/sortedIndexBy.d.ts +0 -2
  648. lodash/ts3.1/sortedIndexOf.d.ts +0 -2
  649. lodash/ts3.1/sortedLastIndex.d.ts +0 -2
  650. lodash/ts3.1/sortedLastIndexBy.d.ts +0 -2
  651. lodash/ts3.1/sortedLastIndexOf.d.ts +0 -2
  652. lodash/ts3.1/sortedUniq.d.ts +0 -2
  653. lodash/ts3.1/sortedUniqBy.d.ts +0 -2
  654. lodash/ts3.1/split.d.ts +0 -2
  655. lodash/ts3.1/spread.d.ts +0 -2
  656. lodash/ts3.1/startCase.d.ts +0 -2
  657. lodash/ts3.1/startsWith.d.ts +0 -2
  658. lodash/ts3.1/stubFalse.d.ts +0 -2
  659. lodash/ts3.1/stubTrue.d.ts +0 -2
  660. lodash/ts3.1/subtract.d.ts +0 -2
  661. lodash/ts3.1/sum.d.ts +0 -2
  662. lodash/ts3.1/sumBy.d.ts +0 -2
  663. lodash/ts3.1/tail.d.ts +0 -2
  664. lodash/ts3.1/take.d.ts +0 -2
  665. lodash/ts3.1/takeRight.d.ts +0 -2
  666. lodash/ts3.1/takeRightWhile.d.ts +0 -2
  667. lodash/ts3.1/takeWhile.d.ts +0 -2
  668. lodash/ts3.1/tap.d.ts +0 -2
  669. lodash/ts3.1/template.d.ts +0 -2
  670. lodash/ts3.1/throttle.d.ts +0 -2
  671. lodash/ts3.1/thru.d.ts +0 -2
  672. lodash/ts3.1/times.d.ts +0 -2
  673. lodash/ts3.1/toArray.d.ts +0 -2
  674. lodash/ts3.1/toFinite.d.ts +0 -2
  675. lodash/ts3.1/toInteger.d.ts +0 -2
  676. lodash/ts3.1/toLength.d.ts +0 -2
  677. lodash/ts3.1/toLower.d.ts +0 -2
  678. lodash/ts3.1/toNumber.d.ts +0 -2
  679. lodash/ts3.1/toPairs.d.ts +0 -2
  680. lodash/ts3.1/toPairsIn.d.ts +0 -2
  681. lodash/ts3.1/toPath.d.ts +0 -2
  682. lodash/ts3.1/toPlainObject.d.ts +0 -2
  683. lodash/ts3.1/toSafeInteger.d.ts +0 -2
  684. lodash/ts3.1/toString.d.ts +0 -2
  685. lodash/ts3.1/toUpper.d.ts +0 -2
  686. lodash/ts3.1/transform.d.ts +0 -2
  687. lodash/ts3.1/trim.d.ts +0 -2
  688. lodash/ts3.1/trimEnd.d.ts +0 -2
  689. lodash/ts3.1/trimStart.d.ts +0 -2
  690. lodash/ts3.1/truncate.d.ts +0 -2
  691. lodash/ts3.1/unary.d.ts +0 -2
  692. lodash/ts3.1/unescape.d.ts +0 -2
  693. lodash/ts3.1/union.d.ts +0 -2
  694. lodash/ts3.1/unionBy.d.ts +0 -2
  695. lodash/ts3.1/unionWith.d.ts +0 -2
  696. lodash/ts3.1/uniq.d.ts +0 -2
  697. lodash/ts3.1/uniqBy.d.ts +0 -2
  698. lodash/ts3.1/uniqWith.d.ts +0 -2
  699. lodash/ts3.1/uniqueId.d.ts +0 -2
  700. lodash/ts3.1/unset.d.ts +0 -2
  701. lodash/ts3.1/unzip.d.ts +0 -2
  702. lodash/ts3.1/unzipWith.d.ts +0 -2
  703. lodash/ts3.1/update.d.ts +0 -2
  704. lodash/ts3.1/updateWith.d.ts +0 -2
  705. lodash/ts3.1/upperCase.d.ts +0 -2
  706. lodash/ts3.1/upperFirst.d.ts +0 -2
  707. lodash/ts3.1/values.d.ts +0 -2
  708. lodash/ts3.1/valuesIn.d.ts +0 -2
  709. lodash/ts3.1/without.d.ts +0 -2
  710. lodash/ts3.1/words.d.ts +0 -2
  711. lodash/ts3.1/wrap.d.ts +0 -2
  712. lodash/ts3.1/xor.d.ts +0 -2
  713. lodash/ts3.1/xorBy.d.ts +0 -2
  714. lodash/ts3.1/xorWith.d.ts +0 -2
  715. lodash/ts3.1/zip.d.ts +0 -2
  716. lodash/ts3.1/zipObject.d.ts +0 -2
  717. lodash/ts3.1/zipObjectDeep.d.ts +0 -2
  718. lodash/ts3.1/zipWith.d.ts +0 -2
lodash/common/array.d.ts CHANGED
@@ -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
@@ -1130,29 +672,18 @@ declare module "../index" {
1130
672
  */
1131
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> | null | undefined>
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> | null | undefined >
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> | Comparator2<T, never>>
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
@@ -2316,34 +1429,20 @@ declare module "../index" {
2316
1429
  * _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor);
2317
1430
  * // => [1.1, 2.2]
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
  }