@umijs/utils 3.5.20 → 4.0.0-beta.4

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 (223) hide show
  1. package/README.md +2 -0
  2. package/compiled/address/index.js +1 -0
  3. package/compiled/address/lib/address.d.ts +28 -0
  4. package/compiled/address/package.json +1 -0
  5. package/compiled/axios/LICENSE +19 -0
  6. package/compiled/axios/index.d.ts +206 -0
  7. package/compiled/axios/index.js +1 -0
  8. package/compiled/axios/package.json +1 -0
  9. package/compiled/chalk/LICENSE +9 -0
  10. package/compiled/chalk/index.d.ts +415 -0
  11. package/compiled/chalk/index.js +1 -0
  12. package/compiled/chalk/package.json +1 -0
  13. package/compiled/cheerio/LICENSE +21 -0
  14. package/compiled/cheerio/domelementtype/lib/index.d.ts +48 -0
  15. package/compiled/cheerio/domhandler/lib/index.d.ts +85 -0
  16. package/compiled/cheerio/domhandler/lib/node.d.ts +169 -0
  17. package/compiled/cheerio/htmlparser2/lib/Parser.d.ts +159 -0
  18. package/compiled/cheerio/htmlparser2/lib/Tokenizer.d.ts +182 -0
  19. package/compiled/cheerio/htmlparser2/lib/index.d.ts +39 -0
  20. package/compiled/cheerio/index.js +16 -0
  21. package/compiled/cheerio/lib/api/attributes.d.ts +317 -0
  22. package/compiled/cheerio/lib/api/css.d.ts +41 -0
  23. package/compiled/cheerio/lib/api/forms.d.ts +31 -0
  24. package/compiled/cheerio/lib/api/manipulation.d.ts +496 -0
  25. package/compiled/cheerio/lib/api/traversing.d.ts +644 -0
  26. package/compiled/cheerio/lib/cheerio.d.ts +53 -0
  27. package/compiled/cheerio/lib/index.d.ts +91 -0
  28. package/compiled/cheerio/lib/load.d.ts +73 -0
  29. package/compiled/cheerio/lib/options.d.ts +31 -0
  30. package/compiled/cheerio/lib/static.d.ts +88 -0
  31. package/compiled/cheerio/lib/types.d.ts +20 -0
  32. package/compiled/cheerio/package.json +1 -0
  33. package/compiled/color/LICENSE +21 -0
  34. package/compiled/color/color-convert/conversions.d.ts +149 -0
  35. package/compiled/color/color-convert/index.d.ts +113 -0
  36. package/compiled/color/color-convert/route.d.ts +294 -0
  37. package/compiled/color/color-name/index.d.ts +161 -0
  38. package/compiled/color/index.d.ts +142 -0
  39. package/compiled/color/index.js +1 -0
  40. package/compiled/color/package.json +4 -0
  41. package/compiled/cross-spawn/LICENSE +21 -0
  42. package/compiled/cross-spawn/index.d.ts +36 -0
  43. package/compiled/cross-spawn/index.js +1 -0
  44. package/compiled/cross-spawn/package.json +1 -0
  45. package/compiled/debug/LICENSE +19 -0
  46. package/compiled/debug/index.d.ts +54 -0
  47. package/compiled/debug/index.js +1 -0
  48. package/compiled/debug/ms/index.d.ts +25 -0
  49. package/compiled/debug/package.json +1 -0
  50. package/compiled/deepmerge/index.d.ts +16 -0
  51. package/compiled/deepmerge/index.js +1 -0
  52. package/compiled/deepmerge/package.json +1 -0
  53. package/compiled/execa/LICENSE +9 -0
  54. package/compiled/execa/index.d.ts +564 -0
  55. package/compiled/execa/index.js +1 -0
  56. package/compiled/execa/package.json +1 -0
  57. package/compiled/fs-extra/LICENSE +15 -0
  58. package/compiled/fs-extra/index.d.ts +332 -0
  59. package/compiled/fs-extra/index.js +1 -0
  60. package/compiled/fs-extra/package.json +1 -0
  61. package/compiled/glob/LICENSE +21 -0
  62. package/compiled/glob/index.d.ts +89 -0
  63. package/compiled/glob/index.js +1 -0
  64. package/compiled/glob/minimatch/index.d.ts +204 -0
  65. package/compiled/glob/package.json +1 -0
  66. package/compiled/import-lazy/LICENSE +9 -0
  67. package/compiled/import-lazy/index.d.ts +26 -0
  68. package/compiled/import-lazy/index.js +1 -0
  69. package/compiled/import-lazy/package.json +1 -0
  70. package/compiled/lodash/LICENSE +47 -0
  71. package/compiled/lodash/common/array.d.ts +2126 -0
  72. package/compiled/lodash/common/collection.d.ts +1930 -0
  73. package/compiled/lodash/common/common.d.ts +280 -0
  74. package/compiled/lodash/common/date.d.ts +23 -0
  75. package/compiled/lodash/common/function.d.ts +1430 -0
  76. package/compiled/lodash/common/lang.d.ts +1692 -0
  77. package/compiled/lodash/common/math.d.ts +405 -0
  78. package/compiled/lodash/common/number.d.ts +131 -0
  79. package/compiled/lodash/common/object.d.ts +2519 -0
  80. package/compiled/lodash/common/seq.d.ts +210 -0
  81. package/compiled/lodash/common/string.d.ts +788 -0
  82. package/compiled/lodash/common/util.d.ts +1219 -0
  83. package/compiled/lodash/index.d.ts +46 -0
  84. package/compiled/lodash/index.js +9 -0
  85. package/compiled/lodash/package.json +1 -0
  86. package/compiled/mustache/LICENSE +11 -0
  87. package/compiled/mustache/index.d.ts +437 -0
  88. package/compiled/mustache/index.js +5 -0
  89. package/compiled/mustache/package.json +1 -0
  90. package/compiled/pkg-up/LICENSE +9 -0
  91. package/compiled/pkg-up/index.d.ts +48 -0
  92. package/compiled/pkg-up/index.js +1 -0
  93. package/compiled/pkg-up/package.json +1 -0
  94. package/compiled/portfinder/LICENSE +22 -0
  95. package/compiled/portfinder/index.js +1 -0
  96. package/compiled/portfinder/lib/portfinder.d.ts +47 -0
  97. package/compiled/portfinder/package.json +1 -0
  98. package/compiled/prettier/LICENSE +7 -0
  99. package/compiled/prettier/index.d.ts +867 -0
  100. package/compiled/prettier/index.js +475 -0
  101. package/compiled/prettier/package.json +5 -0
  102. package/compiled/prompts/LICENSE +21 -0
  103. package/compiled/prompts/index.d.ts +120 -0
  104. package/compiled/prompts/index.js +1 -0
  105. package/compiled/prompts/package.json +1 -0
  106. package/compiled/resolve/LICENSE +21 -0
  107. package/compiled/resolve/index.d.ts +166 -0
  108. package/compiled/resolve/index.js +1 -0
  109. package/compiled/resolve/package.json +1 -0
  110. package/compiled/rimraf/LICENSE +15 -0
  111. package/compiled/rimraf/glob/index.d.ts +89 -0
  112. package/compiled/rimraf/index.d.ts +49 -0
  113. package/compiled/rimraf/index.js +1 -0
  114. package/compiled/rimraf/minimatch/index.d.ts +204 -0
  115. package/compiled/rimraf/package.json +1 -0
  116. package/compiled/semver/LICENSE +15 -0
  117. package/compiled/semver/classes/comparator.d.ts +17 -0
  118. package/compiled/semver/classes/range.d.ts +21 -0
  119. package/compiled/semver/classes/semver.d.ts +62 -0
  120. package/compiled/semver/functions/clean.d.ts +8 -0
  121. package/compiled/semver/functions/cmp.d.ts +16 -0
  122. package/compiled/semver/functions/coerce.d.ts +12 -0
  123. package/compiled/semver/functions/compare-build.d.ts +16 -0
  124. package/compiled/semver/functions/compare-loose.d.ts +5 -0
  125. package/compiled/semver/functions/compare.d.ts +20 -0
  126. package/compiled/semver/functions/diff.d.ts +13 -0
  127. package/compiled/semver/functions/eq.d.ts +9 -0
  128. package/compiled/semver/functions/gt.d.ts +9 -0
  129. package/compiled/semver/functions/gte.d.ts +9 -0
  130. package/compiled/semver/functions/inc.d.ts +15 -0
  131. package/compiled/semver/functions/lt.d.ts +9 -0
  132. package/compiled/semver/functions/lte.d.ts +8 -0
  133. package/compiled/semver/functions/major.d.ts +9 -0
  134. package/compiled/semver/functions/minor.d.ts +9 -0
  135. package/compiled/semver/functions/neq.d.ts +9 -0
  136. package/compiled/semver/functions/parse.d.ts +12 -0
  137. package/compiled/semver/functions/patch.d.ts +9 -0
  138. package/compiled/semver/functions/prerelease.d.ts +12 -0
  139. package/compiled/semver/functions/rcompare.d.ts +15 -0
  140. package/compiled/semver/functions/rsort.d.ts +9 -0
  141. package/compiled/semver/functions/satisfies.d.ts +14 -0
  142. package/compiled/semver/functions/sort.d.ts +9 -0
  143. package/compiled/semver/functions/valid.d.ts +11 -0
  144. package/compiled/semver/index.d.ts +133 -0
  145. package/compiled/semver/index.js +1 -0
  146. package/compiled/semver/internals/identifiers.d.ts +13 -0
  147. package/compiled/semver/package.json +1 -0
  148. package/compiled/semver/ranges/gtr.d.ts +14 -0
  149. package/compiled/semver/ranges/intersects.d.ts +13 -0
  150. package/compiled/semver/ranges/ltr.d.ts +14 -0
  151. package/compiled/semver/ranges/max-satisfying.d.ts +14 -0
  152. package/compiled/semver/ranges/min-satisfying.d.ts +14 -0
  153. package/compiled/semver/ranges/min-version.d.ts +10 -0
  154. package/compiled/semver/ranges/outside.d.ts +15 -0
  155. package/compiled/semver/ranges/simplify.d.ts +14 -0
  156. package/compiled/semver/ranges/subset.d.ts +13 -0
  157. package/compiled/semver/ranges/to-comparators.d.ts +9 -0
  158. package/compiled/semver/ranges/valid.d.ts +12 -0
  159. package/compiled/strip-ansi/LICENSE +9 -0
  160. package/compiled/strip-ansi/index.d.ts +17 -0
  161. package/compiled/strip-ansi/index.js +1 -0
  162. package/compiled/strip-ansi/package.json +1 -0
  163. package/compiled/yargs-parser/index.d.ts +112 -0
  164. package/compiled/yargs-parser/index.js +1 -0
  165. package/compiled/yargs-parser/package.json +1 -0
  166. package/dist/BaseGenerator/BaseGenerator.d.ts +18 -0
  167. package/dist/BaseGenerator/BaseGenerator.js +58 -0
  168. package/dist/BaseGenerator/generateFile.d.ts +8 -0
  169. package/dist/BaseGenerator/generateFile.js +25 -0
  170. package/{lib → dist}/Generator/Generator.d.ts +3 -3
  171. package/dist/Generator/Generator.js +74 -0
  172. package/dist/importLazy.d.ts +6 -0
  173. package/dist/importLazy.js +17 -0
  174. package/dist/index.d.ts +33 -0
  175. package/dist/index.js +88 -0
  176. package/dist/installDeps.d.ts +9 -0
  177. package/dist/installDeps.js +39 -0
  178. package/dist/logger.d.ts +14 -0
  179. package/dist/logger.js +39 -0
  180. package/dist/npmClient.d.ts +15 -0
  181. package/dist/npmClient.js +43 -0
  182. package/dist/randomColor/randomColor.d.ts +6 -0
  183. package/dist/randomColor/randomColor.js +19 -0
  184. package/dist/register.d.ts +6 -0
  185. package/dist/register.js +47 -0
  186. package/dist/updatePackageJSON.d.ts +5 -0
  187. package/dist/updatePackageJSON.js +21 -0
  188. package/dist/winPath.d.ts +1 -0
  189. package/dist/winPath.js +11 -0
  190. package/package.json +96 -12
  191. package/lib/BabelRegister/BabelRegister.d.ts +0 -9
  192. package/lib/BabelRegister/BabelRegister.js +0 -66
  193. package/lib/Generator/Generator.js +0 -120
  194. package/lib/cheerio/cheerio.d.ts +0 -2
  195. package/lib/cheerio/cheerio.js +0 -37
  196. package/lib/cleanRequireCache/cleanRequireCache.d.ts +0 -1
  197. package/lib/cleanRequireCache/cleanRequireCache.js +0 -40
  198. package/lib/compatESModuleRequire/compatESModuleRequire.d.ts +0 -7
  199. package/lib/compatESModuleRequire/compatESModuleRequire.js +0 -22
  200. package/lib/delay/delay.d.ts +0 -1
  201. package/lib/delay/delay.js +0 -22
  202. package/lib/getFile/getFile.d.ts +0 -22
  203. package/lib/getFile/getFile.js +0 -85
  204. package/lib/index.d.ts +0 -66
  205. package/lib/index.js +0 -619
  206. package/lib/isLernaPackage/isLernaPackage.d.ts +0 -1
  207. package/lib/isLernaPackage/isLernaPackage.js +0 -42
  208. package/lib/mergeConfig/mergeConfig.d.ts +0 -8
  209. package/lib/mergeConfig/mergeConfig.js +0 -42
  210. package/lib/parseRequireDeps/parseRequireDeps.d.ts +0 -1
  211. package/lib/parseRequireDeps/parseRequireDeps.js +0 -98
  212. package/lib/randomColor/randomColor.d.ts +0 -6
  213. package/lib/randomColor/randomColor.js +0 -42
  214. package/lib/routes.d.ts +0 -11
  215. package/lib/routes.js +0 -53
  216. package/lib/ssr.d.ts +0 -12
  217. package/lib/ssr.js +0 -41
  218. package/lib/types.d.ts +0 -7
  219. package/lib/types.js +0 -17
  220. package/lib/winEOL/winEOL.d.ts +0 -7
  221. package/lib/winEOL/winEOL.js +0 -39
  222. package/lib/winPath/winPath.d.ts +0 -1
  223. package/lib/winPath/winPath.js +0 -28
