@types/lodash 4.14.156 → 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 +767 -864
  7. lodash/common/lang.d.ts +239 -480
  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 +81 -352
  13. lodash/common/util.d.ts +337 -639
  14. lodash/fp.d.ts +690 -747
  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,22 +465,26 @@ 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
490
  * Creates a function that memoizes the result of func. If resolver is provided it determines the cache key for
@@ -811,27 +497,22 @@ declare module "../index" {
811
497
  * @return Returns the new memoizing function.
812
498
  */
813
499
  memoize: {
814
- <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;
815
501
  Cache: MapCacheConstructor;
816
502
  };
817
503
  }
818
-
819
- interface LoDashImplicitWrapper<TValue> {
504
+ interface Function<T extends (...args: any) => any> {
820
505
  /**
821
506
  * @see _.memoize
822
507
  */
823
- memoize(resolver?: (...args: any[]) => any): LoDashImplicitWrapper<TValue & MemoizedFunction>;
508
+ memoize(resolver?: (...args: any[]) => any): Function<T & MemoizedFunction>;
824
509
  }
825
-
826
- interface LoDashExplicitWrapper<TValue> {
510
+ interface FunctionChain<T extends (...args: any) => any> {
827
511
  /**
828
512
  * @see _.memoize
829
513
  */
830
- memoize(resolver?: (...args: any[]) => any): LoDashExplicitWrapper<TValue & MemoizedFunction>;
514
+ memoize(resolver?: (...args: any[]) => any): FunctionChain<T & MemoizedFunction>;
831
515
  }
832
-
833
- // negate
834
-
835
516
  interface LoDashStatic {
836
517
  /**
837
518
  * Creates a function that negates the result of the predicate func. The func predicate is invoked with
@@ -840,34 +521,20 @@ declare module "../index" {
840
521
  * @param predicate The predicate to negate.
841
522
  * @return Returns the new function.
842
523
  */
843
- negate(predicate: () => boolean): () => boolean;
844
- negate<A1>(predicate: (a1: A1) => boolean): (a1: A1) => boolean;
845
- negate<A1, A2>(predicate: (a1: A1, a2: A2) => boolean): (a1: A1, a2: A2) => boolean;
846
- negate(predicate: (...args: any[]) => any): (...args: any[]) => boolean;
524
+ negate<T extends any[]>(predicate: (...args: T) => boolean): (...args: T) => boolean;
847
525
  }
848
-
849
- interface LoDashImplicitWrapper<TValue> {
526
+ interface Function<T extends (...args: any) => any> {
850
527
  /**
851
528
  * @see _.negate
852
529
  */
853
- negate(this: LoDashImplicitWrapper<() => boolean>): LoDashImplicitWrapper<() => boolean>;
854
- negate<A1>(this: LoDashImplicitWrapper<(a1: A1) => boolean>): LoDashImplicitWrapper<(a1: A1) => boolean>;
855
- negate<A1, A2>(this: LoDashImplicitWrapper<(a1: A1, a2: A2) => boolean>): LoDashImplicitWrapper<(a1: A1, a2: A2) => boolean>;
856
- negate(this: LoDashImplicitWrapper<(...args: any[]) => any>): LoDashImplicitWrapper<(...args: any[]) => boolean>;
530
+ negate(): Function<(...args: Parameters<T>) => boolean>;
857
531
  }
858
-
859
- interface LoDashExplicitWrapper<TValue> {
532
+ interface FunctionChain<T extends (...args: any) => any> {
860
533
  /**
861
534
  * @see _.negate
862
535
  */
863
- negate(this: LoDashExplicitWrapper<() => boolean>): LoDashExplicitWrapper<() => boolean>;
864
- negate<A1>(this: LoDashExplicitWrapper<(a1: A1) => boolean>): LoDashExplicitWrapper<(a1: A1) => boolean>;
865
- negate<A1, A2>(this: LoDashExplicitWrapper<(a1: A1, a2: A2) => boolean>): LoDashExplicitWrapper<(a1: A1, a2: A2) => boolean>;
866
- negate(this: LoDashExplicitWrapper<(...args: any[]) => any>): LoDashExplicitWrapper<(...args: any[]) => boolean>;
536
+ negate(): FunctionChain<(...args: Parameters<T>) => boolean>;
867
537
  }
868
-
869
- // once
870
-
871
538
  interface LoDashStatic {
872
539
  /**
873
540
  * Creates a function that is restricted to invoking func once. Repeat calls to the function return the value
@@ -876,18 +543,20 @@ declare module "../index" {
876
543
  * @param func The function to restrict.
877
544
  * @return Returns the new restricted function.
878
545
  */
879
- once<T extends (...args: any[]) => any>(func: T): T;
546
+ once<T extends (...args: any) => any>(func: T): T;
880
547
  }
881
-
882
- interface LoDashWrapper<TValue> {
548
+ interface Function<T extends (...args: any) => any> {
883
549
  /**
884
550
  * @see _.once
885
551
  */
886
- once(): this;
552
+ once(): Function<T>;
553
+ }
554
+ interface FunctionChain<T extends (...args: any) => any> {
555
+ /**
556
+ * @see _.once
557
+ */
558
+ once(): FunctionChain<T>;
887
559
  }
888
-
889
- // overArgs
890
-
891
560
  interface LoDashStatic {
892
561
  /**
893
562
  * Creates a function that runs each argument through a corresponding transform function.
@@ -897,28 +566,20 @@ declare module "../index" {
897
566
  * of functions.
898
567
  * @return Returns the new function.
899
568
  */
900
- overArgs(
901
- func: (...args: any[]) => any,
902
- ...transforms: Array<Many<(...args: any[]) => any>>
903
- ): (...args: any[]) => any;
569
+ overArgs(func: (...args: any[]) => any, ...transforms: Array<Many<(...args: any[]) => any>>): (...args: any[]) => any;
904
570
  }
905
-
906
- interface LoDashImplicitWrapper<TValue> {
571
+ interface Function<T extends (...args: any) => any> {
907
572
  /**
908
573
  * @see _.overArgs
909
574
  */
910
- overArgs(...transforms: Array<Many<(...args: any[]) => any>>): LoDashImplicitWrapper<(...args: any[]) => any>;
575
+ overArgs(...transforms: Array<Many<(...args: any[]) => any>>): Function<(...args: any[]) => any>;
911
576
  }
912
-
913
- interface LoDashExplicitWrapper<TValue> {
577
+ interface FunctionChain<T extends (...args: any) => any> {
914
578
  /**
915
579
  * @see _.overArgs
916
580
  */
917
- overArgs(...transforms: Array<Many<(...args: any[]) => any>>): LoDashExplicitWrapper<(...args: any[]) => any>;
581
+ overArgs(...transforms: Array<Many<(...args: any[]) => any>>): FunctionChain<(...args: any[]) => any>;
918
582
  }
919
-
920
- // partial
921
-
922
583
  interface LoDashStatic {
923
584
  /**
924
585
  * Creates a function that, when called, invokes func with any additional partial arguments
@@ -927,160 +588,272 @@ declare module "../index" {
927
588
  * @param func The function to partially apply arguments to.
928
589
  * @param args Arguments to be partially applied.
929
590
  * @return The new partially applied function.
930
- **/
931
- partial: Partial;
932
- }
933
-
934
- interface LoDashImplicitWrapper<TValue> {
935
- /**
936
- * @see _.partial
937
- */
938
- partial: ImplicitPartial;
939
- }
940
-
941
- interface LoDashExplicitWrapper<TValue> {
942
- /**
943
- * @see _.partial
944
591
  */
945
- partial: ExplicitPartial;
592
+ partial: Partial;
946
593
  }
947
-
948
- /** The placeholder, to be used in curried functions */
949
594
  type __ = LoDashStatic;
950
-
951
595
  type Function0<R> = () => R;
952
596
  type Function1<T1, R> = (t1: T1) => R;
953
597
  type Function2<T1, T2, R> = (t1: T1, t2: T2) => R;
954
598
  type Function3<T1, T2, T3, R> = (t1: T1, t2: T2, t3: T3) => R;
955
599
  type Function4<T1, T2, T3, T4, R> = (t1: T1, t2: T2, t3: T3, t4: T4) => R;
956
-
957
600
  interface Partial {
958
- // arity 0
959
- <R>(func: Function0<R>): Function0<R>;
960
- // arity 1
961
- <T1, R>(func: Function1<T1, R>): Function1<T1, R>;
962
- <T1, R>(func: Function1<T1, R>, arg1: T1): Function0<R>;
963
- // arity 2
964
- <T1, T2, R>(func: Function2<T1, T2, R>): Function2<T1, T2, R>;
965
- <T1, T2, R>(func: Function2<T1, T2, R>, arg1: T1): Function1< T2, R>;
966
- <T1, T2, R>(func: Function2<T1, T2, R>, plc1: __, arg2: T2): Function1<T1, R>;
967
- <T1, T2, R>(func: Function2<T1, T2, R>, arg1: T1, arg2: T2): Function0< R>;
968
- // arity 3
969
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>): Function3<T1, T2, T3, R>;
970
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1): Function2< T2, T3, R>;
971
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, plc1: __, arg2: T2): Function2<T1, T3, R>;
972
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1, arg2: T2): Function1< T3, R>;
973
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, plc1: __, plc2: __, arg3: T3): Function2<T1, T2, R>;
974
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1, plc2: __, arg3: T3): Function1< T2, R>;
975
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, plc1: __, arg2: T2, arg3: T3): Function1<T1, R>;
976
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1, arg2: T2, arg3: T3): Function0< R>;
977
- // arity 4
978
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>): Function4<T1, T2, T3, T4, R>;
979
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1): Function3< T2, T3, T4, R>;
980
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: __, arg2: T2): Function3<T1, T3, T4, R>;
981
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2): Function2< T3, T4, R>;
982
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: __, plc2: __, arg3: T3): Function3<T1, T2, T4, R>;
983
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: __, arg3: T3): Function2< T2, T4, R>;
984
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: __, arg2: T2, arg3: T3): Function2<T1, T4, R>;
985
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, arg3: T3): Function1< T4, R>;
986
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: __, plc2: __, plc3: __, arg4: T4): Function3<T1, T2, T3, R>;
987
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: __, plc3: __, arg4: T4): Function2< T2, T3, R>;
988
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: __, arg2: T2, plc3: __, arg4: T4): Function2<T1, T3, R>;
989
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, plc3: __, arg4: T4): Function1< T3, R>;
990
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: __, plc2: __, arg3: T3, arg4: T4): Function2<T1, T2, R>;
991
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: __, arg3: T3, arg4: T4): Function1< T2, R>;
992
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: __, arg2: T2, arg3: T3, arg4: T4): Function1<T1, R>;
993
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, arg3: T3, arg4: T4): Function0< R>;
994
- // catch-all
995
- (func: (...args: any[]) => any, ...args: any[]): (...args: any[]) => any;
996
-
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;
997
623
  placeholder: __;
