exisjs 0.7.12 → 0.7.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/README.md +195 -39
  2. package/dist/config/types.d.ts +2 -2
  3. package/dist/config/types.d.ts.map +1 -1
  4. package/dist/decorators/params.d.ts +21 -0
  5. package/dist/decorators/params.d.ts.map +1 -1
  6. package/dist/decorators/params.js +21 -1
  7. package/dist/decorators/params.js.map +1 -1
  8. package/dist/di/container.d.ts +15 -6
  9. package/dist/di/container.d.ts.map +1 -1
  10. package/dist/di/container.js +26 -3
  11. package/dist/di/container.js.map +1 -1
  12. package/dist/di/index.d.ts +1 -1
  13. package/dist/di/index.d.ts.map +1 -1
  14. package/dist/di/index.js.map +1 -1
  15. package/dist/di/inject.d.ts +2 -1
  16. package/dist/di/inject.d.ts.map +1 -1
  17. package/dist/di/inject.js +2 -1
  18. package/dist/di/inject.js.map +1 -1
  19. package/dist/docs/BENCHMARKS.md +4 -4
  20. package/dist/docs/content/README.md +43 -44
  21. package/dist/docs/content/boundaries.mdx +138 -61
  22. package/dist/docs/content/cli/commands.mdx +151 -128
  23. package/dist/docs/content/cli/overview.mdx +61 -47
  24. package/dist/docs/content/cli/usage.mdx +107 -30
  25. package/dist/docs/content/config.mdx +145 -158
  26. package/dist/docs/content/controllers.mdx +193 -464
  27. package/dist/docs/content/cron.mdx +183 -69
  28. package/dist/docs/content/decorators.mdx +449 -154
  29. package/dist/docs/content/errors.mdx +202 -305
  30. package/dist/docs/content/exisjs-mcp.mdx +59 -49
  31. package/dist/docs/content/installation.mdx +243 -157
  32. package/dist/docs/content/introduction.mdx +220 -48
  33. package/dist/docs/content/middleware.mdx +171 -497
  34. package/dist/docs/content/modules.mdx +141 -83
  35. package/dist/docs/content/providers.mdx +216 -180
  36. package/dist/docs/content/requests.mdx +168 -488
  37. package/dist/docs/content/responses.mdx +200 -533
  38. package/dist/docs/content/routing.mdx +235 -598
  39. package/dist/docs/content/security.mdx +233 -57
  40. package/dist/docs/content/structure.mdx +151 -240
  41. package/dist/docs/content/swagger.mdx +192 -91
  42. package/dist/docs/content/testing.mdx +205 -74
  43. package/dist/docs/content/validation.mdx +479 -341
  44. package/dist/docs/reference/README.md +34 -2
  45. package/dist/docs/reference/config.mdx +277 -75
  46. package/dist/docs/reference/context.mdx +197 -106
  47. package/dist/docs/reference/cron.mdx +266 -152
  48. package/dist/docs/reference/database.mdx +135 -53
  49. package/dist/docs/reference/decorators.mdx +234 -116
  50. package/dist/docs/reference/di.mdx +146 -112
  51. package/dist/docs/reference/error.mdx +155 -178
  52. package/dist/docs/reference/exis.mdx +141 -70
  53. package/dist/docs/reference/logger.mdx +110 -126
  54. package/dist/docs/reference/middleware.mdx +235 -158
  55. package/dist/docs/reference/plugin.mdx +136 -64
  56. package/dist/docs/reference/router.mdx +275 -293
  57. package/dist/docs/reference/sanitize.mdx +91 -87
  58. package/dist/docs/reference/swagger.mdx +280 -100
  59. package/dist/docs/reference/testing.mdx +223 -89
  60. package/dist/docs/reference/validator.mdx +194 -206
  61. package/dist/lib/start-server.js +3 -8
  62. package/dist/lib/start-server.js.map +1 -1
  63. package/dist/module/module.d.ts +6 -3
  64. package/dist/module/module.d.ts.map +1 -1
  65. package/dist/module/module.js +17 -3
  66. package/dist/module/module.js.map +1 -1
  67. package/dist/router/controller-registrar.d.ts.map +1 -1
  68. package/dist/router/controller-registrar.js +26 -4
  69. package/dist/router/controller-registrar.js.map +1 -1
  70. package/dist/server/app.d.ts +3 -1
  71. package/dist/server/app.d.ts.map +1 -1
  72. package/dist/server/app.js +24 -8
  73. package/dist/server/app.js.map +1 -1
  74. package/dist/server/request.d.ts +2 -0
  75. package/dist/server/request.d.ts.map +1 -1
  76. package/dist/server/request.js +11 -0
  77. package/dist/server/request.js.map +1 -1
  78. package/dist/swagger/generator.d.ts.map +1 -1
  79. package/dist/swagger/generator.js +130 -10
  80. package/dist/swagger/generator.js.map +1 -1
  81. package/dist/telemetry/index.d.ts +12 -0
  82. package/dist/telemetry/index.d.ts.map +1 -0
  83. package/dist/telemetry/index.js +121 -0
  84. package/dist/telemetry/index.js.map +1 -0
  85. package/dist/testing/client.d.ts +1 -0
  86. package/dist/testing/client.d.ts.map +1 -1
  87. package/dist/testing/client.js +4 -1
  88. package/dist/testing/client.js.map +1 -1
  89. package/dist/testing/index.d.ts.map +1 -1
  90. package/dist/testing/index.js +11 -4
  91. package/dist/testing/index.js.map +1 -1
  92. package/dist/validator/builder.d.ts +26 -1
  93. package/dist/validator/builder.d.ts.map +1 -1
  94. package/dist/validator/builder.js +31 -0
  95. package/dist/validator/builder.js.map +1 -1
  96. package/dist/validator/engine.d.ts +23 -0
  97. package/dist/validator/engine.d.ts.map +1 -1
  98. package/dist/validator/engine.js +228 -31
  99. package/dist/validator/engine.js.map +1 -1
  100. package/dist/validator/index.d.ts +8 -4
  101. package/dist/validator/index.d.ts.map +1 -1
  102. package/dist/validator/index.js +4 -1
  103. package/dist/validator/index.js.map +1 -1
  104. package/dist/validator/tex-types.d.ts +15 -0
  105. package/dist/validator/tex-types.d.ts.map +1 -1
  106. package/dist/validator/tex-types.js +102 -0
  107. package/dist/validator/tex-types.js.map +1 -1
  108. package/dist/validator/tex.d.ts +1 -1
  109. package/dist/validator/tex.d.ts.map +1 -1
  110. package/dist/validator/tex.js +3 -1
  111. package/dist/validator/tex.js.map +1 -1
  112. package/dist/validator/types.d.ts +1 -0
  113. package/dist/validator/types.d.ts.map +1 -1
  114. package/package.json +46 -14
  115. package/dist/docs/content/dataloader.mdx +0 -170
  116. package/dist/docs/reference/dataloader.mdx +0 -91
