exisjs 0.7.12 → 0.7.14

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 (132) hide show
  1. package/README.md +195 -39
  2. package/dist/cli/commands/run.d.ts.map +1 -1
  3. package/dist/cli/commands/run.js +3 -1
  4. package/dist/cli/commands/run.js.map +1 -1
  5. package/dist/config/types.d.ts +2 -2
  6. package/dist/config/types.d.ts.map +1 -1
  7. package/dist/decorators/params.d.ts +21 -0
  8. package/dist/decorators/params.d.ts.map +1 -1
  9. package/dist/decorators/params.js +21 -1
  10. package/dist/decorators/params.js.map +1 -1
  11. package/dist/di/container.d.ts +15 -6
  12. package/dist/di/container.d.ts.map +1 -1
  13. package/dist/di/container.js +26 -3
  14. package/dist/di/container.js.map +1 -1
  15. package/dist/di/index.d.ts +1 -1
  16. package/dist/di/index.d.ts.map +1 -1
  17. package/dist/di/index.js.map +1 -1
  18. package/dist/di/inject.d.ts +2 -1
  19. package/dist/di/inject.d.ts.map +1 -1
  20. package/dist/di/inject.js +2 -1
  21. package/dist/di/inject.js.map +1 -1
  22. package/dist/docs/ARCHITECTURE.md +130 -78
  23. package/dist/docs/BENCHMARKS.md +4 -4
  24. package/dist/docs/content/README.md +43 -44
  25. package/dist/docs/content/boundaries.mdx +138 -61
  26. package/dist/docs/content/cli/commands.mdx +151 -128
  27. package/dist/docs/content/cli/overview.mdx +61 -47
  28. package/dist/docs/content/cli/usage.mdx +107 -30
  29. package/dist/docs/content/config.mdx +145 -158
  30. package/dist/docs/content/controllers.mdx +193 -464
  31. package/dist/docs/content/cron.mdx +183 -69
  32. package/dist/docs/content/decorators.mdx +449 -154
  33. package/dist/docs/content/errors.mdx +202 -305
  34. package/dist/docs/content/exisjs-mcp.mdx +59 -49
  35. package/dist/docs/content/installation.mdx +243 -157
  36. package/dist/docs/content/introduction.mdx +220 -48
  37. package/dist/docs/content/middleware.mdx +171 -497
  38. package/dist/docs/content/modules.mdx +141 -83
  39. package/dist/docs/content/providers.mdx +216 -180
  40. package/dist/docs/content/requests.mdx +168 -488
  41. package/dist/docs/content/responses.mdx +200 -533
  42. package/dist/docs/content/routing.mdx +235 -598
  43. package/dist/docs/content/security.mdx +233 -57
  44. package/dist/docs/content/structure.mdx +151 -240
  45. package/dist/docs/content/swagger.mdx +192 -91
  46. package/dist/docs/content/testing.mdx +205 -74
  47. package/dist/docs/content/validation.mdx +479 -341
  48. package/dist/docs/reference/README.md +34 -2
  49. package/dist/docs/reference/config.mdx +277 -75
  50. package/dist/docs/reference/context.mdx +197 -106
  51. package/dist/docs/reference/cron.mdx +266 -152
  52. package/dist/docs/reference/database.mdx +135 -53
  53. package/dist/docs/reference/decorators.mdx +234 -116
  54. package/dist/docs/reference/di.mdx +146 -112
  55. package/dist/docs/reference/error.mdx +155 -178
  56. package/dist/docs/reference/exis.mdx +141 -70
  57. package/dist/docs/reference/logger.mdx +110 -126
  58. package/dist/docs/reference/middleware.mdx +235 -158
  59. package/dist/docs/reference/plugin.mdx +136 -64
  60. package/dist/docs/reference/router.mdx +275 -293
  61. package/dist/docs/reference/sanitize.mdx +91 -87
  62. package/dist/docs/reference/swagger.mdx +280 -100
  63. package/dist/docs/reference/testing.mdx +223 -89
  64. package/dist/docs/reference/validator.mdx +194 -206
  65. package/dist/lib/start-server.js +22 -8
  66. package/dist/lib/start-server.js.map +1 -1
  67. package/dist/module/module.d.ts +6 -3
  68. package/dist/module/module.d.ts.map +1 -1
  69. package/dist/module/module.js +17 -3
  70. package/dist/module/module.js.map +1 -1
  71. package/dist/router/controller-registrar.d.ts.map +1 -1
  72. package/dist/router/controller-registrar.js +26 -4
  73. package/dist/router/controller-registrar.js.map +1 -1
  74. package/dist/router/scanner/fs-scanner.d.ts.map +1 -1
  75. package/dist/router/scanner/fs-scanner.js +22 -0
  76. package/dist/router/scanner/fs-scanner.js.map +1 -1
  77. package/dist/router/types.d.ts +6 -4
  78. package/dist/router/types.d.ts.map +1 -1
  79. package/dist/server/app.d.ts +3 -1
  80. package/dist/server/app.d.ts.map +1 -1
  81. package/dist/server/app.js +24 -8
  82. package/dist/server/app.js.map +1 -1
  83. package/dist/server/bootstrapper.d.ts.map +1 -1
  84. package/dist/server/bootstrapper.js +19 -0
  85. package/dist/server/bootstrapper.js.map +1 -1
  86. package/dist/server/request.d.ts +2 -0
  87. package/dist/server/request.d.ts.map +1 -1
  88. package/dist/server/request.js +11 -0
  89. package/dist/server/request.js.map +1 -1
  90. package/dist/server/response.d.ts +10 -5
  91. package/dist/server/response.d.ts.map +1 -1
  92. package/dist/server/response.js +65 -18
  93. package/dist/server/response.js.map +1 -1
  94. package/dist/swagger/generator.d.ts.map +1 -1
  95. package/dist/swagger/generator.js +130 -10
  96. package/dist/swagger/generator.js.map +1 -1
  97. package/dist/telemetry/index.d.ts +12 -0
  98. package/dist/telemetry/index.d.ts.map +1 -0
  99. package/dist/telemetry/index.js +121 -0
  100. package/dist/telemetry/index.js.map +1 -0
  101. package/dist/testing/client.d.ts +1 -0
  102. package/dist/testing/client.d.ts.map +1 -1
  103. package/dist/testing/client.js +4 -1
  104. package/dist/testing/client.js.map +1 -1
  105. package/dist/testing/index.d.ts.map +1 -1
  106. package/dist/testing/index.js +11 -4
  107. package/dist/testing/index.js.map +1 -1
  108. package/dist/validator/builder.d.ts +26 -1
  109. package/dist/validator/builder.d.ts.map +1 -1
  110. package/dist/validator/builder.js +31 -0
  111. package/dist/validator/builder.js.map +1 -1
  112. package/dist/validator/engine.d.ts +23 -0
  113. package/dist/validator/engine.d.ts.map +1 -1
  114. package/dist/validator/engine.js +228 -31
  115. package/dist/validator/engine.js.map +1 -1
  116. package/dist/validator/index.d.ts +8 -4
  117. package/dist/validator/index.d.ts.map +1 -1
  118. package/dist/validator/index.js +4 -1
  119. package/dist/validator/index.js.map +1 -1
  120. package/dist/validator/tex-types.d.ts +19 -4
  121. package/dist/validator/tex-types.d.ts.map +1 -1
  122. package/dist/validator/tex-types.js +102 -0
  123. package/dist/validator/tex-types.js.map +1 -1
  124. package/dist/validator/tex.d.ts +1 -1
  125. package/dist/validator/tex.d.ts.map +1 -1
  126. package/dist/validator/tex.js +3 -1
  127. package/dist/validator/tex.js.map +1 -1
  128. package/dist/validator/types.d.ts +1 -0
  129. package/dist/validator/types.d.ts.map +1 -1
  130. package/package.json +46 -14
  131. package/dist/docs/content/dataloader.mdx +0 -170
  132. package/dist/docs/reference/dataloader.mdx +0 -91
