@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,101 @@
|
|
|
1
|
+
import { ArrayMultimap } from '@teppeis/multimaps';
|
|
2
|
+
import * as _ from 'lodash';
|
|
3
|
+
import { isEqual, sortBy } from 'lodash';
|
|
4
|
+
import { Arguments } from './arguments';
|
|
5
|
+
import { ObjectDef } from './ast/objectDef';
|
|
6
|
+
import { EnumEntryNode } from './enumEntryNode';
|
|
7
|
+
import { I18nNode } from './i18nNode';
|
|
8
|
+
import { NameSpaceNode } from './namespaceNode';
|
|
9
|
+
export class EnumNode extends I18nNode {
|
|
10
|
+
static matches(name, yamlData) {
|
|
11
|
+
// console.log(name);
|
|
12
|
+
return yamlData && name.customTypeName === 'Enum';
|
|
13
|
+
}
|
|
14
|
+
parseChild(name, data, defaultNodeType) {
|
|
15
|
+
if (defaultNodeType['name'] === NameSpaceNode['name']) {
|
|
16
|
+
return super.parseChild(name, data, EnumEntryNode);
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
throw new Error(`entry '${name}' in '${this.accessor}' is not an object. Enum children to be an object.`);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
generateApi(parent) {
|
|
23
|
+
parent.nestedContainer(this.namespaceName, namespace => {
|
|
24
|
+
let properites = undefined;
|
|
25
|
+
// capture return types.
|
|
26
|
+
this.children.forEach(child => {
|
|
27
|
+
const node = child;
|
|
28
|
+
let propertiesNames = node.getPropertiesNames();
|
|
29
|
+
if (!properites) {
|
|
30
|
+
properites = [...propertiesNames];
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
if (!isEqual(sortBy(properites), sortBy(propertiesNames))) {
|
|
34
|
+
throw new Error(`enum properties don't match for ${(namespace.fqNamespaceName)}.${child.name}: expected [${properites.join(',')}], got [${propertiesNames.join(',')}]`);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
const enumType = namespace.defineInterface(`${this.className}Entry`);
|
|
39
|
+
let propertyTypes = new ArrayMultimap();
|
|
40
|
+
this.children.forEach(child => {
|
|
41
|
+
const node = child;
|
|
42
|
+
propertyTypes.putAll(node.getPropertyTypes());
|
|
43
|
+
});
|
|
44
|
+
propertyTypes.asMap().forEach((values, prop) => {
|
|
45
|
+
enumType.createFunction(prop, Arguments.empty(), _.uniq(values).join(" | "));
|
|
46
|
+
});
|
|
47
|
+
// only process enum entry nodes for now so we guarantee all the children
|
|
48
|
+
// are enum types.
|
|
49
|
+
this.eachChild(child => {
|
|
50
|
+
child.generateApi(namespace, enumType.name);
|
|
51
|
+
});
|
|
52
|
+
// populate our type with the properties of our children.
|
|
53
|
+
const constantEnumDefs = namespace.allOfType(ObjectDef);
|
|
54
|
+
if (constantEnumDefs.length > 0) {
|
|
55
|
+
const enumKeyType = `${this.fqClassName}Key`;
|
|
56
|
+
namespace.defineType(enumKeyType, this.lookupKeys().join('|'));
|
|
57
|
+
// now create our lookup functions for the enum notes
|
|
58
|
+
namespace.createFunction('lookup', Arguments.createSingle('key', enumKeyType), enumType.name, out => {
|
|
59
|
+
out.println(`const result = tryLookup(key);`);
|
|
60
|
+
out.println(`if (!result) {`);
|
|
61
|
+
out.println(` throw new Error("Unknown enum key '" + key + "'. Must be one of ${this.lookupKeys().join(', ')}")`);
|
|
62
|
+
out.println(`}`);
|
|
63
|
+
out.println(`return result;`);
|
|
64
|
+
});
|
|
65
|
+
namespace.createFunction('tryLookup', Arguments.createSingle('key', 'string'), `${enumType.name} | undefined`, out => {
|
|
66
|
+
this.eachChild(child => {
|
|
67
|
+
if (!child.hasArgs()) {
|
|
68
|
+
out.println(`if ([${child.name.validKeys().map(k => `'${k}'`)}].includes(key)) { return ${this.rootNode().namespace}.${child.accessor}; }`);
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
out.println(`return undefined;`);
|
|
72
|
+
});
|
|
73
|
+
namespace.createFunction('nameOf', Arguments.createSingle('option', enumType.name), enumKeyType, out => {
|
|
74
|
+
this.eachChild(child => {
|
|
75
|
+
if (!child.hasArgs()) {
|
|
76
|
+
out.println(`if (option === ${this.rootNode().namespace}.${child.accessor}) { return '${child.name.asJsIdentifier}'; }`);
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
out.println(`throw new Error("Unknown enum")`);
|
|
80
|
+
});
|
|
81
|
+
namespace.createFunction('asArray', Arguments.empty(), `${enumType.name}[]`, out => {
|
|
82
|
+
out.println(`return [`);
|
|
83
|
+
this.eachChild(child => {
|
|
84
|
+
if (!child.hasArgs()) {
|
|
85
|
+
out.indent(_out => _out.println(`${this.rootNode().namespace}.${child.accessor},`));
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
out.println(']');
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
// generateMessageBundle(parent: ContainerElement): void {
|
|
94
|
+
//
|
|
95
|
+
// }
|
|
96
|
+
lookupKeys() {
|
|
97
|
+
let nonVarChildren = this.children.filter(c => !c.hasArgs());
|
|
98
|
+
return _.uniq(nonVarChildren.map(child => `'${child.name.camelisedName}'`).concat(nonVarChildren.map(child => `'${child.name.asJsIdentifier}'`)));
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bU5vZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2VudW1Ob2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN6QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXhDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFJaEQsTUFBTSxPQUFPLFFBQVMsU0FBUSxRQUFRO0lBRXBDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBYyxFQUFFLFFBQWE7UUFDMUMscUJBQXFCO1FBQ3JCLE9BQU8sUUFBUSxJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssTUFBTSxDQUFDO0lBQ3BELENBQUM7SUFFUyxVQUFVLENBQXFCLElBQWMsRUFBRSxJQUFTLEVBQUUsZUFBK0I7UUFDakcsSUFBSSxlQUFlLENBQUMsTUFBTSxDQUFDLEtBQUssYUFBYSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3JELE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1NBQ3BEO2FBQU07WUFDTCxNQUFNLElBQUksS0FBSyxDQUFDLFVBQVUsSUFBSSxTQUFTLElBQUksQ0FBQyxRQUFRLG9EQUFvRCxDQUFDLENBQUM7U0FDM0c7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQXdCO1FBRWxDLE1B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
|
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
import glob from 'glob';
|
|
3
3
|
import _ from 'lodash';
|
|
4
4
|
import * as path from 'path';
|
|
5
|
-
import { Module } from './ast/moduleDef
|
|
6
|
-
import { CustomTypeArrayNode } from './customTypeArrayNode
|
|
7
|
-
import { CustomTypeNode } from './customTypeNode
|
|
8
|
-
import { EnumNode } from './enumNode
|
|
9
|
-
import { NameSpaceNode } from './namespaceNode
|
|
5
|
+
import { Module } from './ast/moduleDef';
|
|
6
|
+
import { CustomTypeArrayNode } from './customTypeArrayNode';
|
|
7
|
+
import { CustomTypeNode } from './customTypeNode';
|
|
8
|
+
import { EnumNode } from './enumNode';
|
|
9
|
+
import { NameSpaceNode } from './namespaceNode';
|
|
10
10
|
import { NodeName } from './nodeName';
|
|
11
|
-
import { RootNode } from './rootNode.
|
|
12
|
-
import { TextArrayNode } from './textArrayNode
|
|
13
|
-
import { TextNode } from './textNode
|
|
14
|
-
import { ValueNode } from './valueNode
|
|
15
|
-
import { RootWriter } from './writer
|
|
11
|
+
import { RootNode } from './rootNode.';
|
|
12
|
+
import { TextArrayNode } from './textArrayNode';
|
|
13
|
+
import { TextNode } from './textNode';
|
|
14
|
+
import { ValueNode } from './valueNode';
|
|
15
|
+
import { RootWriter } from './writer';
|
|
16
16
|
export class I18nGenerator {
|
|
17
17
|
constructor(rootNamespaceClassName) {
|
|
18
18
|
this.rootNode = new RootNode(rootNamespaceClassName);
|
|
@@ -98,4 +98,4 @@ export class I18nGenerator {
|
|
|
98
98
|
return JSON.stringify(json, null, 3);
|
|
99
99
|
}
|
|
100
100
|
}
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bkdlbmVyYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvaTE4bkdlbmVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQkFBb0I7QUFDcEIsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQ3hCLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUN2QixPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWxELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFdEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN0QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHdEMsTUFBTSxPQUFPLGFBQWE7SUFJeEIsWUFBWSxzQkFBOEI7UUFDeEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUM7WUFDOUIsUUFBUSxFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFB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
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { Arguments } from './arguments
|
|
2
|
-
import { ContainerElement } from './ast/containerElement
|
|
3
|
-
import { Constructable, Constructor } from './constructor
|
|
1
|
+
import { Arguments } from './arguments';
|
|
2
|
+
import { ContainerElement } from './ast/containerElement';
|
|
3
|
+
import { Constructable, Constructor } from './constructor';
|
|
4
4
|
import { NodeName } from './nodeName';
|
|
5
|
-
import { RootNode } from './rootNode.
|
|
6
|
-
import { Writer } from './writer
|
|
5
|
+
import { RootNode } from './rootNode.';
|
|
6
|
+
import { Writer } from './writer';
|
|
7
7
|
export declare type NodeConstructor<T extends I18nNode> = {
|
|
8
8
|
matches(name: NodeName, data: any): boolean;
|
|
9
9
|
new (...args: any[]): T;
|
|
@@ -20,6 +20,7 @@ export declare class I18nNode {
|
|
|
20
20
|
* Returns the full path to this nodes namespace as used in code. Doesn't include the I18n prefix.
|
|
21
21
|
*/
|
|
22
22
|
get accessor(): string;
|
|
23
|
+
get fqNamespaceName(): string;
|
|
23
24
|
appendNamespaceTo(collector: string[]): void;
|
|
24
25
|
isRoot(): boolean;
|
|
25
26
|
pathToRoot(): I18nNode[];
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import * as yaml from 'js-yaml';
|
|
3
|
+
import * as _ from 'lodash';
|
|
4
|
+
import { Arguments } from './arguments';
|
|
5
|
+
import { NodeName } from './nodeName';
|
|
6
|
+
export class I18nNode {
|
|
7
|
+
constructor(parent, name) {
|
|
8
|
+
this.parent = parent;
|
|
9
|
+
this.name = name;
|
|
10
|
+
this.childNodes = new Map();
|
|
11
|
+
this.templateArgs = new Arguments();
|
|
12
|
+
}
|
|
13
|
+
get key() {
|
|
14
|
+
return this.pathToRoot().slice(1).map(a => a.name.asJsIdentifier).join('.');
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Returns the full path to this nodes namespace as used in code. Doesn't include the I18n prefix.
|
|
18
|
+
*/
|
|
19
|
+
get accessor() {
|
|
20
|
+
const result = [];
|
|
21
|
+
this.pathToRoot().forEach(ancestor => ancestor.appendNamespaceTo(result));
|
|
22
|
+
return result.join('.');
|
|
23
|
+
}
|
|
24
|
+
get fqNamespaceName() {
|
|
25
|
+
return `${this.rootNode().namespace}.${this.key}`;
|
|
26
|
+
}
|
|
27
|
+
appendNamespaceTo(collector) {
|
|
28
|
+
collector.push(this.namespaceName);
|
|
29
|
+
}
|
|
30
|
+
isRoot() {
|
|
31
|
+
return !this.parent;
|
|
32
|
+
}
|
|
33
|
+
pathToRoot() {
|
|
34
|
+
return this.isRoot() ? [this] : this.parent.pathToRoot().concat(this);
|
|
35
|
+
}
|
|
36
|
+
parseFile(fileName) {
|
|
37
|
+
// let options = {schema: this.getSchema()};
|
|
38
|
+
console.log(`Loading: ${fileName}`);
|
|
39
|
+
const yamlData = yaml.safeLoad(fs.readFileSync(fileName, 'utf8'));
|
|
40
|
+
try {
|
|
41
|
+
this.parse(yamlData);
|
|
42
|
+
}
|
|
43
|
+
catch (e) {
|
|
44
|
+
throw new Error(`Failed to parse file:${fileName}\n-> ${e.message}\n-> ${e.stack}`);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
parse(yamlData) {
|
|
48
|
+
this.withEachProperty(yamlData, (name, data) => {
|
|
49
|
+
this.parseChild(name, data, this.computeNodeTypeOf(name, data));
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
parseChild(name, data, defaultNodeType) {
|
|
53
|
+
const child = this.getOrCreatNode(name, defaultNodeType);
|
|
54
|
+
if (this.constructor['acceptsChildNodesOfType']) {
|
|
55
|
+
const types = this.constructor['acceptsChildNodesOfType']();
|
|
56
|
+
if (!_.find(types, type => child instanceof type)) {
|
|
57
|
+
throw new Error(`Unsupported child type, must be one of ${types.map(t => t.name).join()}, got ${defaultNodeType.name}.`);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
child.parse(data);
|
|
61
|
+
return child;
|
|
62
|
+
}
|
|
63
|
+
getOrCreatNode(name, type) {
|
|
64
|
+
let node = this.childNodes.get(name.asJsIdentifier);
|
|
65
|
+
if (node && node.constructor != type) {
|
|
66
|
+
throw new Error(`Existing node named ${name} has different type, expected ${type['nodeName']}, got ${node.constructor['nodeName']}`);
|
|
67
|
+
}
|
|
68
|
+
// console.log(`--> getOrCreateNode(${nodeName}, ${type}) ${node ? 'found' : 'created'}`);
|
|
69
|
+
if (!node) {
|
|
70
|
+
node = new type(this, name);
|
|
71
|
+
this.childNodes.set(name.asJsIdentifier, node);
|
|
72
|
+
}
|
|
73
|
+
return node;
|
|
74
|
+
}
|
|
75
|
+
rootNode() {
|
|
76
|
+
return this.parent.rootNode();
|
|
77
|
+
}
|
|
78
|
+
nodeTypes() {
|
|
79
|
+
return this.rootNode().nodeTypes();
|
|
80
|
+
}
|
|
81
|
+
computeNodeTypeOf(name, data) {
|
|
82
|
+
const type = _.find(this.supportedChildNodeTypes(), it => it.matches(name, data));
|
|
83
|
+
if (!type) {
|
|
84
|
+
throw new Error(`No matching node type found for ${this.fqNamespaceName}.${name.rawName}, value = ${data}`);
|
|
85
|
+
}
|
|
86
|
+
return type;
|
|
87
|
+
}
|
|
88
|
+
supportedChildNodeTypes() {
|
|
89
|
+
return this.rootNode().nodeTypes();
|
|
90
|
+
}
|
|
91
|
+
withEachProperty(yamlData, cb) {
|
|
92
|
+
if (yamlData) {
|
|
93
|
+
Object.getOwnPropertyNames(yamlData).forEach(unsafeKey => {
|
|
94
|
+
const name = NodeName.parse(unsafeKey);
|
|
95
|
+
if (name.isReserved()) {
|
|
96
|
+
console.log(`Warning: Yaml key '${unsafeKey}' is a reserved word, converting to '${name.safeName}'`);
|
|
97
|
+
}
|
|
98
|
+
cb(name, yamlData[unsafeKey]);
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
get children() {
|
|
103
|
+
return Array.from(this.childNodes.values());
|
|
104
|
+
}
|
|
105
|
+
eachChild(cb) {
|
|
106
|
+
Array.from(this.childNodes.values()).forEach(node => cb(node));
|
|
107
|
+
}
|
|
108
|
+
getArgs() {
|
|
109
|
+
return this.templateArgs;
|
|
110
|
+
}
|
|
111
|
+
hasArgs() {
|
|
112
|
+
return this.getArgs().any();
|
|
113
|
+
}
|
|
114
|
+
get namespaceName() {
|
|
115
|
+
return this.name.asJsIdentifier;
|
|
116
|
+
}
|
|
117
|
+
get className() {
|
|
118
|
+
return this.name.asClassName;
|
|
119
|
+
}
|
|
120
|
+
get fqClassName() {
|
|
121
|
+
// the root node has no className and the second one is the language
|
|
122
|
+
let parents = this.pathToRoot().slice(2);
|
|
123
|
+
return parents.map(n => n.className).join('');
|
|
124
|
+
}
|
|
125
|
+
createArrayFunctionBody(key, args, out) {
|
|
126
|
+
out.println(`const translation = _activeBundle.${key};`);
|
|
127
|
+
out.println(`const missing = !isObject(translation);`);
|
|
128
|
+
out.println(`if (missing || Object.keys(translation).length < 1) {`);
|
|
129
|
+
out.indent(out => {
|
|
130
|
+
out.println(`const prefix = missing ? "missing key" : "empty key";`);
|
|
131
|
+
out.println(`return [prefix + " " + "${key}"];`);
|
|
132
|
+
});
|
|
133
|
+
out.println('} else { ');
|
|
134
|
+
out.indent(out => {
|
|
135
|
+
out.println(`return Object.keys(translation).map(line => {`);
|
|
136
|
+
out.indent(out => {
|
|
137
|
+
out.println(`// eslint-disable-next-line @typescript-eslint/ban-ts-comment`);
|
|
138
|
+
out.println(`// @ts-ignore`);
|
|
139
|
+
if (args.any()) {
|
|
140
|
+
out.println(`return new MessageFormat(translation[line], _locale).format(${args.asArgsObject()});`);
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
out.println(`return translation[line];`);
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
out.println('});');
|
|
147
|
+
});
|
|
148
|
+
out.println('}');
|
|
149
|
+
}
|
|
150
|
+
generateApi(parent) {
|
|
151
|
+
throw new Error('abstract method');
|
|
152
|
+
}
|
|
153
|
+
generateMessageBundle(parent, include) {
|
|
154
|
+
const me = {};
|
|
155
|
+
parent[this.namespaceName] = me;
|
|
156
|
+
this.eachChild(child => {
|
|
157
|
+
// console.log({child: child.constructor});
|
|
158
|
+
return child.generateMessageBundle(me, include);
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bk5vZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2kxOG5Ob2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUNwQixPQUFPLEtBQUssSUFBSSxNQUFNLFNBQVMsQ0FBQztBQUNoQyxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUc1QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR3hDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFXdEMsTUFBTSxPQUFPLFFBQVE7SUFLbkIsWUFBc0IsTUFBZ0IsRUFBa0IsSUFBYztRQUFoRCxXQUFNLEdBQU4sTUFBTSxDQUFVO1FBQWtCLFNBQUksR0FBSixJQUFJLENBQVU7UUFIOUQsZUFBVSxHQUEwQixJQUFJLEdBQUcsRUFBb0IsQ0FBQztRQUNoRSxpQkFBWSxHQUFjLElBQUksU0FBUyxFQUFFLENBQUM7SUFHbEQsQ0FBQztJQUVELElBQUksR0FBRztRQUNMLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLFFBQVE7UUFDVixNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzFFLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pC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
|
|
@@ -1,37 +1,37 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @file Automatically generated by barrelsby.
|
|
3
3
|
*/
|
|
4
|
-
export * from "./arg
|
|
5
|
-
export * from "./arguments
|
|
6
|
-
export * from "./constructor
|
|
4
|
+
export * from "./arg";
|
|
5
|
+
export * from "./arguments";
|
|
6
|
+
export * from "./constructor";
|
|
7
7
|
export * from "./customTextArrayNode";
|
|
8
8
|
export * from "./customTextNode";
|
|
9
|
-
export * from "./customTypeArrayNode
|
|
10
|
-
export * from "./customTypeNode
|
|
11
|
-
export * from "./enumNode
|
|
9
|
+
export * from "./customTypeArrayNode";
|
|
10
|
+
export * from "./customTypeNode";
|
|
11
|
+
export * from "./enumNode";
|
|
12
12
|
export * from "./i18nGenerator";
|
|
13
|
-
export * from "./i18nNode
|
|
14
|
-
export * from "./namespaceNode
|
|
13
|
+
export * from "./i18nNode";
|
|
14
|
+
export * from "./namespaceNode";
|
|
15
15
|
export * from "./nodeName";
|
|
16
|
-
export * from "./rootNode.
|
|
16
|
+
export * from "./rootNode.";
|
|
17
17
|
export * from "./stringUtil";
|
|
18
|
-
export * from "./textArrayNode
|
|
19
|
-
export * from "./textNode
|
|
20
|
-
export * from "./valueNode
|
|
21
|
-
export * from "./writer
|
|
18
|
+
export * from "./textArrayNode";
|
|
19
|
+
export * from "./textNode";
|
|
20
|
+
export * from "./valueNode";
|
|
21
|
+
export * from "./writer";
|
|
22
22
|
export * from "./ast/abstractContainerElement";
|
|
23
23
|
export * from "./ast/abstractElement";
|
|
24
|
-
export * from "./ast/classDef
|
|
25
|
-
export * from "./ast/containerElement
|
|
26
|
-
export * from "./ast/element
|
|
27
|
-
export * from "./ast/functionDef
|
|
28
|
-
export * from "./ast/interfaceDef
|
|
29
|
-
export * from "./ast/jsonModule
|
|
30
|
-
export * from "./ast/moduleDef
|
|
31
|
-
export * from "./ast/namespaceDef
|
|
32
|
-
export * from "./ast/objectDef
|
|
33
|
-
export * from "./ast/statementDef
|
|
34
|
-
export * from "./ast/tempContainer
|
|
35
|
-
export * from "./ast/typeDef
|
|
24
|
+
export * from "./ast/classDef";
|
|
25
|
+
export * from "./ast/containerElement";
|
|
26
|
+
export * from "./ast/element";
|
|
27
|
+
export * from "./ast/functionDef";
|
|
28
|
+
export * from "./ast/interfaceDef";
|
|
29
|
+
export * from "./ast/jsonModule";
|
|
30
|
+
export * from "./ast/moduleDef";
|
|
31
|
+
export * from "./ast/namespaceDef";
|
|
32
|
+
export * from "./ast/objectDef";
|
|
33
|
+
export * from "./ast/statementDef";
|
|
34
|
+
export * from "./ast/tempContainer";
|
|
35
|
+
export * from "./ast/typeDef";
|
|
36
36
|
export * from "./bin/cli";
|
|
37
37
|
export { EnumEntryNode } from './enumEntryNode';
|
|
@@ -1,38 +1,38 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @file Automatically generated by barrelsby.
|
|
3
3
|
*/
|
|
4
|
-
export * from "./arg
|
|
5
|
-
export * from "./arguments
|
|
6
|
-
export * from "./constructor
|
|
4
|
+
export * from "./arg";
|
|
5
|
+
export * from "./arguments";
|
|
6
|
+
export * from "./constructor";
|
|
7
7
|
export * from "./customTextArrayNode";
|
|
8
8
|
export * from "./customTextNode";
|
|
9
|
-
export * from "./customTypeArrayNode
|
|
10
|
-
export * from "./customTypeNode
|
|
11
|
-
export * from "./enumNode
|
|
9
|
+
export * from "./customTypeArrayNode";
|
|
10
|
+
export * from "./customTypeNode";
|
|
11
|
+
export * from "./enumNode";
|
|
12
12
|
export * from "./i18nGenerator";
|
|
13
|
-
export * from "./i18nNode
|
|
14
|
-
export * from "./namespaceNode
|
|
13
|
+
export * from "./i18nNode";
|
|
14
|
+
export * from "./namespaceNode";
|
|
15
15
|
export * from "./nodeName";
|
|
16
|
-
export * from "./rootNode.
|
|
16
|
+
export * from "./rootNode.";
|
|
17
17
|
export * from "./stringUtil";
|
|
18
|
-
export * from "./textArrayNode
|
|
19
|
-
export * from "./textNode
|
|
20
|
-
export * from "./valueNode
|
|
21
|
-
export * from "./writer
|
|
18
|
+
export * from "./textArrayNode";
|
|
19
|
+
export * from "./textNode";
|
|
20
|
+
export * from "./valueNode";
|
|
21
|
+
export * from "./writer";
|
|
22
22
|
export * from "./ast/abstractContainerElement";
|
|
23
23
|
export * from "./ast/abstractElement";
|
|
24
|
-
export * from "./ast/classDef
|
|
25
|
-
export * from "./ast/containerElement
|
|
26
|
-
export * from "./ast/element
|
|
27
|
-
export * from "./ast/functionDef
|
|
28
|
-
export * from "./ast/interfaceDef
|
|
29
|
-
export * from "./ast/jsonModule
|
|
30
|
-
export * from "./ast/moduleDef
|
|
31
|
-
export * from "./ast/namespaceDef
|
|
32
|
-
export * from "./ast/objectDef
|
|
33
|
-
export * from "./ast/statementDef
|
|
34
|
-
export * from "./ast/tempContainer
|
|
35
|
-
export * from "./ast/typeDef
|
|
24
|
+
export * from "./ast/classDef";
|
|
25
|
+
export * from "./ast/containerElement";
|
|
26
|
+
export * from "./ast/element";
|
|
27
|
+
export * from "./ast/functionDef";
|
|
28
|
+
export * from "./ast/interfaceDef";
|
|
29
|
+
export * from "./ast/jsonModule";
|
|
30
|
+
export * from "./ast/moduleDef";
|
|
31
|
+
export * from "./ast/namespaceDef";
|
|
32
|
+
export * from "./ast/objectDef";
|
|
33
|
+
export * from "./ast/statementDef";
|
|
34
|
+
export * from "./ast/tempContainer";
|
|
35
|
+
export * from "./ast/typeDef";
|
|
36
36
|
export * from "./bin/cli";
|
|
37
37
|
export { EnumEntryNode } from './enumEntryNode';
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxPQUFPLENBQUM7QUFDdEIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLFdBQVcsQ0FBQztBQUMxQixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUMifQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { I18nNode } from './i18nNode';
|
|
2
|
+
export class LeafNode extends I18nNode {
|
|
3
|
+
}
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhZk5vZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2xlYWZOb2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFdEMsTUFBTSxPQUFnQixRQUFTLFNBQVEsUUFBUTtDQUU5QyJ9
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ContainerElement } from './ast/containerElement
|
|
2
|
-
import { I18nNode } from './i18nNode
|
|
1
|
+
import { ContainerElement } from './ast/containerElement';
|
|
2
|
+
import { I18nNode } from './i18nNode';
|
|
3
3
|
import { NodeName } from './nodeName';
|
|
4
4
|
export declare class NameSpaceNode extends I18nNode {
|
|
5
5
|
static matches(name: NodeName, yamlData: any): boolean;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { I18nNode } from './i18nNode';
|
|
2
|
+
export class NameSpaceNode extends I18nNode {
|
|
3
|
+
static matches(name, yamlData) {
|
|
4
|
+
// we're fallback so we're greedy, just make sure I'm last in the list of matchers
|
|
5
|
+
return true;
|
|
6
|
+
}
|
|
7
|
+
generateApi(parent) {
|
|
8
|
+
parent.nestedContainer(this.namespaceName, namespace => {
|
|
9
|
+
this.eachChild(child => child.generateApi(namespace));
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZXNwYWNlTm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvbmFtZXNwYWNlTm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBR3RDLE1BQU0sT0FBTyxhQUFjLFNBQVEsUUFBUTtJQUV6QyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQWMsRUFBRSxRQUFhO1FBQzFDLG1GQUFtRjtRQUNuRixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxXQUFXLENBQUMsTUFBd0I7UUFDbEMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxFQUFFO1lBQ3JELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDeEQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBUUYifQ==
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ContainerElement } from './ast/containerElement';
|
|
2
|
+
import { LeafNode } from './leafNode';
|
|
3
|
+
import { NodeName } from './nodeName';
|
|
4
|
+
export declare class NullNode 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,20 @@
|
|
|
1
|
+
import * as _ from 'lodash';
|
|
2
|
+
import { Arguments } from './arguments';
|
|
3
|
+
import { LeafNode } from './leafNode';
|
|
4
|
+
export class NullNode extends LeafNode {
|
|
5
|
+
static matches(name, yamlData) {
|
|
6
|
+
return _.isNull(yamlData);
|
|
7
|
+
}
|
|
8
|
+
parse(data) {
|
|
9
|
+
this.data = data;
|
|
10
|
+
}
|
|
11
|
+
generateApi(out) {
|
|
12
|
+
out.createFunction(this.name.asJsIdentifier, Arguments.empty(), this.returnType(), out => {
|
|
13
|
+
out.println(` return null;`);
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
returnType() {
|
|
17
|
+
return 'null';
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVsbE5vZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL251bGxOb2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFeEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUd0QyxNQUFNLE9BQU8sUUFBUyxTQUFRLFFBQVE7SUFHcEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFjLEVBQUUsUUFBYTtRQUMxQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFTO1FBQ2IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVELFdBQVcsQ0FBQyxHQUFxQjtRQUMvQixHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUU7WUFDdkYsR0FBRyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0NBQ0YifQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Module } from './ast/moduleDef
|
|
2
|
-
import { I18nNode, NodeConstructor } from './i18nNode
|
|
1
|
+
import { Module } from './ast/moduleDef';
|
|
2
|
+
import { I18nNode, NodeConstructor } from './i18nNode';
|
|
3
3
|
export declare class RootNode extends I18nNode {
|
|
4
4
|
readonly namespace: string;
|
|
5
5
|
private _nodeTypes;
|