@stxt-lang/core 0.5.1

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 (169) hide show
  1. package/out/all.d.ts +19 -0
  2. package/out/all.js +42 -0
  3. package/out/all.js.map +1 -0
  4. package/out/core/Constants.d.ts +9 -0
  5. package/out/core/Constants.js +14 -0
  6. package/out/core/Constants.js.map +1 -0
  7. package/out/core/Line.d.ts +9 -0
  8. package/out/core/Line.js +17 -0
  9. package/out/core/Line.js.map +1 -0
  10. package/out/core/LineParser.d.ts +2 -0
  11. package/out/core/LineParser.js +72 -0
  12. package/out/core/LineParser.js.map +1 -0
  13. package/out/core/NameNamespace.d.ts +7 -0
  14. package/out/core/NameNamespace.js +17 -0
  15. package/out/core/NameNamespace.js.map +1 -0
  16. package/out/core/NameNamespaceParser.d.ts +5 -0
  17. package/out/core/NameNamespaceParser.js +43 -0
  18. package/out/core/NameNamespaceParser.js.map +1 -0
  19. package/out/core/NamespaceValidator.d.ts +4 -0
  20. package/out/core/NamespaceValidator.js +17 -0
  21. package/out/core/NamespaceValidator.js.map +1 -0
  22. package/out/core/Node.d.ts +29 -0
  23. package/out/core/Node.js +116 -0
  24. package/out/core/Node.js.map +1 -0
  25. package/out/core/NodeCreator.d.ts +3 -0
  26. package/out/core/NodeCreator.js +52 -0
  27. package/out/core/NodeCreator.js.map +1 -0
  28. package/out/core/ParseResult.d.ts +12 -0
  29. package/out/core/ParseResult.js +26 -0
  30. package/out/core/ParseResult.js.map +1 -0
  31. package/out/core/Parser.d.ts +16 -0
  32. package/out/core/Parser.js +142 -0
  33. package/out/core/Parser.js.map +1 -0
  34. package/out/core/StringUtils.d.ts +8 -0
  35. package/out/core/StringUtils.js +46 -0
  36. package/out/core/StringUtils.js.map +1 -0
  37. package/out/exceptions/ParseException.d.ts +6 -0
  38. package/out/exceptions/ParseException.js +17 -0
  39. package/out/exceptions/ParseException.js.map +1 -0
  40. package/out/exceptions/RuntimeException.d.ts +6 -0
  41. package/out/exceptions/RuntimeException.js +20 -0
  42. package/out/exceptions/RuntimeException.js.map +1 -0
  43. package/out/exceptions/ValidationException.d.ts +4 -0
  44. package/out/exceptions/ValidationException.js +13 -0
  45. package/out/exceptions/ValidationException.js.map +1 -0
  46. package/out/processors/Observer.d.ts +8 -0
  47. package/out/processors/Observer.js +3 -0
  48. package/out/processors/Observer.js.map +1 -0
  49. package/out/processors/Validator.d.ts +5 -0
  50. package/out/processors/Validator.js +3 -0
  51. package/out/processors/Validator.js.map +1 -0
  52. package/out/runtime/ConditionalValidator.d.ts +9 -0
  53. package/out/runtime/ConditionalValidator.js +18 -0
  54. package/out/runtime/ConditionalValidator.js.map +1 -0
  55. package/out/runtime/NodeWriter.d.ts +12 -0
  56. package/out/runtime/NodeWriter.js +59 -0
  57. package/out/runtime/NodeWriter.js.map +1 -0
  58. package/out/runtime/UnifiedSchemaProvider.d.ts +22 -0
  59. package/out/runtime/UnifiedSchemaProvider.js +80 -0
  60. package/out/runtime/UnifiedSchemaProvider.js.map +1 -0
  61. package/out/schema/ChildDefinition.d.ts +21 -0
  62. package/out/schema/ChildDefinition.js +50 -0
  63. package/out/schema/ChildDefinition.js.map +1 -0
  64. package/out/schema/NodeDefinition.d.ts +34 -0
  65. package/out/schema/NodeDefinition.js +74 -0
  66. package/out/schema/NodeDefinition.js.map +1 -0
  67. package/out/schema/Schema.d.ts +30 -0
  68. package/out/schema/Schema.js +43 -0
  69. package/out/schema/Schema.js.map +1 -0
  70. package/out/schema/SchemaParser.d.ts +3 -0
  71. package/out/schema/SchemaParser.js +117 -0
  72. package/out/schema/SchemaParser.js.map +1 -0
  73. package/out/schema/SchemaProvider.d.ts +4 -0
  74. package/out/schema/SchemaProvider.js +3 -0
  75. package/out/schema/SchemaProvider.js.map +1 -0
  76. package/out/schema/SchemaProviderMemory.d.ts +11 -0
  77. package/out/schema/SchemaProviderMemory.js +44 -0
  78. package/out/schema/SchemaProviderMemory.js.map +1 -0
  79. package/out/schema/SchemaProviderMeta.d.ts +8 -0
  80. package/out/schema/SchemaProviderMeta.js +92 -0
  81. package/out/schema/SchemaProviderMeta.js.map +1 -0
  82. package/out/schema/SchemaValidator.d.ts +16 -0
  83. package/out/schema/SchemaValidator.js +115 -0
  84. package/out/schema/SchemaValidator.js.map +1 -0
  85. package/out/schema/Type.d.ts +6 -0
  86. package/out/schema/Type.js +3 -0
  87. package/out/schema/Type.js.map +1 -0
  88. package/out/schema/TypeRegistry.d.ts +8 -0
  89. package/out/schema/TypeRegistry.js +69 -0
  90. package/out/schema/TypeRegistry.js.map +1 -0
  91. package/out/schema/type/BASE64.d.ts +2 -0
  92. package/out/schema/type/BASE64.js +30 -0
  93. package/out/schema/type/BASE64.js.map +1 -0
  94. package/out/schema/type/BINARY.d.ts +2 -0
  95. package/out/schema/type/BINARY.js +18 -0
  96. package/out/schema/type/BINARY.js.map +1 -0
  97. package/out/schema/type/BLOCK.d.ts +2 -0
  98. package/out/schema/type/BLOCK.js +16 -0
  99. package/out/schema/type/BLOCK.js.map +1 -0
  100. package/out/schema/type/BOOLEAN.d.ts +1 -0
  101. package/out/schema/type/BOOLEAN.js +6 -0
  102. package/out/schema/type/BOOLEAN.js.map +1 -0
  103. package/out/schema/type/DATE.d.ts +1 -0
  104. package/out/schema/type/DATE.js +6 -0
  105. package/out/schema/type/DATE.js.map +1 -0
  106. package/out/schema/type/EMAIL.d.ts +1 -0
  107. package/out/schema/type/EMAIL.js +6 -0
  108. package/out/schema/type/EMAIL.js.map +1 -0
  109. package/out/schema/type/ENUM.d.ts +2 -0
  110. package/out/schema/type/ENUM.js +21 -0
  111. package/out/schema/type/ENUM.js.map +1 -0
  112. package/out/schema/type/GROUP.d.ts +2 -0
  113. package/out/schema/type/GROUP.js +16 -0
  114. package/out/schema/type/GROUP.js.map +1 -0
  115. package/out/schema/type/HEXADECIMAL.d.ts +2 -0
  116. package/out/schema/type/HEXADECIMAL.js +18 -0
  117. package/out/schema/type/HEXADECIMAL.js.map +1 -0
  118. package/out/schema/type/INLINE.d.ts +2 -0
  119. package/out/schema/type/INLINE.js +16 -0
  120. package/out/schema/type/INLINE.js.map +1 -0
  121. package/out/schema/type/INTEGER.d.ts +1 -0
  122. package/out/schema/type/INTEGER.js +6 -0
  123. package/out/schema/type/INTEGER.js.map +1 -0
  124. package/out/schema/type/MARKDOWN.d.ts +2 -0
  125. package/out/schema/type/MARKDOWN.js +17 -0
  126. package/out/schema/type/MARKDOWN.js.map +1 -0
  127. package/out/schema/type/NATURAL.d.ts +1 -0
  128. package/out/schema/type/NATURAL.js +6 -0
  129. package/out/schema/type/NATURAL.js.map +1 -0
  130. package/out/schema/type/NUMBER.d.ts +1 -0
  131. package/out/schema/type/NUMBER.js +6 -0
  132. package/out/schema/type/NUMBER.js.map +1 -0
  133. package/out/schema/type/TEXT.d.ts +2 -0
  134. package/out/schema/type/TEXT.js +15 -0
  135. package/out/schema/type/TEXT.js.map +1 -0
  136. package/out/schema/type/TIME.d.ts +1 -0
  137. package/out/schema/type/TIME.js +6 -0
  138. package/out/schema/type/TIME.js.map +1 -0
  139. package/out/schema/type/TIMESTAMP.d.ts +1 -0
  140. package/out/schema/type/TIMESTAMP.js +6 -0
  141. package/out/schema/type/TIMESTAMP.js.map +1 -0
  142. package/out/schema/type/URL.d.ts +2 -0
  143. package/out/schema/type/URL.js +27 -0
  144. package/out/schema/type/URL.js.map +1 -0
  145. package/out/schema/type/UUID.d.ts +1 -0
  146. package/out/schema/type/UUID.js +6 -0
  147. package/out/schema/type/UUID.js.map +1 -0
  148. package/out/schema/type/binaryValue.d.ts +2 -0
  149. package/out/schema/type/binaryValue.js +13 -0
  150. package/out/schema/type/binaryValue.js.map +1 -0
  151. package/out/schema/type/regexType.d.ts +2 -0
  152. package/out/schema/type/regexType.js +20 -0
  153. package/out/schema/type/regexType.js.map +1 -0
  154. package/out/template/ChildLine.d.ts +12 -0
  155. package/out/template/ChildLine.js +28 -0
  156. package/out/template/ChildLine.js.map +1 -0
  157. package/out/template/ChildLineParser.d.ts +7 -0
  158. package/out/template/ChildLineParser.js +98 -0
  159. package/out/template/ChildLineParser.js.map +1 -0
  160. package/out/template/MetaTemplateSchemaProvider.d.ts +8 -0
  161. package/out/template/MetaTemplateSchemaProvider.js +35 -0
  162. package/out/template/MetaTemplateSchemaProvider.js.map +1 -0
  163. package/out/template/TemplateParser.d.ts +3 -0
  164. package/out/template/TemplateParser.js +214 -0
  165. package/out/template/TemplateParser.js.map +1 -0
  166. package/out/template/TemplateSchemaProviderMemory.d.ts +6 -0
  167. package/out/template/TemplateSchemaProviderMemory.js +37 -0
  168. package/out/template/TemplateSchemaProviderMemory.js.map +1 -0
  169. package/package.json +45 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SchemaValidator.js","sourceRoot":"","sources":["../../src/schema/SchemaValidator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { Node } from "../core/Node";
