@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.
- package/out/all.d.ts +19 -0
- package/out/all.js +42 -0
- package/out/all.js.map +1 -0
- package/out/core/Constants.d.ts +9 -0
- package/out/core/Constants.js +14 -0
- package/out/core/Constants.js.map +1 -0
- package/out/core/Line.d.ts +9 -0
- package/out/core/Line.js +17 -0
- package/out/core/Line.js.map +1 -0
- package/out/core/LineParser.d.ts +2 -0
- package/out/core/LineParser.js +72 -0
- package/out/core/LineParser.js.map +1 -0
- package/out/core/NameNamespace.d.ts +7 -0
- package/out/core/NameNamespace.js +17 -0
- package/out/core/NameNamespace.js.map +1 -0
- package/out/core/NameNamespaceParser.d.ts +5 -0
- package/out/core/NameNamespaceParser.js +43 -0
- package/out/core/NameNamespaceParser.js.map +1 -0
- package/out/core/NamespaceValidator.d.ts +4 -0
- package/out/core/NamespaceValidator.js +17 -0
- package/out/core/NamespaceValidator.js.map +1 -0
- package/out/core/Node.d.ts +29 -0
- package/out/core/Node.js +116 -0
- package/out/core/Node.js.map +1 -0
- package/out/core/NodeCreator.d.ts +3 -0
- package/out/core/NodeCreator.js +52 -0
- package/out/core/NodeCreator.js.map +1 -0
- package/out/core/ParseResult.d.ts +12 -0
- package/out/core/ParseResult.js +26 -0
- package/out/core/ParseResult.js.map +1 -0
- package/out/core/Parser.d.ts +16 -0
- package/out/core/Parser.js +142 -0
- package/out/core/Parser.js.map +1 -0
- package/out/core/StringUtils.d.ts +8 -0
- package/out/core/StringUtils.js +46 -0
- package/out/core/StringUtils.js.map +1 -0
- package/out/exceptions/ParseException.d.ts +6 -0
- package/out/exceptions/ParseException.js +17 -0
- package/out/exceptions/ParseException.js.map +1 -0
- package/out/exceptions/RuntimeException.d.ts +6 -0
- package/out/exceptions/RuntimeException.js +20 -0
- package/out/exceptions/RuntimeException.js.map +1 -0
- package/out/exceptions/ValidationException.d.ts +4 -0
- package/out/exceptions/ValidationException.js +13 -0
- package/out/exceptions/ValidationException.js.map +1 -0
- package/out/processors/Observer.d.ts +8 -0
- package/out/processors/Observer.js +3 -0
- package/out/processors/Observer.js.map +1 -0
- package/out/processors/Validator.d.ts +5 -0
- package/out/processors/Validator.js +3 -0
- package/out/processors/Validator.js.map +1 -0
- package/out/runtime/ConditionalValidator.d.ts +9 -0
- package/out/runtime/ConditionalValidator.js +18 -0
- package/out/runtime/ConditionalValidator.js.map +1 -0
- package/out/runtime/NodeWriter.d.ts +12 -0
- package/out/runtime/NodeWriter.js +59 -0
- package/out/runtime/NodeWriter.js.map +1 -0
- package/out/runtime/UnifiedSchemaProvider.d.ts +22 -0
- package/out/runtime/UnifiedSchemaProvider.js +80 -0
- package/out/runtime/UnifiedSchemaProvider.js.map +1 -0
- package/out/schema/ChildDefinition.d.ts +21 -0
- package/out/schema/ChildDefinition.js +50 -0
- package/out/schema/ChildDefinition.js.map +1 -0
- package/out/schema/NodeDefinition.d.ts +34 -0
- package/out/schema/NodeDefinition.js +74 -0
- package/out/schema/NodeDefinition.js.map +1 -0
- package/out/schema/Schema.d.ts +30 -0
- package/out/schema/Schema.js +43 -0
- package/out/schema/Schema.js.map +1 -0
- package/out/schema/SchemaParser.d.ts +3 -0
- package/out/schema/SchemaParser.js +117 -0
- package/out/schema/SchemaParser.js.map +1 -0
- package/out/schema/SchemaProvider.d.ts +4 -0
- package/out/schema/SchemaProvider.js +3 -0
- package/out/schema/SchemaProvider.js.map +1 -0
- package/out/schema/SchemaProviderMemory.d.ts +11 -0
- package/out/schema/SchemaProviderMemory.js +44 -0
- package/out/schema/SchemaProviderMemory.js.map +1 -0
- package/out/schema/SchemaProviderMeta.d.ts +8 -0
- package/out/schema/SchemaProviderMeta.js +92 -0
- package/out/schema/SchemaProviderMeta.js.map +1 -0
- package/out/schema/SchemaValidator.d.ts +16 -0
- package/out/schema/SchemaValidator.js +115 -0
- package/out/schema/SchemaValidator.js.map +1 -0
- package/out/schema/Type.d.ts +6 -0
- package/out/schema/Type.js +3 -0
- package/out/schema/Type.js.map +1 -0
- package/out/schema/TypeRegistry.d.ts +8 -0
- package/out/schema/TypeRegistry.js +69 -0
- package/out/schema/TypeRegistry.js.map +1 -0
- package/out/schema/type/BASE64.d.ts +2 -0
- package/out/schema/type/BASE64.js +30 -0
- package/out/schema/type/BASE64.js.map +1 -0
- package/out/schema/type/BINARY.d.ts +2 -0
- package/out/schema/type/BINARY.js +18 -0
- package/out/schema/type/BINARY.js.map +1 -0
- package/out/schema/type/BLOCK.d.ts +2 -0
- package/out/schema/type/BLOCK.js +16 -0
- package/out/schema/type/BLOCK.js.map +1 -0
- package/out/schema/type/BOOLEAN.d.ts +1 -0
- package/out/schema/type/BOOLEAN.js +6 -0
- package/out/schema/type/BOOLEAN.js.map +1 -0
- package/out/schema/type/DATE.d.ts +1 -0
- package/out/schema/type/DATE.js +6 -0
- package/out/schema/type/DATE.js.map +1 -0
- package/out/schema/type/EMAIL.d.ts +1 -0
- package/out/schema/type/EMAIL.js +6 -0
- package/out/schema/type/EMAIL.js.map +1 -0
- package/out/schema/type/ENUM.d.ts +2 -0
- package/out/schema/type/ENUM.js +21 -0
- package/out/schema/type/ENUM.js.map +1 -0
- package/out/schema/type/GROUP.d.ts +2 -0
- package/out/schema/type/GROUP.js +16 -0
- package/out/schema/type/GROUP.js.map +1 -0
- package/out/schema/type/HEXADECIMAL.d.ts +2 -0
- package/out/schema/type/HEXADECIMAL.js +18 -0
- package/out/schema/type/HEXADECIMAL.js.map +1 -0
- package/out/schema/type/INLINE.d.ts +2 -0
- package/out/schema/type/INLINE.js +16 -0
- package/out/schema/type/INLINE.js.map +1 -0
- package/out/schema/type/INTEGER.d.ts +1 -0
- package/out/schema/type/INTEGER.js +6 -0
- package/out/schema/type/INTEGER.js.map +1 -0
- package/out/schema/type/MARKDOWN.d.ts +2 -0
- package/out/schema/type/MARKDOWN.js +17 -0
- package/out/schema/type/MARKDOWN.js.map +1 -0
- package/out/schema/type/NATURAL.d.ts +1 -0
- package/out/schema/type/NATURAL.js +6 -0
- package/out/schema/type/NATURAL.js.map +1 -0
- package/out/schema/type/NUMBER.d.ts +1 -0
- package/out/schema/type/NUMBER.js +6 -0
- package/out/schema/type/NUMBER.js.map +1 -0
- package/out/schema/type/TEXT.d.ts +2 -0
- package/out/schema/type/TEXT.js +15 -0
- package/out/schema/type/TEXT.js.map +1 -0
- package/out/schema/type/TIME.d.ts +1 -0
- package/out/schema/type/TIME.js +6 -0
- package/out/schema/type/TIME.js.map +1 -0
- package/out/schema/type/TIMESTAMP.d.ts +1 -0
- package/out/schema/type/TIMESTAMP.js +6 -0
- package/out/schema/type/TIMESTAMP.js.map +1 -0
- package/out/schema/type/URL.d.ts +2 -0
- package/out/schema/type/URL.js +27 -0
- package/out/schema/type/URL.js.map +1 -0
- package/out/schema/type/UUID.d.ts +1 -0
- package/out/schema/type/UUID.js +6 -0
- package/out/schema/type/UUID.js.map +1 -0
- package/out/schema/type/binaryValue.d.ts +2 -0
- package/out/schema/type/binaryValue.js +13 -0
- package/out/schema/type/binaryValue.js.map +1 -0
- package/out/schema/type/regexType.d.ts +2 -0
- package/out/schema/type/regexType.js +20 -0
- package/out/schema/type/regexType.js.map +1 -0
- package/out/template/ChildLine.d.ts +12 -0
- package/out/template/ChildLine.js +28 -0
- package/out/template/ChildLine.js.map +1 -0
- package/out/template/ChildLineParser.d.ts +7 -0
- package/out/template/ChildLineParser.js +98 -0
- package/out/template/ChildLineParser.js.map +1 -0
- package/out/template/MetaTemplateSchemaProvider.d.ts +8 -0
- package/out/template/MetaTemplateSchemaProvider.js +35 -0
- package/out/template/MetaTemplateSchemaProvider.js.map +1 -0
- package/out/template/TemplateParser.d.ts +3 -0
- package/out/template/TemplateParser.js +214 -0
- package/out/template/TemplateParser.js.map +1 -0
- package/out/template/TemplateSchemaProviderMemory.d.ts +6 -0
- package/out/template/TemplateSchemaProviderMemory.js +37 -0
- package/out/template/TemplateSchemaProviderMemory.js.map +1 -0
- 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 @@
|
|
|
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,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,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,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,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,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,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,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,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,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,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,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,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"}
|