@types/lodash 4.14.159 → 4.14.160

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 -64
  5. lodash/common/date.d.ts +2 -6
  6. lodash/common/function.d.ts +771 -869
  7. lodash/common/lang.d.ts +238 -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 +684 -741
  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
@@ -1,7 +1,5 @@
1
1
  import _ = require("../index");
2
2
  declare module "../index" {
3
- // after
4
-
5
3
  interface LoDashStatic {
6
4
  /**
7
5
  * The opposite of _.before; this method creates a function that invokes func once it’s called n or more times.
@@ -10,28 +8,20 @@ declare module "../index" {
10
8
  * @param func The function to restrict.
11
9
  * @return Returns the new restricted function.
12
10
  */
13
- after<TFunc extends (...args: any[]) => any>(
14
- n: number,
15
- func: TFunc
16
- ): TFunc;
11
+ after<TFunc extends (...args: any[]) => any>(n: number, func: TFunc): TFunc;
17
12
  }
18
-
19
- interface LoDashImplicitWrapper<TValue> {
13
+ interface Primitive<T> {
20
14
  /**
21
- * @see _.after
22
- **/
23
- after<TFunc extends (...args: any[]) => any>(func: TFunc): LoDashImplicitWrapper<TFunc>;
15
+ * @see _.after
16
+ */
17
+ after<TFunc extends (...args: any[]) => any>(func: TFunc): Function<TFunc>;
24
18
  }
25
-
26
- interface LoDashExplicitWrapper<TValue> {
19
+ interface PrimitiveChain<T> {
27
20
  /**
28
21
  * @see _.after
29
- **/
30
- after<TFunc extends (...args: any[]) => any>(func: TFunc): LoDashExplicitWrapper<TFunc>;
22
+ */
23
+ after<TFunc extends (...args: any[]) => any>(func: TFunc): FunctionChain<TFunc>;
31
24
  }
32
-
33
- // ary
34
-
35
25
  interface LoDashStatic {
36
26
  /**
37
27
  * Creates a function that accepts up to n arguments ignoring any additional arguments.
@@ -40,28 +30,20 @@ declare module "../index" {
40
30
  * @param n The arity cap.
41
31
  * @returns Returns the new function.
42
32
  */
43
- ary(
44
- func: (...args: any[]) => any,
45
- n?: number
46
- ): (...args: any[]) => any;
33
+ ary(func: (...args: any[]) => any, n?: number): (...args: any[]) => any;
47
34
  }
48
-
49
- interface LoDashImplicitWrapper<TValue> {
35
+ interface Function<T extends (...args: any) => any> {
50
36
  /**
51
37
  * @see _.ary
52
38
  */
53
- ary(n?: number): LoDashImplicitWrapper<(...args: any[]) => any>;
39
+ ary(n?: number): Function<(...args: any[]) => any>;
54
40
  }
55
-
56
- interface LoDashExplicitWrapper<TValue> {
41
+ interface FunctionChain<T extends (...args: any) => any> {
57
42
  /**
58
43
  * @see _.ary
59
44
  */
60
- ary(n?: number): LoDashExplicitWrapper<(...args: any[]) => any>;
45
+ ary(n?: number): FunctionChain<(...args: any[]) => any>;
61
46
  }
62
-
63
- // before
64
-
65
47
  interface LoDashStatic {
66
48
  /**
67
49
  * Creates a function that invokes func, with the this binding and arguments of the created function, while
@@ -72,38 +54,27 @@ declare module "../index" {
72
54
  * @param func The function to restrict.
73
55
  * @return Returns the new restricted function.
74
56
  */
75
- before<TFunc extends (...args: any[]) => any>(
76
- n: number,
77
- func: TFunc
78
- ): TFunc;
57
+ before<TFunc extends (...args: any[]) => any>(n: number, func: TFunc): TFunc;
79
58
  }
80
-
81
- interface LoDashImplicitWrapper<TValue> {
59
+ interface Primitive<T> {
82
60
  /**
83
61
  * @see _.before
84
- **/
85
- before<TFunc extends (...args: any[]) => any>(func: TFunc): LoDashImplicitWrapper<TFunc>;
62
+ */
63
+ before<TFunc extends (...args: any[]) => any>(func: TFunc): Function<TFunc>;
86
64
  }
87
-
88
- interface LoDashExplicitWrapper<TValue> {
65
+ interface PrimitiveChain<T> {
89
66
  /**
90
67
  * @see _.before
91
- **/
92
- before<TFunc extends (...args: any[]) => any>(func: TFunc): LoDashExplicitWrapper<TFunc>;
68
+ */
69
+ before<TFunc extends (...args: any[]) => any>(func: TFunc): FunctionChain<TFunc>;
93
70
  }
94
-
95
- // bind
96
-
97
71
  interface FunctionBind {
72
+ /**
73
+ * @see _.placeholder
74
+ */
98
75
  placeholder: __;
99
-
100
- (
101
- func: (...args: any[]) => any,
102
- thisArg: any,
103
- ...partials: any[]
104
- ): (...args: any[]) => any;
105
- }
106
-
76
+ (func: (...args: any[]) => any, thisArg: any, ...partials: any[]): (...args: any[]) => any;
77
+ }
107
78
  interface LoDashStatic {
108
79
  /**
109
80
  * Creates a function that invokes func with the this binding of thisArg and prepends any additional _.bind
@@ -121,39 +92,22 @@ declare module "../index" {
121
92
  */
122
93
  bind: FunctionBind;
123
94
  }
124
-
125
95
  interface LoDashImplicitWrapper<TValue> {
126
96
  /**
127
97
  * @see _.bind
128
98
  */
129
- bind(
130
- thisArg: any,
131
- ...partials: any[]
132
- ): LoDashImplicitWrapper<(...args: any[]) => any>;
99
+ bind(thisArg: any, ...partials: any[]): Function<(...args: any[]) => any>;
133
100
  }
134
-
135
101
  interface LoDashExplicitWrapper<TValue> {
136
102
  /**
137
103
  * @see _.bind
138
104
  */
139
- bind(
140
- thisArg: any,
141
- ...partials: any[]
142
- ): LoDashExplicitWrapper<(...args: any[]) => any>;
105
+ bind(thisArg: any, ...partials: any[]): FunctionChain<(...args: any[]) => any>;
143
106
  }
144
-
145
- // bindKey
146
-
147
107
  interface FunctionBindKey {
148
108
  placeholder: __;
149
-
150
- (
151
- object: object,
152
- key: string,
153
- ...partials: any[]
154
- ): (...args: any[]) => any;
155
- }
156
-
109
+ (object: object, key: string, ...partials: any[]): (...args: any[]) => any;
110
+ }
157
111
  interface LoDashStatic {
158
112
  /**
159
113
  * Creates a function that invokes the method at object[key] and prepends any additional _.bindKey arguments
@@ -172,109 +126,40 @@ declare module "../index" {
172
126
  */
173
127
  bindKey: FunctionBindKey;
174
128
  }
175
-
176
129
  interface LoDashImplicitWrapper<TValue> {
177
130
  /**
178
131
  * @see _.bindKey
179
132
  */
180
- bindKey(
181
- key: string,
182
- ...partials: any[]
183
- ): LoDashImplicitWrapper<(...args: any[]) => any>;
133
+ bindKey(key: string, ...partials: any[]): Function<(...args: any[]) => any>;
184
134
  }
185
-
186
135
  interface LoDashExplicitWrapper<TValue> {
187
136
  /**
188
137
  * @see _.bindKey
189
138
  */
190
- bindKey(
191
- key: string,
192
- ...partials: any[]
193
- ): LoDashExplicitWrapper<(...args: any[]) => any>;
139
+ bindKey(key: string, ...partials: any[]): FunctionChain<(...args: any[]) => any>;
194
140
  }
195
-
196
- // curry
197
-
198
141
  interface Curry {
199
- /**
200
- * Creates a function that accepts one or more arguments of func that when called either invokes func returning
201
- * its result, if all func arguments have been provided, or returns a function that accepts one or more of the
202
- * remaining func arguments, and so on. The arity of func may be specified if func.length is not sufficient.
203
- * @param func The function to curry.
204
- * @param arity The arity of func.
205
- * @return Returns the new curried function.
206
- */
207
- <T1, R>(func: (t1: T1) => R, arity?: number):
208
- CurriedFunction1<T1, R>;
209
- /**
210
- * Creates a function that accepts one or more arguments of func that when called either invokes func returning
211
- * its result, if all func arguments have been provided, or returns a function that accepts one or more of the
212
- * remaining func arguments, and so on. The arity of func may be specified if func.length is not sufficient.
213
- * @param func The function to curry.
214
- * @param arity The arity of func.
215
- * @return Returns the new curried function.
216
- */
217
- <T1, T2, R>(func: (t1: T1, t2: T2) => R, arity?: number):
218
- CurriedFunction2<T1, T2, R>;
219
- /**
220
- * Creates a function that accepts one or more arguments of func that when called either invokes func returning
221
- * its result, if all func arguments have been provided, or returns a function that accepts one or more of the
222
- * remaining func arguments, and so on. The arity of func may be specified if func.length is not sufficient.
223
- * @param func The function to curry.
224
- * @param arity The arity of func.
225
- * @return Returns the new curried function.
226
- */
227
- <T1, T2, T3, R>(func: (t1: T1, t2: T2, t3: T3) => R, arity?: number):
228
- CurriedFunction3<T1, T2, T3, R>;
229
- /**
230
- * Creates a function that accepts one or more arguments of func that when called either invokes func returning
231
- * its result, if all func arguments have been provided, or returns a function that accepts one or more of the
232
- * remaining func arguments, and so on. The arity of func may be specified if func.length is not sufficient.
233
- * @param func The function to curry.
234
- * @param arity The arity of func.
235
- * @return Returns the new curried function.
236
- */
237
- <T1, T2, T3, T4, R>(func: (t1: T1, t2: T2, t3: T3, t4: T4) => R, arity?: number):
238
- CurriedFunction4<T1, T2, T3, T4, R>;
239
- /**
240
- * Creates a function that accepts one or more arguments of func that when called either invokes func returning
241
- * its result, if all func arguments have been provided, or returns a function that accepts one or more of the
242
- * remaining func arguments, and so on. The arity of func may be specified if func.length is not sufficient.
243
- * @param func The function to curry.
244
- * @param arity The arity of func.
245
- * @return Returns the new curried function.
246
- */
247
- <T1, T2, T3, T4, T5, R>(func: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => R, arity?: number):
248
- CurriedFunction5<T1, T2, T3, T4, T5, R>;
249
- /**
250
- * Creates a function that accepts one or more arguments of func that when called either invokes func returning
251
- * its result, if all func arguments have been provided, or returns a function that accepts one or more of the
252
- * remaining func arguments, and so on. The arity of func may be specified if func.length is not sufficient.
253
- * @param func The function to curry.
254
- * @param arity The arity of func.
255
- * @return Returns the new curried function.
256
- */
142
+ <T1, R>(func: (t1: T1) => R, arity?: number): CurriedFunction1<T1, R>;
143
+ <T1, T2, R>(func: (t1: T1, t2: T2) => R, arity?: number): CurriedFunction2<T1, T2, R>;
144
+ <T1, T2, T3, R>(func: (t1: T1, t2: T2, t3: T3) => R, arity?: number): CurriedFunction3<T1, T2, T3, R>;
145
+ <T1, T2, T3, T4, R>(func: (t1: T1, t2: T2, t3: T3, t4: T4) => R, arity?: number): CurriedFunction4<T1, T2, T3, T4, R>;
146
+ <T1, T2, T3, T4, T5, R>(func: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => R, arity?: number): CurriedFunction5<T1, T2, T3, T4, T5, R>;
257
147
  (func: (...args: any[]) => any, arity?: number): (...args: any[]) => any;
258
-
259
148
  placeholder: __;
260
149
  }
261
-
262
150
  interface LoDashStatic {
263
151
  curry: Curry;
264
152
  }
265
-
266
153
  interface CurriedFunction1<T1, R> {
267
154
  (): CurriedFunction1<T1, R>;
268
155
  (t1: T1): R;
269
156
  }
270
-
271
157
  interface CurriedFunction2<T1, T2, R> {
272
158
  (): CurriedFunction2<T1, T2, R>;
273
159
  (t1: T1): CurriedFunction1<T2, R>;
274
160
  (t1: __, t2: T2): CurriedFunction1<T1, R>;
275
161
  (t1: T1, t2: T2): R;
276
162
  }
277
-
278
163
  interface CurriedFunction3<T1, T2, T3, R> {
279
164
  (): CurriedFunction3<T1, T2, T3, R>;
280
165
  (t1: T1): CurriedFunction2<T2, T3, R>;
@@ -285,7 +170,6 @@ declare module "../index" {
285
170
  (t1: __, t2: T2, t3: T3): CurriedFunction1<T1, R>;
286
171
  (t1: T1, t2: T2, t3: T3): R;
287
172
  }
288
-
289
173
  interface CurriedFunction4<T1, T2, T3, T4, R> {
290
174
  (): CurriedFunction4<T1, T2, T3, T4, R>;
291
175
  (t1: T1): CurriedFunction3<T2, T3, T4, R>;
@@ -304,7 +188,6 @@ declare module "../index" {
304
188
  (t1: __, t2: T2, t3: T3, t4: T4): CurriedFunction1<T1, R>;
305
189
  (t1: T1, t2: T2, t3: T3, t4: T4): R;
306
190
  }
307
-
308
191
  interface CurriedFunction5<T1, T2, T3, T4, T5, R> {
309
192
  (): CurriedFunction5<T1, T2, T3, T4, T5, R>;
310
193
  (t1: T1): CurriedFunction4<T2, T3, T4, T5, R>;
@@ -339,19 +222,16 @@ declare module "../index" {
339
222
  (t1: __, t2: T2, t3: T3, t4: T4, t5: T5): CurriedFunction1<T1, R>;
340
223
  (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5): R;
341
224
  }
342
-
343
225
  interface RightCurriedFunction1<T1, R> {
344
226
  (): RightCurriedFunction1<T1, R>;
345
227
  (t1: T1): R;
346
228
  }
347
-
348
229
  interface RightCurriedFunction2<T1, T2, R> {
349
230
  (): RightCurriedFunction2<T1, T2, R>;
350
231
  (t2: T2): RightCurriedFunction1<T1, R>;
351
232
  (t1: T1, t2: __): RightCurriedFunction1<T2, R>;
352
233
  (t1: T1, t2: T2): R;
353
234
  }
354
-
355
235
  interface RightCurriedFunction3<T1, T2, T3, R> {
356
236
  (): RightCurriedFunction3<T1, T2, T3, R>;
357
237
  (t3: T3): RightCurriedFunction2<T1, T2, R>;
@@ -362,7 +242,6 @@ declare module "../index" {
362
242
  (t1: T1, t2: __, t3: T3): RightCurriedFunction1<T2, R>;
363
243
  (t1: T1, t2: T2, t3: T3): R;
364
244
  }
365
-
366
245
  interface RightCurriedFunction4<T1, T2, T3, T4, R> {
367
246
  (): RightCurriedFunction4<T1, T2, T3, T4, R>;
368
247
  (t4: T4): RightCurriedFunction3<T1, T2, T3, R>;
@@ -381,7 +260,6 @@ declare module "../index" {
381
260
  (t1: T1, t2: __, t3: T3, t4: T4): RightCurriedFunction1<T2, R>;
382
261
  (t1: T1, t2: T2, t3: T3, t4: T4): R;
383
262
  }
384
-
385
263
  interface RightCurriedFunction5<T1, T2, T3, T4, T5, R> {
386
264
  (): RightCurriedFunction5<T1, T2, T3, T4, T5, R>;
387
265
  (t5: T5): RightCurriedFunction4<T1, T2, T3, T4, R>;
@@ -416,238 +294,80 @@ declare module "../index" {
416
294
  (t1: T1, t2: __, t3: T3, t4: T4, t5: T5): RightCurriedFunction1<T2, R>;
417
295
  (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5): R;
418
296
  }
419
-
420
- interface LoDashImplicitWrapper<TValue> {
297
+ interface Function<T extends (...args: any) => any> {
421
298
  /**
422
- * @see _.curry
423
- **/
424
- curry<T1, R>(this: LoDashImplicitWrapper<(t1: T1) => R>, arity?: number):
425
- LoDashImplicitWrapper<CurriedFunction1<T1, R>>;
426
-
427
- /**
428
- * @see _.curry
429
- **/
430
- curry<T1, T2, R>(this: LoDashImplicitWrapper<(t1: T1, t2: T2) => R>, arity?: number):
431
- LoDashImplicitWrapper<CurriedFunction2<T1, T2, R>>;
432
-
433
- /**
434
- * @see _.curry
435
- **/
436
- curry<T1, T2, T3, R>(this: LoDashImplicitWrapper<(t1: T1, t2: T2, t3: T3) => R>, arity?: number):
437
- LoDashImplicitWrapper<CurriedFunction3<T1, T2, T3, R>>;
438
-
439
- /**
440
- * @see _.curry
441
- **/
442
- curry<T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<(t1: T1, t2: T2, t3: T3, t4: T4) => R>, arity?: number):
443
- LoDashImplicitWrapper<CurriedFunction4<T1, T2, T3, T4, R>>;
444
-
445
- /**
446
- * @see _.curry
447
- **/
448
- curry<T1, T2, T3, T4, T5, R>(this: LoDashImplicitWrapper<(t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => R>, arity?: number):
449
- LoDashImplicitWrapper<CurriedFunction5<T1, T2, T3, T4, T5, R>>;
450
-
451
- /**
452
- * @see _.curry
453
- **/
454
- curry(arity?: number): LoDashImplicitWrapper<(...args: any[]) => any>;
455
- }
456
-
457
- interface LoDashExplicitWrapper<TValue> {
458
- /**
459
- * @see _.curry
460
- **/
461
- curry<T1, R>(this: LoDashExplicitWrapper<(t1: T1) => R>):
462
- LoDashExplicitWrapper<CurriedFunction1<T1, R>>;
463
-
464
- /**
465
- * @see _.curry
466
- **/
467
- curry<T1, T2, R>(this: LoDashExplicitWrapper<(t1: T1, t2: T2) => R>):
468
- LoDashExplicitWrapper<CurriedFunction2<T1, T2, R>>;
469
-
470
- /**
471
- * @see _.curry
472
- **/
473
- curry<T1, T2, T3, R>(this: LoDashExplicitWrapper<(t1: T1, t2: T2, t3: T3) => R>):
474
- LoDashExplicitWrapper<CurriedFunction3<T1, T2, T3, R>>;
475
-
476
- /**
477
- * @see _.curry
478
- **/
479
- curry<T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<(t1: T1, t2: T2, t3: T3, t4: T4) => R>):
480
- LoDashExplicitWrapper<CurriedFunction4<T1, T2, T3, T4, R>>;
481
-
482
- /**
483
- * @see _.curry
484
- **/
485
- curry<T1, T2, T3, T4, T5, R>(this: LoDashExplicitWrapper<(t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => R>):
486
- LoDashExplicitWrapper<CurriedFunction5<T1, T2, T3, T4, T5, R>>;
487
-
488
- /**
489
- * @see _.curry
490
- **/
491
- curry(arity?: number): LoDashExplicitWrapper<(...args: any[]) => any>;
492
- }
493
-
494
- // curryRight
495
-
496
- interface CurryRight {
299
+ * @see _.curry
300
+ */
301
+ curry(arity?: number):
302
+ T extends (arg1: infer T1) => infer R ? Function<CurriedFunction1<T1, R>> :
303
+ T extends (arg1: infer T1, arg2: infer T2) => infer R ? Function<CurriedFunction2<T1, T2, R>> :
304
+ T extends (arg1: infer T1, arg2: infer T2, arg3: infer T3) => infer R ? Function<CurriedFunction3<T1, T2, T3, R>> :
305
+ T extends (arg1: infer T1, arg2: infer T2, arg3: infer T3, arg4: infer T4) => infer R ? Function<CurriedFunction4<T1, T2, T3, T4, R>> :
306
+ T extends (arg1: infer T1, arg2: infer T2, arg3: infer T3, arg4: infer T4, arg5: infer T5) => infer R ? Function<CurriedFunction5<T1, T2, T3, T4, T5, R>> :
307
+ Function<(...args: any[]) => any>;
308
+ }
309
+ interface FunctionChain<T extends (...args: any) => any> {
497
310
  /**
498
- * This method is like _.curry except that arguments are applied to func in the manner of _.partialRight
499
- * instead of _.partial.
500
- * @param func The function to curry.
501
- * @param arity The arity of func.
502
- * @return Returns the new curried function.
503
- */
504
- <T1, R>(func: (t1: T1) => R, arity?: number):
505
- RightCurriedFunction1<T1, R>;
506
- /**
507
- * This method is like _.curry except that arguments are applied to func in the manner of _.partialRight
508
- * instead of _.partial.
509
- * @param func The function to curry.
510
- * @param arity The arity of func.
511
- * @return Returns the new curried function.
512
- */
513
- <T1, T2, R>(func: (t1: T1, t2: T2) => R, arity?: number):
514
- RightCurriedFunction2<T1, T2, R>;
515
- /**
516
- * This method is like _.curry except that arguments are applied to func in the manner of _.partialRight
517
- * instead of _.partial.
518
- * @param func The function to curry.
519
- * @param arity The arity of func.
520
- * @return Returns the new curried function.
521
- */
522
- <T1, T2, T3, R>(func: (t1: T1, t2: T2, t3: T3) => R, arity?: number):
523
- RightCurriedFunction3<T1, T2, T3, R>;
524
- /**
525
- * This method is like _.curry except that arguments are applied to func in the manner of _.partialRight
526
- * instead of _.partial.
527
- * @param func The function to curry.
528
- * @param arity The arity of func.
529
- * @return Returns the new curried function.
530
- */
531
- <T1, T2, T3, T4, R>(func: (t1: T1, t2: T2, t3: T3, t4: T4) => R, arity?: number):
532
- RightCurriedFunction4<T1, T2, T3, T4, R>;
533
- /**
534
- * This method is like _.curry except that arguments are applied to func in the manner of _.partialRight
535
- * instead of _.partial.
536
- * @param func The function to curry.
537
- * @param arity The arity of func.
538
- * @return Returns the new curried function.
539
- */
540
- <T1, T2, T3, T4, T5, R>(func: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => R, arity?: number):
541
- RightCurriedFunction5<T1, T2, T3, T4, T5, R>;
542
- /**
543
- * This method is like _.curry except that arguments are applied to func in the manner of _.partialRight
544
- * instead of _.partial.
545
- * @param func The function to curry.
546
- * @param arity The arity of func.
547
- * @return Returns the new curried function.
311
+ * @see _.curry
548
312
  */
313
+ curry(arity?: number):
314
+ T extends (arg1: infer T1) => infer R ? FunctionChain<CurriedFunction1<T1, R>> :
315
+ T extends (arg1: infer T1, arg2: infer T2) => infer R ? FunctionChain<CurriedFunction2<T1, T2, R>> :
316
+ T extends (arg1: infer T1, arg2: infer T2, arg3: infer T3) => infer R ? FunctionChain<CurriedFunction3<T1, T2, T3, R>> :
317
+ T extends (arg1: infer T1, arg2: infer T2, arg3: infer T3, arg4: infer T4) => infer R ? FunctionChain<CurriedFunction4<T1, T2, T3, T4, R>> :
318
+ T extends (arg1: infer T1, arg2: infer T2, arg3: infer T3, arg4: infer T4, arg5: infer T5) => infer R ? FunctionChain<CurriedFunction5<T1, T2, T3, T4, T5, R>> :
319
+ FunctionChain<(...args: any[]) => any>;
320
+ }
321
+ interface CurryRight {
322
+ <T1, R>(func: (t1: T1) => R, arity?: number): RightCurriedFunction1<T1, R>;
323
+ <T1, T2, R>(func: (t1: T1, t2: T2) => R, arity?: number): RightCurriedFunction2<T1, T2, R>;
324
+ <T1, T2, T3, R>(func: (t1: T1, t2: T2, t3: T3) => R, arity?: number): RightCurriedFunction3<T1, T2, T3, R>;
325
+ <T1, T2, T3, T4, R>(func: (t1: T1, t2: T2, t3: T3, t4: T4) => R, arity?: number): RightCurriedFunction4<T1, T2, T3, T4, R>;
326
+ <T1, T2, T3, T4, T5, R>(func: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => R, arity?: number): RightCurriedFunction5<T1, T2, T3, T4, T5, R>;
549
327
  (func: (...args: any[]) => any, arity?: number): (...args: any[]) => any;
550
-
551
328
  placeholder: __;
552
329
  }
553
-
554
330
  interface LoDashStatic {
555
331
  curryRight: CurryRight;
556
332
  }
557
-
558
- interface LoDashImplicitWrapper<TValue> {
559
- /**
560
- * @see _.curryRight
561
- **/
562
- curryRight<T1, R>(this: LoDashImplicitWrapper<(t1: T1) => R>, arity?: number):
563
- LoDashImplicitWrapper<RightCurriedFunction1<T1, R>>;
564
-
565
- /**
566
- * @see _.curryRight
567
- **/
568
- curryRight<T1, T2, R>(this: LoDashImplicitWrapper<(t1: T1, t2: T2) => R>, arity?: number):
569
- LoDashImplicitWrapper<RightCurriedFunction2<T1, T2, R>>;
570
-
571
- /**
572
- * @see _.curryRight
573
- **/
574
- curryRight<T1, T2, T3, R>(this: LoDashImplicitWrapper<(t1: T1, t2: T2, t3: T3) => R>, arity?: number):
575
- LoDashImplicitWrapper<RightCurriedFunction3<T1, T2, T3, R>>;
576
-
333
+ interface Function<T extends (...args: any) => any> {
577
334
  /**
578
335
  * @see _.curryRight
579
- **/
580
- curryRight<T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<(t1: T1, t2: T2, t3: T3, t4: T4) => R>, arity?: number):
581
- LoDashImplicitWrapper<RightCurriedFunction4<T1, T2, T3, T4, R>>;
582
-
583
- /**
584
- * @see _.curryRight
585
- **/
586
- curryRight<T1, T2, T3, T4, T5, R>(this: LoDashImplicitWrapper<(t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => R>, arity?: number):
587
- LoDashImplicitWrapper<RightCurriedFunction5<T1, T2, T3, T4, T5, R>>;
588
-
589
- /**
590
- * @see _.curryRight
591
- **/
592
- curryRight(arity?: number): LoDashImplicitWrapper<(...args: any[]) => any>;
336
+ */
337
+ curryRight(arity?: number):
338
+ T extends (arg1: infer T1) => infer R ? Function<RightCurriedFunction1<T1, R>> :
339
+ T extends (arg1: infer T1, arg2: infer T2) => infer R ? Function<RightCurriedFunction2<T1, T2, R>> :
340
+ T extends (arg1: infer T1, arg2: infer T2, arg3: infer T3) => infer R ? Function<RightCurriedFunction3<T1, T2, T3, R>> :
341
+ T extends (arg1: infer T1, arg2: infer T2, arg3: infer T3, arg4: infer T4) => infer R ? Function<RightCurriedFunction4<T1, T2, T3, T4, R>> :
342
+ T extends (arg1: infer T1, arg2: infer T2, arg3: infer T3, arg4: infer T4, arg5: infer T5) => infer R ? Function<RightCurriedFunction5<T1, T2, T3, T4, T5, R>> :
343
+ Function<(...args: any[]) => any>;
593
344
  }
594
-
595
- interface LoDashExplicitWrapper<TValue> {
596
- /**
597
- * @see _.curryRight
598
- **/
599
- curryRight<T1, R>(this: LoDashExplicitWrapper<(t1: T1) => R>, arity?: number):
600
- LoDashExplicitWrapper<RightCurriedFunction1<T1, R>>;
601
-
602
- /**
603
- * @see _.curryRight
604
- **/
605
- curryRight<T1, T2, R>(this: LoDashExplicitWrapper<(t1: T1, t2: T2) => R>, arity?: number):
606
- LoDashExplicitWrapper<RightCurriedFunction2<T1, T2, R>>;
607
-
608
- /**
609
- * @see _.curryRight
610
- **/
611
- curryRight<T1, T2, T3, R>(this: LoDashExplicitWrapper<(t1: T1, t2: T2, t3: T3) => R>, arity?: number):
612
- LoDashExplicitWrapper<RightCurriedFunction3<T1, T2, T3, R>>;
613
-
614
- /**
615
- * @see _.curryRight
616
- **/
617
- curryRight<T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<(t1: T1, t2: T2, t3: T3, t4: T4) => R>, arity?: number):
618
- LoDashExplicitWrapper<RightCurriedFunction4<T1, T2, T3, T4, R>>;
619
-
345
+ interface FunctionChain<T extends (...args: any) => any> {
620
346
  /**
621
347
  * @see _.curryRight
622
- **/
623
- curryRight<T1, T2, T3, T4, T5, R>(this: LoDashExplicitWrapper<(t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => R>, arity?: number):
624
- LoDashExplicitWrapper<RightCurriedFunction5<T1, T2, T3, T4, T5, R>>;
625
-
626
- /**
627
- * @see _.curryRight
628
- **/
629
- curryRight(arity?: number): LoDashExplicitWrapper<(...args: any[]) => any>;
348
+ */
349
+ curryRight(arity?: number):
350
+ T extends (arg1: infer T1) => infer R ? FunctionChain<RightCurriedFunction1<T1, R>> :
351
+ T extends (arg1: infer T1, arg2: infer T2) => infer R ? FunctionChain<RightCurriedFunction2<T1, T2, R>> :
352
+ T extends (arg1: infer T1, arg2: infer T2, arg3: infer T3) => infer R ? FunctionChain<RightCurriedFunction3<T1, T2, T3, R>> :
353
+ T extends (arg1: infer T1, arg2: infer T2, arg3: infer T3, arg4: infer T4) => infer R ? FunctionChain<RightCurriedFunction4<T1, T2, T3, T4, R>> :
354
+ T extends (arg1: infer T1, arg2: infer T2, arg3: infer T3, arg4: infer T4, arg5: infer T5) => infer R ? FunctionChain<RightCurriedFunction5<T1, T2, T3, T4, T5, R>> :
355
+ FunctionChain<(...args: any[]) => any>;
630
356
  }
631
-
632
- // debounce
633
-
634
357
  interface DebounceSettings {
635
358
  /**
636
- * Specify invoking on the leading edge of the timeout.
359
+ * @see _.leading
637
360
  */
638
361
  leading?: boolean;
639
-
640
362
  /**
641
- * The maximum time func is allowed to be delayed before it’s invoked.
363
+ * @see _.maxWait
642
364
  */
643
365
  maxWait?: number;
644
-
645
366
  /**
646
- * Specify invoking on the trailing edge of the timeout.
367
+ * @see _.trailing
647
368
  */
648
369
  trailing?: boolean;
649
370
  }
650
-
651
371
  interface LoDashStatic {
652
372
  /**
653
373
  * Creates a debounced function that delays invoking func until after wait milliseconds have elapsed since
@@ -669,35 +389,20 @@ declare module "../index" {
669
389
  * @param options.trailing Specify invoking on the trailing edge of the timeout.
670
390
  * @return Returns the new debounced function.
671
391
  */
672
- debounce<T extends (...args: any[]) => any>(
673
- func: T,
674
- wait?: number,
675
- options?: DebounceSettings
676
- ): T & Cancelable;
392
+ debounce<T extends (...args: any) => any>(func: T, wait?: number, options?: DebounceSettings): T & Cancelable;
677
393
  }
678
-
679
- interface LoDashImplicitWrapper<TValue> {
394
+ interface Function<T extends (...args: any) => any> {
680
395
  /**
681
396
  * @see _.debounce
682
397
  */
683
- debounce(
684
- wait?: number,
685
- options?: DebounceSettings
686
- ): LoDashImplicitWrapper<TValue & Cancelable>;
398
+ debounce(wait?: number, options?: DebounceSettings): Function<T & Cancelable>;
687
399
  }
688
-
689
- interface LoDashExplicitWrapper<TValue> {
400
+ interface FunctionChain<T extends (...args: any) => any> {
690
401
  /**
691
402
  * @see _.debounce
692
403
  */
693
- debounce(
694
- wait?: number,
695
- options?: DebounceSettings
696
- ): LoDashExplicitWrapper<TValue & Cancelable>;
404
+ debounce(wait?: number, options?: DebounceSettings): FunctionChain<T & Cancelable>;
697
405
  }
698
-
699
- // defer
700
-
701
406
  interface LoDashStatic {
702
407
  /**
703
408
  * Defers invoking the func until the current call stack has cleared. Any additional arguments are provided to
@@ -707,28 +412,20 @@ declare module "../index" {
707
412
  * @param args The arguments to invoke the function with.
708
413
  * @return Returns the timer id.
709
414
  */
710
- defer(
711
- func: (...args: any[]) => any,
712
- ...args: any[]
713
- ): number;
415
+ defer(func: (...args: any[]) => any, ...args: any[]): number;
714
416
  }
715
-
716
417
  interface LoDashImplicitWrapper<TValue> {
717
418
  /**
718
419
  * @see _.defer
719
420
  */
720
- defer(...args: any[]): LoDashImplicitWrapper<number>;
421
+ defer(...args: any[]): Primitive<number>;
721
422
  }
722
-
723
423
  interface LoDashExplicitWrapper<TValue> {
724
424
  /**
725
425
  * @see _.defer
726
426
  */
727
- defer(...args: any[]): LoDashExplicitWrapper<number>;
427
+ defer(...args: any[]): PrimitiveChain<number>;
728
428
  }
729
-
730
- // delay
731
-
732
429
  interface LoDashStatic {
733
430
  /**
734
431
  * Invokes func after wait milliseconds. Any additional arguments are provided to func when it’s invoked.
@@ -738,35 +435,20 @@ declare module "../index" {
738
435
  * @param args The arguments to invoke the function with.
739
436
  * @return Returns the timer id.
740
437
  */
741
- delay(
742
- func: (...args: any[]) => any,
743
- wait: number,
744
- ...args: any[]
745
- ): number;
438
+ delay(func: (...args: any[]) => any, wait: number, ...args: any[]): number;
746
439
  }
747
-
748
440
  interface LoDashImplicitWrapper<TValue> {
749
441
  /**
750
442
  * @see _.delay
751
443
  */
752
- delay(
753
- wait: number,
754
- ...args: any[]
755
- ): LoDashImplicitWrapper<number>;
444
+ delay(wait: number, ...args: any[]): Primitive<number>;
756
445
  }
757
-
758
446
  interface LoDashExplicitWrapper<TValue> {
759
447
  /**
760
448
  * @see _.delay
761
449
  */
762
- delay(
763
- wait: number,
764
- ...args: any[]
765
- ): LoDashExplicitWrapper<number>;
450
+ delay(wait: number, ...args: any[]): PrimitiveChain<number>;
766
451
  }
767
-
768
- // flip
769
-
770
452
  interface LoDashStatic {
771
453
  /**
772
454
  * Creates a function that invokes `func` with arguments reversed.
@@ -783,56 +465,54 @@ declare module "../index" {
783
465
  * flipped('a', 'b', 'c', 'd');
784
466
  * // => ['d', 'c', 'b', 'a']
785
467
  */
786
- flip<T extends (...args: any[]) => any>(func: T): T;
468
+ flip<T extends (...args: any) => any>(func: T): T;
469
+ }
470
+ interface Function<T extends (...args: any) => any> {
471
+ /**
472
+ * @see _.flip
473
+ */
474
+ flip(): this;
787
475
  }
788
-
789
- interface LoDashWrapper<TValue> {
476
+ interface FunctionChain<T extends (...args: any) => any> {
790
477
  /**
791
478
  * @see _.flip
792
479
  */
793
480
  flip(): this;
794
481
  }
795
-
796
- // memoize
797
-
798
482
  interface MemoizedFunction {
483
+ /**
484
+ * @see _.cache
485
+ */
799
486
  cache: MapCache;
800
487
  }
801
-
802
488
  interface LoDashStatic {
803
489
  /**
804
- * Creates a function that memoizes the result of `func`. If `resolver` is
805
- * provided, it determines the cache key for storing the result based on the
806
- * arguments provided to the memoized function. By default, the first argument
807
- * provided to the memoized function is used as the map cache key. The `func`
808
- * is invoked with the `this` binding of the memoized function.
490
+ * Creates a function that memoizes the result of func. If resolver is provided it determines the cache key for
491
+ * storing the result based on the arguments provided to the memoized function. By default, the first argument
492
+ * provided to the memoized function is coerced to a string and used as the cache key. The func is invoked with
493
+ * the this binding of the memoized function.
809
494
  *
810
495
  * @param func The function to have its output memoized.
811
496
  * @param resolver The function to resolve the cache key.
812
497
  * @return Returns the new memoizing function.
813
498
  */
814
499
  memoize: {
815
- <T extends (...args: any[]) => any>(func: T, resolver?: (...args: any[]) => any): T & MemoizedFunction;
500
+ <T extends (...args: any) => any>(func: T, resolver?: (...args: any[]) => any): T & MemoizedFunction;
816
501
  Cache: MapCacheConstructor;
817
502
  };
818
503
  }
819
-
820
- interface LoDashImplicitWrapper<TValue> {
504
+ interface Function<T extends (...args: any) => any> {
821
505
  /**
822
506
  * @see _.memoize
823
507
  */
824
- memoize(resolver?: (...args: any[]) => any): LoDashImplicitWrapper<TValue & MemoizedFunction>;
508
+ memoize(resolver?: (...args: any[]) => any): Function<T & MemoizedFunction>;
825
509
  }
826
-
827
- interface LoDashExplicitWrapper<TValue> {
510
+ interface FunctionChain<T extends (...args: any) => any> {
828
511
  /**
829
512
  * @see _.memoize
830
513
  */
831
- memoize(resolver?: (...args: any[]) => any): LoDashExplicitWrapper<TValue & MemoizedFunction>;
514
+ memoize(resolver?: (...args: any[]) => any): FunctionChain<T & MemoizedFunction>;
832
515
  }
833
-
834
- // negate
835
-
836
516
  interface LoDashStatic {
837
517
  /**
838
518
  * Creates a function that negates the result of the predicate func. The func predicate is invoked with
@@ -841,34 +521,20 @@ declare module "../index" {
841
521
  * @param predicate The predicate to negate.
842
522
  * @return Returns the new function.
843
523
  */
844
- negate(predicate: () => boolean): () => boolean;
845
- negate<A1>(predicate: (a1: A1) => boolean): (a1: A1) => boolean;
846
- negate<A1, A2>(predicate: (a1: A1, a2: A2) => boolean): (a1: A1, a2: A2) => boolean;
847
- negate(predicate: (...args: any[]) => any): (...args: any[]) => boolean;
524
+ negate<T extends any[]>(predicate: (...args: T) => boolean): (...args: T) => boolean;
848
525
  }
849
-
850
- interface LoDashImplicitWrapper<TValue> {
526
+ interface Function<T extends (...args: any) => any> {
851
527
  /**
852
528
  * @see _.negate
853
529
  */
854
- negate(this: LoDashImplicitWrapper<() => boolean>): LoDashImplicitWrapper<() => boolean>;
855
- negate<A1>(this: LoDashImplicitWrapper<(a1: A1) => boolean>): LoDashImplicitWrapper<(a1: A1) => boolean>;
856
- negate<A1, A2>(this: LoDashImplicitWrapper<(a1: A1, a2: A2) => boolean>): LoDashImplicitWrapper<(a1: A1, a2: A2) => boolean>;
857
- negate(this: LoDashImplicitWrapper<(...args: any[]) => any>): LoDashImplicitWrapper<(...args: any[]) => boolean>;
530
+ negate(): Function<(...args: Parameters<T>) => boolean>;
858
531
  }
859
-
860
- interface LoDashExplicitWrapper<TValue> {
532
+ interface FunctionChain<T extends (...args: any) => any> {
861
533
  /**
862
534
  * @see _.negate
863
535
  */
864
- negate(this: LoDashExplicitWrapper<() => boolean>): LoDashExplicitWrapper<() => boolean>;
865
- negate<A1>(this: LoDashExplicitWrapper<(a1: A1) => boolean>): LoDashExplicitWrapper<(a1: A1) => boolean>;
866
- negate<A1, A2>(this: LoDashExplicitWrapper<(a1: A1, a2: A2) => boolean>): LoDashExplicitWrapper<(a1: A1, a2: A2) => boolean>;
867
- negate(this: LoDashExplicitWrapper<(...args: any[]) => any>): LoDashExplicitWrapper<(...args: any[]) => boolean>;
536
+ negate(): FunctionChain<(...args: Parameters<T>) => boolean>;
868
537
  }
869
-
870
- // once
871
-
872
538
  interface LoDashStatic {
873
539
  /**
874
540
  * Creates a function that is restricted to invoking func once. Repeat calls to the function return the value
@@ -877,18 +543,20 @@ declare module "../index" {
877
543
  * @param func The function to restrict.
878
544
  * @return Returns the new restricted function.
879
545
  */
880
- once<T extends (...args: any[]) => any>(func: T): T;
546
+ once<T extends (...args: any) => any>(func: T): T;
881
547
  }
882
-
883
- interface LoDashWrapper<TValue> {
548
+ interface Function<T extends (...args: any) => any> {
884
549
  /**
885
550
  * @see _.once
886
551
  */
887
- once(): this;
552
+ once(): Function<T>;
553
+ }
554
+ interface FunctionChain<T extends (...args: any) => any> {
555
+ /**
556
+ * @see _.once
557
+ */
558
+ once(): FunctionChain<T>;
888
559
  }
889
-
890
- // overArgs
891
-
892
560
  interface LoDashStatic {
893
561
  /**
894
562
  * Creates a function that runs each argument through a corresponding transform function.
@@ -898,28 +566,20 @@ declare module "../index" {
898
566
  * of functions.
899
567
  * @return Returns the new function.
900
568
  */
901
- overArgs(
902
- func: (...args: any[]) => any,
903
- ...transforms: Array<Many<(...args: any[]) => any>>
904
- ): (...args: any[]) => any;
569
+ overArgs(func: (...args: any[]) => any, ...transforms: Array<Many<(...args: any[]) => any>>): (...args: any[]) => any;
905
570
  }
906
-
907
- interface LoDashImplicitWrapper<TValue> {
571
+ interface Function<T extends (...args: any) => any> {
908
572
  /**
909
573
  * @see _.overArgs
910
574
  */
911
- overArgs(...transforms: Array<Many<(...args: any[]) => any>>): LoDashImplicitWrapper<(...args: any[]) => any>;
575
+ overArgs(...transforms: Array<Many<(...args: any[]) => any>>): Function<(...args: any[]) => any>;
912
576
  }
913
-
914
- interface LoDashExplicitWrapper<TValue> {
577
+ interface FunctionChain<T extends (...args: any) => any> {
915
578
  /**
916
579
  * @see _.overArgs
917
580
  */
918
- overArgs(...transforms: Array<Many<(...args: any[]) => any>>): LoDashExplicitWrapper<(...args: any[]) => any>;
581
+ overArgs(...transforms: Array<Many<(...args: any[]) => any>>): FunctionChain<(...args: any[]) => any>;
919
582
  }
920
-
921
- // partial
922
-
923
583
  interface LoDashStatic {
924
584
  /**
925
585
  * Creates a function that, when called, invokes func with any additional partial arguments
@@ -928,160 +588,272 @@ declare module "../index" {
928
588
  * @param func The function to partially apply arguments to.
929
589
  * @param args Arguments to be partially applied.
930
590
  * @return The new partially applied function.
931
- **/
932
- partial: Partial;
933
- }
934
-
935
- interface LoDashImplicitWrapper<TValue> {
936
- /**
937
- * @see _.partial
938
- */
939
- partial: ImplicitPartial;
940
- }
941
-
942
- interface LoDashExplicitWrapper<TValue> {
943
- /**
944
- * @see _.partial
945
591
  */
946
- partial: ExplicitPartial;
592
+ partial: Partial;
947
593
  }
948
-
949
- /** The placeholder, to be used in curried functions */
950
594
  type __ = LoDashStatic;
951
-
952
595
  type Function0<R> = () => R;
953
596
  type Function1<T1, R> = (t1: T1) => R;
954
597
  type Function2<T1, T2, R> = (t1: T1, t2: T2) => R;
955
598
  type Function3<T1, T2, T3, R> = (t1: T1, t2: T2, t3: T3) => R;
956
599
  type Function4<T1, T2, T3, T4, R> = (t1: T1, t2: T2, t3: T3, t4: T4) => R;
957
-
958
600
  interface Partial {
959
- // arity 0
960
- <R>(func: Function0<R>): Function0<R>;
961
- // arity 1
962
- <T1, R>(func: Function1<T1, R>): Function1<T1, R>;
963
- <T1, R>(func: Function1<T1, R>, arg1: T1): Function0<R>;
964
- // arity 2
965
- <T1, T2, R>(func: Function2<T1, T2, R>): Function2<T1, T2, R>;
966
- <T1, T2, R>(func: Function2<T1, T2, R>, arg1: T1): Function1< T2, R>;
967
- <T1, T2, R>(func: Function2<T1, T2, R>, plc1: __, arg2: T2): Function1<T1, R>;
968
- <T1, T2, R>(func: Function2<T1, T2, R>, arg1: T1, arg2: T2): Function0< R>;
969
- // arity 3
970
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>): Function3<T1, T2, T3, R>;
971
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1): Function2< T2, T3, R>;
972
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, plc1: __, arg2: T2): Function2<T1, T3, R>;
973
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1, arg2: T2): Function1< T3, R>;
974
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, plc1: __, plc2: __, arg3: T3): Function2<T1, T2, R>;
975
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1, plc2: __, arg3: T3): Function1< T2, R>;
976
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, plc1: __, arg2: T2, arg3: T3): Function1<T1, R>;
977
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1, arg2: T2, arg3: T3): Function0< R>;
978
- // arity 4
979
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>): Function4<T1, T2, T3, T4, R>;
980
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1): Function3< T2, T3, T4, R>;
981
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: __, arg2: T2): Function3<T1, T3, T4, R>;
982
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2): Function2< T3, T4, R>;
983
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: __, plc2: __, arg3: T3): Function3<T1, T2, T4, R>;
984
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: __, arg3: T3): Function2< T2, T4, R>;
985
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: __, arg2: T2, arg3: T3): Function2<T1, T4, R>;
986
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, arg3: T3): Function1< T4, R>;
987
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: __, plc2: __, plc3: __, arg4: T4): Function3<T1, T2, T3, R>;
988
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: __, plc3: __, arg4: T4): Function2< T2, T3, R>;
989
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: __, arg2: T2, plc3: __, arg4: T4): Function2<T1, T3, R>;
990
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, plc3: __, arg4: T4): Function1< T3, R>;
991
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: __, plc2: __, arg3: T3, arg4: T4): Function2<T1, T2, R>;
992
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: __, arg3: T3, arg4: T4): Function1< T2, R>;
993
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: __, arg2: T2, arg3: T3, arg4: T4): Function1<T1, R>;
994
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, arg3: T3, arg4: T4): Function0< R>;
995
- // catch-all
996
- (func: (...args: any[]) => any, ...args: any[]): (...args: any[]) => any;
997
-
601
+ <T1, T2, R>(func: Function2<T1, T2, R>, plc1: __, arg2: T2): Function1<T1, R>;
602
+ <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, plc1: __, arg2: T2): Function2<T1, T3, R>;
603
+ <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, plc1: __, plc2: __, arg3: T3): Function2<T1, T2, R>;
604
+ <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1, plc2: __, arg3: T3): Function1<T2, R>;
605
+ <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, plc1: __, arg2: T2, arg3: T3): Function1<T1, R>;
606
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: __, arg2: T2): Function3<T1, T3, T4, R>;
607
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: __, plc2: __, arg3: T3): Function3<T1, T2, T4, R>;
608
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: __, arg3: T3): Function2<T2, T4, R>;
609
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: __, arg2: T2, arg3: T3): Function2<T1, T4, R>;
610
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, arg3: T3): Function1<T4, R>;
611
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: __, plc2: __, plc3: __, arg4: T4): Function3<T1, T2, T3, R>;
612
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: __, plc3: __, arg4: T4): Function2<T2, T3, R>;
613
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: __, arg2: T2, plc3: __, arg4: T4): Function2<T1, T3, R>;
614
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, plc3: __, arg4: T4): Function1<T3, R>;
615
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: __, plc2: __, arg3: T3, arg4: T4): Function2<T1, T2, R>;
616
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: __, arg3: T3, arg4: T4): Function1<T2, R>;
617
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: __, arg2: T2, arg3: T3, arg4: T4): Function1<T1, R>;
618
+ <TS extends any[], R>(func: (...ts: TS) => R): (...ts: TS) => R;
619
+ <TS extends any[], T1, R>(func: (t1: T1, ...ts: TS) => R, arg1: T1): (...ts: TS) => R;
620
+ <TS extends any[], T1, T2, R>(func: (t1: T1, t2: T2, ...ts: TS) => R, t1: T1, t2: T2): (...ts: TS) => R;
621
+ <TS extends any[], T1, T2, T3, R>(func: (t1: T1, t2: T2, t3: T3, ...ts: TS) => R, t1: T1, t2: T2, t3: T3): (...ts: TS) => R;
622
+ <TS extends any[], T1, T2, T3, T4, R>(func: (t1: T1, t2: T2, t3: T3, t4: T4, ...ts: TS) => R, t1: T1, t2: T2, t3: T3, t4: T4): (...ts: TS) => R;
998
623
  placeholder: __;
