cypress 3.1.4 → 3.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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
+ }