@coolon/i18n-resource-generator 3.0.1 → 3.0.3
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 +15 -0
- package/README.md +36 -14
- package/build/main/index.js +12 -5
- package/build/main/lib/arg.class.d.ts +3 -3
- package/build/main/lib/arg.class.js +2 -1
- package/build/main/lib/arguments.class.js +5 -4
- package/build/main/lib/ast/abstractContainerElement.js +16 -3
- package/build/main/lib/ast/abstractElement.d.ts +2 -2
- package/build/main/lib/ast/abstractElement.js +2 -1
- package/build/main/lib/ast/classDef.class.js +2 -1
- package/build/main/lib/ast/functionDef.class.js +2 -1
- package/build/main/lib/ast/interfaceDef.class.js +2 -1
- package/build/main/lib/ast/jsonModule.class.js +2 -1
- package/build/main/lib/ast/moduleDef.class.js +2 -1
- package/build/main/lib/ast/namespaceDef.class.js +2 -1
- package/build/main/lib/ast/objectDef.class.js +16 -3
- package/build/main/lib/ast/statementDef.class.js +2 -1
- package/build/main/lib/ast/tempContainer.class.js +2 -1
- package/build/main/lib/ast/typeDef.class.js +2 -1
- package/build/main/lib/bin/cli.js +53 -39
- package/build/main/lib/customTypeArrayNode.class.js +2 -1
- package/build/main/lib/customTypeNode.class.d.ts +1 -1
- package/build/main/lib/customTypeNode.class.js +2 -1
- package/build/main/lib/enumNode.class.js +16 -3
- package/build/main/lib/i18nGenerator.d.ts +1 -0
- package/build/main/lib/i18nGenerator.js +25 -7
- package/build/main/lib/i18nNode.class.d.ts +6 -6
- package/build/main/lib/i18nNode.class.js +20 -7
- package/build/main/lib/index.js +38 -28
- package/build/main/lib/namespaceNode.class.js +2 -1
- package/build/main/lib/nodeName.d.ts +4 -4
- package/build/main/lib/nodeName.js +19 -6
- package/build/main/lib/rootNode.class.js +3 -2
- package/build/main/lib/stringUtil.js +2 -1
- package/build/main/lib/textArrayNode.class.js +16 -3
- package/build/main/lib/textNode.class.js +20 -7
- package/build/main/lib/valueNode.class.js +16 -3
- package/build/main/lib/writer.class.js +2 -1
- package/build/module/lib/arg.class.d.ts +3 -3
- package/build/module/lib/arguments.class.js +4 -4
- package/build/module/lib/ast/abstractElement.d.ts +2 -2
- package/build/module/lib/ast/containerElement.class.js +1 -0
- package/build/module/lib/ast/element.class.js +1 -0
- package/build/module/lib/bin/cli.js +43 -34
- package/build/module/lib/constructor.class.js +1 -0
- package/build/module/lib/customTypeNode.class.d.ts +1 -1
- package/build/module/lib/i18nGenerator.d.ts +1 -0
- package/build/module/lib/i18nGenerator.js +7 -2
- package/build/module/lib/i18nNode.class.d.ts +6 -6
- package/build/module/lib/i18nNode.class.js +2 -2
- package/build/module/lib/index.js +4 -1
- package/build/module/lib/nodeName.d.ts +4 -4
- package/build/module/lib/rootNode.class.js +2 -2
- package/build/module/lib/textNode.class.js +2 -2
- package/gen/i18n-custom.ts +38 -0
- package/gen/locales/en.json +1 -0
- package/gen/locales/message-keys.json +1 -0
- package/package.json +11 -15
|
@@ -31,7 +31,7 @@ export class RootNode extends I18nNode {
|
|
|
31
31
|
module.addHeader(' ****/');
|
|
32
32
|
module.addHeader('/* tslint:disable:no-shadowed-variable */');
|
|
33
33
|
module.addImport(`import MessageFormat from 'message-format'`);
|
|
34
|
-
module.addImport(`import
|
|
34
|
+
module.addImport(`import {isObject, isEmpty, isNumber, isNaN} from 'lodash'`);
|
|
35
35
|
this.customTypesImports.forEach((importDeclaration, className) => {
|
|
36
36
|
module.addImport(importDeclaration);
|
|
37
37
|
});
|
|
@@ -81,4 +81,4 @@ export class RootNode extends I18nNode {
|
|
|
81
81
|
this.customTypesImports.set(customType.typeName, customType.importDeclaration);
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdE5vZGUuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3Jvb3ROb2RlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUc5QyxPQUFPLEVBQUUsUUFBUSxFQUFtQixNQUFNLGtCQUFrQixDQUFDO0FBQzdELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFdEMsTUFBTSxPQUFPLFFBQVMsU0FBUSxRQUFRO0lBS3BDLFlBQXFCLFlBQW1CLE1BQU07UUFDNUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRFgsY0FBUyxHQUFULFNBQVMsQ0FBZ0I7UUFIdEMsZUFBVSxHQUEyQixFQUFFLENBQUM7UUFDL0IsdUJBQWtCLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUM7SUFJaEUsQ0FBQztJQUVELGlCQUFpQixDQUFDLFNBQWlDO1FBQ2pELElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO0lBQzlCLENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsU0FBbUI7UUFDbkMsUUFBUTtJQUNWLENBQUM7SUFFRDs7Y0FFVTtJQUNWLFdBQVcsQ0FBQyxNQUFjO1FBQ3hCLE1BQU0sQ0FBQyxTQUFTLENBQUMsK0JBQStCLENBQUMsQ0FBQztRQUNsRCxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLE1BQU0sQ0FBQyxTQUFTLENBQUMsbUVBQW1FLENBQUMsQ0FBQztRQUN0RixNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLE1BQU0sQ0FBQyxTQUFTLENB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
|
|
@@ -37,7 +37,7 @@ export class TextNode extends I18nNode {
|
|
|
37
37
|
out.println(`try {`);
|
|
38
38
|
out.indent(out => {
|
|
39
39
|
out.println(`const translation = _activeBundle.${this.key};`);
|
|
40
|
-
out.println(`if ((
|
|
40
|
+
out.println(`if ((isEmpty(translation) && !isNumber(translation)) || isNaN(translation)) {`);
|
|
41
41
|
out.indent(out => {
|
|
42
42
|
out.println(`return "missing key " + "${this.key}";`);
|
|
43
43
|
});
|
|
@@ -126,4 +126,4 @@ export class TextNode extends I18nNode {
|
|
|
126
126
|
this.getArgs().add(arg);
|
|
127
127
|
}
|
|
128
128
|
}
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dE5vZGUuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3RleHROb2RlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sa0JBQWtCLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUdsQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFJNUMsaUVBQWlFO0FBQ2pFLGdEQUFnRDtBQUNoRCx1QkFBdUI7QUFDdkIsc0JBQXNCO0FBQ3RCLHFDQUFxQztBQUNyQyx1RkFBdUY7QUFDdkYsOEpBQThKO0FBQzlKLEVBQUU7QUFHRixNQUFNLE9BQU8sUUFBUyxTQUFRLFFBQVE7SUFLcEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFjLEVBQUUsUUFBYTtRQUMxQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFTO1FBQ2IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFjLENBQUM7UUFDM0IsSUFBSTtZQUNGLElBQUksQ0FBQyxhQUFhLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ25ELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3hDO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztTQUMvRTtJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsU0FBMkI7UUFDckMscUhBQXFIO1FBQ3JILFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUks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
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/******** IMPORTANT *********
|
|
2
|
+
*
|
|
3
|
+
* This file is automatically generated. Any edits will be lost.
|
|
4
|
+
*
|
|
5
|
+
****/
|
|
6
|
+
/* tslint:disable:no-shadowed-variable */
|
|
7
|
+
|
|
8
|
+
import MessageFormat from 'message-format';
|
|
9
|
+
import * as _ from 'lodash';
|
|
10
|
+
import {Alert} from "../alert";
|
|
11
|
+
import {Confirm} from "../confirm";
|
|
12
|
+
import defaultBundle from './locales/en.json';
|
|
13
|
+
import messageKeysBundle from './locales/message-keys.json';
|
|
14
|
+
|
|
15
|
+
const _messageLocaleKey = "message-keys";
|
|
16
|
+
export namespace I18nCustom {
|
|
17
|
+
let _locale:string = null;
|
|
18
|
+
let _activeBundle:any = null;
|
|
19
|
+
const _bundles = new Map<string,any>();
|
|
20
|
+
registerBundle(_messageLocaleKey, messageKeysBundle);
|
|
21
|
+
registerBundle("en", defaultBundle);
|
|
22
|
+
setLocale("en");
|
|
23
|
+
export function registerBundle(locale:string, bundle:any):void {
|
|
24
|
+
if (_bundles.has(locale)) { throw new Error("bundle already registered for: " + locale)}
|
|
25
|
+
_bundles.set(locale, bundle);
|
|
26
|
+
}
|
|
27
|
+
export function setLocale(locale:string):void {
|
|
28
|
+
if (!_bundles.has(locale)) { throw new Error("No bundle registered for: " + locale)}
|
|
29
|
+
_locale = locale;
|
|
30
|
+
_activeBundle = _bundles.get(_locale);
|
|
31
|
+
}
|
|
32
|
+
export function getAvailableLocales():string[] {
|
|
33
|
+
return Array.from(_bundles.keys()).filter(key => key !== _messageLocaleKey);
|
|
34
|
+
}
|
|
35
|
+
export function getLocale():string {
|
|
36
|
+
return _locale
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coolon/i18n-resource-generator",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.3",
|
|
4
4
|
"description": "Generates typescript classes from yml resource bundles using the icu message format",
|
|
5
5
|
"main": "build/main/index.js",
|
|
6
6
|
"typings": "build/main/index.d.ts",
|
|
@@ -29,17 +29,13 @@
|
|
|
29
29
|
"cov:html": "nyc report --reporter=html",
|
|
30
30
|
"cov:send": "nyc report --reporter=lcov > coverage.lcov && codecov",
|
|
31
31
|
"cov:check": "nyc report && nyc check-coverage --lines 100 --functions 100 --branches 100",
|
|
32
|
-
"doc": "run-s doc:html && opn build/docs/index.html",
|
|
33
|
-
"doc:html": "typedoc src/ --exclude **/*.spec.ts --target ES6 --mode file --out build/docs",
|
|
34
|
-
"doc:json": "typedoc src/ --exclude **/*.spec.ts --target ES6 --mode file --json build/docs/typedoc.json",
|
|
35
|
-
"doc:publish": "gh-pages -m \"[ci skip] Updates\" -d build/docs",
|
|
36
32
|
"version": "standard-version",
|
|
37
33
|
"reset": "git clean -dfx && git reset --hard && npm i",
|
|
38
34
|
"clean": "trash build",
|
|
39
|
-
"all": "run-s reset test cov:check
|
|
35
|
+
"all": "run-s reset test cov:check",
|
|
40
36
|
"prepare-release": "run-s all version",
|
|
41
37
|
"publish-release": " git push --follow-tags origin master && npm publish",
|
|
42
|
-
"test:fixtures": "node build/main/lib/bin/cli.js
|
|
38
|
+
"test:fixtures": "node build/main/lib/bin/cli.js src/test/integration/i18n.config.json"
|
|
43
39
|
},
|
|
44
40
|
"scripts-info": {
|
|
45
41
|
"info": "Display information about the package scripts",
|
|
@@ -65,11 +61,11 @@
|
|
|
65
61
|
"format-message-parse": "^6.2.3",
|
|
66
62
|
"glob": "^7.1.3",
|
|
67
63
|
"js-yaml": "^3.7.0",
|
|
68
|
-
"lodash": "^4.17.
|
|
64
|
+
"lodash-es": "^4.17.21",
|
|
69
65
|
"message-format": "^6.2.3",
|
|
70
66
|
"string": "^3.3.3",
|
|
71
67
|
"through2": "^2.0.3",
|
|
72
|
-
"ts-morph": "^
|
|
68
|
+
"ts-morph": "^10.0.2",
|
|
73
69
|
"vinyl": "^2.0.1",
|
|
74
70
|
"reflect-metadata": "^0.1.13"
|
|
75
71
|
},
|
|
@@ -96,12 +92,12 @@
|
|
|
96
92
|
"prettier": "^1.15.2",
|
|
97
93
|
"standard-version": "^4.4.0",
|
|
98
94
|
"trash-cli": "^1.4.0",
|
|
99
|
-
"ts-node": "^
|
|
100
|
-
"tslint": "^
|
|
101
|
-
"tslint-config-prettier": "^1.
|
|
102
|
-
"tslint-immutable": "^
|
|
103
|
-
"typedoc": "^0.
|
|
104
|
-
"typescript": "^
|
|
95
|
+
"ts-node": "^9.1.1",
|
|
96
|
+
"tslint": "^6.1.3",
|
|
97
|
+
"tslint-config-prettier": "^1.18.0",
|
|
98
|
+
"tslint-immutable": "^6.0.1",
|
|
99
|
+
"typedoc": "^0.20.34",
|
|
100
|
+
"typescript": "^4.2.3"
|
|
105
101
|
},
|
|
106
102
|
"ava": {
|
|
107
103
|
"failFast": true,
|