998
624
  }
999
-
1000
- interface ImplicitPartial {
1001
- // arity 0
1002
- <R>(this: LoDashImplicitWrapper<Function0<R>>): LoDashImplicitWrapper<Function0<R>>;
1003
- // arity 1
1004
- <T1, R>(this: LoDashImplicitWrapper<Function1<T1, R>>): LoDashImplicitWrapper<Function1<T1, R>>;
1005
- <T1, R>(this: LoDashImplicitWrapper<Function1<T1, R>>, arg1: T1): LoDashImplicitWrapper<Function0<R>>;
1006
- // arity 2
1007
- <T1, T2, R>(this: LoDashImplicitWrapper<Function2<T1, T2, R>>): LoDashImplicitWrapper<Function2<T1, T2, R>>;
1008
- <T1, T2, R>(this: LoDashImplicitWrapper<Function2<T1, T2, R>>, arg1: T1): LoDashImplicitWrapper<Function1< T2, R>>;
1009
- <T1, T2, R>(this: LoDashImplicitWrapper<Function2<T1, T2, R>>, plc1: __, arg2: T2): LoDashImplicitWrapper<Function1<T1, R>>;
1010
- <T1, T2, R>(this: LoDashImplicitWrapper<Function2<T1, T2, R>>, arg1: T1, arg2: T2): LoDashImplicitWrapper<Function0< R>>;
1011
- // arity 3
1012
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>): LoDashImplicitWrapper<Function3<T1, T2, T3, R>>;
1013
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1): LoDashImplicitWrapper<Function2< T2, T3, R>>;
1014
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, plc1: __, arg2: T2): LoDashImplicitWrapper<Function2<T1, T3, R>>;
1015
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, arg2: T2): LoDashImplicitWrapper<Function1< T3, R>>;
1016
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, plc1: __, plc2: __, arg3: T3): LoDashImplicitWrapper<Function2<T1, T2, R>>;
1017
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, plc2: __, arg3: T3): LoDashImplicitWrapper<Function1< T2, R>>;
1018
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, plc1: __, arg2: T2, arg3: T3): LoDashImplicitWrapper<Function1<T1, R>>;
1019
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, arg2: T2, arg3: T3): LoDashImplicitWrapper<Function0< R>>;
1020
- // arity 4
1021
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>): LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>;
1022
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1): LoDashImplicitWrapper<Function3< T2, T3, T4, R>>;
1023
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, arg2: T2): LoDashImplicitWrapper<Function3<T1, T3, T4, R>>;
1024
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2): LoDashImplicitWrapper<Function2< T3, T4, R>>;
1025
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, plc2: __, arg3: T3): LoDashImplicitWrapper<Function3<T1, T2, T4, R>>;
1026
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, arg3: T3): LoDashImplicitWrapper<Function2< T2, T4, R>>;
1027
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, arg2: T2, arg3: T3): LoDashImplicitWrapper<Function2<T1, T4, R>>;
1028
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, arg3: T3): LoDashImplicitWrapper<Function1< T4, R>>;
1029
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, plc2: __, plc3: __, arg4: T4): LoDashImplicitWrapper<Function3<T1, T2, T3, R>>;
1030
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, plc3: __, arg4: T4): LoDashImplicitWrapper<Function2< T2, T3, R>>;
1031
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, arg2: T2, plc3: __, arg4: T4): LoDashImplicitWrapper<Function2<T1, T3, R>>;
1032
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, plc3: __, arg4: T4): LoDashImplicitWrapper<Function1< T3, R>>;
1033
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, plc2: __, arg3: T3, arg4: T4): LoDashImplicitWrapper<Function2<T1, T2, R>>;
1034
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, arg3: T3, arg4: T4): LoDashImplicitWrapper<Function1< T2, R>>;
1035
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, arg2: T2, arg3: T3, arg4: T4): LoDashImplicitWrapper<Function1<T1, R>>;
1036
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, arg3: T3, arg4: T4): LoDashImplicitWrapper<Function0< R>>;
1037
- // catch-all
1038
- (...args: any[]): LoDashImplicitWrapper<(...args: any[]) => any>;
1039
- }
1040
-
1041
- interface ExplicitPartial {
1042
- // arity 0
1043
- <R>(this: LoDashExplicitWrapper<Function0<R>>): LoDashExplicitWrapper<Function0<R>>;
1044
- // arity 1
1045
- <T1, R>(this: LoDashExplicitWrapper<Function1<T1, R>>): LoDashExplicitWrapper<Function1<T1, R>>;
1046
- <T1, R>(this: LoDashExplicitWrapper<Function1<T1, R>>, arg1: T1): LoDashExplicitWrapper<Function0<R>>;
1047
- // arity 2
1048
- <T1, T2, R>(this: LoDashExplicitWrapper<Function2<T1, T2, R>>): LoDashExplicitWrapper<Function2<T1, T2, R>>;
1049
- <T1, T2, R>(this: LoDashExplicitWrapper<Function2<T1, T2, R>>, arg1: T1): LoDashExplicitWrapper<Function1< T2, R>>;
1050
- <T1, T2, R>(this: LoDashExplicitWrapper<Function2<T1, T2, R>>, plc1: __, arg2: T2): LoDashExplicitWrapper<Function1<T1, R>>;
1051
- <T1, T2, R>(this: LoDashExplicitWrapper<Function2<T1, T2, R>>, arg1: T1, arg2: T2): LoDashExplicitWrapper<Function0< R>>;
1052
- // arity 3
1053
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>): LoDashExplicitWrapper<Function3<T1, T2, T3, R>>;
1054
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1): LoDashExplicitWrapper<Function2< T2, T3, R>>;
1055
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, plc1: __, arg2: T2): LoDashExplicitWrapper<Function2<T1, T3, R>>;
1056
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, arg2: T2): LoDashExplicitWrapper<Function1< T3, R>>;
1057
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, plc1: __, plc2: __, arg3: T3): LoDashExplicitWrapper<Function2<T1, T2, R>>;
1058
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, plc2: __, arg3: T3): LoDashExplicitWrapper<Function1< T2, R>>;
1059
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, plc1: __, arg2: T2, arg3: T3): LoDashExplicitWrapper<Function1<T1, R>>;
1060
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, arg2: T2, arg3: T3): LoDashExplicitWrapper<Function0< R>>;
1061
- // arity 4
1062
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>): LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>;
1063
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1): LoDashExplicitWrapper<Function3< T2, T3, T4, R>>;
1064
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, arg2: T2): LoDashExplicitWrapper<Function3<T1, T3, T4, R>>;
1065
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2): LoDashExplicitWrapper<Function2< T3, T4, R>>;
1066
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, plc2: __, arg3: T3): LoDashExplicitWrapper<Function3<T1, T2, T4, R>>;
1067
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, arg3: T3): LoDashExplicitWrapper<Function2< T2, T4, R>>;
1068
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, arg2: T2, arg3: T3): LoDashExplicitWrapper<Function2<T1, T4, R>>;
1069
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, arg3: T3): LoDashExplicitWrapper<Function1< T4, R>>;
1070
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, plc2: __, plc3: __, arg4: T4): LoDashExplicitWrapper<Function3<T1, T2, T3, R>>;
1071
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, plc3: __, arg4: T4): LoDashExplicitWrapper<Function2< T2, T3, R>>;
1072
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, arg2: T2, plc3: __, arg4: T4): LoDashExplicitWrapper<Function2<T1, T3, R>>;
1073
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, plc3: __, arg4: T4): LoDashExplicitWrapper<Function1< T3, R>>;
1074
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, plc2: __, arg3: T3, arg4: T4): LoDashExplicitWrapper<Function2<T1, T2, R>>;
1075
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, arg3: T3, arg4: T4): LoDashExplicitWrapper<Function1< T2, R>>;
1076
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, arg2: T2, arg3: T3, arg4: T4): LoDashExplicitWrapper<Function1<T1, R>>;
1077
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, arg3: T3, arg4: T4): LoDashExplicitWrapper<Function0< R>>;
1078
- // catch-all
1079
- (...args: any[]): LoDashExplicitWrapper<(...args: any[]) => any>;
1080
- }
1081
-
1082
- // partialRight
1083
-
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
+ }
1084
857
  interface LoDashStatic {
1085
858
  /**
1086
859
  * This method is like _.partial except that partial arguments are appended to those provided
@@ -1088,151 +861,370 @@ declare module "../index" {
1088
861
  * @param func The function to partially apply arguments to.
1089
862
  * @param args Arguments to be partially applied.
1090
863
  * @return The new partially applied function.
1091
- **/
864
+ */
1092
865
  partialRight: PartialRight;
1093
866
  }