@@ -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":"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"}
@@ -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"}
@@ -2,14 +2,21 @@ export declare class TexType<IsOpt extends boolean = false> {
2
2
  _raw: string;
3
3
  readonly __isOptional: IsOpt;
4
4
  sanitizers: ((val: any) => any)[];
5
+ transformations: ((val: any) => any)[];
5
6
  refinements: {
6
7
  async: boolean;
7
8
  fn: (val: any) => any;
8
9
  message?: string | ((val: any) => string);
9
10
  }[];
10
11
  defaultValue?: any | (() => any);
12
+ description?: string;
13
+ exampleValue?: any;
11
14
  constructor(_raw: string, defaultValue?: any | (() => any));
15
+ describe(description: string): this;
16
+ example(example: any): this;
17
+ setExample(example: any): this;
12
18
  sanitize(...fns: ((val: any) => any)[]): this;
19
+ transform<Out>(fn: (val: any) => Out): TexTransformed<Out, IsOpt>;
13
20
  refine(fn: (val: any) => boolean, message?: string | ((val: any) => string)): this;
14
21
  refineAsync(fn: (val: any) => Promise<boolean>, message?: string | ((val: any) => string)): this;
15
22
  nullable(): Omit<this, '__isNullable'> & {
@@ -22,6 +29,7 @@ export declare class TexType<IsOpt extends boolean = false> {
22
29
  readonly __isOptional: true;
23
30
  readonly __isNullable: true;
24
31
  };
32
+ toOpenApi(): Record<string, any>;
25
33
  }
26
34
  export interface TexString<IsOpt extends boolean = false> extends TexType<IsOpt> {
27
35
  __kind: 'TexString';
@@ -61,7 +69,14 @@ export interface TexAny<IsOpt extends boolean = false> extends TexType<IsOpt> {
61
69
  export interface TexFile<IsOpt extends boolean = false> extends TexType<IsOpt> {
62
70
  __kind: 'TexFile';
63
71
  }
72
+ export interface TexTransformed<Out, IsOpt extends boolean = false> extends TexType<IsOpt> {
73
+ __kind: 'TexTransformed';
74
+ __out: Out;
75
+ }
64
76
  export type ResolveTexType<T> = T extends {
77
+ __kind: 'TexTransformed';
78
+ __out: infer Out;
79
+ } ? Out : T extends {
65
80
  __kind: 'TexString';
66
81
  } ? string : T extends {
67
82
  __kind: 'TexNumber';
@@ -96,13 +111,13 @@ export type ResolveTexType<T> = T extends {
96
111
  _type: infer U;
97
112
  } ? U : T extends Record<string, any> ? ResolveSchema<T> : never;
98
113
  export type IsOptional<T> = T extends {
99
- __isOptional: infer IsOpt;
100
- } ? IsOpt extends true ? true : false : T extends {
114
+ __isOptional: true;
115
+ } ? true : T extends {
101
116
  _isOptional: true;
102
117
  } ? true : false;
103
118
  export type IsNullable<T> = T extends {
104
- __isNullable: infer IsNull;
105
- } ? IsNull extends true ? true : false : false;
119
+ __isNullable: true;
120
+ } ? true : false;
106
121
  export type ApplyNullable<T, Type> = IsNullable<T> extends true ? Type | null : Type;
107
122
  export type ResolveSchema<T extends Record<string, any>> = {
108
123
  [K in keyof T as IsOptional<T[K]> extends false ? K : never]: ApplyNullable<T[K], ResolveTexType<T[K]>>;
@@ -1 +1 @@
1
- {"version":3,"file":"tex-types.d.ts","sourceRoot":"","sources":["../../src/validator/tex-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tex-types.d.ts","sourceRoot":"","sources":["../../src/validator/tex-types.ts"],"names":[],"mappings":"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"}