999
624
  }
1000
-
1001
- interface ImplicitPartial {
1002
- // arity 0
1003
- <R>(this: LoDashImplicitWrapper<Function0<R>>): LoDashImplicitWrapper<Function0<R>>;
1004
- // arity 1
1005
- <T1, R>(this: LoDashImplicitWrapper<Function1<T1, R>>): LoDashImplicitWrapper<Function1<T1, R>>;
1006
- <T1, R>(this: LoDashImplicitWrapper<Function1<T1, R>>, arg1: T1): LoDashImplicitWrapper<Function0<R>>;
1007
- // arity 2
1008
- <T1, T2, R>(this: LoDashImplicitWrapper<Function2<T1, T2, R>>): LoDashImplicitWrapper<Function2<T1, T2, R>>;
1009
- <T1, T2, R>(this: LoDashImplicitWrapper<Function2<T1, T2, R>>, arg1: T1): LoDashImplicitWrapper<Function1< T2, R>>;
1010
- <T1, T2, R>(this: LoDashImplicitWrapper<Function2<T1, T2, R>>, plc1: __, arg2: T2): LoDashImplicitWrapper<Function1<T1, R>>;
1011
- <T1, T2, R>(this: LoDashImplicitWrapper<Function2<T1, T2, R>>, arg1: T1, arg2: T2): LoDashImplicitWrapper<Function0< R>>;
1012
- // arity 3
1013
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>): LoDashImplicitWrapper<Function3<T1, T2, T3, R>>;
1014
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1): LoDashImplicitWrapper<Function2< T2, T3, R>>;
1015
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, plc1: __, arg2: T2): LoDashImplicitWrapper<Function2<T1, T3, R>>;
1016
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, arg2: T2): LoDashImplicitWrapper<Function1< T3, R>>;
1017
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, plc1: __, plc2: __, arg3: T3): LoDashImplicitWrapper<Function2<T1, T2, R>>;
1018
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, plc2: __, arg3: T3): LoDashImplicitWrapper<Function1< T2, R>>;
1019
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, plc1: __, arg2: T2, arg3: T3): LoDashImplicitWrapper<Function1<T1, R>>;
1020
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, arg2: T2, arg3: T3): LoDashImplicitWrapper<Function0< R>>;
1021
- // arity 4
1022
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>): LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>;
1023
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1): LoDashImplicitWrapper<Function3< T2, T3, T4, R>>;
1024
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, arg2: T2): LoDashImplicitWrapper<Function3<T1, T3, T4, R>>;
1025
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2): LoDashImplicitWrapper<Function2< T3, T4, R>>;
1026
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, plc2: __, arg3: T3): LoDashImplicitWrapper<Function3<T1, T2, T4, R>>;
1027
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, arg3: T3): LoDashImplicitWrapper<Function2< T2, T4, R>>;
1028
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, arg2: T2, arg3: T3): LoDashImplicitWrapper<Function2<T1, T4, R>>;
1029
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, arg3: T3): LoDashImplicitWrapper<Function1< T4, R>>;
1030
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, plc2: __, plc3: __, arg4: T4): LoDashImplicitWrapper<Function3<T1, T2, T3, R>>;
1031
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, plc3: __, arg4: T4): LoDashImplicitWrapper<Function2< T2, T3, R>>;
1032
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, arg2: T2, plc3: __, arg4: T4): LoDashImplicitWrapper<Function2<T1, T3, R>>;
1033
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, plc3: __, arg4: T4): LoDashImplicitWrapper<Function1< T3, R>>;
1034
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, plc2: __, arg3: T3, arg4: T4): LoDashImplicitWrapper<Function2<T1, T2, R>>;
1035
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, arg3: T3, arg4: T4): LoDashImplicitWrapper<Function1< T2, R>>;
1036
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, arg2: T2, arg3: T3, arg4: T4): LoDashImplicitWrapper<Function1<T1, R>>;
1037
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, arg3: T3, arg4: T4): LoDashImplicitWrapper<Function0< R>>;
1038
- // catch-all
1039
- (...args: any[]): LoDashImplicitWrapper<(...args: any[]) => any>;
1040
- }
1041
-
1042
- interface ExplicitPartial {
1043
- // arity 0
1044
- <R>(this: LoDashExplicitWrapper<Function0<R>>): LoDashExplicitWrapper<Function0<R>>;
1045
- // arity 1
1046
- <T1, R>(this: LoDashExplicitWrapper<Function1<T1, R>>): LoDashExplicitWrapper<Function1<T1, R>>;
1047
- <T1, R>(this: LoDashExplicitWrapper<Function1<T1, R>>, arg1: T1): LoDashExplicitWrapper<Function0<R>>;
1048
- // arity 2
1049
- <T1, T2, R>(this: LoDashExplicitWrapper<Function2<T1, T2, R>>): LoDashExplicitWrapper<Function2<T1, T2, R>>;
1050
- <T1, T2, R>(this: LoDashExplicitWrapper<Function2<T1, T2, R>>, arg1: T1): LoDashExplicitWrapper<Function1< T2, R>>;
1051
- <T1, T2, R>(this: LoDashExplicitWrapper<Function2<T1, T2, R>>, plc1: __, arg2: T2): LoDashExplicitWrapper<Function1<T1, R>>;
1052
- <T1, T2, R>(this: LoDashExplicitWrapper<Function2<T1, T2, R>>, arg1: T1, arg2: T2): LoDashExplicitWrapper<Function0< R>>;
1053
- // arity 3
1054
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>): LoDashExplicitWrapper<Function3<T1, T2, T3, R>>;
1055
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1): LoDashExplicitWrapper<Function2< T2, T3, R>>;
1056
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, plc1: __, arg2: T2): LoDashExplicitWrapper<Function2<T1, T3, R>>;
1057
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, arg2: T2): LoDashExplicitWrapper<Function1< T3, R>>;
1058
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, plc1: __, plc2: __, arg3: T3): LoDashExplicitWrapper<Function2<T1, T2, R>>;
1059
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, plc2: __, arg3: T3): LoDashExplicitWrapper<Function1< T2, R>>;
1060
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, plc1: __, arg2: T2, arg3: T3): LoDashExplicitWrapper<Function1<T1, R>>;
1061
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, arg2: T2, arg3: T3): LoDashExplicitWrapper<Function0< R>>;
1062
- // arity 4
1063
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>): LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>;
1064
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1): LoDashExplicitWrapper<Function3< T2, T3, T4, R>>;
1065
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, arg2: T2): LoDashExplicitWrapper<Function3<T1, T3, T4, R>>;
1066
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2): LoDashExplicitWrapper<Function2< T3, T4, R>>;
1067
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, plc2: __, arg3: T3): LoDashExplicitWrapper<Function3<T1, T2, T4, R>>;
1068
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, arg3: T3): LoDashExplicitWrapper<Function2< T2, T4, R>>;
1069
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, arg2: T2, arg3: T3): LoDashExplicitWrapper<Function2<T1, T4, R>>;
1070
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, arg3: T3): LoDashExplicitWrapper<Function1< T4, R>>;
1071
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, plc2: __, plc3: __, arg4: T4): LoDashExplicitWrapper<Function3<T1, T2, T3, R>>;
1072
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, plc3: __, arg4: T4): LoDashExplicitWrapper<Function2< T2, T3, R>>;
1073
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, arg2: T2, plc3: __, arg4: T4): LoDashExplicitWrapper<Function2<T1, T3, R>>;
1074
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, plc3: __, arg4: T4): LoDashExplicitWrapper<Function1< T3, R>>;
1075
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, plc2: __, arg3: T3, arg4: T4): LoDashExplicitWrapper<Function2<T1, T2, R>>;
1076
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, arg3: T3, arg4: T4): LoDashExplicitWrapper<Function1< T2, R>>;
1077
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, arg2: T2, arg3: T3, arg4: T4): LoDashExplicitWrapper<Function1<T1, R>>;
1078
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, arg3: T3, arg4: T4): LoDashExplicitWrapper<Function0< R>>;
1079
- // catch-all
1080
- (...args: any[]): LoDashExplicitWrapper<(...args: any[]) => any>;
1081
- }
1082
-
1083
- // partialRight
1084
-
625
+ interface Function<T extends (...args: any) => any> {
626
+ /**
627
+ * @see _.partial
628
+ */
629
+ partial<T2>(plc1: __, arg2: T2): Function<
630
+ T extends Function2<infer T1, T2, infer R> ? Function1<T1, R> :
631
+ T extends Function3<infer T1, T2, infer T3, infer R> ? Function2<T1, T3, R> :
632
+ T extends Function4<infer T1, T2, infer T3, infer T4, infer R> ? Function3<T1, T3, T4, R> :
633
+ any
634
+ >;
635
+ /**
636
+ * @see _.partial
637
+ */
638
+ partial<T3>(plc1: __, plc2: __, arg3: T3): Function<
639
+ T extends Function3<infer T1, infer T2, T3, infer R> ? Function2<T1, T2, R> :
640
+ T extends Function4<infer T1, infer T2, T3, infer T4, infer R> ? Function3<T1, T2, T4, R> :
641
+ any
642
+ >;
643
+ /**
644
+ * @see _.partial
645
+ */
646
+ partial<T1, T3>(arg1: T1, plc2: __, arg3: T3): Function<
647
+ T extends Function3<T1, infer T2, T3, infer R> ? Function1<T2, R> :
648
+ T extends Function4<T1, infer T2, T3, infer T4, infer R> ? Function2<T2, T4, R> :
649
+ any
650
+ >;
651
+ /**
652
+ * @see _.partial
653
+ */
654
+ partial<T2, T3>(plc1: __, arg2: T2, arg3: T3): Function<
655
+ T extends Function3<infer T1, T2, T3, infer R> ? Function1<T1, R> :
656
+ T extends Function4<infer T1, T2, T3, infer T4, infer R> ? Function2<T1, T4, R> :
657
+ any
658
+ >;
659
+ /**
660
+ * @see _.partial
661
+ */
662
+ partial<T3>(plc1: __, plc2: __, arg3: T3): Function<
663
+ T extends Function4<infer T1, infer T2, T3, infer T4, infer R> ? Function3<T1, T2, T4, R> :
664
+ any
665
+ >;
666
+ /**
667
+ * @see _.partial
668
+ */
669
+ partial<T1, T4>(arg1: T1, plc2: __, plc3: __, arg4: T4): Function<
670
+ T extends Function4<T1, infer T2, infer T3, T4, infer R> ? Function2<T2, T3, R> :
671
+ any
672
+ >;
673
+ /**
674
+ * @see _.partial
675
+ */
676
+ partial<T2, T4>(plc1: __, arg2: T2, plc3: __, arg4: T4): Function<
677
+ T extends Function4<infer T1, T2, infer T3, T4, infer R> ? Function2<T1, T3, R> :
678
+ any
679
+ >;
680
+ /**
681
+ * @see _.partial
682
+ */
683
+ partial<T1, T2, T4>(arg1: T1, arg2: T2, plc3: __, arg4: T4): Function<
684
+ T extends Function4<T1, T2, infer T3, T4, infer R> ? Function1<T3, R> :
685
+ any
686
+ >;
687
+ /**
688
+ * @see _.partial
689
+ */
690
+ partial<T3, T4>(plc1: __, plc2: __, arg3: T3, arg4: T4): Function<
691
+ T extends Function4<infer T1, infer T2, T3, T4, infer R> ? Function2<T1, T2, R> :
692
+ any
693
+ >;
694
+ /**
695
+ * @see _.partial
696
+ */
697
+ partial<T1, T3, T4>(arg1: T1, plc2: __, arg3: T3, arg4: T4): Function<
698
+ T extends Function4<T1, infer T2, T3, T4, infer R> ? Function1<T2, R> :
699
+ any
700
+ >;
701
+ /**
702
+ * @see _.partial
703
+ */
704
+ partial<T2, T3, T4>(plc1: __, arg2: T2, arg3: T3, arg4: T4): Function<
705
+ T extends Function4<infer T1, T2, T3, T4, infer R> ? Function1<T1, R> :
706
+ any
707
+ >;
708
+ /**
709
+ * @see _.partial
710
+ */
711
+ partial<T1, T2, T3, T4>(arg1: T1, arg2: T2, arg3: T3, arg4: T4): Function<
712
+ T extends (t1: T1, t2: T2, t3: T3, t4: T4, ...ts: infer TS) => infer R ? (...ts: TS) => R :
713
+ any
714
+ >;
715
+ /**
716
+ * @see _.partial
717
+ */
718
+ partial<T1, T2, T3>(arg1: T1, arg2: T2, arg3: T3): Function<
719
+ T extends (t1: T1, t2: T2, t3: T3, ...ts: infer TS) => infer R ? (...ts: TS) => R :
720
+ any
721
+ >;
722
+ /**
723
+ * @see _.partial
724
+ */
725
+ partial<T1, T2>(arg1: T1, arg2: T2): Function<
726
+ T extends (t1: T1, t2: T2, ...ts: infer TS) => infer R ? (...ts: TS) => R :
727
+ any
728
+ >;
729
+ /**
730
+ * @see _.partial
731
+ */
732
+ partial<T1>(arg1: T1): Function<
733
+ T extends (t1: T1, ...ts: infer TS) => infer R ? (...ts: TS) => R :
734
+ any
735
+ >;
736
+ /**
737
+ * @see _.partial
738
+ */
739
+ partial(): Function<T extends (...ts: any[]) => any ? T : any>;
740
+ }
741
+ interface FunctionChain<T extends (...args: any) => any> {
742
+ /**
743
+ * @see _.partial
744
+ */
745
+ partial<T2>(plc1: __, arg2: T2): FunctionChain<
746
+ T extends Function2<infer T1, T2, infer R> ? Function1<T1, R> :
747
+ T extends Function3<infer T1, T2, infer T3, infer R> ? Function2<T1, T3, R> :
748
+ T extends Function4<infer T1, T2, infer T3, infer T4, infer R> ? Function3<T1, T3, T4, R> :
749
+ any
750
+ >;
751
+ /**
752
+ * @see _.partial
753
+ */
754
+ partial<T3>(plc1: __, plc2: __, arg3: T3): FunctionChain<
755
+ T extends Function3<infer T1, infer T2, T3, infer R> ? Function2<T1, T2, R> :
756
+ T extends Function4<infer T1, infer T2, T3, infer T4, infer R> ? Function3<T1, T2, T4, R> :
757
+ any
758
+ >;
759
+ /**
760
+ * @see _.partial
761
+ */
762
+ partial<T1, T3>(arg1: T1, plc2: __, arg3: T3): FunctionChain<
763
+ T extends Function3<T1, infer T2, T3, infer R> ? Function1<T2, R> :
764
+ T extends Function4<T1, infer T2, T3, infer T4, infer R> ? Function2<T2, T4, R> :
765
+ any
766
+ >;
767
+ /**
768
+ * @see _.partial
769
+ */
770
+ partial<T2, T3>(plc1: __, arg2: T2, arg3: T3): FunctionChain<
771
+ T extends Function3<infer T1, T2, T3, infer R> ? Function1<T1, R> :
772
+ T extends Function4<infer T1, T2, T3, infer T4, infer R> ? Function2<T1, T4, R> :
773
+ any
774
+ >;
775
+ /**
776
+ * @see _.partial
777
+ */
778
+ partial<T3>(plc1: __, plc2: __, arg3: T3): FunctionChain<
779
+ T extends Function4<infer T1, infer T2, T3, infer T4, infer R> ? Function3<T1, T2, T4, R> :
780
+ any
781
+ >;
782
+ /**
783
+ * @see _.partial
784
+ */
785
+ partial<T1, T4>(arg1: T1, plc2: __, plc3: __, arg4: T4): FunctionChain<
786
+ T extends Function4<T1, infer T2, infer T3, T4, infer R> ? Function2<T2, T3, R> :
787
+ any
788
+ >;
789
+ /**
790
+ * @see _.partial
791
+ */
792
+ partial<T2, T4>(plc1: __, arg2: T2, plc3: __, arg4: T4): FunctionChain<
793
+ T extends Function4<infer T1, T2, infer T3, T4, infer R> ? Function2<T1, T3, R> :
794
+ any
795
+ >;
796
+ /**
797
+ * @see _.partial
798
+ */
799
+ partial<T1, T2, T4>(arg1: T1, arg2: T2, plc3: __, arg4: T4): FunctionChain<
800
+ T extends Function4<T1, T2, infer T3, T4, infer R> ? Function1<T3, R> :
801
+ any
802
+ >;
803
+ /**
804
+ * @see _.partial
805
+ */
806
+ partial<T3, T4>(plc1: __, plc2: __, arg3: T3, arg4: T4): FunctionChain<
807
+ T extends Function4<infer T1, infer T2, T3, T4, infer R> ? Function2<T1, T2, R> :
808
+ any
809
+ >;
810
+ /**
811
+ * @see _.partial
812
+ */
813
+ partial<T1, T3, T4>(arg1: T1, plc2: __, arg3: T3, arg4: T4): FunctionChain<
814
+ T extends Function4<T1, infer T2, T3, T4, infer R> ? Function1<T2, R> :
815
+ any
816
+ >;
817
+ /**
818
+ * @see _.partial
819
+ */
820
+ partial<T2, T3, T4>(plc1: __, arg2: T2, arg3: T3, arg4: T4): FunctionChain<
821
+ T extends Function4<infer T1, T2, T3, T4, infer R> ? Function1<T1, R> :
822
+ any
823
+ >;
824
+ /**
825
+ * @see _.partial
826
+ */
827
+ partial<T1, T2, T3, T4>(arg1: T1, arg2: T2, arg3: T3, arg4: T4): FunctionChain<
828
+ T extends (t1: T1, t2: T2, t3: T3, t4: T4, ...ts: infer TS) => infer R ? (...ts: TS) => R :
829
+ any
830
+ >;
831
+ /**
832
+ * @see _.partial
833
+ */
834
+ partial<T1, T2, T3>(arg1: T1, arg2: T2, arg3: T3): FunctionChain<
835
+ T extends (t1: T1, t2: T2, t3: T3, ...ts: infer TS) => infer R ? (...ts: TS) => R :
836
+ any
837
+ >;
838
+ /**
839
+ * @see _.partial
840
+ */
841
+ partial<T1, T2>(arg1: T1, arg2: T2): FunctionChain<
842
+ T extends (t1: T1, t2: T2, ...ts: infer TS) => infer R ? (...ts: TS) => R :
843
+ any
844
+ >;
845
+ /**
846
+ * @see _.partial
847
+ */
848
+ partial<T1>(arg1: T1): FunctionChain<
849
+ T extends (t1: T1, ...ts: infer TS) => infer R ? (...ts: TS) => R :
850
+ any
851
+ >;
852
+ /**
853
+ * @see _.partial
854
+ */
855
+ partial(): FunctionChain<T extends (...ts: any[]) => any ? T : any>;
856
+ }
1085
857
  interface LoDashStatic {
1086
858
  /**
1087
859
  * This method is like _.partial except that partial arguments are appended to those provided
@@ -1089,151 +861,370 @@ declare module "../index" {
1089
861
  * @param func The function to partially apply arguments to.
1090
862
  * @param args Arguments to be partially applied.
1091
863
  * @return The new partially applied function.
1092
- **/
864
+ */
1093
865
  partialRight: PartialRight;
1094
866
  }
