@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
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { Arguments } from '../arguments
|
|
2
|
-
import { Writer } from '../writer
|
|
1
|
+
import { Arguments } from '../arguments';
|
|
2
|
+
import { Writer } from '../writer';
|
|
3
3
|
import { AbstractContainerElement } from './abstractContainerElement';
|
|
4
|
-
import { ClassDef } from './classDef
|
|
5
|
-
import { ContainerElement } from './containerElement
|
|
6
|
-
import { InterfaceDef } from './interfaceDef
|
|
7
|
-
import { ObjectDef } from './objectDef
|
|
8
|
-
import { TypeDef } from './typeDef
|
|
4
|
+
import { ClassDef } from './classDef';
|
|
5
|
+
import { ContainerElement } from './containerElement';
|
|
6
|
+
import { InterfaceDef } from './interfaceDef';
|
|
7
|
+
import { ObjectDef } from './objectDef';
|
|
8
|
+
import { TypeDef } from './typeDef';
|
|
9
9
|
export declare class NamespaceDef extends AbstractContainerElement implements ContainerElement {
|
|
10
10
|
constructor(name: string);
|
|
11
11
|
nestedContainer(name: string, configure: (def: ContainerElement) => void): ContainerElement;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { AbstractContainerElement } from './abstractContainerElement';
|
|
2
|
+
import { ClassDef } from './classDef';
|
|
3
|
+
import { FunctionDef } from './functionDef';
|
|
4
|
+
import { InterfaceDef } from './interfaceDef';
|
|
5
|
+
import { ObjectDef } from './objectDef';
|
|
6
|
+
import { StatementDef } from './statementDef';
|
|
7
|
+
import { TypeDef } from './typeDef';
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZXNwYWNlRGVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9hc3QvbmFtZXNwYWNlRGVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFdEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUdwQyxNQUFNLE9BQU8sWUFBYSxTQUFRLHdCQUF3QjtJQUV4RCxZQUFZLElBQVk7UUFDdEIsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2QsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFZLEVBQUUsU0FBMEM7UUFDdEUsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxlQUFlLENBQUMsU0FBaUI7UUFDL0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxlQUFlLENBQUMsSUFBWSxFQUFFLFNBQXVDO1FBQ25FLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVksRUFBRSxLQUFhO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLFVBQVUs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
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { Arguments } from '../arguments
|
|
2
|
-
import { Writer } from '../writer
|
|
1
|
+
import { Arguments } from '../arguments';
|
|
2
|
+
import { Writer } from '../writer';
|
|
3
3
|
import { AbstractContainerElement } from './abstractContainerElement';
|
|
4
|
-
import { ClassDef } from './classDef
|
|
5
|
-
import { ContainerElement } from './containerElement
|
|
6
|
-
import { InterfaceDef } from './interfaceDef
|
|
7
|
-
import { NamespaceDef } from './namespaceDef
|
|
8
|
-
import { TypeDef } from './typeDef
|
|
4
|
+
import { ClassDef } from './classDef';
|
|
5
|
+
import { ContainerElement } from './containerElement';
|
|
6
|
+
import { InterfaceDef } from './interfaceDef';
|
|
7
|
+
import { NamespaceDef } from './namespaceDef';
|
|
8
|
+
import { TypeDef } from './typeDef';
|
|
9
9
|
export declare class ObjectDef extends AbstractContainerElement implements ContainerElement {
|
|
10
10
|
private _typeName;
|
|
11
11
|
constructor(name: string);
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import * as _ from 'lodash';
|
|
2
|
+
import { capitalize } from '../stringUtil';
|
|
3
|
+
import { AbstractContainerElement } from './abstractContainerElement';
|
|
4
|
+
import { FunctionDef } from './functionDef';
|
|
5
|
+
import { NamespaceDef } from './namespaceDef';
|
|
6
|
+
import { StatementDef } from './statementDef';
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0RGVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9hc3Qvb2JqZWN0RGVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBRTVCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHdEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU1QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzlDLE1BQU0sT0FBTyxTQUFVLFNBQVEsd0JBQXdCO0lBSXJELFlBQVksSUFBWTtRQUN0QixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFITixjQUFTLEdBQVcsSUFBSSxDQUFDO0lBSWpDLENBQUM7SUFFRCxNQUFNLENBQUMsUUFBZ0I7UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsZUFBZSxDQUFDLFNBQWlCO1FBQy9CLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsZUFBZSxDQUFDLElBQVksRUFBRSxTQUE4QztRQUMxRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxlQUFlLENBQUMsSUFBWSxFQUFFLFNBQXNDO1FBQ2xFLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixFQUFFLENB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
|
|
@@ -0,0 +1,11 @@
|
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGVtZW50RGVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9hc3Qvc3RhdGVtZW50RGVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVwRCxNQUFNLE9BQU8sWUFBYSxTQUFRLGVBQWU7SUFDL0MsWUFBb0IsSUFBWTtRQUM5QixLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFEUSxTQUFJLEdBQUosSUFBSSxDQUFRO0lBRWhDLENBQUM7SUFFRCxTQUFTLENBQUMsTUFBYztRQUN0QixNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7Q0FDRiJ9
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ObjectDef } from "./objectDef";
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcENvbnRhaW5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvYXN0L3RlbXBDb250YWluZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUV0QywyREFBMkQ7QUFDM0QsZ0NBQWdDO0FBQ2hDLE1BQU0sT0FBTyxhQUFjLFNBQVEsU0FBUztJQUN4QztRQUNJLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN0QixDQUFDO0NBQ0oifQ==
|
|
@@ -0,0 +1,11 @@
|
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZURlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvYXN0L3R5cGVEZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBRWxELE1BQU0sT0FBTyxPQUFRLFNBQVEsZUFBZTtJQUV4QyxZQUFZLElBQVksRUFBa0IsS0FBWTtRQUNsRCxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFEMEIsVUFBSyxHQUFMLEtBQUssQ0FBTztJQUV0RCxDQUFDO0lBRUQsU0FBUyxDQUFDLE1BQWM7UUFDcEIsT0FBTztJQUNYLENBQUM7Q0FDSiJ9
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ContainerElement } from './ast/containerElement
|
|
1
|
+
import { ContainerElement } from './ast/containerElement';
|
|
2
2
|
import { NodeName } from './nodeName';
|
|
3
|
-
import { TextArrayNode } from './textArrayNode
|
|
3
|
+
import { TextArrayNode } from './textArrayNode';
|
|
4
4
|
export declare class CustomTextArrayNode extends TextArrayNode {
|
|
5
5
|
static matches(name: NodeName, yamlData: any): boolean;
|
|
6
6
|
generateApi(container: ContainerElement): void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Arguments } from './arguments
|
|
2
|
-
import { TextArrayNode } from './textArrayNode
|
|
1
|
+
import { Arguments } from './arguments';
|
|
2
|
+
import { TextArrayNode } from './textArrayNode';
|
|
3
3
|
export class CustomTextArrayNode extends TextArrayNode {
|
|
4
4
|
static matches(name, yamlData) {
|
|
5
5
|
return TextArrayNode.matches(name, yamlData);
|
|
@@ -13,4 +13,4 @@ export class CustomTextArrayNode extends TextArrayNode {
|
|
|
13
13
|
return this.createArrayFunctionBody(this.key, this.getArgs(), out);
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tVGV4dEFycmF5Tm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvY3VzdG9tVGV4dEFycmF5Tm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR3hDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVoRCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsYUFBYTtJQUVwRCxNQUFNLENBQUMsT0FBTyxDQUFDLElBQWMsRUFBRSxRQUFhO1FBQzFDLE9BQU8sYUFBYSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELFdBQVcsQ0FBQyxTQUEyQjtRQUNyQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxVQUFVLEVBQUUsR0FBRyxDQUFDLEVBQUU7WUFDdEYsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGtCQUFrQixDQUFDLEdBQUc7UUFDcEIsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDckUsQ0FBQztDQUVGIn0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ContainerElement } from './ast/containerElement
|
|
1
|
+
import { ContainerElement } from './ast/containerElement';
|
|
2
2
|
import { NodeName } from './nodeName';
|
|
3
|
-
import { TextNode } from './textNode
|
|
3
|
+
import { TextNode } from './textNode';
|
|
4
4
|
export declare class CustomTextNode extends TextNode {
|
|
5
5
|
static matches(name: NodeName, yamlData: any): boolean;
|
|
6
6
|
generateApi(container: ContainerElement): void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Arguments } from './arguments
|
|
2
|
-
import { TextNode } from './textNode
|
|
1
|
+
import { Arguments } from './arguments';
|
|
2
|
+
import { TextNode } from './textNode';
|
|
3
3
|
export class CustomTextNode extends TextNode {
|
|
4
4
|
static matches(name, yamlData) {
|
|
5
5
|
return TextNode.matches(name, yamlData);
|
|
@@ -11,4 +11,4 @@ export class CustomTextNode extends TextNode {
|
|
|
11
11
|
});
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tVGV4dE5vZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2N1c3RvbVRleHROb2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHeEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUV0QyxNQUFNLE9BQU8sY0FBZSxTQUFRLFFBQVE7SUFFMUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFjLEVBQUUsUUFBYTtRQUMxQyxPQUFPLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxXQUFXLENBQUMsU0FBMkI7UUFDckMsMkNBQTJDO1FBQzNDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsU0FBUyxDQUFDLEtBQUssRUFBRSxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsRUFBRTtZQUNwRixJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YifQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ContainerElement } from './ast/containerElement
|
|
2
|
-
import { Constructor } from './constructor
|
|
3
|
-
import { I18nNode } from './i18nNode
|
|
1
|
+
import { ContainerElement } from './ast/containerElement';
|
|
2
|
+
import { Constructor } from './constructor';
|
|
3
|
+
import { I18nNode } from './i18nNode';
|
|
4
4
|
import { NodeName } from './nodeName';
|
|
5
5
|
export declare class CustomTypeArrayNode extends I18nNode {
|
|
6
6
|
private customType;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { CustomTypeNode } from './customTypeNode';
|
|
2
|
+
import { I18nNode } from './i18nNode';
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tVHlwZUFycmF5Tm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvY3VzdG9tVHlwZUFycmF5Tm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN0QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXRDLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxRQUFRO0lBSS9DLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBYyxFQUFFLFFBQWE7UUFDMUMsT0FBTyxRQUFRLElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3pELENBQUM7SUFFUyxVQUFVLENBQXFCLElBQWMsRUFBRSxJQUFTLEVBQUUsZUFBK0I7UUFDakcsT0FBTyxLQUFLLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDakgsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUF3QjtRQUNsQyxNQUFNLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDLEVBQUU7WUFDckQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDckIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMvQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUVGIn0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ContainerElement } from './ast/containerElement
|
|
2
|
-
import { I18nNode, NodeConstructor } from './i18nNode
|
|
1
|
+
import { ContainerElement } from './ast/containerElement';
|
|
2
|
+
import { I18nNode, NodeConstructor } from './i18nNode';
|
|
3
3
|
import { NodeName } from './nodeName';
|
|
4
4
|
export declare class CustomTypeNode extends I18nNode {
|
|
5
5
|
static matches(name: NodeName, yamlData: any): boolean;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { ObjectDef } from './ast/objectDef';
|
|
2
|
+
import { CustomTextArrayNode } from './customTextArrayNode';
|
|
3
|
+
import { CustomTextNode } from './customTextNode';
|
|
4
|
+
import { EmptyTextNode } from './emptyTextNode';
|
|
5
|
+
import { I18nNode } from './i18nNode';
|
|
6
|
+
import { NullNode } from './nullNode';
|
|
7
|
+
import { ValueNode } from './valueNode';
|
|
8
|
+
export class CustomTypeNode extends I18nNode {
|
|
9
|
+
static matches(name, yamlData) {
|
|
10
|
+
return yamlData && name.customTypeName && !name.isArray;
|
|
11
|
+
}
|
|
12
|
+
supportedChildNodeTypes() {
|
|
13
|
+
return [EmptyTextNode, CustomTextArrayNode, CustomTextNode, ValueNode, NullNode];
|
|
14
|
+
}
|
|
15
|
+
parse(container) {
|
|
16
|
+
super.parse(container);
|
|
17
|
+
this.eachChild(child => this.getArgs().merge(child.getArgs()));
|
|
18
|
+
}
|
|
19
|
+
generateApi(parent) {
|
|
20
|
+
if (this.hasArgs()) {
|
|
21
|
+
const tempContainer = new ObjectDef('!temp!');
|
|
22
|
+
this.eachChild(child => {
|
|
23
|
+
child.generateApi(tempContainer);
|
|
24
|
+
});
|
|
25
|
+
parent.createFunction(this.name.asJsIdentifier, this.getArgs(), this.name.customTypeName, body => {
|
|
26
|
+
body.println('return {');
|
|
27
|
+
body.indent(out => {
|
|
28
|
+
tempContainer.writeBody(out);
|
|
29
|
+
});
|
|
30
|
+
body.println('}');
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
parent.createObject(this.name.asJsIdentifier, def => {
|
|
35
|
+
def.asType(this.name.customTypeName);
|
|
36
|
+
this.eachChild(child => {
|
|
37
|
+
child.generateApi(def);
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
get namespaceName() {
|
|
43
|
+
return super.namespaceName;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tVHlwZU5vZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2N1c3RvbVR5cGVOb2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWhELE9BQU8sRUFBRSxRQUFRLEVBQW1CLE1BQU0sWUFBWSxDQUFDO0FBRXZELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUd4QyxNQUFNLE9BQU8sY0FBZSxTQUFRLFFBQVE7SUFFMUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFjLEVBQUUsUUFBYTtRQUMxQyxPQUFPLFFBQVEsSUFBSSxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUMxRCxDQUFDO0lBRUQsdUJBQXVCO1FBQ3JCLE9BQU8sQ0FBQyxhQUFhLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBRUQsS0FBSyxDQUFDLFNBQWM7UUFDbEIsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxXQUFXLENBQUMsTUFBd0I7UUFDbEMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDbEIsTUFBTSxhQUFhLEdBQUcsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDOUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDckIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNuQyxDQUFDLENBQUMsQ0FBQztZQUNILE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxFQUFFO2dCQUMvRixJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUNoQixhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUMvQixDQUFDLENBQUMsQ0FBQztnQkFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsR0FBRyxDQUFDLEVBQUU7Z0JBQ2xELEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDckMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtvQkFDckIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDekIsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztTQUNKO0lBRUgsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sS0FBSyxDQUFDLGFBQWEsQ0FBQztJQUM3QixDQUFDO0NBQ0YifQ==
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ContainerElement } from './ast/containerElement';
|
|
2
|
+
import { LeafNode } from './leafNode';
|
|
3
|
+
import { NodeName } from './nodeName';
|
|
4
|
+
export declare class EmptyTextNode extends LeafNode {
|
|
5
|
+
private data;
|
|
6
|
+
static matches(name: NodeName, yamlData: any): boolean;
|
|
7
|
+
parse(data: any): void;
|
|
8
|
+
generateApi(out: ContainerElement): void;
|
|
9
|
+
returnType(): string;
|
|
10
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as _ from 'lodash';
|
|
2
|
+
import { Arguments } from './arguments';
|
|
3
|
+
import { LeafNode } from './leafNode';
|
|
4
|
+
// TODO: this isn't ready for use as it assumes all translations will have empty strings...
|
|
5
|
+
// The typical use case is for when you have a custom types node where you want to leave the value blank.
|
|
6
|
+
// Should probably handle this with a null entry and exclude it from the translation bundle.
|
|
7
|
+
export class EmptyTextNode extends LeafNode {
|
|
8
|
+
static matches(name, yamlData) {
|
|
9
|
+
return _.isString(yamlData) && _.isEmpty(yamlData);
|
|
10
|
+
}
|
|
11
|
+
parse(data) {
|
|
12
|
+
this.data = data;
|
|
13
|
+
}
|
|
14
|
+
generateApi(out) {
|
|
15
|
+
out.createFunction(this.name.asJsIdentifier, Arguments.empty(), this.returnType(), out => {
|
|
16
|
+
out.println(` return "";`);
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
returnType() {
|
|
20
|
+
return 'string';
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHlUZXh0Tm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvZW1wdHlUZXh0Tm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBSXhDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFHdEMsMkZBQTJGO0FBQzNGLCtHQUErRztBQUMvRyxrR0FBa0c7QUFDbEcsTUFBTSxPQUFPLGFBQWMsU0FBUSxRQUFRO0lBR3pDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBYyxFQUFFLFFBQWE7UUFDMUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFTO1FBQ2IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVELFdBQVcsQ0FBQyxHQUFxQjtRQUMvQixHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUU7WUFDdkYsR0FBRyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztDQUNGIn0=
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { ArrayMultimap } from '@teppeis/multimaps';
|
|
2
|
+
import { ContainerElement } from './ast/containerElement';
|
|
3
|
+
import { I18nNode, NodeConstructor } from './i18nNode';
|
|
3
4
|
import { NodeName } from './nodeName';
|
|
4
5
|
export declare class EnumEntryNode extends I18nNode {
|
|
5
6
|
static matches(name: NodeName, data: any): boolean;
|
|
6
|
-
getPropertiesNames(): string[];
|
|
7
7
|
supportedChildNodeTypes(): NodeConstructor<any>[];
|
|
8
|
+
getPropertiesNames(): string[];
|
|
9
|
+
getPropertyTypes(): ArrayMultimap<string, string>;
|
|
8
10
|
parse(container: any): void;
|
|
9
11
|
generateApi(parent: ContainerElement, typeName?: string): void;
|
|
10
12
|
}
|
|
@@ -1,16 +1,35 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ArrayMultimap } from '@teppeis/multimaps';
|
|
2
|
+
import { ObjectDef } from './ast/objectDef';
|
|
2
3
|
import { CustomTextNode } from './customTextNode';
|
|
3
|
-
import { I18nNode } from './i18nNode
|
|
4
|
-
import {
|
|
4
|
+
import { I18nNode } from './i18nNode';
|
|
5
|
+
import { LeafNode } from './leafNode';
|
|
6
|
+
import { NullNode } from './nullNode';
|
|
7
|
+
import { TextNode } from './textNode';
|
|
5
8
|
export class EnumEntryNode extends I18nNode {
|
|
6
9
|
static matches(name, data) {
|
|
7
10
|
return true;
|
|
8
11
|
}
|
|
12
|
+
supportedChildNodeTypes() {
|
|
13
|
+
return [CustomTextNode, TextNode, NullNode];
|
|
14
|
+
}
|
|
9
15
|
getPropertiesNames() {
|
|
10
16
|
return this.children.map(it => it.name.asJsIdentifier);
|
|
11
17
|
}
|
|
12
|
-
|
|
13
|
-
|
|
18
|
+
getPropertyTypes() {
|
|
19
|
+
const result = new ArrayMultimap();
|
|
20
|
+
this.children.forEach(it => {
|
|
21
|
+
if (it instanceof LeafNode) {
|
|
22
|
+
let propertyName = it.name.asJsIdentifier;
|
|
23
|
+
let returnType = it.returnType();
|
|
24
|
+
if (!result.get(propertyName).includes(returnType)) {
|
|
25
|
+
result.put(propertyName, returnType);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
throw new Error(`Enum entries only support leaf nodes, got ${it.constructor.name} at ${(this.parent.fqNamespaceName)}.${this.name}`);
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
return result;
|
|
14
33
|
}
|
|
15
34
|
parse(container) {
|
|
16
35
|
super.parse(container);
|
|
@@ -40,4 +59,4 @@ export class EnumEntryNode extends I18nNode {
|
|
|
40
59
|
}
|
|
41
60
|
}
|
|
42
61
|
}
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bUVudHJ5Tm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvZW51bUVudHJ5Tm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsUUFBUSxFQUFtQixNQUFNLFlBQVksQ0FBQztBQUN2RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXRDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUV0QyxNQUFNLE9BQU8sYUFBYyxTQUFRLFFBQVE7SUFFekMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFjLEVBQUUsSUFBUztRQUN0QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCx1QkFBdUI7UUFDckIsT0FBTyxDQUFDLGNBQWMsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsTUFBTSxNQUFNLEdBQUcsSUFBSSxhQUFhLEVBQWtCLENBQUM7UUFDbkQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDekIsSUFBSSxFQUFFLFlBQVksUUFBUSxFQUFFO2dCQUMxQixJQUFJLFlBQVksR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQztnQkFDMUMsSUFBSSxVQUFVLEdBQUcsRUFBRSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUNqQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUU7b0JBQ2xELE1BQU0sQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDO2lCQUN0QzthQUNGO2lCQUFNO2dCQUNMLE1BQU0sSUFBSSxLQUFLLENBQUMsNkNBQTZDLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQzthQUN0STtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELEtBQUssQ0FBQyxTQUFjO1FBQ2xCLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQXdCLEVBQUUsUUFBaUI7UUFDckQsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDbEIsTUFBTSxhQUFhLEdBQUcsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDOUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDckIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNuQyxDQUFDLENBQUMsQ0FBQztZQUNILE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLFFBQVEsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsRUFBRTtnQkFDM0csSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDaEIsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDL0IsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNwQixDQUFDLENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsR0FBRyxDQUFDLEVBQUU7Z0JBQzVDLEdBQUcsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQ3JCLEtBQUssQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3pCLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7Q0FDRiJ9
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ContainerElement } from './ast/containerElement
|
|
2
|
-
import { Constructor } from './constructor
|
|
3
|
-
import { I18nNode } from './i18nNode
|
|
1
|
+
import { ContainerElement } from './ast/containerElement';
|
|
2
|
+
import { Constructor } from './constructor';
|
|
3
|
+
import { I18nNode } from './i18nNode';
|
|
4
4
|
import { NodeName } from './nodeName';
|
|
5
5
|
export declare class EnumNode extends I18nNode {
|
|
6
6
|
static matches(name: NodeName, yamlData: any): boolean;
|