cypress 3.1.4 → 3.3.1

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