@types/lodash 4.14.159 → 4.14.163

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (718) hide show
  1. lodash/README.md +1 -1
  2. lodash/common/array.d.ts +517 -2103
  3. lodash/common/collection.d.ts +912 -1569
  4. lodash/common/common.d.ts +70 -68
  5. lodash/common/date.d.ts +2 -6
  6. lodash/common/function.d.ts +812 -872
  7. lodash/common/lang.d.ts +237 -479
  8. lodash/common/math.d.ts +64 -191
  9. lodash/common/number.d.ts +39 -86
  10. lodash/common/object.d.ts +672 -2274
  11. lodash/common/seq.d.ts +101 -87
  12. lodash/common/string.d.ts +80 -351
  13. lodash/common/util.d.ts +337 -639
  14. lodash/fp.d.ts +694 -751
  15. lodash/index.d.ts +0 -1
  16. lodash/multiply.d.ts +1 -1
  17. lodash/package.json +3 -10
  18. lodash/ts3.1/add.d.ts +0 -2
  19. lodash/ts3.1/after.d.ts +0 -2
  20. lodash/ts3.1/ary.d.ts +0 -2
  21. lodash/ts3.1/assign.d.ts +0 -2
  22. lodash/ts3.1/assignIn.d.ts +0 -2
  23. lodash/ts3.1/assignInWith.d.ts +0 -2
  24. lodash/ts3.1/assignWith.d.ts +0 -2
  25. lodash/ts3.1/at.d.ts +0 -2
  26. lodash/ts3.1/attempt.d.ts +0 -2
  27. lodash/ts3.1/before.d.ts +0 -2
  28. lodash/ts3.1/bind.d.ts +0 -2
  29. lodash/ts3.1/bindAll.d.ts +0 -2
  30. lodash/ts3.1/bindKey.d.ts +0 -2
  31. lodash/ts3.1/camelCase.d.ts +0 -2
  32. lodash/ts3.1/capitalize.d.ts +0 -2
  33. lodash/ts3.1/castArray.d.ts +0 -2
  34. lodash/ts3.1/ceil.d.ts +0 -2
  35. lodash/ts3.1/chain.d.ts +0 -2
  36. lodash/ts3.1/chunk.d.ts +0 -2
  37. lodash/ts3.1/clamp.d.ts +0 -2
  38. lodash/ts3.1/clone.d.ts +0 -2
  39. lodash/ts3.1/cloneDeep.d.ts +0 -2
  40. lodash/ts3.1/cloneDeepWith.d.ts +0 -2
  41. lodash/ts3.1/cloneWith.d.ts +0 -2
  42. lodash/ts3.1/common/array.d.ts +0 -2127
  43. lodash/ts3.1/common/collection.d.ts +0 -1930
  44. lodash/ts3.1/common/common.d.ts +0 -284
  45. lodash/ts3.1/common/date.d.ts +0 -23
  46. lodash/ts3.1/common/function.d.ts +0 -1392
  47. lodash/ts3.1/common/lang.d.ts +0 -1693
  48. lodash/ts3.1/common/math.d.ts +0 -405
  49. lodash/ts3.1/common/number.d.ts +0 -131
  50. lodash/ts3.1/common/object.d.ts +0 -2507
  51. lodash/ts3.1/common/seq.d.ts +0 -210
  52. lodash/ts3.1/common/string.d.ts +0 -788
  53. lodash/ts3.1/common/util.d.ts +0 -1219
  54. lodash/ts3.1/compact.d.ts +0 -2
  55. lodash/ts3.1/concat.d.ts +0 -2
  56. lodash/ts3.1/cond.d.ts +0 -2
  57. lodash/ts3.1/conformsTo.d.ts +0 -2
  58. lodash/ts3.1/constant.d.ts +0 -2
  59. lodash/ts3.1/countBy.d.ts +0 -2
  60. lodash/ts3.1/create.d.ts +0 -2
  61. lodash/ts3.1/curry.d.ts +0 -2
  62. lodash/ts3.1/curryRight.d.ts +0 -2
  63. lodash/ts3.1/debounce.d.ts +0 -2
  64. lodash/ts3.1/deburr.d.ts +0 -2
  65. lodash/ts3.1/defaultTo.d.ts +0 -2
  66. lodash/ts3.1/defaults.d.ts +0 -2
  67. lodash/ts3.1/defaultsDeep.d.ts +0 -2
  68. lodash/ts3.1/defer.d.ts +0 -2
  69. lodash/ts3.1/delay.d.ts +0 -2
  70. lodash/ts3.1/difference.d.ts +0 -2
  71. lodash/ts3.1/differenceBy.d.ts +0 -2
  72. lodash/ts3.1/differenceWith.d.ts +0 -2
  73. lodash/ts3.1/divide.d.ts +0 -2
  74. lodash/ts3.1/drop.d.ts +0 -2
  75. lodash/ts3.1/dropRight.d.ts +0 -2
  76. lodash/ts3.1/dropRightWhile.d.ts +0 -2
  77. lodash/ts3.1/dropWhile.d.ts +0 -2
  78. lodash/ts3.1/each.d.ts +0 -2
  79. lodash/ts3.1/eachRight.d.ts +0 -2
  80. lodash/ts3.1/endsWith.d.ts +0 -2
  81. lodash/ts3.1/entries.d.ts +0 -2
  82. lodash/ts3.1/entriesIn.d.ts +0 -2
  83. lodash/ts3.1/eq.d.ts +0 -2
  84. lodash/ts3.1/escape.d.ts +0 -2
  85. lodash/ts3.1/escapeRegExp.d.ts +0 -2
  86. lodash/ts3.1/every.d.ts +0 -2
  87. lodash/ts3.1/extend.d.ts +0 -2
  88. lodash/ts3.1/extendWith.d.ts +0 -2
  89. lodash/ts3.1/fill.d.ts +0 -2
  90. lodash/ts3.1/filter.d.ts +0 -2
  91. lodash/ts3.1/find.d.ts +0 -2
  92. lodash/ts3.1/findIndex.d.ts +0 -2
  93. lodash/ts3.1/findKey.d.ts +0 -2
  94. lodash/ts3.1/findLast.d.ts +0 -2
  95. lodash/ts3.1/findLastIndex.d.ts +0 -2
  96. lodash/ts3.1/findLastKey.d.ts +0 -2
  97. lodash/ts3.1/first.d.ts +0 -2
  98. lodash/ts3.1/flatMap.d.ts +0 -2
  99. lodash/ts3.1/flatMapDeep.d.ts +0 -2
  100. lodash/ts3.1/flatMapDepth.d.ts +0 -2
  101. lodash/ts3.1/flatten.d.ts +0 -2
  102. lodash/ts3.1/flattenDeep.d.ts +0 -2
  103. lodash/ts3.1/flattenDepth.d.ts +0 -2
  104. lodash/ts3.1/flip.d.ts +0 -2
  105. lodash/ts3.1/floor.d.ts +0 -2
  106. lodash/ts3.1/flow.d.ts +0 -2
  107. lodash/ts3.1/flowRight.d.ts +0 -2
  108. lodash/ts3.1/forEach.d.ts +0 -2
  109. lodash/ts3.1/forEachRight.d.ts +0 -2
  110. lodash/ts3.1/forIn.d.ts +0 -2
  111. lodash/ts3.1/forInRight.d.ts +0 -2
  112. lodash/ts3.1/forOwn.d.ts +0 -2
  113. lodash/ts3.1/forOwnRight.d.ts +0 -2
  114. lodash/ts3.1/fp/F.d.ts +0 -2
  115. lodash/ts3.1/fp/T.d.ts +0 -2
  116. lodash/ts3.1/fp/__.d.ts +0 -3
  117. lodash/ts3.1/fp/add.d.ts +0 -2
  118. lodash/ts3.1/fp/after.d.ts +0 -2
  119. lodash/ts3.1/fp/all.d.ts +0 -2
  120. lodash/ts3.1/fp/allPass.d.ts +0 -2
  121. lodash/ts3.1/fp/always.d.ts +0 -2
  122. lodash/ts3.1/fp/any.d.ts +0 -2
  123. lodash/ts3.1/fp/anyPass.d.ts +0 -2
  124. lodash/ts3.1/fp/apply.d.ts +0 -2
  125. lodash/ts3.1/fp/ary.d.ts +0 -2
  126. lodash/ts3.1/fp/assign.d.ts +0 -2
  127. lodash/ts3.1/fp/assignAll.d.ts +0 -2
  128. lodash/ts3.1/fp/assignAllWith.d.ts +0 -2
  129. lodash/ts3.1/fp/assignIn.d.ts +0 -2
  130. lodash/ts3.1/fp/assignInAll.d.ts +0 -2
  131. lodash/ts3.1/fp/assignInAllWith.d.ts +0 -2
  132. lodash/ts3.1/fp/assignInWith.d.ts +0 -2
  133. lodash/ts3.1/fp/assignWith.d.ts +0 -2
  134. lodash/ts3.1/fp/assoc.d.ts +0 -2
  135. lodash/ts3.1/fp/assocPath.d.ts +0 -2
  136. lodash/ts3.1/fp/at.d.ts +0 -2
  137. lodash/ts3.1/fp/attempt.d.ts +0 -2
  138. lodash/ts3.1/fp/before.d.ts +0 -2
  139. lodash/ts3.1/fp/bind.d.ts +0 -2
  140. lodash/ts3.1/fp/bindAll.d.ts +0 -2
  141. lodash/ts3.1/fp/bindKey.d.ts +0 -2
  142. lodash/ts3.1/fp/camelCase.d.ts +0 -2
  143. lodash/ts3.1/fp/capitalize.d.ts +0 -2
  144. lodash/ts3.1/fp/castArray.d.ts +0 -2
  145. lodash/ts3.1/fp/ceil.d.ts +0 -2
  146. lodash/ts3.1/fp/chunk.d.ts +0 -2
  147. lodash/ts3.1/fp/clamp.d.ts +0 -2
  148. lodash/ts3.1/fp/clone.d.ts +0 -2
  149. lodash/ts3.1/fp/cloneDeep.d.ts +0 -2
  150. lodash/ts3.1/fp/cloneDeepWith.d.ts +0 -2
  151. lodash/ts3.1/fp/cloneWith.d.ts +0 -2
  152. lodash/ts3.1/fp/compact.d.ts +0 -2
  153. lodash/ts3.1/fp/complement.d.ts +0 -2
  154. lodash/ts3.1/fp/compose.d.ts +0 -2
  155. lodash/ts3.1/fp/concat.d.ts +0 -2
  156. lodash/ts3.1/fp/cond.d.ts +0 -2
  157. lodash/ts3.1/fp/conforms.d.ts +0 -2
  158. lodash/ts3.1/fp/conformsTo.d.ts +0 -2
  159. lodash/ts3.1/fp/constant.d.ts +0 -2
  160. lodash/ts3.1/fp/contains.d.ts +0 -2
  161. lodash/ts3.1/fp/convert.d.ts +0 -15
  162. lodash/ts3.1/fp/countBy.d.ts +0 -2
  163. lodash/ts3.1/fp/create.d.ts +0 -2
  164. lodash/ts3.1/fp/curry.d.ts +0 -2
  165. lodash/ts3.1/fp/curryN.d.ts +0 -2
  166. lodash/ts3.1/fp/curryRight.d.ts +0 -2
  167. lodash/ts3.1/fp/curryRightN.d.ts +0 -2
  168. lodash/ts3.1/fp/debounce.d.ts +0 -2
  169. lodash/ts3.1/fp/deburr.d.ts +0 -2
  170. lodash/ts3.1/fp/defaultTo.d.ts +0 -2
  171. lodash/ts3.1/fp/defaults.d.ts +0 -2
  172. lodash/ts3.1/fp/defaultsAll.d.ts +0 -2
  173. lodash/ts3.1/fp/defaultsDeep.d.ts +0 -2
  174. lodash/ts3.1/fp/defaultsDeepAll.d.ts +0 -2
  175. lodash/ts3.1/fp/defer.d.ts +0 -2
  176. lodash/ts3.1/fp/delay.d.ts +0 -2
  177. lodash/ts3.1/fp/difference.d.ts +0 -2
  178. lodash/ts3.1/fp/differenceBy.d.ts +0 -2
  179. lodash/ts3.1/fp/differenceWith.d.ts +0 -2
  180. lodash/ts3.1/fp/dissoc.d.ts +0 -2
  181. lodash/ts3.1/fp/dissocPath.d.ts +0 -2
  182. lodash/ts3.1/fp/divide.d.ts +0 -2
  183. lodash/ts3.1/fp/drop.d.ts +0 -2
  184. lodash/ts3.1/fp/dropLast.d.ts +0 -2
  185. lodash/ts3.1/fp/dropLastWhile.d.ts +0 -2
  186. lodash/ts3.1/fp/dropRight.d.ts +0 -2
  187. lodash/ts3.1/fp/dropRightWhile.d.ts +0 -2
  188. lodash/ts3.1/fp/dropWhile.d.ts +0 -2
  189. lodash/ts3.1/fp/each.d.ts +0 -2
  190. lodash/ts3.1/fp/eachRight.d.ts +0 -2
  191. lodash/ts3.1/fp/endsWith.d.ts +0 -2
  192. lodash/ts3.1/fp/entries.d.ts +0 -2
  193. lodash/ts3.1/fp/entriesIn.d.ts +0 -2
  194. lodash/ts3.1/fp/eq.d.ts +0 -2
  195. lodash/ts3.1/fp/equals.d.ts +0 -2
  196. lodash/ts3.1/fp/escape.d.ts +0 -2
  197. lodash/ts3.1/fp/escapeRegExp.d.ts +0 -2
  198. lodash/ts3.1/fp/every.d.ts +0 -2
  199. lodash/ts3.1/fp/extend.d.ts +0 -2
  200. lodash/ts3.1/fp/extendAll.d.ts +0 -2
  201. lodash/ts3.1/fp/extendAllWith.d.ts +0 -2
  202. lodash/ts3.1/fp/extendWith.d.ts +0 -2
  203. lodash/ts3.1/fp/fill.d.ts +0 -2
  204. lodash/ts3.1/fp/filter.d.ts +0 -2
  205. lodash/ts3.1/fp/find.d.ts +0 -2
  206. lodash/ts3.1/fp/findFrom.d.ts +0 -2
  207. lodash/ts3.1/fp/findIndex.d.ts +0 -2
  208. lodash/ts3.1/fp/findIndexFrom.d.ts +0 -2
  209. lodash/ts3.1/fp/findKey.d.ts +0 -2
  210. lodash/ts3.1/fp/findLast.d.ts +0 -2
  211. lodash/ts3.1/fp/findLastFrom.d.ts +0 -2
  212. lodash/ts3.1/fp/findLastIndex.d.ts +0 -2
  213. lodash/ts3.1/fp/findLastIndexFrom.d.ts +0 -2
  214. lodash/ts3.1/fp/findLastKey.d.ts +0 -2
  215. lodash/ts3.1/fp/first.d.ts +0 -2
  216. lodash/ts3.1/fp/flatMap.d.ts +0 -2
  217. lodash/ts3.1/fp/flatMapDeep.d.ts +0 -2
  218. lodash/ts3.1/fp/flatMapDepth.d.ts +0 -2
  219. lodash/ts3.1/fp/flatten.d.ts +0 -2
  220. lodash/ts3.1/fp/flattenDeep.d.ts +0 -2
  221. lodash/ts3.1/fp/flattenDepth.d.ts +0 -2
  222. lodash/ts3.1/fp/flip.d.ts +0 -2
  223. lodash/ts3.1/fp/floor.d.ts +0 -2
  224. lodash/ts3.1/fp/flow.d.ts +0 -2
  225. lodash/ts3.1/fp/flowRight.d.ts +0 -2
  226. lodash/ts3.1/fp/forEach.d.ts +0 -2
  227. lodash/ts3.1/fp/forEachRight.d.ts +0 -2
  228. lodash/ts3.1/fp/forIn.d.ts +0 -2
  229. lodash/ts3.1/fp/forInRight.d.ts +0 -2
  230. lodash/ts3.1/fp/forOwn.d.ts +0 -2
  231. lodash/ts3.1/fp/forOwnRight.d.ts +0 -2
  232. lodash/ts3.1/fp/fromPairs.d.ts +0 -2
  233. lodash/ts3.1/fp/functions.d.ts +0 -2
  234. lodash/ts3.1/fp/functionsIn.d.ts +0 -2
  235. lodash/ts3.1/fp/get.d.ts +0 -2
  236. lodash/ts3.1/fp/getOr.d.ts +0 -2
  237. lodash/ts3.1/fp/groupBy.d.ts +0 -2
  238. lodash/ts3.1/fp/gt.d.ts +0 -2
  239. lodash/ts3.1/fp/gte.d.ts +0 -2
  240. lodash/ts3.1/fp/has.d.ts +0 -2
  241. lodash/ts3.1/fp/hasIn.d.ts +0 -2
  242. lodash/ts3.1/fp/head.d.ts +0 -2
  243. lodash/ts3.1/fp/identical.d.ts +0 -2
  244. lodash/ts3.1/fp/identity.d.ts +0 -2
  245. lodash/ts3.1/fp/inRange.d.ts +0 -2
  246. lodash/ts3.1/fp/includes.d.ts +0 -2
  247. lodash/ts3.1/fp/includesFrom.d.ts +0 -2
  248. lodash/ts3.1/fp/indexBy.d.ts +0 -2
  249. lodash/ts3.1/fp/indexOf.d.ts +0 -2
  250. lodash/ts3.1/fp/indexOfFrom.d.ts +0 -2
  251. lodash/ts3.1/fp/init.d.ts +0 -2
  252. lodash/ts3.1/fp/initial.d.ts +0 -2
  253. lodash/ts3.1/fp/intersection.d.ts +0 -2
  254. lodash/ts3.1/fp/intersectionBy.d.ts +0 -2
  255. lodash/ts3.1/fp/intersectionWith.d.ts +0 -2
  256. lodash/ts3.1/fp/invert.d.ts +0 -2
  257. lodash/ts3.1/fp/invertBy.d.ts +0 -2
  258. lodash/ts3.1/fp/invertObj.d.ts +0 -2
  259. lodash/ts3.1/fp/invoke.d.ts +0 -2
  260. lodash/ts3.1/fp/invokeArgs.d.ts +0 -2
  261. lodash/ts3.1/fp/invokeArgsMap.d.ts +0 -2
  262. lodash/ts3.1/fp/invokeMap.d.ts +0 -2
  263. lodash/ts3.1/fp/isArguments.d.ts +0 -2
  264. lodash/ts3.1/fp/isArray.d.ts +0 -2
  265. lodash/ts3.1/fp/isArrayBuffer.d.ts +0 -2
  266. lodash/ts3.1/fp/isArrayLike.d.ts +0 -2
  267. lodash/ts3.1/fp/isArrayLikeObject.d.ts +0 -2
  268. lodash/ts3.1/fp/isBoolean.d.ts +0 -2
  269. lodash/ts3.1/fp/isBuffer.d.ts +0 -2
  270. lodash/ts3.1/fp/isDate.d.ts +0 -2
  271. lodash/ts3.1/fp/isElement.d.ts +0 -2
  272. lodash/ts3.1/fp/isEmpty.d.ts +0 -2
  273. lodash/ts3.1/fp/isEqual.d.ts +0 -2
  274. lodash/ts3.1/fp/isEqualWith.d.ts +0 -2
  275. lodash/ts3.1/fp/isError.d.ts +0 -2
  276. lodash/ts3.1/fp/isFinite.d.ts +0 -2
  277. lodash/ts3.1/fp/isFunction.d.ts +0 -2
  278. lodash/ts3.1/fp/isInteger.d.ts +0 -2
  279. lodash/ts3.1/fp/isLength.d.ts +0 -2
  280. lodash/ts3.1/fp/isMap.d.ts +0 -2
  281. lodash/ts3.1/fp/isMatch.d.ts +0 -2
  282. lodash/ts3.1/fp/isMatchWith.d.ts +0 -2
  283. lodash/ts3.1/fp/isNaN.d.ts +0 -2
  284. lodash/ts3.1/fp/isNative.d.ts +0 -2
  285. lodash/ts3.1/fp/isNil.d.ts +0 -2
  286. lodash/ts3.1/fp/isNull.d.ts +0 -2
  287. lodash/ts3.1/fp/isNumber.d.ts +0 -2
  288. lodash/ts3.1/fp/isObject.d.ts +0 -2
  289. lodash/ts3.1/fp/isObjectLike.d.ts +0 -2
  290. lodash/ts3.1/fp/isPlainObject.d.ts +0 -2
  291. lodash/ts3.1/fp/isRegExp.d.ts +0 -2
  292. lodash/ts3.1/fp/isSafeInteger.d.ts +0 -2
  293. lodash/ts3.1/fp/isSet.d.ts +0 -2
  294. lodash/ts3.1/fp/isString.d.ts +0 -2
  295. lodash/ts3.1/fp/isSymbol.d.ts +0 -2
  296. lodash/ts3.1/fp/isTypedArray.d.ts +0 -2
  297. lodash/ts3.1/fp/isUndefined.d.ts +0 -2
  298. lodash/ts3.1/fp/isWeakMap.d.ts +0 -2
  299. lodash/ts3.1/fp/isWeakSet.d.ts +0 -2
  300. lodash/ts3.1/fp/iteratee.d.ts +0 -2
  301. lodash/ts3.1/fp/join.d.ts +0 -2
  302. lodash/ts3.1/fp/juxt.d.ts +0 -2
  303. lodash/ts3.1/fp/kebabCase.d.ts +0 -2
  304. lodash/ts3.1/fp/keyBy.d.ts +0 -2
  305. lodash/ts3.1/fp/keys.d.ts +0 -2
  306. lodash/ts3.1/fp/keysIn.d.ts +0 -2
  307. lodash/ts3.1/fp/last.d.ts +0 -2
  308. lodash/ts3.1/fp/lastIndexOf.d.ts +0 -2
  309. lodash/ts3.1/fp/lastIndexOfFrom.d.ts +0 -2
  310. lodash/ts3.1/fp/lowerCase.d.ts +0 -2
  311. lodash/ts3.1/fp/lowerFirst.d.ts +0 -2
  312. lodash/ts3.1/fp/lt.d.ts +0 -2
  313. lodash/ts3.1/fp/lte.d.ts +0 -2
  314. lodash/ts3.1/fp/map.d.ts +0 -2
  315. lodash/ts3.1/fp/mapKeys.d.ts +0 -2
  316. lodash/ts3.1/fp/mapValues.d.ts +0 -2
  317. lodash/ts3.1/fp/matches.d.ts +0 -2
  318. lodash/ts3.1/fp/matchesProperty.d.ts +0 -2
  319. lodash/ts3.1/fp/max.d.ts +0 -2
  320. lodash/ts3.1/fp/maxBy.d.ts +0 -2
  321. lodash/ts3.1/fp/mean.d.ts +0 -2
  322. lodash/ts3.1/fp/meanBy.d.ts +0 -2
  323. lodash/ts3.1/fp/memoize.d.ts +0 -2
  324. lodash/ts3.1/fp/merge.d.ts +0 -2
  325. lodash/ts3.1/fp/mergeAll.d.ts +0 -2
  326. lodash/ts3.1/fp/mergeAllWith.d.ts +0 -2
  327. lodash/ts3.1/fp/mergeWith.d.ts +0 -2
  328. lodash/ts3.1/fp/method.d.ts +0 -2
  329. lodash/ts3.1/fp/methodOf.d.ts +0 -2
  330. lodash/ts3.1/fp/min.d.ts +0 -2
  331. lodash/ts3.1/fp/minBy.d.ts +0 -2
  332. lodash/ts3.1/fp/multiply.d.ts +0 -2
  333. lodash/ts3.1/fp/nAry.d.ts +0 -2
  334. lodash/ts3.1/fp/negate.d.ts +0 -2
  335. lodash/ts3.1/fp/noConflict.d.ts +0 -2
  336. lodash/ts3.1/fp/noop.d.ts +0 -2
  337. lodash/ts3.1/fp/now.d.ts +0 -2
  338. lodash/ts3.1/fp/nth.d.ts +0 -2
  339. lodash/ts3.1/fp/nthArg.d.ts +0 -2
  340. lodash/ts3.1/fp/omit.d.ts +0 -2
  341. lodash/ts3.1/fp/omitAll.d.ts +0 -2
  342. lodash/ts3.1/fp/omitBy.d.ts +0 -2
  343. lodash/ts3.1/fp/once.d.ts +0 -2
  344. lodash/ts3.1/fp/orderBy.d.ts +0 -2
  345. lodash/ts3.1/fp/over.d.ts +0 -2
  346. lodash/ts3.1/fp/overArgs.d.ts +0 -2
  347. lodash/ts3.1/fp/overEvery.d.ts +0 -2
  348. lodash/ts3.1/fp/overSome.d.ts +0 -2
  349. lodash/ts3.1/fp/pad.d.ts +0 -2
  350. lodash/ts3.1/fp/padChars.d.ts +0 -2
  351. lodash/ts3.1/fp/padCharsEnd.d.ts +0 -2
  352. lodash/ts3.1/fp/padCharsStart.d.ts +0 -2
  353. lodash/ts3.1/fp/padEnd.d.ts +0 -2
  354. lodash/ts3.1/fp/padStart.d.ts +0 -2
  355. lodash/ts3.1/fp/parseInt.d.ts +0 -2
  356. lodash/ts3.1/fp/partial.d.ts +0 -2
  357. lodash/ts3.1/fp/partialRight.d.ts +0 -2
  358. lodash/ts3.1/fp/partition.d.ts +0 -2
  359. lodash/ts3.1/fp/path.d.ts +0 -2
  360. lodash/ts3.1/fp/pathEq.d.ts +0 -2
  361. lodash/ts3.1/fp/pathOr.d.ts +0 -2
  362. lodash/ts3.1/fp/paths.d.ts +0 -2
  363. lodash/ts3.1/fp/pick.d.ts +0 -2
  364. lodash/ts3.1/fp/pickAll.d.ts +0 -2
  365. lodash/ts3.1/fp/pickBy.d.ts +0 -2
  366. lodash/ts3.1/fp/pipe.d.ts +0 -2
  367. lodash/ts3.1/fp/placeholder.d.ts +0 -3
  368. lodash/ts3.1/fp/pluck.d.ts +0 -2
  369. lodash/ts3.1/fp/prop.d.ts +0 -2
  370. lodash/ts3.1/fp/propEq.d.ts +0 -2
  371. lodash/ts3.1/fp/propOr.d.ts +0 -2
  372. lodash/ts3.1/fp/property.d.ts +0 -2
  373. lodash/ts3.1/fp/propertyOf.d.ts +0 -2
  374. lodash/ts3.1/fp/props.d.ts +0 -2
  375. lodash/ts3.1/fp/pull.d.ts +0 -2
  376. lodash/ts3.1/fp/pullAll.d.ts +0 -2
  377. lodash/ts3.1/fp/pullAllBy.d.ts +0 -2
  378. lodash/ts3.1/fp/pullAllWith.d.ts +0 -2
  379. lodash/ts3.1/fp/pullAt.d.ts +0 -2
  380. lodash/ts3.1/fp/random.d.ts +0 -2
  381. lodash/ts3.1/fp/range.d.ts +0 -2
  382. lodash/ts3.1/fp/rangeRight.d.ts +0 -2
  383. lodash/ts3.1/fp/rangeStep.d.ts +0 -2
  384. lodash/ts3.1/fp/rangeStepRight.d.ts +0 -2
  385. lodash/ts3.1/fp/rearg.d.ts +0 -2
  386. lodash/ts3.1/fp/reduce.d.ts +0 -2
  387. lodash/ts3.1/fp/reduceRight.d.ts +0 -2
  388. lodash/ts3.1/fp/reject.d.ts +0 -2
  389. lodash/ts3.1/fp/remove.d.ts +0 -2
  390. lodash/ts3.1/fp/repeat.d.ts +0 -2
  391. lodash/ts3.1/fp/replace.d.ts +0 -2
  392. lodash/ts3.1/fp/rest.d.ts +0 -2
  393. lodash/ts3.1/fp/restFrom.d.ts +0 -2
  394. lodash/ts3.1/fp/result.d.ts +0 -2
  395. lodash/ts3.1/fp/reverse.d.ts +0 -2
  396. lodash/ts3.1/fp/round.d.ts +0 -2
  397. lodash/ts3.1/fp/runInContext.d.ts +0 -2
  398. lodash/ts3.1/fp/sample.d.ts +0 -2
  399. lodash/ts3.1/fp/sampleSize.d.ts +0 -2
  400. lodash/ts3.1/fp/set.d.ts +0 -2
  401. lodash/ts3.1/fp/setWith.d.ts +0 -2
  402. lodash/ts3.1/fp/shuffle.d.ts +0 -2
  403. lodash/ts3.1/fp/size.d.ts +0 -2
  404. lodash/ts3.1/fp/slice.d.ts +0 -2
  405. lodash/ts3.1/fp/snakeCase.d.ts +0 -2
  406. lodash/ts3.1/fp/some.d.ts +0 -2
  407. lodash/ts3.1/fp/sortBy.d.ts +0 -2
  408. lodash/ts3.1/fp/sortedIndex.d.ts +0 -2
  409. lodash/ts3.1/fp/sortedIndexBy.d.ts +0 -2
  410. lodash/ts3.1/fp/sortedIndexOf.d.ts +0 -2
  411. lodash/ts3.1/fp/sortedLastIndex.d.ts +0 -2
  412. lodash/ts3.1/fp/sortedLastIndexBy.d.ts +0 -2
  413. lodash/ts3.1/fp/sortedLastIndexOf.d.ts +0 -2
  414. lodash/ts3.1/fp/sortedUniq.d.ts +0 -2
  415. lodash/ts3.1/fp/sortedUniqBy.d.ts +0 -2
  416. lodash/ts3.1/fp/split.d.ts +0 -2
  417. lodash/ts3.1/fp/spread.d.ts +0 -2
  418. lodash/ts3.1/fp/spreadFrom.d.ts +0 -2
  419. lodash/ts3.1/fp/startCase.d.ts +0 -2
  420. lodash/ts3.1/fp/startsWith.d.ts +0 -2
  421. lodash/ts3.1/fp/stubArray.d.ts +0 -2
  422. lodash/ts3.1/fp/stubFalse.d.ts +0 -2
  423. lodash/ts3.1/fp/stubObject.d.ts +0 -2
  424. lodash/ts3.1/fp/stubString.d.ts +0 -2
  425. lodash/ts3.1/fp/stubTrue.d.ts +0 -2
  426. lodash/ts3.1/fp/subtract.d.ts +0 -2
  427. lodash/ts3.1/fp/sum.d.ts +0 -2
  428. lodash/ts3.1/fp/sumBy.d.ts +0 -2
  429. lodash/ts3.1/fp/symmetricDifference.d.ts +0 -2
  430. lodash/ts3.1/fp/symmetricDifferenceBy.d.ts +0 -2
  431. lodash/ts3.1/fp/symmetricDifferenceWith.d.ts +0 -2
  432. lodash/ts3.1/fp/tail.d.ts +0 -2
  433. lodash/ts3.1/fp/take.d.ts +0 -2
  434. lodash/ts3.1/fp/takeLast.d.ts +0 -2
  435. lodash/ts3.1/fp/takeLastWhile.d.ts +0 -2
  436. lodash/ts3.1/fp/takeRight.d.ts +0 -2
  437. lodash/ts3.1/fp/takeRightWhile.d.ts +0 -2
  438. lodash/ts3.1/fp/takeWhile.d.ts +0 -2
  439. lodash/ts3.1/fp/tap.d.ts +0 -2
  440. lodash/ts3.1/fp/template.d.ts +0 -2
  441. lodash/ts3.1/fp/throttle.d.ts +0 -2
  442. lodash/ts3.1/fp/thru.d.ts +0 -2
  443. lodash/ts3.1/fp/times.d.ts +0 -2
  444. lodash/ts3.1/fp/toArray.d.ts +0 -2
  445. lodash/ts3.1/fp/toFinite.d.ts +0 -2
  446. lodash/ts3.1/fp/toInteger.d.ts +0 -2
  447. lodash/ts3.1/fp/toLength.d.ts +0 -2
  448. lodash/ts3.1/fp/toLower.d.ts +0 -2
  449. lodash/ts3.1/fp/toNumber.d.ts +0 -2
  450. lodash/ts3.1/fp/toPairs.d.ts +0 -2
  451. lodash/ts3.1/fp/toPairsIn.d.ts +0 -2
  452. lodash/ts3.1/fp/toPath.d.ts +0 -2
  453. lodash/ts3.1/fp/toPlainObject.d.ts +0 -2
  454. lodash/ts3.1/fp/toSafeInteger.d.ts +0 -2
  455. lodash/ts3.1/fp/toString.d.ts +0 -2
  456. lodash/ts3.1/fp/toUpper.d.ts +0 -2
  457. lodash/ts3.1/fp/transform.d.ts +0 -2
  458. lodash/ts3.1/fp/trim.d.ts +0 -2
  459. lodash/ts3.1/fp/trimChars.d.ts +0 -2
  460. lodash/ts3.1/fp/trimCharsEnd.d.ts +0 -2
  461. lodash/ts3.1/fp/trimCharsStart.d.ts +0 -2
  462. lodash/ts3.1/fp/trimEnd.d.ts +0 -2
  463. lodash/ts3.1/fp/trimStart.d.ts +0 -2
  464. lodash/ts3.1/fp/truncate.d.ts +0 -2
  465. lodash/ts3.1/fp/unapply.d.ts +0 -2
  466. lodash/ts3.1/fp/unary.d.ts +0 -2
  467. lodash/ts3.1/fp/unescape.d.ts +0 -2
  468. lodash/ts3.1/fp/union.d.ts +0 -2
  469. lodash/ts3.1/fp/unionBy.d.ts +0 -2
  470. lodash/ts3.1/fp/unionWith.d.ts +0 -2
  471. lodash/ts3.1/fp/uniq.d.ts +0 -2
  472. lodash/ts3.1/fp/uniqBy.d.ts +0 -2
  473. lodash/ts3.1/fp/uniqWith.d.ts +0 -2
  474. lodash/ts3.1/fp/uniqueId.d.ts +0 -2
  475. lodash/ts3.1/fp/unnest.d.ts +0 -2
  476. lodash/ts3.1/fp/unset.d.ts +0 -2
  477. lodash/ts3.1/fp/unzip.d.ts +0 -2
  478. lodash/ts3.1/fp/unzipWith.d.ts +0 -2
  479. lodash/ts3.1/fp/update.d.ts +0 -2
  480. lodash/ts3.1/fp/updateWith.d.ts +0 -2
  481. lodash/ts3.1/fp/upperCase.d.ts +0 -2
  482. lodash/ts3.1/fp/upperFirst.d.ts +0 -2
  483. lodash/ts3.1/fp/useWith.d.ts +0 -2
  484. lodash/ts3.1/fp/values.d.ts +0 -2
  485. lodash/ts3.1/fp/valuesIn.d.ts +0 -2
  486. lodash/ts3.1/fp/where.d.ts +0 -2
  487. lodash/ts3.1/fp/whereEq.d.ts +0 -2
  488. lodash/ts3.1/fp/without.d.ts +0 -2
  489. lodash/ts3.1/fp/words.d.ts +0 -2
  490. lodash/ts3.1/fp/wrap.d.ts +0 -2
  491. lodash/ts3.1/fp/xor.d.ts +0 -2
  492. lodash/ts3.1/fp/xorBy.d.ts +0 -2
  493. lodash/ts3.1/fp/xorWith.d.ts +0 -2
  494. lodash/ts3.1/fp/zip.d.ts +0 -2
  495. lodash/ts3.1/fp/zipAll.d.ts +0 -2
  496. lodash/ts3.1/fp/zipObj.d.ts +0 -2
  497. lodash/ts3.1/fp/zipObject.d.ts +0 -2
  498. lodash/ts3.1/fp/zipObjectDeep.d.ts +0 -2
  499. lodash/ts3.1/fp/zipWith.d.ts +0 -2
  500. lodash/ts3.1/fp.d.ts +0 -4938
  501. lodash/ts3.1/fromPairs.d.ts +0 -2
  502. lodash/ts3.1/functions.d.ts +0 -2
  503. lodash/ts3.1/functionsIn.d.ts +0 -2
  504. lodash/ts3.1/get.d.ts +0 -2
  505. lodash/ts3.1/groupBy.d.ts +0 -2
  506. lodash/ts3.1/gt.d.ts +0 -2
  507. lodash/ts3.1/gte.d.ts +0 -2
  508. lodash/ts3.1/has.d.ts +0 -2
  509. lodash/ts3.1/hasIn.d.ts +0 -2
  510. lodash/ts3.1/head.d.ts +0 -2
  511. lodash/ts3.1/identity.d.ts +0 -2
  512. lodash/ts3.1/inRange.d.ts +0 -2
  513. lodash/ts3.1/includes.d.ts +0 -2
  514. lodash/ts3.1/index.d.ts +0 -33
  515. lodash/ts3.1/indexOf.d.ts +0 -2
  516. lodash/ts3.1/initial.d.ts +0 -2
  517. lodash/ts3.1/intersection.d.ts +0 -2
  518. lodash/ts3.1/intersectionBy.d.ts +0 -2
  519. lodash/ts3.1/intersectionWith.d.ts +0 -2
  520. lodash/ts3.1/invert.d.ts +0 -2
  521. lodash/ts3.1/invertBy.d.ts +0 -2
  522. lodash/ts3.1/invoke.d.ts +0 -2
  523. lodash/ts3.1/invokeMap.d.ts +0 -2
  524. lodash/ts3.1/isArguments.d.ts +0 -2
  525. lodash/ts3.1/isArray.d.ts +0 -2
  526. lodash/ts3.1/isArrayBuffer.d.ts +0 -2
  527. lodash/ts3.1/isArrayLike.d.ts +0 -2
  528. lodash/ts3.1/isArrayLikeObject.d.ts +0 -2
  529. lodash/ts3.1/isBoolean.d.ts +0 -2
  530. lodash/ts3.1/isBuffer.d.ts +0 -2
  531. lodash/ts3.1/isDate.d.ts +0 -2
  532. lodash/ts3.1/isElement.d.ts +0 -2
  533. lodash/ts3.1/isEmpty.d.ts +0 -2
  534. lodash/ts3.1/isEqual.d.ts +0 -2
  535. lodash/ts3.1/isEqualWith.d.ts +0 -2
  536. lodash/ts3.1/isError.d.ts +0 -2
  537. lodash/ts3.1/isFinite.d.ts +0 -2
  538. lodash/ts3.1/isFunction.d.ts +0 -2
  539. lodash/ts3.1/isInteger.d.ts +0 -2
  540. lodash/ts3.1/isLength.d.ts +0 -2
  541. lodash/ts3.1/isMap.d.ts +0 -2
  542. lodash/ts3.1/isMatch.d.ts +0 -2
  543. lodash/ts3.1/isMatchWith.d.ts +0 -2
  544. lodash/ts3.1/isNaN.d.ts +0 -2
  545. lodash/ts3.1/isNative.d.ts +0 -2
  546. lodash/ts3.1/isNil.d.ts +0 -2
  547. lodash/ts3.1/isNull.d.ts +0 -2
  548. lodash/ts3.1/isNumber.d.ts +0 -2
  549. lodash/ts3.1/isObject.d.ts +0 -2
  550. lodash/ts3.1/isObjectLike.d.ts +0 -2
  551. lodash/ts3.1/isPlainObject.d.ts +0 -2
  552. lodash/ts3.1/isRegExp.d.ts +0 -2
  553. lodash/ts3.1/isSafeInteger.d.ts +0 -2
  554. lodash/ts3.1/isSet.d.ts +0 -2
  555. lodash/ts3.1/isString.d.ts +0 -2
  556. lodash/ts3.1/isSymbol.d.ts +0 -2
  557. lodash/ts3.1/isTypedArray.d.ts +0 -2
  558. lodash/ts3.1/isUndefined.d.ts +0 -2
  559. lodash/ts3.1/isWeakMap.d.ts +0 -2
  560. lodash/ts3.1/isWeakSet.d.ts +0 -2
  561. lodash/ts3.1/iteratee.d.ts +0 -2
  562. lodash/ts3.1/join.d.ts +0 -2
  563. lodash/ts3.1/kebabCase.d.ts +0 -2
  564. lodash/ts3.1/keyBy.d.ts +0 -2
  565. lodash/ts3.1/keys.d.ts +0 -2
  566. lodash/ts3.1/keysIn.d.ts +0 -2
  567. lodash/ts3.1/last.d.ts +0 -2
  568. lodash/ts3.1/lastIndexOf.d.ts +0 -2
  569. lodash/ts3.1/lowerCase.d.ts +0 -2
  570. lodash/ts3.1/lowerFirst.d.ts +0 -2
  571. lodash/ts3.1/lt.d.ts +0 -2
  572. lodash/ts3.1/lte.d.ts +0 -2
  573. lodash/ts3.1/map.d.ts +0 -2
  574. lodash/ts3.1/mapKeys.d.ts +0 -2
  575. lodash/ts3.1/mapValues.d.ts +0 -2
  576. lodash/ts3.1/matches.d.ts +0 -2
  577. lodash/ts3.1/matchesProperty.d.ts +0 -2
  578. lodash/ts3.1/max.d.ts +0 -2
  579. lodash/ts3.1/maxBy.d.ts +0 -2
  580. lodash/ts3.1/mean.d.ts +0 -2
  581. lodash/ts3.1/meanBy.d.ts +0 -2
  582. lodash/ts3.1/memoize.d.ts +0 -2
  583. lodash/ts3.1/merge.d.ts +0 -2
  584. lodash/ts3.1/mergeWith.d.ts +0 -2
  585. lodash/ts3.1/method.d.ts +0 -2
  586. lodash/ts3.1/methodOf.d.ts +0 -2
  587. lodash/ts3.1/min.d.ts +0 -2
  588. lodash/ts3.1/minBy.d.ts +0 -2
  589. lodash/ts3.1/mixin.d.ts +0 -2
  590. lodash/ts3.1/multiply.d.ts +0 -2
  591. lodash/ts3.1/negate.d.ts +0 -2
  592. lodash/ts3.1/noConflict.d.ts +0 -2
  593. lodash/ts3.1/noop.d.ts +0 -2
  594. lodash/ts3.1/now.d.ts +0 -2
  595. lodash/ts3.1/nth.d.ts +0 -2
  596. lodash/ts3.1/nthArg.d.ts +0 -2
  597. lodash/ts3.1/omit.d.ts +0 -2
  598. lodash/ts3.1/omitBy.d.ts +0 -2
  599. lodash/ts3.1/once.d.ts +0 -2
  600. lodash/ts3.1/orderBy.d.ts +0 -2
  601. lodash/ts3.1/over.d.ts +0 -2
  602. lodash/ts3.1/overArgs.d.ts +0 -2
  603. lodash/ts3.1/overEvery.d.ts +0 -2
  604. lodash/ts3.1/overSome.d.ts +0 -2
  605. lodash/ts3.1/pad.d.ts +0 -2
  606. lodash/ts3.1/padEnd.d.ts +0 -2
  607. lodash/ts3.1/padStart.d.ts +0 -2
  608. lodash/ts3.1/parseInt.d.ts +0 -2
  609. lodash/ts3.1/partial.d.ts +0 -2
  610. lodash/ts3.1/partialRight.d.ts +0 -2
  611. lodash/ts3.1/partition.d.ts +0 -2
  612. lodash/ts3.1/pick.d.ts +0 -2
  613. lodash/ts3.1/pickBy.d.ts +0 -2
  614. lodash/ts3.1/property.d.ts +0 -2
  615. lodash/ts3.1/propertyOf.d.ts +0 -2
  616. lodash/ts3.1/pull.d.ts +0 -2
  617. lodash/ts3.1/pullAll.d.ts +0 -2
  618. lodash/ts3.1/pullAllBy.d.ts +0 -2
  619. lodash/ts3.1/pullAllWith.d.ts +0 -2
  620. lodash/ts3.1/pullAt.d.ts +0 -2
  621. lodash/ts3.1/random.d.ts +0 -2
  622. lodash/ts3.1/range.d.ts +0 -2
  623. lodash/ts3.1/rangeRight.d.ts +0 -2
  624. lodash/ts3.1/rearg.d.ts +0 -2
  625. lodash/ts3.1/reduce.d.ts +0 -2
  626. lodash/ts3.1/reduceRight.d.ts +0 -2
  627. lodash/ts3.1/reject.d.ts +0 -2
  628. lodash/ts3.1/remove.d.ts +0 -2
  629. lodash/ts3.1/repeat.d.ts +0 -2
  630. lodash/ts3.1/replace.d.ts +0 -2
  631. lodash/ts3.1/rest.d.ts +0 -2
  632. lodash/ts3.1/result.d.ts +0 -2
  633. lodash/ts3.1/reverse.d.ts +0 -2
  634. lodash/ts3.1/round.d.ts +0 -2
  635. lodash/ts3.1/runInContext.d.ts +0 -2
  636. lodash/ts3.1/sample.d.ts +0 -2
  637. lodash/ts3.1/sampleSize.d.ts +0 -2
  638. lodash/ts3.1/set.d.ts +0 -2
  639. lodash/ts3.1/setWith.d.ts +0 -2
  640. lodash/ts3.1/shuffle.d.ts +0 -2
  641. lodash/ts3.1/size.d.ts +0 -2
  642. lodash/ts3.1/slice.d.ts +0 -2
  643. lodash/ts3.1/snakeCase.d.ts +0 -2
  644. lodash/ts3.1/some.d.ts +0 -2
  645. lodash/ts3.1/sortBy.d.ts +0 -2
  646. lodash/ts3.1/sortedIndex.d.ts +0 -2
  647. lodash/ts3.1/sortedIndexBy.d.ts +0 -2
  648. lodash/ts3.1/sortedIndexOf.d.ts +0 -2
  649. lodash/ts3.1/sortedLastIndex.d.ts +0 -2
  650. lodash/ts3.1/sortedLastIndexBy.d.ts +0 -2
  651. lodash/ts3.1/sortedLastIndexOf.d.ts +0 -2
  652. lodash/ts3.1/sortedUniq.d.ts +0 -2
  653. lodash/ts3.1/sortedUniqBy.d.ts +0 -2
  654. lodash/ts3.1/split.d.ts +0 -2
  655. lodash/ts3.1/spread.d.ts +0 -2
  656. lodash/ts3.1/startCase.d.ts +0 -2
  657. lodash/ts3.1/startsWith.d.ts +0 -2
  658. lodash/ts3.1/stubFalse.d.ts +0 -2
  659. lodash/ts3.1/stubTrue.d.ts +0 -2
  660. lodash/ts3.1/subtract.d.ts +0 -2
  661. lodash/ts3.1/sum.d.ts +0 -2
  662. lodash/ts3.1/sumBy.d.ts +0 -2
  663. lodash/ts3.1/tail.d.ts +0 -2
  664. lodash/ts3.1/take.d.ts +0 -2
  665. lodash/ts3.1/takeRight.d.ts +0 -2
  666. lodash/ts3.1/takeRightWhile.d.ts +0 -2
  667. lodash/ts3.1/takeWhile.d.ts +0 -2
  668. lodash/ts3.1/tap.d.ts +0 -2
  669. lodash/ts3.1/template.d.ts +0 -2
  670. lodash/ts3.1/throttle.d.ts +0 -2
  671. lodash/ts3.1/thru.d.ts +0 -2
  672. lodash/ts3.1/times.d.ts +0 -2
  673. lodash/ts3.1/toArray.d.ts +0 -2
  674. lodash/ts3.1/toFinite.d.ts +0 -2
  675. lodash/ts3.1/toInteger.d.ts +0 -2
  676. lodash/ts3.1/toLength.d.ts +0 -2
  677. lodash/ts3.1/toLower.d.ts +0 -2
  678. lodash/ts3.1/toNumber.d.ts +0 -2
  679. lodash/ts3.1/toPairs.d.ts +0 -2
  680. lodash/ts3.1/toPairsIn.d.ts +0 -2
  681. lodash/ts3.1/toPath.d.ts +0 -2
  682. lodash/ts3.1/toPlainObject.d.ts +0 -2
  683. lodash/ts3.1/toSafeInteger.d.ts +0 -2
  684. lodash/ts3.1/toString.d.ts +0 -2
  685. lodash/ts3.1/toUpper.d.ts +0 -2
  686. lodash/ts3.1/transform.d.ts +0 -2
  687. lodash/ts3.1/trim.d.ts +0 -2
  688. lodash/ts3.1/trimEnd.d.ts +0 -2
  689. lodash/ts3.1/trimStart.d.ts +0 -2
  690. lodash/ts3.1/truncate.d.ts +0 -2
  691. lodash/ts3.1/unary.d.ts +0 -2
  692. lodash/ts3.1/unescape.d.ts +0 -2
  693. lodash/ts3.1/union.d.ts +0 -2
  694. lodash/ts3.1/unionBy.d.ts +0 -2
  695. lodash/ts3.1/unionWith.d.ts +0 -2
  696. lodash/ts3.1/uniq.d.ts +0 -2
  697. lodash/ts3.1/uniqBy.d.ts +0 -2
  698. lodash/ts3.1/uniqWith.d.ts +0 -2
  699. lodash/ts3.1/uniqueId.d.ts +0 -2
  700. lodash/ts3.1/unset.d.ts +0 -2
  701. lodash/ts3.1/unzip.d.ts +0 -2
  702. lodash/ts3.1/unzipWith.d.ts +0 -2
  703. lodash/ts3.1/update.d.ts +0 -2
  704. lodash/ts3.1/updateWith.d.ts +0 -2
  705. lodash/ts3.1/upperCase.d.ts +0 -2
  706. lodash/ts3.1/upperFirst.d.ts +0 -2
  707. lodash/ts3.1/values.d.ts +0 -2
  708. lodash/ts3.1/valuesIn.d.ts +0 -2
  709. lodash/ts3.1/without.d.ts +0 -2
  710. lodash/ts3.1/words.d.ts +0 -2
  711. lodash/ts3.1/wrap.d.ts +0 -2
  712. lodash/ts3.1/xor.d.ts +0 -2
  713. lodash/ts3.1/xorBy.d.ts +0 -2
  714. lodash/ts3.1/xorWith.d.ts +0 -2
  715. lodash/ts3.1/zip.d.ts +0 -2
  716. lodash/ts3.1/zipObject.d.ts +0 -2
  717. lodash/ts3.1/zipObjectDeep.d.ts +0 -2
  718. lodash/ts3.1/zipWith.d.ts +0 -2
