@types/lodash 4.14.156 → 4.14.160

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (718) hide show
  1. lodash/README.md +1 -1
  2. lodash/common/array.d.ts +517 -2103
  3. lodash/common/collection.d.ts +912 -1569
  4. lodash/common/common.d.ts +70 -64
  5. lodash/common/date.d.ts +2 -6
  6. lodash/common/function.d.ts +767 -864
  7. lodash/common/lang.d.ts +239 -480
  8. lodash/common/math.d.ts +64 -191
  9. lodash/common/number.d.ts +39 -86
  10. lodash/common/object.d.ts +672 -2274
  11. lodash/common/seq.d.ts +101 -87
  12. lodash/common/string.d.ts +81 -352
  13. lodash/common/util.d.ts +337 -639
  14. lodash/fp.d.ts +690 -747
  15. lodash/index.d.ts +0 -1
  16. lodash/multiply.d.ts +1 -1
  17. lodash/package.json +3 -10
  18. lodash/ts3.1/add.d.ts +0 -2
  19. lodash/ts3.1/after.d.ts +0 -2
  20. lodash/ts3.1/ary.d.ts +0 -2
  21. lodash/ts3.1/assign.d.ts +0 -2
  22. lodash/ts3.1/assignIn.d.ts +0 -2
  23. lodash/ts3.1/assignInWith.d.ts +0 -2
  24. lodash/ts3.1/assignWith.d.ts +0 -2
  25. lodash/ts3.1/at.d.ts +0 -2
  26. lodash/ts3.1/attempt.d.ts +0 -2
  27. lodash/ts3.1/before.d.ts +0 -2
  28. lodash/ts3.1/bind.d.ts +0 -2
  29. lodash/ts3.1/bindAll.d.ts +0 -2
  30. lodash/ts3.1/bindKey.d.ts +0 -2
  31. lodash/ts3.1/camelCase.d.ts +0 -2
  32. lodash/ts3.1/capitalize.d.ts +0 -2
  33. lodash/ts3.1/castArray.d.ts +0 -2
  34. lodash/ts3.1/ceil.d.ts +0 -2
  35. lodash/ts3.1/chain.d.ts +0 -2
  36. lodash/ts3.1/chunk.d.ts +0 -2
  37. lodash/ts3.1/clamp.d.ts +0 -2
  38. lodash/ts3.1/clone.d.ts +0 -2
  39. lodash/ts3.1/cloneDeep.d.ts +0 -2
  40. lodash/ts3.1/cloneDeepWith.d.ts +0 -2
  41. lodash/ts3.1/cloneWith.d.ts +0 -2
  42. lodash/ts3.1/common/array.d.ts +0 -2127
  43. lodash/ts3.1/common/collection.d.ts +0 -1930
  44. lodash/ts3.1/common/common.d.ts +0 -284
  45. lodash/ts3.1/common/date.d.ts +0 -23
  46. lodash/ts3.1/common/function.d.ts +0 -1392
  47. lodash/ts3.1/common/lang.d.ts +0 -1693
  48. lodash/ts3.1/common/math.d.ts +0 -405
  49. lodash/ts3.1/common/number.d.ts +0 -131
  50. lodash/ts3.1/common/object.d.ts +0 -2507
  51. lodash/ts3.1/common/seq.d.ts +0 -210
  52. lodash/ts3.1/common/string.d.ts +0 -788
  53. lodash/ts3.1/common/util.d.ts +0 -1219
  54. lodash/ts3.1/compact.d.ts +0 -2
  55. lodash/ts3.1/concat.d.ts +0 -2
  56. lodash/ts3.1/cond.d.ts +0 -2
  57. lodash/ts3.1/conformsTo.d.ts +0 -2
  58. lodash/ts3.1/constant.d.ts +0 -2
  59. lodash/ts3.1/countBy.d.ts +0 -2
  60. lodash/ts3.1/create.d.ts +0 -2
  61. lodash/ts3.1/curry.d.ts +0 -2
  62. lodash/ts3.1/curryRight.d.ts +0 -2
  63. lodash/ts3.1/debounce.d.ts +0 -2
  64. lodash/ts3.1/deburr.d.ts +0 -2
  65. lodash/ts3.1/defaultTo.d.ts +0 -2
  66. lodash/ts3.1/defaults.d.ts +0 -2
  67. lodash/ts3.1/defaultsDeep.d.ts +0 -2
  68. lodash/ts3.1/defer.d.ts +0 -2
  69. lodash/ts3.1/delay.d.ts +0 -2
  70. lodash/ts3.1/difference.d.ts +0 -2
  71. lodash/ts3.1/differenceBy.d.ts +0 -2
  72. lodash/ts3.1/differenceWith.d.ts +0 -2
  73. lodash/ts3.1/divide.d.ts +0 -2
  74. lodash/ts3.1/drop.d.ts +0 -2
  75. lodash/ts3.1/dropRight.d.ts +0 -2
  76. lodash/ts3.1/dropRightWhile.d.ts +0 -2
  77. lodash/ts3.1/dropWhile.d.ts +0 -2
  78. lodash/ts3.1/each.d.ts +0 -2
  79. lodash/ts3.1/eachRight.d.ts +0 -2
  80. lodash/ts3.1/endsWith.d.ts +0 -2
  81. lodash/ts3.1/entries.d.ts +0 -2
  82. lodash/ts3.1/entriesIn.d.ts +0 -2
  83. lodash/ts3.1/eq.d.ts +0 -2
  84. lodash/ts3.1/escape.d.ts +0 -2
  85. lodash/ts3.1/escapeRegExp.d.ts +0 -2
  86. lodash/ts3.1/every.d.ts +0 -2
  87. lodash/ts3.1/extend.d.ts +0 -2
  88. lodash/ts3.1/extendWith.d.ts +0 -2
  89. lodash/ts3.1/fill.d.ts +0 -2
  90. lodash/ts3.1/filter.d.ts +0 -2
  91. lodash/ts3.1/find.d.ts +0 -2
  92. lodash/ts3.1/findIndex.d.ts +0 -2
  93. lodash/ts3.1/findKey.d.ts +0 -2
  94. lodash/ts3.1/findLast.d.ts +0 -2
  95. lodash/ts3.1/findLastIndex.d.ts +0 -2
  96. lodash/ts3.1/findLastKey.d.ts +0 -2
  97. lodash/ts3.1/first.d.ts +0 -2
  98. lodash/ts3.1/flatMap.d.ts +0 -2
  99. lodash/ts3.1/flatMapDeep.d.ts +0 -2
  100. lodash/ts3.1/flatMapDepth.d.ts +0 -2
  101. lodash/ts3.1/flatten.d.ts +0 -2
  102. lodash/ts3.1/flattenDeep.d.ts +0 -2
  103. lodash/ts3.1/flattenDepth.d.ts +0 -2
  104. lodash/ts3.1/flip.d.ts +0 -2
  105. lodash/ts3.1/floor.d.ts +0 -2
  106. lodash/ts3.1/flow.d.ts +0 -2
  107. lodash/ts3.1/flowRight.d.ts +0 -2
  108. lodash/ts3.1/forEach.d.ts +0 -2
  109. lodash/ts3.1/forEachRight.d.ts +0 -2
  110. lodash/ts3.1/forIn.d.ts +0 -2
  111. lodash/ts3.1/forInRight.d.ts +0 -2
  112. lodash/ts3.1/forOwn.d.ts +0 -2
  113. lodash/ts3.1/forOwnRight.d.ts +0 -2
  114. lodash/ts3.1/fp/F.d.ts +0 -2
  115. lodash/ts3.1/fp/T.d.ts +0 -2
  116. lodash/ts3.1/fp/__.d.ts +0 -3
  117. lodash/ts3.1/fp/add.d.ts +0 -2
  118. lodash/ts3.1/fp/after.d.ts +0 -2
  119. lodash/ts3.1/fp/all.d.ts +0 -2
  120. lodash/ts3.1/fp/allPass.d.ts +0 -2
  121. lodash/ts3.1/fp/always.d.ts +0 -2
  122. lodash/ts3.1/fp/any.d.ts +0 -2
  123. lodash/ts3.1/fp/anyPass.d.ts +0 -2
  124. lodash/ts3.1/fp/apply.d.ts +0 -2
  125. lodash/ts3.1/fp/ary.d.ts +0 -2
  126. lodash/ts3.1/fp/assign.d.ts +0 -2
  127. lodash/ts3.1/fp/assignAll.d.ts +0 -2
  128. lodash/ts3.1/fp/assignAllWith.d.ts +0 -2
  129. lodash/ts3.1/fp/assignIn.d.ts +0 -2
  130. lodash/ts3.1/fp/assignInAll.d.ts +0 -2
  131. lodash/ts3.1/fp/assignInAllWith.d.ts +0 -2
  132. lodash/ts3.1/fp/assignInWith.d.ts +0 -2
  133. lodash/ts3.1/fp/assignWith.d.ts +0 -2
  134. lodash/ts3.1/fp/assoc.d.ts +0 -2
  135. lodash/ts3.1/fp/assocPath.d.ts +0 -2
  136. lodash/ts3.1/fp/at.d.ts +0 -2
  137. lodash/ts3.1/fp/attempt.d.ts +0 -2
  138. lodash/ts3.1/fp/before.d.ts +0 -2
  139. lodash/ts3.1/fp/bind.d.ts +0 -2
  140. lodash/ts3.1/fp/bindAll.d.ts +0 -2
  141. lodash/ts3.1/fp/bindKey.d.ts +0 -2
  142. lodash/ts3.1/fp/camelCase.d.ts +0 -2
  143. lodash/ts3.1/fp/capitalize.d.ts +0 -2
  144. lodash/ts3.1/fp/castArray.d.ts +0 -2
  145. lodash/ts3.1/fp/ceil.d.ts +0 -2
  146. lodash/ts3.1/fp/chunk.d.ts +0 -2
  147. lodash/ts3.1/fp/clamp.d.ts +0 -2
  148. lodash/ts3.1/fp/clone.d.ts +0 -2
  149. lodash/ts3.1/fp/cloneDeep.d.ts +0 -2
  150. lodash/ts3.1/fp/cloneDeepWith.d.ts +0 -2
  151. lodash/ts3.1/fp/cloneWith.d.ts +0 -2
  152. lodash/ts3.1/fp/compact.d.ts +0 -2
  153. lodash/ts3.1/fp/complement.d.ts +0 -2
  154. lodash/ts3.1/fp/compose.d.ts +0 -2
  155. lodash/ts3.1/fp/concat.d.ts +0 -2
  156. lodash/ts3.1/fp/cond.d.ts +0 -2
  157. lodash/ts3.1/fp/conforms.d.ts +0 -2
  158. lodash/ts3.1/fp/conformsTo.d.ts +0 -2
  159. lodash/ts3.1/fp/constant.d.ts +0 -2
  160. lodash/ts3.1/fp/contains.d.ts +0 -2
  161. lodash/ts3.1/fp/convert.d.ts +0 -15
  162. lodash/ts3.1/fp/countBy.d.ts +0 -2
  163. lodash/ts3.1/fp/create.d.ts +0 -2
  164. lodash/ts3.1/fp/curry.d.ts +0 -2
  165. lodash/ts3.1/fp/curryN.d.ts +0 -2
  166. lodash/ts3.1/fp/curryRight.d.ts +0 -2
  167. lodash/ts3.1/fp/curryRightN.d.ts +0 -2
  168. lodash/ts3.1/fp/debounce.d.ts +0 -2
  169. lodash/ts3.1/fp/deburr.d.ts +0 -2
  170. lodash/ts3.1/fp/defaultTo.d.ts +0 -2
  171. lodash/ts3.1/fp/defaults.d.ts +0 -2
  172. lodash/ts3.1/fp/defaultsAll.d.ts +0 -2
  173. lodash/ts3.1/fp/defaultsDeep.d.ts +0 -2
  174. lodash/ts3.1/fp/defaultsDeepAll.d.ts +0 -2
  175. lodash/ts3.1/fp/defer.d.ts +0 -2
  176. lodash/ts3.1/fp/delay.d.ts +0 -2
  177. lodash/ts3.1/fp/difference.d.ts +0 -2
  178. lodash/ts3.1/fp/differenceBy.d.ts +0 -2
  179. lodash/ts3.1/fp/differenceWith.d.ts +0 -2
  180. lodash/ts3.1/fp/dissoc.d.ts +0 -2
  181. lodash/ts3.1/fp/dissocPath.d.ts +0 -2
  182. lodash/ts3.1/fp/divide.d.ts +0 -2
  183. lodash/ts3.1/fp/drop.d.ts +0 -2
  184. lodash/ts3.1/fp/dropLast.d.ts +0 -2
  185. lodash/ts3.1/fp/dropLastWhile.d.ts +0 -2
  186. lodash/ts3.1/fp/dropRight.d.ts +0 -2
  187. lodash/ts3.1/fp/dropRightWhile.d.ts +0 -2
  188. lodash/ts3.1/fp/dropWhile.d.ts +0 -2
  189. lodash/ts3.1/fp/each.d.ts +0 -2
  190. lodash/ts3.1/fp/eachRight.d.ts +0 -2
  191. lodash/ts3.1/fp/endsWith.d.ts +0 -2
  192. lodash/ts3.1/fp/entries.d.ts +0 -2
  193. lodash/ts3.1/fp/entriesIn.d.ts +0 -2
  194. lodash/ts3.1/fp/eq.d.ts +0 -2
  195. lodash/ts3.1/fp/equals.d.ts +0 -2
  196. lodash/ts3.1/fp/escape.d.ts +0 -2
  197. lodash/ts3.1/fp/escapeRegExp.d.ts +0 -2
  198. lodash/ts3.1/fp/every.d.ts +0 -2
  199. lodash/ts3.1/fp/extend.d.ts +0 -2
  200. lodash/ts3.1/fp/extendAll.d.ts +0 -2
  201. lodash/ts3.1/fp/extendAllWith.d.ts +0 -2
  202. lodash/ts3.1/fp/extendWith.d.ts +0 -2
  203. lodash/ts3.1/fp/fill.d.ts +0 -2
  204. lodash/ts3.1/fp/filter.d.ts +0 -2
  205. lodash/ts3.1/fp/find.d.ts +0 -2
  206. lodash/ts3.1/fp/findFrom.d.ts +0 -2
  207. lodash/ts3.1/fp/findIndex.d.ts +0 -2
  208. lodash/ts3.1/fp/findIndexFrom.d.ts +0 -2
  209. lodash/ts3.1/fp/findKey.d.ts +0 -2
  210. lodash/ts3.1/fp/findLast.d.ts +0 -2
  211. lodash/ts3.1/fp/findLastFrom.d.ts +0 -2
  212. lodash/ts3.1/fp/findLastIndex.d.ts +0 -2
  213. lodash/ts3.1/fp/findLastIndexFrom.d.ts +0 -2
  214. lodash/ts3.1/fp/findLastKey.d.ts +0 -2
  215. lodash/ts3.1/fp/first.d.ts +0 -2
  216. lodash/ts3.1/fp/flatMap.d.ts +0 -2
  217. lodash/ts3.1/fp/flatMapDeep.d.ts +0 -2
  218. lodash/ts3.1/fp/flatMapDepth.d.ts +0 -2
  219. lodash/ts3.1/fp/flatten.d.ts +0 -2
  220. lodash/ts3.1/fp/flattenDeep.d.ts +0 -2
  221. lodash/ts3.1/fp/flattenDepth.d.ts +0 -2
  222. lodash/ts3.1/fp/flip.d.ts +0 -2
  223. lodash/ts3.1/fp/floor.d.ts +0 -2
  224. lodash/ts3.1/fp/flow.d.ts +0 -2
  225. lodash/ts3.1/fp/flowRight.d.ts +0 -2
  226. lodash/ts3.1/fp/forEach.d.ts +0 -2
  227. lodash/ts3.1/fp/forEachRight.d.ts +0 -2
  228. lodash/ts3.1/fp/forIn.d.ts +0 -2
  229. lodash/ts3.1/fp/forInRight.d.ts +0 -2
  230. lodash/ts3.1/fp/forOwn.d.ts +0 -2
  231. lodash/ts3.1/fp/forOwnRight.d.ts +0 -2
  232. lodash/ts3.1/fp/fromPairs.d.ts +0 -2
  233. lodash/ts3.1/fp/functions.d.ts +0 -2
  234. lodash/ts3.1/fp/functionsIn.d.ts +0 -2
  235. lodash/ts3.1/fp/get.d.ts +0 -2
  236. lodash/ts3.1/fp/getOr.d.ts +0 -2
  237. lodash/ts3.1/fp/groupBy.d.ts +0 -2
  238. lodash/ts3.1/fp/gt.d.ts +0 -2
  239. lodash/ts3.1/fp/gte.d.ts +0 -2
  240. lodash/ts3.1/fp/has.d.ts +0 -2
  241. lodash/ts3.1/fp/hasIn.d.ts +0 -2
  242. lodash/ts3.1/fp/head.d.ts +0 -2
  243. lodash/ts3.1/fp/identical.d.ts +0 -2
  244. lodash/ts3.1/fp/identity.d.ts +0 -2
  245. lodash/ts3.1/fp/inRange.d.ts +0 -2
  246. lodash/ts3.1/fp/includes.d.ts +0 -2
  247. lodash/ts3.1/fp/includesFrom.d.ts +0 -2
  248. lodash/ts3.1/fp/indexBy.d.ts +0 -2
  249. lodash/ts3.1/fp/indexOf.d.ts +0 -2
  250. lodash/ts3.1/fp/indexOfFrom.d.ts +0 -2
  251. lodash/ts3.1/fp/init.d.ts +0 -2
  252. lodash/ts3.1/fp/initial.d.ts +0 -2
  253. lodash/ts3.1/fp/intersection.d.ts +0 -2
  254. lodash/ts3.1/fp/intersectionBy.d.ts +0 -2
  255. lodash/ts3.1/fp/intersectionWith.d.ts +0 -2
  256. lodash/ts3.1/fp/invert.d.ts +0 -2
  257. lodash/ts3.1/fp/invertBy.d.ts +0 -2
  258. lodash/ts3.1/fp/invertObj.d.ts +0 -2
  259. lodash/ts3.1/fp/invoke.d.ts +0 -2
  260. lodash/ts3.1/fp/invokeArgs.d.ts +0 -2
  261. lodash/ts3.1/fp/invokeArgsMap.d.ts +0 -2
  262. lodash/ts3.1/fp/invokeMap.d.ts +0 -2
  263. lodash/ts3.1/fp/isArguments.d.ts +0 -2
  264. lodash/ts3.1/fp/isArray.d.ts +0 -2
  265. lodash/ts3.1/fp/isArrayBuffer.d.ts +0 -2
  266. lodash/ts3.1/fp/isArrayLike.d.ts +0 -2
  267. lodash/ts3.1/fp/isArrayLikeObject.d.ts +0 -2
  268. lodash/ts3.1/fp/isBoolean.d.ts +0 -2
  269. lodash/ts3.1/fp/isBuffer.d.ts +0 -2
  270. lodash/ts3.1/fp/isDate.d.ts +0 -2
  271. lodash/ts3.1/fp/isElement.d.ts +0 -2
  272. lodash/ts3.1/fp/isEmpty.d.ts +0 -2
  273. lodash/ts3.1/fp/isEqual.d.ts +0 -2
  274. lodash/ts3.1/fp/isEqualWith.d.ts +0 -2
  275. lodash/ts3.1/fp/isError.d.ts +0 -2
  276. lodash/ts3.1/fp/isFinite.d.ts +0 -2
  277. lodash/ts3.1/fp/isFunction.d.ts +0 -2
  278. lodash/ts3.1/fp/isInteger.d.ts +0 -2
  279. lodash/ts3.1/fp/isLength.d.ts +0 -2
  280. lodash/ts3.1/fp/isMap.d.ts +0 -2
  281. lodash/ts3.1/fp/isMatch.d.ts +0 -2
  282. lodash/ts3.1/fp/isMatchWith.d.ts +0 -2
  283. lodash/ts3.1/fp/isNaN.d.ts +0 -2
  284. lodash/ts3.1/fp/isNative.d.ts +0 -2
  285. lodash/ts3.1/fp/isNil.d.ts +0 -2
  286. lodash/ts3.1/fp/isNull.d.ts +0 -2
  287. lodash/ts3.1/fp/isNumber.d.ts +0 -2
  288. lodash/ts3.1/fp/isObject.d.ts +0 -2
  289. lodash/ts3.1/fp/isObjectLike.d.ts +0 -2
  290. lodash/ts3.1/fp/isPlainObject.d.ts +0 -2
  291. lodash/ts3.1/fp/isRegExp.d.ts +0 -2
  292. lodash/ts3.1/fp/isSafeInteger.d.ts +0 -2
  293. lodash/ts3.1/fp/isSet.d.ts +0 -2
  294. lodash/ts3.1/fp/isString.d.ts +0 -2
  295. lodash/ts3.1/fp/isSymbol.d.ts +0 -2
  296. lodash/ts3.1/fp/isTypedArray.d.ts +0 -2
  297. lodash/ts3.1/fp/isUndefined.d.ts +0 -2
  298. lodash/ts3.1/fp/isWeakMap.d.ts +0 -2
  299. lodash/ts3.1/fp/isWeakSet.d.ts +0 -2
  300. lodash/ts3.1/fp/iteratee.d.ts +0 -2
  301. lodash/ts3.1/fp/join.d.ts +0 -2
  302. lodash/ts3.1/fp/juxt.d.ts +0 -2
  303. lodash/ts3.1/fp/kebabCase.d.ts +0 -2
  304. lodash/ts3.1/fp/keyBy.d.ts +0 -2
  305. lodash/ts3.1/fp/keys.d.ts +0 -2
  306. lodash/ts3.1/fp/keysIn.d.ts +0 -2
  307. lodash/ts3.1/fp/last.d.ts +0 -2
  308. lodash/ts3.1/fp/lastIndexOf.d.ts +0 -2
  309. lodash/ts3.1/fp/lastIndexOfFrom.d.ts +0 -2
  310. lodash/ts3.1/fp/lowerCase.d.ts +0 -2
  311. lodash/ts3.1/fp/lowerFirst.d.ts +0 -2
  312. lodash/ts3.1/fp/lt.d.ts +0 -2
  313. lodash/ts3.1/fp/lte.d.ts +0 -2
  314. lodash/ts3.1/fp/map.d.ts +0 -2
  315. lodash/ts3.1/fp/mapKeys.d.ts +0 -2
  316. lodash/ts3.1/fp/mapValues.d.ts +0 -2
  317. lodash/ts3.1/fp/matches.d.ts +0 -2
  318. lodash/ts3.1/fp/matchesProperty.d.ts +0 -2
  319. lodash/ts3.1/fp/max.d.ts +0 -2
  320. lodash/ts3.1/fp/maxBy.d.ts +0 -2
  321. lodash/ts3.1/fp/mean.d.ts +0 -2
  322. lodash/ts3.1/fp/meanBy.d.ts +0 -2
  323. lodash/ts3.1/fp/memoize.d.ts +0 -2
  324. lodash/ts3.1/fp/merge.d.ts +0 -2
  325. lodash/ts3.1/fp/mergeAll.d.ts +0 -2
  326. lodash/ts3.1/fp/mergeAllWith.d.ts +0 -2
  327. lodash/ts3.1/fp/mergeWith.d.ts +0 -2
  328. lodash/ts3.1/fp/method.d.ts +0 -2
  329. lodash/ts3.1/fp/methodOf.d.ts +0 -2
  330. lodash/ts3.1/fp/min.d.ts +0 -2
  331. lodash/ts3.1/fp/minBy.d.ts +0 -2
  332. lodash/ts3.1/fp/multiply.d.ts +0 -2
  333. lodash/ts3.1/fp/nAry.d.ts +0 -2
  334. lodash/ts3.1/fp/negate.d.ts +0 -2
  335. lodash/ts3.1/fp/noConflict.d.ts +0 -2
  336. lodash/ts3.1/fp/noop.d.ts +0 -2
  337. lodash/ts3.1/fp/now.d.ts +0 -2
  338. lodash/ts3.1/fp/nth.d.ts +0 -2
  339. lodash/ts3.1/fp/nthArg.d.ts +0 -2
  340. lodash/ts3.1/fp/omit.d.ts +0 -2
  341. lodash/ts3.1/fp/omitAll.d.ts +0 -2
  342. lodash/ts3.1/fp/omitBy.d.ts +0 -2
  343. lodash/ts3.1/fp/once.d.ts +0 -2
  344. lodash/ts3.1/fp/orderBy.d.ts +0 -2
  345. lodash/ts3.1/fp/over.d.ts +0 -2
  346. lodash/ts3.1/fp/overArgs.d.ts +0 -2
  347. lodash/ts3.1/fp/overEvery.d.ts +0 -2
  348. lodash/ts3.1/fp/overSome.d.ts +0 -2
  349. lodash/ts3.1/fp/pad.d.ts +0 -2
  350. lodash/ts3.1/fp/padChars.d.ts +0 -2
  351. lodash/ts3.1/fp/padCharsEnd.d.ts +0 -2
  352. lodash/ts3.1/fp/padCharsStart.d.ts +0 -2
  353. lodash/ts3.1/fp/padEnd.d.ts +0 -2
  354. lodash/ts3.1/fp/padStart.d.ts +0 -2
  355. lodash/ts3.1/fp/parseInt.d.ts +0 -2
  356. lodash/ts3.1/fp/partial.d.ts +0 -2
  357. lodash/ts3.1/fp/partialRight.d.ts +0 -2
  358. lodash/ts3.1/fp/partition.d.ts +0 -2
  359. lodash/ts3.1/fp/path.d.ts +0 -2
  360. lodash/ts3.1/fp/pathEq.d.ts +0 -2
  361. lodash/ts3.1/fp/pathOr.d.ts +0 -2
  362. lodash/ts3.1/fp/paths.d.ts +0 -2
  363. lodash/ts3.1/fp/pick.d.ts +0 -2
  364. lodash/ts3.1/fp/pickAll.d.ts +0 -2
  365. lodash/ts3.1/fp/pickBy.d.ts +0 -2
  366. lodash/ts3.1/fp/pipe.d.ts +0 -2
  367. lodash/ts3.1/fp/placeholder.d.ts +0 -3
  368. lodash/ts3.1/fp/pluck.d.ts +0 -2
  369. lodash/ts3.1/fp/prop.d.ts +0 -2
  370. lodash/ts3.1/fp/propEq.d.ts +0 -2
  371. lodash/ts3.1/fp/propOr.d.ts +0 -2
  372. lodash/ts3.1/fp/property.d.ts +0 -2
  373. lodash/ts3.1/fp/propertyOf.d.ts +0 -2
  374. lodash/ts3.1/fp/props.d.ts +0 -2
  375. lodash/ts3.1/fp/pull.d.ts +0 -2
  376. lodash/ts3.1/fp/pullAll.d.ts +0 -2
  377. lodash/ts3.1/fp/pullAllBy.d.ts +0 -2
  378. lodash/ts3.1/fp/pullAllWith.d.ts +0 -2
  379. lodash/ts3.1/fp/pullAt.d.ts +0 -2
  380. lodash/ts3.1/fp/random.d.ts +0 -2
  381. lodash/ts3.1/fp/range.d.ts +0 -2
  382. lodash/ts3.1/fp/rangeRight.d.ts +0 -2
  383. lodash/ts3.1/fp/rangeStep.d.ts +0 -2
  384. lodash/ts3.1/fp/rangeStepRight.d.ts +0 -2
  385. lodash/ts3.1/fp/rearg.d.ts +0 -2
  386. lodash/ts3.1/fp/reduce.d.ts +0 -2
  387. lodash/ts3.1/fp/reduceRight.d.ts +0 -2
  388. lodash/ts3.1/fp/reject.d.ts +0 -2
  389. lodash/ts3.1/fp/remove.d.ts +0 -2
  390. lodash/ts3.1/fp/repeat.d.ts +0 -2
  391. lodash/ts3.1/fp/replace.d.ts +0 -2
  392. lodash/ts3.1/fp/rest.d.ts +0 -2
  393. lodash/ts3.1/fp/restFrom.d.ts +0 -2
  394. lodash/ts3.1/fp/result.d.ts +0 -2
  395. lodash/ts3.1/fp/reverse.d.ts +0 -2
  396. lodash/ts3.1/fp/round.d.ts +0 -2
  397. lodash/ts3.1/fp/runInContext.d.ts +0 -2
  398. lodash/ts3.1/fp/sample.d.ts +0 -2
  399. lodash/ts3.1/fp/sampleSize.d.ts +0 -2
  400. lodash/ts3.1/fp/set.d.ts +0 -2
  401. lodash/ts3.1/fp/setWith.d.ts +0 -2
  402. lodash/ts3.1/fp/shuffle.d.ts +0 -2
  403. lodash/ts3.1/fp/size.d.ts +0 -2
  404. lodash/ts3.1/fp/slice.d.ts +0 -2
  405. lodash/ts3.1/fp/snakeCase.d.ts +0 -2
  406. lodash/ts3.1/fp/some.d.ts +0 -2
  407. lodash/ts3.1/fp/sortBy.d.ts +0 -2
  408. lodash/ts3.1/fp/sortedIndex.d.ts +0 -2
  409. lodash/ts3.1/fp/sortedIndexBy.d.ts +0 -2
  410. lodash/ts3.1/fp/sortedIndexOf.d.ts +0 -2
  411. lodash/ts3.1/fp/sortedLastIndex.d.ts +0 -2
  412. lodash/ts3.1/fp/sortedLastIndexBy.d.ts +0 -2
  413. lodash/ts3.1/fp/sortedLastIndexOf.d.ts +0 -2
  414. lodash/ts3.1/fp/sortedUniq.d.ts +0 -2
  415. lodash/ts3.1/fp/sortedUniqBy.d.ts +0 -2
  416. lodash/ts3.1/fp/split.d.ts +0 -2
  417. lodash/ts3.1/fp/spread.d.ts +0 -2
  418. lodash/ts3.1/fp/spreadFrom.d.ts +0 -2
  419. lodash/ts3.1/fp/startCase.d.ts +0 -2
  420. lodash/ts3.1/fp/startsWith.d.ts +0 -2
  421. lodash/ts3.1/fp/stubArray.d.ts +0 -2
  422. lodash/ts3.1/fp/stubFalse.d.ts +0 -2
  423. lodash/ts3.1/fp/stubObject.d.ts +0 -2
  424. lodash/ts3.1/fp/stubString.d.ts +0 -2
  425. lodash/ts3.1/fp/stubTrue.d.ts +0 -2
  426. lodash/ts3.1/fp/subtract.d.ts +0 -2
  427. lodash/ts3.1/fp/sum.d.ts +0 -2
  428. lodash/ts3.1/fp/sumBy.d.ts +0 -2
  429. lodash/ts3.1/fp/symmetricDifference.d.ts +0 -2
  430. lodash/ts3.1/fp/symmetricDifferenceBy.d.ts +0 -2
  431. lodash/ts3.1/fp/symmetricDifferenceWith.d.ts +0 -2
  432. lodash/ts3.1/fp/tail.d.ts +0 -2
  433. lodash/ts3.1/fp/take.d.ts +0 -2
  434. lodash/ts3.1/fp/takeLast.d.ts +0 -2
  435. lodash/ts3.1/fp/takeLastWhile.d.ts +0 -2
  436. lodash/ts3.1/fp/takeRight.d.ts +0 -2
  437. lodash/ts3.1/fp/takeRightWhile.d.ts +0 -2
  438. lodash/ts3.1/fp/takeWhile.d.ts +0 -2
  439. lodash/ts3.1/fp/tap.d.ts +0 -2
  440. lodash/ts3.1/fp/template.d.ts +0 -2
  441. lodash/ts3.1/fp/throttle.d.ts +0 -2
  442. lodash/ts3.1/fp/thru.d.ts +0 -2
  443. lodash/ts3.1/fp/times.d.ts +0 -2
  444. lodash/ts3.1/fp/toArray.d.ts +0 -2
  445. lodash/ts3.1/fp/toFinite.d.ts +0 -2
  446. lodash/ts3.1/fp/toInteger.d.ts +0 -2
  447. lodash/ts3.1/fp/toLength.d.ts +0 -2
  448. lodash/ts3.1/fp/toLower.d.ts +0 -2
  449. lodash/ts3.1/fp/toNumber.d.ts +0 -2
  450. lodash/ts3.1/fp/toPairs.d.ts +0 -2
  451. lodash/ts3.1/fp/toPairsIn.d.ts +0 -2
  452. lodash/ts3.1/fp/toPath.d.ts +0 -2
  453. lodash/ts3.1/fp/toPlainObject.d.ts +0 -2
  454. lodash/ts3.1/fp/toSafeInteger.d.ts +0 -2
  455. lodash/ts3.1/fp/toString.d.ts +0 -2
  456. lodash/ts3.1/fp/toUpper.d.ts +0 -2
  457. lodash/ts3.1/fp/transform.d.ts +0 -2
  458. lodash/ts3.1/fp/trim.d.ts +0 -2
  459. lodash/ts3.1/fp/trimChars.d.ts +0 -2
  460. lodash/ts3.1/fp/trimCharsEnd.d.ts +0 -2
  461. lodash/ts3.1/fp/trimCharsStart.d.ts +0 -2
  462. lodash/ts3.1/fp/trimEnd.d.ts +0 -2
  463. lodash/ts3.1/fp/trimStart.d.ts +0 -2
  464. lodash/ts3.1/fp/truncate.d.ts +0 -2
  465. lodash/ts3.1/fp/unapply.d.ts +0 -2
  466. lodash/ts3.1/fp/unary.d.ts +0 -2
  467. lodash/ts3.1/fp/unescape.d.ts +0 -2
  468. lodash/ts3.1/fp/union.d.ts +0 -2
  469. lodash/ts3.1/fp/unionBy.d.ts +0 -2
  470. lodash/ts3.1/fp/unionWith.d.ts +0 -2
  471. lodash/ts3.1/fp/uniq.d.ts +0 -2
  472. lodash/ts3.1/fp/uniqBy.d.ts +0 -2
  473. lodash/ts3.1/fp/uniqWith.d.ts +0 -2
  474. lodash/ts3.1/fp/uniqueId.d.ts +0 -2
  475. lodash/ts3.1/fp/unnest.d.ts +0 -2
  476. lodash/ts3.1/fp/unset.d.ts +0 -2
  477. lodash/ts3.1/fp/unzip.d.ts +0 -2
  478. lodash/ts3.1/fp/unzipWith.d.ts +0 -2
  479. lodash/ts3.1/fp/update.d.ts +0 -2
  480. lodash/ts3.1/fp/updateWith.d.ts +0 -2
  481. lodash/ts3.1/fp/upperCase.d.ts +0 -2
  482. lodash/ts3.1/fp/upperFirst.d.ts +0 -2
  483. lodash/ts3.1/fp/useWith.d.ts +0 -2
  484. lodash/ts3.1/fp/values.d.ts +0 -2
  485. lodash/ts3.1/fp/valuesIn.d.ts +0 -2
  486. lodash/ts3.1/fp/where.d.ts +0 -2
  487. lodash/ts3.1/fp/whereEq.d.ts +0 -2
  488. lodash/ts3.1/fp/without.d.ts +0 -2
  489. lodash/ts3.1/fp/words.d.ts +0 -2
  490. lodash/ts3.1/fp/wrap.d.ts +0 -2
  491. lodash/ts3.1/fp/xor.d.ts +0 -2
  492. lodash/ts3.1/fp/xorBy.d.ts +0 -2
  493. lodash/ts3.1/fp/xorWith.d.ts +0 -2
  494. lodash/ts3.1/fp/zip.d.ts +0 -2
  495. lodash/ts3.1/fp/zipAll.d.ts +0 -2
  496. lodash/ts3.1/fp/zipObj.d.ts +0 -2
  497. lodash/ts3.1/fp/zipObject.d.ts +0 -2
  498. lodash/ts3.1/fp/zipObjectDeep.d.ts +0 -2
  499. lodash/ts3.1/fp/zipWith.d.ts +0 -2
  500. lodash/ts3.1/fp.d.ts +0 -4938
  501. lodash/ts3.1/fromPairs.d.ts +0 -2
  502. lodash/ts3.1/functions.d.ts +0 -2
  503. lodash/ts3.1/functionsIn.d.ts +0 -2
  504. lodash/ts3.1/get.d.ts +0 -2
  505. lodash/ts3.1/groupBy.d.ts +0 -2
  506. lodash/ts3.1/gt.d.ts +0 -2
  507. lodash/ts3.1/gte.d.ts +0 -2
  508. lodash/ts3.1/has.d.ts +0 -2
  509. lodash/ts3.1/hasIn.d.ts +0 -2
  510. lodash/ts3.1/head.d.ts +0 -2
  511. lodash/ts3.1/identity.d.ts +0 -2
  512. lodash/ts3.1/inRange.d.ts +0 -2
  513. lodash/ts3.1/includes.d.ts +0 -2
  514. lodash/ts3.1/index.d.ts +0 -33
  515. lodash/ts3.1/indexOf.d.ts +0 -2
  516. lodash/ts3.1/initial.d.ts +0 -2
  517. lodash/ts3.1/intersection.d.ts +0 -2
  518. lodash/ts3.1/intersectionBy.d.ts +0 -2
  519. lodash/ts3.1/intersectionWith.d.ts +0 -2
  520. lodash/ts3.1/invert.d.ts +0 -2
  521. lodash/ts3.1/invertBy.d.ts +0 -2
  522. lodash/ts3.1/invoke.d.ts +0 -2
  523. lodash/ts3.1/invokeMap.d.ts +0 -2
  524. lodash/ts3.1/isArguments.d.ts +0 -2
  525. lodash/ts3.1/isArray.d.ts +0 -2
  526. lodash/ts3.1/isArrayBuffer.d.ts +0 -2
  527. lodash/ts3.1/isArrayLike.d.ts +0 -2
  528. lodash/ts3.1/isArrayLikeObject.d.ts +0 -2
  529. lodash/ts3.1/isBoolean.d.ts +0 -2
  530. lodash/ts3.1/isBuffer.d.ts +0 -2
  531. lodash/ts3.1/isDate.d.ts +0 -2
  532. lodash/ts3.1/isElement.d.ts +0 -2
  533. lodash/ts3.1/isEmpty.d.ts +0 -2
  534. lodash/ts3.1/isEqual.d.ts +0 -2
  535. lodash/ts3.1/isEqualWith.d.ts +0 -2
  536. lodash/ts3.1/isError.d.ts +0 -2
  537. lodash/ts3.1/isFinite.d.ts +0 -2
  538. lodash/ts3.1/isFunction.d.ts +0 -2
  539. lodash/ts3.1/isInteger.d.ts +0 -2
  540. lodash/ts3.1/isLength.d.ts +0 -2
  541. lodash/ts3.1/isMap.d.ts +0 -2
  542. lodash/ts3.1/isMatch.d.ts +0 -2
  543. lodash/ts3.1/isMatchWith.d.ts +0 -2
  544. lodash/ts3.1/isNaN.d.ts +0 -2
  545. lodash/ts3.1/isNative.d.ts +0 -2
  546. lodash/ts3.1/isNil.d.ts +0 -2
  547. lodash/ts3.1/isNull.d.ts +0 -2
  548. lodash/ts3.1/isNumber.d.ts +0 -2
  549. lodash/ts3.1/isObject.d.ts +0 -2
  550. lodash/ts3.1/isObjectLike.d.ts +0 -2
  551. lodash/ts3.1/isPlainObject.d.ts +0 -2
  552. lodash/ts3.1/isRegExp.d.ts +0 -2
  553. lodash/ts3.1/isSafeInteger.d.ts +0 -2
  554. lodash/ts3.1/isSet.d.ts +0 -2
  555. lodash/ts3.1/isString.d.ts +0 -2
  556. lodash/ts3.1/isSymbol.d.ts +0 -2
  557. lodash/ts3.1/isTypedArray.d.ts +0 -2
  558. lodash/ts3.1/isUndefined.d.ts +0 -2
  559. lodash/ts3.1/isWeakMap.d.ts +0 -2
  560. lodash/ts3.1/isWeakSet.d.ts +0 -2
  561. lodash/ts3.1/iteratee.d.ts +0 -2
  562. lodash/ts3.1/join.d.ts +0 -2
  563. lodash/ts3.1/kebabCase.d.ts +0 -2
  564. lodash/ts3.1/keyBy.d.ts +0 -2
  565. lodash/ts3.1/keys.d.ts +0 -2
  566. lodash/ts3.1/keysIn.d.ts +0 -2
  567. lodash/ts3.1/last.d.ts +0 -2
  568. lodash/ts3.1/lastIndexOf.d.ts +0 -2
  569. lodash/ts3.1/lowerCase.d.ts +0 -2
  570. lodash/ts3.1/lowerFirst.d.ts +0 -2
  571. lodash/ts3.1/lt.d.ts +0 -2
  572. lodash/ts3.1/lte.d.ts +0 -2
  573. lodash/ts3.1/map.d.ts +0 -2
  574. lodash/ts3.1/mapKeys.d.ts +0 -2
  575. lodash/ts3.1/mapValues.d.ts +0 -2
  576. lodash/ts3.1/matches.d.ts +0 -2
  577. lodash/ts3.1/matchesProperty.d.ts +0 -2
  578. lodash/ts3.1/max.d.ts +0 -2
  579. lodash/ts3.1/maxBy.d.ts +0 -2
  580. lodash/ts3.1/mean.d.ts +0 -2
  581. lodash/ts3.1/meanBy.d.ts +0 -2
  582. lodash/ts3.1/memoize.d.ts +0 -2
  583. lodash/ts3.1/merge.d.ts +0 -2
  584. lodash/ts3.1/mergeWith.d.ts +0 -2
  585. lodash/ts3.1/method.d.ts +0 -2
  586. lodash/ts3.1/methodOf.d.ts +0 -2
  587. lodash/ts3.1/min.d.ts +0 -2
  588. lodash/ts3.1/minBy.d.ts +0 -2
  589. lodash/ts3.1/mixin.d.ts +0 -2
  590. lodash/ts3.1/multiply.d.ts +0 -2
  591. lodash/ts3.1/negate.d.ts +0 -2
  592. lodash/ts3.1/noConflict.d.ts +0 -2
  593. lodash/ts3.1/noop.d.ts +0 -2
  594. lodash/ts3.1/now.d.ts +0 -2
  595. lodash/ts3.1/nth.d.ts +0 -2
  596. lodash/ts3.1/nthArg.d.ts +0 -2
  597. lodash/ts3.1/omit.d.ts +0 -2
  598. lodash/ts3.1/omitBy.d.ts +0 -2
  599. lodash/ts3.1/once.d.ts +0 -2
  600. lodash/ts3.1/orderBy.d.ts +0 -2
  601. lodash/ts3.1/over.d.ts +0 -2
  602. lodash/ts3.1/overArgs.d.ts +0 -2
  603. lodash/ts3.1/overEvery.d.ts +0 -2
  604. lodash/ts3.1/overSome.d.ts +0 -2
  605. lodash/ts3.1/pad.d.ts +0 -2
  606. lodash/ts3.1/padEnd.d.ts +0 -2
  607. lodash/ts3.1/padStart.d.ts +0 -2
  608. lodash/ts3.1/parseInt.d.ts +0 -2
  609. lodash/ts3.1/partial.d.ts +0 -2
  610. lodash/ts3.1/partialRight.d.ts +0 -2
  611. lodash/ts3.1/partition.d.ts +0 -2
  612. lodash/ts3.1/pick.d.ts +0 -2
  613. lodash/ts3.1/pickBy.d.ts +0 -2
  614. lodash/ts3.1/property.d.ts +0 -2
  615. lodash/ts3.1/propertyOf.d.ts +0 -2
  616. lodash/ts3.1/pull.d.ts +0 -2
  617. lodash/ts3.1/pullAll.d.ts +0 -2
  618. lodash/ts3.1/pullAllBy.d.ts +0 -2
  619. lodash/ts3.1/pullAllWith.d.ts +0 -2
  620. lodash/ts3.1/pullAt.d.ts +0 -2
  621. lodash/ts3.1/random.d.ts +0 -2
  622. lodash/ts3.1/range.d.ts +0 -2
  623. lodash/ts3.1/rangeRight.d.ts +0 -2
  624. lodash/ts3.1/rearg.d.ts +0 -2
  625. lodash/ts3.1/reduce.d.ts +0 -2
  626. lodash/ts3.1/reduceRight.d.ts +0 -2
  627. lodash/ts3.1/reject.d.ts +0 -2
  628. lodash/ts3.1/remove.d.ts +0 -2
  629. lodash/ts3.1/repeat.d.ts +0 -2
  630. lodash/ts3.1/replace.d.ts +0 -2
  631. lodash/ts3.1/rest.d.ts +0 -2
  632. lodash/ts3.1/result.d.ts +0 -2
  633. lodash/ts3.1/reverse.d.ts +0 -2
  634. lodash/ts3.1/round.d.ts +0 -2
  635. lodash/ts3.1/runInContext.d.ts +0 -2
  636. lodash/ts3.1/sample.d.ts +0 -2
  637. lodash/ts3.1/sampleSize.d.ts +0 -2
  638. lodash/ts3.1/set.d.ts +0 -2
  639. lodash/ts3.1/setWith.d.ts +0 -2
  640. lodash/ts3.1/shuffle.d.ts +0 -2
  641. lodash/ts3.1/size.d.ts +0 -2
  642. lodash/ts3.1/slice.d.ts +0 -2
  643. lodash/ts3.1/snakeCase.d.ts +0 -2
  644. lodash/ts3.1/some.d.ts +0 -2
  645. lodash/ts3.1/sortBy.d.ts +0 -2
  646. lodash/ts3.1/sortedIndex.d.ts +0 -2
  647. lodash/ts3.1/sortedIndexBy.d.ts +0 -2
  648. lodash/ts3.1/sortedIndexOf.d.ts +0 -2
  649. lodash/ts3.1/sortedLastIndex.d.ts +0 -2
  650. lodash/ts3.1/sortedLastIndexBy.d.ts +0 -2
  651. lodash/ts3.1/sortedLastIndexOf.d.ts +0 -2
  652. lodash/ts3.1/sortedUniq.d.ts +0 -2
  653. lodash/ts3.1/sortedUniqBy.d.ts +0 -2
  654. lodash/ts3.1/split.d.ts +0 -2
  655. lodash/ts3.1/spread.d.ts +0 -2
  656. lodash/ts3.1/startCase.d.ts +0 -2
  657. lodash/ts3.1/startsWith.d.ts +0 -2
  658. lodash/ts3.1/stubFalse.d.ts +0 -2
  659. lodash/ts3.1/stubTrue.d.ts +0 -2
  660. lodash/ts3.1/subtract.d.ts +0 -2
  661. lodash/ts3.1/sum.d.ts +0 -2
  662. lodash/ts3.1/sumBy.d.ts +0 -2
  663. lodash/ts3.1/tail.d.ts +0 -2
  664. lodash/ts3.1/take.d.ts +0 -2
  665. lodash/ts3.1/takeRight.d.ts +0 -2
  666. lodash/ts3.1/takeRightWhile.d.ts +0 -2
  667. lodash/ts3.1/takeWhile.d.ts +0 -2
  668. lodash/ts3.1/tap.d.ts +0 -2
  669. lodash/ts3.1/template.d.ts +0 -2
  670. lodash/ts3.1/throttle.d.ts +0 -2
  671. lodash/ts3.1/thru.d.ts +0 -2
  672. lodash/ts3.1/times.d.ts +0 -2
  673. lodash/ts3.1/toArray.d.ts +0 -2
  674. lodash/ts3.1/toFinite.d.ts +0 -2
  675. lodash/ts3.1/toInteger.d.ts +0 -2
  676. lodash/ts3.1/toLength.d.ts +0 -2
  677. lodash/ts3.1/toLower.d.ts +0 -2
  678. lodash/ts3.1/toNumber.d.ts +0 -2
  679. lodash/ts3.1/toPairs.d.ts +0 -2
  680. lodash/ts3.1/toPairsIn.d.ts +0 -2
  681. lodash/ts3.1/toPath.d.ts +0 -2
  682. lodash/ts3.1/toPlainObject.d.ts +0 -2
  683. lodash/ts3.1/toSafeInteger.d.ts +0 -2
  684. lodash/ts3.1/toString.d.ts +0 -2
  685. lodash/ts3.1/toUpper.d.ts +0 -2
  686. lodash/ts3.1/transform.d.ts +0 -2
  687. lodash/ts3.1/trim.d.ts +0 -2
  688. lodash/ts3.1/trimEnd.d.ts +0 -2
  689. lodash/ts3.1/trimStart.d.ts +0 -2
  690. lodash/ts3.1/truncate.d.ts +0 -2
  691. lodash/ts3.1/unary.d.ts +0 -2
  692. lodash/ts3.1/unescape.d.ts +0 -2
  693. lodash/ts3.1/union.d.ts +0 -2
  694. lodash/ts3.1/unionBy.d.ts +0 -2
  695. lodash/ts3.1/unionWith.d.ts +0 -2
  696. lodash/ts3.1/uniq.d.ts +0 -2
  697. lodash/ts3.1/uniqBy.d.ts +0 -2
  698. lodash/ts3.1/uniqWith.d.ts +0 -2
  699. lodash/ts3.1/uniqueId.d.ts +0 -2
  700. lodash/ts3.1/unset.d.ts +0 -2
  701. lodash/ts3.1/unzip.d.ts +0 -2
  702. lodash/ts3.1/unzipWith.d.ts +0 -2
  703. lodash/ts3.1/update.d.ts +0 -2
  704. lodash/ts3.1/updateWith.d.ts +0 -2
  705. lodash/ts3.1/upperCase.d.ts +0 -2
  706. lodash/ts3.1/upperFirst.d.ts +0 -2
  707. lodash/ts3.1/values.d.ts +0 -2
  708. lodash/ts3.1/valuesIn.d.ts +0 -2
  709. lodash/ts3.1/without.d.ts +0 -2
  710. lodash/ts3.1/words.d.ts +0 -2
  711. lodash/ts3.1/wrap.d.ts +0 -2
  712. lodash/ts3.1/xor.d.ts +0 -2
  713. lodash/ts3.1/xorBy.d.ts +0 -2
  714. lodash/ts3.1/xorWith.d.ts +0 -2
  715. lodash/ts3.1/zip.d.ts +0 -2
  716. lodash/ts3.1/zipObject.d.ts +0 -2
  717. lodash/ts3.1/zipObjectDeep.d.ts +0 -2
  718. lodash/ts3.1/zipWith.d.ts +0 -2
