@joookiwi/type 1.0.0 → 1.1.0

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 (55) hide show
  1. package/dist/boolean (false).d.ts +1 -2
  2. package/dist/boolean (false).d.ts.map +1 -1
  3. package/dist/boolean (true).d.ts +0 -2
  4. package/dist/boolean (true).d.ts.map +1 -1
  5. package/dist/collection (array).d.ts +65 -0
  6. package/dist/collection (array).d.ts.map +1 -0
  7. package/dist/collection (map).d.ts +792 -0
  8. package/dist/collection (map).d.ts.map +1 -0
  9. package/dist/collection (mutable array).d.ts +65 -0
  10. package/dist/collection (mutable array).d.ts.map +1 -0
  11. package/dist/collection (mutable map).d.ts +792 -0
  12. package/dist/collection (mutable map).d.ts.map +1 -0
  13. package/dist/collection (mutable set).d.ts +65 -0
  14. package/dist/collection (mutable set).d.ts.map +1 -0
  15. package/dist/collection (set).d.ts +65 -0
  16. package/dist/collection (set).d.ts.map +1 -0
  17. package/dist/collection.d.ts +243 -0
  18. package/dist/collection.d.ts.map +1 -0
  19. package/dist/empty.d.ts +50 -8
  20. package/dist/empty.d.ts.map +1 -1
  21. package/dist/index.d.ts +7 -0
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/nullable.d.ts +22 -0
  24. package/dist/nullable.d.ts.map +1 -1
  25. package/dist/numeric (-1).d.ts +0 -11
  26. package/dist/numeric (-1).d.ts.map +1 -1
  27. package/dist/numeric (0).d.ts +2 -13
  28. package/dist/numeric (0).d.ts.map +1 -1
  29. package/dist/numeric (1).d.ts +2 -13
  30. package/dist/numeric (1).d.ts.map +1 -1
  31. package/dist/numeric (2).d.ts +2 -13
  32. package/dist/numeric (2).d.ts.map +1 -1
  33. package/dist/numeric.d.ts +0 -4
  34. package/dist/numeric.d.ts.map +1 -1
  35. package/dist/string (individual).d.ts +4 -0
  36. package/dist/string (individual).d.ts.map +1 -1
  37. package/package.json +9 -6
  38. package/src/boolean (false).ts +1 -2
  39. package/src/boolean (true).ts +0 -2
  40. package/src/collection (array).ts +69 -0
  41. package/src/collection (map).ts +833 -0
  42. package/src/collection (mutable array).ts +70 -0
  43. package/src/collection (mutable map).ts +833 -0
  44. package/src/collection (mutable set).ts +69 -0
  45. package/src/collection (set).ts +69 -0
  46. package/src/collection.ts +246 -0
  47. package/src/empty.ts +50 -8
  48. package/src/index.ts +7 -0
  49. package/src/nullable.ts +26 -0
  50. package/src/numeric (-1).ts +0 -11
  51. package/src/numeric (0).ts +2 -13
  52. package/src/numeric (1).ts +2 -13
  53. package/src/numeric (2).ts +2 -13
  54. package/src/numeric.ts +0 -4
  55. package/src/string (individual).ts +4 -0