@@ -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;
76
+ (func: (...args: any[]) => any, thisArg: any, ...partials: any[]): (...args: any[]) => any;
105
77
  }
106
-
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;
109
+ (object: object, key: string, ...partials: any[]): (...args: any[]) => any;
155
110
  }
156
-
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,106 @@ 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> {
421
- /**
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
-
297
+ interface Function<T extends (...args: any) => any> {
451
298
  /**
452
- * @see _.curry
453
- **/
454
- curry(arity?: number): LoDashImplicitWrapper<(...args: any[]) => any>;
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>;
455
308
  }
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
-
309
+ interface FunctionChain<T extends (...args: any) => any> {
488
310
  /**
489
- * @see _.curry
490
- **/
491
- curry(arity?: number): LoDashExplicitWrapper<(...args: any[]) => any>;
311
+ * @see _.curry
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>;
492
320
  }
493
-
494
- // curryRight
495
-
496
321
  interface CurryRight {
497
- /**
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.
548
- */
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
-
577
- /**
578
- * @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
-
333
+ interface Function<T extends (...args: any) => any> {
589
334
  /**
590
335
  * @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
  }
371
+ interface DebouncedFunc<T extends (...args: any[]) => any> {
372
+ /**
373
+ * Call the original function, but applying the debounce rules.
374
+ *
375
+ * If the debounced function can be run immediately, this calls it and returns its return
376
+ * value.
377
+ *
378
+ * Otherwise, it returns the return value of the last invokation, or undefined if the debounced
379
+ * function was not invoked yet.
380
+ */
381
+ (...args: Parameters<T>): ReturnType<T> | undefined;
650
382
 
383
+ /**
384
+ * Throw away any pending invokation of the debounced function.
385
+ */
386
+ cancel(): void;
387
+
388
+ /**
389
+ * If there is a pending invokation of the debounced function, invoke it immediately and return
390
+ * its return value.
391
+ *
392
+ * Otherwise, return the value from the last invokation, or undefined if the debounced function
393
+ * was never invoked.
394
+ */
395
+ flush(): ReturnType<T> | undefined;
396
+ }
651
397
  interface LoDashStatic {
652
398
  /**
653
399
  * Creates a debounced function that delays invoking func until after wait milliseconds have elapsed since
@@ -669,35 +415,26 @@ declare module "../index" {
669
415
  * @param options.trailing Specify invoking on the trailing edge of the timeout.
670
416
  * @return Returns the new debounced function.
671
417
  */
672
- debounce<T extends (...args: any[]) => any>(
673
- func: T,
674
- wait?: number,
675
- options?: DebounceSettings
676
- ): T & Cancelable;
418
+ debounce<T extends (...args: any) => any>(func: T, wait?: number, options?: DebounceSettings): DebouncedFunc<T>;
677
419
  }
