@coolon/i18n-resource-generator 1.0.1
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/.editorconfig +15 -0
- package/CHANGELOG.md +6 -0
- package/LICENSE +21 -0
- package/README.md +3 -0
- package/build/main/index.d.ts +1 -0
- package/build/main/index.js +7 -0
- package/build/main/lib/arg.class.d.ts +11 -0
- package/build/main/lib/arg.class.js +27 -0
- package/build/main/lib/arguments.class.d.ts +20 -0
- package/build/main/lib/arguments.class.js +55 -0
- package/build/main/lib/ast/abstractContainerElement.d.ts +9 -0
- package/build/main/lib/ast/abstractContainerElement.js +31 -0
- package/build/main/lib/ast/abstractElement.d.ts +16 -0
- package/build/main/lib/ast/abstractElement.js +39 -0
- package/build/main/lib/ast/classDef.class.d.ts +9 -0
- package/build/main/lib/ast/classDef.class.js +25 -0
- package/build/main/lib/ast/containerElement.class.d.ts +17 -0
- package/build/main/lib/ast/containerElement.class.js +3 -0
- package/build/main/lib/ast/element.class.d.ts +12 -0
- package/build/main/lib/ast/element.class.js +3 -0
- package/build/main/lib/ast/functionDef.class.d.ts +10 -0
- package/build/main/lib/ast/functionDef.class.js +16 -0
- package/build/main/lib/ast/interfaceDef.class.d.ts +9 -0
- package/build/main/lib/ast/interfaceDef.class.js +26 -0
- package/build/main/lib/ast/moduleDef.class.d.ts +8 -0
- package/build/main/lib/ast/moduleDef.class.js +42 -0
- package/build/main/lib/ast/namespaceDef.class.d.ts +18 -0
- package/build/main/lib/ast/namespaceDef.class.js +63 -0
- package/build/main/lib/ast/objectDef.class.d.ts +24 -0
- package/build/main/lib/ast/objectDef.class.js +69 -0
- package/build/main/lib/ast/tempContainer.class.d.ts +4 -0
- package/build/main/lib/ast/tempContainer.class.js +12 -0
- package/build/main/lib/ast/typeDef.class.d.ts +7 -0
- package/build/main/lib/ast/typeDef.class.js +14 -0
- package/build/main/lib/bin/cli.d.ts +2 -0
- package/build/main/lib/bin/cli.js +54 -0
- package/build/main/lib/constructor.class.d.ts +3 -0
- package/build/main/lib/constructor.class.js +3 -0
- package/build/main/lib/customTypeArrayNode.class.d.ts +10 -0
- package/build/main/lib/customTypeArrayNode.class.js +25 -0
- package/build/main/lib/customTypeNode.class.d.ts +23 -0
- package/build/main/lib/customTypeNode.class.js +71 -0
- package/build/main/lib/enumNode.class.d.ts +10 -0
- package/build/main/lib/enumNode.class.js +108 -0
- package/build/main/lib/i18nGenerator.d.ts +18 -0
- package/build/main/lib/i18nGenerator.js +135 -0
- package/build/main/lib/i18nNode.class.d.ts +43 -0
- package/build/main/lib/i18nNode.class.js +145 -0
- package/build/main/lib/index.d.ts +31 -0
- package/build/main/lib/index.js +34 -0
- package/build/main/lib/languageNode.class.d.ts +7 -0
- package/build/main/lib/languageNode.class.js +16 -0
- package/build/main/lib/namespaceNode.class.d.ts +6 -0
- package/build/main/lib/namespaceNode.class.js +16 -0
- package/build/main/lib/rootNode.class.d.ts +15 -0
- package/build/main/lib/rootNode.class.js +46 -0
- package/build/main/lib/stringUtil.d.ts +1 -0
- package/build/main/lib/stringUtil.js +7 -0
- package/build/main/lib/textArrayNode.class.d.ts +9 -0
- package/build/main/lib/textArrayNode.class.js +48 -0
- package/build/main/lib/textNode.class.d.ts +17 -0
- package/build/main/lib/textNode.class.js +117 -0
- package/build/main/lib/valueNode.class.d.ts +12 -0
- package/build/main/lib/valueNode.class.js +47 -0
- package/build/main/lib/writer.class.d.ts +10 -0
- package/build/main/lib/writer.class.js +29 -0
- package/build/module/index.d.ts +1 -0
- package/build/module/index.js +2 -0
- package/build/module/lib/arg.class.d.ts +11 -0
- package/build/module/lib/arg.class.js +24 -0
- package/build/module/lib/arguments.class.d.ts +20 -0
- package/build/module/lib/arguments.class.js +52 -0
- package/build/module/lib/ast/abstractContainerElement.d.ts +9 -0
- package/build/module/lib/ast/abstractContainerElement.js +21 -0
- package/build/module/lib/ast/abstractElement.d.ts +16 -0
- package/build/module/lib/ast/abstractElement.js +36 -0
- package/build/module/lib/ast/classDef.class.d.ts +9 -0
- package/build/module/lib/ast/classDef.class.js +22 -0
- package/build/module/lib/ast/containerElement.class.d.ts +17 -0
- package/build/module/lib/ast/containerElement.class.js +1 -0
- package/build/module/lib/ast/element.class.d.ts +12 -0
- package/build/module/lib/ast/element.class.js +1 -0
- package/build/module/lib/ast/functionDef.class.d.ts +10 -0
- package/build/module/lib/ast/functionDef.class.js +13 -0
- package/build/module/lib/ast/interfaceDef.class.d.ts +9 -0
- package/build/module/lib/ast/interfaceDef.class.js +23 -0
- package/build/module/lib/ast/moduleDef.class.d.ts +8 -0
- package/build/module/lib/ast/moduleDef.class.js +39 -0
- package/build/module/lib/ast/namespaceDef.class.d.ts +18 -0
- package/build/module/lib/ast/namespaceDef.class.js +60 -0
- package/build/module/lib/ast/objectDef.class.d.ts +24 -0
- package/build/module/lib/ast/objectDef.class.js +59 -0
- package/build/module/lib/ast/tempContainer.class.d.ts +4 -0
- package/build/module/lib/ast/tempContainer.class.js +9 -0
- package/build/module/lib/ast/typeDef.class.d.ts +7 -0
- package/build/module/lib/ast/typeDef.class.js +11 -0
- package/build/module/lib/bin/cli.d.ts +2 -0
- package/build/module/lib/bin/cli.js +42 -0
- package/build/module/lib/constructor.class.d.ts +3 -0
- package/build/module/lib/constructor.class.js +1 -0
- package/build/module/lib/customTypeArrayNode.class.d.ts +10 -0
- package/build/module/lib/customTypeArrayNode.class.js +22 -0
- package/build/module/lib/customTypeNode.class.d.ts +23 -0
- package/build/module/lib/customTypeNode.class.js +68 -0
- package/build/module/lib/enumNode.class.d.ts +10 -0
- package/build/module/lib/enumNode.class.js +105 -0
- package/build/module/lib/i18nGenerator.d.ts +18 -0
- package/build/module/lib/i18nGenerator.js +124 -0
- package/build/module/lib/i18nNode.class.d.ts +43 -0
- package/build/module/lib/i18nNode.class.js +132 -0
- package/build/module/lib/index.d.ts +31 -0
- package/build/module/lib/index.js +29 -0
- package/build/module/lib/languageNode.class.d.ts +7 -0
- package/build/module/lib/languageNode.class.js +13 -0
- package/build/module/lib/namespaceNode.class.d.ts +6 -0
- package/build/module/lib/namespaceNode.class.js +13 -0
- package/build/module/lib/rootNode.class.d.ts +15 -0
- package/build/module/lib/rootNode.class.js +43 -0
- package/build/module/lib/stringUtil.d.ts +1 -0
- package/build/module/lib/stringUtil.js +4 -0
- package/build/module/lib/textArrayNode.class.d.ts +9 -0
- package/build/module/lib/textArrayNode.class.js +38 -0
- package/build/module/lib/textNode.class.d.ts +17 -0
- package/build/module/lib/textNode.class.js +104 -0
- package/build/module/lib/valueNode.class.d.ts +12 -0
- package/build/module/lib/valueNode.class.js +37 -0
- package/build/module/lib/writer.class.d.ts +10 -0
- package/build/module/lib/writer.class.js +26 -0
- package/package.json +122 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Arguments } from "./arguments.class";
|
|
2
|
+
import { ContainerElement } from "./ast/containerElement.class";
|
|
3
|
+
import { Constructor } from "./constructor.class";
|
|
4
|
+
export declare type NodeConstructor<T extends I18nNode> = {
|
|
5
|
+
matches(data: any): boolean;
|
|
6
|
+
new (...args: any[]): T;
|
|
7
|
+
prototype: T;
|
|
8
|
+
};
|
|
9
|
+
export declare class I18nNode {
|
|
10
|
+
protected parent: I18nNode;
|
|
11
|
+
readonly name: string;
|
|
12
|
+
private childNodes;
|
|
13
|
+
private templateArgs;
|
|
14
|
+
constructor(parent: I18nNode, name: string);
|
|
15
|
+
readonly key: string;
|
|
16
|
+
/**
|
|
17
|
+
* Returns the full path to this nodes namespace as used in code. Doesn't include the I18n prefix.
|
|
18
|
+
*/
|
|
19
|
+
readonly accessor: string;
|
|
20
|
+
appendNamespaceTo(collector: string[]): void;
|
|
21
|
+
isRoot(): boolean;
|
|
22
|
+
pathToRoot(): I18nNode[];
|
|
23
|
+
parse(yamlData: any): void;
|
|
24
|
+
protected parseEntry<T extends I18nNode>(name: string, data: any, defaultNodeType: Constructor<T>): I18nNode;
|
|
25
|
+
getOrCreatNode(name: any, type: typeof I18nNode): I18nNode;
|
|
26
|
+
rootNode(): I18nNode;
|
|
27
|
+
nodeTypes(): NodeConstructor<any>[];
|
|
28
|
+
protected computeNodeTypeOf(data: any): NodeConstructor<any>;
|
|
29
|
+
protected supportedChildNodeTypes(): NodeConstructor<any>[];
|
|
30
|
+
protected withEachProperty(yamlData: any, cb: (name: string, data: any) => void): void;
|
|
31
|
+
protected readonly children: I18nNode[];
|
|
32
|
+
protected eachChild(cb: (node: I18nNode) => void): void;
|
|
33
|
+
getArgs(): Arguments;
|
|
34
|
+
hasArgs(): boolean;
|
|
35
|
+
readonly safeName: string;
|
|
36
|
+
readonly javaScriptName: string;
|
|
37
|
+
readonly camelCaseName: string;
|
|
38
|
+
readonly namespaceName: string;
|
|
39
|
+
readonly className: string;
|
|
40
|
+
readonly fqClassName: string;
|
|
41
|
+
readonly snakeCaseName: string;
|
|
42
|
+
compile(parent: ContainerElement): void;
|
|
43
|
+
}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
3
|
+
if (mod && mod.__esModule) return mod;
|
|
4
|
+
var result = {};
|
|
5
|
+
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
|
|
6
|
+
result["default"] = mod;
|
|
7
|
+
return result;
|
|
8
|
+
};
|
|
9
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
10
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
const _ = __importStar(require("lodash"));
|
|
14
|
+
const string_1 = __importDefault(require("string"));
|
|
15
|
+
const arguments_class_1 = require("./arguments.class");
|
|
16
|
+
const reservedWords = ['default', 'switch', 'if', 'else'];
|
|
17
|
+
function safeName(name) {
|
|
18
|
+
return _.includes(reservedWords, name) ? `${name}_` : name;
|
|
19
|
+
}
|
|
20
|
+
function camelize(text) {
|
|
21
|
+
return string_1.default(text).camelize().toString();
|
|
22
|
+
}
|
|
23
|
+
class I18nNode {
|
|
24
|
+
constructor(parent, name) {
|
|
25
|
+
this.parent = parent;
|
|
26
|
+
this.name = name;
|
|
27
|
+
this.childNodes = new Map();
|
|
28
|
+
this.templateArgs = new arguments_class_1.Arguments();
|
|
29
|
+
}
|
|
30
|
+
get key() {
|
|
31
|
+
return this.pathToRoot().map(a => a.name).join('.');
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Returns the full path to this nodes namespace as used in code. Doesn't include the I18n prefix.
|
|
35
|
+
*/
|
|
36
|
+
get accessor() {
|
|
37
|
+
const result = [];
|
|
38
|
+
this.pathToRoot().forEach(ancestor => ancestor.appendNamespaceTo(result));
|
|
39
|
+
return result.join('.');
|
|
40
|
+
}
|
|
41
|
+
appendNamespaceTo(collector) {
|
|
42
|
+
collector.push(this.namespaceName);
|
|
43
|
+
}
|
|
44
|
+
isRoot() {
|
|
45
|
+
return !this.parent;
|
|
46
|
+
}
|
|
47
|
+
pathToRoot() {
|
|
48
|
+
return this.isRoot() ? [this] : this.parent.pathToRoot().concat(this);
|
|
49
|
+
}
|
|
50
|
+
parse(yamlData) {
|
|
51
|
+
this.withEachProperty(yamlData, (name, data) => {
|
|
52
|
+
this.parseEntry(name, data, this.computeNodeTypeOf(data));
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
parseEntry(name, data, defaultNodeType) {
|
|
56
|
+
const node = this.getOrCreatNode(name, defaultNodeType);
|
|
57
|
+
if (this.constructor['acceptsChildNodesOfType']) {
|
|
58
|
+
const types = this.constructor['acceptsChildNodesOfType']();
|
|
59
|
+
if (!_.find(types, type => node instanceof type)) {
|
|
60
|
+
throw new Error(`Unsupported child type, must be one of ${types.map(t => t.name).join()}, got ${defaultNodeType.name}.`);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
node.parse(data);
|
|
64
|
+
return node;
|
|
65
|
+
}
|
|
66
|
+
getOrCreatNode(name, type) {
|
|
67
|
+
let node = this.childNodes.get(name);
|
|
68
|
+
if (node && node.constructor != type) {
|
|
69
|
+
throw new Error(`Existing node named ${name} has different type, expected ${type['name']}, got ${node.constructor['name']}`);
|
|
70
|
+
}
|
|
71
|
+
// console.log(`--> getOrCreateNode(${name}, ${type}) ${node ? 'found' : 'created'}`);
|
|
72
|
+
if (!node) {
|
|
73
|
+
node = new type(this, name);
|
|
74
|
+
this.childNodes.set(name, node);
|
|
75
|
+
}
|
|
76
|
+
return node;
|
|
77
|
+
}
|
|
78
|
+
rootNode() {
|
|
79
|
+
return this.parent ? this.parent.rootNode() : this;
|
|
80
|
+
}
|
|
81
|
+
nodeTypes() {
|
|
82
|
+
return this.rootNode().nodeTypes();
|
|
83
|
+
}
|
|
84
|
+
computeNodeTypeOf(data) {
|
|
85
|
+
const type = _.find(this.supportedChildNodeTypes(), it => it.matches(data));
|
|
86
|
+
if (!type) {
|
|
87
|
+
throw new Error(`no matching node type found for ${this.accessor}`);
|
|
88
|
+
}
|
|
89
|
+
return type;
|
|
90
|
+
}
|
|
91
|
+
supportedChildNodeTypes() {
|
|
92
|
+
return this.rootNode().nodeTypes();
|
|
93
|
+
}
|
|
94
|
+
withEachProperty(yamlData, cb) {
|
|
95
|
+
if (yamlData) {
|
|
96
|
+
Object.getOwnPropertyNames(yamlData).forEach(unsafeKey => {
|
|
97
|
+
if (reservedWords.includes(unsafeKey)) {
|
|
98
|
+
console.log(`Warning: Yaml key '${unsafeKey}' in ${this.key} is a reserved word, converting to '${safeName(unsafeKey)}'`);
|
|
99
|
+
}
|
|
100
|
+
cb(unsafeKey, yamlData[unsafeKey]);
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
get children() {
|
|
105
|
+
return Array.from(this.childNodes.values());
|
|
106
|
+
}
|
|
107
|
+
eachChild(cb) {
|
|
108
|
+
Array.from(this.childNodes.values()).forEach(node => cb(node));
|
|
109
|
+
}
|
|
110
|
+
getArgs() {
|
|
111
|
+
return this.templateArgs;
|
|
112
|
+
}
|
|
113
|
+
hasArgs() {
|
|
114
|
+
return this.getArgs().any();
|
|
115
|
+
}
|
|
116
|
+
get safeName() {
|
|
117
|
+
return safeName(this.name);
|
|
118
|
+
}
|
|
119
|
+
get javaScriptName() {
|
|
120
|
+
const name = this.camelCaseName;
|
|
121
|
+
return reservedWords.includes(this.name) ? `${name}_` : name;
|
|
122
|
+
}
|
|
123
|
+
get camelCaseName() {
|
|
124
|
+
return camelize(this.name);
|
|
125
|
+
}
|
|
126
|
+
get namespaceName() {
|
|
127
|
+
return this.javaScriptName;
|
|
128
|
+
}
|
|
129
|
+
get className() {
|
|
130
|
+
return this.javaScriptName[0].toUpperCase() + this.javaScriptName.slice(1);
|
|
131
|
+
}
|
|
132
|
+
get fqClassName() {
|
|
133
|
+
// the root node has no className and the second one is the language
|
|
134
|
+
let parents = this.pathToRoot().slice(2);
|
|
135
|
+
return parents.map(n => n.className).join('');
|
|
136
|
+
}
|
|
137
|
+
get snakeCaseName() {
|
|
138
|
+
return this.name;
|
|
139
|
+
}
|
|
140
|
+
compile(parent) {
|
|
141
|
+
throw new Error('abstract method');
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
exports.I18nNode = I18nNode;
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bk5vZGUuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2kxOG5Ob2RlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLDBDQUE0QjtBQUU1QixvREFBdUI7QUFDdkIsdURBQTRDO0FBSzVDLE1BQU0sYUFBYSxHQUFhLENBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFRcEUsU0FBUyxRQUFRLENBQUMsSUFBWTtJQUMxQixPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDL0QsQ0FBQztBQUVELFNBQVMsUUFBUSxDQUFDLElBQVk7SUFDMUIsT0FBTyxnQkFBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBQ3pDLENBQUM7QUFFRCxNQUFhLFFBQVE7SUFLakIsWUFBc0IsTUFBZ0IsRUFBa0IsSUFBWTtRQUE5QyxXQUFNLEdBQU4sTUFBTSxDQUFVO1FBQWtCLFNBQUksR0FBSixJQUFJLENBQVE7UUFINUQsZUFBVSxHQUEwQixJQUFJLEdBQUcsRUFBb0IsQ0FBQztRQUNoRSxpQkFBWSxHQUFjLElBQUksMkJBQVMsRUFBRSxDQUFDO0lBR2xELENBQUM7SUFFRCxJQUFJLEdBQUc7UUFDSCxPQUFPLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksUUFBUTtRQUNSLE1BQU0sTUFBTSxHQUFZLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsVUFBVSxFQUFF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
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Automatically generated by barrelsby.
|
|
3
|
+
*/
|
|
4
|
+
export * from "./arg.class";
|
|
5
|
+
export * from "./arguments.class";
|
|
6
|
+
export * from "./constructor.class";
|
|
7
|
+
export * from "./customTypeArrayNode.class";
|
|
8
|
+
export * from "./customTypeNode.class";
|
|
9
|
+
export * from "./enumNode.class";
|
|
10
|
+
export * from "./i18nGenerator";
|
|
11
|
+
export * from "./i18nNode.class";
|
|
12
|
+
export * from "./languageNode.class";
|
|
13
|
+
export * from "./namespaceNode.class";
|
|
14
|
+
export * from "./rootNode.class";
|
|
15
|
+
export * from "./stringUtil";
|
|
16
|
+
export * from "./textArrayNode.class";
|
|
17
|
+
export * from "./textNode.class";
|
|
18
|
+
export * from "./valueNode.class";
|
|
19
|
+
export * from "./writer.class";
|
|
20
|
+
export * from "./ast/abstractContainerElement";
|
|
21
|
+
export * from "./ast/abstractElement";
|
|
22
|
+
export * from "./ast/classDef.class";
|
|
23
|
+
export * from "./ast/containerElement.class";
|
|
24
|
+
export * from "./ast/element.class";
|
|
25
|
+
export * from "./ast/functionDef.class";
|
|
26
|
+
export * from "./ast/interfaceDef.class";
|
|
27
|
+
export * from "./ast/moduleDef.class";
|
|
28
|
+
export * from "./ast/namespaceDef.class";
|
|
29
|
+
export * from "./ast/objectDef.class";
|
|
30
|
+
export * from "./ast/tempContainer.class";
|
|
31
|
+
export * from "./ast/typeDef.class";
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @file Automatically generated by barrelsby.
|
|
4
|
+
*/
|
|
5
|
+
function __export(m) {
|
|
6
|
+
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
__export(require("./arg.class"));
|
|
10
|
+
__export(require("./arguments.class"));
|
|
11
|
+
__export(require("./customTypeArrayNode.class"));
|
|
12
|
+
__export(require("./customTypeNode.class"));
|
|
13
|
+
__export(require("./enumNode.class"));
|
|
14
|
+
__export(require("./i18nGenerator"));
|
|
15
|
+
__export(require("./i18nNode.class"));
|
|
16
|
+
__export(require("./languageNode.class"));
|
|
17
|
+
__export(require("./namespaceNode.class"));
|
|
18
|
+
__export(require("./rootNode.class"));
|
|
19
|
+
__export(require("./stringUtil"));
|
|
20
|
+
__export(require("./textArrayNode.class"));
|
|
21
|
+
__export(require("./textNode.class"));
|
|
22
|
+
__export(require("./valueNode.class"));
|
|
23
|
+
__export(require("./writer.class"));
|
|
24
|
+
__export(require("./ast/abstractContainerElement"));
|
|
25
|
+
__export(require("./ast/abstractElement"));
|
|
26
|
+
__export(require("./ast/classDef.class"));
|
|
27
|
+
__export(require("./ast/functionDef.class"));
|
|
28
|
+
__export(require("./ast/interfaceDef.class"));
|
|
29
|
+
__export(require("./ast/moduleDef.class"));
|
|
30
|
+
__export(require("./ast/namespaceDef.class"));
|
|
31
|
+
__export(require("./ast/objectDef.class"));
|
|
32
|
+
__export(require("./ast/tempContainer.class"));
|
|
33
|
+
__export(require("./ast/typeDef.class"));
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRzs7Ozs7QUFFSCxpQ0FBNEI7QUFDNUIsdUNBQWtDO0FBRWxDLGlEQUE0QztBQUM1Qyw0Q0FBdUM7QUFDdkMsc0NBQWlDO0FBQ2pDLHFDQUFnQztBQUNoQyxzQ0FBaUM7QUFDakMsMENBQXFDO0FBQ3JDLDJDQUFzQztBQUN0QyxzQ0FBaUM7QUFDakMsa0NBQTZCO0FBQzdCLDJDQUFzQztBQUN0QyxzQ0FBaUM7QUFDakMsdUNBQWtDO0FBQ2xDLG9DQUErQjtBQUMvQixvREFBK0M7QUFDL0MsMkNBQXNDO0FBQ3RDLDBDQUFxQztBQUdyQyw2Q0FBd0M7QUFDeEMsOENBQXlDO0FBQ3pDLDJDQUFzQztBQUN0Qyw4Q0FBeUM7QUFDekMsMkNBQXNDO0FBQ3RDLCtDQUEwQztBQUMxQyx5Q0FBb0MifQ==
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { I18nNode } from './i18nNode.class';
|
|
2
|
+
import { ContainerElement } from "./ast/containerElement.class";
|
|
3
|
+
export declare class LanguageNode extends I18nNode {
|
|
4
|
+
static matches(yamlData: any): boolean;
|
|
5
|
+
appendNamespaceTo(collector: string[]): void;
|
|
6
|
+
compile(parent: ContainerElement): void;
|
|
7
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const i18nNode_class_1 = require("./i18nNode.class");
|
|
4
|
+
class LanguageNode extends i18nNode_class_1.I18nNode {
|
|
5
|
+
static matches(yamlData) {
|
|
6
|
+
return false;
|
|
7
|
+
}
|
|
8
|
+
appendNamespaceTo(collector) {
|
|
9
|
+
// noop.
|
|
10
|
+
}
|
|
11
|
+
compile(parent) {
|
|
12
|
+
this.eachChild(child => child.compile(parent));
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.LanguageNode = LanguageNode;
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2VOb2RlLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9sYW5ndWFnZU5vZGUuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxxREFBMEM7QUFHMUMsTUFBYSxZQUFhLFNBQVEseUJBQVE7SUFFdEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFhO1FBQ3hCLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxTQUFtQjtRQUNqQyxRQUFRO0lBQ1osQ0FBQztJQUVELE9BQU8sQ0FBQyxNQUF3QjtRQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ25ELENBQUM7Q0FFSjtBQWRELG9DQWNDIn0=
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const i18nNode_class_1 = require("./i18nNode.class");
|
|
4
|
+
class NameSpaceNode extends i18nNode_class_1.I18nNode {
|
|
5
|
+
static matches(yamlData) {
|
|
6
|
+
// we're fallback so we're greedy, just make sure I'm last in the list of matchers
|
|
7
|
+
return true;
|
|
8
|
+
}
|
|
9
|
+
compile(parent) {
|
|
10
|
+
parent.nestedContainer(this.namespaceName, namespace => {
|
|
11
|
+
this.eachChild(child => child.compile(namespace));
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.NameSpaceNode = NameSpaceNode;
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZXNwYWNlTm9kZS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvbmFtZXNwYWNlTm9kZS5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHFEQUEwQztBQUkxQyxNQUFhLGFBQWMsU0FBUSx5QkFBUTtJQUV2QyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQWE7UUFDeEIsbUZBQW1GO1FBQ25GLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxPQUFPLENBQUMsTUFBd0I7UUFDNUIsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxFQUFFO1lBQ25ELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDdEQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBRUo7QUFiRCxzQ0FhQyJ9
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { I18nNode, NodeConstructor } from "./i18nNode.class";
|
|
2
|
+
import { Module } from "./ast/moduleDef.class";
|
|
3
|
+
export declare class RootNode extends I18nNode {
|
|
4
|
+
private _nodeTypes;
|
|
5
|
+
constructor();
|
|
6
|
+
registerNodeTypes(nodeTypes: NodeConstructor<any>[]): void;
|
|
7
|
+
nodeTypes(): NodeConstructor<any>[];
|
|
8
|
+
protected computeNodeTypeOf(data: any): NodeConstructor<any>;
|
|
9
|
+
parse(yamlData: any): void;
|
|
10
|
+
appendNamespaceTo(collector: string[]): void;
|
|
11
|
+
/*********
|
|
12
|
+
*
|
|
13
|
+
********/
|
|
14
|
+
compile(module: Module): void;
|
|
15
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const i18nNode_class_1 = require("./i18nNode.class");
|
|
4
|
+
const languageNode_class_1 = require("./languageNode.class");
|
|
5
|
+
class RootNode extends i18nNode_class_1.I18nNode {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(null, '');
|
|
8
|
+
this._nodeTypes = [];
|
|
9
|
+
}
|
|
10
|
+
registerNodeTypes(nodeTypes) {
|
|
11
|
+
this._nodeTypes = nodeTypes;
|
|
12
|
+
}
|
|
13
|
+
nodeTypes() {
|
|
14
|
+
return this._nodeTypes;
|
|
15
|
+
}
|
|
16
|
+
computeNodeTypeOf(data) {
|
|
17
|
+
// All top level children are language nodes. en.blah etc.
|
|
18
|
+
return languageNode_class_1.LanguageNode;
|
|
19
|
+
}
|
|
20
|
+
parse(yamlData) {
|
|
21
|
+
this.withEachProperty(yamlData, (name, data) => {
|
|
22
|
+
const node = this.getOrCreatNode(name, this.computeNodeTypeOf(data));
|
|
23
|
+
node.parse(data);
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
appendNamespaceTo(collector) {
|
|
27
|
+
// noop.
|
|
28
|
+
}
|
|
29
|
+
/*********
|
|
30
|
+
*
|
|
31
|
+
********/
|
|
32
|
+
compile(module) {
|
|
33
|
+
module.addHeader(`/******** IMPORTANT *********`);
|
|
34
|
+
module.addHeader(` * `);
|
|
35
|
+
module.addHeader(` * This file is automatically generated. Any edits will be lost.`);
|
|
36
|
+
module.addHeader(` * `);
|
|
37
|
+
module.addHeader(' ****/');
|
|
38
|
+
module.addHeader('/* tslint:disable:no-shadowed-variable */');
|
|
39
|
+
module.addImport(`import {interpret} "@coolon/i18n-resource"`);
|
|
40
|
+
module.nestedContainer('I18n', namespace => {
|
|
41
|
+
this.eachChild(child => child.compile(namespace));
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.RootNode = RootNode;
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdE5vZGUuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3Jvb3ROb2RlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EscURBQTJEO0FBQzNELDZEQUFrRDtBQUdsRCxNQUFhLFFBQVMsU0FBUSx5QkFBUTtJQUlsQztRQUNJLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFIWixlQUFVLEdBQTBCLEVBQUUsQ0FBQztJQUkvQyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsU0FBZ0M7UUFDOUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7SUFDaEMsQ0FBQztJQUVELFNBQVM7UUFDTCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDM0IsQ0FBQztJQUVTLGlCQUFpQixDQUFDLElBQVM7UUFDakMsMERBQTBEO1FBQzFELE9BQU8saUNBQVksQ0FBQztJQUN4QixDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQWE7UUFDZixJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBWSxFQUFFLElBQVMsRUFBRSxFQUFFO1lBQ3hELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3JFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDO0lBR0QsaUJBQWlCLENBQUMsU0FBbUI7UUFDakMsUUFBUTtJQUNaLENBQUM7SUFFRDs7Y0FFVTtJQUNWLE9BQU8sQ0FBQyxNQUFhO1FBRWpCLE1BQU0sQ0FBQyxTQUFTLENBQUMsK0JBQStCLENBQUMsQ0FBQztRQUNsRCxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLE1BQU0sQ0FBQyxTQUFTLENBQUMsbUVBQW1FLENBQUMsQ0FBQztRQUN0RixNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0IsTUFBTSxDQUFDLFNBQVMsQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO1FBRTlELE1BQU0sQ0FBQyxTQUFTLENBQUMsNENBQTRDLENBQUMsQ0FBQztRQUUvRCxNQUFNLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRTtZQUN2QyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ3RELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUVKO0FBcERELDRCQW9EQyJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function capitalize(name: string): string;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
function capitalize(name) {
|
|
4
|
+
return name[0].toUpperCase() + name.slice(1);
|
|
5
|
+
}
|
|
6
|
+
exports.capitalize = capitalize;
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nVXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvc3RyaW5nVXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLFNBQWdCLFVBQVUsQ0FBQyxJQUFXO0lBQ2xDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakQsQ0FBQztBQUZELGdDQUVDIn0=
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { I18nNode } from './i18nNode.class';
|
|
2
|
+
import { ContainerElement } from "./ast/containerElement.class";
|
|
3
|
+
export declare class TextArrayNode extends I18nNode {
|
|
4
|
+
private args;
|
|
5
|
+
static matches(yamlData: any): boolean;
|
|
6
|
+
parse(data: any): void;
|
|
7
|
+
compile(container: ContainerElement): void;
|
|
8
|
+
createFunctionBody(out: any): void;
|
|
9
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
3
|
+
if (mod && mod.__esModule) return mod;
|
|
4
|
+
var result = {};
|
|
5
|
+
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
|
|
6
|
+
result["default"] = mod;
|
|
7
|
+
return result;
|
|
8
|
+
};
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
const _ = __importStar(require("lodash"));
|
|
11
|
+
const i18nNode_class_1 = require("./i18nNode.class");
|
|
12
|
+
const textNode_class_1 = require("./textNode.class");
|
|
13
|
+
class TextArrayNode extends i18nNode_class_1.I18nNode {
|
|
14
|
+
static matches(yamlData) {
|
|
15
|
+
return _.isArray(yamlData) && _.reject(yamlData, entry => _.isString(entry)).length == 0;
|
|
16
|
+
}
|
|
17
|
+
parse(data) {
|
|
18
|
+
data.forEach((text, index) => {
|
|
19
|
+
this.parseEntry(`_${index}`, text, textNode_class_1.TextNode);
|
|
20
|
+
});
|
|
21
|
+
this.eachChild(child => {
|
|
22
|
+
this.getArgs().merge(child.getArgs());
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
compile(container) {
|
|
26
|
+
container.createFunction(this.javaScriptName, this.getArgs(), 'string[]', out => {
|
|
27
|
+
this.createFunctionBody(out);
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
createFunctionBody(out) {
|
|
31
|
+
out.println(`return [`);
|
|
32
|
+
this.eachChild(node => {
|
|
33
|
+
out.indent(out => {
|
|
34
|
+
if (node.getArgs().any()) {
|
|
35
|
+
out.println(`function(${node.getArgs().asArgsObject()}) {`);
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
out.println(`function() {`);
|
|
39
|
+
}
|
|
40
|
+
out.indent(out => node.createFunctionBody(out));
|
|
41
|
+
out.println(`}(),`);
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
out.println(`];`);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
exports.TextArrayNode = TextArrayNode;
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dEFycmF5Tm9kZS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdGV4dEFycmF5Tm9kZS5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSwwQ0FBNEI7QUFDNUIscURBQTJEO0FBQzNELHFEQUEwQztBQUkxQyxNQUFhLGFBQWMsU0FBUSx5QkFBUTtJQUl2QyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQWE7UUFDeEIsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUM7SUFDN0YsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFTO1FBQ1YsSUFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDdkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSx5QkFBUSxDQUFDLENBQUE7UUFDaEQsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ25CLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDO0lBRUQsT0FBTyxDQUFDLFNBQTJCO1FBQy9CLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsVUFBVSxFQUFFLEdBQUcsQ0FBQyxFQUFFO1lBQzVFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUNoQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxHQUFHO1FBQ2xCLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNsQixHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNiLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO29CQUN0QixHQUFHLENBQUMsT0FBTyxDQUFDLFlBQVksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztpQkFDL0Q7cUJBQU07b0JBQ0gsR0FBRyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztpQkFDL0I7Z0JBQ0QsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFFLElBQWlCLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDOUQsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN4QixDQUFDLENBQUMsQ0FBQTtRQUNOLENBQUMsQ0FBQyxDQUFDO1FBQ0gsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QixDQUFDO0NBRUo7QUF2Q0Qsc0NBdUNDIn0=
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { I18nNode } from './i18nNode.class';
|
|
2
|
+
import { ContainerElement } from "./ast/containerElement.class";
|
|
3
|
+
import { Arg } from "./arg.class";
|
|
4
|
+
export declare class TextNode extends I18nNode {
|
|
5
|
+
private text;
|
|
6
|
+
private messageSchema;
|
|
7
|
+
static matches(yamlData: any): boolean;
|
|
8
|
+
parse(data: any): void;
|
|
9
|
+
compile(container: ContainerElement): void;
|
|
10
|
+
createFunctionBody(out: any): void;
|
|
11
|
+
valueString(value: any): string;
|
|
12
|
+
protected scanContainer(elements: Element[]): void;
|
|
13
|
+
protected scanFormatOptions(options: any): void;
|
|
14
|
+
createArgument(messagePart: any[]): void;
|
|
15
|
+
createSelectArgument(name: string, formatOptions: any): void;
|
|
16
|
+
addArgument(arg: Arg): void;
|
|
17
|
+
}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
3
|
+
if (mod && mod.__esModule) return mod;
|
|
4
|
+
var result = {};
|
|
5
|
+
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
|
|
6
|
+
result["default"] = mod;
|
|
7
|
+
return result;
|
|
8
|
+
};
|
|
9
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
10
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
const _ = __importStar(require("lodash"));
|
|
14
|
+
const i18nNode_class_1 = require("./i18nNode.class");
|
|
15
|
+
const format_message_parse_1 = __importDefault(require("format-message-parse"));
|
|
16
|
+
const arg_class_1 = require("./arg.class");
|
|
17
|
+
// the result is an array. <message_container> = <message_part>[]
|
|
18
|
+
// <message_part> == string | [argument_element]
|
|
19
|
+
// <argument_element> =
|
|
20
|
+
// ["<argName>"] OR
|
|
21
|
+
// ["<argName>", "<argFormat>"] OR
|
|
22
|
+
// ["<argName>", "<argFormat>", "<formatOptions>"] for argFormat == date|time|number
|
|
23
|
+
// ["<argName>", "<argFormat>", {option_a: <message_container>, option_b: <message_container>, other: <messsage_container>] for argFormat == select, plural
|
|
24
|
+
//
|
|
25
|
+
class TextNode extends i18nNode_class_1.I18nNode {
|
|
26
|
+
static matches(yamlData) {
|
|
27
|
+
return _.isString(yamlData);
|
|
28
|
+
}
|
|
29
|
+
parse(data) {
|
|
30
|
+
this.text = data;
|
|
31
|
+
try {
|
|
32
|
+
this.messageSchema = format_message_parse_1.default(this.text);
|
|
33
|
+
this.scanContainer(this.messageSchema);
|
|
34
|
+
}
|
|
35
|
+
catch (e) {
|
|
36
|
+
throw new Error(`Invalid message format ${this.key}=${data} -> ${e.message}`);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
compile(container) {
|
|
40
|
+
// TODO: Make this take the args as an interface so callers use it like I18n.hello({name: 'World'}) with type safety.
|
|
41
|
+
container.createFunction(this.javaScriptName, this.getArgs(), 'string', out => {
|
|
42
|
+
this.createFunctionBody(out);
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
createFunctionBody(out) {
|
|
46
|
+
if (this.getArgs().any()) {
|
|
47
|
+
out.println(`// TODO: get the generator to put this in a locale specific file`);
|
|
48
|
+
out.println(`return interpret('en', ${JSON.stringify(this.messageSchema)})(${this.getArgs().asArgsObject()});`);
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
out.println(`return ${this.valueString(this.text)};`);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
valueString(value) {
|
|
55
|
+
return `"${value}"`;
|
|
56
|
+
}
|
|
57
|
+
scanContainer(elements) {
|
|
58
|
+
elements.forEach(element => {
|
|
59
|
+
if (_.isArray(element)) {
|
|
60
|
+
this.createArgument(element);
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
scanFormatOptions(options) {
|
|
65
|
+
_.forOwn(options, (val, key) => {
|
|
66
|
+
this.scanContainer(val);
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
createArgument(messagePart) {
|
|
70
|
+
const [argName, argType] = messagePart;
|
|
71
|
+
if (argName == "#")
|
|
72
|
+
return;
|
|
73
|
+
switch (argType) {
|
|
74
|
+
case 'number':
|
|
75
|
+
this.addArgument(new arg_class_1.Arg(argName, 'number'));
|
|
76
|
+
break;
|
|
77
|
+
case 'date':
|
|
78
|
+
this.addArgument(new arg_class_1.Arg(argName, 'Date'));
|
|
79
|
+
break;
|
|
80
|
+
case 'time':
|
|
81
|
+
this.addArgument(new arg_class_1.Arg(argName, 'Time'));
|
|
82
|
+
break;
|
|
83
|
+
case 'plural':
|
|
84
|
+
this.addArgument(new arg_class_1.Arg(argName, 'number'));
|
|
85
|
+
// console.log(`plural bits: ${JSON.stringify(messagePart[3])}`);
|
|
86
|
+
this.scanFormatOptions(messagePart[3]);
|
|
87
|
+
break;
|
|
88
|
+
case 'select':
|
|
89
|
+
const formatOptions = messagePart[2];
|
|
90
|
+
this.createSelectArgument(argName, formatOptions);
|
|
91
|
+
// console.log(`select bits: ${JSON.stringify(formatOptions)}`);
|
|
92
|
+
this.scanFormatOptions(formatOptions);
|
|
93
|
+
break;
|
|
94
|
+
default:
|
|
95
|
+
this.addArgument(new arg_class_1.Arg(argName, 'string'));
|
|
96
|
+
break;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
createSelectArgument(name, formatOptions) {
|
|
100
|
+
// check if it's a boolean option.
|
|
101
|
+
const arg = new arg_class_1.Arg(name, 'string');
|
|
102
|
+
const options = Object.keys(formatOptions);
|
|
103
|
+
if (options.length == 2) {
|
|
104
|
+
const optionName = formatOptions[options[0]] == 'other' ? options[1] : options[0];
|
|
105
|
+
this.addArgument(arg.asBooleanOptionNamed(optionName));
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
this.addArgument(arg);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
addArgument(arg) {
|
|
112
|
+
// console.log(`created -> ${JSON.stringify(arg)}`);
|
|
113
|
+
this.getArgs().add(arg);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
exports.TextNode = TextNode;
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dE5vZGUuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3RleHROb2RlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLDBDQUE0QjtBQUU1QixxREFBMEM7QUFFMUMsZ0ZBQXFEO0FBRXJELDJDQUFnQztBQUdoQyxpRUFBaUU7QUFDakUsZ0RBQWdEO0FBQ2hELHVCQUF1QjtBQUN2QixzQkFBc0I7QUFDdEIscUNBQXFDO0FBQ3JDLHVGQUF1RjtBQUN2Riw4SkFBOEo7QUFDOUosRUFBRTtBQUdGLE1BQWEsUUFBUyxTQUFRLHlCQUFRO0lBS2xDLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBYTtRQUN4QixPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFTO1FBQ1gsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFjLENBQUM7UUFDM0IsSUFBSTtZQUNBLElBQUksQ0FBQyxhQUFhLEdBQUcsOEJBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ25ELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQzFDO1FBQUMsT0FBTSxDQUFDLEVBQUU7WUFDUCxNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztTQUNqRjtJQUNMLENBQUM7SUFFRCxPQUFPLENBQUMsU0FBMkI7UUFDL0IscUhBQXFIO1FBQ3JILFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxFQUFFO1lBQzFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqQyxD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
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { I18nNode } from './i18nNode.class';
|
|
2
|
+
import { ContainerElement } from "./ast/containerElement.class";
|
|
3
|
+
export declare class ValueNode extends I18nNode {
|
|
4
|
+
private data;
|
|
5
|
+
static matches(yamlData: any): boolean;
|
|
6
|
+
static isValue(thing: any): boolean;
|
|
7
|
+
parse(data: any): void;
|
|
8
|
+
compile(out: ContainerElement): void;
|
|
9
|
+
returnType(): string;
|
|
10
|
+
valueType(value: any): "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function";
|
|
11
|
+
valueString(value: any): string;
|
|
12
|
+
}
|