@@ -0,0 +1,833 @@
1
+ /*******************************************************************************
2
+ Copyright (c) 2023-2024. Jonathan Bédard ~ JóôòKiwi
3
+
4
+ This project is free to use.
5
+ All the right is reserved to the author of this project.
6
+ ******************************************************************************/
7
+
8
+ import type {Numeric} from "./numeric"
9
+ import type {JavascriptSymbol, TypescriptSymbol} from "./symbol"
10
+
11
+ //#region -------------------- Map (boolean) --------------------
12
+
13
+ /**
14
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link Boolean} key
15
+ *
16
+ * @see import('collection').Map
17
+ * @see BooleanValueMap
18
+ * @see BooleanBooleanMap
19
+ */
20
+ export type BooleanKeyMap<V, K extends boolean = boolean, > = ReadonlyMap<K, V>
21
+ /**
22
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link Boolean} value
23
+ *
24
+ * @see import('collection').Map
25
+ * @see BooleanKeyMap
26
+ * @see BooleanBooleanMap
27
+ */
28
+ export type BooleanValueMap<K, V extends boolean = boolean, > = ReadonlyMap<K, V>
29
+
30
+ /**
31
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link Boolean} key and value
32
+ *
33
+ * @see import('collection').Map
34
+ * @see BooleanKeyMap
35
+ * @see BooleanValueMap
36
+ */
37
+ export type BooleanBooleanMap<K extends boolean = boolean, V extends boolean = boolean, > = ReadonlyMap<K, V>
38
+ /**
39
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link Boolean} key and a {@link Numeric} value
40
+ *
41
+ * @see import('collection').Map
42
+ * @see BooleanKeyMap
43
+ * @see NumericValueMap
44
+ * @see BooleanNumberMap
45
+ * @see BooleanBigIntMap
46
+ */
47
+ export type BooleanNumericMap<K extends boolean = boolean, V extends Numeric = Numeric, > = ReadonlyMap<K, V>
48
+ /**
49
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link Boolean} key and a {@link Number} value
50
+ *
51
+ * @see import('collection').Map
52
+ * @see BooleanKeyMap
53
+ * @see NumberValueMap
54
+ * @see BooleanNumericMap
55
+ */
56
+ export type BooleanNumberMap<K extends boolean = boolean, V extends number = number, > = ReadonlyMap<K, V>
57
+ /**
58
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link Boolean} key and a {@link BigInt} value
59
+ *
60
+ * @see import('collection').Map
61
+ * @see BooleanKeyMap
62
+ * @see NumberValueMap
63
+ * @see BooleanBigIntMap
64
+ */
65
+ export type BooleanBigIntMap<K extends boolean = boolean, V extends bigint = bigint, > = ReadonlyMap<K, V>
66
+ /**
67
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link Boolean} key and a {@link String} value
68
+ *
69
+ * @see import('collection').Map
70
+ * @see BooleanKeyMap
71
+ * @see StringValueMap
72
+ */
73
+ export type BooleanStringMap<K extends boolean = boolean, V extends string = string, > = ReadonlyMap<K, V>
74
+ /**
75
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link Boolean} key and a {@link Symbol} value
76
+ *
77
+ * @see import('collection').Map
78
+ * @see BooleanKeyMap
79
+ * @see SymbolValueMap
80
+ * @see BooleanJavascriptSymbolMap
81
+ * @see BooleanTypescriptSymbolMap
82
+ */
83
+ export type BooleanSymbolMap<K extends boolean = boolean, V extends symbol = symbol, > = ReadonlyMap<K, V>
84
+ /**
85
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link Boolean} key and a {@link JavascriptSymbol} value
86
+ *
87
+ * @see import('collection').Map
88
+ * @see BooleanKeyMap
89
+ * @see JavascriptSymbolValueMap
90
+ * @see BooleanSymbolMap
91
+ */
92
+ export type BooleanJavascriptSymbolMap<K extends boolean = boolean, V extends JavascriptSymbol = JavascriptSymbol, > = ReadonlyMap<K, V>
93
+ /**
94
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link Boolean} key and a {@link TypescriptSymbol} value
95
+ *
96
+ * @see import('collection').Map
97
+ * @see BooleanKeyMap
98
+ * @see TypescriptSymbolValueMap
99
+ * @see BooleanSymbolMap
100
+ */
101
+ export type BooleanTypescriptSymbolMap<K extends boolean = boolean, V extends TypescriptSymbol = TypescriptSymbol, > = ReadonlyMap<K, V>
102
+
103
+ //#endregion -------------------- Map (boolean) --------------------
104
+ //#region -------------------- Map (numeric) --------------------
105
+
106
+ /**
107
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link Numeric} key
108
+ *
109
+ * @see import('collection').Map
110
+ * @see NumberKeyMap
111
+ * @see BigIntKeyMap
112
+ * @see NumericValueMap
113
+ * @see NumericNumericMap
114
+ */
115
+ export type NumericKeyMap<V, K extends Numeric = Numeric, > = ReadonlyMap<K, V>
116
+ /**
117
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link Numeric} value
118
+ *
119
+ * @see import('collection').Map
120
+ * @see NumberValueMap
121
+ * @see BigIntValueMap
122
+ * @see NumericKeyMap
123
+ * @see NumericNumericMap
124
+ */
125
+ export type NumericValueMap<K, V extends Numeric = Numeric, > = ReadonlyMap<K, V>
126
+
127
+ /**
128
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link Numeric} key and a {@link Boolean} value
129
+ *
130
+ * @see import('collection').Map
131
+ * @see NumberBooleanMap
132
+ * @see BigIntBooleanMap
133
+ * @see NumericKeyMap
134
+ * @see BooleanValueMap
135
+ */
136
+ export type NumericBooleanMap<K extends Numeric = Numeric, V extends boolean = boolean, > = ReadonlyMap<K, V>
137
+ /**
138
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link Numeric} key and value
139
+ *
140
+ * @see import('collection').Map
141
+ * @see NumberNumericMap
142
+ * @see BigIntNumericMap
143
+ * @see NumericKeyMap
144
+ * @see NumericValueMap
145
+ * @see NumericNumberMap
146
+ * @see NumericBigIntMap
147
+ */
148
+ export type NumericNumericMap<K extends Numeric = Numeric, V extends Numeric = Numeric, > = ReadonlyMap<K, V>
149
+ /**
150
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link Numeric} key and a {@link Number} value
151
+ *
152
+ * @see import('collection').Map
153
+ * @see NumberNumberMap
154
+ * @see BigIntNumberMap
155
+ * @see NumericKeyMap
156
+ * @see NumberValueMap
157
+ * @see NumericNumericMap
158
+ */
159
+ export type NumericNumberMap<K extends Numeric = Numeric, V extends number = number, > = ReadonlyMap<K, V>
160
+ /**
161
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link Numeric} key and a {@link BigInt} value
162
+ *
163
+ * @see import('collection').Map
164
+ * @see NumberBigIntMap
165
+ * @see BigIntBigIntMap
166
+ * @see NumericKeyMap
167
+ * @see BigIntValueMap
168
+ * @see NumericNumericMap
169
+ */
170
+ export type NumericBigIntMap<K extends Numeric = Numeric, V extends bigint = bigint, > = ReadonlyMap<K, V>
171
+ /**
172
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link Numeric} key and a {@link String} value
173
+ *
174
+ * @see import('collection').Map
175
+ * @see NumberStringMap
176
+ * @see BigIntStringMap
177
+ * @see NumericKeyMap
178
+ * @see StringValueMap
179
+ */
180
+ export type NumericStringMap<K extends Numeric = Numeric, V extends string = string, > = ReadonlyMap<K, V>
181
+ /**
182
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link Numeric} key and a {@link Symbol} value
183
+ *
184
+ * @see import('collection').Map
185
+ * @see NumberSymbolMap
186
+ * @see BigIntSymbolMap
187
+ * @see NumericKeyMap
188
+ * @see SymbolValueMap
189
+ * @see NumericJavascriptSymbolMap
190
+ * @see NumericTypescriptSymbolMap
191
+ */
192
+ export type NumericSymbolMap<K extends Numeric = Numeric, V extends symbol = symbol, > = ReadonlyMap<K, V>
193
+ /**
194
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link Numeric} key and a {@link JavascriptSymbol} value
195
+ *
196
+ * @see import('collection').Map
197
+ * @see NumberJavascriptSymbolMap
198
+ * @see BigIntJavascriptSymbolMap
199
+ * @see NumericKeyMap
200
+ * @see JavascriptSymbolValueMap
201
+ * @see NumericSymbolMap
202
+ */
203
+ export type NumericJavascriptSymbolMap<K extends Numeric = Numeric, V extends JavascriptSymbol = JavascriptSymbol, > = ReadonlyMap<K, V>
204
+ /**
205
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link Numeric} key and a {@link TypescriptSymbol} value
206
+ *
207
+ * @see import('collection').Map
208
+ * @see NumberTypescriptSymbolMap
209
+ * @see BigIntTypescriptSymbolMap
210
+ * @see NumericKeyMap
211
+ * @see TypescriptSymbolValueMap
212
+ * @see NumericSymbolMap
213
+ */
214
+ export type NumericTypescriptSymbolMap<K extends Numeric = Numeric, V extends TypescriptSymbol = TypescriptSymbol, > = ReadonlyMap<K, V>
215
+
216
+ //#endregion -------------------- Map (numeric) --------------------
217
+ //#region -------------------- Map (number) --------------------
218
+
219
+ /**
220
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link Number} key
221
+ *
222
+ * @see import('collection').Map
223
+ * @see NumericKeyMap
224
+ * @see NumberValueMap
225
+ * @see NumberNumberMap
226
+ */
227
+ export type NumberKeyMap<V, K extends number = number, > = ReadonlyMap<K, V>
228
+ /**
229
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link Number} value
230
+ *
231
+ * @see import('collection').Map
232
+ * @see NumericValueMap
233
+ * @see NumberKeyMap
234
+ * @see NumberNumberMap
235
+ */
236
+ export type NumberValueMap<K, V extends number = number, > = ReadonlyMap<K, V>
237
+
238
+ /**
239
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link Number} key and a {@link Boolean} value
240
+ *
241
+ * @see import('collection').Map
242
+ * @see NumericBooleanMap
243
+ * @see NumberKeyMap
244
+ * @see BooleanValueMap
245
+ */
246
+ export type NumberBooleanMap<K extends number = number, V extends boolean = boolean, > = ReadonlyMap<K, V>
247
+ /**
248
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link Number} key and a {@link Numeric} value
249
+ *
250
+ * @see import('collection').Map
251
+ * @see NumericNumericMap
252
+ * @see NumericKeyMap
253
+ * @see NumericValueMap
254
+ * @see NumberNumberMap
255
+ * @see NumberBigIntMap
256
+ */
257
+ export type NumberNumericMap<K extends number = number, V extends Numeric = Numeric, > = ReadonlyMap<K, V>
258
+ /**
259
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link Number} key and value
260
+ *
261
+ * @see import('collection').Map
262
+ * @see NumericNumberMap
263
+ * @see NumberKeyMap
264
+ * @see NumberValueMap
265
+ * @see NumberNumericMap
266
+ */
267
+ export type NumberNumberMap<K extends number = number, V extends number = number, > = ReadonlyMap<K, V>
268
+ /**
269
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link Number} key and a {@link BigInt} value
270
+ *
271
+ * @see import('collection').Map
272
+ * @see NumericBigIntMap
273
+ * @see NumberKeyMap
274
+ * @see BigIntValueMap
275
+ * @see NumberNumericMap
276
+ */
277
+ export type NumberBigIntMap<K extends number = number, V extends bigint = bigint, > = ReadonlyMap<K, V>
278
+ /**
279
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link Number} key and a {@link String} value
280
+ *
281
+ * @see import('collection').Map
282
+ * @see NumericStringMap
283
+ * @see NumberKeyMap
284
+ * @see StringValueMap
285
+ */
286
+ export type NumberStringMap<K extends number = number, V extends string = string, > = ReadonlyMap<K, V>
287
+ /**
288
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link Number} key and a {@link Symbol} value
289
+ *
290
+ * @see import('collection').Map
291
+ * @see NumericSymbolMap
292
+ * @see NumberKeyMap
293
+ * @see SymbolValueMap
294
+ * @see NumberJavascriptSymbolMap
295
+ * @see NumberTypescriptSymbolMap
296
+ */
297
+ export type NumberSymbolMap<K extends number = number, V extends symbol = symbol, > = ReadonlyMap<K, V>
298
+ /**
299
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link Number} key and a {@link JavascriptSymbol} value
300
+ *
301
+ * @see import('collection').Map
302
+ * @see NumericJavascriptSymbolMap
303
+ * @see NumberKeyMap
304
+ * @see JavascriptSymbolValueMap
305
+ * @see NumberSymbolMap
306
+ */
307
+ export type NumberJavascriptSymbolMap<K extends number = number, V extends JavascriptSymbol = JavascriptSymbol, > = ReadonlyMap<K, V>
308
+ /**
309
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link Number} key and a {@link TypescriptSymbol} value
310
+ *
311
+ * @see import('collection').Map
312
+ * @see NumericTypescriptSymbolMap
313
+ * @see NumberKeyMap
314
+ * @see TypescriptSymbolValueMap
315
+ * @see NumberSymbolMap
316
+ */
317
+ export type NumberTypescriptSymbolMap<K extends number = number, V extends TypescriptSymbol = TypescriptSymbol, > = ReadonlyMap<K, V>
318
+
319
+ //#endregion -------------------- Map (number) --------------------
320
+ //#region -------------------- Map (bigint) --------------------
321
+
322
+ /**
323
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link BigInt} key
324
+ *
325
+ * @see import('collection').Map
326
+ * @see NumericKeyMap
327
+ * @see BigIntValueMap
328
+ * @see BigIntBigIntMap
329
+ */
330
+ export type BigIntKeyMap<V, K extends bigint = bigint, > = ReadonlyMap<K, V>
331
+ /**
332
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link BigInt} value
333
+ *
334
+ * @see import('collection').Map
335
+ * @see NumericValueMap
336
+ * @see BigIntKeyMap
337
+ * @see BigIntBigIntMap
338
+ */
339
+ export type BigIntValueMap<K, V extends bigint = bigint, > = ReadonlyMap<K, V>
340
+
341
+ /**
342
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link BigInt} key and a {@link Boolean} value
343
+ *
344
+ * @see import('collection').Map
345
+ * @see NumericBooleanMap
346
+ * @see BigIntKeyMap
347
+ * @see BooleanValueMap
348
+ */
349
+ export type BigIntBooleanMap<K extends bigint = bigint, V extends boolean = boolean, > = ReadonlyMap<K, V>
350
+ /**
351
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link BigInt} key and a {@link Numeric} value
352
+ *
353
+ * @see import('collection').Map
354
+ * @see NumericNumericMap
355
+ * @see BigIntKeyMap
356
+ * @see NumericValueMap
357
+ * @see BigIntNumberMap
358
+ * @see BigIntBigIntMap
359
+ */
360
+ export type BigIntNumericMap<K extends bigint = bigint, V extends Numeric = Numeric, > = ReadonlyMap<K, V>
361
+ /**
362
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link BigInt} key and a {@link Number} value
363
+ *
364
+ * @see import('collection').Map
365
+ * @see NumericNumberMap
366
+ * @see BigIntKeyMap
367
+ * @see NumberValueMap
368
+ * @see BigIntNumericMap
369
+ */
370
+ export type BigIntNumberMap<K extends bigint = bigint, V extends number = number, > = ReadonlyMap<K, V>
371
+ /**
372
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link BigInt} key and value
373
+ *
374
+ * @see import('collection').Map
375
+ * @see NumericBigIntMap
376
+ * @see BigIntKeyMap
377
+ * @see BigIntValueMap
378
+ * @see BigIntNumericMap
379
+ */
380
+ export type BigIntBigIntMap<K extends bigint = bigint, V extends bigint = bigint, > = ReadonlyMap<K, V>
381
+ /**
382
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link BigInt} key and a {@link String} value
383
+ *
384
+ * @see import('collection').Map
385
+ * @see NumericStringMap
386
+ * @see BigIntKeyMap
387
+ * @see StringValueMap
388
+ */
389
+ export type BigIntStringMap<K extends bigint = bigint, V extends string = string, > = ReadonlyMap<K, V>
390
+ /**
391
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link BigInt} key and a {@link Symbol} value
392
+ *
393
+ * @see import('collection').Map
394
+ * @see NumericSymbolMap
395
+ * @see BigIntKeyMap
396
+ * @see SymbolValueMap
397
+ * @see BigIntJavascriptSymbolMap
398
+ * @see BigIntTypescriptSymbolMap
399
+ */
400
+ export type BigIntSymbolMap<K extends bigint = bigint, V extends symbol = symbol, > = ReadonlyMap<K, V>
401
+ /**
402
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link BigInt} key and a {@link JavascriptSymbol} value
403
+ *
404
+ * @see import('collection').Map
405
+ * @see NumericJavascriptSymbolMap
406
+ * @see BigIntKeyMap
407
+ * @see JavascriptSymbolValueMap
408
+ * @see BigIntSymbolMap
409
+ */
410
+ export type BigIntJavascriptSymbolMap<K extends bigint = bigint, V extends JavascriptSymbol = JavascriptSymbol, > = ReadonlyMap<K, V>
411
+ /**
412
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link BigInt} key and a {@link TypescriptSymbol} value
413
+ *
414
+ * @see import('collection').Map
415
+ * @see NumericTypescriptSymbolMap
416
+ * @see BigIntKeyMap
417
+ * @see TypescriptSymbolValueMap
418
+ * @see BigIntSymbolMap
419
+ */
420
+ export type BigIntTypescriptSymbolMap<K extends bigint = bigint, V extends TypescriptSymbol = TypescriptSymbol, > = ReadonlyMap<K, V>
421
+
422
+ //#endregion -------------------- Map (bigint) --------------------
423
+ //#region -------------------- Map (string) --------------------
424
+
425
+ /**
426
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link String} key
427
+ *
428
+ * @see import('collection').Map
429
+ * @see StringValueMap
430
+ * @see StringStringMap
431
+ */
432
+ export type StringKeyMap<V, K extends string = string, > = ReadonlyMap<K, V>
433
+ /**
434
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link String} value
435
+ *
436
+ * @see import('collection').Map
437
+ * @see StringKeyMap
438
+ * @see StringStringMap
439
+ */
440
+ export type StringValueMap<K, V extends string = string, > = ReadonlyMap<K, V>
441
+
442
+ /**
443
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link String} key and a {@link Boolean} value
444
+ *
445
+ * @see import('collection').Map
446
+ * @see StringKeyMap
447
+ * @see BooleanValueMap
448
+ */
449
+ export type StringBooleanMap<K extends string = string, V extends boolean = boolean, > = ReadonlyMap<K, V>
450
+ /**
451
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link String} key and a {@link Numeric} value
452
+ *
453
+ * @see import('collection').Map
454
+ * @see StringKeyMap
455
+ * @see NumericValueMap
456
+ * @see StringNumberMap
457
+ * @see StringBigIntMap
458
+ */
459
+ export type StringNumericMap<K extends string = string, V extends Numeric = Numeric, > = ReadonlyMap<K, V>
460
+ /**
461
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link Boolean} key and a {@link Number} value
462
+ *
463
+ * @see import('collection').Map
464
+ * @see StringKeyMap
465
+ * @see NumberValueMap
466
+ * @see StringNumericMap
467
+ */
468
+ export type StringNumberMap<K extends string = string, V extends number = number, > = ReadonlyMap<K, V>
469
+ /**
470
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link String} key and a {@link BigInt} value
471
+ *
472
+ * @see import('collection').Map
473
+ * @see StringKeyMap
474
+ * @see NumberValueMap
475
+ * @see StringNumericMap
476
+ */
477
+ export type StringBigIntMap<K extends string = string, V extends bigint = bigint, > = ReadonlyMap<K, V>
478
+ /**
479
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link String} key and a {@link String} value
480
+ *
481
+ * @see import('collection').Map
482
+ * @see StringKeyMap
483
+ * @see StringValueMap
484
+ */
485
+ export type StringStringMap<K extends string = string, V extends string = string, > = ReadonlyMap<K, V>
486
+ /**
487
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link String} key and a {@link Symbol} value
488
+ *
489
+ * @see import('collection').Map
490
+ * @see StringKeyMap
491
+ * @see SymbolValueMap
492
+ * @see StringJavascriptSymbolMap
493
+ * @see StringTypescriptSymbolMap
494
+ */
495
+ export type StringSymbolMap<K extends string = string, V extends symbol = symbol, > = ReadonlyMap<K, V>
496
+ /**
497
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link String} key and a {@link JavascriptSymbol} value
498
+ *
499
+ * @see import('collection').Map
500
+ * @see StringKeyMap
501
+ * @see JavascriptSymbolValueMap
502
+ * @see StringSymbolMap
503
+ */
504
+ export type StringJavascriptSymbolMap<K extends string = string, V extends JavascriptSymbol = JavascriptSymbol, > = ReadonlyMap<K, V>
505
+ /**
506
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link String} key and a {@link TypescriptSymbol} value
507
+ *
508
+ * @see import('collection').Map
509
+ * @see StringKeyMap
510
+ * @see TypescriptSymbolValueMap
511
+ * @see StringSymbolMap
512
+ */
513
+ export type StringTypescriptSymbolMap<K extends string = string, V extends TypescriptSymbol = TypescriptSymbol, > = ReadonlyMap<K, V>
514
+
515
+ //#endregion -------------------- Map (string) --------------------
516
+ //#region -------------------- Map (symbol) --------------------
517
+
518
+ /**
519
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link Symbol} key
520
+ *
521
+ * @see import('collection').Map
522
+ * @see JavascriptSymbolKeyMap
523
+ * @see TypescriptSymbolKeyMap
524
+ * @see SymbolValueMap
525
+ * @see SymbolSymbolMap
526
+ */
527
+ export type SymbolKeyMap<V, K extends symbol = symbol, > = ReadonlyMap<K, V>
528
+ /**
529
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link Symbol} value
530
+ *
531
+ * @see import('collection').Map
532
+ * @see JavascriptSymbolValueMap
533
+ * @see TypescriptSymbolValueMap
534
+ * @see SymbolKeyMap
535
+ * @see SymbolSymbolMap
536
+ */
537
+ export type SymbolValueMap<K, V extends symbol = symbol, > = ReadonlyMap<K, V>
538
+
539
+ /**
540
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link Symbol} key and a {@link Boolean} value
541
+ *
542
+ * @see import('collection').Map
543
+ * @see JavascriptSymbolBooleanMap
544
+ * @see TypescriptSymbolBooleanMap
545
+ * @see SymbolKeyMap
546
+ * @see BooleanValueMap
547
+ */
548
+ export type SymbolBooleanMap<K extends symbol = symbol, V extends boolean = boolean, > = ReadonlyMap<K, V>
549
+ /**
550
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link Symbol} key and a {@link Numeric} value
551
+ *
552
+ * @see import('collection').Map
553
+ * @see JavascriptSymbolNumericMap
554
+ * @see TypescriptSymbolNumericMap
555
+ * @see SymbolKeyMap
556
+ * @see NumericValueMap
557
+ * @see SymbolNumberMap
558
+ * @see SymbolBigIntMap
559
+ */
560
+ export type SymbolNumericMap<K extends symbol = symbol, V extends Numeric = Numeric, > = ReadonlyMap<K, V>
561
+ /**
562
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link Symbol} key and a {@link Number} value
563
+ *
564
+ * @see import('collection').Map
565
+ * @see JavascriptSymbolNumberMap
566
+ * @see TypescriptSymbolNumberMap
567
+ * @see SymbolKeyMap
568
+ * @see NumberValueMap
569
+ * @see SymbolNumericMap
570
+ */
571
+ export type SymbolNumberMap<K extends symbol = symbol, V extends number = number, > = ReadonlyMap<K, V>
572
+ /**
573
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link Symbol} key and a {@link BigInt} value
574
+ *
575
+ * @see import('collection').Map
576
+ * @see JavascriptSymbolBigIntMap
577
+ * @see TypescriptSymbolBigIntMap
578
+ * @see SymbolKeyMap
579
+ * @see NumberValueMap
580
+ * @see SymbolNumericMap
581
+ */
582
+ export type SymbolBigIntMap<K extends symbol = symbol, V extends bigint = bigint, > = ReadonlyMap<K, V>
583
+ /**
584
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link Symbol} key and a {@link String} value
585
+ *
586
+ * @see import('collection').Map
587
+ * @see JavascriptSymbolStringMap
588
+ * @see TypescriptSymbolStringMap
589
+ * @see SymbolKeyMap
590
+ * @see StringValueMap
591
+ */
592
+ export type SymbolStringMap<K extends symbol = symbol, V extends string = string, > = ReadonlyMap<K, V>
593
+ /**
594
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link Symbol} key and value
595
+ *
596
+ * @see import('collection').Map
597
+ * @see JavascriptSymbolSymbolMap
598
+ * @see TypescriptSymbolSymbolMap
599
+ * @see SymbolKeyMap
600
+ * @see SymbolValueMap
601
+ * @see SymbolJavascriptSymbolMap
602
+ * @see SymbolTypescriptSymbolMap
603
+ */
604
+ export type SymbolSymbolMap<K extends symbol = symbol, V extends symbol = symbol, > = ReadonlyMap<K, V>
605
+ /**
606
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link Symbol} key and a {@link JavascriptSymbol} value
607
+ *
608
+ * @see import('collection').Map
609
+ * @see JavascriptSymbolJavascriptSymbolMap
610
+ * @see TypescriptSymbolJavascriptSymbolMap
611
+ * @see SymbolKeyMap
612
+ * @see JavascriptSymbolValueMap
613
+ * @see SymbolSymbolMap
614
+ */
615
+ export type SymbolJavascriptSymbolMap<K extends symbol = symbol, V extends JavascriptSymbol = JavascriptSymbol, > = ReadonlyMap<K, V>
616
+ /**
617
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link Symbol} key and a {@link TypescriptSymbol} value
618
+ *
619
+ * @see import('collection').Map
620
+ * @see JavascriptSymbolTypescriptSymbolMap
621
+ * @see TypescriptSymbolTypescriptSymbolMap
622
+ * @see SymbolKeyMap
623
+ * @see TypescriptSymbolValueMap
624
+ * @see SymbolSymbolMap
625
+ */
626
+ export type SymbolTypescriptSymbolMap<K extends symbol = symbol, V extends TypescriptSymbol = TypescriptSymbol, > = ReadonlyMap<K, V>
627
+
628
+ //#endregion -------------------- Map (symbol) --------------------
629
+ //#region -------------------- Map (javascript symbol) --------------------
630
+
631
+ /**
632
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link JavascriptSymbol} key
633
+ *
634
+ * @see import('collection').Map
635
+ * @see SymbolKeyMap
636
+ * @see JavascriptSymbolValueMap
637
+ * @see JavascriptSymbolJavascriptSymbolMap
638
+ */
639
+ export type JavascriptSymbolKeyMap<V, K extends JavascriptSymbol = JavascriptSymbol, > = ReadonlyMap<K, V>
640
+ /**
641
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link JavascriptSymbol} value
642
+ *
643
+ * @see import('collection').Map
644
+ * @see SymbolValueMap
645
+ * @see JavascriptSymbolKeyMap
646
+ * @see JavascriptSymbolJavascriptSymbolMap
647
+ */
648
+ export type JavascriptSymbolValueMap<K, V extends JavascriptSymbol = JavascriptSymbol, > = ReadonlyMap<K, V>
649
+
650
+ /**
651
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link JavascriptSymbol} key and a {@link Boolean} value
652
+ *
653
+ * @see import('collection').Map
654
+ * @see SymbolBooleanMap
655
+ * @see JavascriptSymbolKeyMap
656
+ * @see BooleanValueMap
657
+ */
658
+ export type JavascriptSymbolBooleanMap<K extends JavascriptSymbol = JavascriptSymbol, V extends boolean = boolean, > = ReadonlyMap<K, V>
659
+ /**
660
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link JavascriptSymbol} key and a {@link Numeric} value
661
+ *
662
+ * @see import('collection').Map
663
+ * @see SymbolNumericMap
664
+ * @see JavascriptSymbolKeyMap
665
+ * @see NumericValueMap
666
+ * @see JavascriptSymbolNumberMap
667
+ * @see JavascriptSymbolBigIntMap
668
+ */
669
+ export type JavascriptSymbolNumericMap<K extends JavascriptSymbol = JavascriptSymbol, V extends Numeric = Numeric, > = ReadonlyMap<K, V>
670
+ /**
671
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link JavascriptSymbol} key and a {@link Number} value
672
+ *
673
+ * @see import('collection').Map
674
+ * @see SymbolNumberMap
675
+ * @see JavascriptSymbolKeyMap
676
+ * @see JavascriptSymbolValueMap
677
+ */
678
+ export type JavascriptSymbolNumberMap<K extends JavascriptSymbol = JavascriptSymbol, V extends number = number, > = ReadonlyMap<K, V>
679
+ /**
680
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link JavascriptSymbol} key and a {@link BigInt} value
681
+ *
682
+ * @see import('collection').Map
683
+ * @see SymbolBigIntMap
684
+ * @see JavascriptSymbolKeyMap
685
+ * @see BigIntValueMap
686
+ * @see JavascriptSymbolNumericMap
687
+ */
688
+ export type JavascriptSymbolBigIntMap<K extends JavascriptSymbol = JavascriptSymbol, V extends bigint = bigint, > = ReadonlyMap<K, V>
689
+ /**
690
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link JavascriptSymbol} key and a {@link String} value
691
+ *
692
+ * @see import('collection').Map
693
+ * @see SymbolStringMap
694
+ * @see JavascriptSymbolKeyMap
695
+ * @see StringValueMap
696
+ */
697
+ export type JavascriptSymbolStringMap<K extends JavascriptSymbol = JavascriptSymbol, V extends string = string, > = ReadonlyMap<K, V>
698
+ /**
699
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link Number} key and a {@link Symbol} value
700
+ *
701
+ * @see import('collection').Map
702
+ * @see SymbolSymbolMap
703
+ * @see JavascriptSymbolKeyMap
704
+ * @see SymbolValueMap
705
+ * @see NumberJavascriptSymbolMap
706
+ * @see NumberTypescriptSymbolMap
707
+ */
708
+ export type JavascriptSymbolSymbolMap<K extends JavascriptSymbol = JavascriptSymbol, V extends symbol = symbol, > = ReadonlyMap<K, V>
709
+ /**
710
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link JavascriptSymbol} key and a {@link JavascriptSymbol} value
711
+ *
712
+ * @see import('collection').Map
713
+ * @see SymbolJavascriptSymbolMap
714
+ * @see JavascriptSymbolKeyMap
715
+ * @see JavascriptSymbolValueMap
716
+ * @see JavascriptSymbolSymbolMap
717
+ */
718
+ export type JavascriptSymbolJavascriptSymbolMap<K extends JavascriptSymbol = JavascriptSymbol, V extends JavascriptSymbol = JavascriptSymbol, > = ReadonlyMap<K, V>
719
+ /**
720
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link JavascriptSymbol} key and a {@link TypescriptSymbol} value
721
+ *
722
+ * @see import('collection').Map
723
+ * @see SymbolTypescriptSymbolMap
724
+ * @see JavascriptSymbolKeyMap
725
+ * @see TypescriptSymbolValueMap
726
+ * @see JavascriptSymbolSymbolMap
727
+ */
728
+ export type JavascriptSymbolTypescriptSymbolMap<K extends JavascriptSymbol = JavascriptSymbol, V extends TypescriptSymbol = TypescriptSymbol, > = ReadonlyMap<K, V>
729
+
730
+ //#endregion -------------------- Map (javascript symbol) --------------------
731
+ //#region -------------------- Map (typescript symbol) --------------------
732
+
733
+ /**
734
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link TypescriptSymbol} key
735
+ *
736
+ * @see import('collection').Map
737
+ * @see SymbolKeyMap
738
+ * @see TypescriptSymbolValueMap
739
+ * @see TypescriptSymbolTypescriptSymbolMap
740
+ */
741
+ export type TypescriptSymbolKeyMap<V, K extends TypescriptSymbol = TypescriptSymbol, > = ReadonlyMap<K, V>
742
+ /**
743
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link TypescriptSymbol} value
744
+ *
745
+ * @see import('collection').Map
746
+ * @see SymbolValueMap
747
+ * @see TypescriptSymbolKeyMap
748
+ * @see TypescriptSymbolTypescriptSymbolMap
749
+ */
750
+ export type TypescriptSymbolValueMap<K, V extends TypescriptSymbol = TypescriptSymbol, > = ReadonlyMap<K, V>
751
+
752
+ /**
753
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link TypescriptSymbol} key and a {@link Boolean} value
754
+ *
755
+ * @see import('collection').Map
756
+ * @see SymbolBooleanMap
757
+ * @see TypescriptSymbolKeyMap
758
+ * @see BooleanValueMap
759
+ */
760
+ export type TypescriptSymbolBooleanMap<K extends TypescriptSymbol = TypescriptSymbol, V extends boolean = boolean, > = ReadonlyMap<K, V>
761
+ /**
762
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link TypescriptSymbol} key and a {@link Numeric} value
763
+ *
764
+ * @see import('collection').Map
765
+ * @see TypescriptSymbolNumericMap
766
+ * @see TypescriptSymbolKeyMap
767
+ * @see NumericValueMap
768
+ * @see TypescriptSymbolTypescriptSymbolMap
769
+ * @see TypescriptSymbolBigIntMap
770
+ */
771
+ export type TypescriptSymbolNumericMap<K extends TypescriptSymbol = TypescriptSymbol, V extends Numeric = Numeric, > = ReadonlyMap<K, V>
772
+ /**
773
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link TypescriptSymbol} key and a {@link Number} value
774
+ *
775
+ * @see import('collection').Map
776
+ * @see SymbolNumberMap
777
+ * @see TypescriptSymbolKeyMap
778
+ * @see NumberValueMap
779
+ * @see TypescriptSymbolNumericMap
780
+ */
781
+ export type TypescriptSymbolNumberMap<K extends TypescriptSymbol = TypescriptSymbol, V extends number = number, > = ReadonlyMap<K, V>
782
+ /**
783
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link TypescriptSymbol} key and a {@link BigInt} value
784
+ *
785
+ * @see import('collection').Map
786
+ * @see SymbolBigIntMap
787
+ * @see TypescriptSymbolKeyMap
788
+ * @see BigIntValueMap
789
+ * @see TypescriptSymbolNumericMap
790
+ */
791
+ export type TypescriptSymbolBigIntMap<K extends TypescriptSymbol = TypescriptSymbol, V extends bigint = bigint, > = ReadonlyMap<K, V>
792
+ /**
793
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link TypescriptSymbol} key and a {@link String} value
794
+ *
795
+ * @see import('collection').Map
796
+ * @see SymbolStringMap
797
+ * @see TypescriptSymbolKeyMap
798
+ * @see StringValueMap
799
+ */
800
+ export type TypescriptSymbolStringMap<K extends TypescriptSymbol = TypescriptSymbol, V extends string = string, > = ReadonlyMap<K, V>
801
+ /**
802
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link TypescriptSymbol} key and a {@link Symbol} value
803
+ *
804
+ * @see import('collection').Map
805
+ * @see SymbolSymbolMap
806
+ * @see TypescriptSymbolKeyMap
807
+ * @see SymbolValueMap
808
+ * @see TypescriptSymbolJavascriptSymbolMap
809
+ * @see TypescriptSymbolTypescriptSymbolMap
810
+ */
811
+ export type TypescriptSymbolSymbolMap<K extends TypescriptSymbol = TypescriptSymbol, V extends symbol = symbol, > = ReadonlyMap<K, V>
812
+ /**
813
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link TypescriptSymbol} key and a {@link JavascriptSymbol} value
814
+ *
815
+ * @see import('collection').Map
816
+ * @see SymbolJavascriptSymbolMap
817
+ * @see TypescriptSymbolKeyMap
818
+ * @see JavascriptSymbolValueMap
819
+ * @see TypescriptSymbolSymbolMap
820
+ */
821
+ export type TypescriptSymbolJavascriptSymbolMap<K extends TypescriptSymbol = TypescriptSymbol, V extends JavascriptSymbol = JavascriptSymbol, > = ReadonlyMap<K, V>
822
+ /**
823
+ * A type-alias for a {@link ReadonlyMap Map} having a {@link TypescriptSymbol} key and value
824
+ *
825
+ * @see import('collection').Map
826
+ * @see SymbolTypescriptSymbolMap
827
+ * @see TypescriptSymbolKeyMap
828
+ * @see TypescriptSymbolValueMap
829
+ * @see TypescriptSymbolSymbolMap
830
+ */
831
+ export type TypescriptSymbolTypescriptSymbolMap<K extends TypescriptSymbol = TypescriptSymbol, V extends TypescriptSymbol = TypescriptSymbol, > = ReadonlyMap<K, V>
832
+
833
+ //#endregion -------------------- Map (typescript symbol) --------------------