678
-
679
- interface LoDashImplicitWrapper<TValue> {
420
+ interface Function<T extends (...args: any) => any> {
680
421
  /**
681
422
  * @see _.debounce
682
423
  */
683
424
  debounce(
684
425
  wait?: number,
685
426
  options?: DebounceSettings
686
- ): LoDashImplicitWrapper<TValue & Cancelable>;
427
+ ): T extends (...args: any[]) => any ? Function<DebouncedFunc<T>> : never;
687
428
  }
688
-
689
- interface LoDashExplicitWrapper<TValue> {
429
+ interface FunctionChain<T extends (...args: any) => any> {
690
430
  /**
691
431
  * @see _.debounce
692
432
  */
693
433
  debounce(
694
434
  wait?: number,
695
435
  options?: DebounceSettings
696
- ): LoDashExplicitWrapper<TValue & Cancelable>;
436
+ ): T extends (...args: any[]) => any ? FunctionChain<DebouncedFunc<T>> : never;
697
437
  }
698
-
699
- // defer
700
-
701
438
  interface LoDashStatic {
702
439
  /**
703
440
  * Defers invoking the func until the current call stack has cleared. Any additional arguments are provided to
@@ -707,28 +444,20 @@ declare module "../index" {
707
444
  * @param args The arguments to invoke the function with.
708
445
  * @return Returns the timer id.
709
446
  */
710
- defer(
711
- func: (...args: any[]) => any,
712
- ...args: any[]
713
- ): number;
447
+ defer(func: (...args: any[]) => any, ...args: any[]): number;
714
448
  }
