@coolon/i18n-resource-generator 3.2.3 → 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 +10 -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/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} +5 -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 +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/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} +5 -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 -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
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
import glob from 'glob';
|
|
3
3
|
import _ from 'lodash';
|
|
4
4
|
import * as path from 'path';
|
|
5
|
-
import { Module } from './ast/moduleDef
|
|
6
|
-
import { CustomTypeArrayNode } from './customTypeArrayNode
|
|
7
|
-
import { CustomTypeNode } from './customTypeNode
|
|
8
|
-
import { EnumNode } from './enumNode
|
|
9
|
-
import { NameSpaceNode } from './namespaceNode
|
|
5
|
+
import { Module } from './ast/moduleDef';
|
|
6
|
+
import { CustomTypeArrayNode } from './customTypeArrayNode';
|
|
7
|
+
import { CustomTypeNode } from './customTypeNode';
|
|
8
|
+
import { EnumNode } from './enumNode';
|
|
9
|
+
import { NameSpaceNode } from './namespaceNode';
|
|
10
10
|
import { NodeName } from './nodeName';
|
|
11
|
-
import { RootNode } from './rootNode.
|
|
12
|
-
import { TextArrayNode } from './textArrayNode
|
|
13
|
-
import { TextNode } from './textNode
|
|
14
|
-
import { ValueNode } from './valueNode
|
|
15
|
-
import { RootWriter } from './writer
|
|
11
|
+
import { RootNode } from './rootNode.';
|
|
12
|
+
import { TextArrayNode } from './textArrayNode';
|
|
13
|
+
import { TextNode } from './textNode';
|
|
14
|
+
import { ValueNode } from './valueNode';
|
|
15
|
+
import { RootWriter } from './writer';
|
|
16
16
|
export class I18nGenerator {
|
|
17
17
|
constructor(rootNamespaceClassName) {
|
|
18
18
|
this.rootNode = new RootNode(rootNamespaceClassName);
|
|
@@ -98,4 +98,4 @@ export class I18nGenerator {
|
|
|
98
98
|
return JSON.stringify(json, null, 3);
|
|
99
99
|
}
|
|
100
100
|
}
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bkdlbmVyYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvaTE4bkdlbmVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQkFBb0I7QUFDcEIsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQ3hCLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUN2QixPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWxELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFdEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN0QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHdEMsTUFBTSxPQUFPLGFBQWE7SUFJeEIsWUFBWSxzQkFBOEI7UUFDeEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUM7WUFDOUIsUUFBUSxFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFB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
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { Arguments } from './arguments
|
|
2
|
-
import { ContainerElement } from './ast/containerElement
|
|
3
|
-
import { Constructable, Constructor } from './constructor
|
|
1
|
+
import { Arguments } from './arguments';
|
|
2
|
+
import { ContainerElement } from './ast/containerElement';
|
|
3
|
+
import { Constructable, Constructor } from './constructor';
|
|
4
4
|
import { NodeName } from './nodeName';
|
|
5
|
-
import { RootNode } from './rootNode.
|
|
6
|
-
import { Writer } from './writer
|
|
5
|
+
import { RootNode } from './rootNode.';
|
|
6
|
+
import { Writer } from './writer';
|
|
7
7
|
export declare type NodeConstructor<T extends I18nNode> = {
|
|
8
8
|
matches(name: NodeName, data: any): boolean;
|
|
9
9
|
new (...args: any[]): T;
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import * as yaml from 'js-yaml';
|
|
3
|
+
import * as _ from 'lodash';
|
|
4
|
+
import { Arguments } from './arguments';
|
|
5
|
+
import { NodeName } from './nodeName';
|
|
6
|
+
export class I18nNode {
|
|
7
|
+
constructor(parent, name) {
|
|
8
|
+
this.parent = parent;
|
|
9
|
+
this.name = name;
|
|
10
|
+
this.childNodes = new Map();
|
|
11
|
+
this.templateArgs = new Arguments();
|
|
12
|
+
}
|
|
13
|
+
get key() {
|
|
14
|
+
return this.pathToRoot().slice(1).map(a => a.name.asJsIdentifier).join('.');
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Returns the full path to this nodes namespace as used in code. Doesn't include the I18n prefix.
|
|
18
|
+
*/
|
|
19
|
+
get accessor() {
|
|
20
|
+
const result = [];
|
|
21
|
+
this.pathToRoot().forEach(ancestor => ancestor.appendNamespaceTo(result));
|
|
22
|
+
return result.join('.');
|
|
23
|
+
}
|
|
24
|
+
get fqNamespaceName() {
|
|
25
|
+
return `${this.rootNode().namespace}.${this.key}`;
|
|
26
|
+
}
|
|
27
|
+
appendNamespaceTo(collector) {
|
|
28
|
+
collector.push(this.namespaceName);
|
|
29
|
+
}
|
|
30
|
+
isRoot() {
|
|
31
|
+
return !this.parent;
|
|
32
|
+
}
|
|
33
|
+
pathToRoot() {
|
|
34
|
+
return this.isRoot() ? [this] : this.parent.pathToRoot().concat(this);
|
|
35
|
+
}
|
|
36
|
+
parseFile(fileName) {
|
|
37
|
+
// let options = {schema: this.getSchema()};
|
|
38
|
+
console.log(`Loading: ${fileName}`);
|
|
39
|
+
const yamlData = yaml.safeLoad(fs.readFileSync(fileName, 'utf8'));
|
|
40
|
+
try {
|
|
41
|
+
this.parse(yamlData);
|
|
42
|
+
}
|
|
43
|
+
catch (e) {
|
|
44
|
+
throw new Error(`Failed to parse file:${fileName}\n-> ${e.message}\n-> ${e.stack}`);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
parse(yamlData) {
|
|
48
|
+
this.withEachProperty(yamlData, (name, data) => {
|
|
49
|
+
this.parseChild(name, data, this.computeNodeTypeOf(name, data));
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
parseChild(name, data, defaultNodeType) {
|
|
53
|
+
const child = this.getOrCreatNode(name, defaultNodeType);
|
|
54
|
+
if (this.constructor['acceptsChildNodesOfType']) {
|
|
55
|
+
const types = this.constructor['acceptsChildNodesOfType']();
|
|
56
|
+
if (!_.find(types, type => child instanceof type)) {
|
|
57
|
+
throw new Error(`Unsupported child type, must be one of ${types.map(t => t.name).join()}, got ${defaultNodeType.name}.`);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
child.parse(data);
|
|
61
|
+
return child;
|
|
62
|
+
}
|
|
63
|
+
getOrCreatNode(name, type) {
|
|
64
|
+
let node = this.childNodes.get(name.asJsIdentifier);
|
|
65
|
+
if (node && node.constructor != type) {
|
|
66
|
+
throw new Error(`Existing node named ${name} has different type, expected ${type['nodeName']}, got ${node.constructor['nodeName']}`);
|
|
67
|
+
}
|
|
68
|
+
// console.log(`--> getOrCreateNode(${nodeName}, ${type}) ${node ? 'found' : 'created'}`);
|
|
69
|
+
if (!node) {
|
|
70
|
+
node = new type(this, name);
|
|
71
|
+
this.childNodes.set(name.asJsIdentifier, node);
|
|
72
|
+
}
|
|
73
|
+
return node;
|
|
74
|
+
}
|
|
75
|
+
rootNode() {
|
|
76
|
+
return this.parent.rootNode();
|
|
77
|
+
}
|
|
78
|
+
nodeTypes() {
|
|
79
|
+
return this.rootNode().nodeTypes();
|
|
80
|
+
}
|
|
81
|
+
computeNodeTypeOf(name, data) {
|
|
82
|
+
const type = _.find(this.supportedChildNodeTypes(), it => it.matches(name, data));
|
|
83
|
+
if (!type) {
|
|
84
|
+
throw new Error(`No matching node type found for ${this.fqNamespaceName}.${name.rawName}, value = ${data}`);
|
|
85
|
+
}
|
|
86
|
+
return type;
|
|
87
|
+
}
|
|
88
|
+
supportedChildNodeTypes() {
|
|
89
|
+
return this.rootNode().nodeTypes();
|
|
90
|
+
}
|
|
91
|
+
withEachProperty(yamlData, cb) {
|
|
92
|
+
if (yamlData) {
|
|
93
|
+
Object.getOwnPropertyNames(yamlData).forEach(unsafeKey => {
|
|
94
|
+
const name = NodeName.parse(unsafeKey);
|
|
95
|
+
if (name.isReserved()) {
|
|
96
|
+
console.log(`Warning: Yaml key '${unsafeKey}' is a reserved word, converting to '${name.safeName}'`);
|
|
97
|
+
}
|
|
98
|
+
cb(name, yamlData[unsafeKey]);
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
get children() {
|
|
103
|
+
return Array.from(this.childNodes.values());
|
|
104
|
+
}
|
|
105
|
+
eachChild(cb) {
|
|
106
|
+
Array.from(this.childNodes.values()).forEach(node => cb(node));
|
|
107
|
+
}
|
|
108
|
+
getArgs() {
|
|
109
|
+
return this.templateArgs;
|
|
110
|
+
}
|
|
111
|
+
hasArgs() {
|
|
112
|
+
return this.getArgs().any();
|
|
113
|
+
}
|
|
114
|
+
get namespaceName() {
|
|
115
|
+
return this.name.asJsIdentifier;
|
|
116
|
+
}
|
|
117
|
+
get className() {
|
|
118
|
+
return this.name.asClassName;
|
|
119
|
+
}
|
|
120
|
+
get fqClassName() {
|
|
121
|
+
// the root node has no className and the second one is the language
|
|
122
|
+
let parents = this.pathToRoot().slice(2);
|
|
123
|
+
return parents.map(n => n.className).join('');
|
|
124
|
+
}
|
|
125
|
+
createArrayFunctionBody(key, args, out) {
|
|
126
|
+
out.println(`const translation = _activeBundle.${key};`);
|
|
127
|
+
out.println(`const missing = !isObject(translation);`);
|
|
128
|
+
out.println(`if (missing || Object.keys(translation).length < 1) {`);
|
|
129
|
+
out.indent(out => {
|
|
130
|
+
out.println(`const prefix = missing ? "missing key" : "empty key";`);
|
|
131
|
+
out.println(`return [prefix + " " + "${key}"];`);
|
|
132
|
+
});
|
|
133
|
+
out.println('} else { ');
|
|
134
|
+
out.indent(out => {
|
|
135
|
+
out.println(`return Object.keys(translation).map(line => {`);
|
|
136
|
+
out.indent(out => {
|
|
137
|
+
out.println(`// eslint-disable-next-line @typescript-eslint/ban-ts-comment`);
|
|
138
|
+
out.println(`// @ts-ignore`);
|
|
139
|
+
if (args.any()) {
|
|
140
|
+
out.println(`return new MessageFormat(translation[line], _locale).format(${args.asArgsObject()});`);
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
out.println(`return translation[line];`);
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
out.println('});');
|
|
147
|
+
});
|
|
148
|
+
out.println('}');
|
|
149
|
+
}
|
|
150
|
+
generateApi(parent) {
|
|
151
|
+
throw new Error('abstract method');
|
|
152
|
+
}
|
|
153
|
+
generateMessageBundle(parent, include) {
|
|
154
|
+
const me = {};
|
|
155
|
+
parent[this.namespaceName] = me;
|
|
156
|
+
this.eachChild(child => {
|
|
157
|
+
// console.log({child: child.constructor});
|
|
158
|
+
return child.generateMessageBundle(me, include);
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bk5vZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2kxOG5Ob2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUNwQixPQUFPLEtBQUssSUFBSSxNQUFNLFNBQVMsQ0FBQztBQUNoQyxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUc1QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR3hDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFXdEMsTUFBTSxPQUFPLFFBQVE7SUFLbkIsWUFBc0IsTUFBZ0IsRUFBa0IsSUFBYztRQUFoRCxXQUFNLEdBQU4sTUFBTSxDQUFVO1FBQWtCLFNBQUksR0FBSixJQUFJLENBQVU7UUFIOUQsZUFBVSxHQUEwQixJQUFJLEdBQUcsRUFBb0IsQ0FBQztRQUNoRSxpQkFBWSxHQUFjLElBQUksU0FBUyxFQUFFLENBQUM7SUFHbEQsQ0FBQztJQUVELElBQUksR0FBRztRQUNMLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLFFBQVE7UUFDVixNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzFFLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pC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
|
|
@@ -1,37 +1,37 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @file Automatically generated by barrelsby.
|
|
3
3
|
*/
|
|
4
|
-
export * from "./arg
|
|
5
|
-
export * from "./arguments
|
|
6
|
-
export * from "./constructor
|
|
4
|
+
export * from "./arg";
|
|
5
|
+
export * from "./arguments";
|
|
6
|
+
export * from "./constructor";
|
|
7
7
|
export * from "./customTextArrayNode";
|
|
8
8
|
export * from "./customTextNode";
|
|
9
|
-
export * from "./customTypeArrayNode
|
|
10
|
-
export * from "./customTypeNode
|
|
11
|
-
export * from "./enumNode
|
|
9
|
+
export * from "./customTypeArrayNode";
|
|
10
|
+
export * from "./customTypeNode";
|
|
11
|
+
export * from "./enumNode";
|
|
12
12
|
export * from "./i18nGenerator";
|
|
13
|
-
export * from "./i18nNode
|
|
14
|
-
export * from "./namespaceNode
|
|
13
|
+
export * from "./i18nNode";
|
|
14
|
+
export * from "./namespaceNode";
|
|
15
15
|
export * from "./nodeName";
|
|
16
|
-
export * from "./rootNode.
|
|
16
|
+
export * from "./rootNode.";
|
|
17
17
|
export * from "./stringUtil";
|
|
18
|
-
export * from "./textArrayNode
|
|
19
|
-
export * from "./textNode
|
|
20
|
-
export * from "./valueNode
|
|
21
|
-
export * from "./writer
|
|
18
|
+
export * from "./textArrayNode";
|
|
19
|
+
export * from "./textNode";
|
|
20
|
+
export * from "./valueNode";
|
|
21
|
+
export * from "./writer";
|
|
22
22
|
export * from "./ast/abstractContainerElement";
|
|
23
23
|
export * from "./ast/abstractElement";
|
|
24
|
-
export * from "./ast/classDef
|
|
25
|
-
export * from "./ast/containerElement
|
|
26
|
-
export * from "./ast/element
|
|
27
|
-
export * from "./ast/functionDef
|
|
28
|
-
export * from "./ast/interfaceDef
|
|
29
|
-
export * from "./ast/jsonModule
|
|
30
|
-
export * from "./ast/moduleDef
|
|
31
|
-
export * from "./ast/namespaceDef
|
|
32
|
-
export * from "./ast/objectDef
|
|
33
|
-
export * from "./ast/statementDef
|
|
34
|
-
export * from "./ast/tempContainer
|
|
35
|
-
export * from "./ast/typeDef
|
|
24
|
+
export * from "./ast/classDef";
|
|
25
|
+
export * from "./ast/containerElement";
|
|
26
|
+
export * from "./ast/element";
|
|
27
|
+
export * from "./ast/functionDef";
|
|
28
|
+
export * from "./ast/interfaceDef";
|
|
29
|
+
export * from "./ast/jsonModule";
|
|
30
|
+
export * from "./ast/moduleDef";
|
|
31
|
+
export * from "./ast/namespaceDef";
|
|
32
|
+
export * from "./ast/objectDef";
|
|
33
|
+
export * from "./ast/statementDef";
|
|
34
|
+
export * from "./ast/tempContainer";
|
|
35
|
+
export * from "./ast/typeDef";
|
|
36
36
|
export * from "./bin/cli";
|
|
37
37
|
export { EnumEntryNode } from './enumEntryNode';
|
|
@@ -1,38 +1,38 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @file Automatically generated by barrelsby.
|
|
3
3
|
*/
|
|
4
|
-
export * from "./arg
|
|
5
|
-
export * from "./arguments
|
|
6
|
-
export * from "./constructor
|
|
4
|
+
export * from "./arg";
|
|
5
|
+
export * from "./arguments";
|
|
6
|
+
export * from "./constructor";
|
|
7
7
|
export * from "./customTextArrayNode";
|
|
8
8
|
export * from "./customTextNode";
|
|
9
|
-
export * from "./customTypeArrayNode
|
|
10
|
-
export * from "./customTypeNode
|
|
11
|
-
export * from "./enumNode
|
|
9
|
+
export * from "./customTypeArrayNode";
|
|
10
|
+
export * from "./customTypeNode";
|
|
11
|
+
export * from "./enumNode";
|
|
12
12
|
export * from "./i18nGenerator";
|
|
13
|
-
export * from "./i18nNode
|
|
14
|
-
export * from "./namespaceNode
|
|
13
|
+
export * from "./i18nNode";
|
|
14
|
+
export * from "./namespaceNode";
|
|
15
15
|
export * from "./nodeName";
|
|
16
|
-
export * from "./rootNode.
|
|
16
|
+
export * from "./rootNode.";
|
|
17
17
|
export * from "./stringUtil";
|
|
18
|
-
export * from "./textArrayNode
|
|
19
|
-
export * from "./textNode
|
|
20
|
-
export * from "./valueNode
|
|
21
|
-
export * from "./writer
|
|
18
|
+
export * from "./textArrayNode";
|
|
19
|
+
export * from "./textNode";
|
|
20
|
+
export * from "./valueNode";
|
|
21
|
+
export * from "./writer";
|
|
22
22
|
export * from "./ast/abstractContainerElement";
|
|
23
23
|
export * from "./ast/abstractElement";
|
|
24
|
-
export * from "./ast/classDef
|
|
25
|
-
export * from "./ast/containerElement
|
|
26
|
-
export * from "./ast/element
|
|
27
|
-
export * from "./ast/functionDef
|
|
28
|
-
export * from "./ast/interfaceDef
|
|
29
|
-
export * from "./ast/jsonModule
|
|
30
|
-
export * from "./ast/moduleDef
|
|
31
|
-
export * from "./ast/namespaceDef
|
|
32
|
-
export * from "./ast/objectDef
|
|
33
|
-
export * from "./ast/statementDef
|
|
34
|
-
export * from "./ast/tempContainer
|
|
35
|
-
export * from "./ast/typeDef
|
|
24
|
+
export * from "./ast/classDef";
|
|
25
|
+
export * from "./ast/containerElement";
|
|
26
|
+
export * from "./ast/element";
|
|
27
|
+
export * from "./ast/functionDef";
|
|
28
|
+
export * from "./ast/interfaceDef";
|
|
29
|
+
export * from "./ast/jsonModule";
|
|
30
|
+
export * from "./ast/moduleDef";
|
|
31
|
+
export * from "./ast/namespaceDef";
|
|
32
|
+
export * from "./ast/objectDef";
|
|
33
|
+
export * from "./ast/statementDef";
|
|
34
|
+
export * from "./ast/tempContainer";
|
|
35
|
+
export * from "./ast/typeDef";
|
|
36
36
|
export * from "./bin/cli";
|
|
37
37
|
export { EnumEntryNode } from './enumEntryNode';
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxPQUFPLENBQUM7QUFDdEIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLFdBQVcsQ0FBQztBQUMxQixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUMifQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { I18nNode } from './i18nNode';
|
|
2
|
+
export class LeafNode extends I18nNode {
|
|
3
|
+
}
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhZk5vZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2xlYWZOb2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFdEMsTUFBTSxPQUFnQixRQUFTLFNBQVEsUUFBUTtDQUU5QyJ9
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ContainerElement } from './ast/containerElement
|
|
2
|
-
import { I18nNode } from './i18nNode
|
|
1
|
+
import { ContainerElement } from './ast/containerElement';
|
|
2
|
+
import { I18nNode } from './i18nNode';
|
|
3
3
|
import { NodeName } from './nodeName';
|
|
4
4
|
export declare class NameSpaceNode extends I18nNode {
|
|
5
5
|
static matches(name: NodeName, yamlData: any): boolean;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { I18nNode } from './i18nNode';
|
|
2
|
+
export class NameSpaceNode extends I18nNode {
|
|
3
|
+
static matches(name, yamlData) {
|
|
4
|
+
// we're fallback so we're greedy, just make sure I'm last in the list of matchers
|
|
5
|
+
return true;
|
|
6
|
+
}
|
|
7
|
+
generateApi(parent) {
|
|
8
|
+
parent.nestedContainer(this.namespaceName, namespace => {
|
|
9
|
+
this.eachChild(child => child.generateApi(namespace));
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZXNwYWNlTm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvbmFtZXNwYWNlTm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBR3RDLE1BQU0sT0FBTyxhQUFjLFNBQVEsUUFBUTtJQUV6QyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQWMsRUFBRSxRQUFhO1FBQzFDLG1GQUFtRjtRQUNuRixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxXQUFXLENBQUMsTUFBd0I7UUFDbEMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxFQUFFO1lBQ3JELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDeEQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBUUYifQ==
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ContainerElement } from './ast/containerElement';
|
|
2
|
+
import { LeafNode } from './leafNode';
|
|
3
|
+
import { NodeName } from './nodeName';
|
|
4
|
+
export declare class NullNode extends LeafNode {
|
|
5
|
+
private data;
|
|
6
|
+
static matches(name: NodeName, yamlData: any): boolean;
|
|
7
|
+
parse(data: any): void;
|
|
8
|
+
generateApi(out: ContainerElement): void;
|
|
9
|
+
returnType(): string;
|
|
10
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as _ from 'lodash';
|
|
2
|
+
import { Arguments } from './arguments';
|
|
3
|
+
import { LeafNode } from './leafNode';
|
|
4
|
+
export class NullNode extends LeafNode {
|
|
5
|
+
static matches(name, yamlData) {
|
|
6
|
+
return _.isNull(yamlData);
|
|
7
|
+
}
|
|
8
|
+
parse(data) {
|
|
9
|
+
this.data = data;
|
|
10
|
+
}
|
|
11
|
+
generateApi(out) {
|
|
12
|
+
out.createFunction(this.name.asJsIdentifier, Arguments.empty(), this.returnType(), out => {
|
|
13
|
+
out.println(` return null;`);
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
returnType() {
|
|
17
|
+
return 'null';
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVsbE5vZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL251bGxOb2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFeEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUd0QyxNQUFNLE9BQU8sUUFBUyxTQUFRLFFBQVE7SUFHcEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFjLEVBQUUsUUFBYTtRQUMxQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFTO1FBQ2IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVELFdBQVcsQ0FBQyxHQUFxQjtRQUMvQixHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUU7WUFDdkYsR0FBRyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0NBQ0YifQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Module } from './ast/moduleDef
|
|
2
|
-
import { I18nNode, NodeConstructor } from './i18nNode
|
|
1
|
+
import { Module } from './ast/moduleDef';
|
|
2
|
+
import { I18nNode, NodeConstructor } from './i18nNode';
|
|
3
3
|
export declare class RootNode extends I18nNode {
|
|
4
4
|
readonly namespace: string;
|
|
5
5
|
private _nodeTypes;
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { Arguments } from './arguments';
|
|
2
|
+
import { I18nNode } from './i18nNode';
|
|
3
|
+
import { NodeName } from './nodeName';
|
|
4
|
+
export class RootNode extends I18nNode {
|
|
5
|
+
constructor(namespace = "I18n") {
|
|
6
|
+
super(null, new NodeName(''));
|
|
7
|
+
this.namespace = namespace;
|
|
8
|
+
this._nodeTypes = [];
|
|
9
|
+
this.customTypesImports = new Map();
|
|
10
|
+
}
|
|
11
|
+
registerNodeTypes(nodeTypes) {
|
|
12
|
+
this._nodeTypes = nodeTypes;
|
|
13
|
+
}
|
|
14
|
+
nodeTypes() {
|
|
15
|
+
return this._nodeTypes;
|
|
16
|
+
}
|
|
17
|
+
rootNode() {
|
|
18
|
+
return this;
|
|
19
|
+
}
|
|
20
|
+
appendNamespaceTo(collector) {
|
|
21
|
+
// noop.
|
|
22
|
+
}
|
|
23
|
+
/*********
|
|
24
|
+
*
|
|
25
|
+
********/
|
|
26
|
+
generateApi(module) {
|
|
27
|
+
module.addHeader('/* eslint-disable @typescript-eslint/no-namespace */');
|
|
28
|
+
module.addHeader('/* tslint:disable:no-shadowed-variable */');
|
|
29
|
+
module.addHeader(`/******** IMPORTANT *********`);
|
|
30
|
+
module.addHeader(` * `);
|
|
31
|
+
module.addHeader(` * This file is automatically generated. Any edits will be lost.`);
|
|
32
|
+
module.addHeader(` * `);
|
|
33
|
+
module.addHeader(' ****/');
|
|
34
|
+
module.addImport(`import MessageFormat from 'message-format';`);
|
|
35
|
+
module.addImport(`import {isObject, isEmpty, isNumber, isNaN} from 'lodash-es'`);
|
|
36
|
+
this.customTypesImports.forEach((importDeclaration, className) => {
|
|
37
|
+
module.addImport(importDeclaration);
|
|
38
|
+
});
|
|
39
|
+
module.addImport('import * as defaultBundle from \'./locales/en.json\'');
|
|
40
|
+
module.addImport('import * as messageKeysBundle from \'./locales/message-keys.json\'');
|
|
41
|
+
module.createStatement('const _messageLocaleKey = "message-keys"');
|
|
42
|
+
module.nestedContainer(this.namespace, namespace => {
|
|
43
|
+
namespace.createStatement('let _locale:string|undefined = undefined');
|
|
44
|
+
namespace.createStatement('let _activeBundle:any = null');
|
|
45
|
+
namespace.createStatement('const _bundles = new Map<string,any>()');
|
|
46
|
+
const args = Arguments.createAll({
|
|
47
|
+
locale: 'string',
|
|
48
|
+
bundle: 'any'
|
|
49
|
+
});
|
|
50
|
+
namespace.createFunction('registerBundle', args, 'void', writer => {
|
|
51
|
+
writer.println(`if (_bundles.has(locale)) { throw new Error("bundle already registered for: " + locale)}`);
|
|
52
|
+
writer.println(`_bundles.set(locale, bundle);`);
|
|
53
|
+
});
|
|
54
|
+
namespace.createFunction('setLocale', Arguments.createSingle('locale', 'string'), 'void', writer => {
|
|
55
|
+
writer.println(`if (!_bundles.has(locale)) { throw new Error("No bundle registered for: " + locale)}`);
|
|
56
|
+
writer.println(`_locale = locale;`);
|
|
57
|
+
writer.println(`_activeBundle = _bundles.get(_locale);`);
|
|
58
|
+
});
|
|
59
|
+
namespace.createFunction('getAvailableLocales', Arguments.empty(), 'string[]', writer => {
|
|
60
|
+
writer.println(`return Array.from(_bundles.keys()).filter(key => key !== _messageLocaleKey);`);
|
|
61
|
+
});
|
|
62
|
+
namespace.createFunction('getLocale', Arguments.empty(), 'string|undefined', writer => {
|
|
63
|
+
writer.println(`return _locale`);
|
|
64
|
+
});
|
|
65
|
+
namespace.createStatement('registerBundle(_messageLocaleKey, messageKeysBundle)');
|
|
66
|
+
namespace.createStatement('registerBundle("en", defaultBundle)');
|
|
67
|
+
namespace.createStatement('setLocale("en")');
|
|
68
|
+
this.eachChild(child => {
|
|
69
|
+
child.generateApi(namespace);
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
/*********
|
|
74
|
+
*
|
|
75
|
+
********/
|
|
76
|
+
generateMessageBundle(object, include) {
|
|
77
|
+
this.eachChild(child => {
|
|
78
|
+
child.generateMessageBundle(object, include);
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
registerCustomType(customType) {
|
|
82
|
+
this.customTypesImports.set(customType.typeName, customType.importDeclaration);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdE5vZGUuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9yb290Tm9kZS4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUd4QyxPQUFPLEVBQUUsUUFBUSxFQUFtQixNQUFNLFlBQVksQ0FBQztBQUN2RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXRDLE1BQU0sT0FBTyxRQUFTLFNBQVEsUUFBUTtJQUtwQyxZQUFxQixZQUFtQixNQUFNO1FBQzVDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQURYLGNBQVMsR0FBVCxTQUFTLENBQWdCO1FBSHRDLGVBQVUsR0FBMkIsRUFBRSxDQUFDO1FBQy9CLHVCQUFrQixHQUFHLElBQUksR0FBRyxFQUFrQixDQUFDO0lBSWhFLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxTQUFpQztRQUNqRCxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztJQUM5QixDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGlCQUFpQixDQUFDLFNBQW1CO1FBQ25DLFFBQVE7SUFDVixDQUFDO0lBRUQ7O2NBRVU7SUFDVixXQUFXLENBQUMsTUFBYztRQUN4QixNQUFNLENBQUMsU0FBUyxDQUFDLHNEQUFzRCxDQUFDLENBQUM7UUFDekUsTUFBTSxDQUFDLFNBQVMsQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO1FBQzlELE1BQU0sQ0FBQyxTQUFTLENBQUMsK0JBQStCLENBQUMsQ0FBQztRQUNsRCxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLE1BQU0sQ0FBQyxTQUFTLENBQUMsbUVBQW1FLENB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
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ContainerElement } from './ast/containerElement
|
|
2
|
-
import { I18nNode } from './i18nNode
|
|
1
|
+
import { ContainerElement } from './ast/containerElement';
|
|
2
|
+
import { I18nNode } from './i18nNode';
|
|
3
3
|
import { NodeName } from './nodeName';
|
|
4
|
-
import { Writer } from './writer
|
|
4
|
+
import { Writer } from './writer';
|
|
5
5
|
export declare class TextArrayNode extends I18nNode {
|
|
6
6
|
private args;
|
|
7
7
|
static matches(name: NodeName, yamlData: any): boolean;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import * as _ from 'lodash';
|
|
2
|
+
import { I18nNode } from './i18nNode';
|
|
3
|
+
import { NodeName } from './nodeName';
|
|
4
|
+
import { TextNode } from './textNode';
|
|
5
|
+
export class TextArrayNode extends I18nNode {
|
|
6
|
+
static matches(name, yamlData) {
|
|
7
|
+
return _.isArray(yamlData) && _.reject(yamlData, entry => _.isString(entry)).length == 0;
|
|
8
|
+
}
|
|
9
|
+
parse(data) {
|
|
10
|
+
data.forEach((text, index) => {
|
|
11
|
+
this.parseChild(NodeName.parse(`line_${index + 1}`), text, TextNode);
|
|
12
|
+
});
|
|
13
|
+
this.eachChild(child => {
|
|
14
|
+
this.getArgs().merge(child.getArgs());
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
generateApi(container) {
|
|
18
|
+
container.createFunction(this.name.asJsIdentifier, this.getArgs(), 'string[]', out => {
|
|
19
|
+
this.createFunctionBody(out);
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
createFunctionBody(out) {
|
|
23
|
+
return this.createArrayFunctionBody(this.key, this.getArgs(), out);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dEFycmF5Tm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdGV4dEFycmF5Tm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUc1QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUd0QyxNQUFNLE9BQU8sYUFBYyxTQUFRLFFBQVE7SUFJekMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFjLEVBQUUsUUFBYTtRQUMxQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQztJQUMzRixDQUFDO0lBRUQsS0FBSyxDQUFDLElBQVM7UUFDWixJQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUN6QyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDdkUsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDeEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVyxDQUFDLFNBQTJCO1FBQ3JDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLFVBQVUsRUFBRSxHQUFHLENBQUMsRUFBRTtZQUNuRixJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsR0FBVztRQUM1QixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNyRSxDQUFDO0NBRUYifQ==
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { Arg } from './arg
|
|
2
|
-
import { ContainerElement } from './ast/containerElement
|
|
3
|
-
import {
|
|
1
|
+
import { Arg } from './arg';
|
|
2
|
+
import { ContainerElement } from './ast/containerElement';
|
|
3
|
+
import { LeafNode } from './leafNode';
|
|
4
4
|
import { NodeName } from './nodeName';
|
|
5
|
-
import { Writer } from './writer
|
|
6
|
-
export declare class TextNode extends
|
|
5
|
+
import { Writer } from './writer';
|
|
6
|
+
export declare class TextNode extends LeafNode {
|
|
7
7
|
private text;
|
|
8
8
|
private messageSchema;
|
|
9
9
|
static matches(name: NodeName, yamlData: any): boolean;
|
|
@@ -17,4 +17,5 @@ export declare class TextNode extends I18nNode {
|
|
|
17
17
|
createArgument(messagePart: any[]): void;
|
|
18
18
|
createSelectArgument(name: string, formatOptions: any): void;
|
|
19
19
|
addArgument(arg: Arg): void;
|
|
20
|
+
returnType(): string;
|
|
20
21
|
}
|