@@ -26,6 +26,8 @@ class TexBuilder {
26
26
  base += ' | nullable';
27
27
  if (opts?.nullish)
28
28
  base += ' | nullish';
29
+ if (opts?.coerce)
30
+ base += ' | coerce';
29
31
  if (opts?.min !== undefined)
30
32
  base += ` | min:${opts.min}`;
31
33
  if (opts?.max !== undefined)
@@ -382,6 +384,35 @@ class TexBuilder {
382
384
  base += ` | mimeTypes:${opts.mimeTypes.join(',')}`;
383
385
  return new tex_types_1.TexType(base);
384
386
  }
387
+ /**
388
+ * Defines a discriminated union schema matching one of multiple object variants by a discriminator property.
389
+ *
390
+ * @param discriminator Property name identifying the variant (e.g. `'type'` or `'kind'`)
391
+ * @param variants Array of candidate TexEngine or object schemas
392
+ * @returns Strongly typed `TexDiscriminatedUnionEngine`
393
+ *
394
+ * @example
395
+ * ```ts
396
+ * const ActionSchema = tex.discriminatedUnion('type', [
397
+ * tex.object({ type: tex.literal('create'), name: tex.string() }),
398
+ * tex.object({ type: tex.literal('delete'), id: tex.number() })
399
+ * ])
400
+ * ```
401
+ */
402
+ discriminatedUnion(discriminator, variants) {
403
+ return new engine_1.TexDiscriminatedUnionEngine(discriminator, variants);
404
+ }
405
+ /**
406
+ * Coercion primitives namespace for query parameters, headers, and form-data.
407
+ */
408
+ get coerce() {
409
+ return {
410
+ number: (opts) => this.number({ ...opts, coerce: true }),
411
+ boolean: (opts) => this.boolean({ ...opts, coerce: true }),
412
+ date: (opts) => this.date({ ...opts, coerce: true }),
413
+ string: (opts) => this.string({ ...opts, coerce: true }),
414
+ };
415
+ }
385
416
  /**
386
417
  * Compiles an object structure into a fast `TexEngine` validator instance.
387
418
  *
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/validator/builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/validator/builder.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { type ResolveSchema } from './tex-types';
1
2
  export declare class TexEngine<T = any> {
2
3
  private schema;
3
4
  private rawSchema;
@@ -9,6 +10,9 @@ export declare class TexEngine<T = any> {
9
10
  getCompiledSchema(): Record<string, string>;
10
11
  optional(): TexEngine<T | undefined>;
11
12
  partial(): TexEngine<Partial<T>>;
13
+ extend<E extends Record<string, any>>(extension: E): TexEngine<T & ResolveSchema<E>>;
14
+ merge<Other>(other: TexEngine<Other>): TexEngine<T & Other>;
15
+ transform<Out>(fn: (val: T) => Out): TexTransformedEngine<T, Out>;
12
16
  pick<K extends keyof T>(keys: K[]): TexEngine<Pick<T, K>>;
13
17
  omit<K extends keyof T>(keys: K[]): TexEngine<Omit<T, K>>;
14
18
  parse(data: any): T;
@@ -16,4 +20,23 @@ export declare class TexEngine<T = any> {
16
20
  toMongoSchema(): Record<string, any>;
17
21
  toOpenApi(): Record<string, any>;
18
22
  }
23
+ export declare class TexTransformedEngine<In, Out> {
24
+ readonly inner: TexEngine<In>;
25
+ readonly transformFn: (val: In) => Out;
26
+ readonly _type: Out;
27
+ constructor(inner: TexEngine<In>, transformFn: (val: In) => Out);
28
+ parse(data: any): Out;
29
+ parseAsync(data: any): Promise<Out>;
30
+ toOpenApi(): Record<string, any>;
31
+ }
32
+ export declare class TexDiscriminatedUnionEngine<Discriminator extends string, Variants extends (TexEngine<any> | Record<string, any>)[]> {
33
+ readonly discriminator: Discriminator;
34
+ readonly variants: Variants;
35
+ readonly _type: Variants[number]['_type'];
36
+ private engines;
37
+ constructor(discriminator: Discriminator, variants: Variants);
38
+ parse(data: any): Variants[number]['_type'];
39
+ parseAsync(data: any): Promise<Variants[number]['_type']>;
40
+ toOpenApi(): Record<string, any>;
41
+ }
19
42
  //# sourceMappingURL=engine.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/validator/engine.ts"],"names":[],"mappings":"AAKA,qBAAa,SAAS,CAAC,CAAC,GAAG,GAAG;IAC5B,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,MAAM,CAAS;IAEvB,SAAgB,KAAK,EAAG,CAAC,CAAA;IAClB,WAAW,UAAQ;gBAGxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9B,MAAM,UAAQ,EACd,UAAU,UAAQ;IASpB,iBAAiB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAI3C,QAAQ,IAAI,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC;IAIpC,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAmBhC,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAiBzD,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAiBzD,KAAK,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC;IAqcb,UAAU,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;IA0CvC,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAgCpC,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAwCjC"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/validator/engine.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TexEngine = void 0;
3
+ exports.TexDiscriminatedUnionEngine = exports.TexTransformedEngine = exports.TexEngine = void 0;
4
4
  const rs_1 = require("@exisjs/rs");
5
5
  const tex_types_1 = require("./tex-types");
6
6
  const error_1 = require("./error");
@@ -39,6 +39,33 @@ class TexEngine {
39
39
  }
40
40
  return new TexEngine(newSchema, newRaw, this.strict, this._isOptional);
41
41
  }
42
+ extend(extension) {
43
+ const newSchema = { ...this.schema };
44
+ const newRaw = { ...this.rawSchema };
45
+ for (const [key, val] of Object.entries(extension)) {
46
+ if (val instanceof TexEngine) {
47
+ newSchema[key] = `object<${JSON.stringify(val.getCompiledSchema())}>`;
48
+ newRaw[key] = val;
49
+ }
50
+ else if (val instanceof tex_types_1.TexType) {
51
+ newSchema[key] = val._raw;
52
+ newRaw[key] = val;
53
+ }
54
+ else {
55
+ newSchema[key] = val;
56
+ newRaw[key] = val;
57
+ }
58
+ }
59
+ return new TexEngine(newSchema, newRaw, this.strict, this._isOptional);
60
+ }
61
+ merge(other) {
62
+ const newSchema = { ...this.schema, ...other.getCompiledSchema() };
63
+ const newRaw = { ...this.rawSchema, ...other.rawSchema };
64
+ return new TexEngine(newSchema, newRaw, this.strict, this._isOptional);
65
+ }
66
+ transform(fn) {
67
+ return new TexTransformedEngine(this, fn);
68
+ }
42
69
  pick(keys) {
43
70
  const newSchema = {};
44
71
  const newRaw = {};
@@ -173,6 +200,11 @@ class TexEngine {
173
200
  }
174
201
  }
175
202
  }
203
+ if (val instanceof tex_types_1.TexType && val._raw.startsWith('string')) {
204
+ if (val._raw.includes('coerce') && typeof data[key] !== 'string') {
205
+ data[key] = String(data[key]);
206
+ }
207
+ }
176
208
  if (val instanceof tex_types_1.TexType && val._raw.startsWith('number')) {
177
209
  if (val._raw.includes('coerce') || this._isQueryOrParam) {
178
210
  if (typeof data[key] === 'string' && data[key].trim() !== '') {
@@ -495,10 +527,22 @@ class TexEngine {
495
527
  }
496
528
  if (errors.length > 0)
497
529
  throw new error_1.ValidatorError(errors);
530
+ // 4. Post-validation field transformations
531
+ if (parsedData && typeof parsedData === 'object') {
532
+ for (const [key, val] of Object.entries(this.rawSchema)) {
533
+ if (parsedData[key] !== undefined) {
534
+ if (val instanceof tex_types_1.TexType && val.transformations.length > 0) {
535
+ for (const t of val.transformations) {
536
+ parsedData[key] = t(parsedData[key]);
537
+ }
538
+ }
539
+ }
540
+ }
541
+ }
498
542
  return parsedData;
499
543
  }
500
544
  async parseAsync(data) {
501
- const parsed = this.parse(data); // Handles sync sanitizers + rust + sync refine
545
+ const parsed = this.parse(data); // Handles sync sanitizers + rust + sync refine + transformations
502
546
  const errors = [];
503
547
  if (parsed && typeof parsed === 'object') {
504
548
  await Promise.all(Object.entries(this.rawSchema).map(async ([key, val]) => {
@@ -566,38 +610,49 @@ class TexEngine {
566
610
  toOpenApi() {
567
611
  const properties = {};
568
612
  const required = [];
569
- for (const [key, rawDef] of Object.entries(this.schema)) {
613
+ for (const [key, rawVal] of Object.entries(this.rawSchema)) {
614
+ const rawDef = this.schema[key] || '';
570
615
  const typeStr = rawDef.split('|')[0].trim();
571
- const isOptional = typeStr.endsWith('?');
572
- const baseType = typeStr.replace('?', '');
573
- const prop = {};
574
- if (baseType.startsWith('string') ||
575
- baseType.startsWith('uuid') ||
576
- baseType.startsWith('cuid') ||
577
- baseType.startsWith('password')) {
578
- prop.type = 'string';
579
- }
580
- else if (baseType.startsWith('email')) {
581
- prop.type = 'string';
582
- prop.format = 'email';
583
- }
584
- else if (baseType.startsWith('number')) {
585
- prop.type = 'number';
586
- }
587
- else if (baseType.startsWith('boolean')) {
588
- prop.type = 'boolean';
589
- }
590
- else if (baseType.startsWith('date')) {
591
- prop.type = 'string';
592
- }
593
- else if (baseType.startsWith('array<')) {
594
- prop.type = 'array';
595
- }
596
- else if (baseType.startsWith('enum:')) {
597
- prop.type = 'string';
616
+ const isOptional = typeStr.endsWith('?') ||
617
+ rawDef.includes('optional') ||
618
+ rawVal?._isOptional;
619
+ let prop;
620
+ if (rawVal && typeof rawVal.toOpenApi === 'function') {
621
+ prop = rawVal.toOpenApi();
598
622
  }
599
623
  else {
600
- prop.type = 'object';
624
+ const baseType = typeStr.replace('?', '');
625
+ prop = {};
626
+ if (baseType.startsWith('string') ||
627
+ baseType.startsWith('uuid') ||
628
+ baseType.startsWith('cuid') ||
629
+ baseType.startsWith('password')) {
630
+ prop.type = 'string';
631
+ }
632
+ else if (baseType.startsWith('email')) {
633
+ prop.type = 'string';
634
+ prop.format = 'email';
635
+ }
636
+ else if (baseType.startsWith('number')) {
637
+ prop.type = 'number';
638
+ }
639
+ else if (baseType.startsWith('boolean')) {
640
+ prop.type = 'boolean';
641
+ }
642
+ else if (baseType.startsWith('date')) {
643
+ prop.type = 'string';
644
+ prop.format = 'date-time';
645
+ }
646
+ else if (baseType.startsWith('array<')) {
647
+ prop.type = 'array';
648
+ }
649
+ else if (baseType.startsWith('enum:')) {
650
+ prop.type = 'string';
651
+ prop.enum = baseType.replace('enum:', '').split(',');
652
+ }
653
+ else {
654
+ prop.type = 'object';
655
+ }
601
656
  }
602
657
  properties[key] = prop;
603
658
  if (!isOptional)
@@ -610,4 +665,146 @@ class TexEngine {
610
665
  }
611
666
  }
612
667
  exports.TexEngine = TexEngine;
668
+ class TexTransformedEngine {
669
+ constructor(inner, transformFn) {
670
+ this.inner = inner;
671
+ this.transformFn = transformFn;
672
+ }
673
+ parse(data) {
674
+ const validated = this.inner.parse(data);
675
+ return this.transformFn(validated);
676
+ }
677
+ async parseAsync(data) {
678
+ const validated = await this.inner.parseAsync(data);
679
+ return this.transformFn(validated);
680
+ }
681
+ toOpenApi() {
682
+ return this.inner.toOpenApi();
683
+ }
684
+ }
685
+ exports.TexTransformedEngine = TexTransformedEngine;
686
+ class TexDiscriminatedUnionEngine {
687
+ constructor(discriminator, variants) {
688
+ this.discriminator = discriminator;
689
+ this.variants = variants;
690
+ this.engines = variants.map((v) => v instanceof TexEngine
691
+ ? v
692
+ : new TexEngine(Object.fromEntries(Object.entries(v).map(([k, val]) => [
693
+ k,
694
+ val instanceof tex_types_1.TexType ? val._raw : String(val),
695
+ ])), v));
696
+ }
697
+ parse(data) {
698
+ if (!data || typeof data !== 'object') {
699
+ throw new error_1.ValidatorError([
700
+ {
701
+ path: '',
702
+ message: 'Expected an object for discriminated union payload',
703
+ expected: 'object',
704
+ received: (0, error_1.formatReceivedValue)(data),
705
+ code: 'INVALID_TYPE',
706
+ },
707
+ ]);
708
+ }
709
+ const tagValue = data[this.discriminator];
710
+ if (tagValue === undefined) {
711
+ throw new error_1.ValidatorError([
712
+ {
713
+ path: this.discriminator,
714
+ message: `Missing discriminator field '${this.discriminator}'`,
715
+ expected: 'string | number',
716
+ received: 'undefined',
717
+ code: 'MISSING_DISCRIMINATOR',
718
+ },
719
+ ]);
720
+ }
721
+ for (const engine of this.engines) {
722
+ const rawField = engine.rawSchema?.[this.discriminator];
723
+ let matches = false;
724
+ if (rawField instanceof tex_types_1.TexType) {
725
+ if (rawField._raw.startsWith('literal:')) {
726
+ const literalVal = rawField._raw
727
+ .replace('literal:', '')
728
+ .split('|')[0]
729
+ .trim();
730
+ if (String(tagValue) === literalVal)
731
+ matches = true;
732
+ }
733
+ else if (rawField._raw.startsWith('enum:')) {
734
+ const allowed = rawField._raw
735
+ .replace('enum:', '')
736
+ .split('|')[0]
737
+ .trim()
738
+ .split(',');
739
+ if (allowed.includes(String(tagValue)))
740
+ matches = true;
741
+ }
742
+ }
743
+ else if (typeof rawField === 'string' &&
744
+ rawField.startsWith('literal:')) {
745
+ const literalVal = rawField.replace('literal:', '').split('|')[0].trim();
746
+ if (String(tagValue) === literalVal)
747
+ matches = true;
748
+ }
749
+ if (matches) {
750
+ return engine.parse(data);
751
+ }
752
+ }
753
+ throw new error_1.ValidatorError([
754
+ {
755
+ path: this.discriminator,
756
+ message: `Invalid discriminator value '${tagValue}' for field '${this.discriminator}'`,
757
+ expected: 'one of matching variant discriminators',
758
+ received: (0, error_1.formatReceivedValue)(tagValue),
759
+ code: 'INVALID_DISCRIMINATOR_VALUE',
760
+ },
761
+ ]);
762
+ }
763
+ async parseAsync(data) {
764
+ if (!data || typeof data !== 'object') {
765
+ return this.parse(data);
766
+ }
767
+ const tagValue = data[this.discriminator];
768
+ if (tagValue === undefined) {
769
+ return this.parse(data);
770
+ }
771
+ for (const engine of this.engines) {
772
+ const rawField = engine.rawSchema?.[this.discriminator];
773
+ let matches = false;
774
+ if (rawField instanceof tex_types_1.TexType) {
775
+ if (rawField._raw.startsWith('literal:')) {
776
+ const literalVal = rawField._raw
777
+ .replace('literal:', '')
778
+ .split('|')[0]
779
+ .trim();
780
+ if (String(tagValue) === literalVal)
781
+ matches = true;
782
+ }
783
+ else if (rawField._raw.startsWith('enum:')) {
784
+ const allowed = rawField._raw
785
+ .replace('enum:', '')
786
+ .split('|')[0]
787
+ .trim()
788
+ .split(',');
789
+ if (allowed.includes(String(tagValue)))
790
+ matches = true;
791
+ }
792
+ }
793
+ if (matches) {
794
+ return engine.parseAsync(data);
795
+ }
796
+ }
797
+ return this.parse(data);
798
+ }
799
+ toOpenApi() {
800
+ const oneOf = this.engines.map((e) => e.toOpenApi());
801
+ return {
802
+ oneOf,
803
+ discriminator: {
804
+ propertyName: this.discriminator,
805
+ },
806
+ };
807
+ }
808
+ }
809
+ exports.TexDiscriminatedUnionEngine = TexDiscriminatedUnionEngine;
613
810
  //# sourceMappingURL=engine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/validator/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/validator/engine.ts"],"names":[],"mappings":";;;AAAA,mCAAyC;AACzC,2CAAyD;AACzD,mCAA6E;AAG7E,MAAa,SAAS;IASpB,YACE,MAA8B,EAC9B,SAA8B,EAC9B,MAAM,GAAG,KAAK,EACd,UAAU,GAAG,KAAK;QANb,gBAAW,GAAG,KAAK,CAAA;QAQxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,WAAW,GAAG,UAAU,CAAA;QAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,iBAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACnD,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAQ,CAAA;IAC7E,CAAC;IAED,OAAO;QACL,MAAM,SAAS,GAA2B,EAAE,CAAA;QAC5C,MAAM,MAAM,GAAwB,EAAE,CAAA;QACtC,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACrD,SAAS,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAA;YACpD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;YAClC,IAAI,MAAM,YAAY,mBAAO,EAAE,CAAC;gBAC9B,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,mBAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;gBACzC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAA;gBAC1C,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAA;YAC9C,CAAC;iBAAM,IAAI,MAAM,YAAY,SAAS,EAAE,CAAC;gBACvC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAA;YACjC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAA;YAC9B,CAAC;QACH,CAAC;QACD,OAAO,IAAI,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;IACxE,CAAC;IAED,MAAM,CACJ,SAAY;QAEZ,MAAM,SAAS,GAA2B,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;QAC5D,MAAM,MAAM,GAAwB,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QACzD,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACnD,IAAI,GAAG,YAAY,SAAS,EAAE,CAAC;gBAC7B,SAAS,CAAC,GAAG,CAAC,GAAG,UAAU,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,GAAG,CAAA;gBACrE,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAA;YACnB,CAAC;iBAAM,IAAI,GAAG,YAAY,mBAAO,EAAE,CAAC;gBAClC,SAAS,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,CAAA;gBACzB,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAA;YACnB,CAAC;iBAAM,CAAC;gBACN,SAAS,CAAC,GAAG,CAAC,GAAG,GAAa,CAAA;gBAC9B,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAA;YACnB,CAAC;QACH,CAAC;QACD,OAAO,IAAI,SAAS,CAClB,SAAS,EACT,MAAM,EACN,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,WAAW,CACV,CAAA;IACV,CAAC;IAED,KAAK,CAAQ,KAAuB;QAClC,MAAM,SAAS,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,iBAAiB,EAAE,EAAE,CAAA;QAClE,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,GAAI,KAAa,CAAC,SAAS,EAAE,CAAA;QACjE,OAAO,IAAI,SAAS,CAClB,SAAS,EACT,MAAM,EACN,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,WAAW,CACV,CAAA;IACV,CAAC;IAED,SAAS,CAAM,EAAmB;QAChC,OAAO,IAAI,oBAAoB,CAAS,IAAI,EAAE,EAAE,CAAC,CAAA;IACnD,CAAC;IAED,IAAI,CAAoB,IAAS;QAC/B,MAAM,SAAS,GAA2B,EAAE,CAAA;QAC5C,MAAM,MAAM,GAAwB,EAAE,CAAA;QACtC,KAAK,MAAM,GAAG,IAAI,IAAgB,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBACjC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;YACnC,CAAC;QACH,CAAC;QACD,OAAO,IAAI,SAAS,CAClB,SAAS,EACT,MAAM,EACN,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,WAAW,CACV,CAAA;IACV,CAAC;IAED,IAAI,CAAoB,IAAS;QAC/B,MAAM,SAAS,GAA2B,EAAE,CAAA;QAC5C,MAAM,MAAM,GAAwB,EAAE,CAAA;QACtC,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAU,CAAC,EAAE,CAAC;gBAC/B,SAAS,CAAC,GAAG,CAAC,GAAG,GAAG,CAAA;gBACpB,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;YACnC,CAAC;QACH,CAAC;QACD,OAAO,IAAI,SAAS,CAClB,SAAS,EACT,MAAM,EACN,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,WAAW,CACV,CAAA;IACV,CAAC;IAED,KAAK,CAAC,IAAS;QACb,6FAA6F;QAC7F,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrC,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBACxD,+EAA+E;gBAC/E,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;oBAC5B,IAAI,GAAG,YAAY,mBAAO,IAAI,GAAG,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;wBAC7D,IAAI,CAAC,GAAG,CAAC;4BACP,OAAO,GAAG,CAAC,YAAY,KAAK,UAAU;gCACpC,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE;gCACpB,CAAC,CAAC,GAAG,CAAC,YAAY,CAAA;oBACxB,CAAC;gBACH,CAAC;gBAED,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;oBAC7D,MAAM,GAAG,GAAG,GAAG,YAAY,mBAAO,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;oBAC3D,IACE,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC;wBACxB,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC;wBACxB,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC;wBACvB,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;wBAChB,GAAW,EAAE,WAAW,EACzB,CAAC;wBACD,IACE,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC;4BACxB,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC;4BACzB,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EACxB,CAAC;4BACD,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;wBAClB,CAAC;6BAAM,CAAC;4BACN,OAAO,IAAI,CAAC,GAAG,CAAC,CAAA;4BAChB,mDAAmD;4BACnD,IAAI,GAAG,YAAY,mBAAO,IAAI,GAAG,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;gCAC7D,IAAI,CAAC,GAAG,CAAC;oCACP,OAAO,GAAG,CAAC,YAAY,KAAK,UAAU;wCACpC,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE;wCACpB,CAAC,CAAC,GAAG,CAAC,YAAY,CAAA;4BACxB,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;oBAClD,IAAI,GAAG,YAAY,mBAAO,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC1D,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;4BAChC,IACE,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,QAAQ;gCAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,QAAQ,EAC7B,CAAC;gCACD,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;gCAC7B,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;oCACvB,MAAM,IAAI,sBAAc,CAAC;wCACvB;4CACE,IAAI,EAAE,GAAG;4CACT,OAAO,EAAE,sBAAsB;4CAC/B,QAAQ,EAAE,gCAAgC;4CAC1C,QAAQ,EAAE,IAAA,2BAAmB,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC;4CACxC,IAAI,EAAE,cAAc;yCACrB;qCACF,CAAC,CAAA;gCACJ,CAAC;gCACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;4BACf,CAAC;wBACH,CAAC;wBACD,IACE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC;4BAC5B,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,QAAQ;4BAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,QAAQ,EAC7B,CAAC;4BACD,MAAM,IAAI,sBAAc,CAAC;gCACvB;oCACE,IAAI,EAAE,GAAG;oCACT,OAAO,EAAE,sBAAsB;oCAC/B,QAAQ,EAAE,2BAA2B;oCACrC,QAAQ,EAAE,IAAA,2BAAmB,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oCACxC,IAAI,EAAE,cAAc;iCACrB;6BACF,CAAC,CAAA;wBACJ,CAAC;wBACD,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;4BAC5D,MAAM,IAAI,sBAAc,CAAC;gCACvB;oCACE,IAAI,EAAE,GAAG;oCACT,OAAO,EAAE,sBAAsB;oCAC/B,QAAQ,EAAE,gCAAgC;oCAC1C,QAAQ,EAAE,IAAA,2BAAmB,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oCACxC,IAAI,EAAE,cAAc;iCACrB;6BACF,CAAC,CAAA;wBACJ,CAAC;wBACD,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;4BAClC,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;4BACvD,IACE,MAAM;gCACN,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAC1D,CAAC;gCACD,MAAM,IAAI,sBAAc,CAAC;oCACvB;wCACE,IAAI,EAAE,GAAG;wCACT,OAAO,EAAE,sBAAsB,MAAM,EAAE;wCACvC,QAAQ,EAAE,MAAM,MAAM,EAAE;wCACxB,QAAQ,EAAE,IAAA,2BAAmB,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wCACxC,IAAI,EAAE,gBAAgB;qCACvB;iCACF,CAAC,CAAA;4BACJ,CAAC;wBACH,CAAC;wBACD,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;4BAClC,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;4BACvD,IACE,MAAM;gCACN,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAC1D,CAAC;gCACD,MAAM,IAAI,sBAAc,CAAC;oCACvB;wCACE,IAAI,EAAE,GAAG;wCACT,OAAO,EAAE,uBAAuB,MAAM,EAAE;wCACxC,QAAQ,EAAE,MAAM,MAAM,EAAE;wCACxB,QAAQ,EAAE,IAAA,2BAAmB,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wCACxC,IAAI,EAAE,eAAe;qCACtB;iCACF,CAAC,CAAA;4BACJ,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,IAAI,GAAG,YAAY,mBAAO,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC5D,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;4BACjE,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;wBAC/B,CAAC;oBACH,CAAC;oBAED,IAAI,GAAG,YAAY,mBAAO,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC5D,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAK,IAAY,CAAC,eAAe,EAAE,CAAC;4BACjE,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gCAC7D,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;gCAC3B,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;oCACd,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gCACf,CAAC;qCAAM,CAAC;oCACN,MAAM,IAAI,sBAAc,CAAC;wCACvB;4CACE,IAAI,EAAE,GAAG;4CACT,OAAO,EAAE,kBAAkB;4CAC3B,QAAQ,EAAE,QAAQ;4CAClB,QAAQ,EAAE,IAAA,2BAAmB,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC;4CACxC,IAAI,EAAE,cAAc;yCACrB;qCACF,CAAC,CAAA;gCACJ,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,IAAI,GAAG,YAAY,mBAAO,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;wBAC7D,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAK,IAAY,CAAC,eAAe,EAAE,CAAC;4BACjE,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gCAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAA;gCAC5C,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;oCACtC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;gCAClB,CAAC;qCAAM,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;oCAC9C,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;gCACnB,CAAC;qCAAM,CAAC;oCACN,MAAM,IAAI,sBAAc,CAAC;wCACvB;4CACE,IAAI,EAAE,GAAG;4CACT,OAAO,EAAE,mBAAmB;4CAC5B,QAAQ,EAAE,yBAAyB;4CACnC,QAAQ,EAAE,IAAA,2BAAmB,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC;4CACxC,IAAI,EAAE,cAAc;yCACrB;qCACF,CAAC,CAAA;gCACJ,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,IACE,GAAG,YAAY,mBAAO;wBACtB,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;wBAC7B,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAC3B,CAAC;wBACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;4BAC9B,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;gCAClC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;oCACnC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oCACnD,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;gCACf,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;oCACxC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE;wCAClC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;wCACnB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;oCACzB,CAAC,CAAC,CAAA;gCACJ,CAAC;qCAAM,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;oCAChD,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE;wCAClC,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM;4CAAE,OAAO,IAAI,CAAA;wCAC3C,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,OAAO;4CAAE,OAAO,KAAK,CAAA;wCAC7C,OAAO,CAAC,CAAA;oCACV,CAAC,CAAC,CAAA;gCACJ,CAAC;qCAAM,CAAC;oCACN,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;gCACnB,CAAC;4BACH,CAAC;iCAAM,CAAC;gCACN,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;4BACzB,CAAC;wBACH,CAAC;6BAAM,CAAC;4BACN,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;gCACxC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE;oCACtC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;wCAC7B,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;wCACtB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;oCAC5B,CAAC;oCACD,OAAO,IAAI,CAAA;gCACb,CAAC,CAAC,CAAA;4BACJ,CAAC;iCAAM,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;gCAChD,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE;oCACtC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;wCAC7B,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,MAAM;4CAAE,OAAO,IAAI,CAAA;wCAC9C,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,OAAO;4CAAE,OAAO,KAAK,CAAA;oCAClD,CAAC;oCACD,OAAO,IAAI,CAAA;gCACb,CAAC,CAAC,CAAA;4BACJ,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,IAAI,GAAG,YAAY,mBAAO,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACxD,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;4BAC/B,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI;gCAAE,MAAK;4BACxD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;wBAC1B,CAAC;oBACH,CAAC;oBAED,MAAM,UAAU,GAAI,GAAW,EAAE,KAAK,CAAA;oBACtC,IAAI,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;wBAC3C,IACE,UAAU,YAAY,mBAAO;4BAC7B,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAChC,CAAC;4BACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gCAC1C,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;oCACxD,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;wCACtC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI;4CACrD,MAAK;wCACP,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;oCAChC,CAAC;gCACH,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,IAAI,UAAe,CAAA;QACnB,IAAI,CAAC;YACH,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACzC,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IACE,IAAI,KAAK,OAAO,CAAC,GAAG;gBACpB,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,MAAM;oBAC3C,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,MAAM,CAAC,EAC7C,CAAC;gBACD,MAAM,IAAI,GAAQ,EAAE,GAAG,IAAI,EAAE,CAAA;gBAC7B,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;oBACxD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;wBAC5B,MAAM,GAAG,GAAG,GAAG,YAAY,mBAAO,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;wBAC3D,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;4BAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;6BACpC,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC;4BAAE,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;6BAC9C,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC;4BAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAA;;4BACzC,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,GAAG,EAAE,CAAA;oBAChC,CAAC;gBACH,CAAC;gBACD,OAAO,IAAS,CAAA;YAClB,CAAC;YAED,IAAI,IAAI,GAAG,MAAM,CAAA;YACjB,IAAI,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,mBAAmB,CAAA;YAChD,IAAI,QAA4B,CAAA;YAChC,IAAI,IAAI,GAAG,kBAAkB,CAAA;YAE7B,IAAI,OAAO,CAAC,UAAU,CAAC,0BAA0B,CAAC,EAAE,CAAC;gBACnD,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;gBAC7D,OAAO,GAAG,oCAAoC,CAAA;gBAC9C,QAAQ,GAAG,SAAS,CAAA;gBACpB,IAAI,GAAG,wBAAwB,CAAA;YACjC,CAAC;iBAAM,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBACzC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;gBACnD,IAAI,KAAK,EAAE,CAAC;oBACV,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;oBACf,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;oBAC3B,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;oBAElE,IAAI,UAAU,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;wBAC9C,QAAQ,GAAG,QAAQ,CAAA;wBACnB,IAAI,GAAG,cAAc,CAAA;oBACvB,CAAC;yBAAM,IAAI,UAAU,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;wBACrD,QAAQ,GAAG,QAAQ,CAAA;wBACnB,IAAI,GAAG,cAAc,CAAA;oBACvB,CAAC;yBAAM,IAAI,UAAU,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;wBACtD,QAAQ,GAAG,SAAS,CAAA;wBACpB,IAAI,GAAG,cAAc,CAAA;oBACvB,CAAC;yBAAM,IACL,UAAU,CAAC,UAAU,CAAC,kBAAkB,CAAC;wBACzC,UAAU,CAAC,QAAQ,CAAC,iBAAiB,CAAC;wBACtC,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,EACpC,CAAC;wBACD,QAAQ,GAAG,OAAO,CAAA;wBAClB,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,iBAAiB,CAAC;4BAC3C,CAAC,CAAC,iBAAiB;4BACnB,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC;gCACpC,CAAC,CAAC,gBAAgB;gCAClB,CAAC,CAAC,cAAc,CAAA;oBACtB,CAAC;yBAAM,IAAI,UAAU,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;wBACtD,QAAQ,GAAG,QAAQ,CAAA;wBACnB,IAAI,GAAG,cAAc,CAAA;oBACvB,CAAC;yBAAM,IAAI,UAAU,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE,CAAC;wBAC1D,QAAQ,GAAG,qBAAqB,CAAA;wBAChC,IAAI,GAAG,eAAe,CAAA;oBACxB,CAAC;yBAAM,IAAI,UAAU,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;wBACnD,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;wBAC1D,IAAI,GAAG,oBAAoB,CAAA;oBAC7B,CAAC;yBAAM,IACL,UAAU,CAAC,UAAU,CAAC,kBAAkB,CAAC;wBACzC,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,EACnC,CAAC;wBACD,QAAQ,GAAG,UAAU,CAAA;wBACrB,IAAI,GAAG,iBAAiB,CAAA;oBAC1B,CAAC;yBAAM,IACL,UAAU,CAAC,UAAU,CAAC,iBAAiB,CAAC;wBACxC,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,EACnC,CAAC;wBACD,QAAQ,GAAG,UAAU,CAAA;wBACrB,IAAI,GAAG,iBAAiB,CAAA;oBAC1B,CAAC;yBAAM,IAAI,UAAU,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE,CAAC;wBAC1D,QAAQ,GAAG,iCAAiC,CAAA;wBAC5C,IAAI,GAAG,0BAA0B,CAAA;oBACnC,CAAC;yBAAM,IAAI,UAAU,CAAC,UAAU,CAAC,2BAA2B,CAAC,EAAE,CAAC;wBAC9D,QAAQ,GAAG,4CAA4C,CAAA;wBACvD,IAAI,GAAG,6BAA6B,CAAA;oBACtC,CAAC;yBAAM,IAAI,UAAU,CAAC,UAAU,CAAC,0BAA0B,CAAC,EAAE,CAAC;wBAC7D,QAAQ,GAAG,4CAA4C,CAAA;wBACvD,IAAI,GAAG,6BAA6B,CAAA;oBACtC,CAAC;yBAAM,IAAI,UAAU,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE,CAAC;wBAC1D,QAAQ,GAAG,kCAAkC,CAAA;wBAC7C,IAAI,GAAG,0BAA0B,CAAA;oBACnC,CAAC;yBAAM,CAAC;wBACN,QAAQ,GAAG,UAAU,CAAA;oBACvB,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,OAAO,CAAC,UAAU,CAAC,oCAAoC,CAAC,EAAE,CAAC;gBACpE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CACzB,mEAAmE,CACpE,CAAA;gBACD,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;oBACpB,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;oBAC3B,IAAI;wBACF,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;oBACpE,OAAO,GAAG,0CAA0C,CAAA;oBACpD,QAAQ,GAAG,2BAA2B,CAAA;oBACtC,IAAI,GAAG,mBAAmB,CAAA;gBAC5B,CAAC;YACH,CAAC;YAED,MAAM,WAAW,GAAG,IAAA,sBAAc,EAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YAC9C,MAAM,QAAQ,GAAG,IAAA,2BAAmB,EAAC,WAAW,CAAC,CAAA;YAEjD,MAAM,IAAI,sBAAc,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QACzE,CAAC;QAED,wDAAwD;QACxD,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YACjD,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBACxD,IACE,UAAU,CAAC,GAAG,CAAC,KAAK,SAAS;oBAC7B,GAAG,YAAY,mBAAO;oBACtB,GAAG,CAAC,YAAY,KAAK,SAAS,EAC9B,CAAC;oBACD,UAAU,CAAC,GAAG,CAAC;wBACb,OAAO,GAAG,CAAC,YAAY,KAAK,UAAU;4BACpC,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE;4BACpB,CAAC,CAAC,GAAG,CAAC,YAAY,CAAA;gBACxB,CAAC;gBACD,IACE,GAAG,YAAY,mBAAO;oBACtB,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;oBAC3B,IAAI;oBACJ,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,EACzB,CAAC;oBACD,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA;gBAC7B,CAAC;YACH,CAAC;QACH,CAAC;QAED,6CAA6C;QAC7C,MAAM,MAAM,GAAgC,EAAE,CAAA;QAC9C,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YACjD,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBACxD,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;oBAClC,MAAM,eAAe,GACnB,GAAG,YAAY,mBAAO;wBACtB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAA;oBACjE,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,eAAe,EAAE,CAAC;wBAChD,SAAQ;oBACV,CAAC;oBAED,IAAI,GAAG,YAAY,mBAAO,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACzD,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;4BAChC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gCACvC,MAAM,GAAG,GACP,OAAO,CAAC,CAAC,OAAO,KAAK,UAAU;oCAC7B,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;oCAC5B,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,eAAe,CAAA;gCAClC,MAAM,CAAC,IAAI,CAAC;oCACV,IAAI,EAAE,GAAG;oCACT,OAAO,EAAE,GAAG;oCACZ,QAAQ,EAAE,wBAAwB;oCAClC,QAAQ,EAAE,IAAA,2BAAmB,EAAC,UAAU,CAAC,GAAG,CAAC,CAAC;oCAC9C,IAAI,EAAE,mBAAmB;iCAC1B,CAAC,CAAA;4BACJ,CAAC;wBACH,CAAC;oBACH,CAAC;oBACD,MAAM,UAAU,GAAI,GAAW,EAAE,KAAK,CAAA;oBACtC,IAAI,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;wBACjD,IACE,UAAU,YAAY,mBAAO;4BAC7B,UAAU,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EACjC,CAAC;4BACD,MAAM,cAAc,GAClB,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;gCACpC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;4BACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gCAChD,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,cAAc;oCAAE,SAAQ;gCAC3D,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;oCACvC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wCAC1C,MAAM,GAAG,GACP,OAAO,CAAC,CAAC,OAAO,KAAK,UAAU;4CAC7B,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;4CAC/B,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,eAAe,CAAA;wCAClC,MAAM,CAAC,IAAI,CAAC;4CACV,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG;4CACpB,OAAO,EAAE,GAAG;4CACZ,QAAQ,EAAE,wBAAwB;4CAClC,QAAQ,EAAE,IAAA,2BAAmB,EAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;4CACjD,IAAI,EAAE,mBAAmB;yCAC1B,CAAC,CAAA;oCACJ,CAAC;gCACH,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,sBAAc,CAAC,MAAM,CAAC,CAAA;QAEvD,2CAA2C;QAC3C,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YACjD,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBACxD,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;oBAClC,IAAI,GAAG,YAAY,mBAAO,IAAI,GAAG,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC7D,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;4BACpC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAA;wBACtC,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAS;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA,CAAC,iEAAiE;QAEjG,MAAM,MAAM,GAAgC,EAAE,CAAA;QAC9C,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YACzC,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE;gBACtD,MAAM,OAAO,GAAG,MAAM,CAAC,GAAc,CAAC,CAAA;gBACtC,MAAM,eAAe,GACnB,GAAG,YAAY,mBAAO;oBACtB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAA;gBACjE,IAAI,OAAO,KAAK,IAAI,IAAI,eAAe;oBAAE,OAAM;gBAE/C,IACE,OAAO,KAAK,SAAS;oBACrB,GAAG,YAAY,mBAAO;oBACtB,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAC1B,CAAC;oBACD,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;wBAChC,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;4BACtC,MAAM,GAAG,GACP,OAAO,CAAC,CAAC,OAAO,KAAK,UAAU;gCAC7B,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;gCACpB,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,eAAe,CAAA;4BAClC,MAAM,CAAC,IAAI,CAAC;gCACV,IAAI,EAAE,GAAG;gCACT,OAAO,EAAE,GAAG;gCACZ,QAAQ,EAAE,8BAA8B;gCACxC,QAAQ,EAAE,IAAA,2BAAmB,EAAC,OAAO,CAAC;gCACtC,IAAI,EAAE,mBAAmB;6BAC1B,CAAC,CAAA;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CACH,CAAA;QACH,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,sBAAc,CAAC,MAAM,CAAC,CAAA;QACvD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,aAAa;QACX,MAAM,SAAS,GAAwB,EAAE,CAAA;QACzC,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACxD,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;YAC3C,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;YACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;YACzC,MAAM,KAAK,GAAQ,EAAE,CAAA;YAErB,IACE,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAC7B,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC;gBAC5B,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC;gBAC3B,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC;gBAC3B,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,EAC/B,CAAC;gBACD,KAAK,CAAC,IAAI,GAAG,MAAM,CAAA;YACrB,CAAC;iBAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAA;YACrB,CAAC;iBAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC1C,KAAK,CAAC,IAAI,GAAG,OAAO,CAAA;YACtB,CAAC;iBAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBACvC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAA;YACnB,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,GAAG,MAAM,CAAA,CAAC,gCAAgC;YACtD,CAAC;YAED,IAAI,CAAC,UAAU;gBAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAA;YACtC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;QACxB,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,SAAS;QACP,MAAM,UAAU,GAAwB,EAAE,CAAA;QAC1C,MAAM,QAAQ,GAAa,EAAE,CAAA;QAC7B,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;YACrC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;YAC3C,MAAM,UAAU,GACd,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACrB,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC1B,MAAc,EAAE,WAAW,CAAA;YAE9B,IAAI,IAAS,CAAA;YACb,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;gBACrD,IAAI,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA;YAC3B,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;gBACzC,IAAI,GAAG,EAAE,CAAA;gBACT,IACE,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;oBAC7B,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC;oBAC3B,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC;oBAC3B,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,EAC/B,CAAC;oBACD,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAA;gBACtB,CAAC;qBAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;oBACxC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAA;oBACpB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAA;gBACvB,CAAC;qBAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACzC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAA;gBACtB,CAAC;qBAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC1C,IAAI,CAAC,IAAI,GAAG,SAAS,CAAA;gBACvB,CAAC;qBAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;oBACvC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAA;oBACpB,IAAI,CAAC,MAAM,GAAG,WAAW,CAAA;gBAC3B,CAAC;qBAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACzC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAA;gBACrB,CAAC;qBAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;oBACxC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAA;oBACpB,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBACtD,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAA;gBACtB,CAAC;YACH,CAAC;YAED,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;YACtB,IAAI,CAAC,UAAU;gBAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACrC,CAAC;QACD,MAAM,MAAM,GAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAA;QAClD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACnD,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAjtBD,8BAitBC;AAED,MAAa,oBAAoB;IAG/B,YACkB,KAAoB,EACpB,WAA6B;QAD7B,UAAK,GAAL,KAAK,CAAe;QACpB,gBAAW,GAAX,WAAW,CAAkB;IAC5C,CAAC;IAEJ,KAAK,CAAC,IAAS;QACb,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACxC,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;IACpC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAS;QACxB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QACnD,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;IACpC,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAA;IAC/B,CAAC;CACF;AArBD,oDAqBC;AAED,MAAa,2BAA2B;IAOtC,YACkB,aAA4B,EAC5B,QAAkB;QADlB,kBAAa,GAAb,aAAa,CAAe;QAC5B,aAAQ,GAAR,QAAQ,CAAU;QAElC,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAChC,CAAC,YAAY,SAAS;YACpB,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,IAAI,SAAS,CACX,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC;gBAClC,CAAC;gBACD,GAAG,YAAY,mBAAO,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aAChD,CAAC,CACH,EACD,CAAC,CACF,CACN,CAAA;IACH,CAAC;IAED,KAAK,CAAC,IAAS;QACb,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtC,MAAM,IAAI,sBAAc,CAAC;gBACvB;oBACE,IAAI,EAAE,EAAE;oBACR,OAAO,EAAE,oDAAoD;oBAC7D,QAAQ,EAAE,QAAQ;oBAClB,QAAQ,EAAE,IAAA,2BAAmB,EAAC,IAAI,CAAC;oBACnC,IAAI,EAAE,cAAc;iBACrB;aACF,CAAC,CAAA;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QACzC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,sBAAc,CAAC;gBACvB;oBACE,IAAI,EAAE,IAAI,CAAC,aAAa;oBACxB,OAAO,EAAE,gCAAgC,IAAI,CAAC,aAAa,GAAG;oBAC9D,QAAQ,EAAE,iBAAiB;oBAC3B,QAAQ,EAAE,WAAW;oBACrB,IAAI,EAAE,uBAAuB;iBAC9B;aACF,CAAC,CAAA;QACJ,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAI,MAAc,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;YAEhE,IAAI,OAAO,GAAG,KAAK,CAAA;YACnB,IAAI,QAAQ,YAAY,mBAAO,EAAE,CAAC;gBAChC,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;oBACzC,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI;yBAC7B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;yBACvB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;yBACb,IAAI,EAAE,CAAA;oBACT,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,UAAU;wBAAE,OAAO,GAAG,IAAI,CAAA;gBACrD,CAAC;qBAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC7C,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI;yBAC1B,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;yBACpB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;yBACb,IAAI,EAAE;yBACN,KAAK,CAAC,GAAG,CAAC,CAAA;oBACb,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;wBAAE,OAAO,GAAG,IAAI,CAAA;gBACxD,CAAC;YACH,CAAC;iBAAM,IACL,OAAO,QAAQ,KAAK,QAAQ;gBAC5B,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,EAC/B,CAAC;gBACD,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;gBACxE,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,UAAU;oBAAE,OAAO,GAAG,IAAI,CAAA;YACrD,CAAC;YAED,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAC3B,CAAC;QACH,CAAC;QAED,MAAM,IAAI,sBAAc,CAAC;YACvB;gBACE,IAAI,EAAE,IAAI,CAAC,aAAa;gBACxB,OAAO,EAAE,gCAAgC,QAAQ,gBAAgB,IAAI,CAAC,aAAa,GAAG;gBACtF,QAAQ,EAAE,wCAAwC;gBAClD,QAAQ,EAAE,IAAA,2BAAmB,EAAC,QAAQ,CAAC;gBACvC,IAAI,EAAE,6BAA6B;aACpC;SACF,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAS;QACxB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACzB,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QACzC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACzB,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAI,MAAc,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;YAChE,IAAI,OAAO,GAAG,KAAK,CAAA;YACnB,IAAI,QAAQ,YAAY,mBAAO,EAAE,CAAC;gBAChC,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;oBACzC,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI;yBAC7B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;yBACvB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;yBACb,IAAI,EAAE,CAAA;oBACT,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,UAAU;wBAAE,OAAO,GAAG,IAAI,CAAA;gBACrD,CAAC;qBAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC7C,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI;yBAC1B,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;yBACpB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;yBACb,IAAI,EAAE;yBACN,KAAK,CAAC,GAAG,CAAC,CAAA;oBACb,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;wBAAE,OAAO,GAAG,IAAI,CAAA;gBACxD,CAAC;YACH,CAAC;YAED,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;YAChC,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;IAED,SAAS;QACP,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAA;QACpD,OAAO;YACL,KAAK;YACL,aAAa,EAAE;gBACb,YAAY,EAAE,IAAI,CAAC,aAAa;aACjC;SACF,CAAA;IACH,CAAC;CACF;AA9ID,kEA8IC"}
@@ -1,6 +1,10 @@
1
- import { TexEngine } from './tex';
1
+ import { TexEngine, TexTransformedEngine, TexDiscriminatedUnionEngine } from './tex';
2
2
  import type { ResolveSchema as TexResolveSchema } from './tex-types';
3
- export type Infer<T> = T extends TexEngine<infer U> ? U : never;
4
- export type ResolveSchema<T> = T extends TexEngine<infer U> ? U : T extends Record<string, any> ? TexResolveSchema<T> : never;
5
- export { tex, paginate, getPaginationSkip, type PaginationMeta, type PaginatedResult, } from './tex';
3
+ export type Infer<T> = T extends {
4
+ _type: infer U;
5
+ } ? U : T extends TexEngine<infer U> ? U : T extends TexTransformedEngine<any, infer Out> ? Out : T extends TexDiscriminatedUnionEngine<any, infer Variants> ? Variants[number]['_type'] : never;
6
+ export type ResolveSchema<T> = T extends {
7
+ _type: infer U;
8
+ } ? U : T extends TexEngine<infer U> ? U : T extends Record<string, any> ? TexResolveSchema<T> : never;
9
+ export { tex, TexEngine, TexTransformedEngine, TexDiscriminatedUnionEngine, paginate, getPaginationSkip, type PaginationMeta, type PaginatedResult, } from './tex';
6
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,KAAK,EAAE,aAAa,IAAI,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAEpE,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AAC/D,MAAM,MAAM,aAAa,CAAC,CAAC,IACzB,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,GACxB,CAAC,GACD,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B,gBAAgB,CAAC,CAAC,CAAC,GACnB,KAAK,CAAA;AAEb,OAAO,EACL,GAAG,EACH,QAAQ,EACR,iBAAiB,EACjB,KAAK,cAAc,EACnB,KAAK,eAAe,GACrB,MAAM,OAAO,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,oBAAoB,EACpB,2BAA2B,EAC5B,MAAM,OAAO,CAAA;AACd,OAAO,KAAK,EAAE,aAAa,IAAI,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAEpE,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,KAAK,EAAE,MAAM,CAAC,CAAA;CAAE,GAC/C,CAAC,GACD,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,GAC1B,CAAC,GACD,CAAC,SAAS,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAC5C,GAAG,GACH,CAAC,SAAS,2BAA2B,CAAC,GAAG,EAAE,MAAM,QAAQ,CAAC,GACxD,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GACzB,KAAK,CAAA;AAEf,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,KAAK,EAAE,MAAM,CAAC,CAAA;CAAE,GACvD,CAAC,GACD,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,GAC1B,CAAC,GACD,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B,gBAAgB,CAAC,CAAC,CAAC,GACnB,KAAK,CAAA;AAEb,OAAO,EACL,GAAG,EACH,SAAS,EACT,oBAAoB,EACpB,2BAA2B,EAC3B,QAAQ,EACR,iBAAiB,EACjB,KAAK,cAAc,EACnB,KAAK,eAAe,GACrB,MAAM,OAAO,CAAA"}
@@ -1,8 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getPaginationSkip = exports.paginate = exports.tex = void 0;
3
+ exports.getPaginationSkip = exports.paginate = exports.TexDiscriminatedUnionEngine = exports.TexTransformedEngine = exports.TexEngine = exports.tex = void 0;
4
4
  var tex_1 = require("./tex");
5
5
  Object.defineProperty(exports, "tex", { enumerable: true, get: function () { return tex_1.tex; } });
6
+ Object.defineProperty(exports, "TexEngine", { enumerable: true, get: function () { return tex_1.TexEngine; } });
7
+ Object.defineProperty(exports, "TexTransformedEngine", { enumerable: true, get: function () { return tex_1.TexTransformedEngine; } });
8
+ Object.defineProperty(exports, "TexDiscriminatedUnionEngine", { enumerable: true, get: function () { return tex_1.TexDiscriminatedUnionEngine; } });
6
9
  Object.defineProperty(exports, "paginate", { enumerable: true, get: function () { return tex_1.paginate; } });
7
10
  Object.defineProperty(exports, "getPaginationSkip", { enumerable: true, get: function () { return tex_1.getPaginationSkip; } });
8
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validator/index.ts"],"names":[],"mappings":";;;AAWA,6BAMc;AALZ,0FAAA,GAAG,OAAA;AACH,+FAAA,QAAQ,OAAA;AACR,wGAAA,iBAAiB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validator/index.ts"],"names":[],"mappings":";;;AAyBA,6BASc;AARZ,0FAAA,GAAG,OAAA;AACH,gGAAA,SAAS,OAAA;AACT,2GAAA,oBAAoB,OAAA;AACpB,kHAAA,2BAA2B,OAAA;AAC3B,+FAAA,QAAQ,OAAA;AACR,wGAAA,iBAAiB,OAAA"}