715
-
716
449
  interface LoDashImplicitWrapper<TValue> {
717
450
  /**
718
451
  * @see _.defer
719
452
  */
720
- defer(...args: any[]): LoDashImplicitWrapper<number>;
453
+ defer(...args: any[]): Primitive<number>;
721
454
  }
722
-
723
455
  interface LoDashExplicitWrapper<TValue> {
724
456
  /**
725
457
  * @see _.defer
726
458
  */
727
- defer(...args: any[]): LoDashExplicitWrapper<number>;
459
+ defer(...args: any[]): PrimitiveChain<number>;
728
460
  }
729
-
730
- // delay
731
-
732
461
  interface LoDashStatic {
733
462
  /**
734
463
  * Invokes func after wait milliseconds. Any additional arguments are provided to func when it’s invoked.
@@ -738,35 +467,20 @@ declare module "../index" {
738
467
  * @param args The arguments to invoke the function with.
739
468
  * @return Returns the timer id.
740
469
  */
741
- delay(
742
- func: (...args: any[]) => any,
743
- wait: number,
744
- ...args: any[]
745
- ): number;
470
+ delay(func: (...args: any[]) => any, wait: number, ...args: any[]): number;
746
471
  }
747
-
748
472
  interface LoDashImplicitWrapper<TValue> {
749
473
  /**
750
474
  * @see _.delay
751
475
  */
752
- delay(
753
- wait: number,
754
- ...args: any[]
755
- ): LoDashImplicitWrapper<number>;
476
+ delay(wait: number, ...args: any[]): Primitive<number>;
756
477
  }
757
-
758
478
  interface LoDashExplicitWrapper<TValue> {
759
479
  /**
760
480
  * @see _.delay
761
481
  */
762
- delay(
763
- wait: number,
764
- ...args: any[]
765
- ): LoDashExplicitWrapper<number>;
482
+ delay(wait: number, ...args: any[]): PrimitiveChain<number>;
766
483
  }
767
-
768
- // flip
769
-
770
484
  interface LoDashStatic {
771
485
  /**
772
486
  * Creates a function that invokes `func` with arguments reversed.
@@ -783,56 +497,54 @@ declare module "../index" {
783
497
  * flipped('a', 'b', 'c', 'd');
784
498
  * // => ['d', 'c', 'b', 'a']
785
499
  */
786
- flip<T extends (...args: any[]) => any>(func: T): T;
500
+ flip<T extends (...args: any) => any>(func: T): T;
787
501
  }
788
-
789
- interface LoDashWrapper<TValue> {
502
+ interface Function<T extends (...args: any) => any> {
503
+ /**
504
+ * @see _.flip
505
+ */
506
+ flip(): this;
507
+ }
508
+ interface FunctionChain<T extends (...args: any) => any> {
790
509
  /**
791
510
  * @see _.flip
792
511
  */
793
512
  flip(): this;
794
513
  }
795
-
796
- // memoize
797
-
798
514
  interface MemoizedFunction {
515
+ /**
516
+ * @see _.cache
517
+ */
799
518
  cache: MapCache;
800
519
  }
801
-
802
520
  interface LoDashStatic {
803
521
  /**
804
- * Creates a function that memoizes the result of `func`. If `resolver` is
805
- * provided, it determines the cache key for storing the result based on the
806
- * arguments provided to the memoized function. By default, the first argument
807
- * provided to the memoized function is used as the map cache key. The `func`
808
- * is invoked with the `this` binding of the memoized function.
522
+ * Creates a function that memoizes the result of func. If resolver is provided it determines the cache key for
523
+ * storing the result based on the arguments provided to the memoized function. By default, the first argument
524
+ * provided to the memoized function is coerced to a string and used as the cache key. The func is invoked with
525
+ * the this binding of the memoized function.
809
526
  *
810
527
  * @param func The function to have its output memoized.
811
528
  * @param resolver The function to resolve the cache key.
812
529
  * @return Returns the new memoizing function.
813
530
  */
814
531
  memoize: {
815
- <T extends (...args: any[]) => any>(func: T, resolver?: (...args: any[]) => any): T & MemoizedFunction;
532
+ <T extends (...args: any) => any>(func: T, resolver?: (...args: any[]) => any): T & MemoizedFunction;
816
533
  Cache: MapCacheConstructor;
817
534
  };
818
535
  }
819
-
820
- interface LoDashImplicitWrapper<TValue> {
536
+ interface Function<T extends (...args: any) => any> {
821
537
  /**
822
538
  * @see _.memoize
823
539
  */
824
- memoize(resolver?: (...args: any[]) => any): LoDashImplicitWrapper<TValue & MemoizedFunction>;
540
+ memoize(resolver?: (...args: any[]) => any): Function<T & MemoizedFunction>;
825
541
  }
826
-
827
- interface LoDashExplicitWrapper<TValue> {
542
+ interface FunctionChain<T extends (...args: any) => any> {
828
543
  /**
829
544
  * @see _.memoize
830
545
  */
831
- memoize(resolver?: (...args: any[]) => any): LoDashExplicitWrapper<TValue & MemoizedFunction>;
546
+ memoize(resolver?: (...args: any[]) => any): FunctionChain<T & MemoizedFunction>;
832
547
  }
833
-
834
- // negate
835
-
836
548
  interface LoDashStatic {
837
549
  /**
838
550
  * Creates a function that negates the result of the predicate func. The func predicate is invoked with
@@ -841,34 +553,20 @@ declare module "../index" {
841
553
  * @param predicate The predicate to negate.
842
554
  * @return Returns the new function.
843
555
  */
844
- negate(predicate: () => boolean): () => boolean;
845
- negate<A1>(predicate: (a1: A1) => boolean): (a1: A1) => boolean;
846
- negate<A1, A2>(predicate: (a1: A1, a2: A2) => boolean): (a1: A1, a2: A2) => boolean;
847
- negate(predicate: (...args: any[]) => any): (...args: any[]) => boolean;
556
+ negate<T extends any[]>(predicate: (...args: T) => boolean): (...args: T) => boolean;
848
557
  }
849
-
850
- interface LoDashImplicitWrapper<TValue> {
558
+ interface Function<T extends (...args: any) => any> {
851
559
  /**
852
560
  * @see _.negate
853
561
  */
854
- negate(this: LoDashImplicitWrapper<() => boolean>): LoDashImplicitWrapper<() => boolean>;
855
- negate<A1>(this: LoDashImplicitWrapper<(a1: A1) => boolean>): LoDashImplicitWrapper<(a1: A1) => boolean>;
856
- negate<A1, A2>(this: LoDashImplicitWrapper<(a1: A1, a2: A2) => boolean>): LoDashImplicitWrapper<(a1: A1, a2: A2) => boolean>;
857
- negate(this: LoDashImplicitWrapper<(...args: any[]) => any>): LoDashImplicitWrapper<(...args: any[]) => boolean>;
562
+ negate(): Function<(...args: Parameters<T>) => boolean>;
858
563
  }
859
-
860
- interface LoDashExplicitWrapper<TValue> {
564
+ interface FunctionChain<T extends (...args: any) => any> {
861
565
  /**
862
566
  * @see _.negate
863
567
  */
864
- negate(this: LoDashExplicitWrapper<() => boolean>): LoDashExplicitWrapper<() => boolean>;
865
- negate<A1>(this: LoDashExplicitWrapper<(a1: A1) => boolean>): LoDashExplicitWrapper<(a1: A1) => boolean>;
866
- negate<A1, A2>(this: LoDashExplicitWrapper<(a1: A1, a2: A2) => boolean>): LoDashExplicitWrapper<(a1: A1, a2: A2) => boolean>;
867
- negate(this: LoDashExplicitWrapper<(...args: any[]) => any>): LoDashExplicitWrapper<(...args: any[]) => boolean>;
568
+ negate(): FunctionChain<(...args: Parameters<T>) => boolean>;
868
569
  }
869
-
870
- // once
871
-
872
570
  interface LoDashStatic {
873
571
  /**
874
572
  * Creates a function that is restricted to invoking func once. Repeat calls to the function return the value
@@ -877,18 +575,20 @@ declare module "../index" {
877
575
  * @param func The function to restrict.
878
576
  * @return Returns the new restricted function.
879
577
  */
880
- once<T extends (...args: any[]) => any>(func: T): T;
578
+ once<T extends (...args: any) => any>(func: T): T;
881
579
  }
882
-
883
- interface LoDashWrapper<TValue> {
580
+ interface Function<T extends (...args: any) => any> {
884
581
  /**
885
582
  * @see _.once
886
583
  */
887
- once(): this;
584
+ once(): Function<T>;
585
+ }
586
+ interface FunctionChain<T extends (...args: any) => any> {
587
+ /**
588
+ * @see _.once
589
+ */
590
+ once(): FunctionChain<T>;
888
591
  }
889
-
890
- // overArgs
891
-
892
592
  interface LoDashStatic {
893
593
  /**
894
594
  * Creates a function that runs each argument through a corresponding transform function.
@@ -898,28 +598,20 @@ declare module "../index" {
898
598
  * of functions.
899
599
  * @return Returns the new function.
900
600
  */
901
- overArgs(
902
- func: (...args: any[]) => any,
903
- ...transforms: Array<Many<(...args: any[]) => any>>
904
- ): (...args: any[]) => any;
601
+ overArgs(func: (...args: any[]) => any, ...transforms: Array<Many<(...args: any[]) => any>>): (...args: any[]) => any;
905
602
  }
906
-
907
- interface LoDashImplicitWrapper<TValue> {
603
+ interface Function<T extends (...args: any) => any> {
908
604
  /**
909
605
  * @see _.overArgs
910
606
  */
911
- overArgs(...transforms: Array<Many<(...args: any[]) => any>>): LoDashImplicitWrapper<(...args: any[]) => any>;
607
+ overArgs(...transforms: Array<Many<(...args: any[]) => any>>): Function<(...args: any[]) => any>;
912
608
  }
913
-
914
- interface LoDashExplicitWrapper<TValue> {
609
+ interface FunctionChain<T extends (...args: any) => any> {
915
610
  /**
916
611
  * @see _.overArgs
917
612
  */
918
- overArgs(...transforms: Array<Many<(...args: any[]) => any>>): LoDashExplicitWrapper<(...args: any[]) => any>;
613
+ overArgs(...transforms: Array<Many<(...args: any[]) => any>>): FunctionChain<(...args: any[]) => any>;
919
614
  }
920
-
921
- // partial
922
-
923
615
  interface LoDashStatic {
924
616
  /**
925
617
  * Creates a function that, when called, invokes func with any additional partial arguments
@@ -928,340 +620,666 @@ declare module "../index" {
928
620
  * @param func The function to partially apply arguments to.
929
621
  * @param args Arguments to be partially applied.
930
622
  * @return The new partially applied function.
931
- **/
932
- partial: Partial;
933
- }
934
-
935
- interface LoDashImplicitWrapper<TValue> {
936
- /**
937
- * @see _.partial
938
- */
939
- partial: ImplicitPartial;
940
- }
941
-
942
- interface LoDashExplicitWrapper<TValue> {
943
- /**
944
- * @see _.partial
945
623
  */
946
- partial: ExplicitPartial;
624
+ partial: Partial;
947
625
  }
948
-
949
- /** The placeholder, to be used in curried functions */
950
626
  type __ = LoDashStatic;
951
-
952
627
  type Function0<R> = () => R;
953
628
  type Function1<T1, R> = (t1: T1) => R;
954
629
  type Function2<T1, T2, R> = (t1: T1, t2: T2) => R;
955
630
  type Function3<T1, T2, T3, R> = (t1: T1, t2: T2, t3: T3) => R;
956
631
  type Function4<T1, T2, T3, T4, R> = (t1: T1, t2: T2, t3: T3, t4: T4) => R;
957
-
958
632
  interface Partial {
959
- // arity 0
960
- <R>(func: Function0<R>): Function0<R>;
961
- // arity 1
962
- <T1, R>(func: Function1<T1, R>): Function1<T1, R>;
963
- <T1, R>(func: Function1<T1, R>, arg1: T1): Function0<R>;
964
- // arity 2
965
- <T1, T2, R>(func: Function2<T1, T2, R>): Function2<T1, T2, R>;
966
- <T1, T2, R>(func: Function2<T1, T2, R>, arg1: T1): Function1< T2, R>;
967
- <T1, T2, R>(func: Function2<T1, T2, R>, plc1: __, arg2: T2): Function1<T1, R>;
968
- <T1, T2, R>(func: Function2<T1, T2, R>, arg1: T1, arg2: T2): Function0< R>;
969
- // arity 3
970
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>): Function3<T1, T2, T3, R>;
971
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1): Function2< T2, T3, R>;
972
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, plc1: __, arg2: T2): Function2<T1, T3, R>;
973
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1, arg2: T2): Function1< T3, R>;
974
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, plc1: __, plc2: __, arg3: T3): Function2<T1, T2, R>;
975
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1, plc2: __, arg3: T3): Function1< T2, R>;
976
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, plc1: __, arg2: T2, arg3: T3): Function1<T1, R>;
977
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1, arg2: T2, arg3: T3): Function0< R>;
978
- // arity 4
979
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>): Function4<T1, T2, T3, T4, R>;
980
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1): Function3< T2, T3, T4, R>;
981
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: __, arg2: T2): Function3<T1, T3, T4, R>;
982
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2): Function2< T3, T4, R>;
983
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: __, plc2: __, arg3: T3): Function3<T1, T2, T4, R>;
984
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: __, arg3: T3): Function2< T2, T4, R>;
985
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: __, arg2: T2, arg3: T3): Function2<T1, T4, R>;
986
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, arg3: T3): Function1< T4, R>;
987
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: __, plc2: __, plc3: __, arg4: T4): Function3<T1, T2, T3, R>;
988
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: __, plc3: __, arg4: T4): Function2< T2, T3, R>;
989
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: __, arg2: T2, plc3: __, arg4: T4): Function2<T1, T3, R>;
990
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, plc3: __, arg4: T4): Function1< T3, R>;
991
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: __, plc2: __, arg3: T3, arg4: T4): Function2<T1, T2, R>;
992
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: __, arg3: T3, arg4: T4): Function1< T2, R>;
993
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: __, arg2: T2, arg3: T3, arg4: T4): Function1<T1, R>;
994
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, arg3: T3, arg4: T4): Function0< R>;
995
- // catch-all
996
- (func: (...args: any[]) => any, ...args: any[]): (...args: any[]) => any;
997
-
633
+ <T1, T2, R>(func: Function2<T1, T2, R>, plc1: __, arg2: T2): Function1<T1, R>;
634
+ <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, plc1: __, arg2: T2): Function2<T1, T3, R>;
635
+ <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, plc1: __, plc2: __, arg3: T3): Function2<T1, T2, R>;
636
+ <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1, plc2: __, arg3: T3): Function1<T2, R>;
637
+ <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, plc1: __, arg2: T2, arg3: T3): Function1<T1, R>;
638
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: __, arg2: T2): Function3<T1, T3, T4, R>;
639
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: __, plc2: __, arg3: T3): Function3<T1, T2, T4, R>;
640
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: __, arg3: T3): Function2<T2, T4, R>;
641
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: __, arg2: T2, arg3: T3): Function2<T1, T4, R>;
642
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, arg3: T3): Function1<T4, R>;
643
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: __, plc2: __, plc3: __, arg4: T4): Function3<T1, T2, T3, R>;
644
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: __, plc3: __, arg4: T4): Function2<T2, T3, R>;
645
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: __, arg2: T2, plc3: __, arg4: T4): Function2<T1, T3, R>;
646
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, plc3: __, arg4: T4): Function1<T3, R>;
647
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: __, plc2: __, arg3: T3, arg4: T4): Function2<T1, T2, R>;
648
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: __, arg3: T3, arg4: T4): Function1<T2, R>;
649
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: __, arg2: T2, arg3: T3, arg4: T4): Function1<T1, R>;
650
+ <TS extends any[], R>(func: (...ts: TS) => R): (...ts: TS) => R;
651
+ <TS extends any[], T1, R>(func: (t1: T1, ...ts: TS) => R, arg1: T1): (...ts: TS) => R;
652
+ <TS extends any[], T1, T2, R>(func: (t1: T1, t2: T2, ...ts: TS) => R, t1: T1, t2: T2): (...ts: TS) => R;
653
+ <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;
654
+ <TS extends any[], T1, T2, T3, T4, R>(func: (t1: T1, t2: T2, t3: T3, t4: T4, ...ts: TS) => R, t1: T1, t2: T2, t3: T3, t4: T4): (...ts: TS) => R;
998
655
  placeholder: __;
