@mc-markets/ui 1.0.34 → 1.0.37

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