2
+ import { NodeDefinition } from "./NodeDefinition";
3
+ export interface Type {
4
+ validate(nodeDef: NodeDefinition, node: Node): void;
5
+ getName(): string;
6
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=Type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Type.js","sourceRoot":"","sources":["../../src/schema/Type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import { Type } from "./Type";
2
+ export declare class TypeRegistry {
3
+ private static readonly REGISTRY;
4
+ private static readonly _init;
5
+ static admitsChildren(nodeType: string): boolean;
6
+ static get(nodeType: string): Type | undefined;
7
+ private static register;
8
+ }
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TypeRegistry = void 0;
4
+ const RuntimeException_1 = require("../exceptions/RuntimeException");
5
+ const INLINE_1 = require("./type/INLINE");
6
+ const BLOCK_1 = require("./type/BLOCK");
7
+ const TEXT_1 = require("./type/TEXT");
8
+ const BOOLEAN_1 = require("./type/BOOLEAN");
9
+ const URL_1 = require("./type/URL");
10
+ const INTEGER_1 = require("./type/INTEGER");
11
+ const NATURAL_1 = require("./type/NATURAL");
12
+ const NUMBER_1 = require("./type/NUMBER");
13
+ const DATE_1 = require("./type/DATE");
14
+ const TIME_1 = require("./type/TIME");
15
+ const TIMESTAMP_1 = require("./type/TIMESTAMP");
16
+ const UUID_1 = require("./type/UUID");
17
+ const BINARY_1 = require("./type/BINARY");
18
+ const EMAIL_1 = require("./type/EMAIL");
19
+ const HEXADECIMAL_1 = require("./type/HEXADECIMAL");
20
+ const BASE64_1 = require("./type/BASE64");
21
+ const GROUP_1 = require("./type/GROUP");
22
+ const ENUM_1 = require("./type/ENUM");
23
+ const MARKDOWN_1 = require("./type/MARKDOWN");
24
+ class TypeRegistry {
25
+ // STXT-SCHEMA-SPEC 9 / STXT-TEMPLATE-SPEC 15: sólo INLINE y GROUP admiten hijos
26
+ static admitsChildren(nodeType) {
27
+ return nodeType === "INLINE" || nodeType === "GROUP";
28
+ }
29
+ static get(nodeType) {
30
+ // fuerza que se ejecute _init al cargar la clase (por si el bundler hiciera cosas raras)
31
+ void this._init;
32
+ return this.REGISTRY.get(nodeType);
33
+ }
34
+ static register(instance) {
35
+ const name = instance.getName();
36
+ if (this.REGISTRY.has(name)) {
37
+ throw new RuntimeException_1.RuntimeException("DUPLICATED_TYPE", `Type already defined: ${name}`);
38
+ }
39
+ this.REGISTRY.set(name, instance);
40
+ }
41
+ }
42
+ exports.TypeRegistry = TypeRegistry;
43
+ TypeRegistry.REGISTRY = new Map();
44
+ // Inicialización estática (sin INSTANCE)
45
+ TypeRegistry._init = (() => {
46
+ // Tipos principales
47
+ TypeRegistry.register(INLINE_1.INLINE);
48
+ TypeRegistry.register(BLOCK_1.BLOCK);
49
+ // Subtipos
50
+ TypeRegistry.register(TEXT_1.TEXT);
51
+ TypeRegistry.register(BOOLEAN_1.BOOLEAN);
52
+ TypeRegistry.register(URL_1.URL);
53
+ TypeRegistry.register(INTEGER_1.INTEGER);
54
+ TypeRegistry.register(NATURAL_1.NATURAL);
55
+ TypeRegistry.register(NUMBER_1.NUMBER);
56
+ TypeRegistry.register(DATE_1.DATE);
57
+ TypeRegistry.register(TIME_1.TIME);
58
+ TypeRegistry.register(TIMESTAMP_1.TIMESTAMP);
59
+ TypeRegistry.register(UUID_1.UUID);
60
+ TypeRegistry.register(EMAIL_1.EMAIL);
61
+ TypeRegistry.register(HEXADECIMAL_1.HEXADECIMAL);
62
+ TypeRegistry.register(BINARY_1.BINARY);
63
+ TypeRegistry.register(BASE64_1.BASE64);
64
+ TypeRegistry.register(GROUP_1.GROUP);
65
+ TypeRegistry.register(ENUM_1.ENUM);
66
+ TypeRegistry.register(MARKDOWN_1.MARKDOWN);
67
+ return true;
68
+ })();
69
+ //# sourceMappingURL=TypeRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TypeRegistry.js","sourceRoot":"","sources":["../../src/schema/TypeRegistry.ts"],"names":[],"mappings":";;;AACA,qEAAkE;AAElE,0CAAuC;AACvC,wCAAqC;AACrC,sCAAmC;AACnC,4CAAyC;AACzC,oCAAiC;AACjC,4CAAyC;AACzC,4CAAyC;AACzC,0CAAuC;AACvC,sCAAmC;AACnC,sCAAmC;AACnC,gDAA6C;AAC7C,sCAAmC;AACnC,0CAAuC;AACvC,wCAAqC;AACrC,oDAAiD;AACjD,0CAAuC;AACvC,wCAAqC;AACrC,sCAAmC;AACnC,8CAA2C;AAE3C,MAAa,YAAY;IA+BrB,gFAAgF;IAChF,MAAM,CAAC,cAAc,CAAC,QAAgB;QAClC,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,OAAO,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,QAAgB;QACvB,yFAAyF;QACzF,KAAK,IAAI,CAAC,KAAK,CAAC;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAEO,MAAM,CAAC,QAAQ,CAAC,QAAc;QAClC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;QAEhC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,mCAAgB,CAAC,iBAAiB,EAAE,yBAAyB,IAAI,EAAE,CAAC,CAAC;QACnF,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC;;AAlDL,oCAmDC;AAlD2B,qBAAQ,GAAsB,IAAI,GAAG,EAAE,CAAC;AAEhE,yCAAyC;AACjB,kBAAK,GAAG,CAAC,GAAG,EAAE;IAClC,oBAAoB;IACpB,YAAY,CAAC,QAAQ,CAAC,eAAM,CAAC,CAAC;IAC9B,YAAY,CAAC,QAAQ,CAAC,aAAK,CAAC,CAAC;IAE7B,WAAW;IACX,YAAY,CAAC,QAAQ,CAAC,WAAI,CAAC,CAAC;IAC5B,YAAY,CAAC,QAAQ,CAAC,iBAAO,CAAC,CAAC;IAC/B,YAAY,CAAC,QAAQ,CAAC,SAAG,CAAC,CAAC;IAC3B,YAAY,CAAC,QAAQ,CAAC,iBAAO,CAAC,CAAC;IAC/B,YAAY,CAAC,QAAQ,CAAC,iBAAO,CAAC,CAAC;IAC/B,YAAY,CAAC,QAAQ,CAAC,eAAM,CAAC,CAAC;IAC9B,YAAY,CAAC,QAAQ,CAAC,WAAI,CAAC,CAAC;IAC5B,YAAY,CAAC,QAAQ,CAAC,WAAI,CAAC,CAAC;IAC5B,YAAY,CAAC,QAAQ,CAAC,qBAAS,CAAC,CAAC;IACjC,YAAY,CAAC,QAAQ,CAAC,WAAI,CAAC,CAAC;IAC5B,YAAY,CAAC,QAAQ,CAAC,aAAK,CAAC,CAAC;IAC7B,YAAY,CAAC,QAAQ,CAAC,yBAAW,CAAC,CAAC;IACnC,YAAY,CAAC,QAAQ,CAAC,eAAM,CAAC,CAAC;IAC9B,YAAY,CAAC,QAAQ,CAAC,eAAM,CAAC,CAAC;IAC9B,YAAY,CAAC,QAAQ,CAAC,aAAK,CAAC,CAAC;IAC7B,YAAY,CAAC,QAAQ,CAAC,WAAI,CAAC,CAAC;IAC5B,YAAY,CAAC,QAAQ,CAAC,mBAAQ,CAAC,CAAC;IAEhC,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Type } from "../Type";
2
+ export declare const BASE64: Type;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BASE64 = void 0;
4
+ const ValidationException_1 = require("../../exceptions/ValidationException");
5
+ const binaryValue_1 = require("./binaryValue");
6
+ exports.BASE64 = {
7
+ getName() {
8
+ return "BASE64";
9
+ },
10
+ validate(ndef, n) {
11
+ const raw = (0, binaryValue_1.binaryValue)(n);
12
+ try {
13
+ // Intentamos decodificar
14
+ const buf = Buffer.from(raw, "base64");
15
+ // Re-encode para verificar consistencia
16
+ // (evita aceptar cadenas parcialmente válidas)
17
+ const reencoded = buf.toString("base64");
18
+ // Normalizamos padding para comparar
19
+ const normalizedInput = raw.replace(/=+$/, "");
20
+ const normalizedReencoded = reencoded.replace(/=+$/, "");
21
+ if (normalizedInput !== normalizedReencoded) {
22
+ throw new ValidationException_1.ValidationException(n.getLine(), "INVALID_VALUE", `Node '${n.getName()}' Invalid Base64`);
23
+ }
24
+ }
25
+ catch {
26
+ throw new ValidationException_1.ValidationException(n.getLine(), "INVALID_VALUE", `Node '${n.getName()}' Invalid Base64`);
27
+ }
28
+ },
29
+ };
30
+ //# sourceMappingURL=BASE64.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BASE64.js","sourceRoot":"","sources":["../../../src/schema/type/BASE64.ts"],"names":[],"mappings":";;;AACA,8EAA2E;AAI3E,+CAA4C;AAE/B,QAAA,MAAM,GAAS;IACxB,OAAO;QACH,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,QAAQ,CAAC,IAAoB,EAAE,CAAO;QAClC,MAAM,GAAG,GAAG,IAAA,yBAAW,EAAC,CAAC,CAAC,CAAC;QAE3B,IAAI,CAAC;YACD,yBAAyB;YACzB,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAEvC,wCAAwC;YACxC,+CAA+C;YAC/C,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAEzC,qCAAqC;YACrC,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC/C,MAAM,mBAAmB,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAEzD,IAAI,eAAe,KAAK,mBAAmB,EAAE,CAAC;gBAC1C,MAAM,IAAI,yCAAmB,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;YACxG,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACL,MAAM,IAAI,yCAAmB,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;QACxG,CAAC;IACL,CAAC;CACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Type } from "../Type";
2
+ export declare const BINARY: Type;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BINARY = void 0;
4
+ const ValidationException_1 = require("../../exceptions/ValidationException");
5
+ const binaryValue_1 = require("./binaryValue");
6
+ exports.BINARY = {
7
+ getName() {
8
+ return "BINARY";
9
+ },
10
+ // STXT-SCHEMA-SPEC 9.5: cadena [01]+
11
+ validate(ndef, n) {
12
+ const value = (0, binaryValue_1.binaryValue)(n);
13
+ if (!/^[01]+$/.test(value)) {
14
+ throw new ValidationException_1.ValidationException(n.getLine(), "INVALID_VALUE", `${n.getName()}: Invalid binary (${value})`);
15
+ }
16
+ },
17
+ };
18
+ //# sourceMappingURL=BINARY.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BINARY.js","sourceRoot":"","sources":["../../../src/schema/type/BINARY.ts"],"names":[],"mappings":";;;AACA,8EAA2E;AAG3E,+CAA4C;AAE/B,QAAA,MAAM,GAAS;IAC3B,OAAO;QACN,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,qCAAqC;IACrC,QAAQ,CAAC,IAAoB,EAAE,CAAO;QACrC,MAAM,KAAK,GAAG,IAAA,yBAAW,EAAC,CAAC,CAAC,CAAC;QAE7B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,yCAAmB,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,eAAe,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,qBAAqB,KAAK,GAAG,CAAC,CAAC;QAC1G,CAAC;IACF,CAAC;CACD,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Type } from "../Type";
2
+ export declare const BLOCK: Type;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BLOCK = void 0;
4
+ const ValidationException_1 = require("../../exceptions/ValidationException");
5
+ exports.BLOCK = {
6
+ getName() {
7
+ return "BLOCK";
8
+ },
9
+ validate(nodeDef, node) {
10
+ // Forma del valor BLOCK (STXT-SCHEMA-SPEC 9.2): sólo bloque '>>', no forma inline
11
+ if (!node.isTextNode()) {
12
+ throw new ValidationException_1.ValidationException(node.getLine(), "BLOCK_FORM_REQUIRED", `Node ${node.getQualifiedName()} requires block form '>>'`);
13
+ }
14
+ },
15
+ };
16
+ //# sourceMappingURL=BLOCK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BLOCK.js","sourceRoot":"","sources":["../../../src/schema/type/BLOCK.ts"],"names":[],"mappings":";;;AACA,8EAA2E;AAI9D,QAAA,KAAK,GAAS;IAC1B,OAAO;QACN,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,QAAQ,CAAC,OAAuB,EAAE,IAAU;QAC3C,kFAAkF;QAClF,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;YACxB,MAAM,IAAI,yCAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAC,qBAAqB,EAAC,QAAQ,IAAI,CAAC,gBAAgB,EAAE,2BAA2B,CAAC,CAAC;QAChI,CAAC;IACF,CAAC;CACD,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const BOOLEAN: import("../Type").Type;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BOOLEAN = void 0;
4
+ const regexType_1 = require("./regexType");
5
+ exports.BOOLEAN = (0, regexType_1.regexType)("BOOLEAN", /^(true|false)$/, "Invalid boolean");
6
+ //# sourceMappingURL=BOOLEAN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BOOLEAN.js","sourceRoot":"","sources":["../../../src/schema/type/BOOLEAN.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AAE3B,QAAA,OAAO,GAAG,IAAA,qBAAS,EAAC,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const DATE: import("../Type").Type;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DATE = void 0;
4
+ const regexType_1 = require("./regexType");
5
+ exports.DATE = (0, regexType_1.regexType)("DATE", /^\d{4}-\d{2}-\d{2}$/, "Invalid date");
6
+ //# sourceMappingURL=DATE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DATE.js","sourceRoot":"","sources":["../../../src/schema/type/DATE.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AAE3B,QAAA,IAAI,GAAG,IAAA,qBAAS,EAAC,MAAM,EAAC,qBAAqB,EAAC,cAAc,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const EMAIL: import("../Type").Type;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EMAIL = void 0;
4
+ const regexType_1 = require("./regexType");
5
+ exports.EMAIL = (0, regexType_1.regexType)("EMAIL", /^(?=.{1,256}$)(?=.{1,64}@.{1,255}$)(?=.{1,64}@.{1,63}\..{1,63}$)[A-Za-z0-9!#$%&'*+/=?^_`{|}~.-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$/, "Invalid email");
6
+ //# sourceMappingURL=EMAIL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EMAIL.js","sourceRoot":"","sources":["../../../src/schema/type/EMAIL.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AAE3B,QAAA,KAAK,GAAG,IAAA,qBAAS,EAAC,OAAO,EAClC,gIAAgI,EAClI,eAAe,CAChB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Type } from "../Type";
2
+ export declare const ENUM: Type;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ENUM = void 0;
4
+ const ValidationException_1 = require("../../exceptions/ValidationException");
5
+ exports.ENUM = {
6
+ getName() {
7
+ return "ENUM";
8
+ },
9
+ validate(nodeDef, node) {
10
+ // Forma del valor INLINE (STXT-SCHEMA-SPEC 9.3): no admite bloque '>>'
11
+ if (node.isTextNode()) {
12
+ throw new ValidationException_1.ValidationException(node.getLine(), "NOT_ALLOWED_TEXT", `Not allowed text in node ${node.getQualifiedName()}`);
13
+ }
14
+ const value = node.getValue();
15
+ const allowed = nodeDef.getValues(); // ReadonlySet<string>
16
+ if (!nodeDef.isAllowedValue(value)) {
17
+ throw new ValidationException_1.ValidationException(node.getLine(), "INVALID_VALUE", `The value '${value}' not allowed. Only: ${Array.from(allowed).join(", ")}`);
18
+ }
19
+ },
20
+ };
21
+ //# sourceMappingURL=ENUM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ENUM.js","sourceRoot":"","sources":["../../../src/schema/type/ENUM.ts"],"names":[],"mappings":";;;AACA,8EAA2E;AAI9D,QAAA,IAAI,GAAS;IACtB,OAAO;QACH,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,QAAQ,CAAC,OAAuB,EAAE,IAAU;QACxC,uEAAuE;QACvE,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;YACpB,MAAM,IAAI,yCAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAC,kBAAkB,EAAC,4BAA4B,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QAC3H,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,sBAAsB;QAE3D,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,yCAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAC,eAAe,EAAC,cAAc,KAAK,wBAAwB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9I,CAAC;IACL,CAAC;CACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Type } from "../Type";
2
+ export declare const GROUP: Type;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GROUP = void 0;
4
+ const ValidationException_1 = require("../../exceptions/ValidationException");
5
+ exports.GROUP = {
6
+ getName() {
7
+ return "GROUP";
8
+ },
9
+ validate(nodeDef, node) {
10
+ // Forma del valor NONE (STXT-SCHEMA-SPEC 9.2): ni valor inline ni bloque '>>'
11
+ if (node.getValue().length > 0 || node.isTextNode()) {
12
+ throw new ValidationException_1.ValidationException(node.getLine(), "INVALID_VALUE", `Node '${node.getName()}' has to be empty`);
13
+ }
14
+ },
15
+ };
16
+ //# sourceMappingURL=GROUP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GROUP.js","sourceRoot":"","sources":["../../../src/schema/type/GROUP.ts"],"names":[],"mappings":";;;AACA,8EAA2E;AAI9D,QAAA,KAAK,GAAS;IAC1B,OAAO;QACN,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,QAAQ,CAAC,OAAuB,EAAE,IAAU;QAC3C,8EAA8E;QAC9E,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;YACrD,MAAM,IAAI,yCAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAC,eAAe,EAAC,SAAS,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;QAC1G,CAAC;IACF,CAAC;CACD,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Type } from "../Type";
2
+ export declare const HEXADECIMAL: Type;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HEXADECIMAL = void 0;
4
+ const ValidationException_1 = require("../../exceptions/ValidationException");
5
+ const binaryValue_1 = require("./binaryValue");
6
+ exports.HEXADECIMAL = {
7
+ getName() {
8
+ return "HEXADECIMAL";
9
+ },
10
+ // STXT-SCHEMA-SPEC 9.5: cadena [0-9A-Fa-f]+ (sin prefijo '#' ni longitud par)
11
+ validate(ndef, n) {
12
+ const value = (0, binaryValue_1.binaryValue)(n);
13
+ if (!/^[0-9A-Fa-f]+$/.test(value)) {
14
+ throw new ValidationException_1.ValidationException(n.getLine(), "INVALID_VALUE", `${n.getName()}: Invalid hexadecimal (${value})`);
15
+ }
16
+ },
17
+ };
18
+ //# sourceMappingURL=HEXADECIMAL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HEXADECIMAL.js","sourceRoot":"","sources":["../../../src/schema/type/HEXADECIMAL.ts"],"names":[],"mappings":";;;AACA,8EAA2E;AAG3E,+CAA4C;AAE/B,QAAA,WAAW,GAAS;IAChC,OAAO;QACN,OAAO,aAAa,CAAC;IACtB,CAAC;IAED,8EAA8E;IAC9E,QAAQ,CAAC,IAAoB,EAAE,CAAO;QACrC,MAAM,KAAK,GAAG,IAAA,yBAAW,EAAC,CAAC,CAAC,CAAC;QAE7B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,yCAAmB,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,eAAe,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,0BAA0B,KAAK,GAAG,CAAC,CAAC;QAC/G,CAAC;IACF,CAAC;CACD,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Type } from "../Type";
2
+ export declare const INLINE: Type;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.INLINE = void 0;
4
+ const ValidationException_1 = require("../../exceptions/ValidationException");
5
+ exports.INLINE = {
6
+ getName() {
7
+ return "INLINE";
8
+ },
9
+ validate(nodeDef, node) {
10
+ // Forma del valor INLINE (STXT-SCHEMA-SPEC 9.2): no admite bloque '>>'
11
+ if (node.isTextNode()) {
12
+ throw new ValidationException_1.ValidationException(node.getLine(), "NOT_ALLOWED_TEXT", `Not allowed text in node ${node.getQualifiedName()}`);
13
+ }
14
+ },
15
+ };
16
+ //# sourceMappingURL=INLINE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"INLINE.js","sourceRoot":"","sources":["../../../src/schema/type/INLINE.ts"],"names":[],"mappings":";;;AACA,8EAA2E;AAI9D,QAAA,MAAM,GAAS;IACxB,OAAO;QACH,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,QAAQ,CAAC,OAAuB,EAAE,IAAU;QACxC,uEAAuE;QACvE,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;YACpB,MAAM,IAAI,yCAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,kBAAkB,EAAE,4BAA4B,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QAC7H,CAAC;IACL,CAAC;CACJ,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const INTEGER: import("../Type").Type;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.INTEGER = void 0;
4
+ const regexType_1 = require("./regexType");
5
+ exports.INTEGER = (0, regexType_1.regexType)("INTEGER", /^[-+]?\d+$/, "Invalid integer");
6
+ //# sourceMappingURL=INTEGER.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"INTEGER.js","sourceRoot":"","sources":["../../../src/schema/type/INTEGER.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AAE3B,QAAA,OAAO,GAAG,IAAA,qBAAS,EAC/B,SAAS,EACT,YAAY,EACZ,iBAAiB,CACjB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Type } from "../Type";
2
+ export declare const MARKDOWN: Type;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MARKDOWN = void 0;
4
+ const ValidationException_1 = require("../../exceptions/ValidationException");
5
+ // STXT-SCHEMA-SPEC 9.7: a efectos de validación equivale a TEXT
6
+ // (cualquier contenido es válido; solo se prohíben hijos)
7
+ exports.MARKDOWN = {
8
+ getName() {
9
+ return "MARKDOWN";
10
+ },
11
+ validate(nodeDef, node) {
12
+ if (node.getChildren().length > 0) {
13
+ throw new ValidationException_1.ValidationException(node.getLine(), "NOT_ALLOWED_CHILDREN_TEXT", `Not allowed children nodes in node ${node.getQualifiedName()}`);
14
+ }
15
+ },
16
+ };
17
+ //# sourceMappingURL=MARKDOWN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MARKDOWN.js","sourceRoot":"","sources":["../../../src/schema/type/MARKDOWN.ts"],"names":[],"mappings":";;;AACA,8EAA2E;AAI3E,gEAAgE;AAChE,0DAA0D;AAC7C,QAAA,QAAQ,GAAS;IAC7B,OAAO;QACN,OAAO,UAAU,CAAC;IACnB,CAAC;IAED,QAAQ,CAAC,OAAuB,EAAE,IAAU;QAC3C,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,yCAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,2BAA2B,EAAE,sCAAsC,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QAC7I,CAAC;IACF,CAAC;CACD,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const NATURAL: import("../Type").Type;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NATURAL = void 0;
4
+ const regexType_1 = require("./regexType");
5
+ exports.NATURAL = (0, regexType_1.regexType)("NATURAL", /^\d+$/, "Invalid natural");
6
+ //# sourceMappingURL=NATURAL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NATURAL.js","sourceRoot":"","sources":["../../../src/schema/type/NATURAL.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AAE3B,QAAA,OAAO,GAAG,IAAA,qBAAS,EAC/B,SAAS,EACT,OAAO,EACP,iBAAiB,CACjB,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const NUMBER: import("../Type").Type;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NUMBER = void 0;
4
+ const regexType_1 = require("./regexType");
5
+ exports.NUMBER = (0, regexType_1.regexType)("NUMBER", /^[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?$/, "Invalid number");
6
+ //# sourceMappingURL=NUMBER.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NUMBER.js","sourceRoot":"","sources":["../../../src/schema/type/NUMBER.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AAE3B,QAAA,MAAM,GAAG,IAAA,qBAAS,EAC9B,QAAQ,EACR,iDAAiD,EACjD,gBAAgB,CAChB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Type } from "../Type";
2
+ export declare const TEXT: Type;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TEXT = void 0;
4
+ const ValidationException_1 = require("../../exceptions/ValidationException");
5
+ exports.TEXT = {
6
+ getName() {
7
+ return "TEXT";
8
+ },
9
+ validate(nodeDef, node) {
10
+ if (node.getChildren().length > 0) {
11
+ throw new ValidationException_1.ValidationException(node.getLine(), "NOT_ALLOWED_CHILDREN_TEXT", `Not allowed children nodes in node ${node.getQualifiedName()}`);
12
+ }
13
+ },
14
+ };
15
+ //# sourceMappingURL=TEXT.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TEXT.js","sourceRoot":"","sources":["../../../src/schema/type/TEXT.ts"],"names":[],"mappings":";;;AACA,8EAA2E;AAI9D,QAAA,IAAI,GAAS;IACzB,OAAO;QACN,OAAO,MAAM,CAAC;IACf,CAAC;IAED,QAAQ,CAAC,OAAuB,EAAE,IAAU;QAC3C,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,yCAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,2BAA2B,EAAE,sCAAsC,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QAC7I,CAAC;IACF,CAAC;CACD,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const TIME: import("../Type").Type;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TIME = void 0;
4
+ const regexType_1 = require("./regexType");
5
+ exports.TIME = (0, regexType_1.regexType)("TIME", /^\d{2}:\d{2}:\d{2}$/, "Invalid time");
6
+ //# sourceMappingURL=TIME.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TIME.js","sourceRoot":"","sources":["../../../src/schema/type/TIME.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AAE3B,QAAA,IAAI,GAAG,IAAA,qBAAS,EAC5B,MAAM,EACN,qBAAqB,EACrB,cAAc,CACd,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const TIMESTAMP: import("../Type").Type;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TIMESTAMP = void 0;
4
+ const regexType_1 = require("./regexType");
5
+ exports.TIMESTAMP = (0, regexType_1.regexType)("TIMESTAMP", /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}(:\d{2}(\.\d{3})?)?(Z|[+-]\d{2}:\d{2})?$/, "Invalid timestamp");
6
+ //# sourceMappingURL=TIMESTAMP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TIMESTAMP.js","sourceRoot":"","sources":["../../../src/schema/type/TIMESTAMP.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AAE3B,QAAA,SAAS,GAAG,IAAA,qBAAS,EACjC,WAAW,EACX,wEAAwE,EACxE,mBAAmB,CACnB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Type } from "../Type";
2
+ export declare const URL: Type;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.URL = void 0;
4
+ const ValidationException_1 = require("../../exceptions/ValidationException");
5
+ exports.URL = {
6
+ getName() {
7
+ return "URL";
8
+ },
9
+ validate(ndef, n) {
10
+ // Forma del valor INLINE (STXT-SCHEMA-SPEC 9.4): no admite bloque '>>'
11
+ if (n.isTextNode()) {
12
+ throw new ValidationException_1.ValidationException(n.getLine(), "NOT_ALLOWED_TEXT", `Not allowed text in node ${n.getQualifiedName()}`);
13
+ }
14
+ const url = n.getValue();
15
+ try {
16
+ const parsed = new globalThis.URL(url);
17
+ const ok = !!parsed.protocol && !!parsed.hostname;
18
+ if (!ok) {
19
+ throw new ValidationException_1.ValidationException(n.getLine(), "INVALID_URL_STRUCTURE", `Invalid URL: ${url}`);
20
+ }
21
+ }
22
+ catch {
23
+ throw new ValidationException_1.ValidationException(n.getLine(), "INVALID_VALUE", `Invalid URL: ${url}`);
24
+ }
25
+ },
26
+ };
27
+ //# sourceMappingURL=URL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"URL.js","sourceRoot":"","sources":["../../../src/schema/type/URL.ts"],"names":[],"mappings":";;;AACA,8EAA2E;AAI9D,QAAA,GAAG,GAAS;IACxB,OAAO;QACN,OAAO,KAAK,CAAC;IACd,CAAC;IAED,QAAQ,CAAC,IAAoB,EAAE,CAAO;QACrC,uEAAuE;QACvE,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC;YACpB,MAAM,IAAI,yCAAmB,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,kBAAkB,EAAE,4BAA4B,CAAC,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QACpH,CAAC;QAED,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;QAEzB,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACvC,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;YAElD,IAAI,CAAC,EAAE,EAAE,CAAC;gBACT,MAAM,IAAI,yCAAmB,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,uBAAuB,EAAE,gBAAgB,GAAG,EAAE,CAAC,CAAC;YAC5F,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;YACR,MAAM,IAAI,yCAAmB,CAAC,CAAC,CAAC,OAAO,EAAE,EAAC,eAAe,EAAC,gBAAgB,GAAG,EAAE,CAAC,CAAC;QAClF,CAAC;IACF,CAAC;CACD,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const UUID: import("../Type").Type;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UUID = void 0;
4
+ const regexType_1 = require("./regexType");
5
+ exports.UUID = (0, regexType_1.regexType)("UUID", /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/, "Invalid UUID");
6
+ //# sourceMappingURL=UUID.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UUID.js","sourceRoot":"","sources":["../../../src/schema/type/UUID.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AAE3B,QAAA,IAAI,GAAG,IAAA,qBAAS,EAC5B,MAAM,EACN,+EAA+E,EAC/E,cAAc,CACd,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Node } from "../../core/Node";
2
+ export declare function binaryValue(node: Node): string;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.binaryValue = binaryValue;
4
+ // STXT-SCHEMA-SPEC 9.5: en la forma BLOCK la validación se aplica sobre la
5
+ // concatenación de las líneas del bloque, ignorando saltos de línea, líneas
6
+ // vacías y espacios o tabuladores iniciales y finales de cada línea.
7
+ function binaryValue(node) {
8
+ if (!node.isTextNode()) {
9
+ return node.getValue();
10
+ }
11
+ return node.getTextLines().map((line) => line.trim()).join("");
12
+ }
13
+ //# sourceMappingURL=binaryValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binaryValue.js","sourceRoot":"","sources":["../../../src/schema/type/binaryValue.ts"],"names":[],"mappings":";;AAKA,kCAKC;AARD,2EAA2E;AAC3E,4EAA4E;AAC5E,qEAAqE;AACrE,SAAgB,WAAW,CAAC,IAAU;IACrC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;IACD,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChE,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Type } from "../Type";
2
+ export declare function regexType(name: string, pattern: RegExp, error: string): Type;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.regexType = regexType;
4
+ const ValidationException_1 = require("../../exceptions/ValidationException");
5
+ function regexType(name, pattern, error) {
6
+ return {
7
+ getName: () => name,
8
+ validate(nodeDef, node) {
9
+ // Forma del valor INLINE (STXT-SCHEMA-SPEC 9.3/9.4): no admite bloque '>>'
10
+ if (node.isTextNode()) {
11
+ throw new ValidationException_1.ValidationException(node.getLine(), "NOT_ALLOWED_TEXT", `Not allowed text in node ${node.getQualifiedName()}`);
12
+ }
13
+ const value = node.getText();
14
+ if (!pattern.test(value)) {
15
+ throw new ValidationException_1.ValidationException(node.getLine(), "INVALID_VALUE", `${node.getName()}: ${error} (${value})`);
16
+ }
17
+ },
18
+ };
19
+ }
20
+ //# sourceMappingURL=regexType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"regexType.js","sourceRoot":"","sources":["../../../src/schema/type/regexType.ts"],"names":[],"mappings":";;AAKA,8BAgBC;AAlBD,8EAA2E;AAE3E,SAAgB,SAAS,CAAC,IAAY,EAAE,OAAe,EAAE,KAAa;IAClE,OAAO;QACH,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI;QAEnB,QAAQ,CAAC,OAAuB,EAAE,IAAU;YACxC,2EAA2E;YAC3E,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;gBACpB,MAAM,IAAI,yCAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,kBAAkB,EAAE,4BAA4B,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;YAC7H,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,yCAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAC,eAAe,EAAC,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,KAAK,KAAK,KAAK,GAAG,CAAC,CAAC;YAC3G,CAAC;QACL,CAAC;KACJ,CAAC;AACN,CAAC"}