999
656
  }
1000
-
1001
- interface ImplicitPartial {
1002
- // arity 0
1003
- <R>(this: LoDashImplicitWrapper<Function0<R>>): LoDashImplicitWrapper<Function0<R>>;
1004
- // arity 1
1005
- <T1, R>(this: LoDashImplicitWrapper<Function1<T1, R>>): LoDashImplicitWrapper<Function1<T1, R>>;
1006
- <T1, R>(this: LoDashImplicitWrapper<Function1<T1, R>>, arg1: T1): LoDashImplicitWrapper<Function0<R>>;
1007
- // arity 2
1008
- <T1, T2, R>(this: LoDashImplicitWrapper<Function2<T1, T2, R>>): LoDashImplicitWrapper<Function2<T1, T2, R>>;
1009
- <T1, T2, R>(this: LoDashImplicitWrapper<Function2<T1, T2, R>>, arg1: T1): LoDashImplicitWrapper<Function1< T2, R>>;
1010
- <T1, T2, R>(this: LoDashImplicitWrapper<Function2<T1, T2, R>>, plc1: __, arg2: T2): LoDashImplicitWrapper<Function1<T1, R>>;
1011
- <T1, T2, R>(this: LoDashImplicitWrapper<Function2<T1, T2, R>>, arg1: T1, arg2: T2): LoDashImplicitWrapper<Function0< R>>;
1012
- // arity 3
1013
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>): LoDashImplicitWrapper<Function3<T1, T2, T3, R>>;
1014
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1): LoDashImplicitWrapper<Function2< T2, T3, R>>;
1015
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, plc1: __, arg2: T2): LoDashImplicitWrapper<Function2<T1, T3, R>>;
1016
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, arg2: T2): LoDashImplicitWrapper<Function1< T3, R>>;
1017
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, plc1: __, plc2: __, arg3: T3): LoDashImplicitWrapper<Function2<T1, T2, R>>;
1018
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, plc2: __, arg3: T3): LoDashImplicitWrapper<Function1< T2, R>>;
1019
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, plc1: __, arg2: T2, arg3: T3): LoDashImplicitWrapper<Function1<T1, R>>;
1020
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, arg2: T2, arg3: T3): LoDashImplicitWrapper<Function0< R>>;
1021
- // arity 4
1022
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>): LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>;
1023
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1): LoDashImplicitWrapper<Function3< T2, T3, T4, R>>;
1024
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, arg2: T2): LoDashImplicitWrapper<Function3<T1, T3, T4, R>>;
1025
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2): LoDashImplicitWrapper<Function2< T3, T4, R>>;
1026
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, plc2: __, arg3: T3): LoDashImplicitWrapper<Function3<T1, T2, T4, R>>;
1027
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, arg3: T3): LoDashImplicitWrapper<Function2< T2, T4, R>>;
1028
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, arg2: T2, arg3: T3): LoDashImplicitWrapper<Function2<T1, T4, R>>;
1029
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, arg3: T3): LoDashImplicitWrapper<Function1< T4, R>>;
1030
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, plc2: __, plc3: __, arg4: T4): LoDashImplicitWrapper<Function3<T1, T2, T3, R>>;
1031
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, plc3: __, arg4: T4): LoDashImplicitWrapper<Function2< T2, T3, R>>;
1032
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, arg2: T2, plc3: __, arg4: T4): LoDashImplicitWrapper<Function2<T1, T3, R>>;
1033
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, plc3: __, arg4: T4): LoDashImplicitWrapper<Function1< T3, R>>;
1034
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, plc2: __, arg3: T3, arg4: T4): LoDashImplicitWrapper<Function2<T1, T2, R>>;
1035
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, arg3: T3, arg4: T4): LoDashImplicitWrapper<Function1< T2, R>>;
1036
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, arg2: T2, arg3: T3, arg4: T4): LoDashImplicitWrapper<Function1<T1, R>>;
1037
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, arg3: T3, arg4: T4): LoDashImplicitWrapper<Function0< R>>;
1038
- // catch-all
1039
- (...args: any[]): LoDashImplicitWrapper<(...args: any[]) => any>;
1040
- }
1041
-
1042
- interface ExplicitPartial {
1043
- // arity 0
1044
- <R>(this: LoDashExplicitWrapper<Function0<R>>): LoDashExplicitWrapper<Function0<R>>;
1045
- // arity 1
1046
- <T1, R>(this: LoDashExplicitWrapper<Function1<T1, R>>): LoDashExplicitWrapper<Function1<T1, R>>;
1047
- <T1, R>(this: LoDashExplicitWrapper<Function1<T1, R>>, arg1: T1): LoDashExplicitWrapper<Function0<R>>;
1048
- // arity 2
1049
- <T1, T2, R>(this: LoDashExplicitWrapper<Function2<T1, T2, R>>): LoDashExplicitWrapper<Function2<T1, T2, R>>;
1050
- <T1, T2, R>(this: LoDashExplicitWrapper<Function2<T1, T2, R>>, arg1: T1): LoDashExplicitWrapper<Function1< T2, R>>;
1051
- <T1, T2, R>(this: LoDashExplicitWrapper<Function2<T1, T2, R>>, plc1: __, arg2: T2): LoDashExplicitWrapper<Function1<T1, R>>;
1052
- <T1, T2, R>(this: LoDashExplicitWrapper<Function2<T1, T2, R>>, arg1: T1, arg2: T2): LoDashExplicitWrapper<Function0< R>>;
1053
- // arity 3
1054
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>): LoDashExplicitWrapper<Function3<T1, T2, T3, R>>;
1055
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1): LoDashExplicitWrapper<Function2< T2, T3, R>>;
1056
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, plc1: __, arg2: T2): LoDashExplicitWrapper<Function2<T1, T3, R>>;
1057
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, arg2: T2): LoDashExplicitWrapper<Function1< T3, R>>;
1058
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, plc1: __, plc2: __, arg3: T3): LoDashExplicitWrapper<Function2<T1, T2, R>>;
1059
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, plc2: __, arg3: T3): LoDashExplicitWrapper<Function1< T2, R>>;
1060
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, plc1: __, arg2: T2, arg3: T3): LoDashExplicitWrapper<Function1<T1, R>>;
1061
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, arg2: T2, arg3: T3): LoDashExplicitWrapper<Function0< R>>;
1062
- // arity 4
1063
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>): LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>;
1064
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1): LoDashExplicitWrapper<Function3< T2, T3, T4, R>>;
1065
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, arg2: T2): LoDashExplicitWrapper<Function3<T1, T3, T4, R>>;
1066
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2): LoDashExplicitWrapper<Function2< T3, T4, R>>;
1067
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, plc2: __, arg3: T3): LoDashExplicitWrapper<Function3<T1, T2, T4, R>>;
1068
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, arg3: T3): LoDashExplicitWrapper<Function2< T2, T4, R>>;
1069
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, arg2: T2, arg3: T3): LoDashExplicitWrapper<Function2<T1, T4, R>>;
1070
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, arg3: T3): LoDashExplicitWrapper<Function1< T4, R>>;
1071
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, plc2: __, plc3: __, arg4: T4): LoDashExplicitWrapper<Function3<T1, T2, T3, R>>;
1072
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, plc3: __, arg4: T4): LoDashExplicitWrapper<Function2< T2, T3, R>>;
1073
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, arg2: T2, plc3: __, arg4: T4): LoDashExplicitWrapper<Function2<T1, T3, R>>;
1074
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, plc3: __, arg4: T4): LoDashExplicitWrapper<Function1< T3, R>>;
1075
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, plc2: __, arg3: T3, arg4: T4): LoDashExplicitWrapper<Function2<T1, T2, R>>;
1076
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, arg3: T3, arg4: T4): LoDashExplicitWrapper<Function1< T2, R>>;
1077
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, arg2: T2, arg3: T3, arg4: T4): LoDashExplicitWrapper<Function1<T1, R>>;
1078
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, arg3: T3, arg4: T4): LoDashExplicitWrapper<Function0< R>>;
1079
- // catch-all
1080
- (...args: any[]): LoDashExplicitWrapper<(...args: any[]) => any>;
1081
- }
1082
-
1083
- // partialRight
1084
-
1085
- interface LoDashStatic {
1086
- /**
1087
- * This method is like _.partial except that partial arguments are appended to those provided
1088
- * to the new function.
1089
- * @param func The function to partially apply arguments to.
1090
- * @param args Arguments to be partially applied.
1091
- * @return The new partially applied function.
1092
- **/
1093
- partialRight: PartialRight;
1094
- }
1095
-
1096
- interface LoDashImplicitWrapper<TValue> {
657
+ interface Function<T extends (...args: any) => any> {
1097
658
  /**
1098
- * @see _.partialRight
659
+ * @see _.partial
1099
660
  */
1100
- partialRight: ImplicitPartialRight;
1101
- }
1102
-
1103
- interface LoDashExplicitWrapper<TValue> {
661
+ partial<T2>(plc1: __, arg2: T2): Function<
662
+ T extends Function2<infer T1, T2, infer R> ? Function1<T1, R> :
663
+ T extends Function3<infer T1, T2, infer T3, infer R> ? Function2<T1, T3, R> :
664
+ T extends Function4<infer T1, T2, infer T3, infer T4, infer R> ? Function3<T1, T3, T4, R> :
665
+ any
666
+ >;
1104
667
  /**
1105
- * @see _.partialRight
668
+ * @see _.partial
1106
669
  */
1107
- partialRight: ExplicitPartialRight;
1108
- }
1109
-
1110
- interface PartialRight {
1111
- // arity 0
1112
- <R>(func: Function0<R>): Function0<R>;
1113
- // arity 1
1114
- <T1, R>(func: Function1<T1, R>): Function1<T1, R>;
1115
- <T1, R>(func: Function1<T1, R>, arg1: T1): Function0<R>;
1116
- // arity 2
1117
- <T1, T2, R>(func: Function2<T1, T2, R>): Function2<T1, T2, R>;
1118
- <T1, T2, R>(func: Function2<T1, T2, R>, arg1: T1, plc2: __): Function1< T2, R>;
1119
- <T1, T2, R>(func: Function2<T1, T2, R>, arg2: T2): Function1<T1, R>;
1120
- <T1, T2, R>(func: Function2<T1, T2, R>, arg1: T1, arg2: T2): Function0< R>;
1121
- // arity 3
1122
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>): Function3<T1, T2, T3, R>;
1123
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1, plc2: __, plc3: __): Function2< T2, T3, R>;
1124
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg2: T2, plc3: __): Function2<T1, T3, R>;
1125
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1, arg2: T2, plc3: __): Function1< T3, R>;
1126
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg3: T3): Function2<T1, T2, R>;
1127
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1, plc2: __, arg3: T3): Function1< T2, R>;
1128
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg2: T2, arg3: T3): Function1<T1, R>;
1129
- <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1, arg2: T2, arg3: T3): Function0< R>;
1130
- // arity 4
1131
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>): Function4<T1, T2, T3, T4, R>;
1132
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: __, plc3: __, plc4: __): Function3< T2, T3, T4, R>;
1133
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg2: T2, plc3: __, plc4: __): Function3<T1, T3, T4, R>;
1134
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, plc3: __, plc4: __): Function2< T3, T4, R>;
1135
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg3: T3, plc4: __): Function3<T1, T2, T4, R>;
1136
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: __, arg3: T3, plc4: __): Function2< T2, T4, R>;
1137
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg2: T2, arg3: T3, plc4: __): Function2<T1, T4, R>;
1138
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, arg3: T3, plc4: __): Function1< T4, R>;
1139
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg4: T4): Function3<T1, T2, T3, R>;
1140
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: __, plc3: __, arg4: T4): Function2< T2, T3, R>;
1141
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg2: T2, plc3: __, arg4: T4): Function2<T1, T3, R>;
1142
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, plc3: __, arg4: T4): Function1< T3, R>;
1143
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg3: T3, arg4: T4): Function2<T1, T2, R>;
1144
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: __, arg3: T3, arg4: T4): Function1< T2, R>;
1145
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg2: T2, arg3: T3, arg4: T4): Function1<T1, R>;
1146
- <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, arg3: T3, arg4: T4): Function0< R>;
1147
- // catch-all
1148
- (func: (...args: any[]) => any, ...args: any[]): (...args: any[]) => any;
1149
-
1150
- placeholder: __;
1151
- }
1152
-
1153
- interface ImplicitPartialRight {
1154
- // arity 0
1155
- <R>(this: LoDashImplicitWrapper<Function0<R>>): LoDashImplicitWrapper<Function0<R>>;
1156
- // arity 1
1157
- <T1, R>(this: LoDashImplicitWrapper<Function1<T1, R>>): LoDashImplicitWrapper<Function1<T1, R>>;
1158
- <T1, R>(this: LoDashImplicitWrapper<Function1<T1, R>>, arg1: T1): LoDashImplicitWrapper<Function0<R>>;
1159
- // arity 2
1160
- <T1, T2, R>(this: LoDashImplicitWrapper<Function2<T1, T2, R>>): LoDashImplicitWrapper<Function2<T1, T2, R>>;
1161
- <T1, T2, R>(this: LoDashImplicitWrapper<Function2<T1, T2, R>>, arg1: T1, plc2: __): LoDashImplicitWrapper<Function1< T2, R>>;
1162
- <T1, T2, R>(this: LoDashImplicitWrapper<Function2<T1, T2, R>>, arg2: T2): LoDashImplicitWrapper<Function1<T1, R>>;
1163
- <T1, T2, R>(this: LoDashImplicitWrapper<Function2<T1, T2, R>>, arg1: T1, arg2: T2): LoDashImplicitWrapper<Function0< R>>;
1164
- // arity 3
1165
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>): LoDashImplicitWrapper<Function3<T1, T2, T3, R>>;
1166
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, plc2: __, plc3: __): LoDashImplicitWrapper<Function2< T2, T3, R>>;
1167
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, arg2: T2, plc3: __): LoDashImplicitWrapper<Function2<T1, T3, R>>;
1168
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, arg2: T2, plc3: __): LoDashImplicitWrapper<Function1< T3, R>>;
1169
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, arg3: T3): LoDashImplicitWrapper<Function2<T1, T2, R>>;
1170
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, plc2: __, arg3: T3): LoDashImplicitWrapper<Function1< T2, R>>;
1171
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, arg2: T2, arg3: T3): LoDashImplicitWrapper<Function1<T1, R>>;
1172
- <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, arg2: T2, arg3: T3): LoDashImplicitWrapper<Function0< R>>;
1173
- // arity 4
1174
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>): LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>;
1175
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, plc3: __, plc4: __): LoDashImplicitWrapper<Function3< T2, T3, T4, R>>;
1176
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg2: T2, plc3: __, plc4: __): LoDashImplicitWrapper<Function3<T1, T3, T4, R>>;
1177
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, plc3: __, plc4: __): LoDashImplicitWrapper<Function2< T3, T4, R>>;
1178
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg3: T3, plc4: __): LoDashImplicitWrapper<Function3<T1, T2, T4, R>>;
1179
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, arg3: T3, plc4: __): LoDashImplicitWrapper<Function2< T2, T4, R>>;
1180
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg2: T2, arg3: T3, plc4: __): LoDashImplicitWrapper<Function2<T1, T4, R>>;
1181
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, arg3: T3, plc4: __): LoDashImplicitWrapper<Function1< T4, R>>;
1182
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg4: T4): LoDashImplicitWrapper<Function3<T1, T2, T3, R>>;
1183
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, plc3: __, arg4: T4): LoDashImplicitWrapper<Function2< T2, T3, R>>;
1184
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg2: T2, plc3: __, arg4: T4): LoDashImplicitWrapper<Function2<T1, T3, R>>;
1185
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, plc3: __, arg4: T4): LoDashImplicitWrapper<Function1< T3, R>>;
1186
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg3: T3, arg4: T4): LoDashImplicitWrapper<Function2<T1, T2, R>>;
1187
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, arg3: T3, arg4: T4): LoDashImplicitWrapper<Function1< T2, R>>;
1188
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg2: T2, arg3: T3, arg4: T4): LoDashImplicitWrapper<Function1<T1, R>>;
1189
- <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, arg3: T3, arg4: T4): LoDashImplicitWrapper<Function0< R>>;
1190
- // catch-all
1191
- (...args: any[]): LoDashImplicitWrapper<(...args: any[]) => any>;
1192
- }
1193
-
1194
- interface ExplicitPartialRight {
1195
- // arity 0
1196
- <R>(this: LoDashExplicitWrapper<Function0<R>>): LoDashExplicitWrapper<Function0<R>>;
1197
- // arity 1
1198
- <T1, R>(this: LoDashExplicitWrapper<Function1<T1, R>>): LoDashExplicitWrapper<Function1<T1, R>>;
1199
- <T1, R>(this: LoDashExplicitWrapper<Function1<T1, R>>, arg1: T1): LoDashExplicitWrapper<Function0<R>>;
1200
- // arity 2
1201
- <T1, T2, R>(this: LoDashExplicitWrapper<Function2<T1, T2, R>>): LoDashExplicitWrapper<Function2<T1, T2, R>>;
1202
- <T1, T2, R>(this: LoDashExplicitWrapper<Function2<T1, T2, R>>, arg1: T1, plc2: __): LoDashExplicitWrapper<Function1< T2, R>>;
1203
- <T1, T2, R>(this: LoDashExplicitWrapper<Function2<T1, T2, R>>, arg2: T2): LoDashExplicitWrapper<Function1<T1, R>>;
1204
- <T1, T2, R>(this: LoDashExplicitWrapper<Function2<T1, T2, R>>, arg1: T1, arg2: T2): LoDashExplicitWrapper<Function0< R>>;
1205
- // arity 3
1206
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>): LoDashExplicitWrapper<Function3<T1, T2, T3, R>>;
1207
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, plc2: __, plc3: __): LoDashExplicitWrapper<Function2< T2, T3, R>>;
1208
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, arg2: T2, plc3: __): LoDashExplicitWrapper<Function2<T1, T3, R>>;
1209
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, arg2: T2, plc3: __): LoDashExplicitWrapper<Function1< T3, R>>;
1210
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, arg3: T3): LoDashExplicitWrapper<Function2<T1, T2, R>>;
1211
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, plc2: __, arg3: T3): LoDashExplicitWrapper<Function1< T2, R>>;
1212
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, arg2: T2, arg3: T3): LoDashExplicitWrapper<Function1<T1, R>>;
1213
- <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, arg2: T2, arg3: T3): LoDashExplicitWrapper<Function0< R>>;
1214
- // arity 4
1215
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>): LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>;
1216
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, plc3: __, plc4: __): LoDashExplicitWrapper<Function3< T2, T3, T4, R>>;
1217
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg2: T2, plc3: __, plc4: __): LoDashExplicitWrapper<Function3<T1, T3, T4, R>>;
1218
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, plc3: __, plc4: __): LoDashExplicitWrapper<Function2< T3, T4, R>>;
1219
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg3: T3, plc4: __): LoDashExplicitWrapper<Function3<T1, T2, T4, R>>;
1220
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, arg3: T3, plc4: __): LoDashExplicitWrapper<Function2< T2, T4, R>>;
1221
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg2: T2, arg3: T3, plc4: __): LoDashExplicitWrapper<Function2<T1, T4, R>>;
1222
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, arg3: T3, plc4: __): LoDashExplicitWrapper<Function1< T4, R>>;
1223
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg4: T4): LoDashExplicitWrapper<Function3<T1, T2, T3, R>>;
1224
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, plc3: __, arg4: T4): LoDashExplicitWrapper<Function2< T2, T3, R>>;
1225
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg2: T2, plc3: __, arg4: T4): LoDashExplicitWrapper<Function2<T1, T3, R>>;
1226
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, plc3: __, arg4: T4): LoDashExplicitWrapper<Function1< T3, R>>;
1227
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg3: T3, arg4: T4): LoDashExplicitWrapper<Function2<T1, T2, R>>;
1228
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, arg3: T3, arg4: T4): LoDashExplicitWrapper<Function1< T2, R>>;
1229
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg2: T2, arg3: T3, arg4: T4): LoDashExplicitWrapper<Function1<T1, R>>;
1230
- <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, arg3: T3, arg4: T4): LoDashExplicitWrapper<Function0< R>>;
1231
- // catch-all
1232
- (...args: any[]): LoDashExplicitWrapper<(...args: any[]) => any>;
1233
- }
1234
-
1235
- // rearg
1236
-
1237
- interface LoDashStatic {
670
+ partial<T3>(plc1: __, plc2: __, arg3: T3): Function<
671
+ T extends Function3<infer T1, infer T2, T3, infer R> ? Function2<T1, T2, R> :
672
+ T extends Function4<infer T1, infer T2, T3, infer T4, infer R> ? Function3<T1, T2, T4, R> :
673
+ any
674
+ >;
1238
675
  /**
1239
- * Creates a function that invokes func with arguments arranged according to the specified indexes where the
1240
- * argument value at the first index is provided as the first argument, the argument value at the second index
1241
- * is provided as the second argument, and so on.
1242
- * @param func The function to rearrange arguments for.
1243
- * @param indexes The arranged argument indexes, specified as individual indexes or arrays of indexes.
1244
- * @return Returns the new function.
676
+ * @see _.partial
677
+ */
678
+ partial<T1, T3>(arg1: T1, plc2: __, arg3: T3): Function<
679
+ T extends Function3<T1, infer T2, T3, infer R> ? Function1<T2, R> :
680
+ T extends Function4<T1, infer T2, T3, infer T4, infer R> ? Function2<T2, T4, R> :
681
+ any
682
+ >;
683
+ /**
684
+ * @see _.partial
685
+ */
686
+ partial<T2, T3>(plc1: __, arg2: T2, arg3: T3): Function<
687
+ T extends Function3<infer T1, T2, T3, infer R> ? Function1<T1, R> :
688
+ T extends Function4<infer T1, T2, T3, infer T4, infer R> ? Function2<T1, T4, R> :
689
+ any
690
+ >;
691
+ /**
692
+ * @see _.partial
693
+ */
694
+ partial<T3>(plc1: __, plc2: __, arg3: T3): Function<
695
+ T extends Function4<infer T1, infer T2, T3, infer T4, infer R> ? Function3<T1, T2, T4, R> :
696
+ any
697
+ >;
698
+ /**
699
+ * @see _.partial
700
+ */
701
+ partial<T1, T4>(arg1: T1, plc2: __, plc3: __, arg4: T4): Function<
702
+ T extends Function4<T1, infer T2, infer T3, T4, infer R> ? Function2<T2, T3, R> :
703
+ any
704
+ >;
705
+ /**
706
+ * @see _.partial
707
+ */
708
+ partial<T2, T4>(plc1: __, arg2: T2, plc3: __, arg4: T4): Function<
709
+ T extends Function4<infer T1, T2, infer T3, T4, infer R> ? Function2<T1, T3, R> :
710
+ any
711
+ >;
712
+ /**
713
+ * @see _.partial
714
+ */
715
+ partial<T1, T2, T4>(arg1: T1, arg2: T2, plc3: __, arg4: T4): Function<
716
+ T extends Function4<T1, T2, infer T3, T4, infer R> ? Function1<T3, R> :
717
+ any
718
+ >;
719
+ /**
720
+ * @see _.partial
721
+ */
722
+ partial<T3, T4>(plc1: __, plc2: __, arg3: T3, arg4: T4): Function<
723
+ T extends Function4<infer T1, infer T2, T3, T4, infer R> ? Function2<T1, T2, R> :
724
+ any
725
+ >;
726
+ /**
727
+ * @see _.partial
728
+ */
729
+ partial<T1, T3, T4>(arg1: T1, plc2: __, arg3: T3, arg4: T4): Function<
730
+ T extends Function4<T1, infer T2, T3, T4, infer R> ? Function1<T2, R> :
731
+ any
732
+ >;
733
+ /**
734
+ * @see _.partial
735
+ */
736
+ partial<T2, T3, T4>(plc1: __, arg2: T2, arg3: T3, arg4: T4): Function<
737
+ T extends Function4<infer T1, T2, T3, T4, infer R> ? Function1<T1, R> :
738
+ any
739
+ >;
740
+ /**
741
+ * @see _.partial
742
+ */
743
+ partial<T1, T2, T3, T4>(arg1: T1, arg2: T2, arg3: T3, arg4: T4): Function<
744
+ T extends (t1: T1, t2: T2, t3: T3, t4: T4, ...ts: infer TS) => infer R ? (...ts: TS) => R :
745
+ any
746
+ >;
747
+ /**
748
+ * @see _.partial
749
+ */
750
+ partial<T1, T2, T3>(arg1: T1, arg2: T2, arg3: T3): Function<
751
+ T extends (t1: T1, t2: T2, t3: T3, ...ts: infer TS) => infer R ? (...ts: TS) => R :
752
+ any
753
+ >;
754
+ /**
755
+ * @see _.partial
756
+ */
757
+ partial<T1, T2>(arg1: T1, arg2: T2): Function<
758
+ T extends (t1: T1, t2: T2, ...ts: infer TS) => infer R ? (...ts: TS) => R :
759
+ any
760
+ >;
761
+ /**
762
+ * @see _.partial
763
+ */
764
+ partial<T1>(arg1: T1): Function<
765
+ T extends (t1: T1, ...ts: infer TS) => infer R ? (...ts: TS) => R :
766
+ any
767
+ >;
768
+ /**
769
+ * @see _.partial
770
+ */
771
+ partial(): Function<T extends (...ts: any[]) => any ? T : any>;
772
+ }
773
+ interface FunctionChain<T extends (...args: any) => any> {
774
+ /**
775
+ * @see _.partial
776
+ */
777
+ partial<T2>(plc1: __, arg2: T2): FunctionChain<
778
+ T extends Function2<infer T1, T2, infer R> ? Function1<T1, R> :
779
+ T extends Function3<infer T1, T2, infer T3, infer R> ? Function2<T1, T3, R> :
780
+ T extends Function4<infer T1, T2, infer T3, infer T4, infer R> ? Function3<T1, T3, T4, R> :
781
+ any
782
+ >;
783
+ /**
784
+ * @see _.partial
785
+ */
786
+ partial<T3>(plc1: __, plc2: __, arg3: T3): FunctionChain<
787
+ T extends Function3<infer T1, infer T2, T3, infer R> ? Function2<T1, T2, R> :
788
+ T extends Function4<infer T1, infer T2, T3, infer T4, infer R> ? Function3<T1, T2, T4, R> :
789
+ any
790
+ >;
791
+ /**
792
+ * @see _.partial
793
+ */
794
+ partial<T1, T3>(arg1: T1, plc2: __, arg3: T3): FunctionChain<
795
+ T extends Function3<T1, infer T2, T3, infer R> ? Function1<T2, R> :
796
+ T extends Function4<T1, infer T2, T3, infer T4, infer R> ? Function2<T2, T4, R> :
797
+ any
798
+ >;
799
+ /**
800
+ * @see _.partial
801
+ */
802
+ partial<T2, T3>(plc1: __, arg2: T2, arg3: T3): FunctionChain<
803
+ T extends Function3<infer T1, T2, T3, infer R> ? Function1<T1, R> :
804
+ T extends Function4<infer T1, T2, T3, infer T4, infer R> ? Function2<T1, T4, R> :
805
+ any
806
+ >;
807
+ /**
808
+ * @see _.partial
809
+ */
810
+ partial<T3>(plc1: __, plc2: __, arg3: T3): FunctionChain<
811
+ T extends Function4<infer T1, infer T2, T3, infer T4, infer R> ? Function3<T1, T2, T4, R> :
812
+ any
813
+ >;
814
+ /**
815
+ * @see _.partial
816
+ */
817
+ partial<T1, T4>(arg1: T1, plc2: __, plc3: __, arg4: T4): FunctionChain<
818
+ T extends Function4<T1, infer T2, infer T3, T4, infer R> ? Function2<T2, T3, R> :
819
+ any
820
+ >;
821
+ /**
822
+ * @see _.partial
823
+ */
824
+ partial<T2, T4>(plc1: __, arg2: T2, plc3: __, arg4: T4): FunctionChain<
825
+ T extends Function4<infer T1, T2, infer T3, T4, infer R> ? Function2<T1, T3, R> :
826
+ any
827
+ >;
828
+ /**
829
+ * @see _.partial
830
+ */
831
+ partial<T1, T2, T4>(arg1: T1, arg2: T2, plc3: __, arg4: T4): FunctionChain<
832
+ T extends Function4<T1, T2, infer T3, T4, infer R> ? Function1<T3, R> :
833
+ any
834
+ >;
835
+ /**
836
+ * @see _.partial
837
+ */
838
+ partial<T3, T4>(plc1: __, plc2: __, arg3: T3, arg4: T4): FunctionChain<
839
+ T extends Function4<infer T1, infer T2, T3, T4, infer R> ? Function2<T1, T2, R> :
840
+ any
841
+ >;
842
+ /**
843
+ * @see _.partial
844
+ */
845
+ partial<T1, T3, T4>(arg1: T1, plc2: __, arg3: T3, arg4: T4): FunctionChain<
846
+ T extends Function4<T1, infer T2, T3, T4, infer R> ? Function1<T2, R> :
847
+ any
848
+ >;
849
+ /**
850
+ * @see _.partial
851
+ */
852
+ partial<T2, T3, T4>(plc1: __, arg2: T2, arg3: T3, arg4: T4): FunctionChain<
853
+ T extends Function4<infer T1, T2, T3, T4, infer R> ? Function1<T1, R> :
854
+ any
855
+ >;
856
+ /**
857
+ * @see _.partial
858
+ */
859
+ partial<T1, T2, T3, T4>(arg1: T1, arg2: T2, arg3: T3, arg4: T4): FunctionChain<
860
+ T extends (t1: T1, t2: T2, t3: T3, t4: T4, ...ts: infer TS) => infer R ? (...ts: TS) => R :
861
+ any
862
+ >;
863
+ /**
864
+ * @see _.partial
865
+ */
866
+ partial<T1, T2, T3>(arg1: T1, arg2: T2, arg3: T3): FunctionChain<
867
+ T extends (t1: T1, t2: T2, t3: T3, ...ts: infer TS) => infer R ? (...ts: TS) => R :
868
+ any
869
+ >;
870
+ /**
871
+ * @see _.partial
872
+ */
873
+ partial<T1, T2>(arg1: T1, arg2: T2): FunctionChain<
874
+ T extends (t1: T1, t2: T2, ...ts: infer TS) => infer R ? (...ts: TS) => R :
875
+ any
876
+ >;
877
+ /**
878
+ * @see _.partial
879
+ */
880
+ partial<T1>(arg1: T1): FunctionChain<
881
+ T extends (t1: T1, ...ts: infer TS) => infer R ? (...ts: TS) => R :
882
+ any
883
+ >;
884
+ /**
885
+ * @see _.partial
886
+ */
887
+ partial(): FunctionChain<T extends (...ts: any[]) => any ? T : any>;
888
+ }
889
+ interface LoDashStatic {
890
+ /**
891
+ * This method is like _.partial except that partial arguments are appended to those provided
892
+ * to the new function.
893
+ * @param func The function to partially apply arguments to.
894
+ * @param args Arguments to be partially applied.
895
+ * @return The new partially applied function.
896
+ */
897
+ partialRight: PartialRight;
898
+ }
899
+ interface PartialRight {
900
+ <R>(func: Function0<R>): Function0<R>;
901
+ <T1, R>(func: Function1<T1, R>): Function1<T1, R>;
902
+ <T1, R>(func: Function1<T1, R>, arg1: T1): Function0<R>;
903
+ <T1, T2, R>(func: Function2<T1, T2, R>): Function2<T1, T2, R>;
904
+ <T1, T2, R>(func: Function2<T1, T2, R>, arg1: T1, plc2: __): Function1<T2, R>;
905
+ <T1, T2, R>(func: Function2<T1, T2, R>, arg2: T2): Function1<T1, R>;
906
+ <T1, T2, R>(func: Function2<T1, T2, R>, arg1: T1, arg2: T2): Function0<R>;
907
+ <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>): Function3<T1, T2, T3, R>;
908
+ <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1, plc2: __, plc3: __): Function2<T2, T3, R>;
909
+ <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg2: T2, plc3: __): Function2<T1, T3, R>;
910
+ <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1, arg2: T2, plc3: __): Function1<T3, R>;
911
+ <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg3: T3): Function2<T1, T2, R>;
912
+ <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1, plc2: __, arg3: T3): Function1<T2, R>;
913
+ <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg2: T2, arg3: T3): Function1<T1, R>;
914
+ <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1, arg2: T2, arg3: T3): Function0<R>;
915
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>): Function4<T1, T2, T3, T4, R>;
916
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: __, plc3: __, plc4: __): Function3<T2, T3, T4, R>;
917
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg2: T2, plc3: __, plc4: __): Function3<T1, T3, T4, R>;
918
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, plc3: __, plc4: __): Function2<T3, T4, R>;
919
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg3: T3, plc4: __): Function3<T1, T2, T4, R>;
920
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: __, arg3: T3, plc4: __): Function2<T2, T4, R>;
921
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg2: T2, arg3: T3, plc4: __): Function2<T1, T4, R>;
922
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, arg3: T3, plc4: __): Function1<T4, R>;
923
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg4: T4): Function3<T1, T2, T3, R>;
924
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: __, plc3: __, arg4: T4): Function2<T2, T3, R>;
925
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg2: T2, plc3: __, arg4: T4): Function2<T1, T3, R>;
926
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, plc3: __, arg4: T4): Function1<T3, R>;
927
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg3: T3, arg4: T4): Function2<T1, T2, R>;
928
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: __, arg3: T3, arg4: T4): Function1<T2, R>;
929
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg2: T2, arg3: T3, arg4: T4): Function1<T1, R>;
930
+ <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, arg3: T3, arg4: T4): Function0<R>;
931
+ (func: (...args: any[]) => any, ...args: any[]): (...args: any[]) => any;
932
+ placeholder: __;
933
+ }
934
+ interface Function<T extends (...args: any) => any> {
935
+ /**
936
+ * @see _.partialRight
937
+ */
938
+ partialRight<T1>(arg1: T1, plc2: __): Function<
939
+ T extends Function2<T1, infer T2, infer R> ? Function1<T2, R> :
940
+ any
941
+ >;
942
+ /**
943
+ * @see _.partialRight
944
+ */
945
+ partialRight<T2>(arg2: T2): Function<
946
+ T extends Function2<infer T1, T2, infer R> ? Function1<T1, R> : any
947
+ >;
948
+ /**
949
+ * @see _.partialRight
950
+ */
951
+ partialRight<T1>(arg1: T1, plc2: __, plc3: __): Function<
952
+ T extends Function3<T1, infer T2, infer T3, infer R> ? Function2<T2, T3, R> :
953
+ any
954
+ >;
955
+ /**
956
+ * @see _.partialRight
957
+ */
958
+ partialRight<T2>(arg2: T2, plc3: __): Function<
959
+ T extends Function3<infer T1, T2, infer T3, infer R> ? Function2<T1, T3, R> :
960
+ any
961
+ >;
962
+ /**
963
+ * @see _.partialRight
964
+ */
965
+ partialRight<T1, T2>(arg1: T1, arg2: T2, plc3: __): Function<
966
+ T extends Function3<T1, T2, infer T3, infer R> ? Function1<T3, R> :
967
+ any
968
+ >;
969
+ /**
970
+ * @see _.partialRight
971
+ */
972
+ partialRight<T3>(arg3: T3): Function<
973
+ T extends Function3<infer T1, infer T2, T3, infer R> ? Function2<T1, T2, R> :
974
+ any
975
+ >;
976
+ /**
977
+ * @see _.partialRight
978
+ */
979
+ partialRight<T1, T3>(arg1: T1, plc2: __, arg3: T3): Function<
980
+ T extends Function3<T1, infer T2, T3, infer R> ? Function1<T2, R> :
981
+ any
982
+ >;
983
+ /**
984
+ * @see _.partialRight
985
+ */
986
+ partialRight<T2, T3>(arg2: T2, arg3: T3): Function<
987
+ T extends Function3<infer T1, T2, T3, infer R> ? Function1<T1, R> :
988
+ any
989
+ >;
990
+ /**
991
+ * @see _.partialRight
992
+ */
993
+ partialRight<T1>(arg1: T1, plc2: __, plc3: __, plc4: __): Function<
994
+ T extends Function4<T1, infer T2, infer T3, infer T4, infer R> ? Function3<T2, T3, T4, R> :
995
+ any
996
+ >;
997
+ /**
998
+ * @see _.partialRight
999
+ */
1000
+ partialRight<T2>(arg2: T2, plc3: __, plc4: __): Function<
1001
+ T extends Function4<infer T1, T2, infer T3, infer T4, infer R> ? Function3<T1, T3, T4, R> :
1002
+ any
1003
+ >;
1004
+ /**
1005
+ * @see _.partialRight
1006
+ */
1007
+ partialRight<T1, T2>(arg1: T1, arg2: T2, plc3: __, plc4: __): Function<
1008
+ T extends Function4<T1, T2, infer T3, infer T4, infer R> ? Function2<T3, T4, R> :
1009
+ any
1010
+ >;
1011
+ /**
1012
+ * @see _.partialRight
1013
+ */
1014
+ partialRight<T3>(arg3: T3, plc4: __): Function<
1015
+ T extends Function4<infer T1, infer T2, T3, infer T4, infer R> ? Function3<T1, T2, T4, R> :
1016
+ any
1017
+ >;
1018
+ /**
1019
+ * @see _.partialRight
1020
+ */
1021
+ partialRight<T1, T3>(arg1: T1, plc2: __, arg3: T3, plc4: __): Function<
1022
+ T extends Function4<T1, infer T2, infer T3, infer T4, infer R> ? Function2<T2, T4, R> :
1023
+ any
1024
+ >;
1025
+ /**
1026
+ * @see _.partialRight
1027
+ */
1028
+ partialRight<T2, T3>(arg2: T2, arg3: T3, plc4: __): Function<
1029
+ T extends Function4<infer T1, T2, T3, infer T4, infer R> ? Function2<T1, T4, R> :
1030
+ any
1031
+ >;
1032
+ /**
1033
+ * @see _.partialRight
1034
+ */
1035
+ partialRight<T1, T2, T3>(arg1: T1, arg2: T2, arg3: T3, plc4: __): Function<
1036
+ T extends Function4<T1, T2, T3, infer T4, infer R> ? Function1<T4, R> :
1037
+ any
1038
+ >;
1039
+ /**
1040
+ * @see _.partialRight
1041
+ */
1042
+ partialRight<T4>(arg4: T4): Function<
1043
+ T extends Function4<infer T1, infer T2, infer T3, T4, infer R> ? Function3<T1, T2, T3, R> :
1044
+ any
1045
+ >;
1046
+ /**
1047
+ * @see _.partialRight
1048
+ */
1049
+ partialRight<T1, T4>(arg1: T1, plc2: __, plc3: __, arg4: T4): Function<
1050
+ T extends Function4<T1, infer T2, infer T3, T4, infer R> ? Function2<T2, T3, R> :
1051
+ any
1052
+ >;
1053
+ /**
1054
+ * @see _.partialRight
1055
+ */
1056
+ partialRight<T2, T4>(arg2: T2, plc3: __, arg4: T4): Function<
1057
+ T extends Function4<infer T1, T2, infer T3, T4, infer R> ? Function2<T1, T3, R> :
1058
+ any
1059
+ >;
1060
+ /**
1061
+ * @see _.partialRight
1062
+ */
1063
+ partialRight<T1, T2, T4>(arg1: T1, arg2: T2, plc3: __, arg4: T4): Function<
1064
+ T extends Function4<T1, T2, infer T3, T4, infer R> ? Function1<T3, R> :
1065
+ any
1066
+ >;
1067
+ /**
1068
+ * @see _.partialRight
1069
+ */
1070
+ partialRight<T3, T4>(arg3: T3, arg4: T4): Function<
1071
+ T extends Function4<infer T1, infer T2, T3, T4, infer R> ? Function2<T1, T2, R> :
1072
+ any
1073
+ >;
1074
+ /**
1075
+ * @see _.partialRight
1076
+ */
1077
+ partialRight<T1, T3, T4>(arg1: T1, plc2: __, arg3: T3, arg4: T4): Function<
1078
+ T extends Function4<T1, infer T2, T3, T4, infer R> ? Function1<T2, R> :
1079
+ any
1080
+ >;
1081
+ /**
1082
+ * @see _.partialRight
1083
+ */
1084
+ partialRight<T2, T3, T4>(arg2: T2, arg3: T3, arg4: T4): Function<
1085
+ T extends Function4<infer T1, T2, T3, T4, infer R> ? Function1<T1, R> :
1086
+ any
1087
+ >;
1088
+ /**
1089
+ * @see _.partialRight
1090
+ */
1091
+ partialRight<TS extends any[]>(...ts: TS): Function<T extends (...args: TS) => infer R ? () => R : any>;
1092
+ /**
1093
+ * @see _.partialRight
1094
+ */
1095
+ partialRight(): Function<T extends (...ts: any[]) => any ? T : any>;
1096
+ }
1097
+ interface FunctionChain<T extends (...args: any) => any> {
1098
+ /**
1099
+ * @see _.partialRight
1100
+ */
1101
+ partialRight<T1>(arg1: T1, plc2: __): FunctionChain<
1102
+ T extends Function2<T1, infer T2, infer R> ? Function1<T2, R> :
1103
+ any
1104
+ >;
1105
+ /**
1106
+ * @see _.partialRight
1107
+ */
1108
+ partialRight<T2>(arg2: T2): FunctionChain<
1109
+ T extends Function2<infer T1, T2, infer R> ? Function1<T1, R> : any
1110
+ >;
1111
+ /**
1112
+ * @see _.partialRight
1113
+ */
1114
+ partialRight<T1>(arg1: T1, plc2: __, plc3: __): FunctionChain<
1115
+ T extends Function3<T1, infer T2, infer T3, infer R> ? Function2<T2, T3, R> :
1116
+ any
1117
+ >;
1118
+ /**
1119
+ * @see _.partialRight
1120
+ */
1121
+ partialRight<T2>(arg2: T2, plc3: __): FunctionChain<
1122
+ T extends Function3<infer T1, T2, infer T3, infer R> ? Function2<T1, T3, R> :
1123
+ any
1124
+ >;
1125
+ /**
1126
+ * @see _.partialRight
1127
+ */
1128
+ partialRight<T1, T2>(arg1: T1, arg2: T2, plc3: __): FunctionChain<
1129
+ T extends Function3<T1, T2, infer T3, infer R> ? Function1<T3, R> :
1130
+ any
1131
+ >;
1132
+ /**
1133
+ * @see _.partialRight
1134
+ */
1135
+ partialRight<T3>(arg3: T3): FunctionChain<
1136
+ T extends Function3<infer T1, infer T2, T3, infer R> ? Function2<T1, T2, R> :
1137
+ any
1138
+ >;
1139
+ /**
1140
+ * @see _.partialRight
1141
+ */
1142
+ partialRight<T1, T3>(arg1: T1, plc2: __, arg3: T3): FunctionChain<
1143
+ T extends Function3<T1, infer T2, T3, infer R> ? Function1<T2, R> :
1144
+ any
1145
+ >;
1146
+ /**
1147
+ * @see _.partialRight
1148
+ */
1149
+ partialRight<T2, T3>(arg2: T2, arg3: T3): FunctionChain<
1150
+ T extends Function3<infer T1, T2, T3, infer R> ? Function1<T1, R> :
1151
+ any
1152
+ >;
1153
+ /**
1154
+ * @see _.partialRight
1155
+ */
1156
+ partialRight<T1>(arg1: T1, plc2: __, plc3: __, plc4: __): FunctionChain<
1157
+ T extends Function4<T1, infer T2, infer T3, infer T4, infer R> ? Function3<T2, T3, T4, R> :
1158
+ any
1159
+ >;
1160
+ /**
1161
+ * @see _.partialRight
1162
+ */
1163
+ partialRight<T2>(arg2: T2, plc3: __, plc4: __): FunctionChain<
1164
+ T extends Function4<infer T1, T2, infer T3, infer T4, infer R> ? Function3<T1, T3, T4, R> :
1165
+ any
1166
+ >;
1167
+ /**
1168
+ * @see _.partialRight
1169
+ */
1170
+ partialRight<T1, T2>(arg1: T1, arg2: T2, plc3: __, plc4: __): FunctionChain<
1171
+ T extends Function4<T1, T2, infer T3, infer T4, infer R> ? Function2<T3, T4, R> :
1172
+ any
1173
+ >;
1174
+ /**
1175
+ * @see _.partialRight
1176
+ */
1177
+ partialRight<T3>(arg3: T3, plc4: __): FunctionChain<
1178
+ T extends Function4<infer T1, infer T2, T3, infer T4, infer R> ? Function3<T1, T2, T4, R> :
1179
+ any
1180
+ >;
1181
+ /**
1182
+ * @see _.partialRight
1183
+ */
1184
+ partialRight<T1, T3>(arg1: T1, plc2: __, arg3: T3, plc4: __): FunctionChain<
1185
+ T extends Function4<T1, infer T2, infer T3, infer T4, infer R> ? Function2<T2, T4, R> :
1186
+ any
1187
+ >;
1188
+ /**
1189
+ * @see _.partialRight
1190
+ */
1191
+ partialRight<T2, T3>(arg2: T2, arg3: T3, plc4: __): FunctionChain<
1192
+ T extends Function4<infer T1, T2, T3, infer T4, infer R> ? Function2<T1, T4, R> :
1193
+ any
1194
+ >;
1195
+ /**
1196
+ * @see _.partialRight
1197
+ */
1198
+ partialRight<T1, T2, T3>(arg1: T1, arg2: T2, arg3: T3, plc4: __): FunctionChain<
1199
+ T extends Function4<T1, T2, T3, infer T4, infer R> ? Function1<T4, R> :
1200
+ any
1201
+ >;
1202
+ /**
1203
+ * @see _.partialRight
1204
+ */
1205
+ partialRight<T4>(arg4: T4): FunctionChain<
1206
+ T extends Function4<infer T1, infer T2, infer T3, T4, infer R> ? Function3<T1, T2, T3, R> :
1207
+ any
1208
+ >;
1209
+ /**
1210
+ * @see _.partialRight
1211
+ */
1212
+ partialRight<T1, T4>(arg1: T1, plc2: __, plc3: __, arg4: T4): FunctionChain<
1213
+ T extends Function4<T1, infer T2, infer T3, T4, infer R> ? Function2<T2, T3, R> :
1214
+ any
1215
+ >;
1216
+ /**
1217
+ * @see _.partialRight
1218
+ */
1219
+ partialRight<T2, T4>(arg2: T2, plc3: __, arg4: T4): FunctionChain<
1220
+ T extends Function4<infer T1, T2, infer T3, T4, infer R> ? Function2<T1, T3, R> :
1221
+ any
1222
+ >;
1223
+ /**
1224
+ * @see _.partialRight
1225
+ */
1226
+ partialRight<T1, T2, T4>(arg1: T1, arg2: T2, plc3: __, arg4: T4): FunctionChain<
1227
+ T extends Function4<T1, T2, infer T3, T4, infer R> ? Function1<T3, R> :
1228
+ any
1229
+ >;
1230
+ /**
1231
+ * @see _.partialRight
1232
+ */
1233
+ partialRight<T3, T4>(arg3: T3, arg4: T4): FunctionChain<
1234
+ T extends Function4<infer T1, infer T2, T3, T4, infer R> ? Function2<T1, T2, R> :
1235
+ any
1236
+ >;
1237
+ /**
1238
+ * @see _.partialRight
1239
+ */
1240
+ partialRight<T1, T3, T4>(arg1: T1, plc2: __, arg3: T3, arg4: T4): FunctionChain<
1241
+ T extends Function4<T1, infer T2, T3, T4, infer R> ? Function1<T2, R> :
1242
+ any
1243
+ >;
1244
+ /**
1245
+ * @see _.partialRight
1246
+ */
1247
+ partialRight<T2, T3, T4>(arg2: T2, arg3: T3, arg4: T4): FunctionChain<
1248
+ T extends Function4<infer T1, T2, T3, T4, infer R> ? Function1<T1, R> :
1249
+ any
1250
+ >;
1251
+ /**
1252
+ * @see _.partialRight
1253
+ */
1254
+ partialRight<TS extends any[]>(...ts: TS): FunctionChain<T extends (...args: TS) => infer R ? () => R : any>;
1255
+ /**
1256
+ * @see _.partialRight
1257
+ */
1258
+ partialRight(): FunctionChain<T extends (...ts: any[]) => any ? T : any>;
1259
+ }
1260
+ interface LoDashStatic {
1261
+ /**
1262
+ * Creates a function that invokes func with arguments arranged according to the specified indexes where the
1263
+ * argument value at the first index is provided as the first argument, the argument value at the second index
1264
+ * is provided as the second argument, and so on.
1265
+ * @param func The function to rearrange arguments for.
1266
+ * @param indexes The arranged argument indexes, specified as individual indexes or arrays of indexes.
1267
+ * @return Returns the new function.
1245
1268
  */
1246
1269
  rearg(func: (...args: any[]) => any, ...indexes: Array<Many<number>>): (...args: any[]) => any;
1247
1270
  }