1094
-
1095
- 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> {
1096
903
  /**
1097
904
  * @see _.partialRight
1098
905
  */
1099
- partialRight: ImplicitPartialRight;
1100
- }
1101
-
1102
- 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>;
1103
1060
  /**
1104
1061
  * @see _.partialRight
1105
1062
  */
1106
- partialRight: ExplicitPartialRight;
1063
+ partialRight(): Function<T extends (...ts: any[]) => any ? T : any>;
1107
1064
  }
1108
-
1109
- interface PartialRight {
1110
- // arity 0
1111
- <R>(func: Function0<R>): Function0<R>;
1112
- // arity 1
1113
- <T1, R>(func: Function1<T1, R>): Function1<T1, R>;
1114
- <T1, R>(func: Function1<T1, R>, arg1: T1): Function0<R>;
1115
- // arity 2
1116
- <T1, T2, R>(func: Function2<T1, T2, R>): Function2<T1, T2, R>;
1117
- <T1, T2, R>(func: Function2<T1, T2, R>, arg1: T1, plc2: __): Function1< T2, R>;
1118
- <T1, T2, R>(func: Function2<T1, T2, R>, arg2: T2): Function1<T1, R>;
1119
- <T1, T2, R>(func: Function2<T1, T2, R>, arg1: T1, arg2: T2): Function0< R>;
1120
- // arity 3
1121
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>): Function3<T1, T2, T3, R>;
1122
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1, plc2: __, plc3: __): Function2< T2, T3, R>;
1123
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg2: T2, plc3: __): Function2<T1, T3, R>;
1124
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1, arg2: T2, plc3: __): Function1< T3, R>;
1125
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg3: T3): Function2<T1, T2, R>;
1126
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1, plc2: __, arg3: T3): Function1< T2, R>;
1127
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg2: T2, arg3: T3): Function1<T1, R>;
1128
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1, arg2: T2, arg3: T3): Function0< R>;
1129
- // arity 4
1130
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>): Function4<T1, T2, T3, T4, R>;
1131
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: __, plc3: __, plc4: __): Function3< T2, T3, T4, R>;
1132
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg2: T2, plc3: __, plc4: __): Function3<T1, T3, T4, R>;
1133
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, plc3: __, plc4: __): Function2< T3, T4, R>;
1134
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg3: T3, plc4: __): Function3<T1, T2, T4, R>;
1135
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: __, arg3: T3, plc4: __): Function2< T2, T4, R>;
1136
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg2: T2, arg3: T3, plc4: __): Function2<T1, T4, R>;
1137
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, arg3: T3, plc4: __): Function1< T4, R>;
1138
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg4: T4): Function3<T1, T2, T3, R>;
1139
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: __, plc3: __, arg4: T4): Function2< T2, T3, R>;
1140
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg2: T2, plc3: __, arg4: T4): Function2<T1, T3, R>;
1141
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, plc3: __, arg4: T4): Function1< T3, R>;
1142
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg3: T3, arg4: T4): Function2<T1, T2, R>;
1143
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: __, arg3: T3, arg4: T4): Function1< T2, R>;
1144
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg2: T2, arg3: T3, arg4: T4): Function1<T1, R>;
1145
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, arg3: T3, arg4: T4): Function0< R>;
1146
- // catch-all
1147
- (func: (...args: any[]) => any, ...args: any[]): (...args: any[]) => any;
1148
-
1149
- 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>;
1150
1227
  }