1095
-
1096
- interface LoDashImplicitWrapper<TValue> {
867
+ interface PartialRight {
868
+ <R>(func: Function0<R>): Function0<R>;
869
+ <T1, R>(func: Function1<T1, R>): Function1<T1, R>;
870
+ <T1, R>(func: Function1<T1, R>, arg1: T1): Function0<R>;
871
+ <T1, T2, R>(func: Function2<T1, T2, R>): Function2<T1, T2, R>;
872
+ <T1, T2, R>(func: Function2<T1, T2, R>, arg1: T1, plc2: __): Function1<T2, R>;
873
+ <T1, T2, R>(func: Function2<T1, T2, R>, arg2: T2): Function1<T1, R>;
874
+ <T1, T2, R>(func: Function2<T1, T2, R>, arg1: T1, arg2: T2): Function0<R>;
875
+ <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>): Function3<T1, T2, T3, R>;
876
+ <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1, plc2: __, plc3: __): Function2<T2, T3, R>;
877
+ <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg2: T2, plc3: __): Function2<T1, T3, R>;
878
+ <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1, arg2: T2, plc3: __): Function1<T3, R>;
879
+ <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg3: T3): Function2<T1, T2, R>;
880
+ <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1, plc2: __, arg3: T3): Function1<T2, R>;
881
+ <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg2: T2, arg3: T3): Function1<T1, R>;
882
+ <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1, arg2: T2, arg3: T3): Function0<R>;
883
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>): Function4<T1, T2, T3, T4, R>;
884
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: __, plc3: __, plc4: __): Function3<T2, T3, T4, R>;
885
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg2: T2, plc3: __, plc4: __): Function3<T1, T3, T4, R>;
886
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, plc3: __, plc4: __): Function2<T3, T4, R>;
887
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg3: T3, plc4: __): Function3<T1, T2, T4, R>;
888
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: __, arg3: T3, plc4: __): Function2<T2, T4, R>;
889
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg2: T2, arg3: T3, plc4: __): Function2<T1, T4, R>;
890
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, arg3: T3, plc4: __): Function1<T4, R>;
891
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg4: T4): Function3<T1, T2, T3, R>;
892
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: __, plc3: __, arg4: T4): Function2<T2, T3, R>;
893
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg2: T2, plc3: __, arg4: T4): Function2<T1, T3, R>;
894
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, plc3: __, arg4: T4): Function1<T3, R>;
895
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg3: T3, arg4: T4): Function2<T1, T2, R>;
896
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: __, arg3: T3, arg4: T4): Function1<T2, R>;
897
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg2: T2, arg3: T3, arg4: T4): Function1<T1, R>;
898
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, arg3: T3, arg4: T4): Function0<R>;
899
+ (func: (...args: any[]) => any, ...args: any[]): (...args: any[]) => any;
900
+ placeholder: __;
901
+ }
902
+ interface Function<T extends (...args: any) => any> {
1097
903
  /**
1098
904
  * @see _.partialRight
1099
905
  */
1100
- partialRight: ImplicitPartialRight;
1101
- }
1102
-
1103
- interface LoDashExplicitWrapper<TValue> {
906
+ partialRight<T1>(arg1: T1, plc2: __): Function<
907
+ T extends Function2<T1, infer T2, infer R> ? Function1<T2, R> :
908
+ any
909
+ >;
910
+ /**
911
+ * @see _.partialRight
912
+ */
913
+ partialRight<T2>(arg2: T2): Function<
914
+ T extends Function2<infer T1, T2, infer R> ? Function1<T1, R> : any
915
+ >;
916
+ /**
917
+ * @see _.partialRight
918
+ */
919
+ partialRight<T1>(arg1: T1, plc2: __, plc3: __): Function<
920
+ T extends Function3<T1, infer T2, infer T3, infer R> ? Function2<T2, T3, R> :
921
+ any
922
+ >;
923
+ /**
924
+ * @see _.partialRight
925
+ */
926
+ partialRight<T2>(arg2: T2, plc3: __): Function<
927
+ T extends Function3<infer T1, T2, infer T3, infer R> ? Function2<T1, T3, R> :
928
+ any
929
+ >;
930
+ /**
931
+ * @see _.partialRight
932
+ */
933
+ partialRight<T1, T2>(arg1: T1, arg2: T2, plc3: __): Function<
934
+ T extends Function3<T1, T2, infer T3, infer R> ? Function1<T3, R> :
935
+ any
936
+ >;
937
+ /**
938
+ * @see _.partialRight
939
+ */
940
+ partialRight<T3>(arg3: T3): Function<
941
+ T extends Function3<infer T1, infer T2, T3, infer R> ? Function2<T1, T2, R> :
942
+ any
943
+ >;
944
+ /**
945
+ * @see _.partialRight
946
+ */
947
+ partialRight<T1, T3>(arg1: T1, plc2: __, arg3: T3): Function<
948
+ T extends Function3<T1, infer T2, T3, infer R> ? Function1<T2, R> :
949
+ any
950
+ >;
951
+ /**
952
+ * @see _.partialRight
953
+ */
954
+ partialRight<T2, T3>(arg2: T2, arg3: T3): Function<
955
+ T extends Function3<infer T1, T2, T3, infer R> ? Function1<T1, R> :
956
+ any
957
+ >;
958
+ /**
959
+ * @see _.partialRight
960
+ */
961
+ partialRight<T1>(arg1: T1, plc2: __, plc3: __, plc4: __): Function<
962
+ T extends Function4<T1, infer T2, infer T3, infer T4, infer R> ? Function3<T2, T3, T4, R> :
963
+ any
964
+ >;
965
+ /**
966
+ * @see _.partialRight
967
+ */
968
+ partialRight<T2>(arg2: T2, plc3: __, plc4: __): Function<
969
+ T extends Function4<infer T1, T2, infer T3, infer T4, infer R> ? Function3<T1, T3, T4, R> :
970
+ any
971
+ >;
972
+ /**
973
+ * @see _.partialRight
974
+ */
975
+ partialRight<T1, T2>(arg1: T1, arg2: T2, plc3: __, plc4: __): Function<
976
+ T extends Function4<T1, T2, infer T3, infer T4, infer R> ? Function2<T3, T4, R> :
977
+ any
978
+ >;
979
+ /**
980
+ * @see _.partialRight
981
+ */
982
+ partialRight<T3>(arg3: T3, plc4: __): Function<
983
+ T extends Function4<infer T1, infer T2, T3, infer T4, infer R> ? Function3<T1, T2, T4, R> :
984
+ any
985
+ >;
986
+ /**
987
+ * @see _.partialRight
988
+ */
989
+ partialRight<T1, T3>(arg1: T1, plc2: __, arg3: T3, plc4: __): Function<
990
+ T extends Function4<T1, infer T2, infer T3, infer T4, infer R> ? Function2<T2, T4, R> :
991
+ any
992
+ >;
993
+ /**
994
+ * @see _.partialRight
995
+ */
996
+ partialRight<T2, T3>(arg2: T2, arg3: T3, plc4: __): Function<
997
+ T extends Function4<infer T1, T2, T3, infer T4, infer R> ? Function2<T1, T4, R> :
998
+ any
999
+ >;
1000
+ /**
1001
+ * @see _.partialRight
1002
+ */
1003
+ partialRight<T1, T2, T3>(arg1: T1, arg2: T2, arg3: T3, plc4: __): Function<
1004
+ T extends Function4<T1, T2, T3, infer T4, infer R> ? Function1<T4, R> :
1005
+ any
1006
+ >;
1007
+ /**
1008
+ * @see _.partialRight
1009
+ */
1010
+ partialRight<T4>(arg4: T4): Function<
1011
+ T extends Function4<infer T1, infer T2, infer T3, T4, infer R> ? Function3<T1, T2, T3, R> :
1012
+ any
1013
+ >;
1014
+ /**
1015
+ * @see _.partialRight
1016
+ */
1017
+ partialRight<T1, T4>(arg1: T1, plc2: __, plc3: __, arg4: T4): Function<
1018
+ T extends Function4<T1, infer T2, infer T3, T4, infer R> ? Function2<T2, T3, R> :
1019
+ any
1020
+ >;
1021
+ /**
1022
+ * @see _.partialRight
1023
+ */
1024
+ partialRight<T2, T4>(arg2: T2, plc3: __, arg4: T4): Function<
1025
+ T extends Function4<infer T1, T2, infer T3, T4, infer R> ? Function2<T1, T3, R> :
1026
+ any
1027
+ >;
1028
+ /**
1029
+ * @see _.partialRight
1030
+ */
1031
+ partialRight<T1, T2, T4>(arg1: T1, arg2: T2, plc3: __, arg4: T4): Function<
1032
+ T extends Function4<T1, T2, infer T3, T4, infer R> ? Function1<T3, R> :
1033
+ any
1034
+ >;
1035
+ /**
1036
+ * @see _.partialRight
1037
+ */
1038
+ partialRight<T3, T4>(arg3: T3, arg4: T4): Function<
1039
+ T extends Function4<infer T1, infer T2, T3, T4, infer R> ? Function2<T1, T2, R> :
1040
+ any
1041
+ >;
1042
+ /**
1043
+ * @see _.partialRight
1044
+ */
1045
+ partialRight<T1, T3, T4>(arg1: T1, plc2: __, arg3: T3, arg4: T4): Function<
1046
+ T extends Function4<T1, infer T2, T3, T4, infer R> ? Function1<T2, R> :
1047
+ any
1048
+ >;
1049
+ /**
1050
+ * @see _.partialRight
1051
+ */
1052
+ partialRight<T2, T3, T4>(arg2: T2, arg3: T3, arg4: T4): Function<
1053
+ T extends Function4<infer T1, T2, T3, T4, infer R> ? Function1<T1, R> :
1054
+ any
1055
+ >;
1056
+ /**
1057
+ * @see _.partialRight
1058
+ */
1059
+ partialRight<TS extends any[]>(...ts: TS): Function<T extends (...args: TS) => infer R ? () => R : any>;
1104
1060
  /**
1105
1061
  * @see _.partialRight
1106
1062
  */
1107
- partialRight: ExplicitPartialRight;
1063
+ partialRight(): Function<T extends (...ts: any[]) => any ? T : any>;
1108
1064
  }
