@coolon/i18n-resource-generator 3.2.3 → 3.3.0
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 +2 -2
- 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} +1 -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/booleanNode.d.ts +13 -0
- package/build/main/lib/booleanNode.js +55 -0
- 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 +28 -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} +5 -5
- package/build/main/lib/i18nNode.js +188 -0
- package/build/main/lib/index.d.ts +30 -26
- package/build/main/lib/index.js +31 -29
- 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 +2 -2
- 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} +1 -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/booleanNode.d.ts +13 -0
- package/build/module/lib/booleanNode.js +32 -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 +26 -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} +5 -5
- package/build/module/lib/i18nNode.js +162 -0
- package/build/module/lib/index.d.ts +30 -26
- package/build/module/lib/index.js +31 -27
- 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 -117
- package/build/main/lib/i18nNode.class.js +0 -188
- 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 -94
- package/build/module/lib/i18nNode.class.js +0 -162
- 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
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { Arg } from './arg.class';
|
|
2
|
-
export class Arguments {
|
|
3
|
-
constructor(args) {
|
|
4
|
-
this.args = args || [];
|
|
5
|
-
}
|
|
6
|
-
static createSingle(name, type) {
|
|
7
|
-
return new Arguments([new Arg(name, type)]);
|
|
8
|
-
}
|
|
9
|
-
static createAll(def) {
|
|
10
|
-
const args = new Arguments();
|
|
11
|
-
for (let key in def) {
|
|
12
|
-
args.add(new Arg(key, def[key]));
|
|
13
|
-
}
|
|
14
|
-
return args;
|
|
15
|
-
}
|
|
16
|
-
static empty() {
|
|
17
|
-
return emptyArgs;
|
|
18
|
-
}
|
|
19
|
-
add(arg) {
|
|
20
|
-
if (this.canAdd(arg)) {
|
|
21
|
-
this.args.push(arg);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
asParameterDeclaration() {
|
|
25
|
-
return this.args.map(arg => `${arg.argName}:${arg.argType}`).join(', ');
|
|
26
|
-
}
|
|
27
|
-
asConstructorParameters(visibility = 'protected') {
|
|
28
|
-
return this.args.map(arg => `${visibility} ${arg.argName}:${arg.argType}`).join(', ');
|
|
29
|
-
}
|
|
30
|
-
asArgsObject() {
|
|
31
|
-
return `{${this.args.map(arg => `'${arg.formatName}':${arg.formatValue}`).join(', ')}}`;
|
|
32
|
-
}
|
|
33
|
-
asArray() {
|
|
34
|
-
return this.args;
|
|
35
|
-
}
|
|
36
|
-
merge(other) {
|
|
37
|
-
other.args.forEach(arg => this.add(arg));
|
|
38
|
-
}
|
|
39
|
-
any() {
|
|
40
|
-
return this.args.length > 0;
|
|
41
|
-
}
|
|
42
|
-
canAdd(arg) {
|
|
43
|
-
const existing = this.args.find(it => it.argName === arg.argName);
|
|
44
|
-
if (existing && existing.argType !== arg.argType) {
|
|
45
|
-
throw new Error(`arg with the same name and different type exists. Exiting arg is ${existing.argName}:${existing.argType}, other type is ${arg.argName}:${arg.argType}`);
|
|
46
|
-
}
|
|
47
|
-
return !existing;
|
|
48
|
-
}
|
|
49
|
-
contains(argName) {
|
|
50
|
-
return !!this.args.find(arg => arg.argName === argName);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
class EmptyArgs extends Arguments {
|
|
54
|
-
constructor() {
|
|
55
|
-
super([]);
|
|
56
|
-
}
|
|
57
|
-
merge(other) {
|
|
58
|
-
throw new Error(`'illegal state, can't call Arguments.empty().merge()`);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
const emptyArgs = new EmptyArgs();
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJndW1lbnRzLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9hcmd1bWVudHMuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVsQyxNQUFNLE9BQU8sU0FBUztJQW9CcEIsWUFBWSxJQUFZO1FBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBcEJELE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBWSxFQUFFLElBQVk7UUFDNUMsT0FBTyxJQUFJLFNBQVMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBOEI7UUFDN0MsTUFBTSxJQUFJLEdBQUcsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUM3QixLQUFLLElBQUksR0FBRyxJQUFJLEdBQUcsRUFBRTtZQUNuQixJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2xDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUs7UUFDVixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBUUQsR0FBRyxDQUFDLEdBQVE7UUFDVixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDckI7SUFDSCxDQUFDO0lBRUQsc0JBQXNCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxPQUFPLElBQUksR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxhQUFpRCxXQUFXO1FBQ2xGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFVBQVUsSUFBSSxHQUFHLENBQUMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksR0FBRyxDQUFDLFVBQVUsS0FBSyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUMxRixDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQWdCO1FBQ3BCLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxHQUFHO1FBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVPLE1BQU0sQ0FBQyxHQUFRO1FBQ3JCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sS0FBSyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEUsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLE9BQU8sS0FBSyxHQUFHLENBQUMsT0FBTyxFQUFFO1lBQ2hELE1BQU0sSUFBSSxLQUFLLENBQUMsb0VBQW9FLFFBQVEsQ0FBQyxPQUFPLElBQUksUUFBUSxDQUFDLE9BQU8sbUJBQW1CLEdBQUcsQ0FBQyxPQUFPLElBQUksR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7U0FDMUs7UUFDRCxPQUFPLENBQUMsUUFBUSxDQUFDO0lBQ25CLENBQUM7SUFFRCxRQUFRLENBQUMsT0FBWTtRQUNuQixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEtBQUssT0FBTyxDQUFDLENBQUM7SUFDMUQsQ0FBQztDQUNGO0FBRUQsTUFBTSxTQUFVLFNBQVEsU0FBUztJQUMvQjtRQUNFLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNaLENBQUM7SUFHRCxLQUFLLENBQUMsS0FBZ0I7UUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxzREFBc0QsQ0FBQyxDQUFDO0lBQzFFLENBQUM7Q0FDRjtBQUVELE1BQU0sU0FBUyxHQUFHLElBQUksU0FBUyxFQUFFLENBQUMifQ==
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { AbstractContainerElement } from "./abstractContainerElement";
|
|
2
|
-
import { FunctionDef } from "./functionDef.class";
|
|
3
|
-
export class ClassDef extends AbstractContainerElement {
|
|
4
|
-
constructor(name, args) {
|
|
5
|
-
super(name);
|
|
6
|
-
this.args = args;
|
|
7
|
-
}
|
|
8
|
-
createFunction(name, args, returnType, bodyContent) {
|
|
9
|
-
this.addElement(new FunctionDef(name, args, returnType, bodyContent));
|
|
10
|
-
}
|
|
11
|
-
writeBody(writer) {
|
|
12
|
-
if (this.args.any()) {
|
|
13
|
-
writer.println(`constructor(${this.args.asConstructorParameters('protected')}) {}`);
|
|
14
|
-
}
|
|
15
|
-
this.forEach(FunctionDef, def => {
|
|
16
|
-
writer.println(`${def.name}(${def.args.asParameterDeclaration()}):${def.returnType} {`);
|
|
17
|
-
writer.indent(writer => def.writeBody(writer));
|
|
18
|
-
writer.println('}');
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3NEZWYuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2FzdC9jbGFzc0RlZi5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFaEQsTUFBTSxPQUFPLFFBQVMsU0FBUSx3QkFBd0I7SUFFbEQsWUFBWSxJQUFXLEVBQWtCLElBQWM7UUFDbkQsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRHlCLFNBQUksR0FBSixJQUFJLENBQVU7SUFFdkQsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFZLEVBQUUsSUFBZSxFQUFFLFVBQWtCLEVBQUUsV0FBa0M7UUFDaEcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFBO0lBQ3pFLENBQUM7SUFFRCxTQUFTLENBQUMsTUFBYztRQUVwQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDakIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxlQUFlLElBQUksQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3ZGO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLEVBQUU7WUFDNUIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxLQUFLLEdBQUcsQ0FBQyxVQUFVLElBQUksQ0FBQyxDQUFDO1lBQ3hGLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDL0MsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4QixDQUFDLENBQUMsQ0FBQztJQUVQLENBQUM7Q0FDSiJ9
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { AbstractElement } from './abstractElement';
|
|
2
|
-
export class FunctionDef extends AbstractElement {
|
|
3
|
-
constructor(name, args, returnType, bodyWriter) {
|
|
4
|
-
super(name);
|
|
5
|
-
this.args = args;
|
|
6
|
-
this.returnType = returnType;
|
|
7
|
-
this.bodyWriter = bodyWriter;
|
|
8
|
-
}
|
|
9
|
-
writeBody(writer) {
|
|
10
|
-
this.bodyWriter(writer);
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb25EZWYuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2FzdC9mdW5jdGlvbkRlZi5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFcEQsTUFBTSxPQUFPLFdBQVksU0FBUSxlQUFlO0lBQzlDLFlBQVksSUFBWSxFQUNJLElBQWUsRUFDZixVQUFrQixFQUNsQixVQUFpQztRQUMzRCxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFIYyxTQUFJLEdBQUosSUFBSSxDQUFXO1FBQ2YsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQUNsQixlQUFVLEdBQVYsVUFBVSxDQUF1QjtJQUU3RCxDQUFDO0lBRUQsU0FBUyxDQUFDLE1BQWM7UUFDdEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxQixDQUFDO0NBRUYifQ==
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { FunctionDef } from './functionDef.class';
|
|
2
|
-
import { AbstractContainerElement } from './abstractContainerElement';
|
|
3
|
-
import { ObjectDef } from './objectDef.class';
|
|
4
|
-
export class InterfaceDef extends AbstractContainerElement {
|
|
5
|
-
constructor(name) {
|
|
6
|
-
super(name);
|
|
7
|
-
}
|
|
8
|
-
createFunction(name, args, returnType) {
|
|
9
|
-
this.addElement(new FunctionDef(name, args, returnType, (out) => {
|
|
10
|
-
}));
|
|
11
|
-
}
|
|
12
|
-
createObject(name, type) {
|
|
13
|
-
this.addElement(new ObjectDef(name).asType(type || 'any'));
|
|
14
|
-
}
|
|
15
|
-
writeBody(writer) {
|
|
16
|
-
this.forEach(FunctionDef, def => {
|
|
17
|
-
writer.println(`${def.name}(${def.args.asParameterDeclaration()}):${def.returnType};`);
|
|
18
|
-
});
|
|
19
|
-
this.forEach(ObjectDef, def => {
|
|
20
|
-
writer.println(`${def.name}:${def.typeName()};`);
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlRGVmLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9hc3QvaW50ZXJmYWNlRGVmLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFOUMsTUFBTSxPQUFPLFlBQWEsU0FBUSx3QkFBd0I7SUFFeEQsWUFBWSxJQUFZO1FBQ3RCLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNkLENBQUM7SUFFRCxjQUFjLENBQUMsSUFBWSxFQUFFLElBQWUsRUFBRSxVQUFrQjtRQUM5RCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUMsR0FBVyxFQUFFLEVBQUU7UUFDeEUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBWSxFQUFFLElBQVk7UUFDckMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUFjO1FBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxFQUFFO1lBQzlCLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsS0FBSyxHQUFHLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztRQUN6RixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxFQUFFO1lBQzVCLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDbkQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YifQ==
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { ObjectDef } from './objectDef.class';
|
|
2
|
-
export class JsonModule extends ObjectDef {
|
|
3
|
-
constructor() {
|
|
4
|
-
super('');
|
|
5
|
-
}
|
|
6
|
-
defineObject(callback) {
|
|
7
|
-
this.rootObject = new JsonModule();
|
|
8
|
-
callback(this.rootObject);
|
|
9
|
-
}
|
|
10
|
-
writeBody(writer) {
|
|
11
|
-
writer.println(`{`);
|
|
12
|
-
writer.indent(w => {
|
|
13
|
-
super.writeBody(w);
|
|
14
|
-
});
|
|
15
|
-
writer.println(`}`);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbk1vZHVsZS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvYXN0L2pzb25Nb2R1bGUuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTlDLE1BQU0sT0FBTyxVQUFXLFNBQVEsU0FBUztJQUd2QztRQUNFLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNaLENBQUM7SUFFRCxZQUFZLENBQUMsUUFBa0M7UUFDN0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ25DLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUFjO1FBQ3RCLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNoQixLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0QixDQUFDO0NBQ0YifQ==
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { AbstractElement } from './abstractElement';
|
|
2
|
-
import { NamespaceDef } from './namespaceDef.class';
|
|
3
|
-
class HeaderLine extends AbstractElement {
|
|
4
|
-
constructor(line) {
|
|
5
|
-
super('');
|
|
6
|
-
this.line = line;
|
|
7
|
-
}
|
|
8
|
-
writeBody(writer) {
|
|
9
|
-
writer.println(this.line);
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
class ImportLine extends AbstractElement {
|
|
13
|
-
constructor(line) {
|
|
14
|
-
super('');
|
|
15
|
-
this.line = line;
|
|
16
|
-
}
|
|
17
|
-
writeBody(writer) {
|
|
18
|
-
writer.println(`${this.line};`);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
export class Module extends NamespaceDef {
|
|
22
|
-
constructor() {
|
|
23
|
-
super('');
|
|
24
|
-
}
|
|
25
|
-
addHeader(line) {
|
|
26
|
-
this.addElement(new HeaderLine(line));
|
|
27
|
-
}
|
|
28
|
-
addImport(line) {
|
|
29
|
-
this.addElement(new ImportLine(line));
|
|
30
|
-
}
|
|
31
|
-
writeBody(writer) {
|
|
32
|
-
this.forEach(HeaderLine, line => line.writeBody(writer));
|
|
33
|
-
writer.println('');
|
|
34
|
-
this.forEach(ImportLine, line => line.writeBody(writer));
|
|
35
|
-
writer.println('');
|
|
36
|
-
super.writeBody(writer);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlRGVmLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9hc3QvbW9kdWxlRGVmLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFcEQsTUFBTSxVQUFXLFNBQVEsZUFBZTtJQUN0QyxZQUFvQixJQUFZO1FBQzlCLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQURRLFNBQUksR0FBSixJQUFJLENBQVE7SUFFaEMsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUFjO1FBQ3RCLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUM7Q0FDRjtBQUVELE1BQU0sVUFBVyxTQUFRLGVBQWU7SUFDdEMsWUFBb0IsSUFBWTtRQUM5QixLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFEUSxTQUFJLEdBQUosSUFBSSxDQUFRO0lBRWhDLENBQUM7SUFFRCxTQUFTLENBQUMsTUFBYztRQUN0QixNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7SUFDbEMsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLE1BQU8sU0FBUSxZQUFZO0lBRXRDO1FBQ0UsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ1osQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFZO1FBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsU0FBUyxDQUFDLElBQVk7UUFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxTQUFTLENBQUMsTUFBYztRQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUN6RCxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3pELE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbkIsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxQixDQUFDO0NBQ0YifQ==
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { AbstractContainerElement } from './abstractContainerElement';
|
|
2
|
-
import { ClassDef } from './classDef.class';
|
|
3
|
-
import { FunctionDef } from './functionDef.class';
|
|
4
|
-
import { InterfaceDef } from './interfaceDef.class';
|
|
5
|
-
import { ObjectDef } from './objectDef.class';
|
|
6
|
-
import { StatementDef } from './statementDef.class';
|
|
7
|
-
import { TypeDef } from './typeDef.class';
|
|
8
|
-
export class NamespaceDef extends AbstractContainerElement {
|
|
9
|
-
constructor(name) {
|
|
10
|
-
super(name);
|
|
11
|
-
}
|
|
12
|
-
nestedContainer(name, configure) {
|
|
13
|
-
return this.addElement(new NamespaceDef(name), configure);
|
|
14
|
-
}
|
|
15
|
-
createStatement(statement) {
|
|
16
|
-
this.addElement(new StatementDef(statement));
|
|
17
|
-
}
|
|
18
|
-
defineInterface(name, configure) {
|
|
19
|
-
return this.addElement(new InterfaceDef(name), configure);
|
|
20
|
-
}
|
|
21
|
-
defineType(name, value) {
|
|
22
|
-
return this.addElement(new TypeDef(name, value));
|
|
23
|
-
}
|
|
24
|
-
defineClass(name, args, configure) {
|
|
25
|
-
return this.addElement(new ClassDef(name, args), configure);
|
|
26
|
-
}
|
|
27
|
-
createObject(name, configure) {
|
|
28
|
-
return this.addElement(new ObjectDef(name), configure);
|
|
29
|
-
}
|
|
30
|
-
createFunction(name, args, returnType, bodyContent) {
|
|
31
|
-
this.addElement(new FunctionDef(name, args, returnType, bodyContent));
|
|
32
|
-
}
|
|
33
|
-
writeBody(writer) {
|
|
34
|
-
this.forEach(StatementDef, def => {
|
|
35
|
-
def.writeBody(writer);
|
|
36
|
-
});
|
|
37
|
-
this.forEach(TypeDef, def => {
|
|
38
|
-
writer.println(`export type ${def.name} = ${def.value};`);
|
|
39
|
-
});
|
|
40
|
-
this.forEach(InterfaceDef, def => {
|
|
41
|
-
writer.println(`export interface ${def.name} {`);
|
|
42
|
-
writer.indent(writer => def.writeBody(writer));
|
|
43
|
-
writer.println('}');
|
|
44
|
-
});
|
|
45
|
-
this.forEach(ClassDef, def => {
|
|
46
|
-
writer.println(`export class ${def.name} {`);
|
|
47
|
-
writer.indent(writer => def.writeBody(writer));
|
|
48
|
-
writer.println('}');
|
|
49
|
-
});
|
|
50
|
-
this.forEach(FunctionDef, def => {
|
|
51
|
-
writer.println(`export function ${def.name}(${def.args.asParameterDeclaration()}):${def.returnType} {`);
|
|
52
|
-
writer.indent(writer => def.writeBody(writer));
|
|
53
|
-
writer.println('}');
|
|
54
|
-
});
|
|
55
|
-
this.forEach(ObjectDef, def => {
|
|
56
|
-
writer.println(`export const ${def.name} = {`);
|
|
57
|
-
writer.indent(writer => def.writeBody(writer));
|
|
58
|
-
writer.println(`}${def.asTypeDecl()};`);
|
|
59
|
-
});
|
|
60
|
-
this.forEach(NamespaceDef, def => {
|
|
61
|
-
writer.println(`export namespace ${def.name} {`);
|
|
62
|
-
writer.indent(writer => def.writeBody(writer));
|
|
63
|
-
writer.println('}');
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZXNwYWNlRGVmLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9hc3QvbmFtZXNwYWNlRGVmLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU1QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRzFDLE1BQU0sT0FBTyxZQUFhLFNBQVEsd0JBQXdCO0lBRXhELFlBQVksSUFBWTtRQUN0QixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDZCxDQUFDO0lBRUQsZUFBZSxDQUFDLElBQVksRUFBRSxTQUEwQztRQUN0RSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELGVBQWUsQ0FBQyxTQUFpQjtRQUMvQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFZLEVBQUUsU0FBdUM7UUFDbkUsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxVQUFVLENBQUMsSUFBWSxFQUFFLEtBQWE7UUFDcEMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxXQUFXLENBQUMsSUFBWSxFQUFFLElBQWUsRUFBRSxTQUFtQztRQUM1RSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxZQUFZLENBQUMsSUFBWSxFQUFFLFNBQW9DO1FBQzdELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsY0FBYyxDQUFDLElBQVksRUFBRSxJQUFlLEVBQUUsVUFBa0IsRUFBRSxXQUFrQztRQUNsRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUdELFNBQVMsQ0FBQyxNQUFjO1FBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxFQUFFO1lBQy9CLEdBQUcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsRUFBRTtZQUMxQixNQUFNLENBQUMsT0FBTyxDQUFDLGVBQWUsR0FBRyxDQUFDLElBQUksTUFBTSxHQUFHLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUM1RCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxFQUFFO1lBQy9CLE1BQU0sQ0FBQyxPQUFPLENBQUMsb0JBQW9CLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDO1lBQ2pELE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDL0MsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxFQUFFO1lBQzNCLE1BQU0sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDO1lBQzdDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDL0MsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxFQUFFO1lBQzlCLE1BQU0sQ0FBQyxPQUFPLENBQUMsbUJBQW1CLEdBQUcsQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxLQUFLLEdBQUcsQ0FBQyxVQUFVLElBQUksQ0FBQyxDQUFDO1lBQ3hHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDL0MsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxFQUFFO1lBQzVCLE1BQU0sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDO1lBQy9DLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDL0MsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxHQUFHLENBQUMsRUFBRTtZQUMvQixNQUFNLENBQUMsT0FBTyxDQUFDLG9CQUFvQixHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQztZQUNqRCxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQy9DLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YifQ==
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import * as _ from 'lodash';
|
|
2
|
-
import { capitalize } from '../stringUtil';
|
|
3
|
-
import { AbstractContainerElement } from './abstractContainerElement';
|
|
4
|
-
import { FunctionDef } from './functionDef.class';
|
|
5
|
-
import { NamespaceDef } from './namespaceDef.class';
|
|
6
|
-
import { StatementDef } from './statementDef.class';
|
|
7
|
-
export class ObjectDef extends AbstractContainerElement {
|
|
8
|
-
constructor(name) {
|
|
9
|
-
super(name);
|
|
10
|
-
this._typeName = null;
|
|
11
|
-
}
|
|
12
|
-
asType(typeName) {
|
|
13
|
-
this._typeName = typeName;
|
|
14
|
-
return this;
|
|
15
|
-
}
|
|
16
|
-
typeName() {
|
|
17
|
-
return this._typeName;
|
|
18
|
-
}
|
|
19
|
-
createStatement(statement) {
|
|
20
|
-
this.addElement(new StatementDef(statement));
|
|
21
|
-
}
|
|
22
|
-
nestedContainer(name, configure) {
|
|
23
|
-
this.addElement(new ObjectDef(name), configure);
|
|
24
|
-
}
|
|
25
|
-
defineInterface(name, configure) {
|
|
26
|
-
return this.nearestNamespace().defineInterface(this.fqName(name), configure);
|
|
27
|
-
}
|
|
28
|
-
defineClass(name, args, configure) {
|
|
29
|
-
return this.nearestNamespace().defineClass(this.fqName(name), null, configure);
|
|
30
|
-
}
|
|
31
|
-
defineType(name, value) {
|
|
32
|
-
return this.nearestNamespace().defineType(name, value);
|
|
33
|
-
}
|
|
34
|
-
createObject(name, configure) {
|
|
35
|
-
return this.addElement(new ObjectDef(name), configure);
|
|
36
|
-
}
|
|
37
|
-
createFunction(name, args, returnType, bodyContent) {
|
|
38
|
-
this.addElement(new FunctionDef(name, args, returnType, bodyContent));
|
|
39
|
-
}
|
|
40
|
-
nearestNamespace() {
|
|
41
|
-
return _.findLast(this.pathToRoot(), element => element instanceof NamespaceDef);
|
|
42
|
-
}
|
|
43
|
-
fqName(rawName) {
|
|
44
|
-
const namespaceDef = this.nearestNamespace();
|
|
45
|
-
return this.pathTo(namespaceDef).slice(1, -1).map(e => capitalize(e.name)).join('') + rawName;
|
|
46
|
-
}
|
|
47
|
-
asTypeDecl() {
|
|
48
|
-
return this.typeName() ? ` as ${this.typeName()}` : '';
|
|
49
|
-
}
|
|
50
|
-
writeBody(writer) {
|
|
51
|
-
this.forEach(FunctionDef, (def, last) => {
|
|
52
|
-
writer.println(`${def.name}(${def.args.asParameterDeclaration()}):${def.returnType} {`);
|
|
53
|
-
writer.indent(writer => def.writeBody(writer));
|
|
54
|
-
writer.println(`}${last ? '' : ','}`);
|
|
55
|
-
});
|
|
56
|
-
this.forEach(ObjectDef, (def, last) => {
|
|
57
|
-
writer.println(`${def.name}: {`);
|
|
58
|
-
writer.indent(writer => def.writeBody(writer));
|
|
59
|
-
writer.println(`}${def.asTypeDecl()}${last ? '' : ','}`);
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0RGVmLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9hc3Qvb2JqZWN0RGVmLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBRTVCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHdEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWxELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHcEQsTUFBTSxPQUFPLFNBQVUsU0FBUSx3QkFBd0I7SUFJckQsWUFBWSxJQUFZO1FBQ3RCLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUhOLGNBQVMsR0FBVyxJQUFJLENBQUM7SUFJakMsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFnQjtRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUMxQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxlQUFlLENBQUMsU0FBaUI7UUFDL0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxlQUFlLENBQUMsSUFBWSxFQUFFLFNBQThDO1FBQzFFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFZLEVBQUUsU0FBc0M7UUFDbEUsT0FBTyxJQUFJLENBQUMs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
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { AbstractElement } from './abstractElement';
|
|
2
|
-
export class StatementDef extends AbstractElement {
|
|
3
|
-
constructor(line) {
|
|
4
|
-
super('');
|
|
5
|
-
this.line = line;
|
|
6
|
-
}
|
|
7
|
-
writeBody(writer) {
|
|
8
|
-
writer.println(`${this.line}${this.line.endsWith(';') ? '' : ';'}`);
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGVtZW50RGVmLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9hc3Qvc3RhdGVtZW50RGVmLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVwRCxNQUFNLE9BQU8sWUFBYSxTQUFRLGVBQWU7SUFDL0MsWUFBb0IsSUFBWTtRQUM5QixLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFEUSxTQUFJLEdBQUosSUFBSSxDQUFRO0lBRWhDLENBQUM7SUFFRCxTQUFTLENBQUMsTUFBYztRQUN0QixNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7Q0FDRiJ9
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { ObjectDef } from "./objectDef.class";
|
|
2
|
-
// Exists to create structures that don't automatically get
|
|
3
|
-
// written out by their parents.
|
|
4
|
-
export class TempContainer extends ObjectDef {
|
|
5
|
-
constructor() {
|
|
6
|
-
super('!!temp!!');
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcENvbnRhaW5lci5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvYXN0L3RlbXBDb250YWluZXIuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBRTVDLDJEQUEyRDtBQUMzRCxnQ0FBZ0M7QUFDaEMsTUFBTSxPQUFPLGFBQWMsU0FBUSxTQUFTO0lBQ3hDO1FBQ0ksS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7Q0FDSiJ9
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { AbstractElement } from "./abstractElement";
|
|
2
|
-
export class TypeDef extends AbstractElement {
|
|
3
|
-
constructor(name, value) {
|
|
4
|
-
super(name);
|
|
5
|
-
this.value = value;
|
|
6
|
-
}
|
|
7
|
-
writeBody(writer) {
|
|
8
|
-
// noop
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZURlZi5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvYXN0L3R5cGVEZWYuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBRWxELE1BQU0sT0FBTyxPQUFRLFNBQVEsZUFBZTtJQUV4QyxZQUFZLElBQVksRUFBa0IsS0FBWTtRQUNsRCxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFEMEIsVUFBSyxHQUFMLEtBQUssQ0FBTztJQUV0RCxDQUFDO0lBRUQsU0FBUyxDQUFDLE1BQWM7UUFDcEIsT0FBTztJQUNYLENBQUM7Q0FDSiJ9
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { CustomTypeNode } from './customTypeNode.class';
|
|
2
|
-
import { I18nNode } from './i18nNode.class';
|
|
3
|
-
import { NodeName } from './nodeName';
|
|
4
|
-
export class CustomTypeArrayNode extends I18nNode {
|
|
5
|
-
static matches(name, yamlData) {
|
|
6
|
-
return yamlData && name.customTypeName && name.isArray;
|
|
7
|
-
}
|
|
8
|
-
parseChild(name, data, defaultNodeType) {
|
|
9
|
-
return super.parseChild(NodeName.parse(`${name.safeName}(${this.name.customTypeName})`), data, CustomTypeNode);
|
|
10
|
-
}
|
|
11
|
-
generateApi(parent) {
|
|
12
|
-
parent.nestedContainer(this.namespaceName, namespace => {
|
|
13
|
-
this.eachChild(child => {
|
|
14
|
-
child.generateApi(namespace);
|
|
15
|
-
});
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tVHlwZUFycmF5Tm9kZS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvY3VzdG9tVHlwZUFycmF5Tm9kZS5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFeEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFdEMsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFFBQVE7SUFJL0MsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFjLEVBQUUsUUFBYTtRQUMxQyxPQUFPLFFBQVEsSUFBSSxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDekQsQ0FBQztJQUVTLFVBQVUsQ0FBcUIsSUFBYyxFQUFFLElBQVMsRUFBRSxlQUErQjtRQUNqRyxPQUFPLEtBQUssQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxjQUFjLENBQUMsQ0FBQztJQUNqSCxDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQXdCO1FBQ2xDLE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsRUFBRTtZQUNyRCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNyQixLQUFLLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQy9CLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBRUYifQ==
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { ObjectDef } from './ast/objectDef.class';
|
|
2
|
-
import { CustomTextArrayNode } from './customTextArrayNode';
|
|
3
|
-
import { CustomTextNode } from './customTextNode';
|
|
4
|
-
import { I18nNode } from './i18nNode.class';
|
|
5
|
-
import { ValueNode } from './valueNode.class';
|
|
6
|
-
export class CustomTypeNode extends I18nNode {
|
|
7
|
-
static matches(name, yamlData) {
|
|
8
|
-
return yamlData && name.customTypeName && !name.isArray;
|
|
9
|
-
}
|
|
10
|
-
supportedChildNodeTypes() {
|
|
11
|
-
return [CustomTextArrayNode, CustomTextNode, ValueNode];
|
|
12
|
-
}
|
|
13
|
-
parse(container) {
|
|
14
|
-
super.parse(container);
|
|
15
|
-
this.eachChild(child => this.getArgs().merge(child.getArgs()));
|
|
16
|
-
}
|
|
17
|
-
generateApi(parent) {
|
|
18
|
-
if (this.hasArgs()) {
|
|
19
|
-
const tempContainer = new ObjectDef('!temp!');
|
|
20
|
-
this.eachChild(child => {
|
|
21
|
-
child.generateApi(tempContainer);
|
|
22
|
-
});
|
|
23
|
-
parent.createFunction(this.name.asJsIdentifier, this.getArgs(), this.name.customTypeName, body => {
|
|
24
|
-
body.println('return {');
|
|
25
|
-
body.indent(out => {
|
|
26
|
-
tempContainer.writeBody(out);
|
|
27
|
-
});
|
|
28
|
-
body.println('}');
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
parent.createObject(this.name.asJsIdentifier, def => {
|
|
33
|
-
def.asType(this.name.customTypeName);
|
|
34
|
-
this.eachChild(child => {
|
|
35
|
-
child.generateApi(def);
|
|
36
|
-
});
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
get namespaceName() {
|
|
41
|
-
return super.namespaceName;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tVHlwZU5vZGUuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2N1c3RvbVR5cGVOb2RlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbEQsT0FBTyxFQUFFLFFBQVEsRUFBbUIsTUFBTSxrQkFBa0IsQ0FBQztBQUU3RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHOUMsTUFBTSxPQUFPLGNBQWUsU0FBUSxRQUFRO0lBRTFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBYyxFQUFFLFFBQWE7UUFDMUMsT0FBTyxRQUFRLElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDMUQsQ0FBQztJQUVELHVCQUF1QjtRQUNyQixPQUFPLENBQUMsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxLQUFLLENBQUMsU0FBYztRQUNsQixLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUF3QjtRQUNsQyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNsQixNQUFNLGFBQWEsR0FBRyxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNyQixLQUFLLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ25DLENBQUMsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLEVBQUU7Z0JBQy9GLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ2hCLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQy9CLENBQUMsQ0FBQyxDQUFDO2dCQUNILElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDcEIsQ0FBQyxDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxHQUFHLENBQUMsRUFBRTtnQkFDbEQsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUNyQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO29CQUNyQixLQUFLLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUN6QixDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFFSCxDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxLQUFLLENBQUMsYUFBYSxDQUFDO0lBQzdCLENBQUM7Q0FDRiJ9
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import * as _ from 'lodash';
|
|
2
|
-
import { isEqual, sortBy } from 'lodash';
|
|
3
|
-
import { Arguments } from './arguments.class';
|
|
4
|
-
import { ObjectDef } from './ast/objectDef.class';
|
|
5
|
-
import { EnumEntryNode } from './enumEntryNode';
|
|
6
|
-
import { I18nNode } from './i18nNode.class';
|
|
7
|
-
import { NameSpaceNode } from './namespaceNode.class';
|
|
8
|
-
export class EnumNode extends I18nNode {
|
|
9
|
-
static matches(name, yamlData) {
|
|
10
|
-
// console.log(name);
|
|
11
|
-
return yamlData && name.customTypeName === 'Enum';
|
|
12
|
-
}
|
|
13
|
-
parseChild(name, data, defaultNodeType) {
|
|
14
|
-
if (defaultNodeType['name'] === NameSpaceNode['name']) {
|
|
15
|
-
return super.parseChild(name, data, EnumEntryNode);
|
|
16
|
-
}
|
|
17
|
-
else {
|
|
18
|
-
throw new Error(`entry '${name}' in '${this.accessor}' is not an object. Enum children to be an object.`);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
generateApi(parent) {
|
|
22
|
-
parent.nestedContainer(this.namespaceName, namespace => {
|
|
23
|
-
let properites = undefined;
|
|
24
|
-
this.children.forEach(child => {
|
|
25
|
-
const node = child;
|
|
26
|
-
let propertiesNames = node.getPropertiesNames();
|
|
27
|
-
if (!properites) {
|
|
28
|
-
properites = [...propertiesNames];
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
if (!isEqual(sortBy(properites), sortBy(propertiesNames))) {
|
|
32
|
-
throw new Error(`enum properties don't match for ${(namespace.fqNamespaceName)}.${child.name}: expected [${properites.join(',')}], got [${propertiesNames.join(',')}]`);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
const enumType = namespace.defineInterface(`${this.className}Entry`);
|
|
37
|
-
properites.forEach(prop => {
|
|
38
|
-
enumType.createFunction(prop, Arguments.empty(), 'string');
|
|
39
|
-
});
|
|
40
|
-
// only process enum entry nodes for now so we guarantee all the children
|
|
41
|
-
// are enum types.
|
|
42
|
-
this.eachChild(child => {
|
|
43
|
-
child.generateApi(namespace, enumType.name);
|
|
44
|
-
});
|
|
45
|
-
// populate our type with the properties of our children.
|
|
46
|
-
const constantEnumDefs = namespace.allOfType(ObjectDef);
|
|
47
|
-
if (constantEnumDefs.length > 0) {
|
|
48
|
-
const enumKeyType = `${this.fqClassName}Key`;
|
|
49
|
-
namespace.defineType(enumKeyType, this.lookupKeys().join('|'));
|
|
50
|
-
// now create our lookup functions for the enum notes
|
|
51
|
-
namespace.createFunction('lookup', Arguments.createSingle('key', enumKeyType), enumType.name, out => {
|
|
52
|
-
out.println(`const result = tryLookup(key);`);
|
|
53
|
-
out.println(`if (!result) {`);
|
|
54
|
-
out.println(` throw new Error("Unknown enum key '" + key + "'. Must be one of ${this.lookupKeys().join(', ')}")`);
|
|
55
|
-
out.println(`}`);
|
|
56
|
-
out.println(`return result;`);
|
|
57
|
-
});
|
|
58
|
-
namespace.createFunction('tryLookup', Arguments.createSingle('key', 'string'), `${enumType.name} | undefined`, out => {
|
|
59
|
-
this.eachChild(child => {
|
|
60
|
-
if (!child.hasArgs()) {
|
|
61
|
-
out.println(`if ([${child.name.validKeys().map(k => `'${k}'`)}].includes(key)) { return ${this.rootNode().namespace}.${child.accessor}; }`);
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
out.println(`return undefined;`);
|
|
65
|
-
});
|
|
66
|
-
namespace.createFunction('nameOf', Arguments.createSingle('option', enumType.name), enumKeyType, out => {
|
|
67
|
-
this.eachChild(child => {
|
|
68
|
-
if (!child.hasArgs()) {
|
|
69
|
-
out.println(`if (option === ${this.rootNode().namespace}.${child.accessor}) { return '${child.name.asJsIdentifier}'; }`);
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
out.println(`throw new Error("Unknown enum")`);
|
|
73
|
-
});
|
|
74
|
-
namespace.createFunction('asArray', Arguments.empty(), `${enumType.name}[]`, out => {
|
|
75
|
-
out.println(`return [`);
|
|
76
|
-
this.eachChild(child => {
|
|
77
|
-
if (!child.hasArgs()) {
|
|
78
|
-
out.indent(_out => _out.println(`${this.rootNode().namespace}.${child.accessor},`));
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
out.println(']');
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
// generateMessageBundle(parent: ContainerElement): void {
|
|
87
|
-
//
|
|
88
|
-
// }
|
|
89
|
-
lookupKeys() {
|
|
90
|
-
let nonVarChildren = this.children.filter(c => !c.hasArgs());
|
|
91
|
-
return _.uniq(nonVarChildren.map(child => `'${child.name.camelisedName}'`).concat(nonVarChildren.map(child => `'${child.name.asJsIdentifier}'`)));
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bU5vZGUuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2VudW1Ob2RlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU5QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFJdEQsTUFBTSxPQUFPLFFBQVMsU0FBUSxRQUFRO0lBRXBDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBYyxFQUFFLFFBQWE7UUFDMUMscUJBQXFCO1FBQ3JCLE9BQU8sUUFBUSxJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssTUFBTSxDQUFDO0lBQ3BELENBQUM7SUFFUyxVQUFVLENBQXFCLElBQWMsRUFBRSxJQUFTLEVBQUUsZUFBK0I7UUFDakcsSUFBSSxlQUFlLENBQUMsTUFBTSxDQUFDLEtBQUssYUFBYSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3JELE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1NBQ3BEO2FBQU07WUFDTCxNQUFNLElBQUksS0FBSyxDQUFDLFVBQVUsSUFBSSxTQUFTLElBQUksQ0FBQyxRQUFRLG9EQUFvRCxDQUFDLENBQUM7U0FDM0c7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQXdCO1FBRWxDLE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFD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
|