1151
-
1152
- interface ImplicitPartialRight {
1153
- // arity 0
1154
- <R>(this: LoDashImplicitWrapper<Function0<R>>): LoDashImplicitWrapper<Function0<R>>;
1155
- // arity 1
1156
- <T1, R>(this: LoDashImplicitWrapper<Function1<T1, R>>): LoDashImplicitWrapper<Function1<T1, R>>;
1157
- <T1, R>(this: LoDashImplicitWrapper<Function1<T1, R>>, arg1: T1): LoDashImplicitWrapper<Function0<R>>;
1158
- // arity 2
1159
- <T1, T2, R>(this: LoDashImplicitWrapper<Function2<T1, T2, R>>): LoDashImplicitWrapper<Function2<T1, T2, R>>;
1160
- <T1, T2, R>(this: LoDashImplicitWrapper<Function2<T1, T2, R>>, arg1: T1, plc2: __): LoDashImplicitWrapper<Function1< T2, R>>;
1161
- <T1, T2, R>(this: LoDashImplicitWrapper<Function2<T1, T2, R>>, arg2: T2): LoDashImplicitWrapper<Function1<T1, R>>;
1162
- <T1, T2, R>(this: LoDashImplicitWrapper<Function2<T1, T2, R>>, arg1: T1, arg2: T2): LoDashImplicitWrapper<Function0< R>>;
1163
- // arity 3
1164
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>): LoDashImplicitWrapper<Function3<T1, T2, T3, R>>;
1165
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, plc2: __, plc3: __): LoDashImplicitWrapper<Function2< T2, T3, R>>;
1166
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, arg2: T2, plc3: __): LoDashImplicitWrapper<Function2<T1, T3, R>>;
1167
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, arg2: T2, plc3: __): LoDashImplicitWrapper<Function1< T3, R>>;
1168
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, arg3: T3): LoDashImplicitWrapper<Function2<T1, T2, R>>;
1169
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, plc2: __, arg3: T3): LoDashImplicitWrapper<Function1< T2, R>>;
1170
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, arg2: T2, arg3: T3): LoDashImplicitWrapper<Function1<T1, R>>;
1171
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, arg2: T2, arg3: T3): LoDashImplicitWrapper<Function0< R>>;
1172
- // arity 4
1173
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>): LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>;
1174
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, plc3: __, plc4: __): LoDashImplicitWrapper<Function3< T2, T3, T4, R>>;
1175
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg2: T2, plc3: __, plc4: __): LoDashImplicitWrapper<Function3<T1, T3, T4, R>>;
1176
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, plc3: __, plc4: __): LoDashImplicitWrapper<Function2< T3, T4, R>>;
1177
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg3: T3, plc4: __): LoDashImplicitWrapper<Function3<T1, T2, T4, R>>;
1178
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, arg3: T3, plc4: __): LoDashImplicitWrapper<Function2< T2, T4, R>>;
1179
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg2: T2, arg3: T3, plc4: __): LoDashImplicitWrapper<Function2<T1, T4, R>>;
1180
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, arg3: T3, plc4: __): LoDashImplicitWrapper<Function1< T4, R>>;
1181
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg4: T4): LoDashImplicitWrapper<Function3<T1, T2, T3, R>>;
1182
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, plc3: __, arg4: T4): LoDashImplicitWrapper<Function2< T2, T3, R>>;
1183
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg2: T2, plc3: __, arg4: T4): LoDashImplicitWrapper<Function2<T1, T3, R>>;
1184
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, plc3: __, arg4: T4): LoDashImplicitWrapper<Function1< T3, R>>;
1185
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg3: T3, arg4: T4): LoDashImplicitWrapper<Function2<T1, T2, R>>;
1186
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, arg3: T3, arg4: T4): LoDashImplicitWrapper<Function1< T2, R>>;
1187
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg2: T2, arg3: T3, arg4: T4): LoDashImplicitWrapper<Function1<T1, R>>;
1188
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, arg3: T3, arg4: T4): LoDashImplicitWrapper<Function0< R>>;
1189
- // catch-all
1190
- (...args: any[]): LoDashImplicitWrapper<(...args: any[]) => any>;
1191
- }
1192
-
1193
- interface ExplicitPartialRight {
1194
- // arity 0
1195
- <R>(this: LoDashExplicitWrapper<Function0<R>>): LoDashExplicitWrapper<Function0<R>>;
1196
- // arity 1
1197
- <T1, R>(this: LoDashExplicitWrapper<Function1<T1, R>>): LoDashExplicitWrapper<Function1<T1, R>>;
1198
- <T1, R>(this: LoDashExplicitWrapper<Function1<T1, R>>, arg1: T1): LoDashExplicitWrapper<Function0<R>>;
1199
- // arity 2
1200
- <T1, T2, R>(this: LoDashExplicitWrapper<Function2<T1, T2, R>>): LoDashExplicitWrapper<Function2<T1, T2, R>>;
1201
- <T1, T2, R>(this: LoDashExplicitWrapper<Function2<T1, T2, R>>, arg1: T1, plc2: __): LoDashExplicitWrapper<Function1< T2, R>>;
1202
- <T1, T2, R>(this: LoDashExplicitWrapper<Function2<T1, T2, R>>, arg2: T2): LoDashExplicitWrapper<Function1<T1, R>>;
1203
- <T1, T2, R>(this: LoDashExplicitWrapper<Function2<T1, T2, R>>, arg1: T1, arg2: T2): LoDashExplicitWrapper<Function0< R>>;
1204
- // arity 3
1205
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>): LoDashExplicitWrapper<Function3<T1, T2, T3, R>>;
1206
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, plc2: __, plc3: __): LoDashExplicitWrapper<Function2< T2, T3, R>>;
1207
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, arg2: T2, plc3: __): LoDashExplicitWrapper<Function2<T1, T3, R>>;
1208
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, arg2: T2, plc3: __): LoDashExplicitWrapper<Function1< T3, R>>;
1209
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, arg3: T3): LoDashExplicitWrapper<Function2<T1, T2, R>>;
1210
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, plc2: __, arg3: T3): LoDashExplicitWrapper<Function1< T2, R>>;
1211
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, arg2: T2, arg3: T3): LoDashExplicitWrapper<Function1<T1, R>>;
1212
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, arg2: T2, arg3: T3): LoDashExplicitWrapper<Function0< R>>;
1213
- // arity 4
1214
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>): LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>;
1215
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, plc3: __, plc4: __): LoDashExplicitWrapper<Function3< T2, T3, T4, R>>;
1216
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg2: T2, plc3: __, plc4: __): LoDashExplicitWrapper<Function3<T1, T3, T4, R>>;
1217
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, plc3: __, plc4: __): LoDashExplicitWrapper<Function2< T3, T4, R>>;
1218
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg3: T3, plc4: __): LoDashExplicitWrapper<Function3<T1, T2, T4, R>>;
1219
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, arg3: T3, plc4: __): LoDashExplicitWrapper<Function2< T2, T4, R>>;
1220
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg2: T2, arg3: T3, plc4: __): LoDashExplicitWrapper<Function2<T1, T4, R>>;
1221
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, arg3: T3, plc4: __): LoDashExplicitWrapper<Function1< T4, R>>;
1222
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg4: T4): LoDashExplicitWrapper<Function3<T1, T2, T3, R>>;
1223
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, plc3: __, arg4: T4): LoDashExplicitWrapper<Function2< T2, T3, R>>;
1224
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg2: T2, plc3: __, arg4: T4): LoDashExplicitWrapper<Function2<T1, T3, R>>;
1225
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, plc3: __, arg4: T4): LoDashExplicitWrapper<Function1< T3, R>>;
1226
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg3: T3, arg4: T4): LoDashExplicitWrapper<Function2<T1, T2, R>>;
1227
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, arg3: T3, arg4: T4): LoDashExplicitWrapper<Function1< T2, R>>;
1228
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg2: T2, arg3: T3, arg4: T4): LoDashExplicitWrapper<Function1<T1, R>>;
1229
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, arg3: T3, arg4: T4): LoDashExplicitWrapper<Function0< R>>;
1230
- // catch-all
1231
- (...args: any[]): LoDashExplicitWrapper<(...args: any[]) => any>;
1232
- }
1233
-
1234
- // rearg
1235
-
1236
1228
  interface LoDashStatic {
1237
1229
  /**
1238
1230
  * Creates a function that invokes func with arguments arranged according to the specified indexes where the
@@ -1244,23 +1236,18 @@ declare module "../index" {
1244
1236
  */
1245
1237
  rearg(func: (...args: any[]) => any, ...indexes: Array<Many<number>>): (...args: any[]) => any;
1246
1238
  }