1109
-
1110
- interface PartialRight {
1111
- // arity 0
1112
- <R>(func: Function0<R>): Function0<R>;
1113
- // arity 1
1114
- <T1, R>(func: Function1<T1, R>): Function1<T1, R>;
1115
- <T1, R>(func: Function1<T1, R>, arg1: T1): Function0<R>;
1116
- // arity 2
1117
- <T1, T2, R>(func: Function2<T1, T2, R>): Function2<T1, T2, R>;
1118
- <T1, T2, R>(func: Function2<T1, T2, R>, arg1: T1, plc2: __): Function1< T2, R>;
1119
- <T1, T2, R>(func: Function2<T1, T2, R>, arg2: T2): Function1<T1, R>;
1120
- <T1, T2, R>(func: Function2<T1, T2, R>, arg1: T1, arg2: T2): Function0< R>;
1121
- // arity 3
1122
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>): Function3<T1, T2, T3, R>;
1123
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1, plc2: __, plc3: __): Function2< T2, T3, R>;
1124
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg2: T2, plc3: __): Function2<T1, T3, R>;
1125
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1, arg2: T2, plc3: __): Function1< T3, R>;
1126
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg3: T3): Function2<T1, T2, R>;
1127
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1, plc2: __, arg3: T3): Function1< T2, R>;
1128
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg2: T2, arg3: T3): Function1<T1, R>;
1129
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1, arg2: T2, arg3: T3): Function0< R>;
1130
- // arity 4
1131
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>): Function4<T1, T2, T3, T4, R>;
1132
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: __, plc3: __, plc4: __): Function3< T2, T3, T4, R>;
1133
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg2: T2, plc3: __, plc4: __): Function3<T1, T3, T4, R>;
1134
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, plc3: __, plc4: __): Function2< T3, T4, R>;
1135
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg3: T3, plc4: __): Function3<T1, T2, T4, R>;
1136
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: __, arg3: T3, plc4: __): Function2< T2, T4, R>;
1137
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg2: T2, arg3: T3, plc4: __): Function2<T1, T4, R>;
1138
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, arg3: T3, plc4: __): Function1< T4, R>;
1139
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg4: T4): Function3<T1, T2, T3, R>;
1140
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: __, plc3: __, arg4: T4): Function2< T2, T3, R>;
1141
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg2: T2, plc3: __, arg4: T4): Function2<T1, T3, R>;
1142
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, plc3: __, arg4: T4): Function1< T3, R>;
1143
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg3: T3, arg4: T4): Function2<T1, T2, R>;
1144
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: __, arg3: T3, arg4: T4): Function1< T2, R>;
1145
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg2: T2, arg3: T3, arg4: T4): Function1<T1, R>;
1146
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, arg3: T3, arg4: T4): Function0< R>;
1147
- // catch-all
1148
- (func: (...args: any[]) => any, ...args: any[]): (...args: any[]) => any;
1149
-
1150
- placeholder: __;
1065
+ interface FunctionChain<T extends (...args: any) => any> {
1066
+ /**
1067
+ * @see _.partialRight
1068
+ */
1069
+ partialRight<T1>(arg1: T1, plc2: __): FunctionChain<
1070
+ T extends Function2<T1, infer T2, infer R> ? Function1<T2, R> :
1071
+ any
1072
+ >;
1073
+ /**
1074
+ * @see _.partialRight
1075
+ */
1076
+ partialRight<T2>(arg2: T2): FunctionChain<
1077
+ T extends Function2<infer T1, T2, infer R> ? Function1<T1, R> : any
1078
+ >;
1079
+ /**
1080
+ * @see _.partialRight
1081
+ */
1082
+ partialRight<T1>(arg1: T1, plc2: __, plc3: __): FunctionChain<
1083
+ T extends Function3<T1, infer T2, infer T3, infer R> ? Function2<T2, T3, R> :
1084
+ any
1085
+ >;
1086
+ /**
1087
+ * @see _.partialRight
1088
+ */
1089
+ partialRight<T2>(arg2: T2, plc3: __): FunctionChain<
1090
+ T extends Function3<infer T1, T2, infer T3, infer R> ? Function2<T1, T3, R> :
1091
+ any
1092
+ >;
1093
+ /**
1094
+ * @see _.partialRight
1095
+ */
1096
+ partialRight<T1, T2>(arg1: T1, arg2: T2, plc3: __): FunctionChain<
1097
+ T extends Function3<T1, T2, infer T3, infer R> ? Function1<T3, R> :
1098
+ any
1099
+ >;
1100
+ /**
1101
+ * @see _.partialRight
1102
+ */
1103
+ partialRight<T3>(arg3: T3): FunctionChain<
1104
+ T extends Function3<infer T1, infer T2, T3, infer R> ? Function2<T1, T2, R> :
1105
+ any
1106
+ >;
1107
+ /**
1108
+ * @see _.partialRight
1109
+ */
1110
+ partialRight<T1, T3>(arg1: T1, plc2: __, arg3: T3): FunctionChain<
1111
+ T extends Function3<T1, infer T2, T3, infer R> ? Function1<T2, R> :
1112
+ any
1113
+ >;
1114
+ /**
1115
+ * @see _.partialRight
1116
+ */
1117
+ partialRight<T2, T3>(arg2: T2, arg3: T3): FunctionChain<
1118
+ T extends Function3<infer T1, T2, T3, infer R> ? Function1<T1, R> :
1119
+ any
1120
+ >;
1121
+ /**
1122
+ * @see _.partialRight
1123
+ */
1124
+ partialRight<T1>(arg1: T1, plc2: __, plc3: __, plc4: __): FunctionChain<
1125
+ T extends Function4<T1, infer T2, infer T3, infer T4, infer R> ? Function3<T2, T3, T4, R> :
1126
+ any
1127
+ >;
1128
+ /**
1129
+ * @see _.partialRight
1130
+ */
1131
+ partialRight<T2>(arg2: T2, plc3: __, plc4: __): FunctionChain<
1132
+ T extends Function4<infer T1, T2, infer T3, infer T4, infer R> ? Function3<T1, T3, T4, R> :
1133
+ any
1134
+ >;
1135
+ /**
1136
+ * @see _.partialRight
1137
+ */
1138
+ partialRight<T1, T2>(arg1: T1, arg2: T2, plc3: __, plc4: __): FunctionChain<
1139
+ T extends Function4<T1, T2, infer T3, infer T4, infer R> ? Function2<T3, T4, R> :
1140
+ any
1141
+ >;
1142
+ /**
1143
+ * @see _.partialRight
1144
+ */
1145
+ partialRight<T3>(arg3: T3, plc4: __): FunctionChain<
1146
+ T extends Function4<infer T1, infer T2, T3, infer T4, infer R> ? Function3<T1, T2, T4, R> :
1147
+ any
1148
+ >;
1149
+ /**
1150
+ * @see _.partialRight
1151
+ */
1152
+ partialRight<T1, T3>(arg1: T1, plc2: __, arg3: T3, plc4: __): FunctionChain<
1153
+ T extends Function4<T1, infer T2, infer T3, infer T4, infer R> ? Function2<T2, T4, R> :
1154
+ any
1155
+ >;
1156
+ /**
1157
+ * @see _.partialRight
1158
+ */
1159
+ partialRight<T2, T3>(arg2: T2, arg3: T3, plc4: __): FunctionChain<
1160
+ T extends Function4<infer T1, T2, T3, infer T4, infer R> ? Function2<T1, T4, R> :
1161
+ any
1162
+ >;
1163
+ /**
1164
+ * @see _.partialRight
1165
+ */
1166
+ partialRight<T1, T2, T3>(arg1: T1, arg2: T2, arg3: T3, plc4: __): FunctionChain<
1167
+ T extends Function4<T1, T2, T3, infer T4, infer R> ? Function1<T4, R> :
1168
+ any
1169
+ >;
1170
+ /**
1171
+ * @see _.partialRight
1172
+ */
1173
+ partialRight<T4>(arg4: T4): FunctionChain<
1174
+ T extends Function4<infer T1, infer T2, infer T3, T4, infer R> ? Function3<T1, T2, T3, R> :
1175
+ any
1176
+ >;
1177
+ /**
1178
+ * @see _.partialRight
1179
+ */
1180
+ partialRight<T1, T4>(arg1: T1, plc2: __, plc3: __, arg4: T4): FunctionChain<
1181
+ T extends Function4<T1, infer T2, infer T3, T4, infer R> ? Function2<T2, T3, R> :
1182
+ any
1183
+ >;
1184
+ /**
1185
+ * @see _.partialRight
1186
+ */
1187
+ partialRight<T2, T4>(arg2: T2, plc3: __, arg4: T4): FunctionChain<
1188
+ T extends Function4<infer T1, T2, infer T3, T4, infer R> ? Function2<T1, T3, R> :
1189
+ any
1190
+ >;
1191
+ /**
1192
+ * @see _.partialRight
1193
+ */
1194
+ partialRight<T1, T2, T4>(arg1: T1, arg2: T2, plc3: __, arg4: T4): FunctionChain<
1195
+ T extends Function4<T1, T2, infer T3, T4, infer R> ? Function1<T3, R> :
1196
+ any
1197
+ >;
1198
+ /**
1199
+ * @see _.partialRight
1200
+ */
1201
+ partialRight<T3, T4>(arg3: T3, arg4: T4): FunctionChain<
1202
+ T extends Function4<infer T1, infer T2, T3, T4, infer R> ? Function2<T1, T2, R> :
1203
+ any
1204
+ >;
1205
+ /**
1206
+ * @see _.partialRight
1207
+ */
1208
+ partialRight<T1, T3, T4>(arg1: T1, plc2: __, arg3: T3, arg4: T4): FunctionChain<
1209
+ T extends Function4<T1, infer T2, T3, T4, infer R> ? Function1<T2, R> :
1210
+ any
1211
+ >;
1212
+ /**
1213
+ * @see _.partialRight
1214
+ */
1215
+ partialRight<T2, T3, T4>(arg2: T2, arg3: T3, arg4: T4): FunctionChain<
1216
+ T extends Function4<infer T1, T2, T3, T4, infer R> ? Function1<T1, R> :
1217
+ any
1218
+ >;
1219
+ /**
1220
+ * @see _.partialRight
1221
+ */
1222
+ partialRight<TS extends any[]>(...ts: TS): FunctionChain<T extends (...args: TS) => infer R ? () => R : any>;
1223
+ /**
1224
+ * @see _.partialRight
1225
+ */
1226
+ partialRight(): FunctionChain<T extends (...ts: any[]) => any ? T : any>;
1151
1227
  }
