@coolon/i18n-resource-generator 3.2.2 → 3.2.4
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/CHANGELOG.md +20 -0
- package/build/main/lib/arg.js +28 -0
- package/build/{module/lib/arguments.class.d.ts → main/lib/arguments.d.ts} +1 -1
- package/build/main/lib/arguments.js +66 -0
- package/build/main/lib/ast/abstractContainerElement.d.ts +2 -2
- package/build/main/lib/ast/abstractElement.d.ts +3 -2
- package/build/main/lib/ast/abstractElement.js +5 -1
- package/build/main/lib/ast/{classDef.class.d.ts → classDef.d.ts} +2 -2
- package/build/main/lib/ast/classDef.js +26 -0
- package/build/main/lib/ast/{containerElement.class.d.ts → containerElement.d.ts} +7 -7
- package/build/main/lib/ast/containerElement.js +3 -0
- package/build/{module/lib/ast/element.class.d.ts → main/lib/ast/element.d.ts} +2 -1
- package/build/main/lib/ast/element.js +3 -0
- package/build/{module/lib/ast/functionDef.class.d.ts → main/lib/ast/functionDef.d.ts} +2 -2
- package/build/main/lib/ast/functionDef.js +17 -0
- package/build/main/lib/ast/{interfaceDef.class.d.ts → interfaceDef.d.ts} +2 -2
- package/build/main/lib/ast/interfaceDef.js +28 -0
- package/build/{module/lib/ast/jsonModule.class.d.ts → main/lib/ast/jsonModule.d.ts} +2 -2
- package/build/main/lib/ast/jsonModule.js +22 -0
- package/build/{module/lib/ast/moduleDef.class.d.ts → main/lib/ast/moduleDef.d.ts} +2 -2
- package/build/main/lib/ast/moduleDef.js +43 -0
- package/build/main/lib/ast/{namespaceDef.class.d.ts → namespaceDef.d.ts} +7 -7
- package/build/main/lib/ast/namespaceDef.js +71 -0
- package/build/main/lib/ast/{objectDef.class.d.ts → objectDef.d.ts} +7 -7
- package/build/main/lib/ast/objectDef.js +86 -0
- package/build/{module/lib/ast/statementDef.class.d.ts → main/lib/ast/statementDef.d.ts} +1 -1
- package/build/main/lib/ast/statementDef.js +15 -0
- package/build/main/lib/ast/{tempContainer.class.d.ts → tempContainer.d.ts} +1 -1
- package/build/main/lib/ast/tempContainer.js +13 -0
- package/build/main/lib/ast/{typeDef.class.d.ts → typeDef.d.ts} +1 -1
- package/build/main/lib/ast/{typeDef.class.js → typeDef.js} +1 -1
- package/build/main/lib/constructor.js +3 -0
- package/build/main/lib/customTextArrayNode.d.ts +2 -2
- package/build/main/lib/customTextArrayNode.js +6 -6
- package/build/main/lib/customTextNode.d.ts +2 -2
- package/build/main/lib/customTextNode.js +6 -6
- package/build/main/lib/{customTypeArrayNode.class.d.ts → customTypeArrayNode.d.ts} +3 -3
- package/build/main/lib/customTypeArrayNode.js +23 -0
- package/build/main/lib/{customTypeNode.class.d.ts → customTypeNode.d.ts} +2 -2
- package/build/main/lib/customTypeNode.js +50 -0
- package/build/main/lib/emptyTextNode.d.ts +10 -0
- package/build/main/lib/emptyTextNode.js +46 -0
- package/build/main/lib/enumEntryNode.d.ts +5 -3
- package/build/main/lib/enumEntryNode.js +27 -8
- package/build/main/lib/{enumNode.class.d.ts → enumNode.d.ts} +3 -3
- package/build/main/lib/enumNode.js +124 -0
- package/build/main/lib/i18nGenerator.d.ts +1 -1
- package/build/main/lib/i18nGenerator.js +16 -16
- package/build/main/lib/{i18nNode.class.d.ts → i18nNode.d.ts} +6 -5
- package/build/main/lib/i18nNode.js +188 -0
- package/build/main/lib/index.d.ts +25 -25
- package/build/main/lib/index.js +26 -26
- package/build/main/lib/leafNode.d.ts +4 -0
- package/build/main/lib/leafNode.js +8 -0
- package/build/{module/lib/namespaceNode.class.d.ts → main/lib/namespaceNode.d.ts} +2 -2
- package/build/main/lib/namespaceNode.js +17 -0
- package/build/main/lib/nullNode.d.ts +10 -0
- package/build/main/lib/nullNode.js +43 -0
- package/build/main/lib/{rootNode.class.d.ts → rootNode..d.ts} +2 -2
- package/build/main/lib/rootNode..js +89 -0
- package/build/main/lib/{textArrayNode.class.d.ts → textArrayNode.d.ts} +3 -3
- package/build/main/lib/{textArrayNode.class.js → textArrayNode.js} +5 -5
- package/build/main/lib/{textNode.class.d.ts → textNode.d.ts} +6 -5
- package/build/main/lib/textNode.js +158 -0
- package/build/main/lib/{valueNode.class.d.ts → valueNode.d.ts} +2 -2
- package/build/main/lib/valueNode.js +60 -0
- package/build/main/lib/writer.js +30 -0
- package/build/module/lib/arg.js +24 -0
- package/build/{main/lib/arguments.class.d.ts → module/lib/arguments.d.ts} +1 -1
- package/build/module/lib/arguments.js +62 -0
- package/build/module/lib/ast/abstractContainerElement.d.ts +2 -2
- package/build/module/lib/ast/abstractElement.d.ts +3 -2
- package/build/module/lib/ast/abstractElement.js +5 -1
- package/build/module/lib/ast/{classDef.class.d.ts → classDef.d.ts} +2 -2
- package/build/module/lib/ast/classDef.js +22 -0
- package/build/module/lib/ast/{containerElement.class.d.ts → containerElement.d.ts} +7 -7
- package/build/module/lib/ast/containerElement.js +2 -0
- package/build/{main/lib/ast/element.class.d.ts → module/lib/ast/element.d.ts} +2 -1
- package/build/module/lib/ast/element.js +2 -0
- package/build/{main/lib/ast/functionDef.class.d.ts → module/lib/ast/functionDef.d.ts} +2 -2
- package/build/module/lib/ast/functionDef.js +13 -0
- package/build/module/lib/ast/{interfaceDef.class.d.ts → interfaceDef.d.ts} +2 -2
- package/build/module/lib/ast/interfaceDef.js +24 -0
- package/build/{main/lib/ast/jsonModule.class.d.ts → module/lib/ast/jsonModule.d.ts} +2 -2
- package/build/module/lib/ast/jsonModule.js +18 -0
- package/build/{main/lib/ast/moduleDef.class.d.ts → module/lib/ast/moduleDef.d.ts} +2 -2
- package/build/module/lib/ast/moduleDef.js +39 -0
- package/build/module/lib/ast/{namespaceDef.class.d.ts → namespaceDef.d.ts} +7 -7
- package/build/module/lib/ast/namespaceDef.js +67 -0
- package/build/module/lib/ast/{objectDef.class.d.ts → objectDef.d.ts} +7 -7
- package/build/module/lib/ast/objectDef.js +63 -0
- package/build/{main/lib/ast/statementDef.class.d.ts → module/lib/ast/statementDef.d.ts} +1 -1
- package/build/module/lib/ast/statementDef.js +11 -0
- package/build/module/lib/ast/{tempContainer.class.d.ts → tempContainer.d.ts} +1 -1
- package/build/module/lib/ast/tempContainer.js +9 -0
- package/build/module/lib/ast/{typeDef.class.d.ts → typeDef.d.ts} +1 -1
- package/build/module/lib/ast/typeDef.js +11 -0
- package/build/module/lib/constructor.js +2 -0
- package/build/module/lib/customTextArrayNode.d.ts +2 -2
- package/build/module/lib/customTextArrayNode.js +3 -3
- package/build/module/lib/customTextNode.d.ts +2 -2
- package/build/module/lib/customTextNode.js +3 -3
- package/build/module/lib/{customTypeArrayNode.class.d.ts → customTypeArrayNode.d.ts} +3 -3
- package/build/module/lib/customTypeArrayNode.js +19 -0
- package/build/module/lib/{customTypeNode.class.d.ts → customTypeNode.d.ts} +2 -2
- package/build/module/lib/customTypeNode.js +46 -0
- package/build/module/lib/emptyTextNode.d.ts +10 -0
- package/build/module/lib/emptyTextNode.js +23 -0
- package/build/module/lib/enumEntryNode.d.ts +5 -3
- package/build/module/lib/enumEntryNode.js +25 -6
- package/build/module/lib/{enumNode.class.d.ts → enumNode.d.ts} +3 -3
- package/build/module/lib/enumNode.js +101 -0
- package/build/module/lib/i18nGenerator.d.ts +1 -1
- package/build/module/lib/i18nGenerator.js +11 -11
- package/build/module/lib/{i18nNode.class.d.ts → i18nNode.d.ts} +6 -5
- package/build/module/lib/i18nNode.js +162 -0
- package/build/module/lib/index.d.ts +25 -25
- package/build/module/lib/index.js +26 -26
- package/build/module/lib/leafNode.d.ts +4 -0
- package/build/module/lib/leafNode.js +4 -0
- package/build/{main/lib/namespaceNode.class.d.ts → module/lib/namespaceNode.d.ts} +2 -2
- package/build/module/lib/namespaceNode.js +13 -0
- package/build/module/lib/nullNode.d.ts +10 -0
- package/build/module/lib/nullNode.js +20 -0
- package/build/module/lib/{rootNode.class.d.ts → rootNode..d.ts} +2 -2
- package/build/module/lib/rootNode..js +85 -0
- package/build/module/lib/{textArrayNode.class.d.ts → textArrayNode.d.ts} +3 -3
- package/build/module/lib/textArrayNode.js +26 -0
- package/build/module/lib/{textNode.class.d.ts → textNode.d.ts} +6 -5
- package/build/module/lib/textNode.js +132 -0
- package/build/module/lib/{valueNode.class.d.ts → valueNode.d.ts} +2 -2
- package/build/module/lib/valueNode.js +37 -0
- package/build/module/lib/writer.js +26 -0
- package/package.json +3 -2
- package/build/main/lib/arg.class.js +0 -28
- package/build/main/lib/arguments.class.js +0 -66
- package/build/main/lib/ast/classDef.class.js +0 -26
- package/build/main/lib/ast/containerElement.class.js +0 -3
- package/build/main/lib/ast/element.class.js +0 -3
- package/build/main/lib/ast/functionDef.class.js +0 -17
- package/build/main/lib/ast/interfaceDef.class.js +0 -28
- package/build/main/lib/ast/jsonModule.class.js +0 -22
- package/build/main/lib/ast/moduleDef.class.js +0 -43
- package/build/main/lib/ast/namespaceDef.class.js +0 -71
- package/build/main/lib/ast/objectDef.class.js +0 -86
- package/build/main/lib/ast/statementDef.class.js +0 -15
- package/build/main/lib/ast/tempContainer.class.js +0 -13
- package/build/main/lib/constructor.class.js +0 -3
- package/build/main/lib/customTypeArrayNode.class.js +0 -23
- package/build/main/lib/customTypeNode.class.js +0 -48
- package/build/main/lib/enumNode.class.js +0 -118
- package/build/main/lib/i18nNode.class.js +0 -185
- package/build/main/lib/namespaceNode.class.js +0 -17
- package/build/main/lib/rootNode.class.js +0 -89
- package/build/main/lib/textNode.class.js +0 -155
- package/build/main/lib/valueNode.class.js +0 -60
- package/build/main/lib/writer.class.js +0 -30
- package/build/module/lib/arg.class.js +0 -24
- package/build/module/lib/arguments.class.js +0 -62
- package/build/module/lib/ast/classDef.class.js +0 -22
- package/build/module/lib/ast/containerElement.class.js +0 -2
- package/build/module/lib/ast/element.class.js +0 -2
- package/build/module/lib/ast/functionDef.class.js +0 -13
- package/build/module/lib/ast/interfaceDef.class.js +0 -24
- package/build/module/lib/ast/jsonModule.class.js +0 -18
- package/build/module/lib/ast/moduleDef.class.js +0 -39
- package/build/module/lib/ast/namespaceDef.class.js +0 -67
- package/build/module/lib/ast/objectDef.class.js +0 -63
- package/build/module/lib/ast/statementDef.class.js +0 -11
- package/build/module/lib/ast/tempContainer.class.js +0 -9
- package/build/module/lib/ast/typeDef.class.js +0 -11
- package/build/module/lib/constructor.class.js +0 -2
- package/build/module/lib/customTypeArrayNode.class.js +0 -19
- package/build/module/lib/customTypeNode.class.js +0 -44
- package/build/module/lib/enumNode.class.js +0 -95
- package/build/module/lib/i18nNode.class.js +0 -159
- package/build/module/lib/namespaceNode.class.js +0 -13
- package/build/module/lib/rootNode.class.js +0 -85
- package/build/module/lib/textArrayNode.class.js +0 -26
- package/build/module/lib/textNode.class.js +0 -129
- package/build/module/lib/valueNode.class.js +0 -37
- package/build/module/lib/writer.class.js +0 -26
- /package/build/main/lib/{arg.class.d.ts → arg.d.ts} +0 -0
- /package/build/main/lib/{constructor.class.d.ts → constructor.d.ts} +0 -0
- /package/build/main/lib/{writer.class.d.ts → writer.d.ts} +0 -0
- /package/build/module/lib/{arg.class.d.ts → arg.d.ts} +0 -0
- /package/build/module/lib/{constructor.class.d.ts → constructor.d.ts} +0 -0
- /package/build/module/lib/{writer.class.d.ts → writer.d.ts} +0 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StatementDef = void 0;
|
|
4
|
+
const abstractElement_1 = require("./abstractElement");
|
|
5
|
+
class StatementDef extends abstractElement_1.AbstractElement {
|
|
6
|
+
constructor(line) {
|
|
7
|
+
super('');
|
|
8
|
+
this.line = line;
|
|
9
|
+
}
|
|
10
|
+
writeBody(writer) {
|
|
11
|
+
writer.println(`${this.line}${this.line.endsWith(';') ? '' : ';'}`);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.StatementDef = StatementDef;
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGVtZW50RGVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9hc3Qvc3RhdGVtZW50RGVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHVEQUFvRDtBQUVwRCxNQUFhLFlBQWEsU0FBUSxpQ0FBZTtJQUMvQyxZQUFvQixJQUFZO1FBQzlCLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQURRLFNBQUksR0FBSixJQUFJLENBQVE7SUFFaEMsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUFjO1FBQ3RCLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDdEUsQ0FBQztDQUNGO0FBUkQsb0NBUUMifQ==
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TempContainer = void 0;
|
|
4
|
+
const objectDef_1 = require("./objectDef");
|
|
5
|
+
// Exists to create structures that don't automatically get
|
|
6
|
+
// written out by their parents.
|
|
7
|
+
class TempContainer extends objectDef_1.ObjectDef {
|
|
8
|
+
constructor() {
|
|
9
|
+
super('!!temp!!');
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.TempContainer = TempContainer;
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcENvbnRhaW5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvYXN0L3RlbXBDb250YWluZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMkNBQXNDO0FBRXRDLDJEQUEyRDtBQUMzRCxnQ0FBZ0M7QUFDaEMsTUFBYSxhQUFjLFNBQVEscUJBQVM7SUFDeEM7UUFDSSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdEIsQ0FBQztDQUNKO0FBSkQsc0NBSUMifQ==
|
|
@@ -12,4 +12,4 @@ class TypeDef extends abstractElement_1.AbstractElement {
|
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
exports.TypeDef = TypeDef;
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZURlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvYXN0L3R5cGVEZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsdURBQWtEO0FBRWxELE1BQWEsT0FBUSxTQUFRLGlDQUFlO0lBRXhDLFlBQVksSUFBWSxFQUFrQixLQUFZO1FBQ2xELEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUQwQixVQUFLLEdBQUwsS0FBSyxDQUFPO0lBRXRELENBQUM7SUFFRCxTQUFTLENBQUMsTUFBYztRQUNwQixPQUFPO0lBQ1gsQ0FBQztDQUNKO0FBVEQsMEJBU0MifQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RydWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2NvbnN0cnVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ContainerElement } from './ast/containerElement
|
|
1
|
+
import { ContainerElement } from './ast/containerElement';
|
|
2
2
|
import { NodeName } from './nodeName';
|
|
3
|
-
import { TextArrayNode } from './textArrayNode
|
|
3
|
+
import { TextArrayNode } from './textArrayNode';
|
|
4
4
|
export declare class CustomTextArrayNode extends TextArrayNode {
|
|
5
5
|
static matches(name: NodeName, yamlData: any): boolean;
|
|
6
6
|
generateApi(container: ContainerElement): void;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CustomTextArrayNode = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
class CustomTextArrayNode extends
|
|
4
|
+
const arguments_1 = require("./arguments");
|
|
5
|
+
const textArrayNode_1 = require("./textArrayNode");
|
|
6
|
+
class CustomTextArrayNode extends textArrayNode_1.TextArrayNode {
|
|
7
7
|
static matches(name, yamlData) {
|
|
8
|
-
return
|
|
8
|
+
return textArrayNode_1.TextArrayNode.matches(name, yamlData);
|
|
9
9
|
}
|
|
10
10
|
generateApi(container) {
|
|
11
|
-
container.createFunction(this.name.asJsIdentifier,
|
|
11
|
+
container.createFunction(this.name.asJsIdentifier, arguments_1.Arguments.empty(), 'string[]', out => {
|
|
12
12
|
this.createFunctionBody(out);
|
|
13
13
|
});
|
|
14
14
|
}
|
|
@@ -17,4 +17,4 @@ class CustomTextArrayNode extends textArrayNode_class_1.TextArrayNode {
|
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
19
|
exports.CustomTextArrayNode = CustomTextArrayNode;
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tVGV4dEFycmF5Tm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvY3VzdG9tVGV4dEFycmF5Tm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBd0M7QUFHeEMsbURBQWdEO0FBRWhELE1BQWEsbUJBQW9CLFNBQVEsNkJBQWE7SUFFcEQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFjLEVBQUUsUUFBYTtRQUMxQyxPQUFPLDZCQUFhLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsV0FBVyxDQUFDLFNBQTJCO1FBQ3JDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUscUJBQVMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxVQUFVLEVBQUUsR0FBRyxDQUFDLEVBQUU7WUFDdEYsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGtCQUFrQixDQUFDLEdBQUc7UUFDcEIsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDckUsQ0FBQztDQUVGO0FBaEJELGtEQWdCQyJ9
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ContainerElement } from './ast/containerElement
|
|
1
|
+
import { ContainerElement } from './ast/containerElement';
|
|
2
2
|
import { NodeName } from './nodeName';
|
|
3
|
-
import { TextNode } from './textNode
|
|
3
|
+
import { TextNode } from './textNode';
|
|
4
4
|
export declare class CustomTextNode extends TextNode {
|
|
5
5
|
static matches(name: NodeName, yamlData: any): boolean;
|
|
6
6
|
generateApi(container: ContainerElement): void;
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CustomTextNode = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
class CustomTextNode extends
|
|
4
|
+
const arguments_1 = require("./arguments");
|
|
5
|
+
const textNode_1 = require("./textNode");
|
|
6
|
+
class CustomTextNode extends textNode_1.TextNode {
|
|
7
7
|
static matches(name, yamlData) {
|
|
8
|
-
return
|
|
8
|
+
return textNode_1.TextNode.matches(name, yamlData);
|
|
9
9
|
}
|
|
10
10
|
generateApi(container) {
|
|
11
11
|
// we get our args from our outer function.
|
|
12
|
-
container.createFunction(this.name.asJsIdentifier,
|
|
12
|
+
container.createFunction(this.name.asJsIdentifier, arguments_1.Arguments.empty(), 'string', out => {
|
|
13
13
|
this.createFunctionBody(out);
|
|
14
14
|
});
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
exports.CustomTextNode = CustomTextNode;
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tVGV4dE5vZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2N1c3RvbVRleHROb2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUF3QztBQUd4Qyx5Q0FBc0M7QUFFdEMsTUFBYSxjQUFlLFNBQVEsbUJBQVE7SUFFMUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFjLEVBQUUsUUFBYTtRQUMxQyxPQUFPLG1CQUFRLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsV0FBVyxDQUFDLFNBQTJCO1FBQ3JDLDJDQUEyQztRQUMzQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLHFCQUFTLENBQUMsS0FBSyxFQUFFLEVBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxFQUFFO1lBQ3BGLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQVpELHdDQVlDIn0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ContainerElement } from './ast/containerElement
|
|
2
|
-
import { Constructor } from './constructor
|
|
3
|
-
import { I18nNode } from './i18nNode
|
|
1
|
+
import { ContainerElement } from './ast/containerElement';
|
|
2
|
+
import { Constructor } from './constructor';
|
|
3
|
+
import { I18nNode } from './i18nNode';
|
|
4
4
|
import { NodeName } from './nodeName';
|
|
5
5
|
export declare class CustomTypeArrayNode extends I18nNode {
|
|
6
6
|
private customType;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CustomTypeArrayNode = void 0;
|
|
4
|
+
const customTypeNode_1 = require("./customTypeNode");
|
|
5
|
+
const i18nNode_1 = require("./i18nNode");
|
|
6
|
+
const nodeName_1 = require("./nodeName");
|
|
7
|
+
class CustomTypeArrayNode extends i18nNode_1.I18nNode {
|
|
8
|
+
static matches(name, yamlData) {
|
|
9
|
+
return yamlData && name.customTypeName && name.isArray;
|
|
10
|
+
}
|
|
11
|
+
parseChild(name, data, defaultNodeType) {
|
|
12
|
+
return super.parseChild(nodeName_1.NodeName.parse(`${name.safeName}(${this.name.customTypeName})`), data, customTypeNode_1.CustomTypeNode);
|
|
13
|
+
}
|
|
14
|
+
generateApi(parent) {
|
|
15
|
+
parent.nestedContainer(this.namespaceName, namespace => {
|
|
16
|
+
this.eachChild(child => {
|
|
17
|
+
child.generateApi(namespace);
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.CustomTypeArrayNode = CustomTypeArrayNode;
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tVHlwZUFycmF5Tm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvY3VzdG9tVHlwZUFycmF5Tm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxxREFBa0Q7QUFFbEQseUNBQXNDO0FBQ3RDLHlDQUFzQztBQUV0QyxNQUFhLG1CQUFvQixTQUFRLG1CQUFRO0lBSS9DLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBYyxFQUFFLFFBQWE7UUFDMUMsT0FBTyxRQUFRLElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3pELENBQUM7SUFFUyxVQUFVLENBQXFCLElBQWMsRUFBRSxJQUFTLEVBQUUsZUFBK0I7UUFDakcsT0FBTyxLQUFLLENBQUMsVUFBVSxDQUFDLG1CQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLCtCQUFjLENBQUMsQ0FBQztJQUNqSCxDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQXdCO1FBQ2xDLE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsRUFBRTtZQUNyRCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNyQixLQUFLLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQy9CLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBRUY7QUFwQkQsa0RBb0JDIn0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ContainerElement } from './ast/containerElement
|
|
2
|
-
import { I18nNode, NodeConstructor } from './i18nNode
|
|
1
|
+
import { ContainerElement } from './ast/containerElement';
|
|
2
|
+
import { I18nNode, NodeConstructor } from './i18nNode';
|
|
3
3
|
import { NodeName } from './nodeName';
|
|
4
4
|
export declare class CustomTypeNode extends I18nNode {
|
|
5
5
|
static matches(name: NodeName, yamlData: any): boolean;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CustomTypeNode = void 0;
|
|
4
|
+
const objectDef_1 = require("./ast/objectDef");
|
|
5
|
+
const customTextArrayNode_1 = require("./customTextArrayNode");
|
|
6
|
+
const customTextNode_1 = require("./customTextNode");
|
|
7
|
+
const emptyTextNode_1 = require("./emptyTextNode");
|
|
8
|
+
const i18nNode_1 = require("./i18nNode");
|
|
9
|
+
const nullNode_1 = require("./nullNode");
|
|
10
|
+
const valueNode_1 = require("./valueNode");
|
|
11
|
+
class CustomTypeNode extends i18nNode_1.I18nNode {
|
|
12
|
+
static matches(name, yamlData) {
|
|
13
|
+
return yamlData && name.customTypeName && !name.isArray;
|
|
14
|
+
}
|
|
15
|
+
supportedChildNodeTypes() {
|
|
16
|
+
return [emptyTextNode_1.EmptyTextNode, customTextArrayNode_1.CustomTextArrayNode, customTextNode_1.CustomTextNode, valueNode_1.ValueNode, nullNode_1.NullNode];
|
|
17
|
+
}
|
|
18
|
+
parse(container) {
|
|
19
|
+
super.parse(container);
|
|
20
|
+
this.eachChild(child => this.getArgs().merge(child.getArgs()));
|
|
21
|
+
}
|
|
22
|
+
generateApi(parent) {
|
|
23
|
+
if (this.hasArgs()) {
|
|
24
|
+
const tempContainer = new objectDef_1.ObjectDef('!temp!');
|
|
25
|
+
this.eachChild(child => {
|
|
26
|
+
child.generateApi(tempContainer);
|
|
27
|
+
});
|
|
28
|
+
parent.createFunction(this.name.asJsIdentifier, this.getArgs(), this.name.customTypeName, body => {
|
|
29
|
+
body.println('return {');
|
|
30
|
+
body.indent(out => {
|
|
31
|
+
tempContainer.writeBody(out);
|
|
32
|
+
});
|
|
33
|
+
body.println('}');
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
parent.createObject(this.name.asJsIdentifier, def => {
|
|
38
|
+
def.asType(this.name.customTypeName);
|
|
39
|
+
this.eachChild(child => {
|
|
40
|
+
child.generateApi(def);
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
get namespaceName() {
|
|
46
|
+
return super.namespaceName;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.CustomTypeNode = CustomTypeNode;
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tVHlwZU5vZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2N1c3RvbVR5cGVOb2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLCtDQUE0QztBQUM1QywrREFBNEQ7QUFDNUQscURBQWtEO0FBQ2xELG1EQUFnRDtBQUVoRCx5Q0FBdUQ7QUFFdkQseUNBQXNDO0FBQ3RDLDJDQUF3QztBQUd4QyxNQUFhLGNBQWUsU0FBUSxtQkFBUTtJQUUxQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQWMsRUFBRSxRQUFhO1FBQzFDLE9BQU8sUUFBUSxJQUFJLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQzFELENBQUM7SUFFRCx1QkFBdUI7UUFDckIsT0FBTyxDQUFDLDZCQUFhLEVBQUUseUNBQW1CLEVBQUUsK0JBQWMsRUFBRSxxQkFBUyxFQUFFLG1CQUFRLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBRUQsS0FBSyxDQUFDLFNBQWM7UUFDbEIsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxXQUFXLENBQUMsTUFBd0I7UUFDbEMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDbEIsTUFBTSxhQUFhLEdBQUcsSUFBSSxxQkFBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzlDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3JCLEtBQUssQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDbkMsQ0FBQyxDQUFDLENBQUM7WUFDSCxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsRUFBRTtnQkFDL0YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDaEIsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDL0IsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNwQixDQUFDLENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLEdBQUcsQ0FBQyxFQUFFO2dCQUNsRCxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7Z0JBQ3JDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQ3JCLEtBQUssQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3pCLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUVILENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLEtBQUssQ0FBQyxhQUFhLENBQUM7SUFDN0IsQ0FBQztDQUNGO0FBMUNELHdDQTBDQyJ9
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ContainerElement } from './ast/containerElement';
|
|
2
|
+
import { LeafNode } from './leafNode';
|
|
3
|
+
import { NodeName } from './nodeName';
|
|
4
|
+
export declare class EmptyTextNode extends LeafNode {
|
|
5
|
+
private data;
|
|
6
|
+
static matches(name: NodeName, yamlData: any): boolean;
|
|
7
|
+
parse(data: any): void;
|
|
8
|
+
generateApi(out: ContainerElement): void;
|
|
9
|
+
returnType(): string;
|
|
10
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.EmptyTextNode = void 0;
|
|
23
|
+
const _ = __importStar(require("lodash"));
|
|
24
|
+
const arguments_1 = require("./arguments");
|
|
25
|
+
const leafNode_1 = require("./leafNode");
|
|
26
|
+
// TODO: this isn't ready for use as it assumes all translations will have empty strings...
|
|
27
|
+
// The typical use case is for when you have a custom types node where you want to leave the value blank.
|
|
28
|
+
// Should probably handle this with a null entry and exclude it from the translation bundle.
|
|
29
|
+
class EmptyTextNode extends leafNode_1.LeafNode {
|
|
30
|
+
static matches(name, yamlData) {
|
|
31
|
+
return _.isString(yamlData) && _.isEmpty(yamlData);
|
|
32
|
+
}
|
|
33
|
+
parse(data) {
|
|
34
|
+
this.data = data;
|
|
35
|
+
}
|
|
36
|
+
generateApi(out) {
|
|
37
|
+
out.createFunction(this.name.asJsIdentifier, arguments_1.Arguments.empty(), this.returnType(), out => {
|
|
38
|
+
out.println(` return "";`);
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
returnType() {
|
|
42
|
+
return 'string';
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.EmptyTextNode = EmptyTextNode;
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHlUZXh0Tm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvZW1wdHlUZXh0Tm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMENBQTRCO0FBQzVCLDJDQUF3QztBQUl4Qyx5Q0FBc0M7QUFHdEMsMkZBQTJGO0FBQzNGLCtHQUErRztBQUMvRyxrR0FBa0c7QUFDbEcsTUFBYSxhQUFjLFNBQVEsbUJBQVE7SUFHekMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFjLEVBQUUsUUFBYTtRQUMxQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQVM7UUFDYixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQsV0FBVyxDQUFDLEdBQXFCO1FBQy9CLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUscUJBQVMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUU7WUFDdkYsR0FBRyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztDQUNGO0FBcEJELHNDQW9CQyJ9
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { ArrayMultimap } from '@teppeis/multimaps';
|
|
2
|
+
import { ContainerElement } from './ast/containerElement';
|
|
3
|
+
import { I18nNode, NodeConstructor } from './i18nNode';
|
|
3
4
|
import { NodeName } from './nodeName';
|
|
4
5
|
export declare class EnumEntryNode extends I18nNode {
|
|
5
6
|
static matches(name: NodeName, data: any): boolean;
|
|
6
|
-
getPropertiesNames(): string[];
|
|
7
7
|
supportedChildNodeTypes(): NodeConstructor<any>[];
|
|
8
|
+
getPropertiesNames(): string[];
|
|
9
|
+
getPropertyTypes(): ArrayMultimap<string, string>;
|
|
8
10
|
parse(container: any): void;
|
|
9
11
|
generateApi(parent: ContainerElement, typeName?: string): void;
|
|
10
12
|
}
|
|
@@ -1,19 +1,38 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.EnumEntryNode = void 0;
|
|
4
|
-
const
|
|
4
|
+
const multimaps_1 = require("@teppeis/multimaps");
|
|
5
|
+
const objectDef_1 = require("./ast/objectDef");
|
|
5
6
|
const customTextNode_1 = require("./customTextNode");
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
|
|
7
|
+
const i18nNode_1 = require("./i18nNode");
|
|
8
|
+
const leafNode_1 = require("./leafNode");
|
|
9
|
+
const nullNode_1 = require("./nullNode");
|
|
10
|
+
const textNode_1 = require("./textNode");
|
|
11
|
+
class EnumEntryNode extends i18nNode_1.I18nNode {
|
|
9
12
|
static matches(name, data) {
|
|
10
13
|
return true;
|
|
11
14
|
}
|
|
15
|
+
supportedChildNodeTypes() {
|
|
16
|
+
return [customTextNode_1.CustomTextNode, textNode_1.TextNode, nullNode_1.NullNode];
|
|
17
|
+
}
|
|
12
18
|
getPropertiesNames() {
|
|
13
19
|
return this.children.map(it => it.name.asJsIdentifier);
|
|
14
20
|
}
|
|
15
|
-
|
|
16
|
-
|
|
21
|
+
getPropertyTypes() {
|
|
22
|
+
const result = new multimaps_1.ArrayMultimap();
|
|
23
|
+
this.children.forEach(it => {
|
|
24
|
+
if (it instanceof leafNode_1.LeafNode) {
|
|
25
|
+
let propertyName = it.name.asJsIdentifier;
|
|
26
|
+
let returnType = it.returnType();
|
|
27
|
+
if (!result.get(propertyName).includes(returnType)) {
|
|
28
|
+
result.put(propertyName, returnType);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
throw new Error(`Enum entries only support leaf nodes, got ${it.constructor.name} at ${(this.parent.fqNamespaceName)}.${this.name}`);
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
return result;
|
|
17
36
|
}
|
|
18
37
|
parse(container) {
|
|
19
38
|
super.parse(container);
|
|
@@ -21,7 +40,7 @@ class EnumEntryNode extends i18nNode_class_1.I18nNode {
|
|
|
21
40
|
}
|
|
22
41
|
generateApi(parent, typeName) {
|
|
23
42
|
if (this.hasArgs()) {
|
|
24
|
-
const tempContainer = new
|
|
43
|
+
const tempContainer = new objectDef_1.ObjectDef('!temp!');
|
|
25
44
|
this.eachChild(child => {
|
|
26
45
|
child.generateApi(tempContainer);
|
|
27
46
|
});
|
|
@@ -44,4 +63,4 @@ class EnumEntryNode extends i18nNode_class_1.I18nNode {
|
|
|
44
63
|
}
|
|
45
64
|
}
|
|
46
65
|
exports.EnumEntryNode = EnumEntryNode;
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bUVudHJ5Tm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvZW51bUVudHJ5Tm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxrREFBbUQ7QUFFbkQsK0NBQTRDO0FBQzVDLHFEQUFrRDtBQUVsRCx5Q0FBdUQ7QUFDdkQseUNBQXNDO0FBRXRDLHlDQUFzQztBQUN0Qyx5Q0FBc0M7QUFFdEMsTUFBYSxhQUFjLFNBQVEsbUJBQVE7SUFFekMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFjLEVBQUUsSUFBUztRQUN0QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCx1QkFBdUI7UUFDckIsT0FBTyxDQUFDLCtCQUFjLEVBQUUsbUJBQVEsRUFBRSxtQkFBUSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsTUFBTSxNQUFNLEdBQUcsSUFBSSx5QkFBYSxFQUFrQixDQUFDO1FBQ25ELElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ3pCLElBQUksRUFBRSxZQUFZLG1CQUFRLEVBQUU7Z0JBQzFCLElBQUksWUFBWSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO2dCQUMxQyxJQUFJLFVBQVUsR0FBRyxFQUFFLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ2pDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRTtvQkFDbEQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUM7aUJBQ3RDO2FBQ0Y7aUJBQU07Z0JBQ0wsTUFBTSxJQUFJLEtBQUssQ0FBQyw2Q0FBNkMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO2FBQ3RJO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsS0FBSyxDQUFDLFNBQWM7UUFDbEIsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxXQUFXLENBQUMsTUFBd0IsRUFBRSxRQUFpQjtRQUNyRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNsQixNQUFNLGFBQWEsR0FBRyxJQUFJLHFCQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDOUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDckIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNuQyxDQUFDLENBQUMsQ0FBQztZQUNILE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLFFBQVEsYUFBUixRQUFRLGNBQVIsUUFBUSxHQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxFQUFFO2dCQUMzRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUNoQixhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUMvQixDQUFDLENBQUMsQ0FBQztnQkFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsRUFBRTtnQkFDNUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtvQkFDckIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDekIsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztDQUNGO0FBekRELHNDQXlEQyJ9
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ContainerElement } from './ast/containerElement
|
|
2
|
-
import { Constructor } from './constructor
|
|
3
|
-
import { I18nNode } from './i18nNode
|
|
1
|
+
import { ContainerElement } from './ast/containerElement';
|
|
2
|
+
import { Constructor } from './constructor';
|
|
3
|
+
import { I18nNode } from './i18nNode';
|
|
4
4
|
import { NodeName } from './nodeName';
|
|
5
5
|
export declare class EnumNode extends I18nNode {
|
|
6
6
|
static matches(name: NodeName, yamlData: any): boolean;
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.EnumNode = void 0;
|
|
23
|
+
const multimaps_1 = require("@teppeis/multimaps");
|
|
24
|
+
const _ = __importStar(require("lodash"));
|
|
25
|
+
const lodash_1 = require("lodash");
|
|
26
|
+
const arguments_1 = require("./arguments");
|
|
27
|
+
const objectDef_1 = require("./ast/objectDef");
|
|
28
|
+
const enumEntryNode_1 = require("./enumEntryNode");
|
|
29
|
+
const i18nNode_1 = require("./i18nNode");
|
|
30
|
+
const namespaceNode_1 = require("./namespaceNode");
|
|
31
|
+
class EnumNode extends i18nNode_1.I18nNode {
|
|
32
|
+
static matches(name, yamlData) {
|
|
33
|
+
// console.log(name);
|
|
34
|
+
return yamlData && name.customTypeName === 'Enum';
|
|
35
|
+
}
|
|
36
|
+
parseChild(name, data, defaultNodeType) {
|
|
37
|
+
if (defaultNodeType['name'] === namespaceNode_1.NameSpaceNode['name']) {
|
|
38
|
+
return super.parseChild(name, data, enumEntryNode_1.EnumEntryNode);
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
throw new Error(`entry '${name}' in '${this.accessor}' is not an object. Enum children to be an object.`);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
generateApi(parent) {
|
|
45
|
+
parent.nestedContainer(this.namespaceName, namespace => {
|
|
46
|
+
let properites = undefined;
|
|
47
|
+
// capture return types.
|
|
48
|
+
this.children.forEach(child => {
|
|
49
|
+
const node = child;
|
|
50
|
+
let propertiesNames = node.getPropertiesNames();
|
|
51
|
+
if (!properites) {
|
|
52
|
+
properites = [...propertiesNames];
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
if (!lodash_1.isEqual(lodash_1.sortBy(properites), lodash_1.sortBy(propertiesNames))) {
|
|
56
|
+
throw new Error(`enum properties don't match for ${(namespace.fqNamespaceName)}.${child.name}: expected [${properites.join(',')}], got [${propertiesNames.join(',')}]`);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
const enumType = namespace.defineInterface(`${this.className}Entry`);
|
|
61
|
+
let propertyTypes = new multimaps_1.ArrayMultimap();
|
|
62
|
+
this.children.forEach(child => {
|
|
63
|
+
const node = child;
|
|
64
|
+
propertyTypes.putAll(node.getPropertyTypes());
|
|
65
|
+
});
|
|
66
|
+
propertyTypes.asMap().forEach((values, prop) => {
|
|
67
|
+
enumType.createFunction(prop, arguments_1.Arguments.empty(), _.uniq(values).join(" | "));
|
|
68
|
+
});
|
|
69
|
+
// only process enum entry nodes for now so we guarantee all the children
|
|
70
|
+
// are enum types.
|
|
71
|
+
this.eachChild(child => {
|
|
72
|
+
child.generateApi(namespace, enumType.name);
|
|
73
|
+
});
|
|
74
|
+
// populate our type with the properties of our children.
|
|
75
|
+
const constantEnumDefs = namespace.allOfType(objectDef_1.ObjectDef);
|
|
76
|
+
if (constantEnumDefs.length > 0) {
|
|
77
|
+
const enumKeyType = `${this.fqClassName}Key`;
|
|
78
|
+
namespace.defineType(enumKeyType, this.lookupKeys().join('|'));
|
|
79
|
+
// now create our lookup functions for the enum notes
|
|
80
|
+
namespace.createFunction('lookup', arguments_1.Arguments.createSingle('key', enumKeyType), enumType.name, out => {
|
|
81
|
+
out.println(`const result = tryLookup(key);`);
|
|
82
|
+
out.println(`if (!result) {`);
|
|
83
|
+
out.println(` throw new Error("Unknown enum key '" + key + "'. Must be one of ${this.lookupKeys().join(', ')}")`);
|
|
84
|
+
out.println(`}`);
|
|
85
|
+
out.println(`return result;`);
|
|
86
|
+
});
|
|
87
|
+
namespace.createFunction('tryLookup', arguments_1.Arguments.createSingle('key', 'string'), `${enumType.name} | undefined`, out => {
|
|
88
|
+
this.eachChild(child => {
|
|
89
|
+
if (!child.hasArgs()) {
|
|
90
|
+
out.println(`if ([${child.name.validKeys().map(k => `'${k}'`)}].includes(key)) { return ${this.rootNode().namespace}.${child.accessor}; }`);
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
out.println(`return undefined;`);
|
|
94
|
+
});
|
|
95
|
+
namespace.createFunction('nameOf', arguments_1.Arguments.createSingle('option', enumType.name), enumKeyType, out => {
|
|
96
|
+
this.eachChild(child => {
|
|
97
|
+
if (!child.hasArgs()) {
|
|
98
|
+
out.println(`if (option === ${this.rootNode().namespace}.${child.accessor}) { return '${child.name.asJsIdentifier}'; }`);
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
out.println(`throw new Error("Unknown enum")`);
|
|
102
|
+
});
|
|
103
|
+
namespace.createFunction('asArray', arguments_1.Arguments.empty(), `${enumType.name}[]`, out => {
|
|
104
|
+
out.println(`return [`);
|
|
105
|
+
this.eachChild(child => {
|
|
106
|
+
if (!child.hasArgs()) {
|
|
107
|
+
out.indent(_out => _out.println(`${this.rootNode().namespace}.${child.accessor},`));
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
out.println(']');
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
// generateMessageBundle(parent: ContainerElement): void {
|
|
116
|
+
//
|
|
117
|
+
// }
|
|
118
|
+
lookupKeys() {
|
|
119
|
+
let nonVarChildren = this.children.filter(c => !c.hasArgs());
|
|
120
|
+
return _.uniq(nonVarChildren.map(child => `'${child.name.camelisedName}'`).concat(nonVarChildren.map(child => `'${child.name.asJsIdentifier}'`)));
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
exports.EnumNode = EnumNode;
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bU5vZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2VudW1Ob2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxrREFBbUQ7QUFDbkQsMENBQTRCO0FBQzVCLG1DQUF5QztBQUN6QywyQ0FBd0M7QUFFeEMsK0NBQTRDO0FBRTVDLG1EQUFnRDtBQUNoRCx5Q0FBc0M7QUFDdEMsbURBQWdEO0FBSWhELE1BQWEsUUFBUyxTQUFRLG1CQUFRO0lBRXBDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBYyxFQUFFLFFBQWE7UUFDMUMscUJBQXFCO1FBQ3JCLE9BQU8sUUFBUSxJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssTUFBTSxDQUFDO0lBQ3BELENBQUM7SUFFUyxVQUFVLENBQXFCLElBQWMsRUFBRSxJQUFTLEVBQUUsZUFBK0I7UUFDakcsSUFBSSxlQUFlLENBQUMsTUFBTSxDQUFDLEtBQUssNkJBQWEsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNyRCxPQUFPLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSw2QkFBYSxDQUFDLENBQUM7U0FDcEQ7YUFBTTtZQUNMLE1BQU0sSUFBSSxLQUFLLENBQUMsVUFBVSxJQUFJLFNBQVMsSUFBSSxDQUFDLFFBQVEsb0RBQW9ELENBQUMsQ0FBQztTQUMzRztJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsTUFBd0I7UUFFbEMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxFQUFFO1lBRXJELElBQUksVUFBVSxHQUFhLFNBQVMsQ0FBQztZQUNyQyx3QkFBd0I7WUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQzVCLE1BQU0sSUFBSSxHQUFHLEtBQXNCLENBQUM7Z0JBQ3BDLElBQUksZUFBZSxHQUFHLElBQUksQ0FBQyxrQkFB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
|
|
@@ -27,22 +27,22 @@ exports.I18nGenerator = void 0;
|
|
|
27
27
|
const glob_1 = __importDefault(require("glob"));
|
|
28
28
|
const lodash_1 = __importDefault(require("lodash"));
|
|
29
29
|
const path = __importStar(require("path"));
|
|
30
|
-
const
|
|
31
|
-
const
|
|
32
|
-
const
|
|
33
|
-
const
|
|
34
|
-
const
|
|
30
|
+
const moduleDef_1 = require("./ast/moduleDef");
|
|
31
|
+
const customTypeArrayNode_1 = require("./customTypeArrayNode");
|
|
32
|
+
const customTypeNode_1 = require("./customTypeNode");
|
|
33
|
+
const enumNode_1 = require("./enumNode");
|
|
34
|
+
const namespaceNode_1 = require("./namespaceNode");
|
|
35
35
|
const nodeName_1 = require("./nodeName");
|
|
36
|
-
const
|
|
37
|
-
const
|
|
38
|
-
const
|
|
39
|
-
const
|
|
40
|
-
const
|
|
36
|
+
const rootNode_1 = require("./rootNode.");
|
|
37
|
+
const textArrayNode_1 = require("./textArrayNode");
|
|
38
|
+
const textNode_1 = require("./textNode");
|
|
39
|
+
const valueNode_1 = require("./valueNode");
|
|
40
|
+
const writer_1 = require("./writer");
|
|
41
41
|
class I18nGenerator {
|
|
42
42
|
constructor(rootNamespaceClassName) {
|
|
43
|
-
this.rootNode = new
|
|
43
|
+
this.rootNode = new rootNode_1.RootNode(rootNamespaceClassName);
|
|
44
44
|
this.rootNode.registerNodeTypes([
|
|
45
|
-
|
|
45
|
+
enumNode_1.EnumNode, customTypeArrayNode_1.CustomTypeArrayNode, customTypeNode_1.CustomTypeNode, textNode_1.TextNode, textArrayNode_1.TextArrayNode, valueNode_1.ValueNode, namespaceNode_1.NameSpaceNode
|
|
46
46
|
]);
|
|
47
47
|
}
|
|
48
48
|
registerType(typeName, importDeclaration) {
|
|
@@ -88,7 +88,7 @@ class I18nGenerator {
|
|
|
88
88
|
}
|
|
89
89
|
prepareNameSpaceNode(namespacePath) {
|
|
90
90
|
return namespacePath.reduce((ns, namespaceName) => {
|
|
91
|
-
return ns.getOrCreatNode(namespaceName,
|
|
91
|
+
return ns.getOrCreatNode(namespaceName, namespaceNode_1.NameSpaceNode);
|
|
92
92
|
}, this.rootNode);
|
|
93
93
|
}
|
|
94
94
|
prepareNamespacePath(relativeFileName) {
|
|
@@ -111,8 +111,8 @@ class I18nGenerator {
|
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
113
|
getApiContent() {
|
|
114
|
-
const writer = new
|
|
115
|
-
const module = new
|
|
114
|
+
const writer = new writer_1.RootWriter();
|
|
115
|
+
const module = new moduleDef_1.Module();
|
|
116
116
|
this.rootNode.generateApi(module);
|
|
117
117
|
module.writeBody(writer);
|
|
118
118
|
return writer.toString();
|
|
@@ -124,4 +124,4 @@ class I18nGenerator {
|
|
|
124
124
|
}
|
|
125
125
|
}
|
|
126
126
|
exports.I18nGenerator = I18nGenerator;
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bkdlbmVyYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvaTE4bkdlbmVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0JBQW9CO0FBQ3BCLGdEQUF3QjtBQUN4QixvREFBdUI7QUFDdkIsMkNBQTZCO0FBQzdCLCtDQUF5QztBQUN6QywrREFBNEQ7QUFDNUQscURBQWtEO0FBRWxELHlDQUFzQztBQUV0QyxtREFBZ0Q7QUFDaEQseUNBQXNDO0FBQ3RDLDBDQUF1QztBQUN2QyxtREFBZ0Q7QUFDaEQseUNBQXNDO0FBQ3RDLDJDQUF3QztBQUN4QyxxQ0FBc0M7QUFHdEMsTUFBYSxhQUFhO0lBSXhCLFlBQVksc0JBQThCO1FBQ3hDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxtQkFBUSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQztZQUM5QixtQkFBUSxFQUFFLHlDQUFtQixFQUFFLCtCQUFjLEVBQUUsbUJBQVEsRUFBRSw2QkFBYSxFQUFFLHFCQUFTLEVBQUUsNkJBQWE7U0FDakcsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFlBQVksQ0FBQyxRQUFnQixFQUFFLGlCQUF5QjtRQUN0RCxJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFjO1FBQ2xDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3BDLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNuQztJQUNILENBQUM7SUFFRCxLQUFLLENB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
|