1247
-
1248
- interface LoDashImplicitWrapper<TValue> {
1239
+ interface Function<T extends (...args: any) => any> {
1249
1240
  /**
1250
1241
  * @see _.rearg
1251
1242
  */
1252
- rearg(...indexes: Array<Many<number>>): LoDashImplicitWrapper<(...args: any[]) => any>;
1243
+ rearg(...indexes: Array<Many<number>>): Function<(...args: any[]) => any>;
1253
1244
  }
1254
-
1255
- interface LoDashExplicitWrapper<TValue> {
1245
+ interface FunctionChain<T extends (...args: any) => any> {
1256
1246
  /**
1257
1247
  * @see _.rearg
1258
1248
  */
1259
- rearg(...indexes: Array<Many<number>>): LoDashExplicitWrapper<(...args: any[]) => any>;
1249
+ rearg(...indexes: Array<Many<number>>): FunctionChain<(...args: any[]) => any>;
1260
1250
  }
1261
-
1262
- // rest
1263
-
1264
1251
  interface LoDashStatic {
1265
1252
  /**
1266
1253
  * Creates a function that invokes func with the this binding of the created function and arguments from start
@@ -1272,28 +1259,20 @@ declare module "../index" {
1272
1259
  * @param start The start position of the rest parameter.
1273
1260
  * @return Returns the new function.
1274
1261
  */
1275
- rest(
1276
- func: (...args: any[]) => any,
1277
- start?: number
1278
- ): (...args: any[]) => any;
1262
+ rest(func: (...args: any[]) => any, start?: number): (...args: any[]) => any;
1279
1263
  }
1280
-
1281
- interface LoDashImplicitWrapper<TValue> {
1264
+ interface Function<T extends (...args: any) => any> {
1282
1265
  /**
1283
1266
  * @see _.rest
1284
1267
  */
1285
- rest(start?: number): LoDashImplicitWrapper<(...args: any[]) => any>;
1268
+ rest(start?: number): Function<(...args: any[]) => any>;
1286
1269
  }
1287
-
1288
- interface LoDashExplicitWrapper<TValue> {
1270
+ interface FunctionChain<T extends (...args: any) => any> {
1289
1271
  /**
1290
1272
  * @see _.rest
1291
1273
  */
1292
- rest(start?: number): LoDashExplicitWrapper<(...args: any[]) => any>;
1274
+ rest(start?: number): FunctionChain<(...args: any[]) => any>;
1293
1275
  }
1294
-
1295
- // spread
1296
-
1297
1276
  interface LoDashStatic {
1298
1277
  /**
1299
1278
  * Creates a function that invokes func with the this binding of the created function and an array of arguments
@@ -1304,52 +1283,30 @@ declare module "../index" {
1304
1283
  * @param func The function to spread arguments over.
1305
1284
  * @return Returns the new function.
1306
1285
  */
1307
- spread<TResult>(func: (...args: any[]) => TResult): (...args: any[]) => TResult;
1308
-
1309
- /**
1310
- * @see _.spread
1311
- */
1312
- spread<TResult>(func: (...args: any[]) => TResult, start: number): (...args: any[]) => TResult;
1286
+ spread<TResult>(func: (...args: any[]) => TResult, start?: number): (...args: any[]) => TResult;
1313
1287
  }
1314
-
1315
- interface LoDashImplicitWrapper<TValue> {
1288
+ interface Function<T extends (...args: any) => any> {
1316
1289
  /**
1317
1290
  * @see _.spread
1318
1291
  */
1319
- spread<TResult>(this: LoDashImplicitWrapper<(...args: any[]) => TResult>): LoDashImplicitWrapper<(...args: any[]) => TResult>;
1320
-
1321
- /**
1322
- * @see _.spread
1323
- */
1324
- spread<TResult>(this: LoDashImplicitWrapper<(...args: any[]) => TResult>, start: number): LoDashImplicitWrapper<(...args: any[]) => TResult>;
1292
+ spread(start?: number): Function<(...args: any[]) => ReturnType<T>>;
1325
1293
  }
1326
-
1327
- interface LoDashExplicitWrapper<TValue> {
1328
- /**
1329
- * @see _.spread
1330
- */
1331
- spread<TResult>(this: LoDashExplicitWrapper<(...args: any[]) => TResult>): LoDashExplicitWrapper<(...args: any[]) => TResult>;
1332
-
1294
+ interface FunctionChain<T extends (...args: any) => any> {
1333
1295
  /**
1334
1296
  * @see _.spread
1335
1297
  */
1336
- spread<TResult>(this: LoDashExplicitWrapper<(...args: any[]) => TResult>, start: number): LoDashExplicitWrapper<(...args: any[]) => TResult>;
1298
+ spread(start?: number): FunctionChain<(...args: any[]) => ReturnType<T>>;
1337
1299
  }
1338
-
1339
- // throttle
1340
-
1341
1300
  interface ThrottleSettings {
1342
1301
  /**
1343
- * If you'd like to disable the leading-edge call, pass this as false.
1302
+ * @see _.leading
1344
1303
  */
1345
1304
  leading?: boolean;
1346
-
1347
1305
  /**
1348
- * If you'd like to disable the execution on the trailing-edge, pass false.
1306
+ * @see _.trailing
1349
1307
  */
1350
1308
  trailing?: boolean;
1351
1309
  }
1352
-
1353
1310
  interface LoDashStatic {
1354
1311
  /**
1355
1312
  * Creates a throttled function that only invokes func at most once per every wait milliseconds. The throttled
@@ -1367,35 +1324,20 @@ declare module "../index" {
1367
1324
  * @param options.trailing Specify invoking on the trailing edge of the timeout.
1368
1325
  * @return Returns the new throttled function.
1369
1326
  */
1370
- throttle<T extends (...args: any[]) => any>(
1371
- func: T,
1372
- wait?: number,
1373
- options?: ThrottleSettings
1374
- ): T & Cancelable;
1327
+ throttle<T extends (...args: any) => any>(func: T, wait?: number, options?: ThrottleSettings): T & Cancelable;
1375
1328
  }
1376
-
1377
- interface LoDashImplicitWrapper<TValue> {
1329
+ interface Function<T extends (...args: any) => any> {
1378
1330
  /**
1379
1331
  * @see _.throttle
1380
1332
  */
1381
- throttle(
1382
- wait?: number,
1383
- options?: ThrottleSettings
1384
- ): LoDashImplicitWrapper<TValue & Cancelable>;
1333
+ throttle(wait?: number, options?: ThrottleSettings): Function<T & Cancelable>;
1385
1334
  }
1386
-
1387
- interface LoDashExplicitWrapper<TValue> {
1335
+ interface FunctionChain<T extends (...args: any) => any> {
1388
1336
  /**
1389
1337
  * @see _.throttle
1390
1338
  */
1391
- throttle(
1392
- wait?: number,
1393
- options?: ThrottleSettings
1394
- ): LoDashExplicitWrapper<TValue & Cancelable>;
1339
+ throttle(wait?: number, options?: ThrottleSettings): FunctionChain<T & Cancelable>;
1395
1340
  }
1396
-
1397
- // unary
1398
-
1399
1341
  interface LoDashStatic {
1400
1342
  /**
1401
1343
  * Creates a function that accepts up to one argument, ignoring any
@@ -1411,23 +1353,18 @@ declare module "../index" {
1411
1353
  */
1412
1354
  unary<T, TResult>(func: (arg1: T, ...args: any[]) => TResult): (arg1: T) => TResult;
1413
1355
  }
1414
-
1415
- interface LoDashImplicitWrapper<TValue> {
1356
+ interface Function<T extends (...args: any) => any> {
1416
1357
  /**
1417
1358
  * @see _.unary
1418
1359
  */
1419
- unary<T, TResult>(this: LoDashImplicitWrapper<(arg1: T, ...args: any[]) => TResult>): LoDashImplicitWrapper<(arg1: T) => TResult>;
1360
+ unary(): Function<(arg1: Parameters<T>['0']) => ReturnType<T>>;
1420
1361
  }
1421
-
1422
- interface LoDashExplicitWrapper<TValue> {
1362
+ interface FunctionChain<T extends (...args: any) => any> {
1423
1363
  /**
1424
1364
  * @see _.unary
1425
1365
  */
1426
- unary<T, TResult>(this: LoDashExplicitWrapper<(arg1: T, ...args: any[]) => TResult>): LoDashExplicitWrapper<(arg1: T) => TResult>;
1366
+ unary(): FunctionChain<(arg1: Parameters<T>['0']) => ReturnType<T>>;
1427
1367
  }
1428
-
1429
- // wrap
1430
-
1431
1368
  interface LoDashStatic {
1432
1369
  /**
1433
1370
  * Creates a function that provides value to the wrapper function as its first argument. Any additional
@@ -1438,52 +1375,18 @@ declare module "../index" {
1438
1375
  * @param wrapper The wrapper function.
1439
1376
  * @return Returns the new function.
1440
1377
  */
1441
- wrap<T, TArgs, TResult>(
1442
- value: T,
1443
- wrapper: (value: T, ...args: TArgs[]) => TResult
1444
- ): (...args: TArgs[]) => TResult;
1445
-
1446
- /**
1447
- * @see _.wrap
1448
- */
1449
- wrap<T, TResult>(
1450
- value: T,
1451
- wrapper: (value: T, ...args: any[]) => TResult
1452
- ): (...args: any[]) => TResult;
1378
+ wrap<T, TArgs, TResult>(value: T, wrapper: (value: T, ...args: TArgs[]) => TResult): (...args: TArgs[]) => TResult;
1453
1379
  }
1454
-
1455
1380
  interface LoDashImplicitWrapper<TValue> {
1456
1381
  /**
1457
1382
  * @see _.wrap
1458
1383
  */
1459
- wrap<TArgs, TResult>(
1460
- wrapper: (value: TValue, ...args: TArgs[]) => TResult
1461
- ): LoDashImplicitWrapper<(...args: TArgs[]) => TResult>;
1462
-
1463
- /**
1464
- * @see _.wrap
1465
- */
1466
- wrap<TResult>(
1467
- wrapper: (value: TValue, ...args: any[]) => TResult
1468
- ): LoDashImplicitWrapper<(...args: any[]) => TResult>;
1384
+ wrap<TArgs, TResult>(wrapper: (value: TValue, ...args: TArgs[]) => TResult): Function<(...args: TArgs[]) => TResult>;
1469
1385
  }
1470
-
1471
1386
  interface LoDashExplicitWrapper<TValue> {
1472
1387
  /**
1473
1388
  * @see _.wrap
1474
1389
  */
1475
- /**
1476
- * @see _.wrap
1477
- */
1478
- wrap<TArgs, TResult>(
1479
- wrapper: (value: TValue, ...args: TArgs[]) => TResult
1480
- ): LoDashExplicitWrapper<(...args: TArgs[]) => TResult>;
1481
-
1482
- /**
1483
- * @see _.wrap
1484
- */
1485
- wrap<TResult>(
1486
- wrapper: (value: TValue, ...args: any[]) => TResult
1487
- ): LoDashExplicitWrapper<(...args: any[]) => TResult>;
1390
+ wrap<TArgs, TResult>(wrapper: (value: TValue, ...args: TArgs[]) => TResult): FunctionChain<(...args: TArgs[]) => TResult>;
1488
1391
  }
1489
1392
  }