1152
-
1153
- interface ImplicitPartialRight {
1154
- // arity 0
1155
- <R>(this: LoDashImplicitWrapper<Function0<R>>): LoDashImplicitWrapper<Function0<R>>;
1156
- // arity 1
1157
- <T1, R>(this: LoDashImplicitWrapper<Function1<T1, R>>): LoDashImplicitWrapper<Function1<T1, R>>;
1158
- <T1, R>(this: LoDashImplicitWrapper<Function1<T1, R>>, arg1: T1): LoDashImplicitWrapper<Function0<R>>;
1159
- // arity 2
1160
- <T1, T2, R>(this: LoDashImplicitWrapper<Function2<T1, T2, R>>): LoDashImplicitWrapper<Function2<T1, T2, R>>;
1161
- <T1, T2, R>(this: LoDashImplicitWrapper<Function2<T1, T2, R>>, arg1: T1, plc2: __): LoDashImplicitWrapper<Function1< T2, R>>;
1162
- <T1, T2, R>(this: LoDashImplicitWrapper<Function2<T1, T2, R>>, arg2: T2): LoDashImplicitWrapper<Function1<T1, R>>;
1163
- <T1, T2, R>(this: LoDashImplicitWrapper<Function2<T1, T2, R>>, arg1: T1, arg2: T2): LoDashImplicitWrapper<Function0< R>>;
1164
- // arity 3
1165
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>): LoDashImplicitWrapper<Function3<T1, T2, T3, R>>;
1166
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, plc2: __, plc3: __): LoDashImplicitWrapper<Function2< T2, T3, R>>;
1167
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, arg2: T2, plc3: __): LoDashImplicitWrapper<Function2<T1, T3, R>>;
1168
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, arg2: T2, plc3: __): LoDashImplicitWrapper<Function1< T3, R>>;
1169
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, arg3: T3): LoDashImplicitWrapper<Function2<T1, T2, R>>;
1170
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, plc2: __, arg3: T3): LoDashImplicitWrapper<Function1< T2, R>>;
1171
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, arg2: T2, arg3: T3): LoDashImplicitWrapper<Function1<T1, R>>;
1172
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, arg2: T2, arg3: T3): LoDashImplicitWrapper<Function0< R>>;
1173
- // arity 4
1174
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>): LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>;
1175
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, plc3: __, plc4: __): LoDashImplicitWrapper<Function3< T2, T3, T4, R>>;
1176
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg2: T2, plc3: __, plc4: __): LoDashImplicitWrapper<Function3<T1, T3, T4, R>>;
1177
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, plc3: __, plc4: __): LoDashImplicitWrapper<Function2< T3, T4, R>>;
1178
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg3: T3, plc4: __): LoDashImplicitWrapper<Function3<T1, T2, T4, R>>;
1179
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, arg3: T3, plc4: __): LoDashImplicitWrapper<Function2< T2, T4, R>>;
1180
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg2: T2, arg3: T3, plc4: __): LoDashImplicitWrapper<Function2<T1, T4, R>>;
1181
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, arg3: T3, plc4: __): LoDashImplicitWrapper<Function1< T4, R>>;
1182
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg4: T4): LoDashImplicitWrapper<Function3<T1, T2, T3, R>>;
1183
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, plc3: __, arg4: T4): LoDashImplicitWrapper<Function2< T2, T3, R>>;
1184
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg2: T2, plc3: __, arg4: T4): LoDashImplicitWrapper<Function2<T1, T3, R>>;
1185
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, plc3: __, arg4: T4): LoDashImplicitWrapper<Function1< T3, R>>;
1186
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg3: T3, arg4: T4): LoDashImplicitWrapper<Function2<T1, T2, R>>;
1187
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, arg3: T3, arg4: T4): LoDashImplicitWrapper<Function1< T2, R>>;
1188
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg2: T2, arg3: T3, arg4: T4): LoDashImplicitWrapper<Function1<T1, R>>;
1189
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, arg3: T3, arg4: T4): LoDashImplicitWrapper<Function0< R>>;
1190
- // catch-all
1191
- (...args: any[]): LoDashImplicitWrapper<(...args: any[]) => any>;
1192
- }
1193
-
1194
- interface ExplicitPartialRight {
1195
- // arity 0
1196
- <R>(this: LoDashExplicitWrapper<Function0<R>>): LoDashExplicitWrapper<Function0<R>>;
1197
- // arity 1
1198
- <T1, R>(this: LoDashExplicitWrapper<Function1<T1, R>>): LoDashExplicitWrapper<Function1<T1, R>>;
1199
- <T1, R>(this: LoDashExplicitWrapper<Function1<T1, R>>, arg1: T1): LoDashExplicitWrapper<Function0<R>>;
1200
- // arity 2
1201
- <T1, T2, R>(this: LoDashExplicitWrapper<Function2<T1, T2, R>>): LoDashExplicitWrapper<Function2<T1, T2, R>>;
1202
- <T1, T2, R>(this: LoDashExplicitWrapper<Function2<T1, T2, R>>, arg1: T1, plc2: __): LoDashExplicitWrapper<Function1< T2, R>>;
1203
- <T1, T2, R>(this: LoDashExplicitWrapper<Function2<T1, T2, R>>, arg2: T2): LoDashExplicitWrapper<Function1<T1, R>>;
1204
- <T1, T2, R>(this: LoDashExplicitWrapper<Function2<T1, T2, R>>, arg1: T1, arg2: T2): LoDashExplicitWrapper<Function0< R>>;
1205
- // arity 3
1206
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>): LoDashExplicitWrapper<Function3<T1, T2, T3, R>>;
1207
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, plc2: __, plc3: __): LoDashExplicitWrapper<Function2< T2, T3, R>>;
1208
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, arg2: T2, plc3: __): LoDashExplicitWrapper<Function2<T1, T3, R>>;
1209
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, arg2: T2, plc3: __): LoDashExplicitWrapper<Function1< T3, R>>;
1210
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, arg3: T3): LoDashExplicitWrapper<Function2<T1, T2, R>>;
1211
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, plc2: __, arg3: T3): LoDashExplicitWrapper<Function1< T2, R>>;
1212
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, arg2: T2, arg3: T3): LoDashExplicitWrapper<Function1<T1, R>>;
1213
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, arg2: T2, arg3: T3): LoDashExplicitWrapper<Function0< R>>;
1214
- // arity 4
1215
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>): LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>;
1216
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, plc3: __, plc4: __): LoDashExplicitWrapper<Function3< T2, T3, T4, R>>;
1217
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg2: T2, plc3: __, plc4: __): LoDashExplicitWrapper<Function3<T1, T3, T4, R>>;
1218
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, plc3: __, plc4: __): LoDashExplicitWrapper<Function2< T3, T4, R>>;
1219
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg3: T3, plc4: __): LoDashExplicitWrapper<Function3<T1, T2, T4, R>>;
1220
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, arg3: T3, plc4: __): LoDashExplicitWrapper<Function2< T2, T4, R>>;
1221
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg2: T2, arg3: T3, plc4: __): LoDashExplicitWrapper<Function2<T1, T4, R>>;
1222
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, arg3: T3, plc4: __): LoDashExplicitWrapper<Function1< T4, R>>;
1223
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg4: T4): LoDashExplicitWrapper<Function3<T1, T2, T3, R>>;
1224
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, plc3: __, arg4: T4): LoDashExplicitWrapper<Function2< T2, T3, R>>;
1225
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg2: T2, plc3: __, arg4: T4): LoDashExplicitWrapper<Function2<T1, T3, R>>;
1226
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, plc3: __, arg4: T4): LoDashExplicitWrapper<Function1< T3, R>>;
1227
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg3: T3, arg4: T4): LoDashExplicitWrapper<Function2<T1, T2, R>>;
1228
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, arg3: T3, arg4: T4): LoDashExplicitWrapper<Function1< T2, R>>;
1229
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg2: T2, arg3: T3, arg4: T4): LoDashExplicitWrapper<Function1<T1, R>>;
1230
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, arg3: T3, arg4: T4): LoDashExplicitWrapper<Function0< R>>;
1231
- // catch-all
1232
- (...args: any[]): LoDashExplicitWrapper<(...args: any[]) => any>;
1233
- }
1234
-
1235
- // rearg
1236
-
1237
1228
  interface LoDashStatic {
1238
1229
  /**
1239
1230
  * Creates a function that invokes func with arguments arranged according to the specified indexes where the
@@ -1245,23 +1236,18 @@ declare module "../index" {
1245
1236
  */
1246
1237
  rearg(func: (...args: any[]) => any, ...indexes: Array<Many<number>>): (...args: any[]) => any;
1247
1238
  }
