cypress 7.0.1 → 7.4.0

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