inferred-types 0.50.1 → 0.50.2

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.
package/dist/index.js ADDED
@@ -0,0 +1,3988 @@
1
+ // src/constants/createConstant.ts
2
+ function createConstant(kind) {
3
+ return {
4
+ _type: "Constant",
5
+ kind
6
+ };
7
+ }
8
+
9
+ // src/constants/NoDefaultValue.ts
10
+ var NO_DEFAULT_VALUE = createConstant("no-default-value");
11
+
12
+ // src/constants/NotApplicable.ts
13
+ var NOT_APPLICABLE = Symbol("not applicable");
14
+
15
+ // src/constants/DateTime.ts
16
+ var MONTH_NAME = [
17
+ "January",
18
+ "February",
19
+ "March",
20
+ "April",
21
+ "May",
22
+ "June",
23
+ "July",
24
+ "August",
25
+ "September",
26
+ "October",
27
+ "November",
28
+ "December"
29
+ ];
30
+ var MONTH_ABBR = [
31
+ "Jan",
32
+ "Feb",
33
+ "Mar",
34
+ "Apr",
35
+ "May",
36
+ "Jun",
37
+ "Jul",
38
+ "Aug",
39
+ "Sep",
40
+ "Oct",
41
+ "Nov",
42
+ "Dec"
43
+ ];
44
+
45
+ // src/constants/Types.ts
46
+ var FALSY_TYPE_KINDS = [
47
+ "undefined",
48
+ "null"
49
+ ];
50
+ var LITERAL_TYPE_KINDS = [
51
+ "true",
52
+ "false",
53
+ "stringLiteral",
54
+ "numericLiteral"
55
+ ];
56
+ var WIDE_TYPE_KINDS = [
57
+ "string",
58
+ "number",
59
+ "boolean"
60
+ ];
61
+ var NARROW_CONTAINER_TYPE_KINDS = [
62
+ "object",
63
+ "explicitFunctions",
64
+ "fnType",
65
+ "fnWithDict",
66
+ "tuple",
67
+ "union",
68
+ "intersection",
69
+ "arrayOf"
70
+ ];
71
+ var WIDE_CONTAINER_TYPE_KINDS = [
72
+ "anyArray",
73
+ "anyObject",
74
+ "unknownObject",
75
+ "anyFunction",
76
+ "emptyObject"
77
+ ];
78
+ var TYPE_KINDS = [
79
+ ...FALSY_TYPE_KINDS,
80
+ ...WIDE_TYPE_KINDS,
81
+ ...LITERAL_TYPE_KINDS,
82
+ ...NARROW_CONTAINER_TYPE_KINDS,
83
+ ...WIDE_CONTAINER_TYPE_KINDS
84
+ ];
85
+
86
+ // src/constants/Comma.ts
87
+ var COMMA = createConstant("comma");
88
+
89
+ // src/constants/Functional.ts
90
+ var RESULT = {
91
+ Ok: "ok",
92
+ Err: "err"
93
+ };
94
+ var OPTION = {
95
+ Some: 1,
96
+ None: 0
97
+ };
98
+
99
+ // src/constants/Images.ts
100
+ var IMAGE_FORMAT_LOOKUP = [
101
+ { ext: "jpg", webFormat: true, other_ext: ["jpeg"] },
102
+ { ext: "png", webFormat: true, other_ext: [] },
103
+ { ext: "gif", webFormat: true, other_ext: [] },
104
+ { ext: "heif", webFormat: true, other_ext: [] },
105
+ { ext: "svg", webFormat: true, other_ext: [] },
106
+ { ext: "raw", webFormat: false, other_ext: [] },
107
+ { ext: "dng", webFormat: false, other_ext: [] },
108
+ { ext: "avif", webFormat: true, other_ext: [] },
109
+ { ext: "webp", webFormat: true, other_ext: [] },
110
+ { ext: "tiff", webFormat: false, other_ext: ["tif"] }
111
+ ];
112
+
113
+ // src/constants/Alpha.ts
114
+ var LOWER_ALPHA_CHARS = [
115
+ "a",
116
+ "b",
117
+ "c",
118
+ "d",
119
+ "e",
120
+ "f",
121
+ "g",
122
+ "h",
123
+ "i",
124
+ "j",
125
+ "k",
126
+ "l",
127
+ "m",
128
+ "n",
129
+ "o",
130
+ "p",
131
+ "q",
132
+ "r",
133
+ "s",
134
+ "t",
135
+ "u",
136
+ "v",
137
+ "w",
138
+ "x",
139
+ "y",
140
+ "z"
141
+ ];
142
+ var UPPER_ALPHA_CHARS = [
143
+ "A",
144
+ "B",
145
+ "C",
146
+ "D",
147
+ "E",
148
+ "F",
149
+ "G",
150
+ "H",
151
+ "I",
152
+ "J",
153
+ "K",
154
+ "L",
155
+ "M",
156
+ "N",
157
+ "O",
158
+ "P",
159
+ "Q",
160
+ "R",
161
+ "S",
162
+ "T",
163
+ "U",
164
+ "V",
165
+ "W",
166
+ "X",
167
+ "Y",
168
+ "Z"
169
+ ];
170
+ var ALPHA_CHARS = [
171
+ ...LOWER_ALPHA_CHARS,
172
+ ...UPPER_ALPHA_CHARS
173
+ ];
174
+
175
+ // src/constants/Consonants.ts
176
+ var CONSONANTS = [
177
+ "b",
178
+ "c",
179
+ "d",
180
+ "f",
181
+ "g",
182
+ "h",
183
+ "j",
184
+ "k",
185
+ "l",
186
+ "m",
187
+ "n",
188
+ "p",
189
+ "q",
190
+ "r",
191
+ "s",
192
+ "t",
193
+ "v",
194
+ "w",
195
+ "x",
196
+ "z",
197
+ "y"
198
+ ];
199
+
200
+ // src/constants/PluralExceptions.ts
201
+ var PLURAL_EXCEPTIONS_OLD = [
202
+ ["photo", "photos"],
203
+ ["piano", "pianos"],
204
+ ["halo", "halos"],
205
+ ["foot", "feet"],
206
+ ["man", "men"],
207
+ ["woman", "women"],
208
+ ["person", "people"],
209
+ ["mouse", "mice"],
210
+ ["series", "series"],
211
+ ["sheep", "sheep"],
212
+ ["money", "monies"],
213
+ ["deer", "deer"]
214
+ ];
215
+ var PLURAL_EXCEPTIONS = {
216
+ photo: "photos",
217
+ piano: "pianos",
218
+ halo: "halos",
219
+ foot: "feet",
220
+ man: "men",
221
+ woman: "women",
222
+ person: "people",
223
+ mouse: "mice",
224
+ series: "series",
225
+ sheep: "sheep",
226
+ money: "monies",
227
+ deer: "deer",
228
+ goose: "geese",
229
+ child: "children",
230
+ tooth: "teeth",
231
+ ox: "oxen",
232
+ basis: "bases",
233
+ radius: "radii",
234
+ syllabus: "syllabi",
235
+ ice: "ice",
236
+ fish: "fish",
237
+ means: "means",
238
+ phenomenon: "phenomena",
239
+ criterion: "criteria",
240
+ datum: "data",
241
+ memorandum: "memoranda",
242
+ bacterium: "bacteria",
243
+ stratum: "strata",
244
+ curriculum: "curricula",
245
+ index: "indices",
246
+ appendix: "appendices",
247
+ vortex: "vortices",
248
+ bison: "bison",
249
+ axis: "axes",
250
+ antenna: "antennas",
251
+ cactus: "cacti",
252
+ corpus: "corpora",
253
+ beau: "beaux",
254
+ die: "dice",
255
+ ellipsis: "ellipses",
256
+ erratum: "errata",
257
+ focus: "foci",
258
+ formula: "formulas",
259
+ fungus: "fungi",
260
+ genus: "genera",
261
+ graffito: "graffiti",
262
+ grouse: "grouses",
263
+ half: "halves",
264
+ hoof: "hooves",
265
+ hypothesis: "hypothesis",
266
+ larva: "larvae",
267
+ libretto: "libretti",
268
+ loaf: "loaves",
269
+ locus: "loci",
270
+ medium: "mediums",
271
+ minutia: "minutiae",
272
+ nucleus: "nuclei",
273
+ oasis: "oases",
274
+ opus: "opuses",
275
+ ovum: "ova",
276
+ parenthesis: "parentheses",
277
+ phylum: "phyla",
278
+ quiz: "quizzes",
279
+ referendum: "referendums",
280
+ self: "selves",
281
+ species: "species",
282
+ stimulus: "stimuli",
283
+ swine: "swine",
284
+ synopsis: "synopses",
285
+ thesis: "theses",
286
+ thief: "thieves",
287
+ vertex: "vertexes",
288
+ wife: "wives",
289
+ wolf: "wolves"
290
+ };
291
+
292
+ // src/constants/SingularNounEnding.ts
293
+ var SINGULAR_NOUN_ENDINGS = [
294
+ "s",
295
+ "sh",
296
+ "ch",
297
+ "x",
298
+ "z",
299
+ "o"
300
+ ];
301
+
302
+ // src/constants/CommonObjProps.ts
303
+ var COMMON_OBJ_PROPS = [
304
+ "id",
305
+ "type",
306
+ "kind",
307
+ "_type",
308
+ "_kind",
309
+ "key",
310
+ "value",
311
+ "name"
312
+ ];
313
+
314
+ // src/constants/NumericChar.ts
315
+ var NUMERIC_CHAR = [
316
+ "0",
317
+ "1",
318
+ "2",
319
+ "3",
320
+ "4",
321
+ "5",
322
+ "6",
323
+ "7",
324
+ "8",
325
+ "9"
326
+ ];
327
+ var NON_ZERO_NUMERIC_CHAR = [
328
+ "1",
329
+ "2",
330
+ "3",
331
+ "4",
332
+ "5",
333
+ "6",
334
+ "7",
335
+ "8",
336
+ "9"
337
+ ];
338
+
339
+ // src/constants/NumericDigit.ts
340
+ var NUMERIC_DIGIT = [
341
+ 0,
342
+ 1,
343
+ 2,
344
+ 3,
345
+ 4,
346
+ 5,
347
+ 6,
348
+ 7,
349
+ 8,
350
+ 9
351
+ ];
352
+
353
+ // src/constants/FalsyValues.ts
354
+ var FALSY_VALUES = [
355
+ false,
356
+ 0,
357
+ -0,
358
+ "",
359
+ null,
360
+ void 0,
361
+ Number.NaN
362
+ ];
363
+
364
+ // src/constants/NotDefined.ts
365
+ var NOT_DEFINED = createConstant("not-defined");
366
+
367
+ // src/constants/TypeOf.ts
368
+ var TYPE_OF = ["string", "number", "boolean", "undefined", "symbol", "bigint", "function", "object"];
369
+
370
+ // src/constants/Wide.ts
371
+ var WideAssignment = {
372
+ boolean: () => "<<boolean>>",
373
+ string: () => "<<string>>",
374
+ number: () => "<<number>>",
375
+ symbol: () => "<<symbol>>",
376
+ null: () => "<<null>>",
377
+ function: () => "<<function>>",
378
+ tuple: () => "<<tuple>>",
379
+ singularTuple: () => ["<<tuple>>"],
380
+ object: () => "<<object>>",
381
+ emptyObject: () => "<<empty-object>>",
382
+ undefined: () => "<<undefined>>",
383
+ /**
384
+ * run-time value is a type token for `unknown` and type is of course `unknown`
385
+ */
386
+ unknown: () => "<<unknown>>",
387
+ nothing: () => "<<nothing>>",
388
+ something: () => "<<something>>"
389
+ };
390
+
391
+ // src/constants/TypeComparisons.ts
392
+ var wide = WideAssignment;
393
+ var entry = (refType, desc, ...params) => [
394
+ refType(wide),
395
+ desc,
396
+ params.map(
397
+ (i) => typeof i === "function" ? i(wide) : i
398
+ )
399
+ ];
400
+ var TYPE_COMPARISONS = {
401
+ "Extends": entry((t) => t.unknown(), "extends the type", (t) => t.unknown()),
402
+ "NotExtends": entry((t) => t.unknown(), "does not extent the type", (t) => t.unknown()),
403
+ "Equals": entry((t) => t.unknown(), "equals the type", (t) => t.unknown()),
404
+ "NotEqual": entry((t) => t.unknown(), "does not equal the type", (t) => t.unknown()),
405
+ "Truthy": entry((t) => t.unknown(), "must be a truthy value"),
406
+ "Falsy": entry((t) => t.unknown(), "must be a falsy value"),
407
+ "IsSomething": entry((t) => t.unknown(), "must be 'something' (aka, not null or undefined)"),
408
+ "IsNothing": entry((t) => t.unknown(), "must be 'nothing' (aka, null or undefined)"),
409
+ "IsString": entry((t) => t.string(), "must extend a string type"),
410
+ "IsNumber": entry((t) => t.number(), "must extend a number type"),
411
+ "IsBoolean": entry((t) => t.boolean(), "must extend a boolean type"),
412
+ // numeric
413
+ "GreaterThan": entry((t) => t.number(), "must be a numeric literal greater than [[0]]", (t) => t.number()),
414
+ "LessThan": entry((t) => t.number(), "must be a numeric literal less than [[0]]", (t) => t.number()),
415
+ // string
416
+ "StartsWith": entry((t) => t.string(), "must be a string literal that starts with '[[0]]'", (t) => t.string()),
417
+ "EndsWith": entry((t) => t.string(), "must be a string literal that ends with '[[0]]'", (t) => t.string()),
418
+ "Includes": entry((t) => t.string(), "must be a string literal that includes the substring '[[0]]'", (t) => t.string()),
419
+ // function
420
+ "ReturnsSomething": entry((t) => t.function(), "must be a function which returns 'something' (aka, not null or undefined)"),
421
+ "ReturnsNothing": entry((t) => t.function(), "must be a function which returns 'nothing' (aka, null or undefined)"),
422
+ "ReturnsTrue": entry((t) => t.function(), "must be a function which returns 'true'"),
423
+ "ReturnsFalse": entry((t) => t.function(), "must be a function which returns 'false'"),
424
+ "ReturnsTruthy": entry((t) => t.function(), "must be a function which returns a 'truthy' value"),
425
+ "ReturnsFalsy": entry((t) => t.function(), "must be a function which returns a 'falsy' value"),
426
+ "ReturnsExtends": entry((t) => t.unknown(), "must be a function which returns a value which extends [[0]]", (t) => t.unknown()),
427
+ "ReturnsEquals": entry((t) => t.unknown(), "must be a function which returns a value which equals [[0]]", (t) => t.unknown()),
428
+ "Contains": entry((t) => t.tuple(), "must be a tuple and have elements that extends the value [[0]]", (t) => t.unknown()),
429
+ // TODO: get the below working`
430
+ "ContainsSome": entry((t) => t.tuple(), "must be a tuple and have elements that extends the value [[0]]", (t) => t.singularTuple())
431
+ };
432
+
433
+ // src/constants/TypeTransforms.ts
434
+ var t_unknown = "<<unknown>>";
435
+ var t_string = "<<string>>";
436
+ var t_number = "<<number>>";
437
+ var t_union_string_tuple = "<<union:string,tuple>>";
438
+ var TYPE_TRANSFORMS = {
439
+ Identity: [t_unknown, [], "a transform which returns the same value passed in"],
440
+ ToNever: [t_unknown, [], "converts all incoming types to the Never type"],
441
+ ToString: [t_unknown, [], "ensures that any incoming type is converted to a string variant of that value"],
442
+ ToBoolean: [t_unknown, [], `uses Javascript's "truthiness" to convert inputs to a boolean value; with functions it will use the return type`],
443
+ Trim: [t_string, [], "Trims whitespace from start and end of string"],
444
+ TrimStart: [t_string, [], "Trims whitespace from start of string"],
445
+ TrimEnd: [t_string, [], "Trims whitespace from end of string"],
446
+ Capitalize: [t_string, [], "Converts a string input to a capitalized variant"],
447
+ UnCapitalize: [t_string, [], "Converts a string input to a un-capitalized variant"],
448
+ AllCaps: [t_string, [], "Converts a string input to all uppercase characters"],
449
+ Lowercase: [t_string, [], "Converts a string input to all lowercase characters"],
450
+ ToCamelCase: [t_string, [], "Converts a string to use the camelCase naming convention"],
451
+ ToKebabCase: [t_string, [], "Converts a string to use the kebab-case naming convention"],
452
+ ToPascalCase: [t_string, [], "Converts a string to use the PascalCase naming convention"],
453
+ ToSnakeCase: [t_string, [], "Converts a string to use the snake_case naming convention"],
454
+ StripLeading: [t_string, [t_string], "Strips a string literal from the beginning of a string (if it exists)"],
455
+ StripTrailing: [t_string, [t_string], "Strips a string literal from the end of a string (if it exists)"],
456
+ EnsureLeading: [t_string, [t_string], "Ensures a string literal is at the beginning of a string (with no change if it already was)"],
457
+ EnsureTrailing: [t_string, [t_string], "Ensures a string literal is at the end of a string (with no change if it already was)"],
458
+ ToPlural: [t_string, [], "Pluralizes a word"],
459
+ Surround: [t_string, [t_string, t_string], "Surrounds a string literal with a pre and post character or set of characters"],
460
+ Prepend: [t_union_string_tuple, [t_unknown], "Takes a string or tuple and prepends a value to the start."],
461
+ Append: [t_union_string_tuple, [t_unknown], "Takes a string or tuple and appends a value to the end."],
462
+ Increment: [t_number, [], "Increments a numeric value by one"],
463
+ Decrement: [t_number, [], "Decrements a numeric value by one"]
464
+ };
465
+
466
+ // src/constants/Never.ts
467
+ var Never = createConstant("never");
468
+
469
+ // src/constants/TypeTokens.ts
470
+ var SIMPLE_DICT_VALUES = [
471
+ "string",
472
+ "number",
473
+ "boolean",
474
+ "unknown",
475
+ "Opt<string>",
476
+ "Opt<number>",
477
+ "Opt<boolean>",
478
+ "Opt<unknown>"
479
+ ];
480
+ var SIMPLE_SET_TYPES = [
481
+ "string",
482
+ "number",
483
+ "boolean",
484
+ "unknown",
485
+ "Opt<string>",
486
+ "Opt<number>",
487
+ "Opt<boolean>",
488
+ "Opt<unknown>"
489
+ ];
490
+ var SIMPLE_SCALAR_TOKENS = [
491
+ "string",
492
+ "number",
493
+ `string(TOKEN)`,
494
+ `number(TOKEN)`,
495
+ "boolean",
496
+ "true",
497
+ "false",
498
+ "null",
499
+ "undefined",
500
+ "unknown",
501
+ "any",
502
+ "never"
503
+ ];
504
+ var SIMPLE_OPT_SCALAR_TOKENS = [
505
+ "Opt<string>",
506
+ "Opt<number>",
507
+ "Opt<boolean>",
508
+ "Opt<true>",
509
+ "Opt<false>",
510
+ "Opt<null>",
511
+ "Opt<undefined>",
512
+ "Opt<unknown>",
513
+ "Opt<any>",
514
+ "Opt<string(TOKEN)>",
515
+ "Opt<number(TOKEN)>",
516
+ "Opt<undefined>"
517
+ ];
518
+ var SIMPLE_UNION_TOKENS = [
519
+ `Union(TOKEN)`
520
+ ];
521
+ var SIMPLE_MAP_KEYS = [
522
+ "string",
523
+ "number",
524
+ "Dict",
525
+ "Dict<string, string>",
526
+ "Dict<string, number>",
527
+ "Dict<string, boolean>",
528
+ "Dict<string, unknown>",
529
+ "Dict<string, Opt<string>>",
530
+ "Dict<string, Opt<number>>",
531
+ "Dict<string, Opt<boolean>>"
532
+ ];
533
+ var SIMPLE_MAP_VALUES = [
534
+ ...SIMPLE_MAP_KEYS,
535
+ "boolean",
536
+ "unknown",
537
+ "undefined",
538
+ "Dict",
539
+ "Array",
540
+ "Dict<string, Opt<string>>",
541
+ "Dict<string, Opt<number>>",
542
+ "Dict<string, Opt<boolean>>",
543
+ "Dict<string, Opt<unknown>>"
544
+ ];
545
+ var SIMPLE_DICT_TOKENS = [
546
+ "Dict",
547
+ "Dict<string, string>",
548
+ "Dict<string, number>",
549
+ "Dict<string, boolean>",
550
+ "Dict<string, unknown>",
551
+ "Dict<string, Opt<string>>",
552
+ "Dict<string, Opt<number>>",
553
+ "Dict<string, Opt<boolean>>",
554
+ "Dict<string, Opt<unknown>>",
555
+ "Dict<{TOKEN: TOKEN}>",
556
+ "Dict<{TOKEN: TOKEN, TOKEN: TOKEN}>"
557
+ ];
558
+ var SIMPLE_ARRAY_TOKENS = [
559
+ "Array",
560
+ "Array<string>",
561
+ "Array<string(TOKEN)>",
562
+ "Array<number>",
563
+ "Array<number(TOKEN)>",
564
+ "Array<boolean>",
565
+ "Array<unknown>",
566
+ `Array<Dict>`,
567
+ `Array<Set>`,
568
+ `Array<Map>`
569
+ ];
570
+ var SIMPLE_MAP_TOKENS = [
571
+ "Map",
572
+ "Map<TOKEN, TOKEN>",
573
+ "WeakMap"
574
+ ];
575
+ var SIMPLE_SET_TOKENS = [
576
+ "Set",
577
+ "Set<TOKEN>"
578
+ ];
579
+ var SIMPLE_CONTAINER_TOKENS = [
580
+ ...SIMPLE_DICT_TOKENS,
581
+ ...SIMPLE_ARRAY_TOKENS,
582
+ ...SIMPLE_MAP_TOKENS,
583
+ ...SIMPLE_SET_TOKENS
584
+ ];
585
+ var SIMPLE_TOKENS = [
586
+ ...SIMPLE_SCALAR_TOKENS,
587
+ ...SIMPLE_OPT_SCALAR_TOKENS,
588
+ ...SIMPLE_CONTAINER_TOKENS,
589
+ ...SIMPLE_UNION_TOKENS
590
+ ];
591
+ var TT_Atomics = [
592
+ "undefined",
593
+ "null",
594
+ "boolean",
595
+ "true",
596
+ "false"
597
+ ];
598
+ var TT_Singletons = [
599
+ "string",
600
+ "number"
601
+ ];
602
+ var TT_Sets = [
603
+ "string-set",
604
+ "numeric-set",
605
+ "union-set"
606
+ ];
607
+ var TT_Functions = [
608
+ "fn",
609
+ "gen"
610
+ ];
611
+ var TT_Containers = [
612
+ "rec",
613
+ "arr",
614
+ "set",
615
+ "map",
616
+ "union",
617
+ "obj",
618
+ "tuple"
619
+ ];
620
+ var TT_START = "<<";
621
+ var TT_STOP = ">>";
622
+ var TT_SEP = "::";
623
+ var TYPE_TOKEN_IDENTITIES = [
624
+ "string",
625
+ "number",
626
+ "numericString",
627
+ "booleanString",
628
+ "null",
629
+ "undefined",
630
+ "boolean",
631
+ "true",
632
+ "false",
633
+ "space",
634
+ "whitespace",
635
+ "object",
636
+ "emptyObject",
637
+ "function",
638
+ "array"
639
+ ];
640
+ var TYPE_TOKEN_PARAM_STR = [
641
+ "explicitClass",
642
+ "startsWith",
643
+ "endsWith",
644
+ "ensureLeading",
645
+ "stripLeading",
646
+ "ensureTrailing",
647
+ "stripTrailing",
648
+ "camelCase",
649
+ "pascalCase",
650
+ "snakeCase",
651
+ "kebabCase",
652
+ "explicitType"
653
+ ];
654
+ var TYPE_TOKEN_PARAM_CSV = [
655
+ "stringLiteral",
656
+ "numericLiteral",
657
+ "objectLiteral",
658
+ "tuple",
659
+ "union"
660
+ ];
661
+ var TYPE_TOKEN_PARAM_DATETIME = [
662
+ "datetime"
663
+ ];
664
+ var TYPE_TOKEN_PARAM_DATE = [
665
+ "ymd",
666
+ "monthThenDate",
667
+ "dateThenMonth"
668
+ ];
669
+ var TYPE_TOKEN_PARAM_TIME = [
670
+ "timeInMinutes",
671
+ "timeInSeconds",
672
+ "militaryTimeInMinutes",
673
+ "militaryTimeInSeconds",
674
+ "militaryTimeInMilliseconds",
675
+ "civilianTimeInMinutes"
676
+ ];
677
+ var TYPE_TOKEN_ALL = [
678
+ ...TYPE_TOKEN_IDENTITIES,
679
+ ...TYPE_TOKEN_PARAM_CSV,
680
+ ...TYPE_TOKEN_PARAM_DATE,
681
+ ...TYPE_TOKEN_PARAM_DATETIME,
682
+ ...TYPE_TOKEN_PARAM_STR,
683
+ ...TYPE_TOKEN_PARAM_TIME
684
+ ];
685
+
686
+ // src/constants/Shape.ts
687
+ var SHAPE_PREFIXES = [
688
+ "string",
689
+ "number",
690
+ "boolean",
691
+ "null",
692
+ "undefined",
693
+ "unknown",
694
+ "opt::",
695
+ "union::",
696
+ "tuple::",
697
+ "array::",
698
+ "object",
699
+ "record::"
700
+ ];
701
+ var SHAPE_DELIMITER = "||,||";
702
+
703
+ // src/constants/Marked.ts
704
+ var MARKED = createConstant("Marked");
705
+
706
+ // src/constants/HashTable.ts
707
+ var HASH_TABLE_WIDE = {
708
+ string: "318",
709
+ number: "523",
710
+ boolean: "21",
711
+ never: "!!!",
712
+ unknown: "ed",
713
+ undefined: "ce",
714
+ null: "cc",
715
+ symbol: "78",
716
+ object: "fe8",
717
+ array: "17",
718
+ record: "ee",
719
+ map: "e65",
720
+ weakMap: "e64",
721
+ set: "f62",
722
+ union: "f61"
723
+ };
724
+ var HASH_TABLE_ALPHA_LOWER = {
725
+ "a": "8",
726
+ "b": "~",
727
+ "c": "^",
728
+ "d": ".",
729
+ "e": "82",
730
+ "f": "89",
731
+ "g": ",",
732
+ "h": "!",
733
+ "i": "-7",
734
+ "j": "-8",
735
+ "k": "88",
736
+ "l": "8f",
737
+ "m": "8e",
738
+ "n": "6e",
739
+ "o": "44",
740
+ "p": "60",
741
+ "q": "61",
742
+ "r": "71",
743
+ "s": ":",
744
+ "t": "-45",
745
+ "u": "-5",
746
+ "v": "-9",
747
+ "w": "-f",
748
+ "x": "+1",
749
+ "y": ";",
750
+ "z": "*1"
751
+ };
752
+ var HASH_TABLE_SPECIAL = {
753
+ "!": "1",
754
+ "@": "8",
755
+ "#": "5",
756
+ "$": "4",
757
+ "%": "3",
758
+ "^": "2",
759
+ "&": "9",
760
+ "*": "7",
761
+ "(": "6",
762
+ ")": "12",
763
+ "{": "33",
764
+ "}": "54",
765
+ "[": "x8",
766
+ "]": "y4",
767
+ ":": "z2",
768
+ ";": "e88",
769
+ '"': "c11",
770
+ "'": "c12",
771
+ "<": "p3",
772
+ ",": "45",
773
+ ">": "e9",
774
+ ".": "f2",
775
+ "?": "ee",
776
+ "/": "u9",
777
+ "\\": "f9",
778
+ "|": "q1",
779
+ "~": "fe",
780
+ "`": "8e"
781
+ };
782
+ var HASH_TABLE_DIGIT = {
783
+ "0": "-2",
784
+ "1": "-9",
785
+ "2": "ff",
786
+ "3": "fe",
787
+ "4": "2e",
788
+ "5": "cd",
789
+ "6": "54",
790
+ "7": "27",
791
+ "8": "49",
792
+ "9": "51"
793
+ };
794
+ var HASH_TABLE_ALPHA_UPPER = {
795
+ "A": "b8",
796
+ "B": "~9",
797
+ "C": "6^",
798
+ "D": ".8",
799
+ "E": "5<",
800
+ "F": ">7",
801
+ "G": "1,",
802
+ "H": "!7",
803
+ "I": "8#",
804
+ "J": "@9",
805
+ "K": "1*",
806
+ "L": "4&",
807
+ "M": "+5",
808
+ "N": "j|",
809
+ "O": "-l",
810
+ "P": "q{",
811
+ "Q": "]9",
812
+ "R": "f%",
813
+ "S": ":3",
814
+ "T": "?+",
815
+ "U": "}5",
816
+ "V": "'4",
817
+ "W": "1@g",
818
+ "X": "0+1",
819
+ "Y": "4;",
820
+ "Z": "a*1"
821
+ };
822
+ var HASH_TABLE_CHAR = {
823
+ ...HASH_TABLE_ALPHA_LOWER,
824
+ ...HASH_TABLE_ALPHA_UPPER,
825
+ ...HASH_TABLE_SPECIAL
826
+ };
827
+ var HASH_TABLE_OTHER = "999";
828
+
829
+ // src/constants/Geo.ts
830
+ var US_STATE_LOOKUP_STRICT = [
831
+ { name: "Alabama", abbrev: "AL" },
832
+ { name: "Alaska", abbrev: "AK" },
833
+ { name: "Arizona", abbrev: "AZ" },
834
+ { name: "Arkansas", abbrev: "AR" },
835
+ { name: "California", abbrev: "CA" },
836
+ { name: "Colorado", abbrev: "CO" },
837
+ { name: "Connecticut", abbrev: "CT" },
838
+ { name: "Delaware", abbrev: "DE" },
839
+ { name: "Florida", abbrev: "FL" },
840
+ { name: "Georgia", abbrev: "GA" },
841
+ { name: "Hawaii", abbrev: "HI" },
842
+ { name: "Idaho", abbrev: "ID" },
843
+ { name: "Illinois", abbrev: "IL" },
844
+ { name: "Indiana", abbrev: "IN" },
845
+ { name: "Iowa", abbrev: "IA" },
846
+ { name: "Kansas", abbrev: "KS" },
847
+ { name: "Kentucky", abbrev: "KY" },
848
+ { name: "Louisiana", abbrev: "LA" },
849
+ { name: "Maine", abbrev: "ME" },
850
+ { name: "Maryland", abbrev: "MD" },
851
+ { name: "Massachusetts", abbrev: "MA" },
852
+ { name: "Michigan", abbrev: "MI" },
853
+ { name: "Minnesota", abbrev: "MN" },
854
+ { name: "Mississippi", abbrev: "MS" },
855
+ { name: "Missouri", abbrev: "MO" },
856
+ { name: "Montana", abbrev: "MT" },
857
+ { name: "Nebraska", abbrev: "NE" },
858
+ { name: "Nevada", abbrev: "NV" },
859
+ { name: "New Hampshire", abbrev: "NH" },
860
+ { name: "New Jersey", abbrev: "NJ" },
861
+ { name: "New Mexico", abbrev: "NM" },
862
+ { name: "New York", abbrev: "NY" },
863
+ { name: "North Carolina", abbrev: "NC" },
864
+ { name: "North Dakota", abbrev: "ND" },
865
+ { name: "Ohio", abbrev: "OH" },
866
+ { name: "Oklahoma", abbrev: "OK" },
867
+ { name: "Oregon", abbrev: "OR" },
868
+ { name: "Pennsylvania", abbrev: "PA" },
869
+ { name: "Rhode Island", abbrev: "RI" },
870
+ { name: "South Carolina", abbrev: "SC" },
871
+ { name: "South Dakota", abbrev: "SD" },
872
+ { name: "Tennessee", abbrev: "TN" },
873
+ { name: "Texas", abbrev: "TX" },
874
+ { name: "Utah", abbrev: "UT" },
875
+ { name: "Vermont", abbrev: "VT" },
876
+ { name: "Virginia", abbrev: "VA" },
877
+ { name: "Washington", abbrev: "WA" },
878
+ { name: "West Virginia", abbrev: "WV" },
879
+ { name: "Wisconsin", abbrev: "WI" },
880
+ { name: "Wyoming", abbrev: "WY" }
881
+ ];
882
+ var US_STATE_LOOKUP_PROVINCES = [
883
+ { name: "Puerto Rico", abbrev: "PR" },
884
+ { name: "Virgin Islands", abbrev: "VI" },
885
+ { name: "Palau", abbrev: "PW" },
886
+ { name: "Federated States of Micronesia", abbrev: "FM" },
887
+ { name: "Northern Mariana Islands", abbrev: "MP" },
888
+ { name: "District of Columbia", abbrev: "DC" },
889
+ { name: "Marshall Islands", abbrev: "MH" },
890
+ { name: "American Samoa", abbrev: "AS" },
891
+ { name: "Guam", abbrev: "GU" }
892
+ ];
893
+ var US_STATE_LOOKUP = [
894
+ ...US_STATE_LOOKUP_STRICT,
895
+ ...US_STATE_LOOKUP_PROVINCES
896
+ ];
897
+ var ZIP_TO_STATE = {
898
+ "0": ["CT", "MA", "ME", "NH", "NJ", "NY", "PR", "RI", "VT", "VI"],
899
+ "1": ["DE", "NY", "PA"],
900
+ "2": ["DC", "MD", "NC", "SC", "VA", "WV"],
901
+ "3": ["AL", "FL", "GA", "MS", "TN"],
902
+ "4": ["IN", "KY", "MI", "OH"],
903
+ "5": ["IA", "MN", "MT", "ND", "SD", "WI"],
904
+ "6": ["IL", "KS", "MO", "NE"],
905
+ "7": ["AR", "LA", "OK", "TX"],
906
+ "8": ["AZ", "CO", "ID", "NM", "NV", "UT", "WY"],
907
+ "9": ["AK", "AS", "CA", "GU", "HI", "MH", "FM", "MP", "OR", "PW", "WA"]
908
+ };
909
+
910
+ // src/constants/RepoConstants.ts
911
+ var REPO_SOURCES = [
912
+ "github",
913
+ "bitbucket",
914
+ "gitlab",
915
+ "codecommit",
916
+ "local"
917
+ ];
918
+ var REPO_PAGE_TYPES = [
919
+ "repo",
920
+ "commits",
921
+ "author",
922
+ "org",
923
+ "profile",
924
+ "issues",
925
+ "actions",
926
+ "followers",
927
+ "following",
928
+ "docs",
929
+ "unknown"
930
+ ];
931
+ var REPO_SOURCE_LOOKUP = {
932
+ "github": [`github.com`, "github.io"],
933
+ "bitbucket": ["bitbucket.com"],
934
+ "gitlab": ["gitlab.com"],
935
+ "codecommit": ["https://aws.amazon.com/codecommit/"],
936
+ "local": []
937
+ };
938
+ var GITHUB_INSIGHT_CATEGORY_LOOKUP = {
939
+ pulse: "pulse",
940
+ contributors: "graphs/contributors",
941
+ community: "graphs/community",
942
+ standards: "community",
943
+ traffic: "graphs/traffic",
944
+ commits: "graphs/commit-activity",
945
+ code_frequency: "graphs/code-frequency",
946
+ dependencies: "network/dependencies",
947
+ dependents: "network/dependents",
948
+ dependabot: "network/updates",
949
+ network: "network",
950
+ forks: "forks",
951
+ people: "people"
952
+ };
953
+
954
+ // src/constants/NetworkConstants.ts
955
+ var IPv6 = {
956
+ "Loopback": "::1/128",
957
+ "Multicast": "ff00::/8",
958
+ "IPv4MappedAddresses": "::FFFF:0:0/96",
959
+ "Unicast": "fe80::/10",
960
+ "DocumentationAddresses": "2001:db8::/32"
961
+ };
962
+ var IPv4 = {
963
+ "Loopback": "127.0.0.1"
964
+ };
965
+ var NETWORK_PROTOCOL_LOOKUP = {
966
+ http: ["http", "https"],
967
+ ftp: ["ftp", "sftp"],
968
+ file: ["", "file"],
969
+ ws: ["ws", "wss"],
970
+ ssh: ["", "ssh"],
971
+ "scp": ["", "scp"]
972
+ };
973
+ var TOP_LEVEL_DOMAINS = [
974
+ "com",
975
+ "org",
976
+ "net",
977
+ "int",
978
+ "edu",
979
+ "gov",
980
+ "io",
981
+ "mil",
982
+ "arpa",
983
+ "academy",
984
+ "agency",
985
+ "analytics",
986
+ "app",
987
+ "art",
988
+ "bet",
989
+ "beer",
990
+ "book",
991
+ "coffee",
992
+ "dot",
993
+ "doctor",
994
+ "dog",
995
+ "family",
996
+ "game",
997
+ "guide",
998
+ "guru",
999
+ "info",
1000
+ "inc",
1001
+ "news",
1002
+ "new",
1003
+ "ninja",
1004
+ "now",
1005
+ "online",
1006
+ "page",
1007
+ "photos",
1008
+ "place",
1009
+ "pub",
1010
+ "room",
1011
+ "show",
1012
+ "technology",
1013
+ "tel",
1014
+ "tech",
1015
+ "team",
1016
+ "talk",
1017
+ "travel",
1018
+ "website",
1019
+ "work",
1020
+ "works",
1021
+ "wow",
1022
+ "uk",
1023
+ "us",
1024
+ "fr",
1025
+ "de",
1026
+ "eu",
1027
+ "london"
1028
+ ];
1029
+
1030
+ // src/constants/Characters.ts
1031
+ var WHITESPACE_CHARS = [
1032
+ " ",
1033
+ "\n",
1034
+ " ",
1035
+ "\b"
1036
+ ];
1037
+
1038
+ // src/constants/Phone.ts
1039
+ var PHONE_FORMAT = [
1040
+ "Dashed (e.g., 456-555-1212)",
1041
+ "Dotted (e.g., 456.555.1212)",
1042
+ "ParaSpaced (e.g., (456) 555 1212)",
1043
+ "ParaDashed (e.g., (456) 555-1212)"
1044
+ ];
1045
+ var PHONE_COUNTRY_CODES = [
1046
+ ["886", "TWN", "TW"],
1047
+ ["93", "AFG", "AF"],
1048
+ ["355", "ALB", "AL"],
1049
+ ["213", "DZA", "DZ"],
1050
+ ["1-684", "ASM", "AS"],
1051
+ ["376", "AND", "AD"],
1052
+ ["244", "AGO", "AO"],
1053
+ ["1-264", "AIA", "AI"],
1054
+ ["672", "ATA", "AQ"],
1055
+ ["1-268", "ATG", "AG"],
1056
+ ["54", "ARG", "AR"],
1057
+ ["374", "ARM", "AM"],
1058
+ ["297", "ABW", "AW"],
1059
+ ["61", "AUS", "AU"],
1060
+ ["43", "AUT", "AT"],
1061
+ ["994", "AZE", "AZ"],
1062
+ ["1-242", "BHS", "BS"],
1063
+ ["973", "BHR", "BH"],
1064
+ ["880", "BGD", "BD"],
1065
+ ["1-246", "BRB", "BB"],
1066
+ ["375", "BLR", "BY"],
1067
+ ["32", "BEL", "BE"],
1068
+ ["501", "BLZ", "BZ"],
1069
+ ["229", "BEN", "BJ"],
1070
+ ["1-441", "BMU", "BM"],
1071
+ ["975", "BTN", "BT"],
1072
+ ["591", "BOL", "BO"],
1073
+ ["599", "BES", "BQ"],
1074
+ ["387", "BIH", "BA"],
1075
+ ["267", "BWA", "BW"],
1076
+ ["47", "BVT", "BV"],
1077
+ ["55", "BRA", "BR"],
1078
+ ["246", "IOT", "IO"],
1079
+ ["1-284", "VGB", "VG"],
1080
+ ["673", "BRN", "BN"],
1081
+ ["359", "BGR", "BG"],
1082
+ ["226", "BFA", "BF"],
1083
+ ["257", "BDI", "BI"],
1084
+ ["238", "CPV", "CV"],
1085
+ ["855", "KHM", "KH"],
1086
+ ["237", "CMR", "CM"],
1087
+ ["1", "CAN", "CA"],
1088
+ ["1-345", "CYM", "KY"],
1089
+ ["236", "CAF", "CF"],
1090
+ ["235", "TCD", "TD"],
1091
+ ["56", "CHL", "CL"],
1092
+ ["86", "CHN", "CN"],
1093
+ ["852", "HKG", "HK"],
1094
+ ["853", "MAC", "MO"],
1095
+ ["61", "CXR", "CX"],
1096
+ ["61", "CCK", "CC"],
1097
+ ["57", "COL", "CO"],
1098
+ ["269", "COM", "KM"],
1099
+ ["242", "COG", "CG"],
1100
+ ["682", "COK", "CK"],
1101
+ ["506", "CRI", "CR"],
1102
+ ["385", "HRV", "HR"],
1103
+ ["53", "CUB", "CU"],
1104
+ ["599", "CUW", "CW"],
1105
+ ["357", "CYP", "CY"],
1106
+ ["420", "CZE", "CZ"],
1107
+ ["225", "CIV", "CI"],
1108
+ ["850", "PRK", "KP"],
1109
+ ["243", "COD", "CD"],
1110
+ ["45", "DNK", "DK"],
1111
+ ["253", "DJI", "DJ"],
1112
+ ["1-767", "DMA", "DM"],
1113
+ ["1-809", "DOM", "DO"],
1114
+ ["1-829", "DOM", "DO"],
1115
+ ["1-849", "DOM", "DO"],
1116
+ ["593", "ECU", "EC"],
1117
+ ["20", "EGY", "EG"],
1118
+ ["503", "SLV", "SV"],
1119
+ ["240", "GNQ", "GQ"],
1120
+ ["291", "ERI", "ER"],
1121
+ ["372", "EST", "EE"],
1122
+ ["268", "SWZ", "SZ"],
1123
+ ["251", "ETH", "ET"],
1124
+ ["500", "FLK", "FK"],
1125
+ ["298", "FRO", "FO"],
1126
+ ["679", "FJI", "FJ"],
1127
+ ["358", "FIN", "FI"],
1128
+ ["33", "FRA", "FR"],
1129
+ ["594", "GUF", "GF"],
1130
+ ["689", "PYF", "PF"],
1131
+ ["262", "ATF", "TF"],
1132
+ ["241", "GAB", "GA"],
1133
+ ["220", "GMB", "GM"],
1134
+ ["995", "GEO", "GE"],
1135
+ ["49", "DEU", "DE"],
1136
+ ["233", "GHA", "GH"],
1137
+ ["350", "GIB", "GI"],
1138
+ ["30", "GRC", "GR"],
1139
+ ["299", "GRL", "GL"],
1140
+ ["1-473", "GRD", "GD"],
1141
+ ["590", "GLP", "GP"],
1142
+ ["1-671", "GUM", "GU"],
1143
+ ["502", "GTM", "GT"],
1144
+ ["44", "GGY", "GG"],
1145
+ ["224", "GIN", "GN"],
1146
+ ["245", "GNB", "GW"],
1147
+ ["592", "GUY", "GY"],
1148
+ ["509", "HTI", "HT"],
1149
+ ["672", "HMD", "HM"],
1150
+ ["39-06", "VAT", "VA"],
1151
+ ["504", "HND", "HN"],
1152
+ ["36", "HUN", "HU"],
1153
+ ["354", "ISL", "IS"],
1154
+ ["91", "IND", "IN"],
1155
+ ["62", "IDN", "ID"],
1156
+ ["98", "IRN", "IR"],
1157
+ ["964", "IRQ", "IQ"],
1158
+ ["353", "IRL", "IE"],
1159
+ ["44", "IMN", "IM"],
1160
+ ["972", "ISR", "IL"],
1161
+ ["39", "ITA", "IT"],
1162
+ ["1-876", "JAM", "JM"],
1163
+ ["81", "JPN", "JP"],
1164
+ ["44", "JEY", "JE"],
1165
+ ["962", "JOR", "JO"],
1166
+ ["7", "KAZ", "KZ"],
1167
+ ["254", "KEN", "KE"],
1168
+ ["686", "KIR", "KI"],
1169
+ ["965", "KWT", "KW"],
1170
+ ["996", "KGZ", "KG"],
1171
+ ["856", "LAO", "LA"],
1172
+ ["371", "LVA", "LV"],
1173
+ ["961", "LBN", "LB"],
1174
+ ["266", "LSO", "LS"],
1175
+ ["231", "LBR", "LR"],
1176
+ ["218", "LBY", "LY"],
1177
+ ["423", "LIE", "LI"],
1178
+ ["370", "LTU", "LT"],
1179
+ ["352", "LUX", "LU"],
1180
+ ["261", "MDG", "MG"],
1181
+ ["265", "MWI", "MW"],
1182
+ ["60", "MYS", "MY"],
1183
+ ["960", "MDV", "MV"],
1184
+ ["223", "MLI", "ML"],
1185
+ ["356", "MLT", "MT"],
1186
+ ["692", "MHL", "MH"],
1187
+ ["596", "MTQ", "MQ"],
1188
+ ["222", "MRT", "MR"],
1189
+ ["230", "MUS", "MU"],
1190
+ ["262", "MYT", "YT"],
1191
+ ["52", "MEX", "MX"],
1192
+ ["691", "FSM", "FM"],
1193
+ ["377", "MCO", "MC"],
1194
+ ["976", "MNG", "MN"],
1195
+ ["382", "MNE", "ME"],
1196
+ ["1-664", "MSR", "MS"],
1197
+ ["212", "MAR", "MA"],
1198
+ ["258", "MOZ", "MZ"],
1199
+ ["95", "MMR", "MM"],
1200
+ ["264", "NAM", "NA"],
1201
+ ["674", "NRU", "NR"],
1202
+ ["977", "NPL", "NP"],
1203
+ ["31", "NLD", "NL"],
1204
+ ["687", "NCL", "NC"],
1205
+ ["64", "NZL", "NZ"],
1206
+ ["505", "NIC", "NI"],
1207
+ ["227", "NER", "NE"],
1208
+ ["234", "NGA", "NG"],
1209
+ ["683", "NIU", "NU"],
1210
+ ["672", "NFK", "NF"],
1211
+ ["1-670", "MNP", "MP"],
1212
+ ["47", "NOR", "NO"],
1213
+ ["968", "OMN", "OM"],
1214
+ ["92", "PAK", "PK"],
1215
+ ["680", "PLW", "PW"],
1216
+ ["507", "PAN", "PA"],
1217
+ ["675", "PNG", "PG"],
1218
+ ["595", "PRY", "PY"],
1219
+ ["51", "PER", "PE"],
1220
+ ["63", "PHL", "PH"],
1221
+ ["870", "PCN", "PN"],
1222
+ ["48", "POL", "PL"],
1223
+ ["351", "PRT", "PT"],
1224
+ ["974", "QAT", "QA"],
1225
+ ["82", "KOR", "KR"],
1226
+ ["373", "MDA", "MD"],
1227
+ ["40", "ROU", "RO"],
1228
+ ["7", "RUS", "RU"],
1229
+ ["250", "RWA", "RW"],
1230
+ ["262", "REU", "RE"],
1231
+ ["590", "BLM", "BL"],
1232
+ ["290", "SHN", "SH"],
1233
+ ["1-869", "KNA", "KN"],
1234
+ ["1-758", "LCA", "LC"],
1235
+ ["590", "MAF", "MF"],
1236
+ ["508", "SPM", "PM"],
1237
+ ["1-784", "VCT", "VC"],
1238
+ ["685", "WSM", "WS"],
1239
+ ["378", "SMR", "SM"],
1240
+ ["239", "STP", "ST"],
1241
+ ["966", "SAU", "SA"],
1242
+ ["221", "SEN", "SN"],
1243
+ ["381", "SRB", "RS"],
1244
+ ["248", "SYC", "SC"],
1245
+ ["232", "SLE", "SL"],
1246
+ ["65", "SGP", "SG"],
1247
+ ["1-721", "SXM", "SX"],
1248
+ ["421", "SVK", "SK"],
1249
+ ["386", "SVN", "SI"],
1250
+ ["677", "SLB", "SB"],
1251
+ ["252", "SOM", "SO"],
1252
+ ["27", "ZAF", "ZA"],
1253
+ ["500", "SGS", "GS"],
1254
+ ["211", "SSD", "SS"],
1255
+ ["34", "ESP", "ES"],
1256
+ ["94", "LKA", "LK"],
1257
+ ["970", "PSE", "PS"],
1258
+ ["249", "SDN", "SD"],
1259
+ ["597", "SUR", "SR"],
1260
+ ["47", "SJM", "SJ"],
1261
+ ["46", "SWE", "SE"],
1262
+ ["41", "CHE", "CH"],
1263
+ ["963", "SYR", "SY"],
1264
+ ["992", "TJK", "TJ"],
1265
+ ["66", "THA", "TH"],
1266
+ ["389", "MKD", "MK"],
1267
+ ["670", "TLS", "TL"],
1268
+ ["228", "TGO", "TG"],
1269
+ ["690", "TKL", "TK"],
1270
+ ["676", "TON", "TO"],
1271
+ ["1-868", "TTO", "TT"],
1272
+ ["216", "TUN", "TN"],
1273
+ ["90", "TUR", "TR"],
1274
+ ["993", "TKM", "TM"],
1275
+ ["1-649", "TCA", "TC"],
1276
+ ["688", "TUV", "TV"],
1277
+ ["256", "UGA", "UG"],
1278
+ ["380", "UKR", "UA"],
1279
+ ["971", "ARE", "AE"],
1280
+ ["44", "GBR", "GB"],
1281
+ ["255", "TZA", "TZ"],
1282
+ ["1-340", "VIR", "VI"],
1283
+ ["1", "USA", "US"],
1284
+ ["598", "URY", "UY"],
1285
+ ["998", "UZB", "UZ"],
1286
+ ["678", "VUT", "VU"],
1287
+ ["58", "VEN", "VE"],
1288
+ ["84", "VNM", "VN"],
1289
+ ["681", "WLF", "WF"],
1290
+ ["212", "ESH", "EH"],
1291
+ ["967", "YEM", "YE"],
1292
+ ["260", "ZMB", "ZM"],
1293
+ ["263", "ZWE", "ZW"],
1294
+ ["358", "ALA", "AX"]
1295
+ ];
1296
+
1297
+ // src/constants/ProxmoxConstants.ts
1298
+ var PROXMOX_CT_STATE = [
1299
+ "started",
1300
+ "stopped",
1301
+ "enabled",
1302
+ "disabled",
1303
+ "ignored"
1304
+ ];
1305
+
1306
+ // src/constants/Tailwind.ts
1307
+ var TW_HUE = {
1308
+ slate: 262,
1309
+ gray: 270,
1310
+ zinc: 269,
1311
+ neutral: 270,
1312
+ stone: 273,
1313
+ red: 24,
1314
+ orange: 44,
1315
+ amber: 79,
1316
+ yellow: 100,
1317
+ lime: 132,
1318
+ green: 144,
1319
+ emerald: 159,
1320
+ teal: 182,
1321
+ cyan: 192,
1322
+ sky: 219,
1323
+ blue: 240,
1324
+ indigo: 268,
1325
+ violet: 283,
1326
+ purple: 294,
1327
+ fuchsia: 319,
1328
+ pink: 334,
1329
+ rose: 15,
1330
+ black: 0,
1331
+ white: 106.37411429114086
1332
+ };
1333
+ var TW_LUMINOSITY = {
1334
+ "50": 97.78,
1335
+ "100": 93.56,
1336
+ "200": 88.11,
1337
+ "300": 82.67,
1338
+ "400": 74.22,
1339
+ "500": 64.78,
1340
+ "600": 57.33,
1341
+ "700": 46.89,
1342
+ "800": 39.44,
1343
+ "900": 32,
1344
+ "950": 23.78
1345
+ };
1346
+ var TW_LUMIN_50 = TW_LUMINOSITY["50"];
1347
+ var TW_LUMIN_100 = TW_LUMINOSITY["100"];
1348
+ var TW_LUMIN_200 = TW_LUMINOSITY["200"];
1349
+ var TW_LUMIN_300 = TW_LUMINOSITY["300"];
1350
+ var TW_LUMIN_400 = TW_LUMINOSITY["400"];
1351
+ var TW_LUMIN_500 = TW_LUMINOSITY["500"];
1352
+ var TW_LUMIN_600 = TW_LUMINOSITY["600"];
1353
+ var TW_LUMIN_700 = TW_LUMINOSITY["700"];
1354
+ var TW_LUMIN_800 = TW_LUMINOSITY["800"];
1355
+ var TW_LUMIN_900 = TW_LUMINOSITY["900"];
1356
+ var TW_LUMIN_950 = TW_LUMINOSITY["950"];
1357
+ var TW_CHROMA = {
1358
+ "50": 0.0108,
1359
+ "100": 0.0321,
1360
+ "200": 0.0609,
1361
+ "300": 0.0908,
1362
+ "400": 0.1398,
1363
+ "500": 0.1472,
1364
+ "600": 0.1299,
1365
+ "700": 0.1067,
1366
+ "800": 0.0898,
1367
+ "900": 0.0726,
1368
+ "950": 0.054
1369
+ };
1370
+ var TW_CHROMA_50 = TW_CHROMA["50"];
1371
+ var TW_CHROMA_100 = TW_CHROMA["100"];
1372
+ var TW_CHROMA_200 = TW_CHROMA["200"];
1373
+ var TW_CHROMA_300 = TW_CHROMA["300"];
1374
+ var TW_CHROMA_400 = TW_CHROMA["400"];
1375
+ var TW_CHROMA_500 = TW_CHROMA["500"];
1376
+ var TW_CHROMA_600 = TW_CHROMA["600"];
1377
+ var TW_CHROMA_700 = TW_CHROMA["700"];
1378
+ var TW_CHROMA_800 = TW_CHROMA["800"];
1379
+ var TW_CHROMA_900 = TW_CHROMA["900"];
1380
+ var TW_CHROMA_950 = TW_CHROMA["950"];
1381
+
1382
+ // src/types/dictionary/MapTo.ts
1383
+ var toFinalizedConfig = (config) => {
1384
+ return { ...config, finalized: true };
1385
+ };
1386
+ var DEFAULT_ONE_TO_MANY_MAPPING = toFinalizedConfig({
1387
+ input: "req",
1388
+ output: "opt",
1389
+ cardinality: "I -> O[]"
1390
+ });
1391
+ var DEFAULT_ONE_TO_ONE_MAPPING = toFinalizedConfig({
1392
+ input: "req",
1393
+ output: "req",
1394
+ cardinality: "I -> O"
1395
+ });
1396
+ var DEFAULT_MANY_TO_ONE_MAPPING = toFinalizedConfig({
1397
+ input: "req",
1398
+ output: "req",
1399
+ cardinality: "I[] -> O"
1400
+ });
1401
+ var MapCardinality = /* @__PURE__ */ ((MapCardinality2) => {
1402
+ MapCardinality2["OneToMany"] = "I -> O[]";
1403
+ MapCardinality2["OneToOne"] = "I -> O";
1404
+ MapCardinality2["ManyToOne"] = "I[] -> O";
1405
+ return MapCardinality2;
1406
+ })(MapCardinality || {});
1407
+
1408
+ // src/types/string-literals/character-sets/images/Exif.ts
1409
+ var ExifCompression = /* @__PURE__ */ ((ExifCompression2) => {
1410
+ ExifCompression2[ExifCompression2["Uncompressed"] = 1] = "Uncompressed";
1411
+ ExifCompression2[ExifCompression2["CCITT"] = 2] = "CCITT";
1412
+ ExifCompression2[ExifCompression2["T4Group3Fax"] = 3] = "T4Group3Fax";
1413
+ ExifCompression2[ExifCompression2["T6Group3Fax"] = 4] = "T6Group3Fax";
1414
+ ExifCompression2[ExifCompression2["LZW"] = 5] = "LZW";
1415
+ ExifCompression2[ExifCompression2["JpgOldStyle"] = 6] = "JpgOldStyle";
1416
+ ExifCompression2[ExifCompression2["Jpg"] = 7] = "Jpg";
1417
+ ExifCompression2[ExifCompression2["AdobeDeflate"] = 8] = "AdobeDeflate";
1418
+ ExifCompression2[ExifCompression2["JBigBw"] = 9] = "JBigBw";
1419
+ ExifCompression2[ExifCompression2["JBigColor"] = 10] = "JBigColor";
1420
+ ExifCompression2[ExifCompression2["JpegAlt"] = 99] = "JpegAlt";
1421
+ ExifCompression2[ExifCompression2["Kodak262"] = 262] = "Kodak262";
1422
+ ExifCompression2[ExifCompression2["Next"] = 32766] = "Next";
1423
+ ExifCompression2[ExifCompression2["SonyRawCompressed"] = 32767] = "SonyRawCompressed";
1424
+ ExifCompression2[ExifCompression2["PackedRaw"] = 32769] = "PackedRaw";
1425
+ ExifCompression2[ExifCompression2["SamsungSrwCompressed"] = 32770] = "SamsungSrwCompressed";
1426
+ ExifCompression2[ExifCompression2["CCIRLEW"] = 32771] = "CCIRLEW";
1427
+ ExifCompression2[ExifCompression2["SamsungSrwCompressed2"] = 32772] = "SamsungSrwCompressed2";
1428
+ ExifCompression2[ExifCompression2["Packbits"] = 32773] = "Packbits";
1429
+ ExifCompression2[ExifCompression2["Thunderscan"] = 32809] = "Thunderscan";
1430
+ ExifCompression2[ExifCompression2["KodakKdcCompressed"] = 32867] = "KodakKdcCompressed";
1431
+ ExifCompression2[ExifCompression2["IT8CTPAD"] = 32895] = "IT8CTPAD";
1432
+ ExifCompression2[ExifCompression2["IT8LW"] = 32896] = "IT8LW";
1433
+ ExifCompression2[ExifCompression2["IT8MP"] = 32897] = "IT8MP";
1434
+ ExifCompression2[ExifCompression2["IT8BL"] = 32898] = "IT8BL";
1435
+ ExifCompression2[ExifCompression2["PixarFilm"] = 32908] = "PixarFilm";
1436
+ ExifCompression2[ExifCompression2["PixarLog"] = 32909] = "PixarLog";
1437
+ ExifCompression2[ExifCompression2["Deflate"] = 32946] = "Deflate";
1438
+ ExifCompression2[ExifCompression2["DCS"] = 32947] = "DCS";
1439
+ ExifCompression2[ExifCompression2["AperioJpeg2000YCbCr"] = 33003] = "AperioJpeg2000YCbCr";
1440
+ ExifCompression2[ExifCompression2["AperioJpeg2000RGB"] = 33005] = "AperioJpeg2000RGB";
1441
+ ExifCompression2[ExifCompression2["JBig"] = 34661] = "JBig";
1442
+ ExifCompression2[ExifCompression2["SGILog"] = 34676] = "SGILog";
1443
+ ExifCompression2[ExifCompression2["SGILog24"] = 34677] = "SGILog24";
1444
+ ExifCompression2[ExifCompression2["Jpeg2000"] = 34712] = "Jpeg2000";
1445
+ ExifCompression2[ExifCompression2["NikonNEFCompressed"] = 34713] = "NikonNEFCompressed";
1446
+ ExifCompression2[ExifCompression2["JBig2TiffFx"] = 34715] = "JBig2TiffFx";
1447
+ ExifCompression2[ExifCompression2["MicrosoftBinaryLevelCodec"] = 34718] = "MicrosoftBinaryLevelCodec";
1448
+ ExifCompression2[ExifCompression2["MicrosoftProgressiveTransformCodec"] = 34719] = "MicrosoftProgressiveTransformCodec";
1449
+ ExifCompression2[ExifCompression2["MicrosoftVector"] = 34720] = "MicrosoftVector";
1450
+ ExifCompression2[ExifCompression2["ESRCLerc"] = 34887] = "ESRCLerc";
1451
+ ExifCompression2[ExifCompression2["LossyJpeg"] = 34892] = "LossyJpeg";
1452
+ ExifCompression2[ExifCompression2["LZMA2"] = 34925] = "LZMA2";
1453
+ ExifCompression2[ExifCompression2["Zstd"] = 34926] = "Zstd";
1454
+ ExifCompression2[ExifCompression2["WepP"] = 34927] = "WepP";
1455
+ ExifCompression2[ExifCompression2["PNG"] = 34933] = "PNG";
1456
+ ExifCompression2[ExifCompression2["JpegXR"] = 34934] = "JpegXR";
1457
+ ExifCompression2[ExifCompression2["KodakDCRCompressed"] = 65e3] = "KodakDCRCompressed";
1458
+ ExifCompression2[ExifCompression2["PentaxPEFCompressed"] = 65535] = "PentaxPEFCompressed";
1459
+ return ExifCompression2;
1460
+ })(ExifCompression || {});
1461
+ var ExifLightSource = /* @__PURE__ */ ((ExifLightSource2) => {
1462
+ ExifLightSource2[ExifLightSource2["Unknown"] = 0] = "Unknown";
1463
+ ExifLightSource2[ExifLightSource2["Daylight"] = 1] = "Daylight";
1464
+ ExifLightSource2[ExifLightSource2["Fluorescent"] = 2] = "Fluorescent";
1465
+ ExifLightSource2[ExifLightSource2["Tungsten"] = 3] = "Tungsten";
1466
+ ExifLightSource2[ExifLightSource2["Flash"] = 4] = "Flash";
1467
+ ExifLightSource2[ExifLightSource2["FineWeather"] = 5] = "FineWeather";
1468
+ ExifLightSource2[ExifLightSource2["Cloudy"] = 6] = "Cloudy";
1469
+ ExifLightSource2[ExifLightSource2["Shade"] = 7] = "Shade";
1470
+ ExifLightSource2[ExifLightSource2["DaylightFluorescent"] = 8] = "DaylightFluorescent";
1471
+ ExifLightSource2[ExifLightSource2["DayWhiteFluorescent"] = 9] = "DayWhiteFluorescent";
1472
+ ExifLightSource2[ExifLightSource2["CoolWhiteFluorescent"] = 10] = "CoolWhiteFluorescent";
1473
+ ExifLightSource2[ExifLightSource2["WhiteFluorescent"] = 11] = "WhiteFluorescent";
1474
+ ExifLightSource2[ExifLightSource2["WarmWhiteFluorescent"] = 12] = "WarmWhiteFluorescent";
1475
+ ExifLightSource2[ExifLightSource2["StandardLightA"] = 13] = "StandardLightA";
1476
+ ExifLightSource2[ExifLightSource2["StandardLightB"] = 14] = "StandardLightB";
1477
+ ExifLightSource2[ExifLightSource2["StandardLightC"] = 15] = "StandardLightC";
1478
+ ExifLightSource2[ExifLightSource2["D55"] = 16] = "D55";
1479
+ ExifLightSource2[ExifLightSource2["D65"] = 17] = "D65";
1480
+ ExifLightSource2[ExifLightSource2["D75"] = 18] = "D75";
1481
+ ExifLightSource2[ExifLightSource2["D50"] = 19] = "D50";
1482
+ ExifLightSource2[ExifLightSource2["ISOStudioTungsten"] = 20] = "ISOStudioTungsten";
1483
+ ExifLightSource2[ExifLightSource2["Other"] = 255] = "Other";
1484
+ return ExifLightSource2;
1485
+ })(ExifLightSource || {});
1486
+ var ExifFlashValues = /* @__PURE__ */ ((ExifFlashValues2) => {
1487
+ ExifFlashValues2[ExifFlashValues2["NoFlash"] = 0] = "NoFlash";
1488
+ ExifFlashValues2[ExifFlashValues2["Fired"] = 1] = "Fired";
1489
+ ExifFlashValues2[ExifFlashValues2["FiredReturnNotDetected"] = 5] = "FiredReturnNotDetected";
1490
+ ExifFlashValues2[ExifFlashValues2["FiredReturnDetected"] = 7] = "FiredReturnDetected";
1491
+ ExifFlashValues2[ExifFlashValues2["OnDidNotFire"] = 8] = "OnDidNotFire";
1492
+ ExifFlashValues2[ExifFlashValues2["OnFired"] = 9] = "OnFired";
1493
+ ExifFlashValues2[ExifFlashValues2["OnReturnNotDetected"] = 13] = "OnReturnNotDetected";
1494
+ ExifFlashValues2[ExifFlashValues2["OnReturnDetected"] = 15] = "OnReturnDetected";
1495
+ ExifFlashValues2[ExifFlashValues2["OffDidNotFire"] = 16] = "OffDidNotFire";
1496
+ ExifFlashValues2[ExifFlashValues2["OffDidNotFireReturnNotDetected"] = 20] = "OffDidNotFireReturnNotDetected";
1497
+ ExifFlashValues2[ExifFlashValues2["AutoDidNotFire"] = 24] = "AutoDidNotFire";
1498
+ ExifFlashValues2[ExifFlashValues2["AutoFired"] = 25] = "AutoFired";
1499
+ ExifFlashValues2[ExifFlashValues2["AutoFiredReturnNotDetected"] = 29] = "AutoFiredReturnNotDetected";
1500
+ ExifFlashValues2[ExifFlashValues2["AutoFiredReturnDetected"] = 31] = "AutoFiredReturnDetected";
1501
+ ExifFlashValues2[ExifFlashValues2["NoFlashFunction"] = 32] = "NoFlashFunction";
1502
+ ExifFlashValues2[ExifFlashValues2["OffNoFlashFunction"] = 48] = "OffNoFlashFunction";
1503
+ ExifFlashValues2[ExifFlashValues2["FiredRedEyeReduction"] = 65] = "FiredRedEyeReduction";
1504
+ ExifFlashValues2[ExifFlashValues2["FiredRedEyeReductionReturnNotDetected"] = 69] = "FiredRedEyeReductionReturnNotDetected";
1505
+ ExifFlashValues2[ExifFlashValues2["FiredRedEyeReductionReturnDetected"] = 71] = "FiredRedEyeReductionReturnDetected";
1506
+ ExifFlashValues2[ExifFlashValues2["OnRedEyeReduction"] = 73] = "OnRedEyeReduction";
1507
+ ExifFlashValues2[ExifFlashValues2["OnRedEyeReductionReturnNotDetected"] = 77] = "OnRedEyeReductionReturnNotDetected";
1508
+ ExifFlashValues2[ExifFlashValues2["OnRedEyeReductionReturnDetected"] = 79] = "OnRedEyeReductionReturnDetected";
1509
+ ExifFlashValues2[ExifFlashValues2["OffRedEyeReduction"] = 80] = "OffRedEyeReduction";
1510
+ ExifFlashValues2[ExifFlashValues2["AutoDidNotFireRedEyeReduction"] = 88] = "AutoDidNotFireRedEyeReduction";
1511
+ ExifFlashValues2[ExifFlashValues2["AutoFiredRedEyeReduction"] = 89] = "AutoFiredRedEyeReduction";
1512
+ ExifFlashValues2[ExifFlashValues2["AutoFiredRedEyeReductionNotDetected"] = 96] = "AutoFiredRedEyeReductionNotDetected";
1513
+ ExifFlashValues2[ExifFlashValues2["AutoFiredRedEyeReductionDetected"] = 93] = "AutoFiredRedEyeReductionDetected";
1514
+ return ExifFlashValues2;
1515
+ })(ExifFlashValues || {});
1516
+ var ExifPreviewColorSpace = /* @__PURE__ */ ((ExifPreviewColorSpace2) => {
1517
+ ExifPreviewColorSpace2[ExifPreviewColorSpace2["Unknown"] = 0] = "Unknown";
1518
+ ExifPreviewColorSpace2[ExifPreviewColorSpace2["GrayGamma22"] = 1] = "GrayGamma22";
1519
+ ExifPreviewColorSpace2[ExifPreviewColorSpace2["sRGB"] = 2] = "sRGB";
1520
+ ExifPreviewColorSpace2[ExifPreviewColorSpace2["AdobeRGB"] = 3] = "AdobeRGB";
1521
+ ExifPreviewColorSpace2[ExifPreviewColorSpace2["ProPhotoRGB"] = 4] = "ProPhotoRGB";
1522
+ return ExifPreviewColorSpace2;
1523
+ })(ExifPreviewColorSpace || {});
1524
+ var ExifEmbedPolicy = /* @__PURE__ */ ((ExifEmbedPolicy2) => {
1525
+ ExifEmbedPolicy2[ExifEmbedPolicy2["AllowCopying"] = 0] = "AllowCopying";
1526
+ ExifEmbedPolicy2[ExifEmbedPolicy2["EmbedIfUsed"] = 1] = "EmbedIfUsed";
1527
+ ExifEmbedPolicy2[ExifEmbedPolicy2["NeverEmbed"] = 2] = "NeverEmbed";
1528
+ ExifEmbedPolicy2[ExifEmbedPolicy2["NoRestrictions"] = 3] = "NoRestrictions";
1529
+ return ExifEmbedPolicy2;
1530
+ })(ExifEmbedPolicy || {});
1531
+ var ExifSubjectDistance = /* @__PURE__ */ ((ExifSubjectDistance2) => {
1532
+ ExifSubjectDistance2[ExifSubjectDistance2["Unknown"] = 0] = "Unknown";
1533
+ ExifSubjectDistance2[ExifSubjectDistance2["Macro"] = 1] = "Macro";
1534
+ ExifSubjectDistance2[ExifSubjectDistance2["Close"] = 2] = "Close";
1535
+ ExifSubjectDistance2[ExifSubjectDistance2["Distant"] = 3] = "Distant";
1536
+ return ExifSubjectDistance2;
1537
+ })(ExifSubjectDistance || {});
1538
+ var ExifSharpness = /* @__PURE__ */ ((ExifSharpness2) => {
1539
+ ExifSharpness2[ExifSharpness2["Normal"] = 0] = "Normal";
1540
+ ExifSharpness2[ExifSharpness2["Soft"] = 1] = "Soft";
1541
+ ExifSharpness2[ExifSharpness2["Hard"] = 2] = "Hard";
1542
+ return ExifSharpness2;
1543
+ })(ExifSharpness || {});
1544
+ var ExifSceneCaptureType = /* @__PURE__ */ ((ExifSceneCaptureType2) => {
1545
+ ExifSceneCaptureType2[ExifSceneCaptureType2["Standard"] = 0] = "Standard";
1546
+ ExifSceneCaptureType2[ExifSceneCaptureType2["Landscape"] = 1] = "Landscape";
1547
+ ExifSceneCaptureType2[ExifSceneCaptureType2["Portrait"] = 2] = "Portrait";
1548
+ ExifSceneCaptureType2[ExifSceneCaptureType2["Night"] = 3] = "Night";
1549
+ ExifSceneCaptureType2[ExifSceneCaptureType2["Other"] = 4] = "Other";
1550
+ return ExifSceneCaptureType2;
1551
+ })(ExifSceneCaptureType || {});
1552
+ var ExifGainControl = /* @__PURE__ */ ((ExifGainControl2) => {
1553
+ ExifGainControl2[ExifGainControl2["None"] = 0] = "None";
1554
+ ExifGainControl2[ExifGainControl2["LowGainUp"] = 1] = "LowGainUp";
1555
+ ExifGainControl2[ExifGainControl2["HighGainUp"] = 2] = "HighGainUp";
1556
+ ExifGainControl2[ExifGainControl2["LowGainDown"] = 3] = "LowGainDown";
1557
+ ExifGainControl2[ExifGainControl2["HighGainDown"] = 4] = "HighGainDown";
1558
+ return ExifGainControl2;
1559
+ })(ExifGainControl || {});
1560
+ var ExifContrast = /* @__PURE__ */ ((ExifContrast2) => {
1561
+ ExifContrast2[ExifContrast2["Normal"] = 0] = "Normal";
1562
+ ExifContrast2[ExifContrast2["Low"] = 1] = "Low";
1563
+ ExifContrast2[ExifContrast2["High"] = 2] = "High";
1564
+ return ExifContrast2;
1565
+ })(ExifContrast || {});
1566
+ var ExifSaturation = /* @__PURE__ */ ((ExifSaturation2) => {
1567
+ ExifSaturation2[ExifSaturation2["Normal"] = 0] = "Normal";
1568
+ ExifSaturation2[ExifSaturation2["Low"] = 1] = "Low";
1569
+ ExifSaturation2[ExifSaturation2["High"] = 2] = "High";
1570
+ return ExifSaturation2;
1571
+ })(ExifSaturation || {});
1572
+
1573
+ // src/runtime/api/defineApi.ts
1574
+ var asEscapeFunction = (fn2) => createFnWithProps(fn2, { escape: true });
1575
+ var asOptionalParamFunction = (fn2) => createFnWithProps(fn2, { optionalParams: true });
1576
+ var asApi = (api) => isApi(api) ? api : isApiSurface(api) ? { _kind: "api", surface: api } : createErrorCondition("invalid-api");
1577
+
1578
+ // src/runtime/api/handleDoneFn.ts
1579
+ var handleDoneFn = (val, call_bare_fn = false) => {
1580
+ return isObject(val) || isFunction(val) ? isDoneFn(val) ? val.done() : isFunction(val) ? call_bare_fn ? val() : val : val : isFunction(val) ? call_bare_fn ? val() : val : val;
1581
+ };
1582
+
1583
+ // src/runtime/boolean-logic/ifArray.ts
1584
+ function ifArray(val, isAnArray, isNotAnArray) {
1585
+ return Array.isArray(val) ? isAnArray(val) : isNotAnArray(val);
1586
+ }
1587
+
1588
+ // src/runtime/boolean-logic/ifBoolean.ts
1589
+ function ifBoolean(val, ifBoolean2, notBoolean) {
1590
+ return isBoolean(val) ? ifBoolean2(val) : notBoolean(val);
1591
+ }
1592
+
1593
+ // src/runtime/boolean-logic/ifNumber.ts
1594
+ function ifNumber(val, ifVal, elseVal) {
1595
+ return isNumber(val) ? ifVal(val) : elseVal(val);
1596
+ }
1597
+
1598
+ // src/runtime/boolean-logic/ifNotNull.ts
1599
+ function ifNotNull(val, ifVal, elseVal) {
1600
+ return isNull(val) ? elseVal() : ifVal(val);
1601
+ }
1602
+
1603
+ // src/runtime/boolean-logic/ifSameType.ts
1604
+ function ifSameType(value, comparator, same, notSame) {
1605
+ return (
1606
+ // runtime values match
1607
+ typeof value === typeof comparator ? same(value) : notSame(value)
1608
+ );
1609
+ }
1610
+
1611
+ // src/runtime/boolean-logic/ifContainer.ts
1612
+ function ifContainer(value, ifContainer2, notContainer) {
1613
+ return isObject(value) || isArray(value) ? ifContainer2(value) : notContainer(value);
1614
+ }
1615
+
1616
+ // src/runtime/boolean-logic/ifHasKey.ts
1617
+ var ifHasKey = (container, key, hasKey, doesNotHaveKey) => hasIndexOf(container, key) ? hasKey(container) : doesNotHaveKey(container);
1618
+
1619
+ // src/runtime/boolean-logic/ifLength.ts
1620
+ function ifLength(value, length, ifVal, elseVal) {
1621
+ return Array.isArray(value) && value.length === length ? ifVal(value) : elseVal(value);
1622
+ }
1623
+
1624
+ // src/runtime/type-guards/isString.ts
1625
+ function isString(value) {
1626
+ return typeof value === "string";
1627
+ }
1628
+
1629
+ // src/runtime/type-guards/isNumber.ts
1630
+ function isNumber(value) {
1631
+ return typeof value === "number";
1632
+ }
1633
+
1634
+ // src/runtime/type-guards/isSymbol.ts
1635
+ function isSymbol(value) {
1636
+ return typeof value === "symbol";
1637
+ }
1638
+
1639
+ // src/runtime/type-guards/isNull.ts
1640
+ function isNull(value) {
1641
+ return value === null ? true : false;
1642
+ }
1643
+
1644
+ // src/runtime/type-guards/isScalar.ts
1645
+ function isScalar(value) {
1646
+ return isString(value) || isNumber(value) || isSymbol(value) || isNull(value);
1647
+ }
1648
+
1649
+ // src/runtime/boolean-logic/ifScalar.ts
1650
+ function ifScalar(value, ifCallback, notCallback) {
1651
+ const result2 = isScalar(value) ? ifCallback(
1652
+ value
1653
+ ) : notCallback(value);
1654
+ return result2;
1655
+ }
1656
+
1657
+ // src/runtime/boolean-logic/ifNull.ts
1658
+ function ifNull(val, ifVal, elseVal) {
1659
+ return isNull(val) ? ifVal() : elseVal(val);
1660
+ }
1661
+
1662
+ // src/runtime/boolean-logic/ifObject.ts
1663
+ function ifObject(val, ifObj, notObj) {
1664
+ return isObject(val) ? ifObj : notObj;
1665
+ }
1666
+
1667
+ // src/runtime/boolean-logic/ifTrue.ts
1668
+ function ifTrue(val, ifVal, elseVal) {
1669
+ return (
1670
+ //
1671
+ isTrue(val) ? ifVal(val) : elseVal(val)
1672
+ );
1673
+ }
1674
+
1675
+ // src/runtime/boolean-logic/ifFunction.ts
1676
+ function ifFunction(value, isFnCallback, notFnCallback) {
1677
+ return typeof value === "function" ? isFnCallback(value) : notFnCallback(value);
1678
+ }
1679
+
1680
+ // src/runtime/boolean-logic/ifFalse.ts
1681
+ function ifFalse(val, ifVal, elseVal) {
1682
+ return isFalse(val) ? ifVal : elseVal;
1683
+ }
1684
+
1685
+ // src/runtime/boolean-logic/ifChar.ts
1686
+ var def_if = (v) => v;
1687
+ var def_else = () => Never;
1688
+ function ifChar(ch, callback_if_match = def_if, callback_not_match = def_else) {
1689
+ return ch.length === 1 ? callback_if_match(ch) : callback_not_match(ch);
1690
+ }
1691
+
1692
+ // src/runtime/boolean-logic/ifString.ts
1693
+ function ifString(val, ifVal, elseVal) {
1694
+ return typeof val === "string" ? ifVal(val) : elseVal(val);
1695
+ }
1696
+
1697
+ // src/runtime/boolean-logic/ifUndefined.ts
1698
+ function ifUndefined(val, ifUndefined2, ifDefined2) {
1699
+ return isUndefined(val) ? ifUndefined2() : ifDefined2(val);
1700
+ }
1701
+ function ifDefined(val, ifVal, elseVal) {
1702
+ return isDefined(val) ? ifVal : elseVal;
1703
+ }
1704
+
1705
+ // src/runtime/boolean-logic/ifArrayPartial.ts
1706
+ function ifArrayPartial() {
1707
+ return (isAnArray, isNotAnArray) => {
1708
+ return (val) => ifArray(val, isAnArray, isNotAnArray);
1709
+ };
1710
+ }
1711
+
1712
+ // src/runtime/combinators/and.ts
1713
+ var and = (...values) => {
1714
+ return values.every((i) => i === true);
1715
+ };
1716
+
1717
+ // src/runtime/combinators/or.ts
1718
+ function or(...conditions) {
1719
+ const values = conditions.some((v) => v === true ? true : false);
1720
+ return values;
1721
+ }
1722
+
1723
+ // src/runtime/dictionary/entries.ts
1724
+ function entries(obj) {
1725
+ const iterable = {
1726
+ *[Symbol.iterator]() {
1727
+ for (const k of keysOf(obj)) {
1728
+ yield [k, obj[k]];
1729
+ }
1730
+ }
1731
+ };
1732
+ return iterable;
1733
+ }
1734
+
1735
+ // src/runtime/dictionary/get.ts
1736
+ function updatedDotPath(value, dotpath, segment) {
1737
+ return isRef(value) ? dotpath.replace(segment, `Ref(${segment})`) : dotpath;
1738
+ }
1739
+ function getValue(value, dotPath, defaultValue, handleInvalid, fullDotPath) {
1740
+ const pathSegments = isTruthy(dotPath) ? dotPath.split(".") : [];
1741
+ const idx = pathSegments[0];
1742
+ const hasMoreSegments = pathSegments.length > 1;
1743
+ const valueIsIndexable = isContainer(value) && hasIndexOf(value, idx);
1744
+ const hasHandler = !isSpecificConstant("not-defined")(handleInvalid);
1745
+ const invalidDotPath = createErrorCondition(
1746
+ "invalid-dot-path",
1747
+ `The segment "${idx}" in the dotpath "${fullDotPath}" was not indexable and no default value existed on: ${JSON.stringify(value)}`
1748
+ );
1749
+ const current = hasMoreSegments ? isContainer(value) && idx in value ? getValue(
1750
+ indexOf(value, idx),
1751
+ pathSegments.join(".").replace(`${idx}.`, ""),
1752
+ defaultValue,
1753
+ handleInvalid,
1754
+ updatedDotPath(value, fullDotPath, idx)
1755
+ ) : hasHandler ? handleInvalid : invalidDotPath : valueIsIndexable ? hasDefaultValue(hasDefaultValue) ? indexOf(value, idx) || defaultValue : indexOf(value, idx) : hasHandler ? handleInvalid : invalidDotPath;
1756
+ return current;
1757
+ }
1758
+ function get(value, dotPath, options = {
1759
+ defaultValue: NO_DEFAULT_VALUE,
1760
+ handleInvalidDotpath: NOT_DEFINED
1761
+ }) {
1762
+ const outcome = dotPath === null || dotPath === "" ? value : getValue(
1763
+ value,
1764
+ dotPath,
1765
+ (options == null ? void 0 : options.defaultValue) || NO_DEFAULT_VALUE,
1766
+ (options == null ? void 0 : options.handleInvalidDotpath) || NOT_DEFINED,
1767
+ String(dotPath)
1768
+ );
1769
+ return outcome;
1770
+ }
1771
+
1772
+ // src/runtime/dictionary/keysOf.ts
1773
+ function keysOf(container) {
1774
+ const keys = Array.isArray(container) ? Object.keys(container).map((i) => Number(i)) : isObject(container) ? isRef(container) ? ["value"] : Object.keys(container) : [];
1775
+ return keys;
1776
+ }
1777
+
1778
+ // src/runtime/dictionary/omit.ts
1779
+ function omit(obj, ...removeKeys) {
1780
+ const keys = Object.keys(obj);
1781
+ return keys.reduce(
1782
+ (acc, key) => removeKeys.includes(key) ? acc : {
1783
+ ...acc,
1784
+ [key]: obj[key]
1785
+ },
1786
+ {}
1787
+ );
1788
+ }
1789
+
1790
+ // src/runtime/dictionary/retain.ts
1791
+ var retain = (dict, ...keys) => {
1792
+ let output = {};
1793
+ for (const k of keys) {
1794
+ output = {
1795
+ ...output,
1796
+ [k]: dict[k]
1797
+ };
1798
+ }
1799
+ return output;
1800
+ };
1801
+
1802
+ // src/runtime/dictionary/sharedKeys.ts
1803
+ var sharedKeys = (a, b) => {
1804
+ const ka = Object.keys(a);
1805
+ const kb = Object.keys(b);
1806
+ return ka.filter((k) => kb.includes(k));
1807
+ };
1808
+
1809
+ // src/runtime/dictionary/takeProp.ts
1810
+ var takeProp = (val, prop, otherwise) => {
1811
+ return (isObject(val) || isArray(val)) && prop in val ? val[prop] : otherwise;
1812
+ };
1813
+
1814
+ // src/runtime/dictionary/withKeys.ts
1815
+ var withKeys = (dict, ...keys) => retain(dict, ...keys);
1816
+
1817
+ // src/runtime/dictionary/withoutKeys.ts
1818
+ var withoutKeys = (dict, ...exclude) => omit(dict, ...exclude);
1819
+
1820
+ // src/runtime/dictionary/withoutValue.ts
1821
+ function withoutValue(val) {
1822
+ return (obj) => {
1823
+ return Object.keys(obj).reduce(
1824
+ (acc, key) => val === obj[key] ? acc : { ...acc, [key]: obj[key] },
1825
+ {}
1826
+ );
1827
+ };
1828
+ }
1829
+
1830
+ // src/runtime/dictionary/withDefaults.ts
1831
+ var withDefaults = (with_defaults) => (obj) => {
1832
+ const merged = {
1833
+ ...with_defaults,
1834
+ ...obj
1835
+ };
1836
+ return merged;
1837
+ };
1838
+
1839
+ // src/runtime/dictionary/valuesOf.ts
1840
+ var valuesOf = (obj) => {
1841
+ const values = [];
1842
+ for (const k of Object.keys(obj)) {
1843
+ values.push(obj[k]);
1844
+ }
1845
+ return values;
1846
+ };
1847
+
1848
+ // src/runtime/errors/createErrorCondition.ts
1849
+ var createErrorCondition = (kind, msg = "", utility = "") => {
1850
+ return {
1851
+ __kind: "ErrorCondition",
1852
+ kind,
1853
+ msg,
1854
+ utility
1855
+ };
1856
+ };
1857
+ var errCondition = (kind, msg) => ({
1858
+ __kind: "ErrorCondition",
1859
+ kind,
1860
+ msg
1861
+ });
1862
+
1863
+ // src/runtime/literals/box.ts
1864
+ function box(value) {
1865
+ const rtn = {
1866
+ __type: "box",
1867
+ value,
1868
+ unbox: (...p) => {
1869
+ return typeof value === "function" ? value(...p) : value;
1870
+ }
1871
+ };
1872
+ return rtn;
1873
+ }
1874
+ function isBox(thing) {
1875
+ return typeof thing === "object" && "__type" in thing && thing.__type === "box";
1876
+ }
1877
+ function boxDictionaryValues(dict) {
1878
+ const keys = Object.keys(dict);
1879
+ return keys.reduce(
1880
+ (acc, key) => ({ ...acc, [key]: box(dict[key]) }),
1881
+ {}
1882
+ );
1883
+ }
1884
+ function unbox(val) {
1885
+ return isBox(val) ? val.value : val;
1886
+ }
1887
+
1888
+ // src/runtime/literals/identity.ts
1889
+ var identity = (v) => v;
1890
+
1891
+ // src/runtime/literals/literal.ts
1892
+ function idLiteral(o) {
1893
+ return { ...o, id: o.id };
1894
+ }
1895
+ function nameLiteral(o) {
1896
+ return o;
1897
+ }
1898
+ function kindLiteral(o) {
1899
+ return o;
1900
+ }
1901
+ function idTypeGuard(_o) {
1902
+ return true;
1903
+ }
1904
+ function literal(obj) {
1905
+ return obj;
1906
+ }
1907
+
1908
+ // src/runtime/type-guards/isDefined.ts
1909
+ function isDefined(value) {
1910
+ return typeof value === "undefined" ? false : true;
1911
+ }
1912
+
1913
+ // src/runtime/type-guards/isFalsy.ts
1914
+ var isFalsy = (val) => {
1915
+ return FALSY_VALUES.includes(val);
1916
+ };
1917
+
1918
+ // src/runtime/type-guards/isNotNull.ts
1919
+ function isNotNull(value) {
1920
+ return value === null ? true : false;
1921
+ }
1922
+
1923
+ // src/runtime/type-guards/isTruthy.ts
1924
+ var isTruthy = (val) => {
1925
+ return !FALSY_VALUES.includes(val);
1926
+ };
1927
+
1928
+ // src/runtime/type-guards/isTypeTuple.ts
1929
+ function isTypeTuple(value) {
1930
+ return Array.isArray(value) && value.length === 3 && typeof value[1] === "function";
1931
+ }
1932
+
1933
+ // src/runtime/type-guards/isUndefined.ts
1934
+ function isUndefined(value) {
1935
+ return typeof value === "undefined" ? true : false;
1936
+ }
1937
+
1938
+ // src/runtime/type-guards/isBoolean.ts
1939
+ function isBoolean(value) {
1940
+ return typeof value === "boolean";
1941
+ }
1942
+
1943
+ // src/runtime/type-guards/isIndexable.ts
1944
+ function isIndexable(value) {
1945
+ return Array.isArray(value) || typeof value === "object" && keysOf(value).length > 0 ? true : false;
1946
+ }
1947
+
1948
+ // src/runtime/type-guards/isObject.ts
1949
+ function isObject(value) {
1950
+ return typeof value === "object" && value !== null && Array.isArray(value) === false;
1951
+ }
1952
+
1953
+ // src/runtime/type-guards/isTrue.ts
1954
+ function isTrue(value) {
1955
+ return value === true;
1956
+ }
1957
+
1958
+ // src/runtime/type-guards/isArray.ts
1959
+ function isArray(value) {
1960
+ return Array.isArray(value) === true;
1961
+ }
1962
+
1963
+ // src/runtime/type-guards/isConstant.ts
1964
+ function isConstant(value) {
1965
+ return isObject(value) && "_type" in value && "kind" in value && value._type === "Constant" ? true : false;
1966
+ }
1967
+
1968
+ // src/runtime/type-guards/isNever.ts
1969
+ var isNever = (val) => {
1970
+ return isConstant(val) && val.kind === "never";
1971
+ };
1972
+
1973
+ // src/runtime/type-guards/isContainer.ts
1974
+ function isContainer(value) {
1975
+ return Array.isArray(value) || isObject(value) ? true : false;
1976
+ }
1977
+
1978
+ // src/runtime/type-guards/isSpecificConstant.ts
1979
+ function isSpecificConstant(kind) {
1980
+ return (value) => {
1981
+ return isConstant(value) && value.kind === kind ? true : false;
1982
+ };
1983
+ }
1984
+
1985
+ // src/runtime/type-guards/isReadonlyArray.ts
1986
+ function isReadonlyArray(value) {
1987
+ return Array.isArray(value) === true;
1988
+ }
1989
+
1990
+ // src/runtime/type-guards/hasIndexOf.ts
1991
+ var hasIndexOf = (value, idx) => {
1992
+ const result2 = isObject(value) ? String(idx) in value : Array.isArray(value) ? Number(idx) in value : false;
1993
+ return isErrorCondition(result2, "invalid-index") ? false : result2;
1994
+ };
1995
+
1996
+ // src/runtime/type-guards/isRef.ts
1997
+ function isRef(value) {
1998
+ return isObject(value) && "value" in value && Array.from(Object.keys(value)).includes("_value");
1999
+ }
2000
+
2001
+ // src/runtime/type-guards/isFalse.ts
2002
+ function isFalse(i) {
2003
+ return typeof i === "boolean" && !i;
2004
+ }
2005
+
2006
+ // src/runtime/type-guards/hasDefaultValue.ts
2007
+ function hasDefaultValue(value) {
2008
+ const noDefault = isSpecificConstant("no-default-value");
2009
+ return noDefault(value) ? false : true;
2010
+ }
2011
+
2012
+ // src/runtime/literals/split.ts
2013
+ function split(str, sep = "") {
2014
+ return str.split(sep);
2015
+ }
2016
+
2017
+ // src/runtime/type-guards/isNumericString.ts
2018
+ function isNumericString(value) {
2019
+ const validChars = [...NUMERIC_CHAR, "x", "E"];
2020
+ return typeof value === "string" && split(value).every((i) => validChars.includes(i));
2021
+ }
2022
+ function isNumberLike(value) {
2023
+ const numericChars = [...NUMERIC_CHAR];
2024
+ return typeof value === "string" && split(value).every((i) => numericChars.includes(i));
2025
+ }
2026
+
2027
+ // src/runtime/type-guards/isFnWithParams.ts
2028
+ function isFnWithParams(input) {
2029
+ var _a;
2030
+ return typeof input === "function" && ((_a = Object.keys(input)) == null ? void 0 : _a.length) > 0;
2031
+ }
2032
+
2033
+ // src/runtime/type-guards/isFunction.ts
2034
+ function isFunction(value) {
2035
+ return typeof value === "function" ? true : false;
2036
+ }
2037
+
2038
+ // src/runtime/type-guards/isNothing.ts
2039
+ function isNothing(val) {
2040
+ return val === null || val === void 0 ? true : false;
2041
+ }
2042
+
2043
+ // src/runtime/type-guards/isTypeToken.ts
2044
+ function isTypeToken(val) {
2045
+ if (isString(val) && startsWith("<<")(val) && endsWith(">>")(val)) {
2046
+ return true;
2047
+ } else {
2048
+ return false;
2049
+ }
2050
+ }
2051
+
2052
+ // src/runtime/type-guards/isThenable.ts
2053
+ var isThenable = (val) => {
2054
+ return isObject(val) && "then" in val && "catch" in val && typeof val.then === "function";
2055
+ };
2056
+
2057
+ // src/runtime/type-guards/isErrorCondition.ts
2058
+ function isErrorCondition(value, kind = null) {
2059
+ return isObject(value) && "__kind" in value && value.__kind === "ErrorCondition" && "kind" in value ? kind !== null ? value["kind"] === kind : true : false;
2060
+ }
2061
+
2062
+ // src/runtime/type-guards/hasKeys.ts
2063
+ var hasKeys = (...props) => (
2064
+ /**
2065
+ * Type guard which validates whether the configured properties
2066
+ * exist on a given `Record<ObjectKey, unknown` and if they do at
2067
+ * runtime will provide the type support for them.
2068
+ */
2069
+ (val) => {
2070
+ const keys = Array.isArray(props) ? props : Object.keys(props).filter((i) => typeof i === "string");
2071
+ return (isFunction(val) || isObject(val)) && keys.every((k) => k in val) ? true : false;
2072
+ }
2073
+ );
2074
+
2075
+ // src/runtime/type-guards/isDoneFn.ts
2076
+ var isDoneFn = (val) => {
2077
+ return hasKeys("done")(val) && typeof val.done === "function";
2078
+ };
2079
+
2080
+ // src/runtime/type-guards/isUrl.ts
2081
+ var isUri = (val, ...protocols) => {
2082
+ const p = protocols.length === 0 ? valuesOf(NETWORK_PROTOCOL_LOOKUP).flat().filter((i) => i) : protocols;
2083
+ return isString(val) && p.some((i) => val.startsWith(`${i}://`));
2084
+ };
2085
+ var isUrl = (val, ...protocols) => {
2086
+ const p = protocols.length === 0 ? ["http", "https"] : protocols;
2087
+ return isString(val) && p.some((i) => val.startsWith(`${i}://`));
2088
+ };
2089
+
2090
+ // src/runtime/type-guards/isCssAspectRatio.ts
2091
+ var tokens = [
2092
+ "1",
2093
+ "inherit",
2094
+ "initial",
2095
+ "revert",
2096
+ "revert-layer",
2097
+ "unset",
2098
+ "auto"
2099
+ ];
2100
+ var isRatio = (val) => /[0-9]{1,4}\s*\/\s*[0-9]{1,4}/.test(val);
2101
+ var isCssAspectRatio = (val) => {
2102
+ return isString(val) && val.split(/\s+/).every((i) => tokens.includes(i) || isRatio(i));
2103
+ };
2104
+
2105
+ // src/runtime/type-guards/isInlineSvg.ts
2106
+ var isInlineSvg = (v) => {
2107
+ return isString(v) && v.trim().startsWith(`<svg`) && v.trim().endsWith(`</svg>`);
2108
+ };
2109
+
2110
+ // src/runtime/type-guards/youtube.ts
2111
+ var isYouTubeUrl = (val) => {
2112
+ return isString(val) && (val.startsWith("https://www.youtube.com") || val.startsWith("https://youtube.com") || val.startsWith("https://youtu.be"));
2113
+ };
2114
+ var isYouTubeShareUrl = (val) => {
2115
+ return isString(val) && val.startsWith(`https://youtu.be`);
2116
+ };
2117
+ var isYouTubeVideoUrl = (val) => {
2118
+ return isString(val) && (val.startsWith("https://www.youtube.com") || val.startsWith("https://youtube.com") || val.startsWith("https://youtu.be"));
2119
+ };
2120
+ var isYouTubePlaylistUrl = (val) => {
2121
+ return isString(val) && (val === `https://www.youtube.com/feed/playlists` || val === `https://youtube.com/feed/playlists` || val === `https://www.youtube.com/channel/playlists` || val === `https://youtube.com/channel/playlists` || val.startsWith(`https://www.youtube.com/@`) && val.endsWith(`/playlists`) || val.startsWith(`https://youtube.com/@`) && val.endsWith(`/playlists`));
2122
+ };
2123
+ var feed_map = (type) => {
2124
+ return isUndefined(type) ? `/feed` : type === "liked" ? `/playlist?list=LL` : ["history", "playlists", "trending", "subscriptions"].includes(type) ? `/feed/${type}` : `/feed/`;
2125
+ };
2126
+ var isYouTubeFeedUrl = (val, type = void 0) => {
2127
+ return isString(val) && (val.startsWith(`https://www.youtube.com${feed_map(type)}`) || val.startsWith(`https://youtube.com${feed_map(type)}`));
2128
+ };
2129
+ var isYouTubeCreatorUrl = (url) => {
2130
+ return isString(url) && (url.startsWith(`https://www.youtube.com/@`) || url.startsWith(`https://youtube.com/@`) || url.startsWith(`https://www.youtube.com/channel/`));
2131
+ };
2132
+ var isYouTubeVideosInPlaylist = (val) => {
2133
+ return isString(val) && (val.startsWith(`https://www.youtube.com/playlist?`) || val.startsWith(`https://youtube.com/playlist?`)) && hasUrlQueryParameter(val, "list");
2134
+ };
2135
+
2136
+ // src/runtime/type-guards/repos.ts
2137
+ var isRepoSource = (v) => {
2138
+ return isString(v) && REPO_SOURCES.includes(v);
2139
+ };
2140
+ var isSemanticVersion = (v, allowPrefix = false) => {
2141
+ return isString(v) && v.split(".").length === 3 && !Number.isNaN(Number(v.split(".")[1])) && !Number.isNaN(Number(v.split(".")[2])) && (!Number.isNaN(Number(v.split(".")[0])) || allowPrefix && !Number.isNaN(Number(stripLeading(v.split(".")[0], "v").trim())));
2142
+ };
2143
+ var isRepoUrl = (val) => {
2144
+ const baseUrls = valuesOf(REPO_SOURCE_LOOKUP).flat();
2145
+ return isString(val) && baseUrls.every(
2146
+ (u) => val === u || val.startsWith(`${u}/`)
2147
+ );
2148
+ };
2149
+ var isGithubUrl = (val) => {
2150
+ const baseUrls = REPO_SOURCE_LOOKUP["github"];
2151
+ return isString(val) && baseUrls.every(
2152
+ (u) => val === u || val.startsWith(`${u}/`)
2153
+ );
2154
+ };
2155
+ var isGithubRepoUrl = (val) => {
2156
+ const baseUrls = [""];
2157
+ return isString(val) && baseUrls.every(
2158
+ (u) => val === u || val.startsWith(`${u}/`)
2159
+ );
2160
+ };
2161
+ var isBitbucketUrl = (val) => {
2162
+ const baseUrls = REPO_SOURCE_LOOKUP["bitbucket"];
2163
+ return isString(val) && baseUrls.every(
2164
+ (u) => val === u || val.startsWith(`${u}/`)
2165
+ );
2166
+ };
2167
+ var isCodeCommitUrl = (val) => {
2168
+ const baseUrls = REPO_SOURCE_LOOKUP["codecommit"];
2169
+ return isString(val) && baseUrls.every(
2170
+ (u) => val === u || val.startsWith(`${u}/`)
2171
+ );
2172
+ };
2173
+
2174
+ // src/runtime/type-guards/network-tg.ts
2175
+ var isIp4Address = (val) => {
2176
+ return isString(val) && val.split(".").length === 4 && val.split(".").every((i) => isNumberLike(i)) && val.split(".").every((i) => Number(i) >= 0 && Number(i) <= 255);
2177
+ };
2178
+ var isIp6Address = (val) => {
2179
+ const expanded = isString(val) ? ip6GroupExpansion(val) : "";
2180
+ return isString(val) && isString(expanded) && expanded.split(":").every((i) => asChars(i).length >= 1 && asChars(i).length <= 4) && expanded.split(":").every((i) => isHexadecimal(i));
2181
+ };
2182
+ var isIpAddress = (val) => {
2183
+ return isIp4Address(val) || isIp6Address(val);
2184
+ };
2185
+ var hasUrlPort = (val) => {
2186
+ return isString(val) && asChars(removeUrlProtocol(val)).some((i) => i === ":");
2187
+ };
2188
+ var isUrlPath = (val) => {
2189
+ return isString(val) && (val === "" || val.startsWith("/")) && asChars(val).every(
2190
+ (c) => isAlpha(c) || isNumberLike(c) || c === "_" || c === "@" || c === "." || c === "-"
2191
+ );
2192
+ };
2193
+ var isDomainName = (val) => {
2194
+ return isString(val) && val.split(".").filter((i) => i).length > 1 && isString(val.split(".").filter((i) => i).pop()) && asChars(val.split(".").filter((i) => i).pop()).length > 1 && val.split(".").filter((i) => i).every(
2195
+ (i) => isAlpha(i) || isNumberLike(i) || i === "-" || i === "_"
2196
+ );
2197
+ };
2198
+ var isUrlSource = (val) => {
2199
+ return isDomainName(val) || isIpAddress(val);
2200
+ };
2201
+ var hasUrlQueryParameter = (val, prop) => {
2202
+ return isString(getUrlQueryParams(val, prop));
2203
+ };
2204
+
2205
+ // src/runtime/type-conversion/asChars.ts
2206
+ var asChars = (str) => {
2207
+ return str.split("");
2208
+ };
2209
+
2210
+ // src/runtime/type-guards/isHexadecimal.ts
2211
+ var isHexadecimal = (val) => {
2212
+ return isString(val) && asChars(val).every((i) => isNumericString(i) || ["a", "b", "c", "d", "e", "f"].includes(i.toLowerCase()));
2213
+ };
2214
+
2215
+ // src/runtime/type-guards/isTrimmable.ts
2216
+ var isTrimable = (val) => {
2217
+ return isString(val) && val !== val.trim();
2218
+ };
2219
+
2220
+ // src/runtime/type-conversion/mergeObjects.ts
2221
+ function mergeObjects(defVal, override) {
2222
+ const intersectingKeys = sharedKeys(defVal, override);
2223
+ const defUnique = withoutKeys(defVal, ...intersectingKeys);
2224
+ const overrideUnique = withoutKeys(defVal, ...intersectingKeys);
2225
+ const merged = {
2226
+ ...intersectingKeys.reduce(
2227
+ (acc, key) => typeof override[key] === "undefined" ? { ...acc, [key]: defVal[key] } : { ...acc, [key]: override[key] },
2228
+ {}
2229
+ ),
2230
+ ...defUnique,
2231
+ ...overrideUnique
2232
+ };
2233
+ return merged;
2234
+ }
2235
+
2236
+ // src/runtime/type-conversion/optional.ts
2237
+ function optional(value) {
2238
+ return value;
2239
+ }
2240
+ function orNull(value) {
2241
+ return value;
2242
+ }
2243
+ function optionalOrNull(value) {
2244
+ return value;
2245
+ }
2246
+
2247
+ // src/runtime/type-conversion/mergeScalars.ts
2248
+ function mergeScalars(a, b) {
2249
+ return isUndefined(b) ? a : b;
2250
+ }
2251
+
2252
+ // src/runtime/type-conversion/mergeTuples.ts
2253
+ function mergeTuples(a, b) {
2254
+ return b.length > a.length ? b.map((v, idx) => v !== void 0 ? v : a[idx]) : [...b, ...a.slice(b.length)].map((v, idx) => v !== void 0 ? v : a[idx]);
2255
+ }
2256
+
2257
+ // src/runtime/type-conversion/unionize.ts
2258
+ function unionize(value, inUnionWith) {
2259
+ return value;
2260
+ }
2261
+
2262
+ // src/runtime/type-conversion/intersect.ts
2263
+ function intersect(value, intersectedWith) {
2264
+ return value;
2265
+ }
2266
+
2267
+ // src/runtime/type-conversion/never.ts
2268
+ function never(val) {
2269
+ return val;
2270
+ }
2271
+
2272
+ // src/runtime/type-conversion/union.ts
2273
+ var union = (...options) => (value) => value;
2274
+
2275
+ // src/runtime/type-conversion/toNumber.ts
2276
+ var convertScalar = (val) => {
2277
+ switch (typeof val) {
2278
+ case "number":
2279
+ return val;
2280
+ case "string":
2281
+ return Number(val);
2282
+ case "boolean":
2283
+ return val ? 1 : 0;
2284
+ default:
2285
+ throw Error(`${typeof val} is an invalid scalar type to convert to a number!`);
2286
+ }
2287
+ };
2288
+ var convertList = (val) => val.map((i) => convertScalar(i));
2289
+ function toNumber(value) {
2290
+ return Array.isArray(value) ? convertList(value) : convertScalar(value);
2291
+ }
2292
+
2293
+ // src/runtime/type-conversion/asRecord.ts
2294
+ var asRecord = (obj) => {
2295
+ return obj;
2296
+ };
2297
+
2298
+ // src/runtime/type-conversion/asString.ts
2299
+ var asString = (value) => {
2300
+ return isString(value) ? value : isNumber(value) ? `${value}` : isBoolean(value) ? `${value}` : isArray(value) ? value.join("") : String(value);
2301
+ };
2302
+
2303
+ // src/runtime/type-conversion/ip6GroupExpansion.ts
2304
+ var ip6GroupExpansion = (ip) => {
2305
+ return stripTrailing(ip.replaceAll("::", ":0000:"), ":");
2306
+ };
2307
+
2308
+ // src/runtime/type-conversion/csv.ts
2309
+ var csv = (csv2, format = `string-numeric-tuple`) => {
2310
+ const tuple3 = [];
2311
+ csv2.split(/,\s{0,1}/).forEach((v) => {
2312
+ tuple3.push(
2313
+ format === "string-numeric-tuple" ? isNumberLike(v) ? Number(v) : v : format === "json-tuple" ? isNumberLike(v) ? Number(v) : v === "true" ? true : v === "false" ? false : `"${v}"` : format === "string-tuple" ? `${v}` : Never
2314
+ );
2315
+ });
2316
+ return tuple3;
2317
+ };
2318
+
2319
+ // src/runtime/type-conversion/json.ts
2320
+ var jsonValue = (val) => {
2321
+ return isNumberLike(val) ? Number(val) : val === "true" ? true : val === "false" ? false : `"${val}"`;
2322
+ };
2323
+ var jsonValues = (...val) => {
2324
+ return val.map((i) => jsonValue(i));
2325
+ };
2326
+
2327
+ // src/runtime/type-guards/hasWhitespace.ts
2328
+ var hasWhiteSpace = (val) => {
2329
+ return isString(val) && asChars(val).some((c) => WHITESPACE_CHARS.includes(c));
2330
+ };
2331
+
2332
+ // src/runtime/type-guards/isEmail.ts
2333
+ var isEmail = (val) => {
2334
+ if (!isString(val)) {
2335
+ return false;
2336
+ }
2337
+ const parts = val.split("@");
2338
+ const domain = parts[1].split(".");
2339
+ const tld = domain.pop();
2340
+ return isString(val) && (parts.length === 2 && domain.length >= 1 && tld.length >= 2);
2341
+ };
2342
+
2343
+ // src/runtime/type-guards/isPhoneNumber.ts
2344
+ var isPhoneNumber = (val) => {
2345
+ let svelte = String(val).trim();
2346
+ let chars = svelte.split("");
2347
+ let numeric = retainChars(svelte, ...NUMERIC_CHAR);
2348
+ let valid = ["+", "(", ...NUMERIC_CHAR];
2349
+ let nothing = stripChars(svelte, ...[
2350
+ ...NUMERIC_CHAR,
2351
+ ...WHITESPACE_CHARS,
2352
+ "(",
2353
+ ")",
2354
+ "+",
2355
+ ".",
2356
+ "-"
2357
+ ]);
2358
+ return chars.every((i) => valid.includes(i)) && svelte.startsWith(`+`) ? numeric.length >= 8 : svelte.startsWith(`00`) ? numeric.length >= 10 : numeric.length >= 7 && nothing === "";
2359
+ };
2360
+
2361
+ // src/runtime/type-guards/isUnset.ts
2362
+ var isUnset = (val) => {
2363
+ return isObject(val) && val.kind === "Unset";
2364
+ };
2365
+ var isSet = (val) => {
2366
+ return isObject(val) ? val.kind !== "Unset" ? true : false : true;
2367
+ };
2368
+
2369
+ // src/runtime/type-guards/api-tg.ts
2370
+ var isEscapeFunction = (val) => {
2371
+ return isFunction(val) && "escape" in val && val.escape === true;
2372
+ };
2373
+ var isOptionalParamFunction = (val) => {
2374
+ return isFunction(val) && "optionalParams" in val && val.optionalParams === true;
2375
+ };
2376
+ var isApi = (api) => {
2377
+ return isObject(api) && "surface" in api && "_kind" in api && api._kind === "api";
2378
+ };
2379
+ var isApiSurface = (val) => {
2380
+ return isObject(val) && Object.keys(val).some((k) => isEscapeFunction(val[k]));
2381
+ };
2382
+
2383
+ // src/runtime/type-guards/isBooleanLike.ts
2384
+ var isBooleanLike = (val) => {
2385
+ return isBoolean(val) || isString(val) && ["true", "false", "boolean"].includes(val);
2386
+ };
2387
+
2388
+ // src/runtime/type-guards/isRegExp.ts
2389
+ var isRegExp = (val) => {
2390
+ return val instanceof RegExp;
2391
+ };
2392
+ var isLikeRegExp = (val) => {
2393
+ if (isRegExp(val)) {
2394
+ return true;
2395
+ }
2396
+ if (isString(val)) {
2397
+ try {
2398
+ const _re = new RegExp(val);
2399
+ return true;
2400
+ } catch {
2401
+ return false;
2402
+ }
2403
+ }
2404
+ return false;
2405
+ };
2406
+
2407
+ // src/runtime/type-guards/isAlpha.ts
2408
+ var isAlpha = (value) => {
2409
+ return isString(value) && split(value).every((v) => ALPHA_CHARS.includes(v));
2410
+ };
2411
+
2412
+ // src/runtime/type-guards/tokens/isAtomicToken.ts
2413
+ var isAtomicToken = (val) => {
2414
+ return isString(val) && TT_Atomics.some((v) => val === `<<${v}>>`);
2415
+ };
2416
+
2417
+ // src/runtime/type-guards/tokens/isContainerToken.ts
2418
+ var isObjectToken = (val) => {
2419
+ return isString(val) && val.startsWith("<<obj::");
2420
+ };
2421
+ var isRecordToken = (val) => {
2422
+ return isString(val) && val.startsWith("<<rec::") && val.endsWith(">>");
2423
+ };
2424
+ var isTupleToken = (val) => {
2425
+ return isString(val) && val.startsWith("<<tuple::");
2426
+ };
2427
+ var isArrayToken = (val) => {
2428
+ return isString(val) && val.startsWith("<<arr::");
2429
+ };
2430
+ var isMapToken = (val) => {
2431
+ return isString(val) && val.startsWith("<<map::");
2432
+ };
2433
+ var isSetToken = (val) => {
2434
+ return isString(val) && val.startsWith("<<set::");
2435
+ };
2436
+ var isWeakMapToken = (val) => {
2437
+ return isString(val) && val.startsWith("<<weak::");
2438
+ };
2439
+ var isUnionToken = (val) => {
2440
+ return isString(val) && val.startsWith("<<union::[ ");
2441
+ };
2442
+ var isUnionSetToken = (val) => {
2443
+ return isString(val) && val.startsWith("<<union-set::");
2444
+ };
2445
+ var isContainerToken = (val) => {
2446
+ return isString(val) && (isObjectToken(val) || isRecordToken(val) || isTupleToken(val) || isArrayToken(val) || isMapToken(val) || isSetToken(val) || isWeakMapToken(val) || isUnionSetToken(val) || isUnionToken(val));
2447
+ };
2448
+
2449
+ // src/runtime/type-guards/tokens/isFunctionToken.ts
2450
+ var isFnToken = (val) => {
2451
+ return isString(val) && val.startsWith("<<fn::");
2452
+ };
2453
+ var isGeneratorToken = (val) => {
2454
+ return isString(val) && val.startsWith("<<gen::");
2455
+ };
2456
+
2457
+ // src/runtime/type-guards/tokens/isSingletonToken.ts
2458
+ var isSingletonToken = (val) => {
2459
+ return isString(val) && TT_Atomics.some((v) => val === `<<${v}>>`);
2460
+ };
2461
+
2462
+ // src/runtime/type-guards/tokens/isSimpleToken.ts
2463
+ var split_tokens = SIMPLE_TOKENS.map((i) => i.split("TOKEN"));
2464
+ var scalar_split_tokens = SIMPLE_SCALAR_TOKENS.map((i) => i.split("TOKEN"));
2465
+ var isSimpleToken = (val) => {
2466
+ return isString(val) && split_tokens.some(
2467
+ (i) => i.length === 1 && val === i[0] || val.startsWith(i[0]) && val.endsWith(i.slice(-1)[0]) && i.every((p) => val.includes(p))
2468
+ );
2469
+ };
2470
+ var isSimpleScalarToken = (val) => {
2471
+ return isString(val) && scalar_split_tokens.some(
2472
+ (i) => i.length === 1 && val === i[0] || val.startsWith(i[0]) && val.endsWith(i.slice(-1)[0]) && i.every((p) => val.includes(p))
2473
+ );
2474
+ };
2475
+ var isSimpleContainerToken = (val) => {
2476
+ return isString(val) && scalar_split_tokens.some(
2477
+ (i) => i.length === 1 && val === i[0] || val.startsWith(i[0]) && val.endsWith(i.slice(-1)[0]) && i.every((p) => val.includes(p))
2478
+ );
2479
+ };
2480
+ var isSimpleTokenTuple = (val) => {
2481
+ return isArray(val) && val.length !== 0 && val.every(isSimpleToken);
2482
+ };
2483
+ var isSimpleScalarTokenTuple = (val) => {
2484
+ return isArray(val) && val.length !== 0 && val.every(isSimpleScalarToken);
2485
+ };
2486
+ var isSimpleContainerTokenTuple = (val) => {
2487
+ return isArray(val) && val.length !== 0 && val.every(isSimpleContainerToken);
2488
+ };
2489
+
2490
+ // src/runtime/type-guards/higher-order/endsWith.ts
2491
+ var endsWith = (endingIn2) => (val) => {
2492
+ return isString(val) ? val.endsWith(endingIn2) ? true : false : isNumber(val) ? String(val).endsWith(endingIn2) ? true : false : false;
2493
+ };
2494
+
2495
+ // src/runtime/type-guards/higher-order/startsWith.ts
2496
+ var startsWith = (startingWith) => (val) => {
2497
+ return isString(val) ? val.startsWith(startingWith) ? true : false : isNumber(val) ? String(val).startsWith(startingWith) ? true : false : false;
2498
+ };
2499
+
2500
+ // src/runtime/type-guards/higher-order/isEqual.ts
2501
+ var isEqual = (base) => (value) => isSameTypeOf(base)(value) ? value === base ? true : false : false;
2502
+
2503
+ // src/runtime/type-guards/higher-order/isLength.ts
2504
+ function isLength(value, len) {
2505
+ return isArray(value) ? isEqual(value.length)(len) ? true : false : isString(value) ? isEqual(value.length)(len) ? true : false : isObject(value) ? isEqual(keysOf(value))(len) ? true : false : false;
2506
+ }
2507
+
2508
+ // src/runtime/type-guards/higher-order/isTypeOf.ts
2509
+ var isTypeOf = (type) => (value) => {
2510
+ return typeof value === type;
2511
+ };
2512
+
2513
+ // src/runtime/type-guards/higher-order/isSameTypeOf.ts
2514
+ var isSameTypeOf = (base) => (compare) => {
2515
+ return typeof base === typeof compare;
2516
+ };
2517
+
2518
+ // src/runtime/type-guards/higher-order/isTuple.ts
2519
+ var isTuple = (...tuple3) => {
2520
+ const results = tuple3.map((i) => i(ShapeApiImplementation)).map((i) => isDoneFn(i) ? i.done() : i);
2521
+ return (v) => {
2522
+ return isArray(v) && v.length === results.length && results.every(isShape) && v.every((item, idx) => isSameTypeOf(results[idx])(item));
2523
+ };
2524
+ };
2525
+
2526
+ // src/runtime/type-guards/html/isHtmlElement.ts
2527
+ var isHtmlElement = (val) => {
2528
+ return isObject(val) && "attributes" in val && "firstElementChild" in val && "innerHTML" in val;
2529
+ };
2530
+
2531
+ // src/runtime/literals/stripTrailing.ts
2532
+ function stripTrailing(content, ...strip) {
2533
+ let output = String(content);
2534
+ for (const s of strip) {
2535
+ if (output.endsWith(String(s))) {
2536
+ output = output.slice(0, -1 * String(s).length);
2537
+ }
2538
+ }
2539
+ return isNumber(content) ? Number(output) : output;
2540
+ }
2541
+
2542
+ // src/runtime/literals/stripLeading.ts
2543
+ function stripLeading(content, ...strip) {
2544
+ let output = String(content);
2545
+ for (const s of strip) {
2546
+ if (output.startsWith(String(s))) {
2547
+ output = output.slice(String(s).length);
2548
+ }
2549
+ }
2550
+ return isNumber(content) ? Number(output) : output;
2551
+ }
2552
+
2553
+ // src/runtime/literals/ensureTrailing.ts
2554
+ function ensureTrailing(content, ensure) {
2555
+ return (
2556
+ //
2557
+ content.endsWith(ensure) ? content : `${content}${ensure}`
2558
+ );
2559
+ }
2560
+
2561
+ // src/runtime/literals/ensureLeading.ts
2562
+ function ensureLeading(content, ensure) {
2563
+ let output = String(content);
2564
+ return output.startsWith(String(ensure)) ? content : isString(content) ? `${ensure}${content}` : Number(`${ensure}${content}`);
2565
+ }
2566
+
2567
+ // src/runtime/literals/ensureSurround.ts
2568
+ function ensureSurround(prefix, postfix) {
2569
+ const fn2 = (input) => {
2570
+ let result2 = input;
2571
+ result2 = ensureLeading(result2, prefix);
2572
+ result2 = ensureTrailing(result2, postfix);
2573
+ return result2;
2574
+ };
2575
+ return fn2;
2576
+ }
2577
+
2578
+ // src/runtime/literals/ifUppercase.ts
2579
+ function ifUppercaseChar(ch, callbackForMatch, callbackForNoMatch) {
2580
+ if (ch.length !== 1) {
2581
+ throw new Error(`Invalid string length passed to ifUppercaseChar(ch); this function requires a single character but ${ch.length} were received`);
2582
+ }
2583
+ return LOWER_ALPHA_CHARS.includes(ch) ? callbackForMatch(ch) : callbackForNoMatch(ch);
2584
+ }
2585
+
2586
+ // src/runtime/literals/pathJoin.ts
2587
+ function pathJoin(...segments) {
2588
+ const clean_path = segments.map((i) => stripTrailing(stripLeading(i, "/"), "/")).join("/");
2589
+ const original_path = segments.join("/");
2590
+ const pre = original_path.startsWith("/") ? "/" : "";
2591
+ const post = original_path.endsWith("/") ? "/" : "";
2592
+ return `${pre}${clean_path}${post}`;
2593
+ }
2594
+
2595
+ // src/runtime/literals/narrow.ts
2596
+ function narrow(...values) {
2597
+ return values.length === 1 ? values[0] : values;
2598
+ }
2599
+
2600
+ // src/runtime/literals/tuple.ts
2601
+ var tuple = (...values) => {
2602
+ const arr = values.length === 1 ? values[0] : values;
2603
+ return asArray(arr);
2604
+ };
2605
+
2606
+ // src/runtime/literals/capitalize.ts
2607
+ function capitalize(str) {
2608
+ return `${str == null ? void 0 : str.slice(0, 1).toUpperCase()}${str == null ? void 0 : str.slice(1)}`;
2609
+ }
2610
+
2611
+ // src/runtime/literals/uncapitalize.ts
2612
+ function uncapitalize(str) {
2613
+ return `${str == null ? void 0 : str.slice(0, 1).toLowerCase()}${str == null ? void 0 : str.slice(1)}`;
2614
+ }
2615
+
2616
+ // src/runtime/literals/uppercase.ts
2617
+ function uppercase(str) {
2618
+ return str.toUpperCase();
2619
+ }
2620
+
2621
+ // src/runtime/literals/lowercase.ts
2622
+ function lowercase(str) {
2623
+ return str.toLowerCase();
2624
+ }
2625
+
2626
+ // src/runtime/literals/widen.ts
2627
+ function widen(value) {
2628
+ return value;
2629
+ }
2630
+
2631
+ // src/runtime/literals/toCamelCase.ts
2632
+ function toCamelCase(input, preserveWhitespace) {
2633
+ const pascal = preserveWhitespace ? toPascalCase(input, preserveWhitespace) : toPascalCase(input);
2634
+ const [_, preWhite, focus, postWhite] = /^(\s*)(.*?)(\s*)$/.exec(
2635
+ pascal
2636
+ );
2637
+ const camel = (preserveWhitespace ? preWhite : "") + focus.replace(/^.*?([0-9]*?[a-z|A-Z]{1})/s, (_2, p1) => p1.toLowerCase()) + (preserveWhitespace ? postWhite : "");
2638
+ return camel;
2639
+ }
2640
+
2641
+ // src/runtime/literals/toKebabCase.ts
2642
+ function toKebabCase(input, _preserveWhitespace) {
2643
+ const [_, preWhite, focus, postWhite] = /^(\s*)(.*?)(\s*)$/.exec(input);
2644
+ const replaceWhitespace = (i) => i.replace(/\s/gs, "-");
2645
+ const replaceUppercase = (i) => i.replace(/[A-Z]/g, (c) => `-${c[0].toLowerCase()}`);
2646
+ const replaceLeadingDash = (i) => i.replace(/^-/s, "");
2647
+ const replaceTrailingDash = (i) => i.replace(/-$/s, "");
2648
+ const replaceUnderscore = (i) => i.replace(/_/g, "-");
2649
+ const removeDupDashes = (i) => i.replace(/-+/g, "-");
2650
+ return removeDupDashes(`${preWhite}${replaceUnderscore(
2651
+ replaceTrailingDash(
2652
+ replaceLeadingDash(removeDupDashes(replaceWhitespace(replaceUppercase(focus))))
2653
+ )
2654
+ )}${postWhite}`);
2655
+ }
2656
+
2657
+ // src/runtime/literals/ifLowercase.ts
2658
+ function ifLowercaseChar(ch, callbackForMatch, callbackForNoMatch) {
2659
+ if (ch.length !== 1) {
2660
+ throw new Error(`call to ifUppercaseChar received ${ch.length} characters but is only valid when one character is passed in!`);
2661
+ }
2662
+ return LOWER_ALPHA_CHARS.includes(ch) ? callbackForMatch(ch) : callbackForNoMatch(ch);
2663
+ }
2664
+
2665
+ // src/runtime/literals/toSnakeCase.ts
2666
+ function toSnakeCase(input, preserveWhitespace = false) {
2667
+ const [_, preWhite, focus, postWhite] = /^(\s*)(.*?)(\s*)$/.exec(input);
2668
+ const convertInteriorSpace = (input2) => input2.replace(/\s+/gs, "_");
2669
+ const convertDashes = (input2) => input2.replace(/-/gs, "_");
2670
+ const injectUnderscoreBeforeCaps = (input2) => input2.replace(/([A-Z])/gs, "_$1");
2671
+ const removeLeadingUnderscore = (input2) => input2.startsWith("_") ? input2.slice(1) : input2;
2672
+ return ((preserveWhitespace ? preWhite : "") + removeLeadingUnderscore(
2673
+ injectUnderscoreBeforeCaps(convertDashes(convertInteriorSpace(focus)))
2674
+ ).toLowerCase() + (preserveWhitespace ? postWhite : "")).replace(/__/g, "_");
2675
+ }
2676
+
2677
+ // src/runtime/literals/toString.ts
2678
+ function toString(val) {
2679
+ return String(val);
2680
+ }
2681
+
2682
+ // src/runtime/literals/pluralize.ts
2683
+ var isException = (word) => Object.keys(PLURAL_EXCEPTIONS).includes(word);
2684
+ var endingIn = (word, postfix) => {
2685
+ switch (postfix) {
2686
+ case "is":
2687
+ return word.endsWith(postfix) ? `${word}es` : void 0;
2688
+ case "singular-noun":
2689
+ return SINGULAR_NOUN_ENDINGS.some((i) => word.endsWith(i)) ? split(word).every((i) => [...ALPHA_CHARS].includes(i)) ? `${word}es` : void 0 : void 0;
2690
+ case "f":
2691
+ return word.endsWith("f") ? stripTrailing(word, "f") + "ves" : word.endsWith("fe") ? stripTrailing(word, "fe") + "ves" : void 0;
2692
+ case "y":
2693
+ return word.endsWith("y") ? stripTrailing(word, "y") + "ies" : void 0;
2694
+ default:
2695
+ throw new Error(`endingIn received "${postfix}" as a postfix but this ending is not known!`);
2696
+ }
2697
+ };
2698
+ var pluralize = (word) => {
2699
+ const right = rightWhitespace(word);
2700
+ const w = word.trimEnd();
2701
+ const result2 = isException(w) ? PLURAL_EXCEPTIONS[w] : endingIn(w, "is") || endingIn(w, "singular-noun") || endingIn(w, "f") || endingIn(w, "y") || `${w}s`;
2702
+ return `${result2}${right}`;
2703
+ };
2704
+
2705
+ // src/runtime/literals/retainAfter.ts
2706
+ function retainAfter(content, ...find2) {
2707
+ const idx = Math.min(
2708
+ ...find2.map((i) => content.indexOf(i)).filter((i) => i > -1)
2709
+ );
2710
+ const min = Math.min(...find2.map((i) => i.length));
2711
+ let len = Math.max(...find2.map((i) => i.length));
2712
+ if (min !== len) {
2713
+ if (!find2.includes(content.slice(idx, len))) {
2714
+ len = min;
2715
+ }
2716
+ }
2717
+ return idx && idx > 0 ? content.slice(idx + len) : "";
2718
+ }
2719
+ function retainAfterInclusive(content, ...find2) {
2720
+ const minFound = Math.min(
2721
+ ...find2.map((i) => content.indexOf(i)).filter((i) => i > -1)
2722
+ );
2723
+ return minFound > 0 ? content.slice(minFound) : "";
2724
+ }
2725
+
2726
+ // src/runtime/literals/surround.ts
2727
+ function surround(prefix, postfix) {
2728
+ return (input) => `${prefix}${input}${postfix}`;
2729
+ }
2730
+
2731
+ // src/runtime/literals/stripAfter.ts
2732
+ function stripAfter(content, find2) {
2733
+ return content.split(find2).shift();
2734
+ }
2735
+
2736
+ // src/runtime/literals/stripBefore.ts
2737
+ function stripBefore(content, find2) {
2738
+ return content.split(find2).slice(1).join(find2);
2739
+ }
2740
+
2741
+ // src/runtime/literals/stripSurround.ts
2742
+ var stripSurround = (...chars) => {
2743
+ return (input) => {
2744
+ let output = String(input);
2745
+ for (const s of chars) {
2746
+ if (output.startsWith(String(s))) {
2747
+ output = output.slice(String(s).length);
2748
+ }
2749
+ if (output.endsWith(String(s))) {
2750
+ output = output.slice(0, -1 * String(s).length);
2751
+ }
2752
+ }
2753
+ return isNumber(input) ? Number(output) : output;
2754
+ };
2755
+ };
2756
+
2757
+ // src/runtime/literals/stripUntil.ts
2758
+ var stripUntil = (content, ...until) => {
2759
+ const stopIdx = asChars(content).findIndex((c) => until.includes(c));
2760
+ return content.slice(stopIdx);
2761
+ };
2762
+
2763
+ // src/runtime/literals/trim.ts
2764
+ function trim(input) {
2765
+ return input.trim();
2766
+ }
2767
+ function trimLeft(input) {
2768
+ return input.trimStart();
2769
+ }
2770
+ function trimStart(input) {
2771
+ return input.trimStart();
2772
+ }
2773
+ function trimRight(input) {
2774
+ return input.trimEnd();
2775
+ }
2776
+ function trimEnd(input) {
2777
+ return input.trimEnd();
2778
+ }
2779
+
2780
+ // src/runtime/literals/toPascalCase.ts
2781
+ function toPascalCase(input, preserveWhitespace = void 0) {
2782
+ const [_, preWhite, focus, postWhite] = /^(\s*)(.*?)(\s*)$/.exec(
2783
+ input
2784
+ );
2785
+ const convertInteriorToCap = (i) => i.replace(/[ |_|-]+([0-9]*?[a-z|A-Z]{1})/gs, (_2, p1) => p1.toUpperCase());
2786
+ const startingToCap = (i) => i.replace(/^[_|-]*?([0-9]*?[a-z]{1})/gs, (_2, p1) => p1.toUpperCase());
2787
+ const replaceLeadingTrash = (i) => i.replace(/^[-_]/s, "");
2788
+ const replaceTrailingTrash = (i) => i.replace(/[-_]$/s, "");
2789
+ const pascal = `${preserveWhitespace ? preWhite : ""}${capitalize(
2790
+ replaceTrailingTrash(replaceLeadingTrash(convertInteriorToCap(startingToCap(focus))))
2791
+ )}${preserveWhitespace ? postWhite : ""}`;
2792
+ return pascal;
2793
+ }
2794
+
2795
+ // src/runtime/literals/toUppercase.ts
2796
+ function toUppercase(str) {
2797
+ return str.split("").map((i) => ifLowercaseChar(i, (v) => capitalize(v), (v) => v)).join("");
2798
+ }
2799
+
2800
+ // src/runtime/literals/toNumericArray.ts
2801
+ var toNumericArray = (arr) => {
2802
+ return arr.map((i) => Number(i));
2803
+ };
2804
+
2805
+ // src/runtime/literals/truncate.ts
2806
+ var truncate = (content, maxLength, ellipsis = false) => {
2807
+ const overLimit = content.length > maxLength;
2808
+ return overLimit ? ellipsis ? `${content.slice(0, maxLength)}${typeof ellipsis === "string" ? ellipsis : "..."}` : content.slice(0, maxLength) : content;
2809
+ };
2810
+
2811
+ // src/runtime/literals/takeNumericCharacters.ts
2812
+ var takeNumericCharacters = (content) => {
2813
+ let nonNumericIdx = asChars(content).findIndex((i) => !NUMERIC_CHAR.includes(i));
2814
+ return content.slice(0, nonNumericIdx);
2815
+ };
2816
+
2817
+ // src/runtime/literals/retainChars.ts
2818
+ var retainChars = (content, ...retain2) => {
2819
+ let chars = asChars(content);
2820
+ return chars.filter((c) => retain2.includes(c)).join("");
2821
+ };
2822
+
2823
+ // src/runtime/literals/stripChars.ts
2824
+ var stripChars = (content, ...strip) => {
2825
+ let chars = asChars(content);
2826
+ return chars.filter((c) => !strip.includes(c)).join("");
2827
+ };
2828
+
2829
+ // src/runtime/literals/retainWhile.ts
2830
+ var retainWhile = (content, ...retain2) => {
2831
+ const stopIdx = asChars(content).findIndex((c) => !retain2.includes(c));
2832
+ return content.slice(0, stopIdx);
2833
+ };
2834
+
2835
+ // src/runtime/literals/rightWhitespace.ts
2836
+ var rightWhitespace = (content) => {
2837
+ const trimmed = content.trimStart();
2838
+ return retainAfterInclusive(
2839
+ trimmed,
2840
+ ...WHITESPACE_CHARS
2841
+ );
2842
+ };
2843
+
2844
+ // src/runtime/literals/retainUntil.ts
2845
+ function retainUntil(content, ...find2) {
2846
+ const chars = asChars(content);
2847
+ let idx = 0;
2848
+ while (!find2.includes(chars[idx]) && idx <= chars.length) {
2849
+ idx = idx + 1;
2850
+ }
2851
+ return idx === 0 ? "" : content.slice(0, idx);
2852
+ }
2853
+ function retainUntilInclusive(content, ...find2) {
2854
+ const chars = asChars(content);
2855
+ let idx = 0;
2856
+ while (!find2.includes(chars[idx]) && idx <= chars.length) {
2857
+ idx = idx + 1;
2858
+ }
2859
+ return idx === 0 ? content.slice(0, 1) : content.slice(0, idx + 1);
2860
+ }
2861
+
2862
+ // src/runtime/literals/phone/getPhoneCountryCode.ts
2863
+ var getPhoneCountryCode = (phone) => {
2864
+ return phone.trim().startsWith("+") || phone.trim().startsWith("00") ? retainWhile(
2865
+ stripLeading(stripLeading(phone.trim(), "+"), "00"),
2866
+ ...NUMERIC_CHAR
2867
+ ) : "";
2868
+ };
2869
+
2870
+ // src/runtime/literals/phone/removePhoneCountryCode.ts
2871
+ var removePhoneCountryCode = (phone) => {
2872
+ const countryCode = getPhoneCountryCode(phone);
2873
+ return countryCode !== "" ? stripLeading(stripLeading(
2874
+ phone.trim(),
2875
+ "+",
2876
+ "00"
2877
+ ), countryCode).trim() : phone.trim();
2878
+ };
2879
+
2880
+ // src/runtime/literals/phone/asPhoneNumber.ts
2881
+ var asPhoneFormat = () => `NOT IMPLEMENTED`;
2882
+
2883
+ // src/runtime/literals/color/twColor.ts
2884
+ var twColor = (color, luminosity) => {
2885
+ const lum = TW_LUMINOSITY[luminosity];
2886
+ const chroma = TW_CHROMA[luminosity];
2887
+ const hue = TW_HUE[color];
2888
+ return `oklch(${lum} ${chroma} ${hue})`;
2889
+ };
2890
+
2891
+ // src/runtime/literals/color/cssColor.ts
2892
+ var cssColor = (color, v1, v2, v3, opacity) => {
2893
+ return `color(${color} ${v1} ${v2} ${v3}${opacity ? ` / ${opacity}` : ""}`;
2894
+ };
2895
+
2896
+ // src/runtime/errors/kindedError.ts
2897
+ var kindError = (kind, _defineContext) => (msg, context) => {
2898
+ const err = new Error(msg);
2899
+ err.name = toPascalCase(kind);
2900
+ err.kind = toKebabCase(kind);
2901
+ err.__kind = "KindError";
2902
+ err.context = context;
2903
+ return err;
2904
+ };
2905
+
2906
+ // src/runtime/functional/result.ts
2907
+ var result = "NOT READY";
2908
+
2909
+ // src/runtime/functions/fnMeta.ts
2910
+ var fnMeta = (func) => {
2911
+ const fn2 = (...args) => func(...args);
2912
+ const props = Object.keys(fn2).reduce(
2913
+ (acc, key) => ({ ...acc, [key]: fn2[key] }),
2914
+ {}
2915
+ );
2916
+ return {
2917
+ fn: fn2,
2918
+ props
2919
+ };
2920
+ };
2921
+
2922
+ // src/runtime/functions/wrapFn.ts
2923
+ var wrapFn = "NOT IMPLEMENTED";
2924
+
2925
+ // src/runtime/initializers/addFnToProps.ts
2926
+ var addPropsToFn = (fn2, clone_fn) => {
2927
+ const localFn = clone_fn ? (...args) => fn2(args) : fn2;
2928
+ return (obj) => {
2929
+ for (const k in obj) {
2930
+ localFn[k] = obj[k];
2931
+ }
2932
+ return localFn;
2933
+ };
2934
+ };
2935
+
2936
+ // src/runtime/initializers/addPropsToFn.ts
2937
+ var addFnToProps = (props, _clone_fn) => (fn2) => {
2938
+ const localFn = (...args) => fn2(args);
2939
+ for (const k in props) {
2940
+ localFn[k] = props[k];
2941
+ }
2942
+ return localFn;
2943
+ };
2944
+
2945
+ // src/runtime/initializers/createFnWithProps.ts
2946
+ var createFnWithProps = (fn2, props, narrowing = false) => {
2947
+ let fnWithProps = fn2;
2948
+ for (let prop of Object.keys(props)) {
2949
+ fnWithProps[prop] = props[prop];
2950
+ }
2951
+ return isTrue(narrowing) ? fnWithProps : fnWithProps;
2952
+ };
2953
+
2954
+ // src/runtime/initializers/defineObj.ts
2955
+ function defineObj(literal2 = {}) {
2956
+ return (wide2 = {}) => {
2957
+ const obj = literal2 ? { ...literal2, ...wide2 } : wide2;
2958
+ return obj;
2959
+ };
2960
+ }
2961
+
2962
+ // src/runtime/initializers/defineTuple.ts
2963
+ var defineTuple = (...values) => {
2964
+ return values.map(
2965
+ (i) => isFunction(i) ? handleDoneFn(i(ShapeApiImplementation)) : i
2966
+ );
2967
+ };
2968
+
2969
+ // src/runtime/initializers/createCssSelector.ts
2970
+ var createCssSelector = (_opt) => (...selectors) => {
2971
+ return selectors.join(" ");
2972
+ };
2973
+
2974
+ // src/runtime/lists/asArray.ts
2975
+ var asArray = (thing) => {
2976
+ return Array.isArray(thing) === true ? (
2977
+ // proxy thing back as it's already an array
2978
+ thing
2979
+ ) : typeof thing === "undefined" ? [] : [thing];
2980
+ };
2981
+
2982
+ // src/runtime/lists/getEach.ts
2983
+ function getEach(list2, dotPath) {
2984
+ const result2 = list2.map(
2985
+ (i) => isNull(dotPath) ? i : isContainer(i) ? get(i, dotPath) : Never
2986
+ ).filter((i) => !isErrorCondition(i));
2987
+ return result2;
2988
+ }
2989
+
2990
+ // src/runtime/lists/indexOf.ts
2991
+ function indexOf(val, index) {
2992
+ const isNegative = isNumber(index) && index < 0;
2993
+ if (isNegative && !Array.isArray(val)) {
2994
+ throw new Error(`The indexOf(val,idx) utility received a negative index value [${index}] but the value being de-references is not an array [${typeof val}]!`);
2995
+ }
2996
+ if (isNegative && Array.isArray(val) && val.length < Math.abs(index)) {
2997
+ throw new Error(`The indexOf(val,idx) utility received a negative index of ${index} but the length of the array passed in is only ${val.length}! This is not allowed.`);
2998
+ }
2999
+ const idx = isNegative && Array.isArray(val) ? val.length + 1 - Math.abs(index) : index;
3000
+ return index === null ? val : isNull(idx) ? val : isArray(val) ? Number(idx) in val ? val[Number(idx)] : errCondition("invalid-index", `attempt to index a numeric array with an invalid index: ${Number(idx)}`) : isObject(val) ? String(idx) in val ? val[String(idx)] : errCondition("invalid-index", `attempt to index a dictionary object with an invalid index: ${String(idx)}`) : errCondition("invalid-container-type", `Attempt to use indexOf() on an invalid container type: ${typeof val}`);
3001
+ }
3002
+
3003
+ // src/runtime/lists/intersection.ts
3004
+ function intersectWithOffset(a, b, deref) {
3005
+ const aIndexable = a.every((i) => isIndexable(i));
3006
+ const bIndexable = b.every((i) => isIndexable(i));
3007
+ if (!aIndexable || !bIndexable) {
3008
+ if (!aIndexable) {
3009
+ throw new Error(`The "a" array passed into intersect(a,b) was not fully composed of indexable properties: ${a.map((i) => typeof i).join(", ")}`);
3010
+ } else {
3011
+ throw new Error(`The "b" array passed into intersect(a,b) was not fully composed of indexable properties: ${b.map((i) => typeof i).join(", ")}`);
3012
+ }
3013
+ }
3014
+ const aMatches = getEach(a, deref);
3015
+ const bMatches = getEach(b, deref);
3016
+ const sharedKeys2 = ifNotNull(
3017
+ deref,
3018
+ (v) => [
3019
+ a.filter((i) => Array.from(bMatches).includes(get(i, v))),
3020
+ b.filter((i) => Array.from(aMatches).includes(get(i, v)))
3021
+ ],
3022
+ () => a.filter((k) => b.includes(k))
3023
+ );
3024
+ return sharedKeys2;
3025
+ }
3026
+ function intersectNoOffset(a, b) {
3027
+ return a.length < b.length ? a.filter((val) => b.includes(val)) : b.filter((val) => a.includes(val));
3028
+ }
3029
+ var intersection = (a, b, deref = null) => {
3030
+ return deref === null ? intersectNoOffset(a, b) : intersectWithOffset(a, b, deref);
3031
+ };
3032
+
3033
+ // src/runtime/lists/unique.ts
3034
+ var unique = (...values) => {
3035
+ const u = [];
3036
+ for (const i of values.flat()) {
3037
+ if (!u.includes(i)) {
3038
+ u.push(i);
3039
+ }
3040
+ }
3041
+ return u;
3042
+ };
3043
+
3044
+ // src/runtime/lists/logicalReturns.ts
3045
+ function logicalReturns(conditions) {
3046
+ return conditions.map(
3047
+ (c) => isBoolean(c) ? c : isFunction(c) ? c() : Never
3048
+ );
3049
+ }
3050
+
3051
+ // src/runtime/lists/find.ts
3052
+ var find = (list2, deref = null) => (comparator) => {
3053
+ return list2.find((i) => {
3054
+ const val = deref ? isContainer(i) ? deref in i ? i[deref] : void 0 : i : i;
3055
+ return val === comparator;
3056
+ });
3057
+ };
3058
+
3059
+ // src/runtime/lists/filter.ts
3060
+ var filter = "NOT READY";
3061
+
3062
+ // src/runtime/lists/createConverter.ts
3063
+ function createConverter(mapper) {
3064
+ return (input) => {
3065
+ let result2;
3066
+ if (isNothing(input)) {
3067
+ result2 = mapper.nothing ? mapper.nothing(input) : Never;
3068
+ } else if (isObject(input)) {
3069
+ result2 = mapper.object ? mapper.object(input) : Never;
3070
+ } else {
3071
+ switch (typeof input) {
3072
+ case "string":
3073
+ result2 = mapper.string ? mapper.string(input) : Never;
3074
+ break;
3075
+ case "number":
3076
+ case "bigint":
3077
+ result2 = mapper.number ? mapper.number(input) : Never;
3078
+ break;
3079
+ case "boolean":
3080
+ result2 = mapper.boolean ? mapper.boolean(input) : Never;
3081
+ break;
3082
+ default:
3083
+ throw new Error(`Unhandled type: ${typeof input}`);
3084
+ }
3085
+ }
3086
+ return result2;
3087
+ };
3088
+ }
3089
+
3090
+ // src/runtime/lists/slice.ts
3091
+ var slice = (list2, start, end) => {
3092
+ return list2.slice(start, end);
3093
+ };
3094
+
3095
+ // src/runtime/lists/last.ts
3096
+ var last = (list2) => {
3097
+ return [...list2].pop();
3098
+ };
3099
+
3100
+ // src/runtime/lists/reverse.ts
3101
+ var reverse = (list2) => {
3102
+ return [...list2].reverse();
3103
+ };
3104
+
3105
+ // src/runtime/lists/join.ts
3106
+ function joinWith(joinWith2) {
3107
+ return (...tuple3) => {
3108
+ const tup = tuple3;
3109
+ return tup.join(joinWith2);
3110
+ };
3111
+ }
3112
+
3113
+ // src/runtime/lists/shift.ts
3114
+ var shift = (list2) => {
3115
+ let rtn;
3116
+ if (isDefined(list2)) {
3117
+ rtn = list2.length === 0 ? void 0 : list2[0];
3118
+ try {
3119
+ list2 = list2.slice(1);
3120
+ } catch {
3121
+ }
3122
+ } else {
3123
+ rtn = void 0;
3124
+ }
3125
+ return rtn;
3126
+ };
3127
+
3128
+ // src/runtime/meta/youtube-meta.ts
3129
+ var getYouTubePageType = (url) => {
3130
+ return isYouTubeUrl(url) ? isYouTubeVideoUrl(url) && (hasUrlQueryParameter(url, "v") || isYouTubeShareUrl(url)) ? hasUrlQueryParameter(url, "list") ? isYouTubeShareUrl(url) ? hasUrlQueryParameter(url, "t") ? `play::video::in-list::share-link::with-timestamp` : `play::video::in-list::share-link` : `play::video::in-list` : isYouTubeShareUrl(url) ? hasUrlQueryParameter(url, "t") ? `play::video::solo::share-link::with-timestamp` : `play::video::solo::share-link` : `play::video::solo` : isYouTubeCreatorUrl(url) ? getUrlPath(url).includes("/videos") ? "creator::videos" : getUrlPath(url).includes("/playlists") ? "creator::playlists" : last(getUrlPath(url).split("/")).startsWith("@") || getUrlPath(url).includes("/featured") ? "creator::featured" : "creator::other" : isYouTubeFeedUrl(url) ? isYouTubeFeedUrl(url, "history") ? "feed::history" : isYouTubeFeedUrl(url, "playlists") ? "feed::playlists" : isYouTubeFeedUrl(url, "liked") ? "feed::liked" : isYouTubeFeedUrl(url, "subscriptions") ? "feed::subscriptions" : isYouTubeFeedUrl(url, "trending") ? "feed::trending" : "feed::other" : isYouTubeVideosInPlaylist(url) ? "playlist::show" : "other" : Never;
3131
+ };
3132
+ var youtubeEmbed = (url) => {
3133
+ if (hasUrlQueryParameter(url, "v")) {
3134
+ const id = getUrlQueryParams(url, "v");
3135
+ return `https://www.youtube.com/embed/${id}`;
3136
+ } else if (isYouTubeShareUrl(url)) {
3137
+ const id = url.split("/").pop();
3138
+ if (id) {
3139
+ return `https://www.youtube.com/embed/${id}`;
3140
+ } else {
3141
+ throw new Error(`Unexpected problem parsing share URL -- "${url}" -- into a YouTube embed URL`);
3142
+ }
3143
+ } else {
3144
+ throw new Error(`Unexpected URL structure; unable to convert "${url}" to a YouTube embed URL`);
3145
+ }
3146
+ };
3147
+ var youtubeMeta = (url) => {
3148
+ return isYouTubeUrl(url) ? {
3149
+ url,
3150
+ isYouTubeUrl: true,
3151
+ isShareUrl: isYouTubeShareUrl(url),
3152
+ pageType: getYouTubePageType(url)
3153
+ } : {
3154
+ url,
3155
+ isYouTubeUrl: false
3156
+ };
3157
+ };
3158
+
3159
+ // src/runtime/meta/urlMeta.ts
3160
+ var PROTOCOLS = Object.values(NETWORK_PROTOCOL_LOOKUP).flat().filter((i) => i !== "");
3161
+ var getUrlProtocol = (url) => {
3162
+ const proto = PROTOCOLS.find((p) => url.startsWith(`${p}://`));
3163
+ return proto;
3164
+ };
3165
+ var removeUrlProtocol = (url) => {
3166
+ return stripBefore(url, "://");
3167
+ };
3168
+ var ensurePath = (val) => {
3169
+ const val2 = ensureLeading(val, "/");
3170
+ return val === "" ? "" : stripTrailing(val2, "/");
3171
+ };
3172
+ var getUrlPath = (url) => {
3173
+ return isUrl(url) ? ensurePath(
3174
+ stripAfter(stripBefore(removeUrlProtocol(url), "/"), "?")
3175
+ ) : Never;
3176
+ };
3177
+ var getUrlQueryParams = (url, specific = void 0) => {
3178
+ const qp = stripBefore(url, "?");
3179
+ if (specific) {
3180
+ return qp.includes(`${specific}=`) ? decodeURIComponent(
3181
+ stripAfter(
3182
+ stripBefore(qp, `${specific}=`),
3183
+ "&"
3184
+ ).replace(/\+/g, "%20")
3185
+ ) : void 0;
3186
+ }
3187
+ return qp === "" ? qp : `?${qp}`;
3188
+ };
3189
+ var getUrlPort = (url) => {
3190
+ const candidate = takeNumericCharacters(
3191
+ stripBefore(removeUrlProtocol(url), ":")
3192
+ );
3193
+ return candidate === "" ? "default" : Number(candidate);
3194
+ };
3195
+ var getUrlSource = (url) => {
3196
+ const candidate = stripAfter(stripAfter(stripAfter(removeUrlProtocol(url), "/"), "?"), ":");
3197
+ return isIpAddress(candidate) || isDomainName(candidate) ? candidate : Never;
3198
+ };
3199
+ var urlMeta = (url) => {
3200
+ return {
3201
+ url,
3202
+ isUrl: isUrl(url),
3203
+ protocol: getUrlProtocol(url),
3204
+ path: getUrlPath(url),
3205
+ queryParameters: getUrlQueryParams(url),
3206
+ port: getUrlPort(url),
3207
+ source: getUrlSource(url),
3208
+ isIpAddress: isIpAddress(getUrlSource(url)),
3209
+ isIp4Address: isIp4Address(getUrlSource(url)),
3210
+ isIp6Address: isIp6Address(getUrlSource(url))
3211
+ };
3212
+ };
3213
+
3214
+ // src/runtime/queues/fifo.ts
3215
+ var queue = (state) => ({
3216
+ queue: state,
3217
+ size: state.length,
3218
+ isEmpty() {
3219
+ return state.length === 0;
3220
+ },
3221
+ clear() {
3222
+ state.slice(0, 0);
3223
+ },
3224
+ drain() {
3225
+ const old_state = [...state];
3226
+ state.slice(0, 0);
3227
+ return old_state;
3228
+ },
3229
+ push(...add) {
3230
+ state.push(...add);
3231
+ },
3232
+ drop(quantity) {
3233
+ if (quantity && quantity > state.length) {
3234
+ throw new Error("Cannot drop more elements than present in the queue");
3235
+ }
3236
+ state.splice(0, quantity || 1);
3237
+ },
3238
+ take(quantity) {
3239
+ if (quantity && quantity > state.length) {
3240
+ throw new Error("Cannot take more elements than present in the queue");
3241
+ }
3242
+ const result2 = state.slice(0, quantity || 1);
3243
+ state.splice(0, quantity || 1);
3244
+ return result2;
3245
+ },
3246
+ [Symbol.iterator]: function* () {
3247
+ for (let i = 0; i < state.length; i++) {
3248
+ yield state[i];
3249
+ }
3250
+ }
3251
+ });
3252
+ var createFifoQueue = (...list2) => {
3253
+ return queue([...list2]);
3254
+ };
3255
+
3256
+ // src/runtime/queues/lifo.ts
3257
+ var queue2 = (state) => ({
3258
+ queue: state,
3259
+ size: state.length,
3260
+ isEmpty() {
3261
+ return state.length === 0;
3262
+ },
3263
+ push(...add) {
3264
+ state.push(...add);
3265
+ },
3266
+ drop(quantity) {
3267
+ state.splice(-quantity);
3268
+ },
3269
+ clear() {
3270
+ state.slice(0, 0);
3271
+ },
3272
+ drain() {
3273
+ const old_state = [...state];
3274
+ state.slice(0, 0);
3275
+ return old_state;
3276
+ },
3277
+ take(quantity) {
3278
+ const result2 = state.slice(-quantity);
3279
+ state.splice(-quantity);
3280
+ return result2;
3281
+ },
3282
+ [Symbol.iterator]: function* () {
3283
+ for (let i = state.length - 1; i >= 0; i--) {
3284
+ yield state[i];
3285
+ }
3286
+ }
3287
+ });
3288
+ var createLifoQueue = (...list2) => {
3289
+ return queue2([...list2]);
3290
+ };
3291
+
3292
+ // src/runtime/runtime-types/shape-helpers/addToken.ts
3293
+ var addToken = (token, ...params) => `<<${token}${params.length > 0 ? `::${params.join("::")}` : ""}>>`;
3294
+
3295
+ // src/runtime/runtime-types/shape-helpers/atomics.ts
3296
+ var boolean = (literal2) => isDefined(literal2) ? isTrue(literal2) ? addToken("true") : isFalse(literal2) ? addToken("false") : addToken("boolean") : addToken("boolean");
3297
+ var unknown = () => "<<unknown>>";
3298
+ var undefinedType = () => "<<undefined>>";
3299
+ var nullType = () => "<<null>>";
3300
+
3301
+ // src/runtime/runtime-types/shape-helpers/regexToken.ts
3302
+ var regexToken = (re, ...rep) => {
3303
+ let exp = "";
3304
+ if (isString(re)) {
3305
+ try {
3306
+ const test = new RegExp(re);
3307
+ if (!isRegExp(test)) {
3308
+ const err = Error(`Invalid RegEx passed into regexToken(${re}, ${JSON.stringify(rep)})!`);
3309
+ err.name = "InvalidRegEx";
3310
+ throw err;
3311
+ } else {
3312
+ exp = re;
3313
+ }
3314
+ } catch (_e) {
3315
+ const err = Error(`Invalid RegEx passed into regexToken(${re}, ${JSON.stringify(rep)})!`);
3316
+ err.name = "InvalidRegEx";
3317
+ throw err;
3318
+ }
3319
+ } else if (isRegExp(re)) {
3320
+ exp = re.toString();
3321
+ }
3322
+ const token = `<<string-set::regexp::${encodeURIComponent(exp)}>>`;
3323
+ return token;
3324
+ };
3325
+
3326
+ // src/runtime/runtime-types/shape-helpers/singletons.ts
3327
+ var addSingleton = (token, api) => (...literals) => {
3328
+ return literals.length === 0 ? api ? api : addToken(token) : literals.length === 1 ? addToken(token, literals[0]) : addToken(
3329
+ "union",
3330
+ literals.map((l) => addToken(token, `${l}`)).join(",")
3331
+ );
3332
+ };
3333
+ var stringApi = {
3334
+ zip: () => addToken("string-set", "Zip5"),
3335
+ zipPlus4: () => addToken("string-set", "Zip5_4"),
3336
+ zipCode: () => addToken("string-set", "ZipCode"),
3337
+ militaryTime: (resolution) => {
3338
+ return addToken(
3339
+ "string-set",
3340
+ "militaryTime",
3341
+ resolution || "HH:MM"
3342
+ );
3343
+ },
3344
+ civilianTime: (resolution) => {
3345
+ return addToken(
3346
+ "string-set",
3347
+ "militaryTime",
3348
+ resolution || "HH:MM"
3349
+ );
3350
+ },
3351
+ numericString: () => addToken("string-set", "numeric"),
3352
+ ipv4Address: () => addToken("string-set", "ipv4Address"),
3353
+ ipv6Address: () => addToken("string-set", "ipv6Address"),
3354
+ regex: (exp, ...literalRepresentation) => {
3355
+ const token = regexToken(exp, ...literalRepresentation);
3356
+ return token;
3357
+ },
3358
+ done: () => addToken("string")
3359
+ };
3360
+ var string = addSingleton("string", stringApi);
3361
+ var number = addSingleton("number");
3362
+
3363
+ // src/runtime/runtime-types/shape-helpers/functions.ts
3364
+ var fn = (..._args) => ({
3365
+ returns: (_rtn) => ({
3366
+ addProperties: (_kv) => {
3367
+ return null;
3368
+ },
3369
+ done: () => {
3370
+ return null;
3371
+ }
3372
+ }),
3373
+ done: () => {
3374
+ const result2 = null;
3375
+ return result2;
3376
+ }
3377
+ });
3378
+
3379
+ // src/runtime/runtime-types/shape-helpers/literal-containers.ts
3380
+ var dictionary = (_obj) => {
3381
+ return null;
3382
+ };
3383
+ var tuple2 = (..._elements) => {
3384
+ return null;
3385
+ };
3386
+
3387
+ // src/runtime/runtime-types/shape-helpers/wide-containers.ts
3388
+ var record = (_key, _value) => {
3389
+ return null;
3390
+ };
3391
+ var array = (_type) => {
3392
+ return null;
3393
+ };
3394
+ var set = (_type) => {
3395
+ return null;
3396
+ };
3397
+ var map = (_key, _value) => {
3398
+ return null;
3399
+ };
3400
+ var weakMap = (_key, _value) => {
3401
+ return null;
3402
+ };
3403
+
3404
+ // src/runtime/runtime-types/shape-helpers/union.ts
3405
+ var union2 = (...elements) => {
3406
+ const result2 = elements.map((_el) => {
3407
+ });
3408
+ return result2;
3409
+ };
3410
+
3411
+ // src/runtime/runtime-types/shape.ts
3412
+ var isAddOrDone = (val) => {
3413
+ return isObject(val) && hasKeys("add", "done") && typeof val.done === "function" && typeof val.add === "function";
3414
+ };
3415
+ var ShapeApiImplementation = {
3416
+ string,
3417
+ number,
3418
+ boolean,
3419
+ unknown,
3420
+ undefined: undefinedType,
3421
+ null: nullType,
3422
+ union: union2,
3423
+ fn,
3424
+ record,
3425
+ array,
3426
+ set,
3427
+ map,
3428
+ weakMap,
3429
+ dictionary,
3430
+ tuple: tuple2
3431
+ };
3432
+ var shape = (cb) => {
3433
+ const rtn = cb(ShapeApiImplementation);
3434
+ return handleDoneFn(
3435
+ isAddOrDone(rtn) ? rtn.done() : rtn
3436
+ );
3437
+ };
3438
+ var isShape = (v) => {
3439
+ return isString(v) && v.startsWith("<<") && v.endsWith(">>") && SHAPE_PREFIXES.some((i) => v.startsWith(`<<${i}`)) ? true : false;
3440
+ };
3441
+
3442
+ // src/runtime/runtime-types/choices.ts
3443
+ var choices = "NOT READY";
3444
+
3445
+ // src/runtime/runtime-types/list.ts
3446
+ var createProxy = (...initialize) => {
3447
+ const state = initialize;
3448
+ state.id = null;
3449
+ const proxy = new Proxy(state, {});
3450
+ Object.defineProperty(proxy, "id", {
3451
+ enumerable: false
3452
+ });
3453
+ return proxy;
3454
+ };
3455
+ var list = (...init) => {
3456
+ return init.length === 1 && isArray(init[0]) ? createProxy(...init[0]) : createProxy(...init);
3457
+ };
3458
+
3459
+ // src/runtime/runtime-types/ip6Prefix.ts
3460
+ var ip6Prefix = (...groups) => {
3461
+ const empty = addToken("string");
3462
+ let count = 4 - groups.length;
3463
+ let fillIn = [];
3464
+ for (let index = 0; index < count; index++) {
3465
+ fillIn.push(empty);
3466
+ }
3467
+ return [
3468
+ "<<string::",
3469
+ [
3470
+ groups.join(":"),
3471
+ fillIn.join(":")
3472
+ ].join(":"),
3473
+ ">>"
3474
+ ].join("");
3475
+ };
3476
+
3477
+ // src/runtime/runtime-types/asType.ts
3478
+ var asType = (token) => {
3479
+ return token;
3480
+ };
3481
+ var asStringLiteral = (...values) => {
3482
+ return values.map((i) => i);
3483
+ };
3484
+
3485
+ // src/runtime/runtime-types/asToken.ts
3486
+ var asSimpleToken = (_val) => {
3487
+ return "not ready";
3488
+ };
3489
+ var scalarToToken = {
3490
+ string: "<<string>>",
3491
+ number: "<<number>>",
3492
+ boolean: "<<boolean>>",
3493
+ true: "<<true>>",
3494
+ false: "<<false>>",
3495
+ null: "<<null>>",
3496
+ undefined: "<<undefined>>",
3497
+ unknown: "<<unknown>>",
3498
+ any: "<<any>>",
3499
+ never: "<<never>>"
3500
+ };
3501
+ var stringLiteral = (str) => {
3502
+ return stripAfter(stripBefore(str, "string("), ")");
3503
+ };
3504
+ var numericLiteral = (str) => {
3505
+ return stripAfter(stripBefore(str, "number("), ")");
3506
+ };
3507
+ var simpleScalarTokenToTypeToken = (val) => {
3508
+ return val in scalarToToken ? scalarToToken[val] : val.startsWith("string(") ? stringLiteral(val).includes(",") ? `<<union::[ ${stringLiteral(val).split(/,\s{0,1}/).map((i) => `"${i}"`).join(", ")} ]>>` : `<<string::${stringLiteral(val)}>>` : val.startsWith("number(") ? numericLiteral(val).includes(",") ? `<<union::[ ${numericLiteral(val).split(/,\s{0,1}/).join(", ")} ]>>` : `<<number::${numericLiteral(val)}>>` : `<<never>>`;
3509
+ };
3510
+ var unionNode = (node) => {
3511
+ return isNumberLike(node) ? `<<number::${node}>>` : isBooleanLike(node) ? `<<${node}>>` : isSimpleContainerToken(node) ? simpleContainerTokenToTypeToken(node) : isSimpleScalarToken(node) ? simpleScalarToken(node) : `<<string::${node}>>`;
3512
+ };
3513
+ var union3 = (nodes) => {
3514
+ return Array.isArray(nodes) ? nodes.map((n) => unionNode(n)) : nodes.includes(",") ? nodes.split(/,\s{0,1}/).map((n) => unionNode(n)).join(", ") : unionNode(nodes);
3515
+ };
3516
+ var stripUnion = stripSurround("Union(", ")");
3517
+ var simpleUnionTokenToTypeToken = (val) => {
3518
+ return val.startsWith(`Union(`) && val.endsWith(`)`) ? `<<union::[ ${union3(stripUnion(val))} ]>>` : Never;
3519
+ };
3520
+ var simpleContainerTokenToTypeToken = (_val) => {
3521
+ };
3522
+ var asTypeToken = (_val) => {
3523
+ return "not ready";
3524
+ };
3525
+
3526
+ // src/runtime/runtime-types/tokens/simpleToken.ts
3527
+ var simpleToken = (token) => token;
3528
+ var simpleScalarToken = (token) => token;
3529
+ var simpleContainerToken = (token) => token;
3530
+ var simpleScalarType = (token) => {
3531
+ const value = simpleScalarToken(token);
3532
+ return value;
3533
+ };
3534
+ var simpleContainerType = (token) => {
3535
+ const value = simpleContainerToken(token);
3536
+ return value;
3537
+ };
3538
+ var simpleType = (token) => {
3539
+ const value = isSimpleScalarToken(token) ? simpleScalarType(token) : isSimpleContainerToken(token) ? simpleContainerToken(token) : Never;
3540
+ return value;
3541
+ };
3542
+
3543
+ // src/runtime/runtime-types/tokens/createTypeToken.ts
3544
+ var unionToken = (...els) => {
3545
+ return `<<union::[${jsonValues(els)}]>>`;
3546
+ };
3547
+ var singleton = (base) => {
3548
+ const handler = (...lits) => {
3549
+ return lits.length === 0 ? base === "string" ? `<<string>>` : `<<number>>` : lits.length === 1 ? base === "string" ? `<<string::${lits[0]}>>` : `<<number::${lits[0]}>>` : base === "string" ? `<<string::${unionToken(...lits)}>>` : `<<number::${unionToken(...lits)}>>`;
3550
+ };
3551
+ return handler;
3552
+ };
3553
+ var createTypeToken = (base) => {
3554
+ return isAtomicToken(base) ? `<<${base}>>` : isSingletonToken(base) ? singleton(base) : "";
3555
+ };
3556
+
3557
+ // src/runtime/sets/uniqueKeys.ts
3558
+ var uniqueKeys = (left, right) => {
3559
+ const isNumeric = isArray(left) && isArray(right) ? true : false;
3560
+ if (isArray(left) && !isArray(right) || isArray(right) && !isArray(left)) {
3561
+ throw new Error("uniqueKeys(l,r) given invalid comparison; both left and right values should be an object or an array but not one of each!");
3562
+ }
3563
+ const l = isNumeric ? Object.keys(left).map((i) => Number(i)) : Object.keys(left);
3564
+ const r = isNumeric ? Object.keys(right).map((i) => Number(i)) : Object.keys(right);
3565
+ if (isNumeric) {
3566
+ throw new Error("uniqueKeys does not yet work with tuples");
3567
+ }
3568
+ const leftKeys = l.filter((i) => !r.includes(i));
3569
+ const rightKeys = r.filter((i) => !l.includes(i));
3570
+ return [
3571
+ "LeftRight",
3572
+ leftKeys,
3573
+ rightKeys
3574
+ ];
3575
+ };
3576
+
3577
+ // src/runtime/vuejs/asVueRef.ts
3578
+ var asVueRef = (value) => ({
3579
+ value,
3580
+ _value: null
3581
+ });
3582
+ export {
3583
+ ALPHA_CHARS,
3584
+ COMMA,
3585
+ COMMON_OBJ_PROPS,
3586
+ CONSONANTS,
3587
+ DEFAULT_MANY_TO_ONE_MAPPING,
3588
+ DEFAULT_ONE_TO_MANY_MAPPING,
3589
+ DEFAULT_ONE_TO_ONE_MAPPING,
3590
+ ExifCompression,
3591
+ ExifContrast,
3592
+ ExifEmbedPolicy,
3593
+ ExifFlashValues,
3594
+ ExifGainControl,
3595
+ ExifLightSource,
3596
+ ExifPreviewColorSpace,
3597
+ ExifSaturation,
3598
+ ExifSceneCaptureType,
3599
+ ExifSharpness,
3600
+ ExifSubjectDistance,
3601
+ FALSY_TYPE_KINDS,
3602
+ FALSY_VALUES,
3603
+ GITHUB_INSIGHT_CATEGORY_LOOKUP,
3604
+ HASH_TABLE_ALPHA_LOWER,
3605
+ HASH_TABLE_ALPHA_UPPER,
3606
+ HASH_TABLE_CHAR,
3607
+ HASH_TABLE_DIGIT,
3608
+ HASH_TABLE_OTHER,
3609
+ HASH_TABLE_SPECIAL,
3610
+ HASH_TABLE_WIDE,
3611
+ IMAGE_FORMAT_LOOKUP,
3612
+ IPv4,
3613
+ IPv6,
3614
+ LITERAL_TYPE_KINDS,
3615
+ LOWER_ALPHA_CHARS,
3616
+ MARKED,
3617
+ MONTH_ABBR,
3618
+ MONTH_NAME,
3619
+ MapCardinality,
3620
+ NARROW_CONTAINER_TYPE_KINDS,
3621
+ NETWORK_PROTOCOL_LOOKUP,
3622
+ NON_ZERO_NUMERIC_CHAR,
3623
+ NOT_APPLICABLE,
3624
+ NOT_DEFINED,
3625
+ NO_DEFAULT_VALUE,
3626
+ NUMERIC_CHAR,
3627
+ NUMERIC_DIGIT,
3628
+ Never,
3629
+ OPTION,
3630
+ PHONE_COUNTRY_CODES,
3631
+ PHONE_FORMAT,
3632
+ PLURAL_EXCEPTIONS,
3633
+ PLURAL_EXCEPTIONS_OLD,
3634
+ PROXMOX_CT_STATE,
3635
+ REPO_PAGE_TYPES,
3636
+ REPO_SOURCES,
3637
+ REPO_SOURCE_LOOKUP,
3638
+ RESULT,
3639
+ SHAPE_DELIMITER,
3640
+ SHAPE_PREFIXES,
3641
+ SIMPLE_ARRAY_TOKENS,
3642
+ SIMPLE_CONTAINER_TOKENS,
3643
+ SIMPLE_DICT_TOKENS,
3644
+ SIMPLE_DICT_VALUES,
3645
+ SIMPLE_MAP_KEYS,
3646
+ SIMPLE_MAP_TOKENS,
3647
+ SIMPLE_MAP_VALUES,
3648
+ SIMPLE_OPT_SCALAR_TOKENS,
3649
+ SIMPLE_SCALAR_TOKENS,
3650
+ SIMPLE_SET_TOKENS,
3651
+ SIMPLE_SET_TYPES,
3652
+ SIMPLE_TOKENS,
3653
+ SIMPLE_UNION_TOKENS,
3654
+ SINGULAR_NOUN_ENDINGS,
3655
+ ShapeApiImplementation,
3656
+ TOP_LEVEL_DOMAINS,
3657
+ TT_Atomics,
3658
+ TT_Containers,
3659
+ TT_Functions,
3660
+ TT_SEP,
3661
+ TT_START,
3662
+ TT_STOP,
3663
+ TT_Sets,
3664
+ TT_Singletons,
3665
+ TW_CHROMA,
3666
+ TW_CHROMA_100,
3667
+ TW_CHROMA_200,
3668
+ TW_CHROMA_300,
3669
+ TW_CHROMA_400,
3670
+ TW_CHROMA_50,
3671
+ TW_CHROMA_500,
3672
+ TW_CHROMA_600,
3673
+ TW_CHROMA_700,
3674
+ TW_CHROMA_800,
3675
+ TW_CHROMA_900,
3676
+ TW_CHROMA_950,
3677
+ TW_HUE,
3678
+ TW_LUMINOSITY,
3679
+ TW_LUMIN_100,
3680
+ TW_LUMIN_200,
3681
+ TW_LUMIN_300,
3682
+ TW_LUMIN_400,
3683
+ TW_LUMIN_50,
3684
+ TW_LUMIN_500,
3685
+ TW_LUMIN_600,
3686
+ TW_LUMIN_700,
3687
+ TW_LUMIN_800,
3688
+ TW_LUMIN_900,
3689
+ TW_LUMIN_950,
3690
+ TYPE_COMPARISONS,
3691
+ TYPE_KINDS,
3692
+ TYPE_OF,
3693
+ TYPE_TOKEN_ALL,
3694
+ TYPE_TOKEN_IDENTITIES,
3695
+ TYPE_TOKEN_PARAM_CSV,
3696
+ TYPE_TOKEN_PARAM_DATE,
3697
+ TYPE_TOKEN_PARAM_DATETIME,
3698
+ TYPE_TOKEN_PARAM_STR,
3699
+ TYPE_TOKEN_PARAM_TIME,
3700
+ TYPE_TRANSFORMS,
3701
+ UPPER_ALPHA_CHARS,
3702
+ US_STATE_LOOKUP,
3703
+ US_STATE_LOOKUP_PROVINCES,
3704
+ US_STATE_LOOKUP_STRICT,
3705
+ WHITESPACE_CHARS,
3706
+ WIDE_CONTAINER_TYPE_KINDS,
3707
+ WIDE_TYPE_KINDS,
3708
+ WideAssignment,
3709
+ ZIP_TO_STATE,
3710
+ addFnToProps,
3711
+ addPropsToFn,
3712
+ and,
3713
+ asApi,
3714
+ asArray,
3715
+ asChars,
3716
+ asEscapeFunction,
3717
+ asOptionalParamFunction,
3718
+ asPhoneFormat,
3719
+ asRecord,
3720
+ asSimpleToken,
3721
+ asString,
3722
+ asStringLiteral,
3723
+ asType,
3724
+ asTypeToken,
3725
+ asVueRef,
3726
+ box,
3727
+ boxDictionaryValues,
3728
+ capitalize,
3729
+ choices,
3730
+ createConstant,
3731
+ createConverter,
3732
+ createCssSelector,
3733
+ createErrorCondition,
3734
+ createFifoQueue,
3735
+ createFnWithProps,
3736
+ createLifoQueue,
3737
+ createTypeToken,
3738
+ cssColor,
3739
+ csv,
3740
+ defineObj,
3741
+ defineTuple,
3742
+ endsWith,
3743
+ ensureLeading,
3744
+ ensureSurround,
3745
+ ensureTrailing,
3746
+ entries,
3747
+ errCondition,
3748
+ filter,
3749
+ find,
3750
+ fnMeta,
3751
+ get,
3752
+ getEach,
3753
+ getPhoneCountryCode,
3754
+ getUrlPath,
3755
+ getUrlPort,
3756
+ getUrlProtocol,
3757
+ getUrlQueryParams,
3758
+ getUrlSource,
3759
+ getYouTubePageType,
3760
+ handleDoneFn,
3761
+ hasDefaultValue,
3762
+ hasIndexOf,
3763
+ hasKeys,
3764
+ hasUrlPort,
3765
+ hasUrlQueryParameter,
3766
+ hasWhiteSpace,
3767
+ idLiteral,
3768
+ idTypeGuard,
3769
+ identity,
3770
+ ifArray,
3771
+ ifArrayPartial,
3772
+ ifBoolean,
3773
+ ifChar,
3774
+ ifContainer,
3775
+ ifDefined,
3776
+ ifFalse,
3777
+ ifFunction,
3778
+ ifHasKey,
3779
+ ifLength,
3780
+ ifLowercaseChar,
3781
+ ifNotNull,
3782
+ ifNull,
3783
+ ifNumber,
3784
+ ifObject,
3785
+ ifSameType,
3786
+ ifScalar,
3787
+ ifString,
3788
+ ifTrue,
3789
+ ifUndefined,
3790
+ ifUppercaseChar,
3791
+ indexOf,
3792
+ intersect,
3793
+ intersection,
3794
+ ip6GroupExpansion,
3795
+ ip6Prefix,
3796
+ isAlpha,
3797
+ isApi,
3798
+ isApiSurface,
3799
+ isArray,
3800
+ isArrayToken,
3801
+ isAtomicToken,
3802
+ isBitbucketUrl,
3803
+ isBoolean,
3804
+ isBooleanLike,
3805
+ isBox,
3806
+ isCodeCommitUrl,
3807
+ isConstant,
3808
+ isContainer,
3809
+ isContainerToken,
3810
+ isCssAspectRatio,
3811
+ isDefined,
3812
+ isDomainName,
3813
+ isDoneFn,
3814
+ isEmail,
3815
+ isEqual,
3816
+ isErrorCondition,
3817
+ isEscapeFunction,
3818
+ isFalse,
3819
+ isFalsy,
3820
+ isFnToken,
3821
+ isFnWithParams,
3822
+ isFunction,
3823
+ isGeneratorToken,
3824
+ isGithubRepoUrl,
3825
+ isGithubUrl,
3826
+ isHexadecimal,
3827
+ isHtmlElement,
3828
+ isIndexable,
3829
+ isInlineSvg,
3830
+ isIp4Address,
3831
+ isIp6Address,
3832
+ isIpAddress,
3833
+ isLength,
3834
+ isLikeRegExp,
3835
+ isMapToken,
3836
+ isNever,
3837
+ isNotNull,
3838
+ isNothing,
3839
+ isNull,
3840
+ isNumber,
3841
+ isNumberLike,
3842
+ isNumericString,
3843
+ isObject,
3844
+ isObjectToken,
3845
+ isOptionalParamFunction,
3846
+ isPhoneNumber,
3847
+ isReadonlyArray,
3848
+ isRecordToken,
3849
+ isRef,
3850
+ isRegExp,
3851
+ isRepoSource,
3852
+ isRepoUrl,
3853
+ isSameTypeOf,
3854
+ isScalar,
3855
+ isSemanticVersion,
3856
+ isSet,
3857
+ isSetToken,
3858
+ isShape,
3859
+ isSimpleContainerToken,
3860
+ isSimpleContainerTokenTuple,
3861
+ isSimpleScalarToken,
3862
+ isSimpleScalarTokenTuple,
3863
+ isSimpleToken,
3864
+ isSimpleTokenTuple,
3865
+ isSingletonToken,
3866
+ isSpecificConstant,
3867
+ isString,
3868
+ isSymbol,
3869
+ isThenable,
3870
+ isTrimable,
3871
+ isTrue,
3872
+ isTruthy,
3873
+ isTuple,
3874
+ isTupleToken,
3875
+ isTypeOf,
3876
+ isTypeToken,
3877
+ isTypeTuple,
3878
+ isUndefined,
3879
+ isUnionSetToken,
3880
+ isUnionToken,
3881
+ isUnset,
3882
+ isUri,
3883
+ isUrl,
3884
+ isUrlPath,
3885
+ isUrlSource,
3886
+ isWeakMapToken,
3887
+ isYouTubeCreatorUrl,
3888
+ isYouTubeFeedUrl,
3889
+ isYouTubePlaylistUrl,
3890
+ isYouTubeShareUrl,
3891
+ isYouTubeUrl,
3892
+ isYouTubeVideoUrl,
3893
+ isYouTubeVideosInPlaylist,
3894
+ joinWith,
3895
+ jsonValue,
3896
+ jsonValues,
3897
+ keysOf,
3898
+ kindError,
3899
+ kindLiteral,
3900
+ last,
3901
+ list,
3902
+ literal,
3903
+ logicalReturns,
3904
+ lowercase,
3905
+ mergeObjects,
3906
+ mergeScalars,
3907
+ mergeTuples,
3908
+ nameLiteral,
3909
+ narrow,
3910
+ never,
3911
+ omit,
3912
+ optional,
3913
+ optionalOrNull,
3914
+ or,
3915
+ orNull,
3916
+ pathJoin,
3917
+ pluralize,
3918
+ removePhoneCountryCode,
3919
+ removeUrlProtocol,
3920
+ result,
3921
+ retain,
3922
+ retainAfter,
3923
+ retainAfterInclusive,
3924
+ retainChars,
3925
+ retainUntil,
3926
+ retainUntilInclusive,
3927
+ retainWhile,
3928
+ reverse,
3929
+ rightWhitespace,
3930
+ shape,
3931
+ sharedKeys,
3932
+ shift,
3933
+ simpleContainerToken,
3934
+ simpleContainerTokenToTypeToken,
3935
+ simpleContainerType,
3936
+ simpleScalarToken,
3937
+ simpleScalarTokenToTypeToken,
3938
+ simpleScalarType,
3939
+ simpleToken,
3940
+ simpleType,
3941
+ simpleUnionTokenToTypeToken,
3942
+ slice,
3943
+ split,
3944
+ startsWith,
3945
+ stripAfter,
3946
+ stripBefore,
3947
+ stripChars,
3948
+ stripLeading,
3949
+ stripSurround,
3950
+ stripTrailing,
3951
+ stripUntil,
3952
+ surround,
3953
+ takeNumericCharacters,
3954
+ takeProp,
3955
+ toCamelCase,
3956
+ toKebabCase,
3957
+ toNumber,
3958
+ toNumericArray,
3959
+ toPascalCase,
3960
+ toSnakeCase,
3961
+ toString,
3962
+ toUppercase,
3963
+ trim,
3964
+ trimEnd,
3965
+ trimLeft,
3966
+ trimRight,
3967
+ trimStart,
3968
+ truncate,
3969
+ tuple,
3970
+ twColor,
3971
+ unbox,
3972
+ uncapitalize,
3973
+ union,
3974
+ unionize,
3975
+ unique,
3976
+ uniqueKeys,
3977
+ uppercase,
3978
+ urlMeta,
3979
+ valuesOf,
3980
+ widen,
3981
+ withDefaults,
3982
+ withKeys,
3983
+ withoutKeys,
3984
+ withoutValue,
3985
+ wrapFn,
3986
+ youtubeEmbed,
3987
+ youtubeMeta
3988
+ };