1248
-
1249
- interface LoDashImplicitWrapper<TValue> {
1239
+ interface Function<T extends (...args: any) => any> {
1250
1240
  /**
1251
1241
  * @see _.rearg
1252
1242
  */
1253
- rearg(...indexes: Array<Many<number>>): LoDashImplicitWrapper<(...args: any[]) => any>;
1243
+ rearg(...indexes: Array<Many<number>>): Function<(...args: any[]) => any>;
1254
1244
  }
1255
-
1256
- interface LoDashExplicitWrapper<TValue> {
1245
+ interface FunctionChain<T extends (...args: any) => any> {
1257
1246
  /**
1258
1247
  * @see _.rearg
1259
1248
  */
1260
- rearg(...indexes: Array<Many<number>>): LoDashExplicitWrapper<(...args: any[]) => any>;
1249
+ rearg(...indexes: Array<Many<number>>): FunctionChain<(...args: any[]) => any>;
1261
1250
  }
1262
-
1263
- // rest
1264
-
1265
1251
  interface LoDashStatic {
1266
1252
  /**
1267
1253
  * Creates a function that invokes func with the this binding of the created function and arguments from start
@@ -1273,28 +1259,20 @@ declare module "../index" {
1273
1259
  * @param start The start position of the rest parameter.
1274
1260
  * @return Returns the new function.
1275
1261
  */
1276
- rest(
1277
- func: (...args: any[]) => any,
1278
- start?: number
1279
- ): (...args: any[]) => any;
1262
+ rest(func: (...args: any[]) => any, start?: number): (...args: any[]) => any;
1280
1263
  }
1281
-
1282
- interface LoDashImplicitWrapper<TValue> {
1264
+ interface Function<T extends (...args: any) => any> {
1283
1265
  /**
1284
1266
  * @see _.rest
1285
1267
  */
1286
- rest(start?: number): LoDashImplicitWrapper<(...args: any[]) => any>;
1268
+ rest(start?: number): Function<(...args: any[]) => any>;
1287
1269
  }
1288
-
1289
- interface LoDashExplicitWrapper<TValue> {
1270
+ interface FunctionChain<T extends (...args: any) => any> {
1290
1271
  /**
1291
1272
  * @see _.rest
1292
1273
  */
1293
- rest(start?: number): LoDashExplicitWrapper<(...args: any[]) => any>;
1274
+ rest(start?: number): FunctionChain<(...args: any[]) => any>;
1294
1275
  }
1295
-
1296
- // spread
1297
-
1298
1276
  interface LoDashStatic {
1299
1277
  /**
1300
1278
  * Creates a function that invokes func with the this binding of the created function and an array of arguments
@@ -1305,52 +1283,30 @@ declare module "../index" {
1305
1283
  * @param func The function to spread arguments over.
1306
1284
  * @return Returns the new function.
1307
1285
  */
1308
- spread<TResult>(func: (...args: any[]) => TResult): (...args: any[]) => TResult;
1309
-
1310
- /**
1311
- * @see _.spread
1312
- */
1313
- spread<TResult>(func: (...args: any[]) => TResult, start: number): (...args: any[]) => TResult;
1286
+ spread<TResult>(func: (...args: any[]) => TResult, start?: number): (...args: any[]) => TResult;
1314
1287
  }
1315
-
1316
- interface LoDashImplicitWrapper<TValue> {
1288
+ interface Function<T extends (...args: any) => any> {
1317
1289
  /**
1318
1290
  * @see _.spread
1319
1291
  */
1320
- spread<TResult>(this: LoDashImplicitWrapper<(...args: any[]) => TResult>): LoDashImplicitWrapper<(...args: any[]) => TResult>;
1321
-
1322
- /**
1323
- * @see _.spread
1324
- */
1325
- spread<TResult>(this: LoDashImplicitWrapper<(...args: any[]) => TResult>, start: number): LoDashImplicitWrapper<(...args: any[]) => TResult>;
1292
+ spread(start?: number): Function<(...args: any[]) => ReturnType<T>>;
1326
1293
  }
1327
-
1328
- interface LoDashExplicitWrapper<TValue> {
1329
- /**
1330
- * @see _.spread
1331
- */
1332
- spread<TResult>(this: LoDashExplicitWrapper<(...args: any[]) => TResult>): LoDashExplicitWrapper<(...args: any[]) => TResult>;
1333
-
1294
+ interface FunctionChain<T extends (...args: any) => any> {
1334
1295
  /**
1335
1296
  * @see _.spread
1336
1297
  */
1337
- spread<TResult>(this: LoDashExplicitWrapper<(...args: any[]) => TResult>, start: number): LoDashExplicitWrapper<(...args: any[]) => TResult>;
1298
+ spread(start?: number): FunctionChain<(...args: any[]) => ReturnType<T>>;
1338
1299
  }
1339
-
1340
- // throttle
1341
-
1342
1300
  interface ThrottleSettings {
1343
1301
  /**
1344
- * If you'd like to disable the leading-edge call, pass this as false.
1302
+ * @see _.leading
1345
1303
  */
1346
1304
  leading?: boolean;
1347
-
1348
1305
  /**
1349
- * If you'd like to disable the execution on the trailing-edge, pass false.
1306
+ * @see _.trailing
1350
1307
  */
1351
1308
  trailing?: boolean;
1352
1309
  }
1353
-
1354
1310
  interface LoDashStatic {
1355
1311
  /**
1356
1312
  * Creates a throttled function that only invokes func at most once per every wait milliseconds. The throttled
@@ -1368,35 +1324,20 @@ declare module "../index" {
1368
1324
  * @param options.trailing Specify invoking on the trailing edge of the timeout.
1369
1325
  * @return Returns the new throttled function.
1370
1326
  */
1371
- throttle<T extends (...args: any[]) => any>(
1372
- func: T,
1373
- wait?: number,
1374
- options?: ThrottleSettings
1375
- ): T & Cancelable;
1327
+ throttle<T extends (...args: any) => any>(func: T, wait?: number, options?: ThrottleSettings): T & Cancelable;
1376
1328
  }
1377
-
1378
- interface LoDashImplicitWrapper<TValue> {
1329
+ interface Function<T extends (...args: any) => any> {
1379
1330
  /**
1380
1331
  * @see _.throttle
1381
1332
  */
1382
- throttle(
1383
- wait?: number,
1384
- options?: ThrottleSettings
1385
- ): LoDashImplicitWrapper<TValue & Cancelable>;
1333
+ throttle(wait?: number, options?: ThrottleSettings): Function<T & Cancelable>;
1386
1334
  }
1387
-
1388
- interface LoDashExplicitWrapper<TValue> {
1335
+ interface FunctionChain<T extends (...args: any) => any> {
1389
1336
  /**
1390
1337
  * @see _.throttle
1391
1338
  */
1392
- throttle(
1393
- wait?: number,
1394
- options?: ThrottleSettings
1395
- ): LoDashExplicitWrapper<TValue & Cancelable>;
1339
+ throttle(wait?: number, options?: ThrottleSettings): FunctionChain<T & Cancelable>;
1396
1340
  }
1397
-
1398
- // unary
1399
-
1400
1341
  interface LoDashStatic {
1401
1342
  /**
1402
1343
  * Creates a function that accepts up to one argument, ignoring any
@@ -1412,23 +1353,18 @@ declare module "../index" {
1412
1353
  */
1413
1354
  unary<T, TResult>(func: (arg1: T, ...args: any[]) => TResult): (arg1: T) => TResult;
1414
1355
  }
1415
-
1416
- interface LoDashImplicitWrapper<TValue> {
1356
+ interface Function<T extends (...args: any) => any> {
1417
1357
  /**
1418
1358
  * @see _.unary
1419
1359
  */
1420
- unary<T, TResult>(this: LoDashImplicitWrapper<(arg1: T, ...args: any[]) => TResult>): LoDashImplicitWrapper<(arg1: T) => TResult>;
1360
+ unary(): Function<(arg1: Parameters<T>['0']) => ReturnType<T>>;
1421
1361
  }
1422
-
1423
- interface LoDashExplicitWrapper<TValue> {
1362
+ interface FunctionChain<T extends (...args: any) => any> {
1424
1363
  /**
1425
1364
  * @see _.unary
1426
1365
  */
1427
- unary<T, TResult>(this: LoDashExplicitWrapper<(arg1: T, ...args: any[]) => TResult>): LoDashExplicitWrapper<(arg1: T) => TResult>;
1366
+ unary(): FunctionChain<(arg1: Parameters<T>['0']) => ReturnType<T>>;
1428
1367
  }
1429
-
1430
- // wrap
1431
-
1432
1368
  interface LoDashStatic {
1433
1369
  /**
1434
1370
  * Creates a function that provides value to the wrapper function as its first argument. Any additional
@@ -1439,52 +1375,18 @@ declare module "../index" {
1439
1375
  * @param wrapper The wrapper function.
1440
1376
  * @return Returns the new function.
1441
1377
  */
1442
- wrap<T, TArgs, TResult>(
1443
- value: T,
1444
- wrapper: (value: T, ...args: TArgs[]) => TResult
1445
- ): (...args: TArgs[]) => TResult;
1446
-
1447
- /**
1448
- * @see _.wrap
1449
- */
1450
- wrap<T, TResult>(
1451
- value: T,
1452
- wrapper: (value: T, ...args: any[]) => TResult
1453
- ): (...args: any[]) => TResult;
1378
+ wrap<T, TArgs, TResult>(value: T, wrapper: (value: T, ...args: TArgs[]) => TResult): (...args: TArgs[]) => TResult;
1454
1379
  }
1455
-
1456
1380
  interface LoDashImplicitWrapper<TValue> {
1457
1381
  /**
1458
1382
  * @see _.wrap
1459
1383
  */
1460
- wrap<TArgs, TResult>(
1461
- wrapper: (value: TValue, ...args: TArgs[]) => TResult
1462
- ): LoDashImplicitWrapper<(...args: TArgs[]) => TResult>;
1463
-
1464
- /**
1465
- * @see _.wrap
1466
- */
1467
- wrap<TResult>(
1468
- wrapper: (value: TValue, ...args: any[]) => TResult
1469
- ): LoDashImplicitWrapper<(...args: any[]) => TResult>;
1384
+ wrap<TArgs, TResult>(wrapper: (value: TValue, ...args: TArgs[]) => TResult): Function<(...args: TArgs[]) => TResult>;
1470
1385
  }
1471
-
1472
1386
  interface LoDashExplicitWrapper<TValue> {
1473
1387
  /**
1474
1388
  * @see _.wrap
1475
1389
  */
1476
- /**
1477
- * @see _.wrap
1478
- */
1479
- wrap<TArgs, TResult>(
1480
- wrapper: (value: TValue, ...args: TArgs[]) => TResult
1481
- ): LoDashExplicitWrapper<(...args: TArgs[]) => TResult>;
1482
-
1483
- /**
1484
- * @see _.wrap
1485
- */
1486
- wrap<TResult>(
1487
- wrapper: (value: TValue, ...args: any[]) => TResult
1488
- ): LoDashExplicitWrapper<(...args: any[]) => TResult>;
1390
+ wrap<TArgs, TResult>(wrapper: (value: TValue, ...args: TArgs[]) => TResult): FunctionChain<(...args: TArgs[]) => TResult>;
1489
1391
  }
1490
1392
  }