@@ -0,0 +1,2126 @@
1
+ import _ = require("../index");
2
+ declare module "../index" {
3
+ interface LoDashStatic {
4
+ /**
5
+ * Creates an array of elements split into groups the length of size. If collection can’t be split evenly, the
6
+ * final chunk will be the remaining elements.
7
+ *
8
+ * @param array The array to process.
9
+ * @param size The length of each chunk.
10
+ * @return Returns the new array containing chunks.
11
+ */
12
+ chunk<T>(array: List<T> | null | undefined, size?: number): T[][];
13
+ }
14
+ interface Collection<T> {
15
+ /**
16
+ * @see _.chunk
17
+ */
18
+ chunk(size?: number): Collection<T[]>;
19
+ }
20
+ interface CollectionChain<T> {
21
+ /**
22
+ * @see _.chunk
23
+ */
24
+ chunk(size?: number): CollectionChain<T[]>;
25
+ }
26
+ interface LoDashStatic {
27
+ /**
28
+ * Creates an array with all falsey values removed. The values false, null, 0, "", undefined, and NaN are
29
+ * falsey.
30
+ *
31
+ * @param array The array to compact.
32
+ * @return Returns the new array of filtered values.
33
+ */
34
+ compact<T>(array: List<T | null | undefined | false | "" | 0> | null | undefined): T[];
35
+ }
36
+
37
+ type Truthy<T> = T extends null | undefined | false | "" | 0 ? never : T;
38
+ interface Collection<T> {
39
+ /**
40
+ * @see _.compact
41
+ */
42
+ compact(): Collection<Truthy<T>>;
43
+ }
44
+ interface CollectionChain<T> {
45
+ /**
46
+ * @see _.compact
47
+ */
48
+ compact(): CollectionChain<Truthy<T>>;
49
+ }
50
+ interface LoDashStatic {
51
+ /**
52
+ * Creates a new array concatenating `array` with any additional arrays
53
+ * and/or values.
54
+ *
55
+ * @category Array
56
+ * @param [values] The array values to concatenate.
57
+ * @returns Returns the new concatenated array.
58
+ * @example
59
+ *
60
+ * var array = [1];
61
+ * var other = _.concat(array, 2, [3], [[4]]);
62
+ *
63
+ * console.log(other);
64
+ * // => [1, 2, 3, [4]]
65
+ *
66
+ * console.log(array);
67
+ * // => [1]
68
+ */
69
+ concat<T>(...values: Array<Many<T>>): T[];
70
+ }
71
+ interface Primitive<T> {
72
+ /**
73
+ * @see _.concat
74
+ */
75
+ concat(...values: Array<Many<T>>): Collection<T>;
76
+ }
77
+ interface Collection<T> {
78
+ /**
79
+ * @see _.concat
80
+ */
81
+ concat(...values: Array<Many<T>>): Collection<T>;
82
+ }
83
+ interface Object<T> {
84
+ /**
85
+ * @see _.concat
86
+ */
87
+ concat(...values: Array<Many<T>>): Collection<T>;
88
+ }
89
+ interface PrimitiveChain<T> {
90
+ /**
91
+ * @see _.concat
92
+ */
93
+ concat(...values: Array<Many<T>>): CollectionChain<T>;
94
+ }
95
+ interface CollectionChain<T> {
96
+ /**
97
+ * @see _.concat
98
+ */
99
+ concat(...values: Array<Many<T>>): CollectionChain<T>;
100
+ }
101
+ interface ObjectChain<T> {
102
+ /**
103
+ * @see _.concat
104
+ */
105
+ concat(...values: Array<Many<T>>): CollectionChain<T>;
106
+ }
107
+ interface LoDashStatic {
108
+ /**
109
+ * Creates an array of unique array values not included in the other provided arrays using SameValueZero for
110
+ * equality comparisons.
111
+ *
112
+ * @param array The array to inspect.
113
+ * @param values The arrays of values to exclude.
114
+ * @return Returns the new array of filtered values.
115
+ */
116
+ difference<T>(array: List<T> | null | undefined, ...values: Array<List<T>>): T[];
117
+ }
118
+ interface Collection<T> {
119
+ /**
120
+ * @see _.difference
121
+ */
122
+ difference(...values: Array<List<T>>): Collection<T>;
123
+ }
124
+ interface CollectionChain<T> {
125
+ /**
126
+ * @see _.difference
127
+ */
128
+ difference(...values: Array<List<T>>): CollectionChain<T>;
129
+ }
130
+ interface LoDashStatic {
131
+ /**
132
+ * This method is like _.difference except that it accepts iteratee which is invoked for each element of array
133
+ * and values to generate the criterion by which uniqueness is computed. The iteratee is invoked with one
134
+ * argument: (value).
135
+ *
136
+ * @param array The array to inspect.
137
+ * @param values The values to exclude.
138
+ * @param iteratee The iteratee invoked per element.
139
+ * @returns Returns the new array of filtered values.
140
+ */
141
+ differenceBy<T1, T2>(array: List<T1> | null | undefined, values: List<T2>, iteratee: ValueIteratee<T1 | T2>): T1[];
142
+ /**
143
+ * @see _.differenceBy
144
+ */
145
+ differenceBy<T1, T2, T3>(array: List<T1> | null | undefined, values1: List<T2>, values2: List<T3>, iteratee: ValueIteratee<T1 | T2 | T3>): T1[];
146
+ /**
147
+ * @see _.differenceBy
148
+ */
149
+ differenceBy<T1, T2, T3, T4>(array: List<T1> | null | undefined, values1: List<T2>, values2: List<T3>, values3: List<T4>, iteratee: ValueIteratee<T1 | T2 | T3 | T4>): T1[];
150
+ /**
151
+ * @see _.differenceBy
152
+ */
153
+ differenceBy<T1, T2, T3, T4, T5>(array: List<T1> | null | undefined, values1: List<T2>, values2: List<T3>, values3: List<T4>, values4: List<T5>, iteratee: ValueIteratee<T1 | T2 | T3 | T4 | T5>): T1[];
154
+ /**
155
+ * @see _.differenceBy
156
+ */
157
+ differenceBy<T1, T2, T3, T4, T5, T6>(array: List<T1> | null | undefined, values1: List<T2>, values2: List<T3>, values3: List<T4>, values4: List<T5>, values5: List<T6>, iteratee: ValueIteratee<T1 | T2 | T3 | T4 | T5 | T6>): T1[];
158
+ /**
159
+ * @see _.differenceBy
160
+ */
161
+ differenceBy<T1, T2, T3, T4, T5, T6, T7>(array: List<T1> | null | undefined, values1: List<T2>, values2: List<T3>, values3: List<T4>, values4: List<T5>, values5: List<T6>, ...values: Array<List<T7> | ValueIteratee<T1 | T2 | T3 | T4 | T5 | T6 | T7>>): T1[];
162
+ /**
163
+ * @see _.differenceBy
164
+ */
165
+ differenceBy<T>(array: List<T> | null | undefined, ...values: Array<List<T>>): T[];
166
+ }
167
+ interface Collection<T> {
168
+ /**
169
+ * @see _.differenceBy
170
+ */
171
+ differenceBy<T2>(values1: List<T2>, iteratee?: ValueIteratee<T | T2>): Collection<T>;
172
+ /**
173
+ * @see _.differenceBy
174
+ */
175
+ differenceBy(...values: Array<List<unknown> | ValueIteratee<T>>): Collection<T>;
176
+ }
177
+ interface CollectionChain<T> {
178
+ /**
179
+ * @see _.differenceBy
180
+ */
181
+ differenceBy<T2>(values1: List<T2>, iteratee?: ValueIteratee<T | T2>): CollectionChain<T>;
182
+ /**
183
+ * @see _.differenceBy
184
+ */
185
+ differenceBy(...values: Array<List<unknown> | ValueIteratee<T>>): CollectionChain<T>;
186
+ }
187
+ interface LoDashStatic {
188
+ /**
189
+ * Creates an array of unique `array` values not included in the other
190
+ * provided arrays using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
191
+ * for equality comparisons.
192
+ *
193
+ * @category Array
194
+ * @param [values] The arrays to inspect.
195
+ * @param [comparator] The comparator invoked per element.
196
+ * @returns Returns the new array of filtered values.
197
+ * @example
198
+ *
199
+ * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];
200
+
201
+ * _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual);
202
+ * // => [{ 'x': 2, 'y': 1 }]
203
+ */
204
+ differenceWith<T1, T2>(array: List<T1> | null | undefined, values: List<T2>, comparator: Comparator2<T1, T2>): T1[];
205
+ /**
206
+ * @see _.differenceWith
207
+ */
208
+ differenceWith<T1, T2, T3>(array: List<T1> | null | undefined, values1: List<T2>, values2: List<T3>, comparator: Comparator2<T1, T2 | T3>): T1[];
209
+ /**
210
+ * @see _.differenceWith
211
+ */
212
+ differenceWith<T1, T2, T3, T4>(array: List<T1> | null | undefined, values1: List<T2>, values2: List<T3>, ...values: Array<List<T4> | Comparator2<T1, T2 | T3 | T4>>): T1[];
213
+ /**
214
+ * @see _.differenceWith
215
+ */
216
+ differenceWith<T>(array: List<T> | null | undefined, ...values: Array<List<T>>): T[];
217
+ }
218
+ interface Collection<T> {
219
+ /**
220
+ * @see _.differenceWith
221
+ */
222
+ differenceWith<T2>(values: List<T2>, comparator: Comparator2<T, T2>): Collection<T>;
223
+ /**
224
+ * @see _.differenceWith
225
+ */
226
+ differenceWith<T2, T3, T4>(...values: Array<List<unknown> | Comparator2<T, never>>): Collection<T>;
227
+ }
228
+ interface CollectionChain<T> {
229
+ /**
230
+ * @see _.differenceWith
231
+ */
232
+ differenceWith< T2>(values: List<T2>, comparator: Comparator2<T, T2>): CollectionChain<T>;
233
+ /**
234
+ * @see _.differenceWith
235
+ */
236
+ differenceWith< T2, T3, T4>(...values: Array<List<unknown> | Comparator2<T, never>>): CollectionChain<T>;
237
+ }
238
+ interface LoDashStatic {
239
+ /**
240
+ * Creates a slice of array with n elements dropped from the beginning.
241
+ *
242
+ * @param array The array to query.
243
+ * @param n The number of elements to drop.
244
+ * @return Returns the slice of array.
245
+ */
246
+ drop<T>(array: List<T> | null | undefined, n?: number): T[];
247
+ }
248
+ interface Collection<T> {
249
+ /**
250
+ * @see _.drop
251
+ */
252
+ drop(n?: number): Collection<T>;
253
+ }
254
+ interface CollectionChain<T> {
255
+ /**
256
+ * @see _.drop
257
+ */
258
+ drop(n?: number): CollectionChain<T>;
259
+ }
260
+ interface LoDashStatic {
261
+ /**
262
+ * Creates a slice of array with n elements dropped from the end.
263
+ *
264
+ * @param array The array to query.
265
+ * @param n The number of elements to drop.
266
+ * @return Returns the slice of array.
267
+ */
268
+ dropRight<T>(array: List<T> | null | undefined, n?: number): T[];
269
+ }
270
+ interface Collection<T> {
271
+ /**
272
+ * @see _.dropRight
273
+ */
274
+ dropRight(n?: number): Collection<T>;
275
+ }
276
+ interface CollectionChain<T> {
277
+ /**
278
+ * @see _.dropRight
279
+ */
280
+ dropRight(n?: number): CollectionChain<T>;
281
+ }
282
+ interface LoDashStatic {
283
+ /**
284
+ * Creates a slice of array excluding elements dropped from the end. Elements are dropped until predicate
285
+ * returns falsey. The predicate is invoked with three arguments: (value, index, array).
286
+ *
287
+ * @param array The array to query.
288
+ * @param predicate The function invoked per iteration.
289
+ * @return Returns the slice of array.
290
+ */
291
+ dropRightWhile<T>(array: List<T> | null | undefined, predicate?: ListIteratee<T>): T[];
292
+ }
293
+ interface Collection<T> {
294
+ /**
295
+ * @see _.dropRightWhile
296
+ */
297
+ dropRightWhile(predicate?: ListIteratee<T>): Collection<T>;
298
+ }
299
+ interface CollectionChain<T> {
300
+ /**
301
+ * @see _.dropRightWhile
302
+ */
303
+ dropRightWhile(predicate?: ListIteratee<T>): CollectionChain<T>;
304
+ }
305
+ interface LoDashStatic {
306
+ /**
307
+ * Creates a slice of array excluding elements dropped from the beginning. Elements are dropped until predicate
308
+ * returns falsey. The predicate is invoked with three arguments: (value, index, array).
309
+ *
310
+ * @param array The array to query.
311
+ * @param predicate The function invoked per iteration.
312
+ * @return Returns the slice of array.
313
+ */
314
+ dropWhile<T>(array: List<T> | null | undefined, predicate?: ListIteratee<T>): T[];
315
+ }
316
+ interface Collection<T> {
317
+ /**
318
+ * @see _.dropWhile
319
+ */
320
+ dropWhile(predicate?: ListIteratee<T>): Collection<T>;
321
+ }
322
+ interface CollectionChain<T> {
323
+ /**
324
+ * @see _.dropWhile
325
+ */
326
+ dropWhile(predicate?: ListIteratee<T>): CollectionChain<T>;
327
+ }
328
+ interface LoDashStatic {
329
+ /**
330
+ * Fills elements of array with value from start up to, but not including, end.
331
+ *
332
+ * Note: This method mutates array.
333
+ *
334
+ * @param array The array to fill.
335
+ * @param value The value to fill array with.
336
+ * @param start The start position.
337
+ * @param end The end position.
338
+ * @return Returns array.
339
+ */
340
+ fill<T>(array: any[] | null | undefined, value: T): T[];
341
+ /**
342
+ * @see _.fill
343
+ */
344
+ fill<T>(array: List<any> | null | undefined, value: T): List<T>;
345
+ /**
346
+ * @see _.fill
347
+ */
348
+ fill<T, U>(array: U[] | null | undefined, value: T, start?: number, end?: number): Array<T | U>;
349
+ /**
350
+ * @see _.fill
351
+ */
352
+ fill<T, U>(array: List<U> | null | undefined, value: T, start?: number, end?: number): List<T | U>;
353
+ }
354
+ interface Collection<T> {
355
+ /**
356
+ * @see _.fill
357
+ */
358
+ fill<U>(value: U, start?: number, end?: number): Collection<T | U>;
359
+ }
360
+ interface CollectionChain<T> {
361
+ /**
362
+ * @see _.fill
363
+ */
364
+ fill<U>(value: U, start?: number, end?: number): CollectionChain<T | U>;
365
+ }
366
+ interface LoDashStatic {
367
+ /**
368
+ * This method is like _.find except that it returns the index of the first element predicate returns truthy
369
+ * for instead of the element itself.
370
+ *
371
+ * @param array The array to search.
372
+ * @param predicate The function invoked per iteration.
373
+ * @param fromIndex The index to search from.
374
+ * @return Returns the index of the found element, else -1.
375
+ */
376
+ findIndex<T>(array: List<T> | null | undefined, predicate?: ListIterateeCustom<T, boolean>, fromIndex?: number): number;
377
+ }
378
+ interface Collection<T> {
379
+ /**
380
+ * @see _.findIndex
381
+ */
382
+ findIndex(predicate?: ListIterateeCustom<T, boolean>, fromIndex?: number): number;
383
+ }
384
+ interface CollectionChain<T> {
385
+ /**
386
+ * @see _.findIndex
387
+ */
388
+ findIndex(predicate?: ListIterateeCustom<T, boolean>, fromIndex?: number): PrimitiveChain<number>;
389
+ }
390
+ interface LoDashStatic {
391
+ /**
392
+ * This method is like _.findIndex except that it iterates over elements of collection from right to left.
393
+ *
394
+ * @param array The array to search.
395
+ * @param predicate The function invoked per iteration.
396
+ * @param fromIndex The index to search from.
397
+ * @return Returns the index of the found element, else -1.
398
+ */
399
+ findLastIndex<T>(array: List<T> | null | undefined, predicate?: ListIterateeCustom<T, boolean>, fromIndex?: number): number;
400
+ }
401
+ interface Collection<T> {
402
+ /**
403
+ * @see _.findLastIndex
404
+ */
405
+ findLastIndex(predicate?: ListIterateeCustom<T, boolean>, fromIndex?: number): number;
406
+ }
407
+ interface CollectionChain<T> {
408
+ /**
409
+ * @see _.findLastIndex
410
+ */
411
+ findLastIndex(predicate?: ListIterateeCustom<T, boolean>, fromIndex?: number): PrimitiveChain<number>;
412
+ }
413
+ interface LoDashStatic {
414
+ /**
415
+ * @see _.head
416
+ */
417
+ first: LoDashStatic["head"];
418
+ }
419
+ interface String {
420
+ /**
421
+ * @see _.first
422
+ */
423
+ first(): string | undefined;
424
+ }
425
+ interface StringChain {
426
+ /**
427
+ * @see _.first
428
+ */
429
+ first(): StringNullableChain;
430
+ }
431
+ interface StringNullableChain {
432
+ /**
433
+ * @see _.first
434
+ */
435
+ first(): StringNullableChain;
436
+ }
437
+ interface Collection<T> {
438
+ /**
439
+ * @see _.first
440
+ */
441
+ first(): T | undefined;
442
+ }
443
+ interface CollectionChain<T> {
444
+ /**
445
+ * @see _.first
446
+ */
447
+ first(): ExpChain<T | undefined>;
448
+ }
449
+ interface RecursiveArray<T> extends Array<T|RecursiveArray<T>> {}
450
+ interface ListOfRecursiveArraysOrValues<T> extends List<T|RecursiveArray<T>> {}
451
+ interface LoDashStatic {
452
+ /**
453
+ * Flattens `array` a single level deep.
454
+ *
455
+ * @param array The array to flatten.
456
+ * @return Returns the new flattened array.
457
+ */
458
+ flatten<T>(array: List<Many<T>> | null | undefined): T[];
459
+ }
460
+ interface String {
461
+ /**
462
+ * @see _.flatten
463
+ */
464
+ flatten(): Collection<string>;
465
+ }
466
+ interface StringChain {
467
+ /**
468
+ * @see _.flatten
469
+ */
470
+ flatten(): CollectionChain<string>;
471
+ }
472
+ interface StringNullableChain {
473
+ /**
474
+ * @see _.flatten
475
+ */
476
+ flatten(): CollectionChain<string>;
477
+ }
478
+ interface Collection<T> {
479
+ /**
480
+ * @see _.flatten
481
+ */
482
+ flatten(): T extends Many<infer U> ? Collection<U> : Collection<T>;
483
+ }
484
+ interface CollectionChain<T> {
485
+ /**
486
+ * @see _.flatten
487
+ */
488
+ flatten(): T extends Many<infer U> ? CollectionChain<U> : CollectionChain<T>;
489
+ }
490
+
491
+ type Flat<T> = T extends string ? T : (T extends List<any> ? never : T);
492
+
493
+ interface LoDashStatic {
494
+ /**
495
+ * Recursively flattens a nested array.
496
+ *
497
+ * @param array The array to recursively flatten.
498
+ * @return Returns the new flattened array.
499
+ */
500
+ flattenDeep<T>(array: ListOfRecursiveArraysOrValues<T> | null | undefined): Array<Flat<T>>;
501
+ }
502
+ interface Collection<T> {
503
+ /**
504
+ * @see _.flattenDeep
505
+ */
506
+ flattenDeep(): T extends ListOfRecursiveArraysOrValues<infer U> ? Collection<Flat<U>> : Collection<T>;
507
+ }
508
+ interface CollectionChain<T> {
509
+ /**
510
+ * @see _.flattenDeep
511
+ */
512
+ flattenDeep(): T extends ListOfRecursiveArraysOrValues<infer U> ? CollectionChain<Flat<U>> : CollectionChain<T>;
513
+ }
514
+ interface LoDashStatic {
515
+ /**
516
+ * Recursively flatten array up to depth times.
517
+ *
518
+ * @param array The array to recursively flatten.
519
+ * @param number The maximum recursion depth.
520
+ * @return Returns the new flattened array.
521
+ */
522
+ flattenDepth<T>(array: ListOfRecursiveArraysOrValues<T> | null | undefined, depth?: number): T[];
523
+ }
524
+ interface Collection<T> {
525
+ /**
526
+ * @see _.flattenDepth
527
+ */
528
+ flattenDepth(depth?: number): Collection<T>;
529
+ }
530
+ interface CollectionChain<T> {
531
+ /**
532
+ * @see _.flattenDepth
533
+ */
534
+ flattenDepth(depth?: number): CollectionChain<T>;
535
+ }
536
+ interface LoDashStatic {
537
+ /**
538
+ * The inverse of `_.toPairs`; this method returns an object composed
539
+ * from key-value `pairs`.
540
+ *
541
+ * @category Array
542
+ * @param pairs The key-value pairs.
543
+ * @returns Returns the new object.
544
+ * @example
545
+ *
546
+ * _.fromPairs([['fred', 30], ['barney', 40]]);
547
+ * // => { 'fred': 30, 'barney': 40 }
548
+ */
549
+ fromPairs<T>(pairs: List<[PropertyName, T]> | null | undefined): Dictionary<T>;
550
+ /**
551
+ * @see _.fromPairs
552
+ */
553
+ fromPairs(pairs: List<any[]> | null | undefined): Dictionary<any>;
554
+ }
555
+ interface Collection<T> {
556
+ /**
557
+ * @see _.fromPairs
558
+ */
559
+ fromPairs(): Object<Dictionary<T extends [PropertyName, infer U] ? U : any>>;
560
+ }
561
+ interface CollectionChain<T> {
562
+ /**
563
+ * @see _.fromPairs
564
+ */
565
+ fromPairs(): ObjectChain<Dictionary<T extends [PropertyName, infer U] ? U : any>>;
566
+ }
567
+ interface LoDashStatic {
568
+ /**
569
+ * Gets the first element of array.
570
+ *
571
+ * @alias _.first
572
+ *
573
+ * @param array The array to query.
574
+ * @return Returns the first element of array.
575
+ */
576
+ head<T>(array: List<T> | null | undefined): T | undefined;
577
+ }
578
+ interface String {
579
+ /**
580
+ * @see _.head
581
+ */
582
+ head(): string | undefined;
583
+ }
584
+ interface StringChain {
585
+ /**
586
+ * @see _.head
587
+ */
588
+ head(): StringNullableChain;
589
+ }
590
+ interface StringNullableChain {
591
+ /**
592
+ * @see _.head
593
+ */
594
+ head(): StringNullableChain;
595
+ }
596
+ interface Collection<T> {
597
+ /**
598
+ * @see _.head
599
+ */
600
+ head(): T | undefined;
601
+ }
602
+ interface CollectionChain<T> {
603
+ /**
604
+ * @see _.head
605
+ */
606
+ head(): ExpChain<T | undefined>;
607
+ }
608
+ interface LoDashStatic {
609
+ /**
610
+ * Gets the index at which the first occurrence of `value` is found in `array`
611
+ * using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
612
+ * for equality comparisons. If `fromIndex` is negative, it's used as the offset
613
+ * from the end of `array`.
614
+ *
615
+ * @category Array
616
+ * @param array The array to search.
617
+ * @param value The value to search for.
618
+ * @param [fromIndex=0] The index to search from.
619
+ * @returns Returns the index of the matched value, else `-1`.
620
+ * @example
621
+ *
622
+ * _.indexOf([1, 2, 1, 2], 2);
623
+ * // => 1
624
+ *
625
+ * // using `fromIndex`
626
+ * _.indexOf([1, 2, 1, 2], 2, 2);
627
+ * // => 3
628
+ */
629
+ indexOf<T>(array: List<T> | null | undefined, value: T, fromIndex?: number): number;
630
+ }
631
+ interface Collection<T> {
632
+ /**
633
+ * @see _.indexOf
634
+ */
635
+ indexOf(value: T, fromIndex?: number): number;
636
+ }
637
+ interface CollectionChain<T> {
638
+ /**
639
+ * @see _.indexOf
640
+ */
641
+ indexOf(value: T, fromIndex?: number): PrimitiveChain<number>;
642
+ }
643
+ interface LoDashStatic {
644
+ /**
645
+ * Gets all but the last element of array.
646
+ *
647
+ * @param array The array to query.
648
+ * @return Returns the slice of array.
649
+ */
650
+ initial<T>(array: List<T> | null | undefined): T[];
651
+ }
652
+ interface Collection<T> {
653
+ /**
654
+ * @see _.initial
655
+ */
656
+ initial(): Collection<T>;
657
+ }
658
+ interface CollectionChain<T> {
659
+ /**
660
+ * @see _.initial
661
+ */
662
+ initial(): CollectionChain<T>;
663
+ }
664
+ interface LoDashStatic {
665
+ /**
666
+ * Creates an array of unique values that are included in all of the provided arrays using SameValueZero for
667
+ * equality comparisons.
668
+ *
669
+ * @param arrays The arrays to inspect.
670
+ * @return Returns the new array of shared values.
671
+ */
672
+ intersection<T>(...arrays: Array<List<T> | null | undefined>): T[];
673
+ }
674
+ interface Collection<T> {
675
+ /**
676
+ * @see _.intersection
677
+ */
678
+ intersection(...arrays: Array<List<T> | null | undefined>): Collection<T>;
679
+ }
680
+ interface CollectionChain<T> {
681
+ /**
682
+ * @see _.intersection
683
+ */
684
+ intersection(...arrays: Array<List<T> | null | undefined>): CollectionChain<T>;
685
+ }
686
+ interface LoDashStatic {
687
+ /**
688
+ * This method is like `_.intersection` except that it accepts `iteratee`
689
+ * which is invoked for each element of each `arrays` to generate the criterion
690
+ * by which uniqueness is computed. The iteratee is invoked with one argument: (value).
691
+ *
692
+ * @category Array
693
+ * @param [arrays] The arrays to inspect.
694
+ * @param [iteratee=_.identity] The iteratee invoked per element.
695
+ * @returns Returns the new array of shared values.
696
+ * @example
697
+ *
698
+ * _.intersectionBy([2.1, 1.2], [4.3, 2.4], Math.floor);
699
+ * // => [2.1]
700
+ *
701
+ * // using the `_.property` iteratee shorthand
702
+ * _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');
703
+ * // => [{ 'x': 1 }]
704
+ */
705
+ intersectionBy<T1, T2>(array: List<T1> | null, values: List<T2>, iteratee: ValueIteratee<T1 | T2>): T1[];
706
+ /**
707
+ * @see _.intersectionBy
708
+ */
709
+ intersectionBy<T1, T2, T3>(array: List<T1> | null, values1: List<T2>, values2: List<T3>, iteratee: ValueIteratee<T1 | T2 | T3>): T1[];
710
+ /**
711
+ * @see _.intersectionBy
712
+ */
713
+ intersectionBy<T1, T2, T3, T4>(array: List<T1> | null | undefined, values1: List<T2>, values2: List<T3>, ...values: Array<List<T4> | ValueIteratee<T1 | T2 | T3 | T4>>): T1[];
714
+ /**
715
+ * @see _.intersectionBy
716
+ */
717
+ intersectionBy<T>(array?: List<T> | null, ...values: Array<List<T>>): T[];
718
+ /**
719
+ * @see _.intersectionBy
720
+ */
721
+ intersectionBy<T>(...values: Array<List<T> | ValueIteratee<T>>): T[];
722
+ }
723
+ interface Collection<T> {
724
+ /**
725
+ * @see _.intersectionBy
726
+ */
727
+ intersectionBy<T2>(values: List<T2>, iteratee: ValueIteratee<T | T2>): Collection<T>;
728
+ /**
729
+ * @see _.intersectionBy
730
+ */
731
+ intersectionBy(...values: Array<List<unknown> | ValueIteratee<T>>): Collection<T>;
732
+ }
733
+ interface CollectionChain<T> {
734
+ /**
735
+ * @see _.intersectionBy
736
+ */
737
+ intersectionBy<T2>(values: List<T2>, iteratee: ValueIteratee<T | T2>): CollectionChain<T>;
738
+ /**
739
+ * @see _.intersectionBy
740
+ */
741
+ intersectionBy(...values: Array<List<unknown> | ValueIteratee<T>>): CollectionChain<T>;
742
+ }
743
+ interface LoDashStatic {
744
+ /**
745
+ * Creates an array of unique `array` values not included in the other
746
+ * provided arrays using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
747
+ * for equality comparisons.
748
+ *
749
+ * @category Array
750
+ * @param [values] The arrays to inspect.
751
+ * @param [comparator] The comparator invoked per element.
752
+ * @returns Returns the new array of filtered values.
753
+ * @example
754
+ *
755
+ * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];
756
+ * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];
757
+
758
+ * _.intersectionWith(objects, others, _.isEqual);
759
+ * // => [{ 'x': 1, 'y': 2 }]
760
+ */
761
+ intersectionWith<T1, T2>(array: List<T1> | null | undefined, values: List<T2>, comparator: Comparator2<T1, T2>): T1[];
762
+ /**
763
+ * @see _.intersectionWith
764
+ */
765
+ intersectionWith<T1, T2, T3>(array: List<T1> | null | undefined, values1: List<T2>, values2: List<T3>, comparator: Comparator2<T1, T2 | T3>): T1[];
766
+ /**
767
+ * @see _.intersectionWith
768
+ */
769
+ intersectionWith<T1, T2, T3, T4>(array: List<T1> | null | undefined, values1: List<T2>, values2: List<T3>, ...values: Array<List<T4> | Comparator2<T1, T2 | T3 | T4>>): T1[];
770
+ /**
771
+ * @see _.intersectionWith
772
+ */
773
+ intersectionWith<T>(array?: List<T> | null, ...values: Array<List<T> | Comparator2<T, never>>): T[];
774
+ }
775
+ interface Collection<T> {
776
+ /**
777
+ * @see _.intersectionWith
778
+ */
779
+ intersectionWith<T2>(values: List<T2>, comparator: Comparator2<T, T2>): Collection<T>;
780
+ /**
781
+ * @see _.intersectionWith
782
+ */
783
+ intersectionWith(...values: Array<List<unknown> | Comparator2<T, never>>): Collection<T>;
784
+ }
785
+ interface CollectionChain<T> {
786
+ /**
787
+ * @see _.intersectionWith
788
+ */
789
+ intersectionWith<T2>(values: List<T2>, comparator: Comparator2<T, T2>): CollectionChain<T>;
790
+ /**
791
+ * @see _.intersectionWith
792
+ */
793
+ intersectionWith(...values: Array<List<unknown> | Comparator2<T, never>>): CollectionChain<T>;
794
+ }
795
+ interface LoDashStatic {
796
+ /**
797
+ * Converts all elements in `array` into a string separated by `separator`.
798
+ *
799
+ * @param array The array to convert.
800
+ * @param separator The element separator.
801
+ * @returns Returns the joined string.
802
+ */
803
+ join(array: List<any> | null | undefined, separator?: string): string;
804
+ }
805
+ interface String {
806
+ /**
807
+ * @see _.join
808
+ */
809
+ join(separator?: string): string;
810
+ }
811
+ interface StringChain {
812
+ /**
813
+ * @see _.join
814
+ */
815
+ join(separator?: string): StringChain;
816
+ }
817
+ interface StringNullableChain {
818
+ /**
819
+ * @see _.join
820
+ */
821
+ join(separator?: string): StringChain;
822
+ }
823
+ interface Collection<T> {
824
+ /**
825
+ * @see _.join
826
+ */
827
+ join(separator?: string): string;
828
+ }
829
+ interface CollectionChain<T> {
830
+ /**
831
+ * @see _.join
832
+ */
833
+ join(separator?: string): StringChain;
834
+ }
835
+ interface LoDashStatic {
836
+ /**
837
+ * Gets the last element of array.
838
+ *
839
+ * @param array The array to query.
840
+ * @return Returns the last element of array.
841
+ */
842
+ last<T>(array: List<T> | null | undefined): T | undefined;
843
+ }
844
+ interface Collection<T> {
845
+ /**
846
+ * @see _.last
847
+ */
848
+ last(): T | undefined;
849
+ }
850
+ interface CollectionChain<T> {
851
+ /**
852
+ * @see _.last
853
+ */
854
+ last(): ExpChain<T | undefined>;
855
+ }
856
+ interface String {
857
+ /**
858
+ * @see _.last
859
+ */
860
+ last(): string | undefined;
861
+ }
862
+ interface StringChain {
863
+ /**
864
+ * @see _.last
865
+ */
866
+ last(): StringNullableChain;
867
+ }
868
+ interface StringNullableChain {
869
+ /**
870
+ * @see _.last
871
+ */
872
+ last(): StringNullableChain;
873
+ }
874
+ interface LoDashStatic {
875
+ /**
876
+ * This method is like _.indexOf except that it iterates over elements of array from right to left.
877
+ *
878
+ * @param array The array to search.
879
+ * @param value The value to search for.
880
+ * @param fromIndex The index to search from or true to perform a binary search on a sorted array.
881
+ * @return Returns the index of the matched value, else -1.
882
+ */
883
+ lastIndexOf<T>(array: List<T> | null | undefined, value: T, fromIndex?: true|number): number;
884
+ }
885
+ interface Collection<T> {
886
+ /**
887
+ * @see _.lastIndexOf
888
+ */
889
+ lastIndexOf(value: T, fromIndex?: true|number): number;
890
+ }
891
+ interface CollectionChain<T> {
892
+ /**
893
+ * @see _.lastIndexOf
894
+ */
895
+ lastIndexOf(value: T, fromIndex?: true|number): PrimitiveChain<number>;
896
+ }
897
+ interface LoDashStatic {
898
+ /**
899
+ * Gets the element at index `n` of `array`. If `n` is negative, the nth element from the end is returned.
900
+ *
901
+ * @param array array The array to query.
902
+ * @param value The index of the element to return.
903
+ * @return Returns the nth element of `array`.
904
+ */
905
+ nth<T>(array: List<T> | null | undefined, n?: number): T | undefined;
906
+ }
907
+ interface Collection<T> {
908
+ /**
909
+ * @see _.nth
910
+ */
911
+ nth(n?: number): T | undefined;
912
+ }
913
+ interface CollectionChain<T> {
914
+ /**
915
+ * @see _.nth
916
+ */
917
+ nth(n?: number): ExpChain<T | undefined>;
918
+ }
919
+ interface LoDashStatic {
920
+ /**
921
+ * Removes all provided values from array using SameValueZero for equality comparisons.
922
+ *
923
+ * Note: Unlike _.without, this method mutates array.
924
+ *
925
+ * @param array The array to modify.
926
+ * @param values The values to remove.
927
+ * @return Returns array.
928
+ */
929
+ pull<T>(array: T[], ...values: T[]): T[];
930
+ /**
931
+ * @see _.pull
932
+ */
933
+ pull<T>(array: List<T>, ...values: T[]): List<T>;
934
+ }
935
+ interface Collection<T> {
936
+ /**
937
+ * @see _.pull
938
+ */
939
+ pull(...values: T[]): Collection<T>;
940
+ }
941
+ interface CollectionChain<T> {
942
+ /**
943
+ * @see _.pull
944
+ */
945
+ pull(...values: T[]): CollectionChain<T>;
946
+ }
947
+ interface LoDashStatic {
948
+ /**
949
+ * This method is like `_.pull` except that it accepts an array of values to remove.
950
+ *
951
+ * **Note:** Unlike `_.difference`, this method mutates `array`.
952
+ *
953
+ * @category Array
954
+ * @param array The array to modify.
955
+ * @param values The values to remove.
956
+ * @returns Returns `array`.
957
+ * @example
958
+ *
959
+ * var array = [1, 2, 3, 1, 2, 3];
960
+ *
961
+ * _.pull(array, [2, 3]);
962
+ * console.log(array);
963
+ * // => [1, 1]
964
+ */
965
+ pullAll<T>(array: T[], values?: List<T>): T[];
966
+ /**
967
+ * @see _.pullAll
968
+ */
969
+ pullAll<T>(array: List<T>, values?: List<T>): List<T>;
970
+ }
971
+ interface Collection<T> {
972
+ /**
973
+ * @see _.pullAll
974
+ */
975
+ pullAll(values?: List<T>): Collection<T>;
976
+ }
977
+ interface CollectionChain<T> {
978
+ /**
979
+ * @see _.pullAll
980
+ */
981
+ pullAll(values?: List<T>): CollectionChain<T>;
982
+ }
983
+ interface LoDashStatic {
984
+ /**
985
+ * This method is like `_.pullAll` except that it accepts `iteratee` which is
986
+ * invoked for each element of `array` and `values` to to generate the criterion
987
+ * by which uniqueness is computed. The iteratee is invoked with one argument: (value).
988
+ *
989
+ * **Note:** Unlike `_.differenceBy`, this method mutates `array`.
990
+ *
991
+ * @category Array
992
+ * @param array The array to modify.
993
+ * @param values The values to remove.
994
+ * @param [iteratee=_.identity] The iteratee invoked per element.
995
+ * @returns Returns `array`.
996
+ * @example
997
+ *
998
+ * var array = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }];
999
+ *
1000
+ * _.pullAllBy(array, [{ 'x': 1 }, { 'x': 3 }], 'x');
1001
+ * console.log(array);
1002
+ * // => [{ 'x': 2 }]
1003
+ */
1004
+ pullAllBy<T>(array: T[], values?: List<T>, iteratee?: ValueIteratee<T>): T[];
1005
+ /**
1006
+ * @see _.pullAllBy
1007
+ */
1008
+ pullAllBy<T>(array: List<T>, values?: List<T>, iteratee?: ValueIteratee<T>): List<T>;
1009
+ /**
1010
+ * @see _.pullAllBy
1011
+ */
1012
+ pullAllBy<T1, T2>(array: T1[], values: List<T2>, iteratee: ValueIteratee<T1 | T2>): T1[];
1013
+ /**
1014
+ * @see _.pullAllBy
1015
+ */
1016
+ pullAllBy<T1, T2>(array: List<T1>, values: List<T2>, iteratee: ValueIteratee<T1 | T2>): List<T1>;
1017
+ }
1018
+ interface Collection<T> {
1019
+ /**
1020
+ * @see _.pullAllBy
1021
+ */
1022
+ pullAllBy<T2>(values?: List<T2>, iteratee?: ValueIteratee<T | T2>): Collection<T>;
1023
+ }
1024
+ interface CollectionChain<T> {
1025
+ /**
1026
+ * @see _.pullAllBy
1027
+ */
1028
+ pullAllBy<T2>(values?: List<T2>, iteratee?: ValueIteratee<T | T2>): CollectionChain<T>;
1029
+ }
1030
+ interface LoDashStatic {
1031
+ /**
1032
+ * This method is like `_.pullAll` except that it accepts `comparator` which is
1033
+ * invoked to compare elements of array to values. The comparator is invoked with
1034
+ * two arguments: (arrVal, othVal).
1035
+ *
1036
+ * **Note:** Unlike `_.differenceWith`, this method mutates `array`.
1037
+ *
1038
+ * @category Array
1039
+ * @param array The array to modify.
1040
+ * @param values The values to remove.
1041
+ * @param [iteratee=_.identity] The iteratee invoked per element.
1042
+ * @returns Returns `array`.
1043
+ * @example
1044
+ *
1045
+ * var array = [{ 'x': 1, 'y': 2 }, { 'x': 3, 'y': 4 }, { 'x': 5, 'y': 6 }];
1046
+ *
1047
+ * _.pullAllWith(array, [{ 'x': 3, 'y': 4 }], _.isEqual);
1048
+ * console.log(array);
1049
+ * // => [{ 'x': 1, 'y': 2 }, { 'x': 5, 'y': 6 }]
1050
+ */
1051
+ pullAllWith<T>(array: T[], values?: List<T>, comparator?: Comparator<T>): T[];
1052
+ /**
1053
+ * @see _.pullAllWith
1054
+ */
1055
+ pullAllWith<T>(array: List<T>, values?: List<T>, comparator?: Comparator<T>): List<T>;
1056
+ /**
1057
+ * @see _.pullAllWith
1058
+ */
1059
+ pullAllWith<T1, T2>(array: T1[], values: List<T2>, comparator: Comparator2<T1, T2>): T1[];
1060
+ /**
1061
+ * @see _.pullAllWith
1062
+ */
1063
+ pullAllWith<T1, T2>(array: List<T1>, values: List<T2>, comparator: Comparator2<T1, T2>): List<T1>;
1064
+ }
1065
+ interface Collection<T> {
1066
+ /**
1067
+ * @see _.pullAllWith
1068
+ */
1069
+ pullAllWith<T2>(values?: List<T2>, comparator?: Comparator2<T, T2>): Collection<T>;
1070
+ }
1071
+ interface CollectionChain<T> {
1072
+ /**
1073
+ * @see _.pullAllWith
1074
+ */
1075
+ pullAllWith<T2>(values?: List<T2>, comparator?: Comparator2<T, T2>): CollectionChain<T>;
1076
+ }
1077
+ interface LoDashStatic {
1078
+ /**
1079
+ * Removes elements from array corresponding to the given indexes and returns an array of the removed elements.
1080
+ * Indexes may be specified as an array of indexes or as individual arguments.
1081
+ *
1082
+ * Note: Unlike _.at, this method mutates array.
1083
+ *
1084
+ * @param array The array to modify.
1085
+ * @param indexes The indexes of elements to remove, specified as individual indexes or arrays of indexes.
1086
+ * @return Returns the new array of removed elements.
1087
+ */
1088
+ pullAt<T>(array: T[], ...indexes: Array<Many<number>>): T[];
1089
+ /**
1090
+ * @see _.pullAt
1091
+ */
1092
+ pullAt<T>(array: List<T>, ...indexes: Array<Many<number>>): List<T>;
1093
+ }
1094
+ interface Collection<T> {
1095
+ /**
1096
+ * @see _.pullAt
1097
+ */
1098
+ pullAt(...indexes: Array<Many<number>>): Collection<T>;
1099
+ }
1100
+ interface CollectionChain<T> {
1101
+ /**
1102
+ * @see _.pullAt
1103
+ */
1104
+ pullAt(...indexes: Array<Many<number>>): CollectionChain<T>;
1105
+ }
1106
+ interface LoDashStatic {
1107
+ /**
1108
+ * Removes all elements from array that predicate returns truthy for and returns an array of the removed
1109
+ * elements. The predicate is invoked with three arguments: (value, index, array).
1110
+ *
1111
+ * Note: Unlike _.filter, this method mutates array.
1112
+ *
1113
+ * @param array The array to modify.
1114
+ * @param predicate The function invoked per iteration.
1115
+ * @return Returns the new array of removed elements.
1116
+ */
1117
+ remove<T>(array: List<T>, predicate?: ListIteratee<T>): T[];
1118
+ }
1119
+ interface Collection<T> {
1120
+ /**
1121
+ * @see _.remove
1122
+ */
1123
+ remove(predicate?: ListIteratee<T>): Collection<T>;
1124
+ }
1125
+ interface CollectionChain<T> {
1126
+ /**
1127
+ * @see _.remove
1128
+ */
1129
+ remove(predicate?: ListIteratee<T>): CollectionChain<T>;
1130
+ }
1131
+ interface LoDashStatic {
1132
+ /**
1133
+ * Reverses `array` so that the first element becomes the last, the second
1134
+ * element becomes the second to last, and so on.
1135
+ *
1136
+ * **Note:** This method mutates `array` and is based on
1137
+ * [`Array#reverse`](https://mdn.io/Array/reverse).
1138
+ *
1139
+ * @category Array
1140
+ * @returns Returns `array`.
1141
+ * @example
1142
+ *
1143
+ * var array = [1, 2, 3];
1144
+ *
1145
+ * _.reverse(array);
1146
+ * // => [3, 2, 1]
1147
+ *
1148
+ * console.log(array);
1149
+ * // => [3, 2, 1]
1150
+ */
1151
+ reverse<TList extends List<any>>(array: TList): TList;
1152
+ }
1153
+ interface LoDashStatic {
1154
+ /**
1155
+ * Creates a slice of array from start up to, but not including, end.
1156
+ *
1157
+ * @param array The array to slice.
1158
+ * @param start The start position.
1159
+ * @param end The end position.
1160
+ * @return Returns the slice of array.
1161
+ */
1162
+ slice<T>(array: List<T> | null | undefined, start?: number, end?: number): T[];
1163
+ }
1164
+ interface Collection<T> {
1165
+ /**
1166
+ * @see _.slice
1167
+ */
1168
+ slice(start?: number, end?: number): Collection<T>;
1169
+ }
1170
+ interface CollectionChain<T> {
1171
+ /**
1172
+ * @see _.slice
1173
+ */
1174
+ slice(start?: number, end?: number): CollectionChain<T>;
1175
+ }
1176
+ interface LoDashStatic {
1177
+ /**
1178
+ * Uses a binary search to determine the lowest index at which `value` should
1179
+ * be inserted into `array` in order to maintain its sort order.
1180
+ *
1181
+ * @category Array
1182
+ * @param array The sorted array to inspect.
1183
+ * @param value The value to evaluate.
1184
+ * @returns Returns the index at which `value` should be inserted into `array`.
1185
+ * @example
1186
+ *
1187
+ * _.sortedIndex([30, 50], 40);
1188
+ * // => 1
1189
+ *
1190
+ * _.sortedIndex([4, 5], 4);
1191
+ * // => 0
1192
+ */
1193
+ sortedIndex<T>(array: List<T> | null | undefined, value: T): number;
1194
+ }
1195
+ interface Collection<T> {
1196
+ /**
1197
+ * @see _.sortedIndex
1198
+ */
1199
+ sortedIndex(value: T): number;
1200
+ }
1201
+ interface CollectionChain<T> {
1202
+ /**
1203
+ * @see _.sortedIndex
1204
+ */
1205
+ sortedIndex(value: T): PrimitiveChain<number>;
1206
+ }
1207
+ interface LoDashStatic {
1208
+ /**
1209
+ * Uses a binary search to determine the lowest index at which `value` should
1210
+ * be inserted into `array` in order to maintain its sort order.
1211
+ *
1212
+ * @category Array
1213
+ * @param array The sorted array to inspect.
1214
+ * @param value The value to evaluate.
1215
+ * @returns Returns the index at which `value` should be inserted into `array`.
1216
+ * @example
1217
+ *
1218
+ * _.sortedIndex([30, 50], 40);
1219
+ * // => 1
1220
+ *
1221
+ * _.sortedIndex([4, 5], 4);
1222
+ * // => 0
1223
+ */
1224
+ sortedIndex<T>(array: List<T> | null | undefined, value: T): number;
1225
+ }
1226
+ interface Collection<T> {
1227
+ /**
1228
+ * @see _.sortedIndex
1229
+ */
1230
+ sortedIndex(value: T): number;
1231
+ }
1232
+ interface CollectionChain<T> {
1233
+ /**
1234
+ * @see _.sortedIndex
1235
+ */
1236
+ sortedIndex(value: T): PrimitiveChain<number>;
1237
+ }
1238
+ interface LoDashStatic {
1239
+ /**
1240
+ * This method is like `_.sortedIndex` except that it accepts `iteratee`
1241
+ * which is invoked for `value` and each element of `array` to compute their
1242
+ * sort ranking. The iteratee is invoked with one argument: (value).
1243
+ *
1244
+ * @category Array
1245
+ * @param array The sorted array to inspect.
1246
+ * @param value The value to evaluate.
1247
+ * @param [iteratee=_.identity] The iteratee invoked per element.
1248
+ * @returns Returns the index at which `value` should be inserted into `array`.
1249
+ * @example
1250
+ *
1251
+ * var dict = { 'thirty': 30, 'forty': 40, 'fifty': 50 };
1252
+ *
1253
+ * _.sortedIndexBy(['thirty', 'fifty'], 'forty', _.propertyOf(dict));
1254
+ * // => 1
1255
+ *
1256
+ * // using the `_.property` iteratee shorthand
1257
+ * _.sortedIndexBy([{ 'x': 4 }, { 'x': 5 }], { 'x': 4 }, 'x');
1258
+ * // => 0
1259
+ */
1260
+ sortedIndexBy<T>(array: List<T> | null | undefined, value: T, iteratee?: ValueIteratee<T>): number;
1261
+ }
1262
+ interface Collection<T> {
1263
+ /**
1264
+ * @see _.sortedIndexBy
1265
+ */
1266
+ sortedIndexBy(value: T, iteratee?: ValueIteratee<T>): number;
1267
+ }
1268
+ interface CollectionChain<T> {
1269
+ /**
1270
+ * @see _.sortedIndexBy
1271
+ */
1272
+ sortedIndexBy(value: T, iteratee?: ValueIteratee<T>): PrimitiveChain<number>;
1273
+ }
1274
+ interface LoDashStatic {
1275
+ /**
1276
+ * This method is like `_.indexOf` except that it performs a binary
1277
+ * search on a sorted `array`.
1278
+ *
1279
+ * @category Array
1280
+ * @param array The array to search.
1281
+ * @param value The value to search for.
1282
+ * @returns Returns the index of the matched value, else `-1`.
1283
+ * @example
1284
+ *
1285
+ * _.sortedIndexOf([1, 1, 2, 2], 2);
1286
+ * // => 2
1287
+ */
1288
+ sortedIndexOf<T>(array: List<T> | null | undefined, value: T): number;
1289
+ }
1290
+ interface Collection<T> {
1291
+ /**
1292
+ * @see _.sortedIndexOf
1293
+ */
1294
+ sortedIndexOf(value: T): number;
1295
+ }
1296
+ interface CollectionChain<T> {
1297
+ /**
1298
+ * @see _.sortedIndexOf
1299
+ */
1300
+ sortedIndexOf(value: T): PrimitiveChain<number>;
1301
+ }
1302
+ interface LoDashStatic {
1303
+ /**
1304
+ * This method is like `_.sortedIndex` except that it returns the highest
1305
+ * index at which `value` should be inserted into `array` in order to
1306
+ * maintain its sort order.
1307
+ *
1308
+ * @category Array
1309
+ * @param array The sorted array to inspect.
1310
+ * @param value The value to evaluate.
1311
+ * @returns Returns the index at which `value` should be inserted into `array`.
1312
+ * @example
1313
+ *
1314
+ * _.sortedLastIndex([4, 5], 4);
1315
+ * // => 1
1316
+ */
1317
+ sortedLastIndex<T>(array: List<T> | null | undefined, value: T): number;
1318
+ }
1319
+ interface Collection<T> {
1320
+ /**
1321
+ * @see _.sortedLastIndex
1322
+ */
1323
+ sortedLastIndex(value: T): number;
1324
+ }
1325
+ interface CollectionChain<T> {
1326
+ /**
1327
+ * @see _.sortedLastIndex
1328
+ */
1329
+ sortedLastIndex(value: T): PrimitiveChain<number>;
1330
+ }
1331
+ interface LoDashStatic {
1332
+ /**
1333
+ * This method is like `_.sortedLastIndex` except that it accepts `iteratee`
1334
+ * which is invoked for `value` and each element of `array` to compute their
1335
+ * sort ranking. The iteratee is invoked with one argument: (value).
1336
+ *
1337
+ * @category Array
1338
+ * @param array The sorted array to inspect.
1339
+ * @param value The value to evaluate.
1340
+ * @param [iteratee=_.identity] The iteratee invoked per element.
1341
+ * @returns Returns the index at which `value` should be inserted into `array`.
1342
+ * @example
1343
+ *
1344
+ * // using the `_.property` iteratee shorthand
1345
+ * _.sortedLastIndexBy([{ 'x': 4 }, { 'x': 5 }], { 'x': 4 }, 'x');
1346
+ * // => 1
1347
+ */
1348
+ sortedLastIndexBy<T>(array: List<T> | null | undefined, value: T, iteratee: ValueIteratee<T>): number;
1349
+ }
1350
+ interface Collection<T> {
1351
+ /**
1352
+ * @see _.sortedLastIndexBy
1353
+ */
1354
+ sortedLastIndexBy(value: T, iteratee: ValueIteratee<T>): number;
1355
+ }
1356
+ interface CollectionChain<T> {
1357
+ /**
1358
+ * @see _.sortedLastIndexBy
1359
+ */
1360
+ sortedLastIndexBy(value: T, iteratee: ValueIteratee<T>): PrimitiveChain<number>;
1361
+ }
1362
+ interface LoDashStatic {
1363
+ /**
1364
+ * This method is like `_.lastIndexOf` except that it performs a binary
1365
+ * search on a sorted `array`.
1366
+ *
1367
+ * @category Array
1368
+ * @param array The array to search.
1369
+ * @param value The value to search for.
1370
+ * @returns Returns the index of the matched value, else `-1`.
1371
+ * @example
1372
+ *
1373
+ * _.sortedLastIndexOf([1, 1, 2, 2], 2);
1374
+ * // => 3
1375
+ */
1376
+ sortedLastIndexOf<T>(array: List<T> | null | undefined, value: T): number;
1377
+ }
1378
+ interface Collection<T> {
1379
+ /**
1380
+ * @see _.sortedLastIndexOf
1381
+ */
1382
+ sortedLastIndexOf(value: T): number;
1383
+ }
1384
+ interface CollectionChain<T> {
1385
+ /**
1386
+ * @see _.sortedLastIndexOf
1387
+ */
1388
+ sortedLastIndexOf(value: T): PrimitiveChain<number>;
1389
+ }
1390
+ interface LoDashStatic {
1391
+ /**
1392
+ * This method is like `_.uniq` except that it's designed and optimized
1393
+ * for sorted arrays.
1394
+ *
1395
+ * @category Array
1396
+ * @param array The array to inspect.
1397
+ * @returns Returns the new duplicate free array.
1398
+ * @example
1399
+ *
1400
+ * _.sortedUniq([1, 1, 2]);
1401
+ * // => [1, 2]
1402
+ */
1403
+ sortedUniq<T>(array: List<T> | null | undefined): T[];
1404
+ }
1405
+ interface Collection<T> {
1406
+ /**
1407
+ * @see _.sortedUniq
1408
+ */
1409
+ sortedUniq(): Collection<T>;
1410
+ }
1411
+ interface CollectionChain<T> {
1412
+ /**
1413
+ * @see _.sortedUniq
1414
+ */
1415
+ sortedUniq(): CollectionChain<T>;
1416
+ }
1417
+ interface LoDashStatic {
1418
+ /**
1419
+ * This method is like `_.uniqBy` except that it's designed and optimized
1420
+ * for sorted arrays.
1421
+ *
1422
+ * @category Array
1423
+ * @param array The array to inspect.
1424
+ * @param [iteratee] The iteratee invoked per element.
1425
+ * @returns Returns the new duplicate free array.
1426
+ * @example
1427
+ *
1428
+ * _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor);
1429
+ * // => [1.1, 2.3]
1430
+ */
1431
+ sortedUniqBy<T>(array: List<T> | null | undefined, iteratee: ValueIteratee<T>): T[];
1432
+ }
1433
+ interface Collection<T> {
1434
+ /**
1435
+ * @see _.sortedUniqBy
1436
+ */
1437
+ sortedUniqBy(iteratee: ValueIteratee<T>): Collection<T>;
1438
+ }
1439
+ interface CollectionChain<T> {
1440
+ /**
1441
+ * @see _.sortedUniqBy
1442
+ */
1443
+ sortedUniqBy(iteratee: ValueIteratee<T>): CollectionChain<T>;
1444
+ }
1445
+ interface LoDashStatic {
1446
+ /**
1447
+ * Gets all but the first element of array.
1448
+ *
1449
+ * @param array The array to query.
1450
+ * @return Returns the slice of array.
1451
+ */
1452
+ tail<T>(array: List<T> | null | undefined): T[];
1453
+ }
1454
+ interface Collection<T> {
1455
+ /**
1456
+ * @see _.tail
1457
+ */
1458
+ tail(): Collection<T>;
1459
+ }
1460
+ interface CollectionChain<T> {
1461
+ /**
1462
+ * @see _.tail
1463
+ */
1464
+ tail(): CollectionChain<T>;
1465
+ }
1466
+ interface LoDashStatic {
1467
+ /**
1468
+ * Creates a slice of array with n elements taken from the beginning.
1469
+ *
1470
+ * @param array The array to query.
1471
+ * @param n The number of elements to take.
1472
+ * @return Returns the slice of array.
1473
+ */
1474
+ take<T>(array: List<T> | null | undefined, n?: number): T[];
1475
+ }
1476
+ interface Collection<T> {
1477
+ /**
1478
+ * @see _.take
1479
+ */
1480
+ take(n?: number): Collection<T>;
1481
+ }
1482
+ interface CollectionChain<T> {
1483
+ /**
1484
+ * @see _.take
1485
+ */
1486
+ take(n?: number): CollectionChain<T>;
1487
+ }
1488
+ interface LoDashStatic {
1489
+ /**
1490
+ * Creates a slice of array with n elements taken from the end.
1491
+ *
1492
+ * @param array The array to query.
1493
+ * @param n The number of elements to take.
1494
+ * @return Returns the slice of array.
1495
+ */
1496
+ takeRight<T>(array: List<T> | null | undefined, n?: number): T[];
1497
+ }
1498
+ interface Collection<T> {
1499
+ /**
1500
+ * @see _.takeRight
1501
+ */
1502
+ takeRight(n?: number): Collection<T>;
1503
+ }
1504
+ interface CollectionChain<T> {
1505
+ /**
1506
+ * @see _.takeRight
1507
+ */
1508
+ takeRight(n?: number): CollectionChain<T>;
1509
+ }
1510
+ interface LoDashStatic {
1511
+ /**
1512
+ * Creates a slice of array with elements taken from the end. Elements are taken until predicate returns
1513
+ * falsey. The predicate is invoked with three arguments: (value, index, array).
1514
+ *
1515
+ * @param array The array to query.
1516
+ * @param predicate The function invoked per iteration.
1517
+ * @return Returns the slice of array.
1518
+ */
1519
+ takeRightWhile<T>(array: List<T> | null | undefined, predicate?: ListIteratee<T>): T[];
1520
+ }
1521
+ interface Collection<T> {
1522
+ /**
1523
+ * @see _.takeRightWhile
1524
+ */
1525
+ takeRightWhile(predicate?: ListIteratee<T>): Collection<T>;
1526
+ }
1527
+ interface CollectionChain<T> {
1528
+ /**
1529
+ * @see _.takeRightWhile
1530
+ */
1531
+ takeRightWhile(predicate?: ListIteratee<T>): CollectionChain<T>;
1532
+ }
1533
+ interface LoDashStatic {
1534
+ /**
1535
+ * Creates a slice of array with elements taken from the beginning. Elements are taken until predicate returns
1536
+ * falsey. The predicate is invoked with three arguments: (value, index, array).
1537
+ *
1538
+ * @param array The array to query.
1539
+ * @param predicate The function invoked per iteration.
1540
+ * @return Returns the slice of array.
1541
+ */
1542
+ takeWhile<T>(array: List<T> | null | undefined, predicate?: ListIteratee<T>): T[];
1543
+ }
1544
+ interface Collection<T> {
1545
+ /**
1546
+ * @see _.takeWhile
1547
+ */
1548
+ takeWhile(predicate?: ListIteratee<T>): Collection<T>;
1549
+ }
1550
+ interface CollectionChain<T> {
1551
+ /**
1552
+ * @see _.takeWhile
1553
+ */
1554
+ takeWhile(predicate?: ListIteratee<T>): CollectionChain<T>;
1555
+ }
1556
+ interface LoDashStatic {
1557
+ /**
1558
+ * Creates an array of unique values, in order, from all of the provided arrays using SameValueZero for
1559
+ * equality comparisons.
1560
+ *
1561
+ * @param arrays The arrays to inspect.
1562
+ * @return Returns the new array of combined values.
1563
+ */
1564
+ union<T>(...arrays: Array<List<T> | null | undefined>): T[];
1565
+ }
1566
+ interface Collection<T> {
1567
+ /**
1568
+ * @see _.union
1569
+ */
1570
+ union(...arrays: Array<List<T> | null | undefined>): Collection<T>;
1571
+ }
1572
+ interface CollectionChain<T> {
1573
+ /**
1574
+ * @see _.union
1575
+ */
1576
+ union(...arrays: Array<List<T> | null | undefined>): CollectionChain<T>;
1577
+ }
1578
+ interface LoDashStatic {
1579
+ /**
1580
+ * This method is like `_.union` except that it accepts `iteratee` which is
1581
+ * invoked for each element of each `arrays` to generate the criterion by which
1582
+ * uniqueness is computed. The iteratee is invoked with one argument: (value).
1583
+ *
1584
+ * @param arrays The arrays to inspect.
1585
+ * @param iteratee The iteratee invoked per element.
1586
+ * @return Returns the new array of combined values.
1587
+ */
1588
+ unionBy<T>(arrays: List<T> | null | undefined, iteratee?: ValueIteratee<T>): T[];
1589
+ /**
1590
+ * @see _.unionBy
1591
+ */
1592
+ unionBy<T>(arrays1: List<T> | null | undefined, arrays2: List<T> | null | undefined, iteratee?: ValueIteratee<T>): T[];
1593
+ /**
1594
+ * @see _.unionBy
1595
+ */
1596
+ unionBy<T>(arrays1: List<T> | null | undefined, arrays2: List<T> | null | undefined, arrays3: List<T> | null | undefined, iteratee?: ValueIteratee<T>): T[];
1597
+ /**
1598
+ * @see _.unionBy
1599
+ */
1600
+ unionBy<T>(arrays1: List<T> | null | undefined, arrays2: List<T> | null | undefined, arrays3: List<T> | null | undefined, arrays4: List<T> | null | undefined, iteratee?: ValueIteratee<T>): T[];
1601
+ /**
1602
+ * @see _.unionBy
1603
+ */
1604
+ unionBy<T>(arrays1: List<T> | null | undefined, arrays2: List<T> | null | undefined, arrays3: List<T> | null | undefined, arrays4: List<T> | null | undefined, arrays5: List<T> | null | undefined, ...iteratee: Array<ValueIteratee<T> | List<T> | null | undefined>): T[];
1605
+ }
1606
+ interface Collection<T> {
1607
+ /**
1608
+ * @see _.unionBy
1609
+ */
1610
+ unionBy(arrays2: List<T> | null | undefined, iteratee?: ValueIteratee<T>): Collection<T>;
1611
+ /**
1612
+ * @see _.unionBy
1613
+ */
1614
+ unionBy(...iteratee: Array<ValueIteratee<T> | List<T> | null | undefined>): Collection<T>;
1615
+ }
1616
+ interface CollectionChain<T> {
1617
+ /**
1618
+ * @see _.unionBy
1619
+ */
1620
+ unionBy(arrays2: List<T> | null | undefined, iteratee?: ValueIteratee<T>): CollectionChain<T>;
1621
+ /**
1622
+ * @see _.unionBy
1623
+ */
1624
+ unionBy(...iteratee: Array<ValueIteratee<T> | List<T> | null | undefined>): CollectionChain<T>;
1625
+ }
1626
+ interface LoDashStatic {
1627
+ /**
1628
+ * This method is like `_.union` except that it accepts `comparator` which
1629
+ * is invoked to compare elements of `arrays`. The comparator is invoked
1630
+ * with two arguments: (arrVal, othVal).
1631
+ *
1632
+ * @category Array
1633
+ * @param [arrays] The arrays to inspect.
1634
+ * @param [comparator] The comparator invoked per element.
1635
+ * @returns Returns the new array of combined values.
1636
+ * @example
1637
+ *
1638
+ * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];
1639
+ * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];
1640
+ *
1641
+ * _.unionWith(objects, others, _.isEqual);
1642
+ * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]
1643
+ */
1644
+ unionWith<T>(arrays: List<T> | null | undefined, comparator?: Comparator<T>): T[];
1645
+ /**
1646
+ * @see _.unionWith
1647
+ */
1648
+ unionWith<T>(arrays: List<T> | null | undefined, arrays2: List<T> | null | undefined, comparator?: Comparator<T>): T[];
1649
+ /**
1650
+ * @see _.unionWith
1651
+ */
1652
+ unionWith<T>(arrays: List<T> | null | undefined, arrays2: List<T> | null | undefined, arrays3: List<T> | null | undefined, ...comparator: Array<Comparator<T> | List<T> | null | undefined>): T[];
1653
+ }
1654
+ interface Collection<T> {
1655
+ /**
1656
+ * @see _.unionWith
1657
+ */
1658
+ unionWith(arrays2: List<T> | null | undefined, comparator?: Comparator<T>): Collection<T>;
1659
+ /**
1660
+ * @see _.unionWith
1661
+ */
1662
+ unionWith(...comparator: Array<Comparator<T> | List<T> | null | undefined>): Collection<T>;
1663
+ }
1664
+ interface CollectionChain<T> {
1665
+ /**
1666
+ * @see _.unionWith
1667
+ */
1668
+ unionWith(arrays2: List<T> | null | undefined, comparator?: Comparator<T>): CollectionChain<T>;
1669
+ /**
1670
+ * @see _.unionWith
1671
+ */
1672
+ unionWith(...comparator: Array<Comparator<T> | List<T> | null | undefined>): CollectionChain<T>;
1673
+ }
1674
+ interface LoDashStatic {
1675
+ /**
1676
+ * Creates a duplicate-free version of an array, using
1677
+ * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
1678
+ * for equality comparisons, in which only the first occurrence of each element
1679
+ * is kept.
1680
+ *
1681
+ * @category Array
1682
+ * @param array The array to inspect.
1683
+ * @returns Returns the new duplicate free array.
1684
+ * @example
1685
+ *
1686
+ * _.uniq([2, 1, 2]);
1687
+ * // => [2, 1]
1688
+ */
1689
+ uniq<T>(array: List<T> | null | undefined): T[];
1690
+ }
1691
+ interface Collection<T> {
1692
+ /**
1693
+ * @see _.uniq
1694
+ */
1695
+ uniq(): Collection<T>;
1696
+ }
1697
+ interface CollectionChain<T> {
1698
+ /**
1699
+ * @see _.uniq
1700
+ */
1701
+ uniq(): CollectionChain<T>;
1702
+ }
1703
+ interface LoDashStatic {
1704
+ /**
1705
+ * This method is like `_.uniq` except that it accepts `iteratee` which is
1706
+ * invoked for each element in `array` to generate the criterion by which
1707
+ * uniqueness is computed. The iteratee is invoked with one argument: (value).
1708
+ *
1709
+ * @category Array
1710
+ * @param array The array to inspect.
1711
+ * @param [iteratee=_.identity] The iteratee invoked per element.
1712
+ * @returns Returns the new duplicate free array.
1713
+ * @example
1714
+ *
1715
+ * _.uniqBy([2.1, 1.2, 2.3], Math.floor);
1716
+ * // => [2.1, 1.2]
1717
+ *
1718
+ * // using the `_.property` iteratee shorthand
1719
+ * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');
1720
+ * // => [{ 'x': 1 }, { 'x': 2 }]
1721
+ */
1722
+ uniqBy<T>(array: List<T> | null | undefined, iteratee: ValueIteratee<T>): T[];
1723
+ }
1724
+ interface Collection<T> {
1725
+ /**
1726
+ * @see _.uniqBy
1727
+ */
1728
+ uniqBy(iteratee: ValueIteratee<T>): Collection<T>;
1729
+ }
1730
+ interface CollectionChain<T> {
1731
+ /**
1732
+ * @see _.uniqBy
1733
+ */
1734
+ uniqBy(iteratee: ValueIteratee<T>): CollectionChain<T>;
1735
+ }
1736
+ interface LoDashStatic {
1737
+ /**
1738
+ * This method is like `_.uniq` except that it accepts `comparator` which
1739
+ * is invoked to compare elements of `array`. The comparator is invoked with
1740
+ * two arguments: (arrVal, othVal).
1741
+ *
1742
+ * @category Array
1743
+ * @param array The array to inspect.
1744
+ * @param [comparator] The comparator invoked per element.
1745
+ * @returns Returns the new duplicate free array.
1746
+ * @example
1747
+ *
1748
+ * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }];
1749
+ *
1750
+ * _.uniqWith(objects, _.isEqual);
1751
+ * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]
1752
+ */
1753
+ uniqWith<T>(array: List<T> | null | undefined, comparator?: Comparator<T>): T[];
1754
+ }
1755
+ interface Collection<T> {
1756
+ /**
1757
+ * @see _.uniqWith
1758
+ */
1759
+ uniqWith(comparator?: Comparator<T>): Collection<T>;
1760
+ }
1761
+ interface CollectionChain<T> {
1762
+ /**
1763
+ * @see _.uniqWith
1764
+ */
1765
+ uniqWith(comparator?: Comparator<T>): CollectionChain<T>;
1766
+ }
1767
+ interface LoDashStatic {
1768
+ /**
1769
+ * This method is like _.zip except that it accepts an array of grouped elements and creates an array
1770
+ * regrouping the elements to their pre-zip configuration.
1771
+ *
1772
+ * @param array The array of grouped elements to process.
1773
+ * @return Returns the new array of regrouped elements.
1774
+ */
1775
+ unzip<T>(array: T[][] | List<List<T>> | null | undefined): T[][];
1776
+ }
1777
+ interface Collection<T> {
1778
+ /**
1779
+ * @see _.unzip
1780
+ */
1781
+ unzip(): T extends List<infer U> ? Collection<U[]> : unknown;
1782
+ }
1783
+ interface CollectionChain<T> {
1784
+ /**
1785
+ * @see _.unzip
1786
+ */
1787
+ unzip(): T extends List<infer U> ? CollectionChain<U[]> : unknown;
1788
+ }
1789
+ interface LoDashStatic {
1790
+ /**
1791
+ * This method is like _.unzip except that it accepts an iteratee to specify how regrouped values should be
1792
+ * combined. The iteratee is invoked with four arguments: (accumulator, value, index, group).
1793
+ *
1794
+ * @param array The array of grouped elements to process.
1795
+ * @param iteratee The function to combine regrouped values.
1796
+ * @return Returns the new array of regrouped elements.
1797
+ */
1798
+ unzipWith<T, TResult>(array: List<List<T>> | null | undefined, iteratee: (...values: T[]) => TResult): TResult[];
1799
+ /**
1800
+ * @see _.unzipWith
1801
+ */
1802
+ unzipWith<T>(array: List<List<T>> | null | undefined): T[][];
1803
+ }
1804
+ interface Collection<T> {
1805
+ /**
1806
+ * @see _.unzipWith
1807
+ */
1808
+ unzipWith<TResult>(iteratee: (...values: Array<T extends List<infer U> ? U : unknown>) => TResult): Collection<TResult>;
1809
+ /**
1810
+ * @see _.unzipWith
1811
+ */
1812
+ unzipWith(): T extends List<infer U> ? Collection<U[]> : unknown;
1813
+ }
1814
+ interface CollectionChain<T> {
1815
+ /**
1816
+ * @see _.unzipWith
1817
+ */
1818
+ unzipWith<TResult>(iteratee: (...values: Array<T extends List<infer U> ? U : unknown>) => TResult): CollectionChain<TResult>;
1819
+ /**
1820
+ * @see _.unzipWith
1821
+ */
1822
+ unzipWith(): T extends List<infer U> ? CollectionChain<U[]> : unknown;
1823
+ }
1824
+ interface LoDashStatic {
1825
+ /**
1826
+ * Creates an array excluding all provided values using SameValueZero for equality comparisons.
1827
+ *
1828
+ * @param array The array to filter.
1829
+ * @param values The values to exclude.
1830
+ * @return Returns the new array of filtered values.
1831
+ */
1832
+ without<T>(array: List<T> | null | undefined, ...values: T[]): T[];
1833
+ }
1834
+ interface Collection<T> {
1835
+ /**
1836
+ * @see _.without
1837
+ */
1838
+ without(...values: T[]): Collection<T>;
1839
+ }
1840
+ interface CollectionChain<T> {
1841
+ /**
1842
+ * @see _.without
1843
+ */
1844
+ without(...values: T[]): CollectionChain<T>;
1845
+ }
1846
+ interface LoDashStatic {
1847
+ /**
1848
+ * Creates an array of unique values that is the symmetric difference of the provided arrays.
1849
+ *
1850
+ * @param arrays The arrays to inspect.
1851
+ * @return Returns the new array of values.
1852
+ */
1853
+ xor<T>(...arrays: Array<List<T> | null | undefined>): T[];
1854
+ }
1855
+ interface Collection<T> {
1856
+ /**
1857
+ * @see _.xor
1858
+ */
1859
+ xor(...arrays: Array<List<T> | null | undefined>): Collection<T>;
1860
+ }
1861
+ interface CollectionChain<T> {
1862
+ /**
1863
+ * @see _.xor
1864
+ */
1865
+ xor(...arrays: Array<List<T> | null | undefined>): CollectionChain<T>;
1866
+ }
1867
+ interface LoDashStatic {
1868
+ /**
1869
+ * This method is like `_.xor` except that it accepts `iteratee` which is
1870
+ * invoked for each element of each `arrays` to generate the criterion by which
1871
+ * uniqueness is computed. The iteratee is invoked with one argument: (value).
1872
+ *
1873
+ * @category Array
1874
+ * @param [arrays] The arrays to inspect.
1875
+ * @param [iteratee=_.identity] The iteratee invoked per element.
1876
+ * @returns Returns the new array of values.
1877
+ * @example
1878
+ *
1879
+ * _.xorBy([2.1, 1.2], [4.3, 2.4], Math.floor);
1880
+ * // => [1.2, 4.3]
1881
+ *
1882
+ * // using the `_.property` iteratee shorthand
1883
+ * _.xorBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');
1884
+ * // => [{ 'x': 2 }]
1885
+ */
1886
+ xorBy<T>(arrays: List<T> | null | undefined, iteratee?: ValueIteratee<T>): T[];
1887
+ /**
1888
+ * @see _.xorBy
1889
+ */
1890
+ xorBy<T>(arrays: List<T> | null | undefined, arrays2: List<T> | null | undefined, iteratee?: ValueIteratee<T>): T[];
1891
+ /**
1892
+ * @see _.xorBy
1893
+ */
1894
+ xorBy<T>(arrays: List<T> | null | undefined, arrays2: List<T> | null | undefined, arrays3: List<T> | null | undefined, ...iteratee: Array<ValueIteratee<T> | List<T> | null | undefined>): T[];
1895
+ }
1896
+ interface Collection<T> {
1897
+ /**
1898
+ * @see _.xorBy
1899
+ */
1900
+ xorBy(arrays2: List<T> | null | undefined, iteratee?: ValueIteratee<T>): Collection<T>;
1901
+ /**
1902
+ * @see _.xorBy
1903
+ */
1904
+ xorBy(...iteratee: Array<ValueIteratee<T> | List<T> | null | undefined>): Collection<T>;
1905
+ }
1906
+ interface CollectionChain<T> {
1907
+ /**
1908
+ * @see _.xorBy
1909
+ */
1910
+ xorBy(arrays2: List<T> | null | undefined, iteratee?: ValueIteratee<T>): CollectionChain<T>;
1911
+ /**
1912
+ * @see _.xorBy
1913
+ */
1914
+ xorBy(...iteratee: Array<ValueIteratee<T> | List<T> | null | undefined>): CollectionChain<T>;
1915
+ }
1916
+ interface LoDashStatic {
1917
+ /**
1918
+ * This method is like `_.xor` except that it accepts `comparator` which is
1919
+ * invoked to compare elements of `arrays`. The comparator is invoked with
1920
+ * two arguments: (arrVal, othVal).
1921
+ *
1922
+ * @category Array
1923
+ * @param [arrays] The arrays to inspect.
1924
+ * @param [comparator] The comparator invoked per element.
1925
+ * @returns Returns the new array of values.
1926
+ * @example
1927
+ *
1928
+ * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];
1929
+ * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];
1930
+ *
1931
+ * _.xorWith(objects, others, _.isEqual);
1932
+ * // => [{ 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]
1933
+ */
1934
+ xorWith<T>(arrays: List<T> | null | undefined, comparator?: Comparator<T>): T[];
1935
+ /**
1936
+ * @see _.xorWith
1937
+ */
1938
+ xorWith<T>(arrays: List<T> | null | undefined, arrays2: List<T> | null | undefined, comparator?: Comparator<T>): T[];
1939
+ /**
1940
+ * @see _.xorWith
1941
+ */
1942
+ xorWith<T>(arrays: List<T> | null | undefined, arrays2: List<T> | null | undefined, arrays3: List<T> | null | undefined, ...comparator: Array<Comparator<T> | List<T> | null | undefined>): T[];
1943
+ }
1944
+ interface Collection<T> {
1945
+ /**
1946
+ * @see _.xorWith
1947
+ */
1948
+ xorWith(arrays2: List<T> | null | undefined, comparator?: Comparator<T>): Collection<T>;
1949
+ /**
1950
+ * @see _.xorWith
1951
+ */
1952
+ xorWith(...comparator: Array<Comparator<T> | List<T> | null | undefined>): Collection<T>;
1953
+ }
1954
+ interface CollectionChain<T> {
1955
+ /**
1956
+ * @see _.xorWith
1957
+ */
1958
+ xorWith(arrays2: List<T> | null | undefined, comparator?: Comparator<T>): CollectionChain<T>;
1959
+ /**
1960
+ * @see _.xorWith
1961
+ */
1962
+ xorWith(...comparator: Array<Comparator<T> | List<T> | null | undefined>): CollectionChain<T>;
1963
+ }
1964
+ interface LoDashStatic {
1965
+ /**
1966
+ * Creates an array of grouped elements, the first of which contains the first elements of the given arrays,
1967
+ * the second of which contains the second elements of the given arrays, and so on.
1968
+ *
1969
+ * @param arrays The arrays to process.
1970
+ * @return Returns the new array of grouped elements.
1971
+ */
1972
+ zip<T1, T2>(arrays1: List<T1>, arrays2: List<T2>): Array<[T1 | undefined, T2 | undefined]>;
1973
+ /**
1974
+ * @see _.zip
1975
+ */
1976
+ zip<T1, T2, T3>(arrays1: List<T1>, arrays2: List<T2>, arrays3: List<T3>): Array<[T1 | undefined, T2 | undefined, T3 | undefined]>;
1977
+ /**
1978
+ * @see _.zip
1979
+ */
1980
+ zip<T1, T2, T3, T4>(arrays1: List<T1>, arrays2: List<T2>, arrays3: List<T3>, arrays4: List<T4>): Array<[T1 | undefined, T2 | undefined, T3 | undefined, T4 | undefined]>;
1981
+ /**
1982
+ * @see _.zip
1983
+ */
1984
+ zip<T1, T2, T3, T4, T5>(arrays1: List<T1>, arrays2: List<T2>, arrays3: List<T3>, arrays4: List<T4>, arrays5: List<T5>): Array<[T1 | undefined, T2 | undefined, T3 | undefined, T4 | undefined, T5 | undefined]>;
1985
+ /**
1986
+ * @see _.zip
1987
+ */
1988
+ zip<T>(...arrays: Array<List<T> | null | undefined>): Array<Array<T | undefined>>;
1989
+ }
1990
+ interface Collection<T> {
1991
+ /**
1992
+ * @see _.zip
1993
+ */
1994
+ zip<T2>(arrays2: List<T2>): Collection<[T | undefined, T2 | undefined]>;
1995
+ /**
1996
+ * @see _.zip
1997
+ */
1998
+ zip(...arrays: Array<List<T> | null | undefined>): Collection<Array<T | undefined>>;
1999
+ }
2000
+ interface CollectionChain<T> {
2001
+ /**
2002
+ * @see _.zip
2003
+ */
2004
+ zip<T2>(arrays2: List<T2>): CollectionChain<[T | undefined, T2 | undefined]>;
2005
+ /**
2006
+ * @see _.zip
2007
+ */
2008
+ zip(...arrays: Array<List<T> | null | undefined>): CollectionChain<Array<T | undefined>>;
2009
+ }
2010
+ interface LoDashStatic {
2011
+ /**
2012
+ * This method is like _.fromPairs except that it accepts two arrays, one of property
2013
+ * identifiers and one of corresponding values.
2014
+ *
2015
+ * @param props The property names.
2016
+ * @param values The property values.
2017
+ * @return Returns the new object.
2018
+ */
2019
+ zipObject<T>(props: List<PropertyName>, values: List<T>): Dictionary<T>;
2020
+ /**
2021
+ * @see _.zipObject
2022
+ */
2023
+ zipObject(props?: List<PropertyName>): Dictionary<undefined>;
2024
+ }
2025
+ interface Collection<T> {
2026
+ /**
2027
+ * @see _.zipObject
2028
+ */
2029
+ zipObject<U>(values: List<U>): Object<Dictionary<U>>;
2030
+ /**
2031
+ * @see _.zipObject
2032
+ */
2033
+ zipObject(): Object<Dictionary<undefined>>;
2034
+ }
2035
+ interface CollectionChain<T> {
2036
+ /**
2037
+ * @see _.zipObject
2038
+ */
2039
+ zipObject<U>(values: List<U>): ObjectChain<Dictionary<U>>;
2040
+ /**
2041
+ * @see _.zipObject
2042
+ */
2043
+ zipObject(): ObjectChain<Dictionary<undefined>>;
2044
+ }
2045
+ interface LoDashStatic {
2046
+ /**
2047
+ * This method is like _.zipObject except that it supports property paths.
2048
+ *
2049
+ * @param paths The property names.
2050
+ * @param values The property values.
2051
+ * @return Returns the new object.
2052
+ */
2053
+ zipObjectDeep(paths?: List<PropertyPath>, values?: List<any>): object;
2054
+ }
2055
+ interface Collection<T> {
2056
+ /**
2057
+ * @see _.zipObjectDeep
2058
+ */
2059
+ zipObjectDeep(values?: List<any>): Object<object>;
2060
+ }
2061
+ interface CollectionChain<T> {
2062
+ /**
2063
+ * @see _.zipObjectDeep
2064
+ */
2065
+ zipObjectDeep(values?: List<any>): ObjectChain<object>;
2066
+ }
2067
+ interface LoDashStatic {
2068
+ /**
2069
+ * This method is like _.zip except that it accepts an iteratee to specify how grouped values should be
2070
+ * combined. The iteratee is invoked with four arguments: (accumulator, value, index,
2071
+ * group).
2072
+ * @param arrays The arrays to process.
2073
+ * @param iteratee The function to combine grouped values.
2074
+ * @return Returns the new array of grouped elements.
2075
+ */
2076
+ zipWith<T, TResult>(arrays: List<T>, iteratee: (value1: T) => TResult): TResult[];
2077
+ /**
2078
+ * @see _.zipWith
2079
+ */
2080
+ zipWith<T1, T2, TResult>(arrays1: List<T1>, arrays2: List<T2>, iteratee: (value1: T1, value2: T2) => TResult): TResult[];
2081
+ /**
2082
+ * @see _.zipWith
2083
+ */
2084
+ zipWith<T1, T2, T3, TResult>(arrays1: List<T1>, arrays2: List<T2>, arrays3: List<T3>, iteratee: (value1: T1, value2: T2, value3: T3) => TResult): TResult[];
2085
+ /**
2086
+ * @see _.zipWith
2087
+ */
2088
+ zipWith<T1, T2, T3, T4, TResult>(arrays1: List<T1>, arrays2: List<T2>, arrays3: List<T3>, arrays4: List<T4>, iteratee: (value1: T1, value2: T2, value3: T3, value4: T4) => TResult): TResult[];
2089
+ /**
2090
+ * @see _.zipWith
2091
+ */
2092
+ zipWith<T1, T2, T3, T4, T5, TResult>(arrays1: List<T1>, arrays2: List<T2>, arrays3: List<T3>, arrays4: List<T4>, arrays5: List<T5>, iteratee: (value1: T1, value2: T2, value3: T3, value4: T4, value5: T5) => TResult): TResult[];
2093
+ /**
2094
+ * @see _.zipWith
2095
+ */
2096
+ zipWith<T, TResult>(...iteratee: Array<((...group: T[]) => TResult) | List<T> | null | undefined>): TResult[];
2097
+ }
2098
+ interface Collection<T> {
2099
+ /**
2100
+ * @see _.zipWith
2101
+ */
2102
+ zipWith<T2, TResult>(arrays2: List<T2>, iteratee: (value1: T, value2: T2) => TResult): Collection<TResult>;
2103
+ /**
2104
+ * @see _.zipWith
2105
+ */
2106
+ zipWith<T2, T3, TResult>(arrays2: List<T2>, arrays3: List<T3>, iteratee: (value1: T, value2: T2, value3: T3) => TResult): Collection<TResult>;
2107
+ /**
2108
+ * @see _.zipWith
2109
+ */
2110
+ zipWith<TResult>(...iteratee: Array<((...group: T[]) => TResult) | List<T> | null | undefined>): Collection<TResult>;
2111
+ }
2112
+ interface CollectionChain<T> {
2113
+ /**
2114
+ * @see _.zipWith
2115
+ */
2116
+ zipWith<T2, TResult>(arrays2: List<T2>, iteratee: (value1: T, value2: T2) => TResult): CollectionChain<TResult>;
2117
+ /**
2118
+ * @see _.zipWith
2119
+ */
2120
+ zipWith<T2, T3, TResult>(arrays2: List<T2>, arrays3: List<T3>, iteratee: (value1: T, value2: T2, value3: T3) => TResult): CollectionChain<TResult>;
2121
+ /**
2122
+ * @see _.zipWith
2123
+ */
2124
+ zipWith<TResult>(...iteratee: Array<((...group: T[]) => TResult) | List<T> | null | undefined>): CollectionChain<TResult>;
2125
+ }
2126
+ }