inferred-types 0.43.1 → 0.43.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.
@@ -0,0 +1,2505 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // dist/inferred-types/index.js
20
+ var inferred_types_exports = {};
21
+ __export(inferred_types_exports, {
22
+ ALPHA_CHARS: () => ALPHA_CHARS,
23
+ COMMA: () => COMMA,
24
+ COMMON_OBJ_PROPS: () => COMMON_OBJ_PROPS,
25
+ CONSONANTS: () => CONSONANTS,
26
+ DEFAULT_MANY_TO_ONE_MAPPING: () => DEFAULT_MANY_TO_ONE_MAPPING,
27
+ DEFAULT_ONE_TO_MANY_MAPPING: () => DEFAULT_ONE_TO_MANY_MAPPING,
28
+ DEFAULT_ONE_TO_ONE_MAPPING: () => DEFAULT_ONE_TO_ONE_MAPPING,
29
+ FALSY_TYPE_KINDS: () => FALSY_TYPE_KINDS,
30
+ FALSY_VALUES: () => FALSY_VALUES,
31
+ FILTER: () => FILTER,
32
+ HASH_TABLE_ALPHA_LOWER: () => HASH_TABLE_ALPHA_LOWER,
33
+ HASH_TABLE_ALPHA_UPPER: () => HASH_TABLE_ALPHA_UPPER,
34
+ HASH_TABLE_CHAR: () => HASH_TABLE_CHAR,
35
+ HASH_TABLE_DIGIT: () => HASH_TABLE_DIGIT,
36
+ HASH_TABLE_OTHER: () => HASH_TABLE_OTHER,
37
+ HASH_TABLE_SPECIAL: () => HASH_TABLE_SPECIAL,
38
+ HASH_TABLE_WIDE: () => HASH_TABLE_WIDE,
39
+ IPv4: () => IPv4,
40
+ IPv6: () => IPv6,
41
+ LITERAL_TYPE_KINDS: () => LITERAL_TYPE_KINDS,
42
+ LOWER_ALPHA_CHARS: () => LOWER_ALPHA_CHARS,
43
+ MARKED: () => MARKED,
44
+ MONTH_ABBR: () => MONTH_ABBR,
45
+ MONTH_NAME: () => MONTH_NAME,
46
+ MapCardinality: () => MapCardinality,
47
+ NARROW_CONTAINER_TYPE_KINDS: () => NARROW_CONTAINER_TYPE_KINDS,
48
+ NON_ZERO_NUMERIC_CHAR: () => NON_ZERO_NUMERIC_CHAR,
49
+ NOT_APPLICABLE: () => NOT_APPLICABLE,
50
+ NOT_DEFINED: () => NOT_DEFINED,
51
+ NO_DEFAULT_VALUE: () => NO_DEFAULT_VALUE,
52
+ NUMERIC_CHAR: () => NUMERIC_CHAR,
53
+ NUMERIC_DIGIT: () => NUMERIC_DIGIT,
54
+ Never: () => Never,
55
+ OPTION: () => OPTION,
56
+ PLURAL_EXCEPTIONS: () => PLURAL_EXCEPTIONS,
57
+ PLURAL_EXCEPTIONS_OLD: () => PLURAL_EXCEPTIONS_OLD,
58
+ RESULT: () => RESULT,
59
+ SHAPE_DELIMITER: () => SHAPE_DELIMITER,
60
+ SHAPE_PREFIXES: () => SHAPE_PREFIXES,
61
+ SINGULAR_NOUN_ENDINGS: () => SINGULAR_NOUN_ENDINGS,
62
+ ShapeApiImplementation: () => ShapeApiImplementation,
63
+ TT_Atomics: () => TT_Atomics,
64
+ TT_Containers: () => TT_Containers,
65
+ TT_Functions: () => TT_Functions,
66
+ TT_SEP: () => TT_SEP,
67
+ TT_START: () => TT_START,
68
+ TT_STOP: () => TT_STOP,
69
+ TT_Sets: () => TT_Sets,
70
+ TT_Singletons: () => TT_Singletons,
71
+ TYPE_COMPARISONS: () => TYPE_COMPARISONS,
72
+ TYPE_KINDS: () => TYPE_KINDS,
73
+ TYPE_OF: () => TYPE_OF,
74
+ TYPE_TOKEN_ALL: () => TYPE_TOKEN_ALL,
75
+ TYPE_TOKEN_IDENTITIES: () => TYPE_TOKEN_IDENTITIES,
76
+ TYPE_TOKEN_PARAM_CSV: () => TYPE_TOKEN_PARAM_CSV,
77
+ TYPE_TOKEN_PARAM_DATE: () => TYPE_TOKEN_PARAM_DATE,
78
+ TYPE_TOKEN_PARAM_DATETIME: () => TYPE_TOKEN_PARAM_DATETIME,
79
+ TYPE_TOKEN_PARAM_STR: () => TYPE_TOKEN_PARAM_STR,
80
+ TYPE_TOKEN_PARAM_TIME: () => TYPE_TOKEN_PARAM_TIME,
81
+ TYPE_TRANSFORMS: () => TYPE_TRANSFORMS,
82
+ UPPER_ALPHA_CHARS: () => UPPER_ALPHA_CHARS,
83
+ US_STATE_LOOKUP: () => US_STATE_LOOKUP,
84
+ US_STATE_LOOKUP_PROVINCES: () => US_STATE_LOOKUP_PROVINCES,
85
+ US_STATE_LOOKUP_STRICT: () => US_STATE_LOOKUP_STRICT,
86
+ WIDE_CONTAINER_TYPE_KINDS: () => WIDE_CONTAINER_TYPE_KINDS,
87
+ WIDE_TYPE_KINDS: () => WIDE_TYPE_KINDS,
88
+ WideAssignment: () => WideAssignment,
89
+ ZIP_TO_STATE: () => ZIP_TO_STATE,
90
+ addFnToProps: () => addFnToProps,
91
+ addPropsToFn: () => addPropsToFn,
92
+ and: () => and,
93
+ asArray: () => asArray,
94
+ asRecord: () => asRecord,
95
+ asString: () => asString,
96
+ asVueRef: () => asVueRef,
97
+ box: () => box,
98
+ boxDictionaryValues: () => boxDictionaryValues,
99
+ capitalize: () => capitalize,
100
+ choices: () => choices,
101
+ createConstant: () => createConstant,
102
+ createConverter: () => createConverter,
103
+ createErrorCondition: () => createErrorCondition,
104
+ createFnWithProps: () => createFnWithProps,
105
+ defineObj: () => defineObj,
106
+ defineTuple: () => defineTuple,
107
+ dict: () => dict,
108
+ endsWith: () => endsWith,
109
+ ensureLeading: () => ensureLeading,
110
+ ensureSurround: () => ensureSurround,
111
+ ensureTrailing: () => ensureTrailing,
112
+ entries: () => entries,
113
+ find: () => find,
114
+ fnMeta: () => fnMeta,
115
+ get: () => get,
116
+ getEach: () => getEach,
117
+ handleDoneFn: () => handleDoneFn,
118
+ hasDefaultValue: () => hasDefaultValue,
119
+ hasIndexOf: () => hasIndexOf,
120
+ hasKeys: () => hasKeys,
121
+ idLiteral: () => idLiteral,
122
+ idTypeGuard: () => idTypeGuard,
123
+ identity: () => identity,
124
+ ifArray: () => ifArray,
125
+ ifArrayPartial: () => ifArrayPartial,
126
+ ifBoolean: () => ifBoolean,
127
+ ifChar: () => ifChar,
128
+ ifContainer: () => ifContainer,
129
+ ifDefined: () => ifDefined,
130
+ ifFalse: () => ifFalse,
131
+ ifFunction: () => ifFunction,
132
+ ifHasKey: () => ifHasKey,
133
+ ifLength: () => ifLength,
134
+ ifLowercaseChar: () => ifLowercaseChar,
135
+ ifNotNull: () => ifNotNull,
136
+ ifNull: () => ifNull,
137
+ ifNumber: () => ifNumber,
138
+ ifObject: () => ifObject,
139
+ ifSameType: () => ifSameType,
140
+ ifScalar: () => ifScalar,
141
+ ifString: () => ifString,
142
+ ifTrue: () => ifTrue,
143
+ ifUndefined: () => ifUndefined,
144
+ ifUppercaseChar: () => ifUppercaseChar,
145
+ indexOf: () => indexOf,
146
+ intersect: () => intersect,
147
+ intersection: () => intersection,
148
+ ip6Prefix: () => ip6Prefix,
149
+ isArray: () => isArray,
150
+ isBoolean: () => isBoolean,
151
+ isBox: () => isBox,
152
+ isConstant: () => isConstant,
153
+ isContainer: () => isContainer,
154
+ isDefined: () => isDefined,
155
+ isDoneFn: () => isDoneFn,
156
+ isEqual: () => isEqual,
157
+ isErrorCondition: () => isErrorCondition,
158
+ isFalse: () => isFalse,
159
+ isFalsy: () => isFalsy,
160
+ isFnWithParams: () => isFnWithParams,
161
+ isFunction: () => isFunction,
162
+ isIndexable: () => isIndexable,
163
+ isLength: () => isLength,
164
+ isNever: () => isNever,
165
+ isNotNull: () => isNotNull,
166
+ isNothing: () => isNothing,
167
+ isNull: () => isNull,
168
+ isNumber: () => isNumber,
169
+ isNumericString: () => isNumericString,
170
+ isObject: () => isObject,
171
+ isReadonlyArray: () => isReadonlyArray,
172
+ isRef: () => isRef,
173
+ isSameTypeOf: () => isSameTypeOf,
174
+ isScalar: () => isScalar,
175
+ isShape: () => isShape,
176
+ isSpecificConstant: () => isSpecificConstant,
177
+ isString: () => isString,
178
+ isSymbol: () => isSymbol,
179
+ isTrue: () => isTrue,
180
+ isTruthy: () => isTruthy,
181
+ isTuple: () => isTuple,
182
+ isTypeOf: () => isTypeOf,
183
+ isTypeToken: () => isTypeToken,
184
+ isTypeTuple: () => isTypeTuple,
185
+ isUndefined: () => isUndefined,
186
+ join: () => join,
187
+ keysOf: () => keysOf,
188
+ kindError: () => kindError,
189
+ kindLiteral: () => kindLiteral,
190
+ last: () => last,
191
+ list: () => list,
192
+ literal: () => literal,
193
+ logicalReturns: () => logicalReturns,
194
+ lowercase: () => lowercase,
195
+ mergeObjects: () => mergeObjects,
196
+ mergeScalars: () => mergeScalars,
197
+ mergeTuples: () => mergeTuples,
198
+ nameLiteral: () => nameLiteral,
199
+ narrow: () => narrow,
200
+ never: () => never,
201
+ omit: () => omit,
202
+ optional: () => optional,
203
+ or: () => or,
204
+ parse: () => parse,
205
+ pathJoin: () => pathJoin,
206
+ pluralize: () => pluralize,
207
+ pop: () => pop,
208
+ result: () => result,
209
+ retain: () => retain,
210
+ retainAfter: () => retainAfter,
211
+ reverse: () => reverse,
212
+ shape: () => shape,
213
+ sharedKeys: () => sharedKeys,
214
+ shift: () => shift,
215
+ slice: () => slice,
216
+ split: () => split,
217
+ startsWith: () => startsWith,
218
+ stripAfter: () => stripAfter,
219
+ stripBefore: () => stripBefore,
220
+ stripLeading: () => stripLeading,
221
+ stripTrailing: () => stripTrailing,
222
+ surround: () => surround,
223
+ takeProp: () => takeProp,
224
+ toCamelCase: () => toCamelCase,
225
+ toKebabCase: () => toKebabCase,
226
+ toNumber: () => toNumber,
227
+ toNumericArray: () => toNumericArray,
228
+ toPascalCase: () => toPascalCase,
229
+ toSnakeCase: () => toSnakeCase,
230
+ toString: () => toString,
231
+ toUppercase: () => toUppercase,
232
+ trim: () => trim,
233
+ trimEnd: () => trimEnd,
234
+ trimLeft: () => trimLeft,
235
+ trimRight: () => trimRight,
236
+ trimStart: () => trimStart,
237
+ truncate: () => truncate,
238
+ tuple: () => tuple,
239
+ unbox: () => unbox,
240
+ uncapitalize: () => uncapitalize,
241
+ union: () => union2,
242
+ unionize: () => unionize,
243
+ unique: () => unique,
244
+ uniqueKeys: () => uniqueKeys,
245
+ uppercase: () => uppercase,
246
+ valuesOf: () => valuesOf,
247
+ widen: () => widen,
248
+ withDefaults: () => withDefaults,
249
+ withKeys: () => withKeys,
250
+ withoutKeys: () => withoutKeys,
251
+ withoutValue: () => withoutValue
252
+ });
253
+ module.exports = __toCommonJS(inferred_types_exports);
254
+
255
+ // dist/constants/createConstant.js
256
+ function createConstant(kind) {
257
+ return {
258
+ _type: "Constant",
259
+ kind
260
+ };
261
+ }
262
+
263
+ // dist/constants/NoDefaultValue.js
264
+ var NO_DEFAULT_VALUE = createConstant("no-default-value");
265
+
266
+ // dist/constants/NotApplicable.js
267
+ var NOT_APPLICABLE = Symbol("not applicable");
268
+
269
+ // dist/constants/DateTime.js
270
+ var MONTH_NAME = [
271
+ "January",
272
+ "February",
273
+ "March",
274
+ "April",
275
+ "May",
276
+ "June",
277
+ "July",
278
+ "August",
279
+ "September",
280
+ "October",
281
+ "November",
282
+ "December"
283
+ ];
284
+ var MONTH_ABBR = [
285
+ "Jan",
286
+ "Feb",
287
+ "Mar",
288
+ "Apr",
289
+ "May",
290
+ "Jun",
291
+ "Jul",
292
+ "Aug",
293
+ "Sep",
294
+ "Oct",
295
+ "Nov",
296
+ "Dec"
297
+ ];
298
+
299
+ // dist/constants/Types.js
300
+ var FALSY_TYPE_KINDS = [
301
+ "undefined",
302
+ "null"
303
+ ];
304
+ var LITERAL_TYPE_KINDS = [
305
+ "true",
306
+ "false",
307
+ "stringLiteral",
308
+ "numericLiteral"
309
+ ];
310
+ var WIDE_TYPE_KINDS = [
311
+ "string",
312
+ "number",
313
+ "boolean"
314
+ ];
315
+ var NARROW_CONTAINER_TYPE_KINDS = [
316
+ "object",
317
+ "explicitFunctions",
318
+ "fnType",
319
+ "fnWithDict",
320
+ "tuple",
321
+ "union",
322
+ "intersection",
323
+ "arrayOf"
324
+ ];
325
+ var WIDE_CONTAINER_TYPE_KINDS = [
326
+ "anyArray",
327
+ "anyObject",
328
+ "unknownObject",
329
+ "anyFunction",
330
+ "emptyObject"
331
+ ];
332
+ var TYPE_KINDS = [
333
+ ...FALSY_TYPE_KINDS,
334
+ ...WIDE_TYPE_KINDS,
335
+ ...LITERAL_TYPE_KINDS,
336
+ ...NARROW_CONTAINER_TYPE_KINDS,
337
+ ...WIDE_CONTAINER_TYPE_KINDS
338
+ ];
339
+
340
+ // dist/constants/Comma.js
341
+ var COMMA = createConstant("comma");
342
+
343
+ // dist/constants/Functional.js
344
+ var RESULT = {
345
+ Ok: "ok",
346
+ Err: "err"
347
+ };
348
+ var OPTION = {
349
+ Some: 1,
350
+ None: 0
351
+ };
352
+
353
+ // dist/constants/Alpha.js
354
+ var LOWER_ALPHA_CHARS = [
355
+ "a",
356
+ "b",
357
+ "c",
358
+ "d",
359
+ "e",
360
+ "f",
361
+ "g",
362
+ "h",
363
+ "i",
364
+ "j",
365
+ "k",
366
+ "l",
367
+ "m",
368
+ "n",
369
+ "o",
370
+ "p",
371
+ "q",
372
+ "r",
373
+ "s",
374
+ "t",
375
+ "u",
376
+ "v",
377
+ "w",
378
+ "x",
379
+ "y",
380
+ "z"
381
+ ];
382
+ var UPPER_ALPHA_CHARS = [
383
+ "A",
384
+ "B",
385
+ "C",
386
+ "D",
387
+ "E",
388
+ "F",
389
+ "G",
390
+ "H",
391
+ "I",
392
+ "J",
393
+ "K",
394
+ "L",
395
+ "M",
396
+ "N",
397
+ "O",
398
+ "P",
399
+ "Q",
400
+ "R",
401
+ "S",
402
+ "T",
403
+ "U",
404
+ "V",
405
+ "W",
406
+ "X",
407
+ "Y",
408
+ "Z"
409
+ ];
410
+ var ALPHA_CHARS = [
411
+ ...LOWER_ALPHA_CHARS,
412
+ ...UPPER_ALPHA_CHARS
413
+ ];
414
+
415
+ // dist/constants/Consonants.js
416
+ var CONSONANTS = [
417
+ "b",
418
+ "c",
419
+ "d",
420
+ "f",
421
+ "g",
422
+ "h",
423
+ "j",
424
+ "k",
425
+ "l",
426
+ "m",
427
+ "n",
428
+ "p",
429
+ "q",
430
+ "r",
431
+ "s",
432
+ "t",
433
+ "v",
434
+ "w",
435
+ "x",
436
+ "z",
437
+ "y"
438
+ ];
439
+
440
+ // dist/constants/PluralExceptions.js
441
+ var PLURAL_EXCEPTIONS_OLD = [
442
+ ["photo", "photos"],
443
+ ["piano", "pianos"],
444
+ ["halo", "halos"],
445
+ ["foot", "feet"],
446
+ ["man", "men"],
447
+ ["woman", "women"],
448
+ ["person", "people"],
449
+ ["mouse", "mice"],
450
+ ["series", "series"],
451
+ ["sheep", "sheep"],
452
+ ["money", "monies"],
453
+ ["deer", "deer"]
454
+ ];
455
+ var PLURAL_EXCEPTIONS = {
456
+ photo: "photos",
457
+ piano: "pianos",
458
+ halo: "halos",
459
+ foot: "feet",
460
+ man: "men",
461
+ woman: "women",
462
+ person: "people",
463
+ mouse: "mice",
464
+ series: "series",
465
+ sheep: "sheep",
466
+ money: "monies",
467
+ deer: "deer",
468
+ goose: "geese",
469
+ child: "children",
470
+ tooth: "teeth",
471
+ ox: "oxen",
472
+ basis: "bases",
473
+ radius: "radii",
474
+ syllabus: "syllabi",
475
+ ice: "ice",
476
+ fish: "fish",
477
+ means: "means",
478
+ phenomenon: "phenomena",
479
+ criterion: "criteria",
480
+ datum: "data",
481
+ memorandum: "memoranda",
482
+ bacterium: "bacteria",
483
+ stratum: "strata",
484
+ curriculum: "curricula",
485
+ index: "indices",
486
+ appendix: "appendices",
487
+ vortex: "vortices",
488
+ bison: "bison",
489
+ axis: "axes",
490
+ antenna: "antennas",
491
+ cactus: "cacti",
492
+ corpus: "corpora",
493
+ beau: "beaux",
494
+ die: "dice",
495
+ ellipsis: "ellipses",
496
+ erratum: "errata",
497
+ focus: "foci",
498
+ formula: "formulas",
499
+ fungus: "fungi",
500
+ genus: "genera",
501
+ graffito: "graffiti",
502
+ grouse: "grouses",
503
+ half: "halves",
504
+ hoof: "hooves",
505
+ hypothesis: "hypothesis",
506
+ larva: "larvae",
507
+ libretto: "libretti",
508
+ loaf: "loaves",
509
+ locus: "loci",
510
+ medium: "mediums",
511
+ minutia: "minutiae",
512
+ nucleus: "nuclei",
513
+ oasis: "oases",
514
+ opus: "opuses",
515
+ ovum: "ova",
516
+ parenthesis: "parentheses",
517
+ phylum: "phyla",
518
+ quiz: "quizzes",
519
+ referendum: "referendums",
520
+ self: "selves",
521
+ species: "species",
522
+ stimulus: "stimuli",
523
+ swine: "swine",
524
+ synopsis: "synopses",
525
+ thesis: "theses",
526
+ thief: "thieves",
527
+ vertex: "vertexes",
528
+ wife: "wives",
529
+ wolf: "wolves"
530
+ };
531
+
532
+ // dist/constants/SingularNounEnding.js
533
+ var SINGULAR_NOUN_ENDINGS = [
534
+ "s",
535
+ "sh",
536
+ "ch",
537
+ "x",
538
+ "z",
539
+ "o"
540
+ ];
541
+
542
+ // dist/constants/CommonObjProps.js
543
+ var COMMON_OBJ_PROPS = [
544
+ "id",
545
+ "type",
546
+ "kind",
547
+ "_type",
548
+ "_kind",
549
+ "key",
550
+ "value",
551
+ "name"
552
+ ];
553
+
554
+ // dist/constants/NumericChar.js
555
+ var NUMERIC_CHAR = [
556
+ "0",
557
+ "1",
558
+ "2",
559
+ "3",
560
+ "4",
561
+ "5",
562
+ "6",
563
+ "7",
564
+ "8",
565
+ "9"
566
+ ];
567
+ var NON_ZERO_NUMERIC_CHAR = [
568
+ "1",
569
+ "2",
570
+ "3",
571
+ "4",
572
+ "5",
573
+ "6",
574
+ "7",
575
+ "8",
576
+ "9"
577
+ ];
578
+
579
+ // dist/constants/NumericDigit.js
580
+ var NUMERIC_DIGIT = [
581
+ 0,
582
+ 1,
583
+ 2,
584
+ 3,
585
+ 4,
586
+ 5,
587
+ 6,
588
+ 7,
589
+ 8,
590
+ 9
591
+ ];
592
+
593
+ // dist/constants/FalsyValues.js
594
+ var FALSY_VALUES = [
595
+ false,
596
+ 0,
597
+ -0,
598
+ "",
599
+ null,
600
+ void 0,
601
+ Number.NaN
602
+ ];
603
+
604
+ // dist/constants/NotDefined.js
605
+ var NOT_DEFINED = createConstant("not-defined");
606
+
607
+ // dist/constants/TypeOf.js
608
+ var TYPE_OF = ["string", "number", "boolean", "undefined", "symbol", "bigint", "function", "object"];
609
+
610
+ // dist/constants/Wide.js
611
+ var WideAssignment = {
612
+ boolean: () => "<<boolean>>",
613
+ string: () => "<<string>>",
614
+ number: () => "<<number>>",
615
+ symbol: () => "<<symbol>>",
616
+ null: () => "<<null>>",
617
+ function: () => "<<function>>",
618
+ tuple: () => "<<tuple>>",
619
+ singularTuple: () => ["<<tuple>>"],
620
+ object: () => "<<object>>",
621
+ emptyObject: () => "<<empty-object>>",
622
+ undefined: () => "<<undefined>>",
623
+ /**
624
+ * run-time value is a type token for `unknown` and type is of course `unknown`
625
+ */
626
+ unknown: () => "<<unknown>>",
627
+ nothing: () => "<<nothing>>",
628
+ // eslint-disable-next-line @typescript-eslint/ban-types
629
+ something: () => "<<something>>"
630
+ };
631
+
632
+ // dist/constants/TypeComparisons.js
633
+ var wide = WideAssignment;
634
+ var entry = (refType, desc, ...params) => [
635
+ refType(wide),
636
+ desc,
637
+ params.map((i) => typeof i === "function" ? i(wide) : i)
638
+ ];
639
+ var TYPE_COMPARISONS = {
640
+ "Extends": entry((t) => t.unknown(), "extends the type", (t) => t.unknown()),
641
+ "NotExtends": entry((t) => t.unknown(), "does not extent the type", (t) => t.unknown()),
642
+ "Equals": entry((t) => t.unknown(), "equals the type", (t) => t.unknown()),
643
+ "NotEqual": entry((t) => t.unknown(), "does not equal the type", (t) => t.unknown()),
644
+ "Truthy": entry((t) => t.unknown(), "must be a truthy value"),
645
+ "Falsy": entry((t) => t.unknown(), "must be a falsy value"),
646
+ "IsSomething": entry((t) => t.unknown(), "must be 'something' (aka, not null or undefined)"),
647
+ "IsNothing": entry((t) => t.unknown(), "must be 'nothing' (aka, null or undefined)"),
648
+ "IsString": entry((t) => t.string(), "must extend a string type"),
649
+ "IsNumber": entry((t) => t.number(), "must extend a number type"),
650
+ "IsBoolean": entry((t) => t.boolean(), "must extend a boolean type"),
651
+ // numeric
652
+ "GreaterThan": entry((t) => t.number(), "must be a numeric literal greater than [[0]]", (t) => t.number()),
653
+ "LessThan": entry((t) => t.number(), "must be a numeric literal less than [[0]]", (t) => t.number()),
654
+ // string
655
+ "StartsWith": entry((t) => t.string(), "must be a string literal that starts with '[[0]]'", (t) => t.string()),
656
+ "EndsWith": entry((t) => t.string(), "must be a string literal that ends with '[[0]]'", (t) => t.string()),
657
+ "Includes": entry((t) => t.string(), "must be a string literal that includes the substring '[[0]]'", (t) => t.string()),
658
+ // function
659
+ "ReturnsSomething": entry((t) => t.function(), "must be a function which returns 'something' (aka, not null or undefined)"),
660
+ "ReturnsNothing": entry((t) => t.function(), "must be a function which returns 'nothing' (aka, null or undefined)"),
661
+ "ReturnsTrue": entry((t) => t.function(), "must be a function which returns 'true'"),
662
+ "ReturnsFalse": entry((t) => t.function(), "must be a function which returns 'false'"),
663
+ "ReturnsTruthy": entry((t) => t.function(), "must be a function which returns a 'truthy' value"),
664
+ "ReturnsFalsy": entry((t) => t.function(), "must be a function which returns a 'falsy' value"),
665
+ "ReturnsExtends": entry((t) => t.unknown(), "must be a function which returns a value which extends [[0]]", (t) => t.unknown()),
666
+ "ReturnsEquals": entry((t) => t.unknown(), "must be a function which returns a value which equals [[0]]", (t) => t.unknown()),
667
+ "Contains": entry((t) => t.tuple(), "must be a tuple and have elements that extends the value [[0]]", (t) => t.unknown()),
668
+ // TODO: get the below working`
669
+ "ContainsSome": entry((t) => t.tuple(), "must be a tuple and have elements that extends the value [[0]]", (t) => t.singularTuple())
670
+ };
671
+
672
+ // dist/constants/TypeTransforms.js
673
+ var t_unknown = "<<unknown>>";
674
+ var t_string = "<<string>>";
675
+ var t_number = "<<number>>";
676
+ var t_union_string_tuple = "<<union:string,tuple>>";
677
+ var TYPE_TRANSFORMS = {
678
+ Identity: [t_unknown, [], "a transform which returns the same value passed in"],
679
+ ToNever: [t_unknown, [], "converts all incoming types to the Never type"],
680
+ ToString: [t_unknown, [], "ensures that any incoming type is converted to a string variant of that value"],
681
+ ToBoolean: [t_unknown, [], `uses Javascript's "truthiness" to convert inputs to a boolean value; with functions it will use the return type`],
682
+ Trim: [t_string, [], "Trims whitespace from start and end of string"],
683
+ TrimStart: [t_string, [], "Trims whitespace from start of string"],
684
+ TrimEnd: [t_string, [], "Trims whitespace from end of string"],
685
+ Capitalize: [t_string, [], "Converts a string input to a capitalized variant"],
686
+ UnCapitalize: [t_string, [], "Converts a string input to a un-capitalized variant"],
687
+ AllCaps: [t_string, [], "Converts a string input to all uppercase characters"],
688
+ Lowercase: [t_string, [], "Converts a string input to all lowercase characters"],
689
+ ToCamelCase: [t_string, [], "Converts a string to use the camelCase naming convention"],
690
+ ToKebabCase: [t_string, [], "Converts a string to use the kebab-case naming convention"],
691
+ ToPascalCase: [t_string, [], "Converts a string to use the PascalCase naming convention"],
692
+ ToSnakeCase: [t_string, [], "Converts a string to use the snake_case naming convention"],
693
+ StripLeading: [t_string, [t_string], "Strips a string literal from the beginning of a string (if it exists)"],
694
+ StripTrailing: [t_string, [t_string], "Strips a string literal from the end of a string (if it exists)"],
695
+ EnsureLeading: [t_string, [t_string], "Ensures a string literal is at the beginning of a string (with no change if it already was)"],
696
+ EnsureTrailing: [t_string, [t_string], "Ensures a string literal is at the end of a string (with no change if it already was)"],
697
+ ToPlural: [t_string, [], "Pluralizes a word"],
698
+ Surround: [t_string, [t_string, t_string], "Surrounds a string literal with a pre and post character or set of characters"],
699
+ Prepend: [t_union_string_tuple, [t_unknown], "Takes a string or tuple and prepends a value to the start."],
700
+ Append: [t_union_string_tuple, [t_unknown], "Takes a string or tuple and appends a value to the end."],
701
+ Increment: [t_number, [], "Increments a numeric value by one"],
702
+ Decrement: [t_number, [], "Decrements a numeric value by one"]
703
+ };
704
+
705
+ // dist/constants/Never.js
706
+ var Never = createConstant("never");
707
+
708
+ // dist/constants/TypeTokens.js
709
+ var TT_Atomics = [
710
+ "undefined",
711
+ "null",
712
+ "boolean",
713
+ "true",
714
+ "false"
715
+ ];
716
+ var TT_Singletons = [
717
+ "string",
718
+ "number"
719
+ ];
720
+ var TT_Sets = [
721
+ "string-set",
722
+ "numeric-set",
723
+ "union-set"
724
+ ];
725
+ var TT_Functions = [
726
+ "fn",
727
+ "gen"
728
+ ];
729
+ var TT_Containers = [
730
+ "rec",
731
+ "arr",
732
+ "set",
733
+ "map",
734
+ "union",
735
+ "obj",
736
+ "tuple"
737
+ ];
738
+ var TT_START = "<<";
739
+ var TT_STOP = ">>";
740
+ var TT_SEP = "::";
741
+ var TYPE_TOKEN_IDENTITIES = [
742
+ "string",
743
+ "number",
744
+ "numericString",
745
+ "booleanString",
746
+ "null",
747
+ "undefined",
748
+ "boolean",
749
+ "true",
750
+ "false",
751
+ "space",
752
+ "whitespace",
753
+ "object",
754
+ "emptyObject",
755
+ "function",
756
+ "array"
757
+ ];
758
+ var TYPE_TOKEN_PARAM_STR = [
759
+ "explicitClass",
760
+ "startsWith",
761
+ "endsWith",
762
+ "ensureLeading",
763
+ "stripLeading",
764
+ "ensureTrailing",
765
+ "stripTrailing",
766
+ "camelCase",
767
+ "pascalCase",
768
+ "snakeCase",
769
+ "kebabCase",
770
+ "explicitType"
771
+ ];
772
+ var TYPE_TOKEN_PARAM_CSV = [
773
+ "stringLiteral",
774
+ "numericLiteral",
775
+ "objectLiteral",
776
+ "tuple",
777
+ "union"
778
+ ];
779
+ var TYPE_TOKEN_PARAM_DATETIME = [
780
+ "datetime"
781
+ ];
782
+ var TYPE_TOKEN_PARAM_DATE = [
783
+ "ymd",
784
+ "monthThenDate",
785
+ "dateThenMonth"
786
+ ];
787
+ var TYPE_TOKEN_PARAM_TIME = [
788
+ "timeInMinutes",
789
+ "timeInSeconds",
790
+ "militaryTimeInMinutes",
791
+ "militaryTimeInSeconds",
792
+ "militaryTimeInMilliseconds",
793
+ "civilianTimeInMinutes"
794
+ ];
795
+ var TYPE_TOKEN_ALL = [
796
+ ...TYPE_TOKEN_IDENTITIES,
797
+ ...TYPE_TOKEN_PARAM_CSV,
798
+ ...TYPE_TOKEN_PARAM_DATE,
799
+ ...TYPE_TOKEN_PARAM_DATETIME,
800
+ ...TYPE_TOKEN_PARAM_STR,
801
+ ...TYPE_TOKEN_PARAM_TIME
802
+ ];
803
+
804
+ // dist/constants/Shape.js
805
+ var SHAPE_PREFIXES = [
806
+ "string",
807
+ "number",
808
+ "boolean",
809
+ "null",
810
+ "undefined",
811
+ "unknown",
812
+ "opt::",
813
+ "union::",
814
+ "tuple::",
815
+ "array::",
816
+ "object",
817
+ "record::"
818
+ ];
819
+ var SHAPE_DELIMITER = "||,||";
820
+
821
+ // dist/constants/Marked.js
822
+ var MARKED = createConstant("Marked");
823
+
824
+ // dist/constants/HashTable.js
825
+ var HASH_TABLE_WIDE = {
826
+ string: "318",
827
+ number: "523",
828
+ boolean: "21",
829
+ never: "!!!",
830
+ unknown: "ed",
831
+ undefined: "ce",
832
+ null: "cc",
833
+ symbol: "78",
834
+ object: "fe8",
835
+ array: "17",
836
+ record: "ee",
837
+ map: "e65",
838
+ weakMap: "e64",
839
+ set: "f62",
840
+ union: "f61"
841
+ };
842
+ var HASH_TABLE_ALPHA_LOWER = {
843
+ "a": "8",
844
+ "b": "~",
845
+ "c": "^",
846
+ "d": ".",
847
+ "e": "82",
848
+ "f": "89",
849
+ "g": ",",
850
+ "h": "!",
851
+ "i": "-7",
852
+ "j": "-8",
853
+ "k": "88",
854
+ "l": "8f",
855
+ "m": "8e",
856
+ "n": "6e",
857
+ "o": "44",
858
+ "p": "60",
859
+ "q": "61",
860
+ "r": "71",
861
+ "s": ":",
862
+ "t": "-45",
863
+ "u": "-5",
864
+ "v": "-9",
865
+ "w": "-f",
866
+ "x": "+1",
867
+ "y": ";",
868
+ "z": "*1"
869
+ };
870
+ var HASH_TABLE_SPECIAL = {
871
+ "!": "1",
872
+ "@": "8",
873
+ "#": "5",
874
+ "$": "4",
875
+ "%": "3",
876
+ "^": "2",
877
+ "&": "9",
878
+ "*": "7",
879
+ "(": "6",
880
+ ")": "12",
881
+ "{": "33",
882
+ "}": "54",
883
+ "[": "x8",
884
+ "]": "y4",
885
+ ":": "z2",
886
+ ";": "e88",
887
+ '"': "c11",
888
+ "'": "c12",
889
+ "<": "p3",
890
+ ",": "45",
891
+ ">": "e9",
892
+ ".": "f2",
893
+ "?": "ee",
894
+ "/": "u9",
895
+ "\\": "f9",
896
+ "|": "q1",
897
+ "~": "fe",
898
+ "`": "8e"
899
+ };
900
+ var HASH_TABLE_DIGIT = {
901
+ "0": "-2",
902
+ "1": "-9",
903
+ "2": "ff",
904
+ "3": "fe",
905
+ "4": "2e",
906
+ "5": "cd",
907
+ "6": "54",
908
+ "7": "27",
909
+ "8": "49",
910
+ "9": "51"
911
+ };
912
+ var HASH_TABLE_ALPHA_UPPER = {
913
+ "A": "b8",
914
+ "B": "~9",
915
+ "C": "6^",
916
+ "D": ".8",
917
+ "E": "5<",
918
+ "F": ">7",
919
+ "G": "1,",
920
+ "H": "!7",
921
+ "I": "8#",
922
+ "J": "@9",
923
+ "K": "1*",
924
+ "L": "4&",
925
+ "M": "+5",
926
+ "N": "j|",
927
+ "O": "-l",
928
+ "P": "q{",
929
+ "Q": "]9",
930
+ "R": "f%",
931
+ "S": ":3",
932
+ "T": "?+",
933
+ "U": "}5",
934
+ "V": "'4",
935
+ "W": "1@g",
936
+ "X": "0+1",
937
+ "Y": "4;",
938
+ "Z": "a*1"
939
+ };
940
+ var HASH_TABLE_CHAR = {
941
+ ...HASH_TABLE_ALPHA_LOWER,
942
+ ...HASH_TABLE_ALPHA_UPPER,
943
+ ...HASH_TABLE_SPECIAL
944
+ };
945
+ var HASH_TABLE_OTHER = "999";
946
+
947
+ // dist/constants/TCP_IP.js
948
+ var IPv6 = {
949
+ "Loopback": "::1/128",
950
+ "Multicast": "ff00::/8",
951
+ "IPv4MappedAddresses": "::FFFF:0:0/96",
952
+ "Unicast": "fe80::/10",
953
+ "DocumentationAddresses": "2001:db8::/32"
954
+ };
955
+ var IPv4 = {
956
+ "Loopback": "127.0.0.1"
957
+ };
958
+
959
+ // dist/constants/Geo.js
960
+ var US_STATE_LOOKUP_STRICT = [
961
+ { name: "Alabama", abbrev: "AL" },
962
+ { name: "Alaska", abbrev: "AK" },
963
+ { name: "Arizona", abbrev: "AZ" },
964
+ { name: "Arkansas", abbrev: "AR" },
965
+ { name: "California", abbrev: "CA" },
966
+ { name: "Colorado", abbrev: "CO" },
967
+ { name: "Connecticut", abbrev: "CT" },
968
+ { name: "Delaware", abbrev: "DE" },
969
+ { name: "Florida", abbrev: "FL" },
970
+ { name: "Georgia", abbrev: "GA" },
971
+ { name: "Hawaii", abbrev: "HI" },
972
+ { name: "Idaho", abbrev: "ID" },
973
+ { name: "Illinois", abbrev: "IL" },
974
+ { name: "Indiana", abbrev: "IN" },
975
+ { name: "Iowa", abbrev: "IA" },
976
+ { name: "Kansas", abbrev: "KS" },
977
+ { name: "Kentucky", abbrev: "KY" },
978
+ { name: "Louisiana", abbrev: "LA" },
979
+ { name: "Maine", abbrev: "ME" },
980
+ { name: "Maryland", abbrev: "MD" },
981
+ { name: "Massachusetts", abbrev: "MA" },
982
+ { name: "Michigan", abbrev: "MI" },
983
+ { name: "Minnesota", abbrev: "MN" },
984
+ { name: "Mississippi", abbrev: "MS" },
985
+ { name: "Missouri", abbrev: "MO" },
986
+ { name: "Montana", abbrev: "MT" },
987
+ { name: "Nebraska", abbrev: "NE" },
988
+ { name: "Nevada", abbrev: "NV" },
989
+ { name: "New Hampshire", abbrev: "NH" },
990
+ { name: "New Jersey", abbrev: "NJ" },
991
+ { name: "New Mexico", abbrev: "NM" },
992
+ { name: "New York", abbrev: "NY" },
993
+ { name: "North Carolina", abbrev: "NC" },
994
+ { name: "North Dakota", abbrev: "ND" },
995
+ { name: "Ohio", abbrev: "OH" },
996
+ { name: "Oklahoma", abbrev: "OK" },
997
+ { name: "Oregon", abbrev: "OR" },
998
+ { name: "Pennsylvania", abbrev: "PA" },
999
+ { name: "Rhode Island", abbrev: "RI" },
1000
+ { name: "South Carolina", abbrev: "SC" },
1001
+ { name: "South Dakota", abbrev: "SD" },
1002
+ { name: "Tennessee", abbrev: "TN" },
1003
+ { name: "Texas", abbrev: "TX" },
1004
+ { name: "Utah", abbrev: "UT" },
1005
+ { name: "Vermont", abbrev: "VT" },
1006
+ { name: "Virginia", abbrev: "VA" },
1007
+ { name: "Washington", abbrev: "WA" },
1008
+ { name: "West Virginia", abbrev: "WV" },
1009
+ { name: "Wisconsin", abbrev: "WI" },
1010
+ { name: "Wyoming", abbrev: "WY" }
1011
+ ];
1012
+ var US_STATE_LOOKUP_PROVINCES = [
1013
+ { name: "Puerto Rico", abbrev: "PR" },
1014
+ { name: "Virgin Islands", abbrev: "VI" },
1015
+ { name: "Palau", abbrev: "PW" },
1016
+ { name: "Federated States of Micronesia", abbrev: "FM" },
1017
+ { name: "Northern Mariana Islands", abbrev: "MP" },
1018
+ { name: "District of Columbia", abbrev: "DC" },
1019
+ { name: "Marshall Islands", abbrev: "MH" },
1020
+ { name: "American Samoa", abbrev: "AS" },
1021
+ { name: "Guam", abbrev: "GU" }
1022
+ ];
1023
+ var US_STATE_LOOKUP = [
1024
+ ...US_STATE_LOOKUP_STRICT,
1025
+ ...US_STATE_LOOKUP_PROVINCES
1026
+ ];
1027
+ var ZIP_TO_STATE = {
1028
+ "0": ["CT", "MA", "ME", "NH", "NJ", "NY", "PR", "RI", "VT", "VI"],
1029
+ "1": ["DE", "NY", "PA"],
1030
+ "2": ["DC", "MD", "NC", "SC", "VA", "WV"],
1031
+ "3": ["AL", "FL", "GA", "MS", "TN"],
1032
+ "4": ["IN", "KY", "MI", "OH"],
1033
+ "5": ["IA", "MN", "MT", "ND", "SD", "WI"],
1034
+ "6": ["IL", "KS", "MO", "NE"],
1035
+ "7": ["AR", "LA", "OK", "TX"],
1036
+ "8": ["AZ", "CO", "ID", "NM", "NV", "UT", "WY"],
1037
+ "9": ["AK", "AS", "CA", "GU", "HI", "MH", "FM", "MP", "OR", "PW", "WA"]
1038
+ };
1039
+
1040
+ // dist/types/dictionary/MapTo.js
1041
+ var toFinalizedConfig = (config) => {
1042
+ return { ...config, finalized: true };
1043
+ };
1044
+ var DEFAULT_ONE_TO_MANY_MAPPING = toFinalizedConfig({
1045
+ input: "req",
1046
+ output: "opt",
1047
+ cardinality: "I -> O[]"
1048
+ });
1049
+ var DEFAULT_ONE_TO_ONE_MAPPING = toFinalizedConfig({
1050
+ input: "req",
1051
+ output: "req",
1052
+ cardinality: "I -> O"
1053
+ });
1054
+ var DEFAULT_MANY_TO_ONE_MAPPING = toFinalizedConfig({
1055
+ input: "req",
1056
+ output: "req",
1057
+ cardinality: "I[] -> O"
1058
+ });
1059
+ var MapCardinality;
1060
+ (function(MapCardinality2) {
1061
+ MapCardinality2["OneToMany"] = "I -> O[]";
1062
+ MapCardinality2["OneToOne"] = "I -> O";
1063
+ MapCardinality2["ManyToOne"] = "I[] -> O";
1064
+ })(MapCardinality || (MapCardinality = {}));
1065
+
1066
+ // dist/runtime/boolean-logic/ifArray.js
1067
+ function ifArray(val, isAnArray, isNotAnArray) {
1068
+ return Array.isArray(val) ? isAnArray(val) : isNotAnArray(val);
1069
+ }
1070
+
1071
+ // dist/runtime/boolean-logic/ifBoolean.js
1072
+ function ifBoolean(val, ifBoolean2, notBoolean) {
1073
+ return isBoolean(val) ? ifBoolean2(val) : notBoolean(val);
1074
+ }
1075
+
1076
+ // dist/runtime/boolean-logic/ifNumber.js
1077
+ function ifNumber(val, ifVal, elseVal) {
1078
+ return isNumber(val) ? ifVal(val) : elseVal(val);
1079
+ }
1080
+
1081
+ // dist/runtime/boolean-logic/ifString.js
1082
+ function ifString(val, ifVal, elseVal) {
1083
+ return isString(val) ? ifVal(val) : elseVal(val);
1084
+ }
1085
+
1086
+ // dist/runtime/boolean-logic/ifNotNull.js
1087
+ function ifNotNull(val, ifVal, elseVal) {
1088
+ return isNull(val) ? elseVal() : ifVal(val);
1089
+ }
1090
+
1091
+ // dist/runtime/boolean-logic/ifSameType.js
1092
+ function ifSameType(value, comparator, same, notSame) {
1093
+ return (
1094
+ // runtime values match
1095
+ typeof value === typeof comparator ? same(value) : notSame(value)
1096
+ );
1097
+ }
1098
+
1099
+ // dist/runtime/boolean-logic/ifFunction.js
1100
+ function ifFunction(value, isFnCallback, notFnCallback) {
1101
+ return isFunction(value) ? isFnCallback(value) : notFnCallback(value);
1102
+ }
1103
+
1104
+ // dist/runtime/boolean-logic/ifContainer.js
1105
+ function ifContainer(value, ifContainer2, notContainer) {
1106
+ return isObject(value) || isArray(value) ? ifContainer2(value) : notContainer(value);
1107
+ }
1108
+
1109
+ // dist/runtime/boolean-logic/ifHasKey.js
1110
+ var ifHasKey = (container, key, hasKey, doesNotHaveKey) => hasIndexOf(container, key) ? hasKey(container) : doesNotHaveKey(container);
1111
+
1112
+ // dist/runtime/boolean-logic/ifLength.js
1113
+ function ifLength(value, length, ifVal, elseVal) {
1114
+ return Array.isArray(value) && value.length === length ? ifVal(value) : elseVal(value);
1115
+ }
1116
+
1117
+ // dist/runtime/boolean-logic/ifScalar.js
1118
+ function ifScalar(value, ifCallback, notCallback) {
1119
+ const result2 = isScalar(value) ? ifCallback(value) : notCallback(value);
1120
+ return result2;
1121
+ }
1122
+
1123
+ // dist/runtime/boolean-logic/ifNull.js
1124
+ function ifNull(val, ifVal, elseVal) {
1125
+ return isNull(val) ? ifVal() : elseVal(val);
1126
+ }
1127
+
1128
+ // dist/runtime/boolean-logic/ifObject.js
1129
+ function ifObject(val, ifObj, notObj) {
1130
+ return isObject(val) ? ifObj : notObj;
1131
+ }
1132
+
1133
+ // dist/runtime/boolean-logic/ifTrue.js
1134
+ function ifTrue(val, ifVal, elseVal) {
1135
+ return (
1136
+ //
1137
+ isTrue(val) ? ifVal(val) : elseVal(val)
1138
+ );
1139
+ }
1140
+
1141
+ // dist/runtime/boolean-logic/ifFalse.js
1142
+ function ifFalse(val, ifVal, elseVal) {
1143
+ return isFalse(val) ? ifVal : elseVal;
1144
+ }
1145
+
1146
+ // dist/runtime/boolean-logic/ifChar.js
1147
+ var def_if = (v) => v;
1148
+ var def_else = () => Never;
1149
+ function ifChar(ch, callback_if_match = def_if, callback_not_match = def_else) {
1150
+ return ch.length === 1 ? callback_if_match(ch) : callback_not_match(ch);
1151
+ }
1152
+
1153
+ // dist/runtime/type-guards/isDefined.js
1154
+ function isDefined(value) {
1155
+ return typeof value === "undefined" ? false : true;
1156
+ }
1157
+
1158
+ // dist/runtime/type-guards/isFalsy.js
1159
+ var isFalsy = (val) => {
1160
+ return FALSY_VALUES.includes(val);
1161
+ };
1162
+
1163
+ // dist/runtime/type-guards/isNull.js
1164
+ function isNull(value) {
1165
+ return value === null ? true : false;
1166
+ }
1167
+
1168
+ // dist/runtime/type-guards/isNotNull.js
1169
+ function isNotNull(value) {
1170
+ return value === null ? true : false;
1171
+ }
1172
+
1173
+ // dist/runtime/type-guards/isTruthy.js
1174
+ var isTruthy = (val) => {
1175
+ return !FALSY_VALUES.includes(val);
1176
+ };
1177
+
1178
+ // dist/runtime/type-guards/isTypeTuple.js
1179
+ function isTypeTuple(value) {
1180
+ return Array.isArray(value) && value.length === 3 && typeof value[1] === "function";
1181
+ }
1182
+
1183
+ // dist/runtime/type-guards/isUndefined.js
1184
+ function isUndefined(value) {
1185
+ return typeof value === "undefined" ? true : false;
1186
+ }
1187
+
1188
+ // dist/runtime/type-guards/isBoolean.js
1189
+ function isBoolean(value) {
1190
+ return typeof value === "boolean";
1191
+ }
1192
+
1193
+ // dist/runtime/type-guards/isString.js
1194
+ function isString(value) {
1195
+ return typeof value === "string";
1196
+ }
1197
+
1198
+ // dist/runtime/type-guards/isIndexable.js
1199
+ function isIndexable(value) {
1200
+ return Array.isArray(value) || typeof value === "object" && keysOf(value).length > 0 ? true : false;
1201
+ }
1202
+
1203
+ // dist/runtime/type-guards/isObject.js
1204
+ function isObject(value) {
1205
+ return typeof value === "object" && value !== null && Array.isArray(value) === false;
1206
+ }
1207
+
1208
+ // dist/runtime/type-guards/isTrue.js
1209
+ function isTrue(value) {
1210
+ return value === true;
1211
+ }
1212
+
1213
+ // dist/runtime/type-guards/isArray.js
1214
+ function isArray(value) {
1215
+ return Array.isArray(value) === true;
1216
+ }
1217
+
1218
+ // dist/runtime/type-guards/isConstant.js
1219
+ function isConstant(value) {
1220
+ return isObject(value) && "_type" in value && isTypeOf("string")(value._type) && isEqual(value._type)("Constant") ? true : false;
1221
+ }
1222
+
1223
+ // dist/runtime/type-guards/isNever.js
1224
+ var isNever = (val) => {
1225
+ return isConstant(val) && val.kind === "never";
1226
+ };
1227
+
1228
+ // dist/runtime/type-guards/isContainer.js
1229
+ function isContainer(value) {
1230
+ return Array.isArray(value) || isObject(value) ? true : false;
1231
+ }
1232
+
1233
+ // dist/runtime/type-guards/higher-order/isSameTypeOf.js
1234
+ var isSameTypeOf = (base) => (compare) => {
1235
+ return typeof base === typeof compare;
1236
+ };
1237
+
1238
+ // dist/runtime/type-guards/higher-order/isEqual.js
1239
+ var isEqual = (base) => (value) => isSameTypeOf(base)(value) ? value === base ? true : false : false;
1240
+
1241
+ // dist/runtime/type-guards/isSpecificConstant.js
1242
+ function isSpecificConstant(kind) {
1243
+ return (value) => {
1244
+ return isConstant(value) && isEqual(value.kind)(kind) ? true : false;
1245
+ };
1246
+ }
1247
+
1248
+ // dist/runtime/type-guards/isReadonlyArray.js
1249
+ function isReadonlyArray(value) {
1250
+ return Array.isArray(value) === true;
1251
+ }
1252
+
1253
+ // dist/runtime/type-guards/hasIndexOf.js
1254
+ var hasIndexOf = (value, idx) => {
1255
+ const result2 = isObject(value) ? String(idx) in value : Array.isArray(value) ? Number(idx) in value : false;
1256
+ return isErrorCondition(result2, "invalid-index") ? false : result2;
1257
+ };
1258
+
1259
+ // dist/runtime/type-guards/isRef.js
1260
+ function isRef(value) {
1261
+ return isObject(value) && "value" in value && Array.from(Object.keys(value)).includes("_value");
1262
+ }
1263
+
1264
+ // dist/runtime/type-guards/isFalse.js
1265
+ function isFalse(i) {
1266
+ return typeof i === "boolean" && !i;
1267
+ }
1268
+
1269
+ // dist/runtime/type-guards/hasDefaultValue.js
1270
+ function hasDefaultValue(value) {
1271
+ const noDefault = isSpecificConstant("no-default-value");
1272
+ return noDefault(value) ? false : true;
1273
+ }
1274
+
1275
+ // dist/runtime/literals/split.js
1276
+ function split(str, sep = "") {
1277
+ return str.split(sep);
1278
+ }
1279
+
1280
+ // dist/runtime/type-guards/isNumericString.js
1281
+ function isNumericString(value) {
1282
+ const validChars = [...NUMERIC_CHAR, "x", "E"];
1283
+ return typeof value === "string" && split(value).every((i) => validChars.includes(i));
1284
+ }
1285
+
1286
+ // dist/runtime/type-guards/isFnWithParams.js
1287
+ function isFnWithParams(input) {
1288
+ var _a;
1289
+ return typeof input === "function" && ((_a = Object.keys(input)) == null ? void 0 : _a.length) > 0;
1290
+ }
1291
+
1292
+ // dist/runtime/type-guards/isFunction.js
1293
+ function isFunction(value) {
1294
+ return typeof value === "function" ? true : false;
1295
+ }
1296
+
1297
+ // dist/runtime/type-guards/isNumber.js
1298
+ function isNumber(value) {
1299
+ return typeof value === "number";
1300
+ }
1301
+
1302
+ // dist/runtime/type-guards/isNothing.js
1303
+ function isNothing(val) {
1304
+ return val === null || val === void 0 ? true : false;
1305
+ }
1306
+
1307
+ // dist/runtime/type-guards/isSymbol.js
1308
+ function isSymbol(value) {
1309
+ return typeof value === "symbol";
1310
+ }
1311
+
1312
+ // dist/runtime/type-guards/isScalar.js
1313
+ function isScalar(value) {
1314
+ return isString(value) || isNumber(value) || isSymbol(value) || isNull(value);
1315
+ }
1316
+
1317
+ // dist/runtime/type-guards/isTypeToken.js
1318
+ function isTypeToken(val) {
1319
+ if (isString(val) && startsWith("<<")(val) && endsWith(">>")(val)) {
1320
+ return true;
1321
+ } else {
1322
+ return false;
1323
+ }
1324
+ }
1325
+
1326
+ // dist/runtime/type-guards/isErrorCondition.js
1327
+ function isErrorCondition(value, kind = null) {
1328
+ return isObject(value) && "__kind" in value && value.__kind === "ErrorCondition" && "kind" in value ? kind !== null ? value["kind"] === kind : true : false;
1329
+ }
1330
+
1331
+ // dist/runtime/type-guards/hasKeys.js
1332
+ var hasKeys = (...props) => (
1333
+ /**
1334
+ * Type guard which validates whether the configured properties
1335
+ * exist on a given `Record<ObjectKey, unknown` and if they do at
1336
+ * runtime will provide the type support for them.
1337
+ */
1338
+ (val) => {
1339
+ const keys = Array.isArray(props) ? props : Object.keys(props).filter((i) => typeof i === "string");
1340
+ return (isFunction(val) || isObject(val)) && keys.every((k) => k in val) ? true : false;
1341
+ }
1342
+ );
1343
+
1344
+ // dist/runtime/type-guards/isDoneFn.js
1345
+ var isDoneFn = (val) => {
1346
+ return hasKeys("done")(val) && typeof val.done === "function";
1347
+ };
1348
+
1349
+ // dist/runtime/type-guards/higher-order/endsWith.js
1350
+ var endsWith = (endingIn2) => (val) => {
1351
+ return ifString(val, (v) => v.endsWith(endingIn2) ? true : false, (v) => ifNumber(v, (n) => String(n).endsWith(endingIn2) ? true : false, () => false));
1352
+ };
1353
+
1354
+ // dist/runtime/type-guards/higher-order/startsWith.js
1355
+ var startsWith = (startingWith) => (val) => {
1356
+ return isString(val) ? val.startsWith(startingWith) ? true : false : isNumber(val) ? String(val).startsWith(startingWith) ? true : false : false;
1357
+ };
1358
+
1359
+ // dist/runtime/type-guards/higher-order/isLength.js
1360
+ function isLength(value, len) {
1361
+ 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;
1362
+ }
1363
+
1364
+ // dist/runtime/type-guards/higher-order/isTypeOf.js
1365
+ var isTypeOf = (type) => (value) => {
1366
+ return typeof value === type;
1367
+ };
1368
+
1369
+ // dist/runtime/type-guards/higher-order/isTuple.js
1370
+ var isTuple = (...tuple3) => {
1371
+ const results = tuple3.map((i) => i(ShapeApiImplementation)).map((i) => isDoneFn(i) ? i.done() : i);
1372
+ return (v) => {
1373
+ return isArray(v) && v.length === results.length && results.every(isShape) && v.every((item, idx) => isSameTypeOf(results[idx])(item));
1374
+ };
1375
+ };
1376
+
1377
+ // dist/runtime/boolean-logic/ifUndefined.js
1378
+ function ifUndefined(val, ifUndefined2, ifDefined2) {
1379
+ return isUndefined(val) ? ifUndefined2() : ifDefined2(val);
1380
+ }
1381
+ function ifDefined(val, ifVal, elseVal) {
1382
+ return isDefined(val) ? ifVal : elseVal;
1383
+ }
1384
+
1385
+ // dist/runtime/boolean-logic/ifArrayPartial.js
1386
+ function ifArrayPartial() {
1387
+ return (isAnArray, isNotAnArray) => {
1388
+ return (val) => ifArray(val, isAnArray, isNotAnArray);
1389
+ };
1390
+ }
1391
+
1392
+ // dist/runtime/boolean-logic/handleDoneFn.js
1393
+ var handleDoneFn = (val, call_bare_fn = false) => {
1394
+ 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;
1395
+ };
1396
+
1397
+ // dist/runtime/combinators/and.js
1398
+ var and = (...values) => {
1399
+ return values.every((i) => i === true);
1400
+ };
1401
+
1402
+ // dist/runtime/combinators/or.js
1403
+ function or(...conditions) {
1404
+ const values = conditions.some((v) => v === true ? true : false);
1405
+ return values;
1406
+ }
1407
+
1408
+ // dist/runtime/dictionary/keysOf.js
1409
+ function keysOf(container) {
1410
+ const keys = Array.isArray(container) ? Object.keys(container).map((i) => Number(i)) : isObject(container) ? isRef(container) ? ["value"] : Object.keys(container) : [];
1411
+ return keys;
1412
+ }
1413
+
1414
+ // dist/runtime/dictionary/entries.js
1415
+ function entries(obj) {
1416
+ const iterable = {
1417
+ *[Symbol.iterator]() {
1418
+ for (const k of keysOf(obj)) {
1419
+ yield [k, obj[k]];
1420
+ }
1421
+ }
1422
+ };
1423
+ return iterable;
1424
+ }
1425
+
1426
+ // dist/runtime/dictionary/get.js
1427
+ function updatedDotPath(value, dotpath, segment) {
1428
+ return isRef(value) ? dotpath.replace(segment, `Ref(${segment})`) : dotpath;
1429
+ }
1430
+ function getValue(value, dotPath, defaultValue, handleInvalid, fullDotPath) {
1431
+ const pathSegments = isTruthy(dotPath) ? dotPath.split(".") : [];
1432
+ const idx = pathSegments[0];
1433
+ const hasMoreSegments = pathSegments.length > 1;
1434
+ const valueIsIndexable = isContainer(value) && hasIndexOf(value, idx);
1435
+ const hasHandler = !isSpecificConstant("not-defined")(handleInvalid);
1436
+ const invalidDotPath = createErrorCondition("invalid-dot-path", `The segment "${idx}" in the dotpath "${fullDotPath}" was not indexable and no default value existed on: ${JSON.stringify(value)}`);
1437
+ const current = hasMoreSegments ? isContainer(value) && idx in value ? getValue(indexOf(value, idx), pathSegments.join(".").replace(`${idx}.`, ""), defaultValue, handleInvalid, updatedDotPath(value, fullDotPath, idx)) : hasHandler ? handleInvalid : invalidDotPath : valueIsIndexable ? hasDefaultValue(hasDefaultValue) ? indexOf(value, idx) || defaultValue : indexOf(value, idx) : hasHandler ? handleInvalid : invalidDotPath;
1438
+ return current;
1439
+ }
1440
+ function get(value, dotPath, options = {
1441
+ defaultValue: NO_DEFAULT_VALUE,
1442
+ handleInvalidDotpath: NOT_DEFINED
1443
+ }) {
1444
+ const outcome = dotPath === null || dotPath === "" ? value : getValue(value, dotPath, (options == null ? void 0 : options.defaultValue) || NO_DEFAULT_VALUE, (options == null ? void 0 : options.handleInvalidDotpath) || NOT_DEFINED, String(dotPath));
1445
+ return outcome;
1446
+ }
1447
+
1448
+ // dist/runtime/dictionary/omit.js
1449
+ function omit(obj, ...removeKeys) {
1450
+ const keys = Object.keys(obj);
1451
+ return keys.reduce((acc, key) => removeKeys.includes(key) ? acc : {
1452
+ ...acc,
1453
+ [key]: obj[key]
1454
+ }, {});
1455
+ }
1456
+
1457
+ // dist/runtime/dictionary/retain.js
1458
+ var retain = (dict2, ...keys) => {
1459
+ let output = {};
1460
+ for (const k of keys) {
1461
+ output = {
1462
+ ...output,
1463
+ [k]: dict2[k]
1464
+ };
1465
+ }
1466
+ return output;
1467
+ };
1468
+
1469
+ // dist/runtime/dictionary/sharedKeys.js
1470
+ var sharedKeys = (a, b) => {
1471
+ const ka = Object.keys(a);
1472
+ const kb = Object.keys(b);
1473
+ return ka.filter((k) => kb.includes(k));
1474
+ };
1475
+
1476
+ // dist/runtime/dictionary/takeProp.js
1477
+ var takeProp = (val, prop, otherwise) => {
1478
+ return (isObject(val) || isArray(val)) && prop in val ? val[prop] : otherwise;
1479
+ };
1480
+
1481
+ // dist/runtime/dictionary/withKeys.js
1482
+ var withKeys = (dict2, ...keys) => retain(dict2, ...keys);
1483
+
1484
+ // dist/runtime/dictionary/withoutKeys.js
1485
+ var withoutKeys = (dict2, ...exclude) => omit(dict2, ...exclude);
1486
+
1487
+ // dist/runtime/dictionary/withoutValue.js
1488
+ function withoutValue(val) {
1489
+ return (obj) => {
1490
+ return Object.keys(obj).reduce((acc, key) => val === obj[key] ? acc : { ...acc, [key]: obj[key] }, {});
1491
+ };
1492
+ }
1493
+
1494
+ // dist/runtime/dictionary/withDefaults.js
1495
+ var withDefaults = (with_defaults) => (obj) => {
1496
+ const merged = {
1497
+ ...with_defaults,
1498
+ ...obj
1499
+ };
1500
+ return merged;
1501
+ };
1502
+
1503
+ // dist/runtime/dictionary/valuesOf.js
1504
+ var valuesOf = (obj) => {
1505
+ const values = [];
1506
+ for (const k of Object.keys(obj)) {
1507
+ values.push(obj[k]);
1508
+ }
1509
+ return values;
1510
+ };
1511
+
1512
+ // dist/runtime/errors/createErrorCondition.js
1513
+ var createErrorCondition = (kind, msg = "", utility = "") => {
1514
+ return {
1515
+ __kind: "ErrorCondition",
1516
+ kind,
1517
+ msg,
1518
+ utility
1519
+ };
1520
+ };
1521
+
1522
+ // dist/runtime/literals/box.js
1523
+ function box(value) {
1524
+ const rtn = {
1525
+ __type: "box",
1526
+ value,
1527
+ unbox: (...p) => {
1528
+ return typeof value === "function" ? value(...p) : value;
1529
+ }
1530
+ };
1531
+ return rtn;
1532
+ }
1533
+ function isBox(thing) {
1534
+ return typeof thing === "object" && "__type" in thing && thing.__type === "box";
1535
+ }
1536
+ function boxDictionaryValues(dict2) {
1537
+ const keys = Object.keys(dict2);
1538
+ return keys.reduce((acc, key) => ({ ...acc, [key]: box(dict2[key]) }), {});
1539
+ }
1540
+ function unbox(val) {
1541
+ return isBox(val) ? val.value : val;
1542
+ }
1543
+
1544
+ // dist/runtime/literals/identity.js
1545
+ var identity = (v) => v;
1546
+
1547
+ // dist/runtime/literals/literal.js
1548
+ function idLiteral(o) {
1549
+ return { ...o, id: o.id };
1550
+ }
1551
+ function nameLiteral(o) {
1552
+ return o;
1553
+ }
1554
+ function kindLiteral(o) {
1555
+ return o;
1556
+ }
1557
+ function idTypeGuard(_o) {
1558
+ return true;
1559
+ }
1560
+ function literal(obj) {
1561
+ return obj;
1562
+ }
1563
+
1564
+ // dist/runtime/literals/stripTrailing.js
1565
+ var switchType = (content) => (val) => {
1566
+ return typeof content === "number" ? Number(val) : val;
1567
+ };
1568
+ function stripTrailing(content, strip) {
1569
+ var _a;
1570
+ const re = new RegExp(`(.*)${strip}$`);
1571
+ return ((_a = String(content)) == null ? void 0 : _a.endsWith(String(strip))) ? switchType(content)(String(content).replace(re, "$1")) : switchType(content)(String(content));
1572
+ }
1573
+
1574
+ // dist/runtime/literals/stripLeading.js
1575
+ function stripLeading(content, strip) {
1576
+ const re = new RegExp(`^${strip}(.*)`);
1577
+ return content.startsWith(strip) ? (
1578
+ // starts with
1579
+ content.replace(re, "$1")
1580
+ ) : (
1581
+ // does not
1582
+ content
1583
+ );
1584
+ }
1585
+
1586
+ // dist/runtime/literals/ensureTrailing.js
1587
+ function ensureTrailing(content, ensure) {
1588
+ return (
1589
+ //
1590
+ content.endsWith(ensure) ? content : `${content}${ensure}`
1591
+ );
1592
+ }
1593
+
1594
+ // dist/runtime/literals/ensureLeading.js
1595
+ function ensureLeading(content, ensure) {
1596
+ return String(content).startsWith(ensure) ? content : `${ensure}${content}`;
1597
+ }
1598
+
1599
+ // dist/runtime/literals/ensureSurround.js
1600
+ function ensureSurround(prefix, postfix) {
1601
+ const fn2 = (input) => {
1602
+ const result2 = ensureTrailing(ensureLeading(input, prefix), postfix);
1603
+ return result2;
1604
+ };
1605
+ return fn2;
1606
+ }
1607
+
1608
+ // dist/runtime/literals/ifUppercase.js
1609
+ function ifUppercaseChar(ch, callbackForMatch, callbackForNoMatch) {
1610
+ if (ch.length !== 1) {
1611
+ throw new Error(`Invalid string length passed to ifUppercaseChar(ch); this function requires a single character but ${ch.length} were received`);
1612
+ }
1613
+ return LOWER_ALPHA_CHARS.includes(ch) ? callbackForMatch(ch) : callbackForNoMatch(ch);
1614
+ }
1615
+
1616
+ // dist/runtime/literals/pathJoin.js
1617
+ function pathJoin(...segments) {
1618
+ const clean_path = segments.map((i) => stripTrailing(stripLeading(i, "/"), "/")).join("/");
1619
+ const original_path = segments.join("/");
1620
+ const pre = original_path.startsWith("/") ? "/" : "";
1621
+ const post = original_path.endsWith("/") ? "/" : "";
1622
+ return `${pre}${clean_path}${post}`;
1623
+ }
1624
+
1625
+ // dist/runtime/literals/narrow.js
1626
+ function narrow(...values) {
1627
+ return values.length === 1 ? values[0] : values;
1628
+ }
1629
+
1630
+ // dist/runtime/literals/tuple.js
1631
+ var tuple = (...values) => {
1632
+ const arr = values.length === 1 ? values[0] : values;
1633
+ return asArray(arr);
1634
+ };
1635
+
1636
+ // dist/runtime/literals/capitalize.js
1637
+ function capitalize(str) {
1638
+ return `${str == null ? void 0 : str.slice(0, 1).toUpperCase()}${str == null ? void 0 : str.slice(1)}`;
1639
+ }
1640
+
1641
+ // dist/runtime/literals/uncapitalize.js
1642
+ function uncapitalize(str) {
1643
+ return `${str == null ? void 0 : str.slice(0, 1).toLowerCase()}${str == null ? void 0 : str.slice(1)}`;
1644
+ }
1645
+
1646
+ // dist/runtime/literals/uppercase.js
1647
+ function uppercase(str) {
1648
+ return str.toUpperCase();
1649
+ }
1650
+
1651
+ // dist/runtime/literals/lowercase.js
1652
+ function lowercase(str) {
1653
+ return str.toLowerCase();
1654
+ }
1655
+
1656
+ // dist/runtime/literals/widen.js
1657
+ function widen(value) {
1658
+ return value;
1659
+ }
1660
+
1661
+ // dist/runtime/literals/toCamelCase.js
1662
+ function toCamelCase(input, preserveWhitespace) {
1663
+ const pascal = preserveWhitespace ? toPascalCase(input, preserveWhitespace) : toPascalCase(input);
1664
+ const [_, preWhite, focus, postWhite] = /^(\s*)(.*?)(\s*)$/.exec(pascal);
1665
+ const camel = (preserveWhitespace ? preWhite : "") + focus.replace(/^.*?([0-9]*?[a-z|A-Z]{1})/s, (_2, p1) => p1.toLowerCase()) + (preserveWhitespace ? postWhite : "");
1666
+ return camel;
1667
+ }
1668
+
1669
+ // dist/runtime/literals/toKebabCase.js
1670
+ function toKebabCase(input, _preserveWhitespace) {
1671
+ const [_, preWhite, focus, postWhite] = /^(\s*)(.*?)(\s*)$/.exec(input);
1672
+ const replaceWhitespace = (i) => i.replace(/\s/gs, "-");
1673
+ const replaceUppercase = (i) => i.replace(/[A-Z]/g, (c) => `-${c[0].toLowerCase()}`);
1674
+ const replaceLeadingDash = (i) => i.replace(/^-/s, "");
1675
+ const replaceTrailingDash = (i) => i.replace(/-$/s, "");
1676
+ const replaceUnderscore = (i) => i.replace(/_/g, "-");
1677
+ const removeDupDashes = (i) => i.replace(/-+/g, "-");
1678
+ return removeDupDashes(`${preWhite}${replaceUnderscore(replaceTrailingDash(replaceLeadingDash(removeDupDashes(replaceWhitespace(replaceUppercase(focus))))))}${postWhite}`);
1679
+ }
1680
+
1681
+ // dist/runtime/literals/ifLowercase.js
1682
+ function ifLowercaseChar(ch, callbackForMatch, callbackForNoMatch) {
1683
+ if (ch.length !== 1) {
1684
+ throw new Error(`call to ifUppercaseChar received ${ch.length} characters but is only valid when one character is passed in!`);
1685
+ }
1686
+ return LOWER_ALPHA_CHARS.includes(ch) ? callbackForMatch(ch) : callbackForNoMatch(ch);
1687
+ }
1688
+
1689
+ // dist/runtime/literals/toSnakeCase.js
1690
+ function toSnakeCase(input, preserveWhitespace = false) {
1691
+ const [_, preWhite, focus, postWhite] = /^(\s*)(.*?)(\s*)$/.exec(input);
1692
+ const convertInteriorSpace = (input2) => input2.replace(/\s+/gs, "_");
1693
+ const convertDashes = (input2) => input2.replace(/-/gs, "_");
1694
+ const injectUnderscoreBeforeCaps = (input2) => input2.replace(/([A-Z])/gs, "_$1");
1695
+ const removeLeadingUnderscore = (input2) => input2.startsWith("_") ? input2.slice(1) : input2;
1696
+ return ((preserveWhitespace ? preWhite : "") + removeLeadingUnderscore(injectUnderscoreBeforeCaps(convertDashes(convertInteriorSpace(focus)))).toLowerCase() + (preserveWhitespace ? postWhite : "")).replace(/__/g, "_");
1697
+ }
1698
+
1699
+ // dist/runtime/literals/toString.js
1700
+ function toString(val) {
1701
+ return String(val);
1702
+ }
1703
+
1704
+ // dist/runtime/literals/pluralize.js
1705
+ var isException = (word) => Object.keys(PLURAL_EXCEPTIONS).includes(word);
1706
+ var endingIn = (word, postfix) => {
1707
+ switch (postfix) {
1708
+ case "is":
1709
+ return word.endsWith(postfix) ? `${word}es` : void 0;
1710
+ case "singular-noun":
1711
+ return SINGULAR_NOUN_ENDINGS.some((i) => word.endsWith(i)) ? split(word).every((i) => [...ALPHA_CHARS].includes(i)) ? `${word}es` : void 0 : void 0;
1712
+ case "f":
1713
+ return word.endsWith("f") ? stripTrailing(word, "f") + "ves" : word.endsWith("fe") ? stripTrailing(word, "fe") + "ves" : void 0;
1714
+ case "y":
1715
+ return word.endsWith("y") ? CONSONANTS.includes(word.slice(-2, 1)) ? stripTrailing(word, "y") + "ies" : void 0 : void 0;
1716
+ default:
1717
+ throw new Error(`endingIn received "${postfix}" as a postfix but this ending is not known!`);
1718
+ }
1719
+ };
1720
+ var pluralize = (word) => {
1721
+ const result2 = isException(word) ? PLURAL_EXCEPTIONS[word] : endingIn(word, "is") || endingIn(word, "singular-noun") || endingIn(word, "f") || endingIn(word, "y") || `${word}s`;
1722
+ return result2;
1723
+ };
1724
+
1725
+ // dist/runtime/literals/retainAfter.js
1726
+ function retainAfter(content, find2) {
1727
+ const parts = content.split(find2);
1728
+ parts.shift();
1729
+ return parts.join(find2);
1730
+ }
1731
+
1732
+ // dist/runtime/literals/surround.js
1733
+ function surround(prefix, postfix) {
1734
+ return (input) => `${prefix}${input}${postfix}`;
1735
+ }
1736
+
1737
+ // dist/runtime/literals/stripAfter.js
1738
+ function stripAfter(content, find2) {
1739
+ return content.split(find2).shift();
1740
+ }
1741
+
1742
+ // dist/runtime/literals/stripBefore.js
1743
+ function stripBefore(content, find2) {
1744
+ return content.split(find2).slice(1).join(find2);
1745
+ }
1746
+
1747
+ // dist/runtime/literals/trim.js
1748
+ function trim(input) {
1749
+ return input.trim();
1750
+ }
1751
+ function trimLeft(input) {
1752
+ return input.trimStart();
1753
+ }
1754
+ function trimStart(input) {
1755
+ return input.trimStart();
1756
+ }
1757
+ function trimRight(input) {
1758
+ return input.trimEnd();
1759
+ }
1760
+ function trimEnd(input) {
1761
+ return input.trimEnd();
1762
+ }
1763
+
1764
+ // dist/runtime/literals/toPascalCase.js
1765
+ function toPascalCase(input, preserveWhitespace = void 0) {
1766
+ const [_, preWhite, focus, postWhite] = /^(\s*)(.*?)(\s*)$/.exec(input);
1767
+ const convertInteriorToCap = (i) => i.replace(/[ |_|-]+([0-9]*?[a-z|A-Z]{1})/gs, (_2, p1) => p1.toUpperCase());
1768
+ const startingToCap = (i) => i.replace(/^[_|-]*?([0-9]*?[a-z]{1})/gs, (_2, p1) => p1.toUpperCase());
1769
+ const replaceLeadingTrash = (i) => i.replace(/^[-_]/s, "");
1770
+ const replaceTrailingTrash = (i) => i.replace(/[-_]$/s, "");
1771
+ const pascal = `${preserveWhitespace ? preWhite : ""}${capitalize(replaceTrailingTrash(replaceLeadingTrash(convertInteriorToCap(startingToCap(focus)))))}${preserveWhitespace ? postWhite : ""}`;
1772
+ return pascal;
1773
+ }
1774
+
1775
+ // dist/runtime/literals/toUppercase.js
1776
+ function toUppercase(str) {
1777
+ return str.split("").map((i) => ifLowercaseChar(i, (v) => capitalize(v), (v) => v)).join("");
1778
+ }
1779
+
1780
+ // dist/runtime/literals/toNumericArray.js
1781
+ var toNumericArray = (arr) => {
1782
+ return arr.map((i) => Number(i));
1783
+ };
1784
+
1785
+ // dist/runtime/literals/truncate.js
1786
+ var truncate = (content, maxLength, ellipsis = false) => {
1787
+ const overLimit = content.length > maxLength;
1788
+ return overLimit ? ellipsis ? `${content.slice(0, maxLength)}${typeof ellipsis === "string" ? ellipsis : "..."}` : content.slice(0, maxLength) : content;
1789
+ };
1790
+
1791
+ // dist/runtime/errors/kindedError.js
1792
+ var kindError = (kind, _defineContext) => (msg, context) => {
1793
+ const err = new Error(msg);
1794
+ err.name = toPascalCase(kind);
1795
+ err.kind = toKebabCase(kind);
1796
+ err.__kind = "KindError";
1797
+ err.context = context;
1798
+ return err;
1799
+ };
1800
+
1801
+ // dist/runtime/functional/result.js
1802
+ var result = "NOT READY";
1803
+
1804
+ // dist/runtime/functions/fnMeta.js
1805
+ var fnMeta = (func) => {
1806
+ const fn2 = (...args) => func(...args);
1807
+ const props = Object.keys(fn2).reduce((acc, key) => ({ ...acc, [key]: fn2[key] }), {});
1808
+ return {
1809
+ fn: fn2,
1810
+ props
1811
+ };
1812
+ };
1813
+
1814
+ // dist/runtime/initializers/addFnToProps.js
1815
+ var addPropsToFn = (fn2, clone_fn) => {
1816
+ const localFn = clone_fn ? (...args) => fn2(args) : fn2;
1817
+ return (obj) => {
1818
+ for (const k in obj) {
1819
+ localFn[k] = obj[k];
1820
+ }
1821
+ return localFn;
1822
+ };
1823
+ };
1824
+
1825
+ // dist/runtime/initializers/addPropsToFn.js
1826
+ var addFnToProps = (props, _clone_fn) => (fn2) => {
1827
+ const localFn = (...args) => fn2(args);
1828
+ for (const k in props) {
1829
+ localFn[k] = props[k];
1830
+ }
1831
+ return localFn;
1832
+ };
1833
+
1834
+ // dist/runtime/initializers/createFnWithProps.js
1835
+ var createFnWithProps = (fn2, props, narrowing = false) => {
1836
+ const fnWithProps = fn2;
1837
+ for (const prop of keysOf(props)) {
1838
+ fnWithProps[prop] = props[prop];
1839
+ }
1840
+ return isTrue(narrowing) ? fnWithProps : fnWithProps;
1841
+ };
1842
+
1843
+ // dist/runtime/initializers/defineObj.js
1844
+ function defineObj(literal2 = {}) {
1845
+ return (wide2 = {}) => {
1846
+ const obj = literal2 ? { ...literal2, ...wide2 } : wide2;
1847
+ return obj;
1848
+ };
1849
+ }
1850
+
1851
+ // dist/runtime/initializers/defineTuple.js
1852
+ var defineTuple = (...values) => {
1853
+ return values.map((i) => isFunction(i) ? handleDoneFn(i(ShapeApiImplementation)) : i);
1854
+ };
1855
+
1856
+ // dist/runtime/lists/asArray.js
1857
+ var asArray = (thing) => {
1858
+ return Array.isArray(thing) === true ? (
1859
+ // proxy thing back as it's already an array
1860
+ thing
1861
+ ) : typeof thing === "undefined" ? [] : [thing];
1862
+ };
1863
+
1864
+ // dist/runtime/lists/getEach.js
1865
+ function getEach(list2, dotPath) {
1866
+ const result2 = list2.map((i) => isNull(dotPath) ? i : isContainer(i) ? get(i, dotPath) : Never).filter((i) => !isErrorCondition(i));
1867
+ return result2;
1868
+ }
1869
+
1870
+ // dist/runtime/lists/indexOf.js
1871
+ function indexOf(val, index) {
1872
+ const isNegative = isNumber(index) && index < 0;
1873
+ if (isNegative && !Array.isArray(val)) {
1874
+ 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}]!`);
1875
+ }
1876
+ if (isNegative && Array.isArray(val) && val.length < Math.abs(index)) {
1877
+ 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.`);
1878
+ }
1879
+ const idx = isNegative && Array.isArray(val) ? val.length + 1 - Math.abs(index) : index;
1880
+ return index === null ? val : isNull(idx) ? val : isArray(val) ? Number(idx) in val ? val[Number(idx)] : Never : isObject(val) ? String(idx) in val ? val[String(idx)] : Never : Never;
1881
+ }
1882
+
1883
+ // dist/runtime/lists/intersection.js
1884
+ function intersectWithOffset(a, b, deref) {
1885
+ const aIndexable = a.every((i) => isIndexable(i));
1886
+ const bIndexable = b.every((i) => isIndexable(i));
1887
+ if (!aIndexable || !bIndexable) {
1888
+ if (!aIndexable) {
1889
+ throw new Error(`The "a" array passed into intersect(a,b) was not fully composed of indexable properties: ${a.map((i) => typeof i).join(", ")}`);
1890
+ } else {
1891
+ throw new Error(`The "b" array passed into intersect(a,b) was not fully composed of indexable properties: ${b.map((i) => typeof i).join(", ")}`);
1892
+ }
1893
+ }
1894
+ const aMatches = getEach(a, deref);
1895
+ const bMatches = getEach(b, deref);
1896
+ const sharedKeys2 = ifNotNull(deref, (v) => [
1897
+ a.filter((i) => Array.from(bMatches).includes(get(i, v))),
1898
+ b.filter((i) => Array.from(aMatches).includes(get(i, v)))
1899
+ ], () => a.filter((k) => b.includes(k)));
1900
+ return sharedKeys2;
1901
+ }
1902
+ function intersectNoOffset(a, b) {
1903
+ return a.length < b.length ? a.filter((val) => b.includes(val)) : b.filter((val) => a.includes(val));
1904
+ }
1905
+ var intersection = (a, b, deref = null) => {
1906
+ return deref === null ? intersectNoOffset(a, b) : intersectWithOffset(a, b, deref);
1907
+ };
1908
+
1909
+ // dist/runtime/lists/unique.js
1910
+ var unique = (...values) => {
1911
+ const u = [];
1912
+ for (const i of values.flat()) {
1913
+ if (!u.includes(i)) {
1914
+ u.push(i);
1915
+ }
1916
+ }
1917
+ return u;
1918
+ };
1919
+
1920
+ // dist/runtime/lists/logicalReturns.js
1921
+ function logicalReturns(conditions) {
1922
+ return conditions.map((c) => isBoolean(c) ? c : isFunction(c) ? c() : Never);
1923
+ }
1924
+
1925
+ // dist/runtime/lists/find.js
1926
+ var find = (list2, deref = null) => (comparator) => {
1927
+ return list2.find((i) => {
1928
+ const val = deref ? isContainer(i) ? deref in i ? i[deref] : void 0 : i : i;
1929
+ return val === comparator;
1930
+ });
1931
+ };
1932
+
1933
+ // dist/runtime/lists/filter.js
1934
+ var FILTER = "NOT READY";
1935
+
1936
+ // dist/runtime/lists/createConverter.js
1937
+ function createConverter(mapper) {
1938
+ return (input) => {
1939
+ let result2;
1940
+ if (isNothing(input)) {
1941
+ result2 = mapper.nothing ? mapper.nothing(input) : Never;
1942
+ } else if (isObject(input)) {
1943
+ result2 = mapper.object ? mapper.object(input) : Never;
1944
+ } else {
1945
+ switch (typeof input) {
1946
+ case "string":
1947
+ result2 = mapper.string ? mapper.string(input) : Never;
1948
+ break;
1949
+ case "number":
1950
+ case "bigint":
1951
+ result2 = mapper.number ? mapper.number(input) : Never;
1952
+ break;
1953
+ case "boolean":
1954
+ result2 = mapper.boolean ? mapper.boolean(input) : Never;
1955
+ break;
1956
+ default:
1957
+ throw new Error(`Unhandled type: ${typeof input}`);
1958
+ }
1959
+ }
1960
+ return result2;
1961
+ };
1962
+ }
1963
+
1964
+ // dist/runtime/lists/slice.js
1965
+ var slice = (list2, start, end) => {
1966
+ return list2.slice(start, end);
1967
+ };
1968
+
1969
+ // dist/runtime/lists/last.js
1970
+ var last = (list2) => {
1971
+ return [...list2].pop();
1972
+ };
1973
+
1974
+ // dist/runtime/lists/reverse.js
1975
+ var reverse = (list2) => {
1976
+ return [...list2].reverse();
1977
+ };
1978
+
1979
+ // dist/runtime/lists/pop.js
1980
+ var pop = (list2) => {
1981
+ return list2.length > 0 ? [last(list2), slice(list2, 0, -1)] : void 0;
1982
+ };
1983
+
1984
+ // dist/runtime/lists/join.js
1985
+ function join(joinWith) {
1986
+ return (...tuple3) => {
1987
+ return tuple3.join(joinWith);
1988
+ };
1989
+ }
1990
+
1991
+ // dist/runtime/lists/shift.js
1992
+ var shift = (list2) => {
1993
+ return list2.length > 0 ? [list2[0], list2.slice(1)] : void 0;
1994
+ };
1995
+
1996
+ // dist/runtime/runtime-types/shape-helpers/addToken.js
1997
+ var addToken = (token, ...params) => `<<${token}${params.length > 0 ? `::${params.join("::")}` : ""}>>`;
1998
+
1999
+ // dist/runtime/runtime-types/shape-helpers/atomics.js
2000
+ var boolean = (literal2) => isDefined(literal2) ? isTrue(literal2) ? addToken("true") : isFalse(literal2) ? addToken("false") : addToken("boolean") : addToken("boolean");
2001
+ var unknown = () => "<<unknown>>";
2002
+ var undefinedType = () => "<<undefined>>";
2003
+ var nullType = () => "<<null>>";
2004
+
2005
+ // dist/runtime/runtime-types/shape-helpers/singletons.js
2006
+ var addSingleton = (token, api) => (...literals) => {
2007
+ return literals.length === 0 ? api ? api : addToken(token) : literals.length === 1 ? addToken(token, literals[0]) : addToken("union", literals.map((l) => addToken(token, `${l}`)).join(","));
2008
+ };
2009
+ var stringApi = {
2010
+ zip: () => addToken("string-set", "Zip5"),
2011
+ zipPlus4: () => addToken("string-set", "Zip5_4"),
2012
+ zipCode: () => addToken("string-set", "ZipCode"),
2013
+ militaryTime: (resolution) => {
2014
+ return addToken("string-set", "militaryTime", resolution || "HH:MM");
2015
+ },
2016
+ civilianTime: (resolution) => {
2017
+ return addToken("string-set", "militaryTime", resolution || "HH:MM");
2018
+ },
2019
+ numericString: () => addToken("string-set", "numeric"),
2020
+ ipv4Address: () => addToken("string-set", "ipv4Address"),
2021
+ ipv6Address: () => addToken("string-set", "ipv6Address"),
2022
+ done: () => addToken("string")
2023
+ };
2024
+ var string = addSingleton("string", stringApi);
2025
+ var number = addSingleton("number");
2026
+
2027
+ // dist/runtime/runtime-types/shape-helpers/functions.js
2028
+ var fn = (..._args) => ({
2029
+ returns: (_rtn) => ({
2030
+ addProperties: (_kv) => {
2031
+ return null;
2032
+ },
2033
+ done: () => {
2034
+ return null;
2035
+ }
2036
+ }),
2037
+ done: () => {
2038
+ const result2 = null;
2039
+ return result2;
2040
+ }
2041
+ });
2042
+
2043
+ // dist/runtime/runtime-types/shape-helpers/literal-containers.js
2044
+ var dictionary = (_obj) => {
2045
+ return null;
2046
+ };
2047
+ var tuple2 = (..._elements) => {
2048
+ return null;
2049
+ };
2050
+
2051
+ // dist/runtime/runtime-types/shape-helpers/wide-containers.js
2052
+ var record = (_key, _value) => {
2053
+ return null;
2054
+ };
2055
+ var array = (_type) => {
2056
+ return null;
2057
+ };
2058
+ var set = (_type) => {
2059
+ return null;
2060
+ };
2061
+ var map = (_key, _value) => {
2062
+ return null;
2063
+ };
2064
+ var weakMap = (_key, _value) => {
2065
+ return null;
2066
+ };
2067
+
2068
+ // dist/runtime/runtime-types/shape-helpers/union.js
2069
+ var union = (...elements) => {
2070
+ const result2 = elements.map((_el) => {
2071
+ });
2072
+ return result2;
2073
+ };
2074
+
2075
+ // dist/runtime/runtime-types/shape.js
2076
+ var isAddOrDone = (val) => {
2077
+ return isObject(val) && hasKeys("add", "done") && typeof val.done === "function" && typeof val.add === "function";
2078
+ };
2079
+ var ShapeApiImplementation = {
2080
+ string,
2081
+ number,
2082
+ boolean,
2083
+ unknown,
2084
+ undefined: undefinedType,
2085
+ null: nullType,
2086
+ union,
2087
+ fn,
2088
+ record,
2089
+ array,
2090
+ set,
2091
+ map,
2092
+ weakMap,
2093
+ dictionary,
2094
+ tuple: tuple2
2095
+ };
2096
+ var shape = (cb) => {
2097
+ const rtn = cb(ShapeApiImplementation);
2098
+ return handleDoneFn(isAddOrDone(rtn) ? rtn.done() : rtn);
2099
+ };
2100
+ var isShape = (v) => {
2101
+ return isString(v) && v.startsWith("<<") && v.endsWith(">>") && SHAPE_PREFIXES.some((i) => v.startsWith(`<<${i}`)) ? true : false;
2102
+ };
2103
+
2104
+ // dist/runtime/runtime-types/choices.js
2105
+ var choices = "NOT READY";
2106
+
2107
+ // dist/runtime/runtime-types/list.js
2108
+ var createProxy = (...initialize) => {
2109
+ const state = initialize;
2110
+ state.id = null;
2111
+ const proxy = new Proxy(state, {});
2112
+ Object.defineProperty(proxy, "id", {
2113
+ enumerable: false
2114
+ });
2115
+ return proxy;
2116
+ };
2117
+ var list = (...init) => {
2118
+ return init.length === 1 && isArray(init[0]) ? createProxy(...init[0]) : createProxy(...init);
2119
+ };
2120
+
2121
+ // dist/runtime/runtime-types/dict.js
2122
+ var process = (obj, _narrow, _opt) => {
2123
+ return Object.defineProperty(obj, "__id", { enumerable: false });
2124
+ };
2125
+ var dict = (obj, ...props) => process(obj, (props || []).filter((i) => !i.startsWith("opt:")), (props || []).filter((i) => i.startsWith("opt:")));
2126
+
2127
+ // dist/runtime/runtime-types/ip6Prefix.js
2128
+ var ip6Prefix = (...groups) => {
2129
+ const empty = addToken("string");
2130
+ let count = 4 - groups.length;
2131
+ let fillIn = [];
2132
+ for (let index = 0; index < count; index++) {
2133
+ fillIn.push(empty);
2134
+ }
2135
+ return [
2136
+ "<<string::",
2137
+ [
2138
+ groups.join(":"),
2139
+ fillIn.join(":")
2140
+ ].join(":"),
2141
+ ">>"
2142
+ ].join("");
2143
+ };
2144
+
2145
+ // dist/runtime/runtime-types/shape-helpers/getTokenName.js
2146
+ var getTokenName = (token) => {
2147
+ const [name, ..._rest] = stripLeading(token, "<<").split("::");
2148
+ return name;
2149
+ };
2150
+
2151
+ // dist/runtime/runtime-types/shape-helpers/getTokenData.js
2152
+ var getTokenData = (token) => {
2153
+ const [_name, ...rest] = stripTrailing(token, ">>").split("::");
2154
+ return rest;
2155
+ };
2156
+
2157
+ // dist/runtime/runtime-types/parse.js
2158
+ var handleTypeToken = (token) => () => {
2159
+ return {
2160
+ isToken: true,
2161
+ type: null,
2162
+ token,
2163
+ tokenName: getTokenName(token),
2164
+ tokenData: getTokenData(token)
2165
+ };
2166
+ };
2167
+ var parse = (value) => {
2168
+ return isShape(value) ? handleTypeToken(value)() : {
2169
+ isToken: false,
2170
+ type: value
2171
+ };
2172
+ };
2173
+
2174
+ // dist/runtime/sets/uniqueKeys.js
2175
+ var uniqueKeys = (left, right) => {
2176
+ const isNumeric = isArray(left) && isArray(right) ? true : false;
2177
+ if (isArray(left) && !isArray(right) || isArray(right) && !isArray(left)) {
2178
+ 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!");
2179
+ }
2180
+ const l = isNumeric ? Object.keys(left).map((i) => Number(i)) : Object.keys(left);
2181
+ const r = isNumeric ? Object.keys(right).map((i) => Number(i)) : Object.keys(right);
2182
+ if (isNumeric) {
2183
+ throw new Error("uniqueKeys does not yet work with tuples");
2184
+ }
2185
+ const leftKeys = l.filter((i) => !r.includes(i));
2186
+ const rightKeys = r.filter((i) => !l.includes(i));
2187
+ return [
2188
+ "LeftRight",
2189
+ leftKeys,
2190
+ rightKeys
2191
+ ];
2192
+ };
2193
+
2194
+ // dist/runtime/type-conversion/mergeObjects.js
2195
+ function mergeObjects(defVal, override) {
2196
+ const intersectingKeys = sharedKeys(defVal, override);
2197
+ const defUnique = withoutKeys(defVal, ...intersectingKeys);
2198
+ const overrideUnique = withoutKeys(defVal, ...intersectingKeys);
2199
+ const merged = {
2200
+ ...intersectingKeys.reduce((acc, key) => typeof override[key] === "undefined" ? { ...acc, [key]: defVal[key] } : { ...acc, [key]: override[key] }, {}),
2201
+ ...defUnique,
2202
+ ...overrideUnique
2203
+ };
2204
+ return merged;
2205
+ }
2206
+
2207
+ // dist/runtime/type-conversion/optional.js
2208
+ function optional(...values) {
2209
+ return values.length === 1 ? values[0] : values;
2210
+ }
2211
+
2212
+ // dist/runtime/type-conversion/mergeScalars.js
2213
+ function mergeScalars(a, b) {
2214
+ return isUndefined(b) ? a : b;
2215
+ }
2216
+
2217
+ // dist/runtime/type-conversion/mergeTuples.js
2218
+ function mergeTuples(a, b) {
2219
+ 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]);
2220
+ }
2221
+
2222
+ // dist/runtime/type-conversion/unionize.js
2223
+ function unionize(value, inUnionWith) {
2224
+ return value;
2225
+ }
2226
+
2227
+ // dist/runtime/type-conversion/intersect.js
2228
+ function intersect(value, intersectedWith) {
2229
+ return value;
2230
+ }
2231
+
2232
+ // dist/runtime/type-conversion/never.js
2233
+ function never(val) {
2234
+ return val;
2235
+ }
2236
+
2237
+ // dist/runtime/type-conversion/union.js
2238
+ var union2 = (...options) => (value) => value;
2239
+
2240
+ // dist/runtime/type-conversion/toNumber.js
2241
+ var convertScalar = (val) => {
2242
+ switch (typeof val) {
2243
+ case "number":
2244
+ return val;
2245
+ case "string":
2246
+ return Number(val);
2247
+ case "boolean":
2248
+ return val ? 1 : 0;
2249
+ default:
2250
+ throw Error(`${typeof val} is an invalid scalar type to convert to a number!`);
2251
+ }
2252
+ };
2253
+ var convertList = (val) => val.map((i) => convertScalar(i));
2254
+ function toNumber(value) {
2255
+ return Array.isArray(value) ? convertList(value) : convertScalar(value);
2256
+ }
2257
+
2258
+ // dist/runtime/type-conversion/asRecord.js
2259
+ var asRecord = (obj) => {
2260
+ return obj;
2261
+ };
2262
+
2263
+ // dist/runtime/type-conversion/asString.js
2264
+ var asString = (value) => {
2265
+ return isString(value) ? value : isNumber(value) ? `${value}` : isBoolean(value) ? `${value}` : String(value);
2266
+ };
2267
+
2268
+ // dist/runtime/vuejs/asVueRef.js
2269
+ var asVueRef = (value) => ({
2270
+ value,
2271
+ _value: null
2272
+ });
2273
+ // Annotate the CommonJS export names for ESM import in node:
2274
+ 0 && (module.exports = {
2275
+ ALPHA_CHARS,
2276
+ COMMA,
2277
+ COMMON_OBJ_PROPS,
2278
+ CONSONANTS,
2279
+ DEFAULT_MANY_TO_ONE_MAPPING,
2280
+ DEFAULT_ONE_TO_MANY_MAPPING,
2281
+ DEFAULT_ONE_TO_ONE_MAPPING,
2282
+ FALSY_TYPE_KINDS,
2283
+ FALSY_VALUES,
2284
+ FILTER,
2285
+ HASH_TABLE_ALPHA_LOWER,
2286
+ HASH_TABLE_ALPHA_UPPER,
2287
+ HASH_TABLE_CHAR,
2288
+ HASH_TABLE_DIGIT,
2289
+ HASH_TABLE_OTHER,
2290
+ HASH_TABLE_SPECIAL,
2291
+ HASH_TABLE_WIDE,
2292
+ IPv4,
2293
+ IPv6,
2294
+ LITERAL_TYPE_KINDS,
2295
+ LOWER_ALPHA_CHARS,
2296
+ MARKED,
2297
+ MONTH_ABBR,
2298
+ MONTH_NAME,
2299
+ MapCardinality,
2300
+ NARROW_CONTAINER_TYPE_KINDS,
2301
+ NON_ZERO_NUMERIC_CHAR,
2302
+ NOT_APPLICABLE,
2303
+ NOT_DEFINED,
2304
+ NO_DEFAULT_VALUE,
2305
+ NUMERIC_CHAR,
2306
+ NUMERIC_DIGIT,
2307
+ Never,
2308
+ OPTION,
2309
+ PLURAL_EXCEPTIONS,
2310
+ PLURAL_EXCEPTIONS_OLD,
2311
+ RESULT,
2312
+ SHAPE_DELIMITER,
2313
+ SHAPE_PREFIXES,
2314
+ SINGULAR_NOUN_ENDINGS,
2315
+ ShapeApiImplementation,
2316
+ TT_Atomics,
2317
+ TT_Containers,
2318
+ TT_Functions,
2319
+ TT_SEP,
2320
+ TT_START,
2321
+ TT_STOP,
2322
+ TT_Sets,
2323
+ TT_Singletons,
2324
+ TYPE_COMPARISONS,
2325
+ TYPE_KINDS,
2326
+ TYPE_OF,
2327
+ TYPE_TOKEN_ALL,
2328
+ TYPE_TOKEN_IDENTITIES,
2329
+ TYPE_TOKEN_PARAM_CSV,
2330
+ TYPE_TOKEN_PARAM_DATE,
2331
+ TYPE_TOKEN_PARAM_DATETIME,
2332
+ TYPE_TOKEN_PARAM_STR,
2333
+ TYPE_TOKEN_PARAM_TIME,
2334
+ TYPE_TRANSFORMS,
2335
+ UPPER_ALPHA_CHARS,
2336
+ US_STATE_LOOKUP,
2337
+ US_STATE_LOOKUP_PROVINCES,
2338
+ US_STATE_LOOKUP_STRICT,
2339
+ WIDE_CONTAINER_TYPE_KINDS,
2340
+ WIDE_TYPE_KINDS,
2341
+ WideAssignment,
2342
+ ZIP_TO_STATE,
2343
+ addFnToProps,
2344
+ addPropsToFn,
2345
+ and,
2346
+ asArray,
2347
+ asRecord,
2348
+ asString,
2349
+ asVueRef,
2350
+ box,
2351
+ boxDictionaryValues,
2352
+ capitalize,
2353
+ choices,
2354
+ createConstant,
2355
+ createConverter,
2356
+ createErrorCondition,
2357
+ createFnWithProps,
2358
+ defineObj,
2359
+ defineTuple,
2360
+ dict,
2361
+ endsWith,
2362
+ ensureLeading,
2363
+ ensureSurround,
2364
+ ensureTrailing,
2365
+ entries,
2366
+ find,
2367
+ fnMeta,
2368
+ get,
2369
+ getEach,
2370
+ handleDoneFn,
2371
+ hasDefaultValue,
2372
+ hasIndexOf,
2373
+ hasKeys,
2374
+ idLiteral,
2375
+ idTypeGuard,
2376
+ identity,
2377
+ ifArray,
2378
+ ifArrayPartial,
2379
+ ifBoolean,
2380
+ ifChar,
2381
+ ifContainer,
2382
+ ifDefined,
2383
+ ifFalse,
2384
+ ifFunction,
2385
+ ifHasKey,
2386
+ ifLength,
2387
+ ifLowercaseChar,
2388
+ ifNotNull,
2389
+ ifNull,
2390
+ ifNumber,
2391
+ ifObject,
2392
+ ifSameType,
2393
+ ifScalar,
2394
+ ifString,
2395
+ ifTrue,
2396
+ ifUndefined,
2397
+ ifUppercaseChar,
2398
+ indexOf,
2399
+ intersect,
2400
+ intersection,
2401
+ ip6Prefix,
2402
+ isArray,
2403
+ isBoolean,
2404
+ isBox,
2405
+ isConstant,
2406
+ isContainer,
2407
+ isDefined,
2408
+ isDoneFn,
2409
+ isEqual,
2410
+ isErrorCondition,
2411
+ isFalse,
2412
+ isFalsy,
2413
+ isFnWithParams,
2414
+ isFunction,
2415
+ isIndexable,
2416
+ isLength,
2417
+ isNever,
2418
+ isNotNull,
2419
+ isNothing,
2420
+ isNull,
2421
+ isNumber,
2422
+ isNumericString,
2423
+ isObject,
2424
+ isReadonlyArray,
2425
+ isRef,
2426
+ isSameTypeOf,
2427
+ isScalar,
2428
+ isShape,
2429
+ isSpecificConstant,
2430
+ isString,
2431
+ isSymbol,
2432
+ isTrue,
2433
+ isTruthy,
2434
+ isTuple,
2435
+ isTypeOf,
2436
+ isTypeToken,
2437
+ isTypeTuple,
2438
+ isUndefined,
2439
+ join,
2440
+ keysOf,
2441
+ kindError,
2442
+ kindLiteral,
2443
+ last,
2444
+ list,
2445
+ literal,
2446
+ logicalReturns,
2447
+ lowercase,
2448
+ mergeObjects,
2449
+ mergeScalars,
2450
+ mergeTuples,
2451
+ nameLiteral,
2452
+ narrow,
2453
+ never,
2454
+ omit,
2455
+ optional,
2456
+ or,
2457
+ parse,
2458
+ pathJoin,
2459
+ pluralize,
2460
+ pop,
2461
+ result,
2462
+ retain,
2463
+ retainAfter,
2464
+ reverse,
2465
+ shape,
2466
+ sharedKeys,
2467
+ shift,
2468
+ slice,
2469
+ split,
2470
+ startsWith,
2471
+ stripAfter,
2472
+ stripBefore,
2473
+ stripLeading,
2474
+ stripTrailing,
2475
+ surround,
2476
+ takeProp,
2477
+ toCamelCase,
2478
+ toKebabCase,
2479
+ toNumber,
2480
+ toNumericArray,
2481
+ toPascalCase,
2482
+ toSnakeCase,
2483
+ toString,
2484
+ toUppercase,
2485
+ trim,
2486
+ trimEnd,
2487
+ trimLeft,
2488
+ trimRight,
2489
+ trimStart,
2490
+ truncate,
2491
+ tuple,
2492
+ unbox,
2493
+ uncapitalize,
2494
+ union,
2495
+ unionize,
2496
+ unique,
2497
+ uniqueKeys,
2498
+ uppercase,
2499
+ valuesOf,
2500
+ widen,
2501
+ withDefaults,
2502
+ withKeys,
2503
+ withoutKeys,
2504
+ withoutValue
2505
+ });