lodash/common/object.d.ts CHANGED
@@ -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> {
258
+ /**
259
+ * @see _.assignInWith
260
+ */
261
+ assignInWith<TSource>(source: TSource, customizer: AssignCustomizer): Object<T & TSource>;
262
+ /**
263
+ * @see _.assignInWith
264
+ */
265
+ assignInWith<TSource1, TSource2>(source1: TSource1, source2: TSource2, customizer: AssignCustomizer): Object<T & TSource1 & TSource2>;
430
266
  /**
431
267
  * @see _.assignInWith
432
268
  */
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
-
269
+ assignInWith<TSource1, TSource2, TSource3>(source1: TSource1, source2: TSource2, source3: TSource3, customizer: AssignCustomizer): Object<T & TSource1 & TSource2 & TSource3>;
468
270
  /**
469
271
  * @see _.assignInWith
470
272
  */
471
- assignInWith(): LoDashImplicitWrapper<TValue>;
472
-
273
+ assignInWith<TSource1, TSource2, TSource3, TSource4>(source1: TSource1, source2: TSource2, source3: TSource3, source4: TSource4, customizer: AssignCustomizer): Object<T & TSource1 & TSource2 & TSource3 & TSource4>;
473
274
  /**
474
275
  * @see _.assignInWith
475
276
  */
476
- assignInWith<TResult>(...otherArgs: any[]): LoDashImplicitWrapper<TResult>;
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> {
480
284
  /**
481
285
  * @see _.assignInWith
482
286
  */
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
-
287
+ assignInWith<TSource>(source: TSource, customizer: AssignCustomizer): ObjectChain<T & TSource>;
518
288
  /**
519
289
  * @see _.assignInWith
520
290
  */
521
- assignInWith(): LoDashExplicitWrapper<TValue>;
522
-
291
+ assignInWith<TSource1, TSource2>(source1: TSource1, source2: TSource2, customizer: AssignCustomizer): ObjectChain<T & TSource1 & TSource2>;
523
292
  /**
524
293
  * @see _.assignInWith
525
294
  */
526
- assignInWith(...otherArgs: any[]): LoDashExplicitWrapper<any>;
295
+ assignInWith<TSource1, TSource2, TSource3>(source1: TSource1, source2: TSource2, source3: TSource3, customizer: AssignCustomizer): ObjectChain<T & TSource1 & TSource2 & TSource3>;
296
+ /**
297
+ * @see _.assignInWith
298
+ */
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> {
610
357
  /**
611
358
  * @see _.assignWith
612
359
  */
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
-
360
+ assignWith<TSource>(source: TSource, customizer: AssignCustomizer): Object<T & TSource>;
648
361
  /**
649
362
  * @see _.assignWith
650
363
  */
651
- assignWith(): LoDashImplicitWrapper<TValue>;
652
-
364
+ assignWith<TSource1, TSource2>(source1: TSource1, source2: TSource2, customizer: AssignCustomizer): Object<T & TSource1 & TSource2>;
653
365
  /**
654
366
  * @see _.assignWith
655
367
  */
656
- assignWith<TResult>(...otherArgs: any[]): LoDashImplicitWrapper<TResult>;
368
+ assignWith<TSource1, TSource2, TSource3>(source1: TSource1, source2: TSource2, source3: TSource3, customizer: AssignCustomizer): Object<T & TSource1 & TSource2 & TSource3>;
369
+ /**
370
+ * @see _.assignWith
371
+ */
372
+ assignWith<TSource1, TSource2, TSource3, TSource4>(source1: TSource1, source2: TSource2, source3: TSource3, source4: TSource4, customizer: AssignCustomizer): Object<T & TSource1 & TSource2 & TSource3 & TSource4>;
373
+ /**
374
+ * @see _.assignWith
375
+ */
376
+ assignWith(): Object<T>;
377
+ /**
378
+ * @see _.assignWith
379
+ */
380
+ assignWith<TResult>(...otherArgs: any[]): Object<TResult>;
657
381
  }
658
-
659
- interface LoDashExplicitWrapper<TValue> {
382
+ interface ObjectChain<T> {
383
+ /**
384
+ * @see _.assignWith
385
+ */
386
+ assignWith<TSource>(source: TSource, customizer: AssignCustomizer): ObjectChain<T & TSource>;
387
+ /**
388
+ * @see _.assignWith
389
+ */
390
+ assignWith<TSource1, TSource2>(source1: TSource1, source2: TSource2, customizer: AssignCustomizer): ObjectChain<T & TSource1 & TSource2>;
660
391
  /**
661
392
  * @see _.assignWith
662
393
  */
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
-
394
+ assignWith<TSource1, TSource2, TSource3>(source1: TSource1, source2: TSource2, source3: TSource3, customizer: AssignCustomizer): ObjectChain<T & TSource1 & TSource2 & TSource3>;
698
395
  /**
699
396
  * @see _.assignWith
700
397
  */
701
- assignWith(): LoDashExplicitWrapper<TValue>;
702
-
398
+ assignWith<TSource1, TSource2, TSource3, TSource4>(source1: TSource1, source2: TSource2, source3: TSource3, source4: TSource4, customizer: AssignCustomizer): ObjectChain<T & TSource1 & TSource2 & TSource3 & TSource4>;
703
399
  /**
704
400
  * @see _.assignWith
705
401
  */
706
- assignWith(...otherArgs: any[]): LoDashExplicitWrapper<any>;
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> {
863
+ /**
864
+ * @see _.forIn
865
+ */
866
+ forIn(iteratee?: ObjectIterator<TValue, any>): this;
867
+ }
868
+ interface LoDashExplicitWrapper<TValue> {
1466
869
  /**
1467
870
  * @see _.forIn
1468
871
  */
1469
- forIn<T>(
1470
- this: LoDashWrapper<T | null | undefined>,
1471
- iteratee?: ObjectIterator<T, any>
1472
- ): this;
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> {
1536
917
  /**
1537
918
  * @see _.forOwn
1538
919
  */
1539
- forOwn<T>(
1540
- this: LoDashWrapper<T | null | undefined>,
1541
- iteratee?: ObjectIterator<T, any>
1542
- ): this;
920
+ forOwn(iteratee?: ObjectIterator<TValue, any>): this;
921
+ }
922
+ interface LoDashExplicitWrapper<TValue> {
923
+ /**
924
+ * @see _.forOwn
925
+ */
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;
1567
941
  }
1568
-
1569
- interface LoDashWrapper<TValue> {
942
+ interface LoDashImplicitWrapper<TValue> {
1570
943
  /**
1571
944
  * @see _.forOwnRight
1572
945
  */
1573
- forOwnRight<T>(
1574
- this: LoDashWrapper<T | null | undefined>,
1575
- iteratee?: ObjectIterator<T, any>
1576
- ): this;
946
+ forOwnRight(iteratee?: ObjectIterator<TValue, any>): this;
947
+ }
948
+ interface LoDashExplicitWrapper<TValue> {
949
+ /**
950
+ * @see _.forOwnRight
951
+ */
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 {
2275
1379
  /**
2276
1380
  * @see _.invertBy
2277
1381
  */
2278
- invertBy<T extends object>(
2279
- this: LoDashExplicitWrapper<T | null | undefined>,
2280
- interatee?: ValueIteratee<T[keyof T]>
2281
- ): LoDashExplicitWrapper<Dictionary<string[]>>;
1382
+ invertBy(iteratee?: ValueIteratee<string>): ObjectChain<Dictionary<string[]>>;
1383
+ }
1384
+ interface StringNullableChain {
1385
+ /**
1386
+ * @see _.invertBy
1387
+ */
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 {
1619
+ /**
1620
+ * @see _.mapValues
1621
+ */
1622
+ mapValues<TResult>(callback: StringIterator<TResult>): ObjectChain<NumericDictionary<TResult>>;
1623
+ /**
1624
+ * @see _.mapValues
1625
+ */
1626
+ mapValues(): ObjectChain<NumericDictionary<string>>;
1627
+ }
1628
+ interface StringNullableChain {
2611
1629
  /**
2612
1630
  * @see _.mapValues
2613
1631
  */
2614
- mapValues<TResult>(
2615
- this: LoDashExplicitWrapper<string | null | undefined>,
2616
- callback: StringIterator<TResult>
2617
- ): LoDashExplicitWrapper<NumericDictionary<TResult>>;
2618
-
1632
+ mapValues<TResult>(callback: StringIterator<TResult>): ObjectChain<NumericDictionary<TResult>>;
2619
1633
  /**
2620
1634
  * @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
1635
  */
2624
- mapValues<T, TResult>(
2625
- this: LoDashExplicitWrapper<Dictionary<T> | NumericDictionary<T> | null | undefined>,
2626
- callback: DictionaryIterator<T, TResult>
2627
- ): LoDashExplicitWrapper<Dictionary<TResult>>;
2628
-
1636
+ mapValues(): ObjectChain<NumericDictionary<string>>;
1637
+ }
1638
+ interface CollectionChain<T> {
2629
1639
  /**
2630
1640
  * @see _.mapValues
2631
1641
  */
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
-
1642
+ mapValues<TResult>(callback: DictionaryIterator<T, TResult>): ObjectChain<Dictionary<TResult>>;
2637
1643
  /**
2638
1644
  * @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
1645
  */
2642
- mapValues<T>(
2643
- this: LoDashExplicitWrapper<Dictionary<T> | NumericDictionary<T> | null | undefined>,
2644
- iteratee: object
2645
- ): LoDashExplicitWrapper<Dictionary<boolean>>;
2646
-
1646
+ mapValues<TKey extends keyof T>(iteratee: TKey): ObjectChain<Dictionary<T[TKey]>>;
2647
1647
  /**
2648
1648
  * @see _.mapValues
2649
1649
  */
2650
- mapValues<T extends object>(
2651
- this: LoDashExplicitWrapper<T | null | undefined>,
2652
- iteratee: object
2653
- ): LoDashExplicitWrapper<{ [P in keyof T]: boolean }>;
2654
-
1650
+ mapValues(iteratee: object): ObjectChain<Dictionary<boolean>>;
2655
1651
  /**
2656
1652
  * @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
1653
  */
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
-
1654
+ mapValues(iteratee: string): ObjectChain<Dictionary<any>>;
1655
+ /**
1656
+ * @see _.mapValues
1657
+ */
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> {
3181
- /**
3182
- * @see _.omitBy
3183
- */
3184
- omitBy<T>(
3185
- this: LoDashImplicitWrapper<Dictionary<T> | null | undefined>,
3186
- predicate?: ValueKeyIteratee<T>
3187
- ): LoDashImplicitWrapper<Dictionary<T>>;
3188
-
1964
+ interface Collection<T> {
3189
1965
  /**
3190
1966
  * @see _.omitBy
3191
1967
  */
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> {
3357
- /**
3358
- * @see _.pickBy
3359
- */
3360
- pickBy<T, S extends T>(
3361
- this: LoDashImplicitWrapper<Dictionary<T> | null | undefined>,
3362
- predicate: ValueKeyIterateeTypeGuard<T, S>
3363
- ): LoDashImplicitWrapper<Dictionary<S>>;
3364
-
2064
+ interface Collection<T> {
3365
2065
  /**
3366
2066
  * @see _.pickBy
3367
2067
  */
3368
- pickBy<T, S extends T>(
3369
- this: LoDashImplicitWrapper<NumericDictionary<T> | null | undefined>,
3370
- predicate: ValueKeyIterateeTypeGuard<T, S>
3371
- ): LoDashImplicitWrapper<NumericDictionary<S>>;
3372
-
2068
+ pickBy<S extends T>(predicate: ValueKeyIterateeTypeGuard<T, S>): Object<Dictionary<S>>;
3373
2069
  /**
3374
2070
  * @see _.pickBy
3375
2071
  */
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> {
3399
- /**
3400
- * @see _.pickBy
3401
- */
3402
- pickBy<T, S extends T>(
3403
- this: LoDashExplicitWrapper<Dictionary<T> | null | undefined>,
3404
- predicate: ValueKeyIterateeTypeGuard<T, S>
3405
- ): LoDashExplicitWrapper<Dictionary<S>>;
3406
-
2084
+ interface CollectionChain<T> {
3407
2085
  /**
3408
2086
  * @see _.pickBy
3409
2087
  */
3410
- pickBy<T, S extends T>(
3411
- this: LoDashExplicitWrapper<NumericDictionary<T> | null | undefined>,
3412
- predicate: ValueKeyIterateeTypeGuard<T, S>
3413
- ): LoDashExplicitWrapper<NumericDictionary<S>>;
3414
-
2088
+ pickBy<S extends T>(predicate: ValueKeyIterateeTypeGuard<T, S>): ObjectChain<Dictionary<S>>;
3415
2089
  /**
3416
2090
  * @see _.pickBy
3417
2091
  */
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,60 @@ 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: 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, 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(object: any[]): any[];
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
-
3744
- /**
3745
- * @see _.transform
3746
- */
3747
- transform(
3748
- object: any[],
3749
- ): any[];
3750
-
3751
- /**
3752
- * @see _.transform
3753
- */
3754
- transform(
3755
- object: object,
3756
- ): Dictionary<any>;
2278
+ transform(object: object): Dictionary<any>;
3757
2279
  }
3758
-
3759
- interface LoDashImplicitWrapper<TValue> {
2280
+ interface Collection<T> {
3760
2281
  /**
3761
2282
  * @see _.transform
3762
2283
  */
3763
- transform<T, TResult>(
3764
- this: LoDashImplicitWrapper<T[]>,
3765
- iteratee: MemoVoidArrayIterator<T, TResult[]>,
3766
- accumulator?: TResult[]
3767
- ): LoDashImplicitWrapper<TResult[]>;
3768
-
2284
+ transform<TResult>(iteratee: MemoVoidArrayIterator<T, TResult>, accumulator?: TResult): ImpChain<TResult>;
3769
2285
  /**
3770
2286
  * @see _.transform
3771
2287
  */
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
-
3787
- /**
3788
- * @see _.transform
3789
- */
3790
- transform<T, TResult>(
3791
- this: LoDashImplicitWrapper<Dictionary<T>>,
3792
- iteratee: MemoVoidDictionaryIterator<T, TResult[]>,
3793
- accumulator: TResult[]
3794
- ): LoDashImplicitWrapper<TResult[]>;
3795
-
3796
- /**
3797
- * @see _.transform
3798
- */
3799
- transform(
3800
- this: LoDashImplicitWrapper<any[]>,
3801
- ): LoDashImplicitWrapper<any[]>;
3802
-
3803
- /**
3804
- * @see _.transform
3805
- */
3806
- transform(): LoDashImplicitWrapper<Dictionary<any>>;
2288
+ transform(): Collection<any>;
3807
2289
  }
3808
-
3809
- interface LoDashExplicitWrapper<TValue> {
2290
+ interface Object<T> {
3810
2291
  /**
3811
2292
  * @see _.transform
3812
2293
  */
3813
- transform<T, TResult>(
3814
- this: LoDashExplicitWrapper<T[]>,
3815
- iteratee: MemoVoidArrayIterator<T, TResult[]>,
3816
- accumulator?: TResult[]
3817
- ): LoDashExplicitWrapper<TResult[]>;
3818
-
2294
+ transform<TResult>(iteratee: MemoVoidDictionaryIterator<T[keyof T], TResult>, accumulator?: TResult): ImpChain<TResult>;
3819
2295
  /**
3820
2296
  * @see _.transform
3821
2297
  */
3822
- transform<T, TResult>(
3823
- this: LoDashExplicitWrapper<T[]>,
3824
- iteratee: MemoVoidArrayIterator<T, Dictionary<TResult>>,
3825
- accumulator?: Dictionary<TResult>
3826
- ): LoDashExplicitWrapper<Dictionary<TResult>>;
3827
-
2298
+ transform(): ImpChain<T extends Dictionary<unknown> ? Dictionary<any> : T>;
2299
+ }
2300
+ interface CollectionChain<T> {
3828
2301
  /**
3829
2302
  * @see _.transform
3830
2303
  */
3831
- transform<T, TResult>(
3832
- this: LoDashExplicitWrapper<Dictionary<T>>,
3833
- iteratee: MemoVoidDictionaryIterator<T, Dictionary<TResult>>,
3834
- accumulator?: Dictionary<TResult>
3835
- ): LoDashExplicitWrapper<Dictionary<TResult>>;
3836
-
2304
+ transform<TResult>(iteratee: MemoVoidArrayIterator<T, TResult>, accumulator?: TResult): ExpChain<TResult>;
3837
2305
  /**
3838
2306
  * @see _.transform
3839
2307
  */
3840
- transform<T, TResult>(
3841
- this: LoDashExplicitWrapper<Dictionary<T>>,
3842
- iteratee: MemoVoidDictionaryIterator<T, TResult[]>,
3843
- accumulator?: TResult[]
3844
- ): LoDashExplicitWrapper<TResult[]>;
3845
-
2308
+ transform(): CollectionChain<any>;
2309
+ }
2310
+ interface ObjectChain<T> {
3846
2311
  /**
3847
2312
  * @see _.transform
3848
2313
  */
3849
- transform(
3850
- this: LoDashExplicitWrapper<any[]>,
3851
- ): LoDashExplicitWrapper<any[]>;
3852
-
2314
+ transform<TResult>(iteratee: MemoVoidDictionaryIterator<T[keyof T], TResult>, accumulator?: TResult): ExpChain<TResult>;
3853
2315
  /**
3854
2316
  * @see _.transform
3855
2317
  */
3856
- transform(): LoDashExplicitWrapper<Dictionary<any>>;
2318
+ transform(): ExpChain<T extends Dictionary<unknown> ? Dictionary<any> : T>;
3857
2319
  }
3858
-
3859
- // unset
3860
-
3861
2320
  interface LoDashStatic {
3862
2321
  /**
3863
2322
  * Removes the property at path of object.
@@ -3868,28 +2327,20 @@ declare module "../index" {
3868
2327
  * @param path The path of the property to unset.
3869
2328
  * @return Returns true if the property is deleted, else false.
3870
2329
  */
3871
- unset(
3872
- object: any,
3873
- path: PropertyPath
3874
- ): boolean;
2330
+ unset(object: any, path: PropertyPath): boolean;
3875
2331
  }
3876
-
3877
2332
  interface LoDashImplicitWrapper<TValue> {
3878
2333
  /**
3879
2334
  * @see _.unset
3880
2335
  */
3881
- unset(path: PropertyPath): LoDashImplicitWrapper<boolean>;
2336
+ unset(path: PropertyPath): Primitive<boolean>;
3882
2337
  }
3883
-
3884
2338
  interface LoDashExplicitWrapper<TValue> {
3885
2339
  /**
3886
2340
  * @see _.unset
3887
2341
  */
3888
- unset(path: PropertyPath): LoDashExplicitWrapper<boolean>;
2342
+ unset(path: PropertyPath): PrimitiveChain<boolean>;
3889
2343
  }
3890
-
3891
- // update
3892
-
3893
2344
  interface LoDashStatic {
3894
2345
  /**
3895
2346
  * This method is like _.set except that accepts updater to produce the value to set. Use _.updateWith to
@@ -3900,35 +2351,20 @@ declare module "../index" {
3900
2351
  * @param updater The function to produce the updated value.
3901
2352
  * @return Returns object.
3902
2353
  */
3903
- update(
3904
- object: object,
3905
- path: PropertyPath,
3906
- updater: (value: any) => any
3907
- ): any;
2354
+ update(object: object, path: PropertyPath, updater: (value: any) => any): any;
3908
2355
  }
3909
-
3910
2356
  interface LoDashImplicitWrapper<TValue> {
3911
2357
  /**
3912
2358
  * @see _.update
3913
2359
  */
3914
- update(
3915
- path: PropertyPath,
3916
- updater: (value: any) => any
3917
- ): LoDashImplicitWrapper<any>;
2360
+ update(path: PropertyPath, updater: (value: any) => any): Object<any>;
3918
2361
  }
3919
-
3920
2362
  interface LoDashExplicitWrapper<TValue> {
3921
2363
  /**
3922
2364
  * @see _.update
3923
2365
  */
3924
- update(
3925
- path: PropertyPath,
3926
- updater: (value: any) => any
3927
- ): LoDashExplicitWrapper<any>;
2366
+ update(path: PropertyPath, updater: (value: any) => any): ObjectChain<any>;
3928
2367
  }
3929
-
3930
- // updateWith
3931
-
3932
2368
  interface LoDashStatic {
3933
2369
  /**
3934
2370
  * This method is like `_.update` except that it accepts `customizer` which is
@@ -3952,66 +2388,32 @@ declare module "../index" {
3952
2388
  * _.updateWith(object, '[0][1]', _.constant('a'), Object);
3953
2389
  * // => { '0': { '1': 'a' } }
3954
2390
  */
3955
- updateWith<T extends object>(
3956
- object: T,
3957
- path: PropertyPath,
3958
- updater: (oldValue: any) => any,
3959
- customizer?: SetWithCustomizer<T>
3960
- ): T;
3961
-
2391
+ updateWith<T extends object>(object: T, path: PropertyPath, updater: (oldValue: any) => any, customizer?: SetWithCustomizer<T>): T;
3962
2392
  /**
3963
2393
  * @see _.updateWith
3964
2394
  */
3965
- updateWith<T extends object, TResult>(
3966
- object: T,
3967
- path: PropertyPath,
3968
- updater: (oldValue: any) => any,
3969
- customizer?: SetWithCustomizer<T>
3970
- ): TResult;
2395
+ updateWith<T extends object, TResult>(object: T, path: PropertyPath, updater: (oldValue: any) => any, customizer?: SetWithCustomizer<T>): TResult;
3971
2396
  }
3972
-
3973
- interface LoDashImplicitWrapper<TValue> {
2397
+ interface Object<T> {
3974
2398
  /**
3975
2399
  * @see _.updateWith
3976
2400
  */
3977
- updateWith(
3978
- path: PropertyPath,
3979
- updater: (oldValue: any) => any,
3980
- customizer?: SetWithCustomizer<TValue>
3981
- ): this;
3982
-
2401
+ updateWith(path: PropertyPath, updater: (oldValue: any) => any, customizer?: SetWithCustomizer<T>): this;
3983
2402
  /**
3984
2403
  * @see _.updateWith
3985
2404
  */
3986
- updateWith<TResult>(
3987
- path: PropertyPath,
3988
- updater: (oldValue: any) => any,
3989
- customizer?: SetWithCustomizer<TValue>
3990
- ): LoDashImplicitWrapper<TResult>;
2405
+ updateWith<TResult>(path: PropertyPath, updater: (oldValue: any) => any, customizer?: SetWithCustomizer<T>): Object<TResult>;
3991
2406
  }
3992
-
3993
- interface LoDashExplicitWrapper<TValue> {
2407
+ interface ObjectChain<T> {
3994
2408
  /**
3995
2409
  * @see _.updateWith
3996
2410
  */
3997
- updateWith(
3998
- path: PropertyPath,
3999
- updater: (oldValue: any) => any,
4000
- customizer?: SetWithCustomizer<TValue>
4001
- ): this;
4002
-
2411
+ updateWith(path: PropertyPath, updater: (oldValue: any) => any, customizer?: SetWithCustomizer<T>): this;
4003
2412
  /**
4004
2413
  * @see _.updateWith
4005
2414
  */
4006
- updateWith<TResult>(
4007
- path: PropertyPath,
4008
- updater: (oldValue: any) => any,
4009
- customizer?: SetWithCustomizer<TValue>
4010
- ): LoDashExplicitWrapper<TResult>;
2415
+ updateWith<TResult>(path: PropertyPath, updater: (oldValue: any) => any, customizer?: SetWithCustomizer<T>): ObjectChain<TResult>;
4011
2416
  }
4012
-
4013
- // values
4014
-
4015
2417
  interface LoDashStatic {
4016
2418
  /**
4017
2419
  * Creates an array of the own enumerable property values of object.
@@ -4020,54 +2422,45 @@ declare module "../index" {
4020
2422
  * @return Returns an array of property values.
4021
2423
  */
4022
2424
  values<T>(object: Dictionary<T> | NumericDictionary<T> | List<T> | null | undefined): T[];
4023
-
4024
2425
  /**
4025
2426
  * @see _.values
4026
2427
  */
4027
2428
  values<T extends object>(object: T | null | undefined): Array<T[keyof T]>;
4028
-
4029
2429
  /**
4030
2430
  * @see _.values
4031
2431
  */
4032
2432
  values(object: any): any[];
4033
2433
  }
4034
-
4035
- interface LoDashImplicitWrapper<TValue> {
4036
- /**
4037
- * @see _.values
4038
- */
4039
- values<T>(this: LoDashImplicitWrapper<Dictionary<T> | NumericDictionary<T> | List<T> | null | undefined>): LoDashImplicitWrapper<T[]>;
4040
-
2434
+ interface String {
4041
2435
  /**
4042
2436
  * @see _.values
4043
2437
  */
4044
- values<T extends object>(this: LoDashImplicitWrapper<T | null | undefined>): LoDashImplicitWrapper<Array<T[keyof T]>>;
4045
-
2438
+ values(): Collection<string>;
2439
+ }
2440
+ interface Object<T> {
4046
2441
  /**
4047
2442
  * @see _.values
4048
2443
  */
4049
- values(): LoDashImplicitWrapper<any[]>;
2444
+ values(): Collection<T[keyof T]>;
4050
2445
  }
4051
-
4052
- interface LoDashExplicitWrapper<TValue> {
2446
+ interface ObjectChain<T> {
4053
2447
  /**
4054
2448
  * @see _.values
4055
2449
  */
4056
- values<T>(this: LoDashExplicitWrapper<Dictionary<T> | NumericDictionary<T> | List<T> | null | undefined>): LoDashExplicitWrapper<T[]>;
4057
-
2450
+ values(): CollectionChain<T[keyof T]>;
2451
+ }
2452
+ interface StringChain {
4058
2453
  /**
4059
2454
  * @see _.values
4060
2455
  */
4061
- values<T extends object>(this: LoDashExplicitWrapper<T | null | undefined>): LoDashExplicitWrapper<Array<T[keyof T]>>;
4062
-
2456
+ values(): CollectionChain<string>;
2457
+ }
2458
+ interface StringNullableChain {
4063
2459
  /**
4064
2460
  * @see _.values
4065
2461
  */
4066
- values(): LoDashExplicitWrapper<any[]>;
2462
+ values(): CollectionChain<string>;
4067
2463
  }
4068
-
4069
- // valuesIn
4070
-
4071
2464
  interface LoDashStatic {
4072
2465
  /**
4073
2466
  * Creates an array of the own and inherited enumerable property values of object.
@@ -4075,35 +2468,40 @@ declare module "../index" {
4075
2468
  * @param object The object to query.
4076
2469
  * @return Returns the array of property values.
4077
2470
  */
4078
- valuesIn<T>(object: Dictionary<T>|NumericDictionary<T>|List<T> | null | undefined): T[];
4079
-
2471
+ valuesIn<T>(object: Dictionary<T> | NumericDictionary<T> | List<T> | null | undefined): T[];
4080
2472
  /**
4081
2473
  * @see _.valuesIn
4082
2474
  */
4083
2475
  valuesIn<T extends object>(object: T | null | undefined): Array<T[keyof T]>;
4084
2476
  }
4085
-
4086
- interface LoDashImplicitWrapper<TValue> {
2477
+ interface String {
4087
2478
  /**
4088
2479
  * @see _.valuesIn
4089
2480
  */
4090
- valuesIn<T>(this: LoDashImplicitWrapper<Dictionary<T> | NumericDictionary<T> | List<T> | null | undefined>): LoDashImplicitWrapper<T[]>;
4091
-
2481
+ valuesIn(): Collection<string>;
2482
+ }
2483
+ interface Object<T> {
4092
2484
  /**
4093
2485
  * @see _.valuesIn
4094
2486
  */
4095
- valuesIn<T extends object>(this: LoDashImplicitWrapper<T | null | undefined>): LoDashImplicitWrapper<Array<T[keyof T]>>;
2487
+ valuesIn(): Collection<T[keyof T]>;
4096
2488
  }
4097
-
4098
- interface LoDashExplicitWrapper<TValue> {
2489
+ interface StringChain {
4099
2490
  /**
4100
2491
  * @see _.valuesIn
4101
2492
  */
4102
- valuesIn<T>(this: LoDashExplicitWrapper<Dictionary<T> | NumericDictionary<T> | List<T> | null | undefined>): LoDashExplicitWrapper<T[]>;
4103
-
2493
+ valuesIn(): CollectionChain<string>;
2494
+ }
2495
+ interface StringNullableChain {
2496
+ /**
2497
+ * @see _.valuesIn
2498
+ */
2499
+ valuesIn(): CollectionChain<string>;
2500
+ }
2501
+ interface ObjectChain<T> {
4104
2502
  /**
4105
2503
  * @see _.valuesIn
4106
2504
  */
4107
- valuesIn<T extends object>(this: LoDashExplicitWrapper<T | null | undefined>): LoDashExplicitWrapper<Array<T[keyof T]>>;
2505
+ valuesIn(): CollectionChain<T[keyof T]>;
4108
2506
  }
4109
2507
  }