1248
-
1249
- interface LoDashImplicitWrapper<TValue> {
1271
+ interface Function<T extends (...args: any) => any> {
1250
1272
  /**
1251
1273
  * @see _.rearg
1252
1274
  */
1253
- rearg(...indexes: Array<Many<number>>): LoDashImplicitWrapper<(...args: any[]) => any>;
1275
+ rearg(...indexes: Array<Many<number>>): Function<(...args: any[]) => any>;
1254
1276
  }
1255
-
1256
- interface LoDashExplicitWrapper<TValue> {
1277
+ interface FunctionChain<T extends (...args: any) => any> {
1257
1278
  /**
1258
1279
  * @see _.rearg
1259
1280
  */
1260
- rearg(...indexes: Array<Many<number>>): LoDashExplicitWrapper<(...args: any[]) => any>;
1281
+ rearg(...indexes: Array<Many<number>>): FunctionChain<(...args: any[]) => any>;
1261
1282
  }
1262
-
1263
- // rest
1264
-
1265
1283
  interface LoDashStatic {
1266
1284
  /**
1267
1285
  * Creates a function that invokes func with the this binding of the created function and arguments from start
@@ -1273,28 +1291,20 @@ declare module "../index" {
1273
1291
  * @param start The start position of the rest parameter.
1274
1292
  * @return Returns the new function.
1275
1293
  */
1276
- rest(
1277
- func: (...args: any[]) => any,
1278
- start?: number
1279
- ): (...args: any[]) => any;
1294
+ rest(func: (...args: any[]) => any, start?: number): (...args: any[]) => any;
1280
1295
  }
1281
-
1282
- interface LoDashImplicitWrapper<TValue> {
1296
+ interface Function<T extends (...args: any) => any> {
1283
1297
  /**
1284
1298
  * @see _.rest
1285
1299
  */
1286
- rest(start?: number): LoDashImplicitWrapper<(...args: any[]) => any>;
1300
+ rest(start?: number): Function<(...args: any[]) => any>;
1287
1301
  }
1288
-
1289
- interface LoDashExplicitWrapper<TValue> {
1302
+ interface FunctionChain<T extends (...args: any) => any> {
1290
1303
  /**
1291
1304
  * @see _.rest
1292
1305
  */
1293
- rest(start?: number): LoDashExplicitWrapper<(...args: any[]) => any>;
1306
+ rest(start?: number): FunctionChain<(...args: any[]) => any>;
1294
1307
  }
1295
-
1296
- // spread
1297
-
1298
1308
  interface LoDashStatic {
1299
1309
  /**
1300
1310
  * Creates a function that invokes func with the this binding of the created function and an array of arguments
@@ -1305,52 +1315,30 @@ declare module "../index" {
1305
1315
  * @param func The function to spread arguments over.
1306
1316
  * @return Returns the new function.
1307
1317
  */
1308
- spread<TResult>(func: (...args: any[]) => TResult): (...args: any[]) => TResult;
1309
-
1310
- /**
1311
- * @see _.spread
1312
- */
1313
- spread<TResult>(func: (...args: any[]) => TResult, start: number): (...args: any[]) => TResult;
1318
+ spread<TResult>(func: (...args: any[]) => TResult, start?: number): (...args: any[]) => TResult;
1314
1319
  }
1315
-
1316
- interface LoDashImplicitWrapper<TValue> {
1320
+ interface Function<T extends (...args: any) => any> {
1317
1321
  /**
1318
1322
  * @see _.spread
1319
1323
  */
1320
- spread<TResult>(this: LoDashImplicitWrapper<(...args: any[]) => TResult>): LoDashImplicitWrapper<(...args: any[]) => TResult>;
1321
-
1322
- /**
1323
- * @see _.spread
1324
- */
1325
- spread<TResult>(this: LoDashImplicitWrapper<(...args: any[]) => TResult>, start: number): LoDashImplicitWrapper<(...args: any[]) => TResult>;
1324
+ spread(start?: number): Function<(...args: any[]) => ReturnType<T>>;
1326
1325
  }
1327
-
1328
- interface LoDashExplicitWrapper<TValue> {
1329
- /**
1330
- * @see _.spread
1331
- */
1332
- spread<TResult>(this: LoDashExplicitWrapper<(...args: any[]) => TResult>): LoDashExplicitWrapper<(...args: any[]) => TResult>;
1333
-
1326
+ interface FunctionChain<T extends (...args: any) => any> {
1334
1327
  /**
1335
1328
  * @see _.spread
1336
1329
  */
1337
- spread<TResult>(this: LoDashExplicitWrapper<(...args: any[]) => TResult>, start: number): LoDashExplicitWrapper<(...args: any[]) => TResult>;
1330
+ spread(start?: number): FunctionChain<(...args: any[]) => ReturnType<T>>;
1338
1331
  }
1339
-
1340
- // throttle
1341
-
1342
1332
  interface ThrottleSettings {
1343
1333
  /**
1344
- * If you'd like to disable the leading-edge call, pass this as false.
1334
+ * @see _.leading
1345
1335
  */
1346
1336
  leading?: boolean;
1347
-
1348
1337
  /**
1349
- * If you'd like to disable the execution on the trailing-edge, pass false.
1338
+ * @see _.trailing
1350
1339
  */
1351
1340
  trailing?: boolean;
1352
1341
  }
1353
-
1354
1342
  interface LoDashStatic {
1355
1343
  /**
1356
1344
  * Creates a throttled function that only invokes func at most once per every wait milliseconds. The throttled
@@ -1368,35 +1356,26 @@ declare module "../index" {
1368
1356
  * @param options.trailing Specify invoking on the trailing edge of the timeout.
1369
1357
  * @return Returns the new throttled function.
1370
1358
  */
1371
- throttle<T extends (...args: any[]) => any>(
1372
- func: T,
1373
- wait?: number,
1374
- options?: ThrottleSettings
1375
- ): T & Cancelable;
1359
+ throttle<T extends (...args: any) => any>(func: T, wait?: number, options?: ThrottleSettings): DebouncedFunc<T>;
1376
1360
  }
1377
-
1378
- interface LoDashImplicitWrapper<TValue> {
1361
+ interface Function<T extends (...args: any) => any> {
1379
1362
  /**
1380
1363
  * @see _.throttle
1381
1364
  */
1382
1365
  throttle(
1383
1366
  wait?: number,
1384
1367
  options?: ThrottleSettings
1385
- ): LoDashImplicitWrapper<TValue & Cancelable>;
1368
+ ): T extends (...args: any[]) => any ? Function<DebouncedFunc<T>> : never;
1386
1369
  }
1387
-
1388
- interface LoDashExplicitWrapper<TValue> {
1370
+ interface FunctionChain<T extends (...args: any) => any> {
1389
1371
  /**
1390
1372
  * @see _.throttle
1391
1373
  */
1392
1374
  throttle(
1393
1375
  wait?: number,
1394
1376
  options?: ThrottleSettings
1395
- ): LoDashExplicitWrapper<TValue & Cancelable>;
1377
+ ): T extends (...args: any[]) => any ? FunctionChain<DebouncedFunc<T>> : never;
1396
1378
  }
1397
-
1398
- // unary
1399
-
1400
1379
  interface LoDashStatic {
1401
1380
  /**
1402
1381
  * Creates a function that accepts up to one argument, ignoring any
@@ -1412,23 +1391,18 @@ declare module "../index" {
1412
1391
  */
1413
1392
  unary<T, TResult>(func: (arg1: T, ...args: any[]) => TResult): (arg1: T) => TResult;
1414
1393
  }
1415
-
1416
- interface LoDashImplicitWrapper<TValue> {
1394
+ interface Function<T extends (...args: any) => any> {
1417
1395
  /**
1418
1396
  * @see _.unary
1419
1397
  */
1420
- unary<T, TResult>(this: LoDashImplicitWrapper<(arg1: T, ...args: any[]) => TResult>): LoDashImplicitWrapper<(arg1: T) => TResult>;
1398
+ unary(): Function<(arg1: Parameters<T>['0']) => ReturnType<T>>;
1421
1399
  }
1422
-
1423
- interface LoDashExplicitWrapper<TValue> {
1400
+ interface FunctionChain<T extends (...args: any) => any> {
1424
1401
  /**
1425
1402
  * @see _.unary
1426
1403
  */
1427
- unary<T, TResult>(this: LoDashExplicitWrapper<(arg1: T, ...args: any[]) => TResult>): LoDashExplicitWrapper<(arg1: T) => TResult>;
1404
+ unary(): FunctionChain<(arg1: Parameters<T>['0']) => ReturnType<T>>;
1428
1405
  }
1429
-
1430
- // wrap
1431
-
1432
1406
  interface LoDashStatic {
1433
1407
  /**
1434
1408
  * Creates a function that provides value to the wrapper function as its first argument. Any additional
@@ -1439,52 +1413,18 @@ declare module "../index" {
1439
1413
  * @param wrapper The wrapper function.
1440
1414
  * @return Returns the new function.
1441
1415
  */
1442
- wrap<T, TArgs, TResult>(
1443
- value: T,
1444
- wrapper: (value: T, ...args: TArgs[]) => TResult
1445
- ): (...args: TArgs[]) => TResult;
1446
-
1447
- /**
1448
- * @see _.wrap
1449
- */
1450
- wrap<T, TResult>(
1451
- value: T,
1452
- wrapper: (value: T, ...args: any[]) => TResult
1453
- ): (...args: any[]) => TResult;
1416
+ wrap<T, TArgs, TResult>(value: T, wrapper: (value: T, ...args: TArgs[]) => TResult): (...args: TArgs[]) => TResult;
1454
1417
  }
1455
-
1456
1418
  interface LoDashImplicitWrapper<TValue> {
1457
1419
  /**
1458
1420
  * @see _.wrap
1459
1421
  */
1460
- wrap<TArgs, TResult>(
1461
- wrapper: (value: TValue, ...args: TArgs[]) => TResult
1462
- ): LoDashImplicitWrapper<(...args: TArgs[]) => TResult>;
1463
-
1464
- /**
1465
- * @see _.wrap
1466
- */
1467
- wrap<TResult>(
1468
- wrapper: (value: TValue, ...args: any[]) => TResult
1469
- ): LoDashImplicitWrapper<(...args: any[]) => TResult>;
1422
+ wrap<TArgs, TResult>(wrapper: (value: TValue, ...args: TArgs[]) => TResult): Function<(...args: TArgs[]) => TResult>;
1470
1423
  }
1471
-
1472
1424
  interface LoDashExplicitWrapper<TValue> {
1473
1425
  /**
1474
1426
  * @see _.wrap
1475
1427
  */
1476
- /**
1477
- * @see _.wrap
1478
- */
1479
- wrap<TArgs, TResult>(
1480
- wrapper: (value: TValue, ...args: TArgs[]) => TResult
1481
- ): LoDashExplicitWrapper<(...args: TArgs[]) => TResult>;
1482
-
1483
- /**
1484
- * @see _.wrap
1485
- */
1486
- wrap<TResult>(
1487
- wrapper: (value: TValue, ...args: any[]) => TResult
1488
- ): LoDashExplicitWrapper<(...args: any[]) => TResult>;
1428
+ wrap<TArgs, TResult>(wrapper: (value: TValue, ...args: TArgs[]) => TResult): FunctionChain<(...args: TArgs[]) => TResult>;
1489
1429
  }
1490
1430
  }