@coolon/i18n-resource-generator 3.0.1 → 3.0.2

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.
Files changed (54) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/build/main/index.js +12 -5
  3. package/build/main/lib/arg.class.d.ts +3 -3
  4. package/build/main/lib/arg.class.js +2 -1
  5. package/build/main/lib/arguments.class.js +5 -4
  6. package/build/main/lib/ast/abstractContainerElement.js +16 -3
  7. package/build/main/lib/ast/abstractElement.d.ts +2 -2
  8. package/build/main/lib/ast/abstractElement.js +2 -1
  9. package/build/main/lib/ast/classDef.class.js +2 -1
  10. package/build/main/lib/ast/functionDef.class.js +2 -1
  11. package/build/main/lib/ast/interfaceDef.class.js +2 -1
  12. package/build/main/lib/ast/jsonModule.class.js +2 -1
  13. package/build/main/lib/ast/moduleDef.class.js +2 -1
  14. package/build/main/lib/ast/namespaceDef.class.js +2 -1
  15. package/build/main/lib/ast/objectDef.class.js +16 -3
  16. package/build/main/lib/ast/statementDef.class.js +2 -1
  17. package/build/main/lib/ast/tempContainer.class.js +2 -1
  18. package/build/main/lib/ast/typeDef.class.js +2 -1
  19. package/build/main/lib/bin/cli.js +53 -39
  20. package/build/main/lib/customTypeArrayNode.class.js +2 -1
  21. package/build/main/lib/customTypeNode.class.d.ts +1 -1
  22. package/build/main/lib/customTypeNode.class.js +2 -1
  23. package/build/main/lib/enumNode.class.js +16 -3
  24. package/build/main/lib/i18nGenerator.d.ts +1 -0
  25. package/build/main/lib/i18nGenerator.js +25 -7
  26. package/build/main/lib/i18nNode.class.d.ts +6 -6
  27. package/build/main/lib/i18nNode.class.js +19 -6
  28. package/build/main/lib/index.js +38 -28
  29. package/build/main/lib/namespaceNode.class.js +2 -1
  30. package/build/main/lib/nodeName.d.ts +4 -4
  31. package/build/main/lib/nodeName.js +19 -6
  32. package/build/main/lib/rootNode.class.js +2 -1
  33. package/build/main/lib/stringUtil.js +2 -1
  34. package/build/main/lib/textArrayNode.class.js +16 -3
  35. package/build/main/lib/textNode.class.js +19 -6
  36. package/build/main/lib/valueNode.class.js +16 -3
  37. package/build/main/lib/writer.class.js +2 -1
  38. package/build/module/lib/arg.class.d.ts +3 -3
  39. package/build/module/lib/arguments.class.js +4 -4
  40. package/build/module/lib/ast/abstractElement.d.ts +2 -2
  41. package/build/module/lib/ast/containerElement.class.js +1 -0
  42. package/build/module/lib/ast/element.class.js +1 -0
  43. package/build/module/lib/bin/cli.js +43 -34
  44. package/build/module/lib/constructor.class.js +1 -0
  45. package/build/module/lib/customTypeNode.class.d.ts +1 -1
  46. package/build/module/lib/i18nGenerator.d.ts +1 -0
  47. package/build/module/lib/i18nGenerator.js +7 -2
  48. package/build/module/lib/i18nNode.class.d.ts +6 -6
  49. package/build/module/lib/index.js +4 -1
  50. package/build/module/lib/nodeName.d.ts +4 -4
  51. package/gen/i18n-custom.ts +38 -0
  52. package/gen/locales/en.json +1 -0
  53. package/gen/locales/message-keys.json +1 -0
  54. package/package.json +10 -14
@@ -4,8 +4,8 @@ export declare class Arg {
4
4
  readonly formatName: string;
5
5
  private _formatValue;
6
6
  constructor(name: string, type: string);
7
- readonly argName: string;
8
- readonly argType: string;
9
- readonly formatValue: string;
7
+ get argName(): string;
8
+ get argType(): string;
9
+ get formatValue(): string;
10
10
  asBooleanOptionNamed(name: string): this;
11
11
  }
@@ -1,5 +1,8 @@
1
1
  import { Arg } from './arg.class';
2
2
  export class Arguments {
3
+ constructor(args) {
4
+ this.args = args || [];
5
+ }
3
6
  static createSingle(name, type) {
4
7
  return new Arguments([new Arg(name, type)]);
5
8
  }
@@ -13,9 +16,6 @@ export class Arguments {
13
16
  static empty() {
14
17
  return emptyArgs;
15
18
  }
16
- constructor(args) {
17
- this.args = args || [];
18
- }
19
19
  add(arg) {
20
20
  if (this.canAdd(arg)) {
21
21
  this.args.push(arg);
@@ -59,4 +59,4 @@ class EmptyArgs extends Arguments {
59
59
  }
60
60
  }
61
61
  const emptyArgs = new EmptyArgs();
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJndW1lbnRzLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9hcmd1bWVudHMuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVsQyxNQUFNLE9BQU8sU0FBUztJQUVwQixNQUFNLENBQUMsWUFBWSxDQUFDLElBQVksRUFBRSxJQUFZO1FBQzVDLE9BQU8sSUFBSSxTQUFTLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQThCO1FBQzdDLE1BQU0sSUFBSSxHQUFHLElBQUksU0FBUyxFQUFFLENBQUM7UUFDN0IsS0FBSyxJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQUU7WUFDbkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNsQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLO1FBQ1YsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUlELFlBQVksSUFBWTtRQUN0QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELEdBQUcsQ0FBQyxHQUFRO1FBQ1YsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3JCO0lBQ0gsQ0FBQztJQUVELHNCQUFzQjtRQUNwQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRUQsdUJBQXVCLENBQUMsYUFBaUQsV0FBVztRQUNsRixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxVQUFVLElBQUksR0FBRyxDQUFDLE9BQU8sSUFBSSxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEYsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxVQUFVLEtBQUssR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDMUYsQ0FBQztJQUVELE9BQU87UUFDTCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFnQjtRQUNwQixLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsR0FBRztRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFTyxNQUFNLENBQUMsR0FBUTtRQUNyQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEtBQUssR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xFLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxPQUFPLEtBQUssR0FBRyxDQUFDLE9BQU8sRUFBRTtZQUNoRCxNQUFNLElBQUksS0FBSyxDQUFDLG9FQUFvRSxRQUFRLENBQUMsT0FBTyxJQUFJLFFBQVEsQ0FBQyxPQUFPLG1CQUFtQixHQUFHLENBQUMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1NBQzFLO1FBQ0QsT0FBTyxDQUFDLFFBQVEsQ0FBQztJQUNuQixDQUFDO0lBRUQsUUFBUSxDQUFDLE9BQVk7UUFDbkIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxLQUFLLE9BQU8sQ0FBQyxDQUFDO0lBQzFELENBQUM7Q0FDRjtBQUVELE1BQU0sU0FBVSxTQUFRLFNBQVM7SUFDL0I7UUFDRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDWixDQUFDO0lBR0QsS0FBSyxDQUFDLEtBQWdCO1FBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsc0RBQXNELENBQUMsQ0FBQztJQUMxRSxDQUFDO0NBQ0Y7QUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFJLFNBQVMsRUFBRSxDQUFDIn0=
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJndW1lbnRzLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9hcmd1bWVudHMuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVsQyxNQUFNLE9BQU8sU0FBUztJQW9CcEIsWUFBWSxJQUFZO1FBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBcEJELE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBWSxFQUFFLElBQVk7UUFDNUMsT0FBTyxJQUFJLFNBQVMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBOEI7UUFDN0MsTUFBTSxJQUFJLEdBQUcsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUM3QixLQUFLLElBQUksR0FBRyxJQUFJLEdBQUcsRUFBRTtZQUNuQixJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2xDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUs7UUFDVixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBUUQsR0FBRyxDQUFDLEdBQVE7UUFDVixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDckI7SUFDSCxDQUFDO0lBRUQsc0JBQXNCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxPQUFPLElBQUksR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxhQUFpRCxXQUFXO1FBQ2xGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFVBQVUsSUFBSSxHQUFHLENBQUMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksR0FBRyxDQUFDLFVBQVUsS0FBSyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUMxRixDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQWdCO1FBQ3BCLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxHQUFHO1FBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVPLE1BQU0sQ0FBQyxHQUFRO1FBQ3JCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sS0FBSyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEUsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLE9BQU8sS0FBSyxHQUFHLENBQUMsT0FBTyxFQUFFO1lBQ2hELE1BQU0sSUFBSSxLQUFLLENBQUMsb0VBQW9FLFFBQVEsQ0FBQyxPQUFPLElBQUksUUFBUSxDQUFDLE9BQU8sbUJBQW1CLEdBQUcsQ0FBQyxPQUFPLElBQUksR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7U0FDMUs7UUFDRCxPQUFPLENBQUMsUUFBUSxDQUFDO0lBQ25CLENBQUM7SUFFRCxRQUFRLENBQUMsT0FBWTtRQUNuQixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEtBQUssT0FBTyxDQUFDLENBQUM7SUFDMUQsQ0FBQztDQUNGO0FBRUQsTUFBTSxTQUFVLFNBQVEsU0FBUztJQUMvQjtRQUNFLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNaLENBQUM7SUFHRCxLQUFLLENBQUMsS0FBZ0I7UUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxzREFBc0QsQ0FBQyxDQUFDO0lBQzFFLENBQUM7Q0FDRjtBQUVELE1BQU0sU0FBUyxHQUFHLElBQUksU0FBUyxFQUFFLENBQUMifQ==
@@ -4,9 +4,9 @@ export declare abstract class AbstractElement implements Element {
4
4
  private readonly _name;
5
5
  private _parent;
6
6
  constructor(_name: string);
7
- readonly name: string;
7
+ get name(): string;
8
8
  setParent(parent: Element): void;
9
- readonly parent: Element;
9
+ get parent(): Element;
10
10
  isRoot(): boolean;
11
11
  pathToRoot(): Element[];
12
12
  pathTo(parent: Element): Element[];
@@ -1 +1,2 @@
1
+ export {};
1
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyRWxlbWVudC5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvYXN0L2NvbnRhaW5lckVsZW1lbnQuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -1 +1,2 @@
1
+ export {};
1
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvYXN0L2VsZW1lbnQuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -2,54 +2,63 @@
2
2
  import { Stringy } from '@coolon/typescript-utilities';
3
3
  import program from 'commander';
4
4
  import * as fs from 'fs';
5
+ import * as path from 'path';
5
6
  import { I18nGenerator } from '../i18nGenerator';
6
- let srcDir;
7
- let outDir;
7
+ let configFilePath;
8
+ function normalisePath(rootDir, other) {
9
+ return path.isAbsolute(other) ? other : path.normalize(path.join(rootDir, other));
10
+ }
11
+ function load(configFile) {
12
+ if (!fs.existsSync(configFile)) {
13
+ console.error(`config file not found at: ${configFile}`);
14
+ process.exit(1);
15
+ }
16
+ const fileInfo = path.parse(path.normalize(configFile));
17
+ const defaultConfig = {
18
+ srcDirs: [fileInfo.dir],
19
+ outDir: fileInfo.dir,
20
+ class: 'I18n',
21
+ customTypeImports: {}
22
+ };
23
+ let config = {
24
+ ...defaultConfig,
25
+ ...JSON.parse(fs.readFileSync(configFile, 'utf8'))
26
+ };
27
+ return {
28
+ ...config,
29
+ srcDirs: config.srcDirs.map(d => normalisePath(fileInfo.dir, d)),
30
+ outDir: normalisePath(fileInfo.dir, config.outDir)
31
+ };
32
+ }
8
33
  program
9
34
  .name('i18n-resource-generator')
10
35
  .version('0.1.0')
11
- .arguments('<sourceDir> <outputDir>')
12
- .action(function (sourceDir, outputDir, outputFile) {
13
- srcDir = sourceDir;
14
- outDir = outputDir;
36
+ .arguments('<configFile>')
37
+ .action(configFile => {
38
+ configFilePath = configFile;
15
39
  })
16
40
  .parse(process.argv);
17
- if (typeof srcDir === 'undefined') {
18
- console.error('src directory not specified!');
19
- process.exit(1);
20
- }
21
- if (typeof outDir === 'undefined') {
22
- console.error('no output directory specified!');
23
- process.exit(1);
41
+ const config = load(configFilePath);
42
+ if (!fs.existsSync(config.outDir)) {
43
+ fs.mkdirSync(config.outDir);
24
44
  }
25
- if (!fs.existsSync(outDir)) {
26
- fs.mkdirSync(outDir);
27
- }
28
- let localeDir = `${outDir}/locales`;
45
+ let localeDir = `${config.outDir}/locales`;
29
46
  if (!fs.existsSync(localeDir)) {
30
47
  fs.mkdirSync(localeDir);
31
48
  }
32
- const configFile = `${srcDir}/i18n.config.json`;
33
- let rootNamespaceClassName = 'I18n';
34
- let imports;
35
- if (fs.existsSync(configFile)) {
36
- const config = JSON.parse(fs.readFileSync(configFile, 'utf8'));
37
- rootNamespaceClassName = config['class'] || rootNamespaceClassName;
38
- imports = config['customTypeImports'] || [];
39
- }
40
- const gen = new I18nGenerator(rootNamespaceClassName);
41
- for (let key in imports) {
42
- console.log(`registering import: ${key} --> ${imports[key]}`);
43
- gen.registerType(key, imports[key]);
49
+ const gen = new I18nGenerator(config.class);
50
+ for (let key in config.customTypeImports) {
51
+ console.log(`registering import: ${key} --> ${config.customTypeImports[key]}`);
52
+ gen.registerType(key, config.customTypeImports[key]);
44
53
  }
45
- const defaultBundleFile = `${outDir}/locales/en.json`;
46
- const defaultKeysBundleFile = `${outDir}/locales/message-keys.json`;
47
- const apiFile = `${outDir}/${Stringy.from(rootNamespaceClassName).dasherize().toString()}.ts`;
48
- gen.scanDirectory(srcDir).then(() => {
54
+ const defaultBundleFile = `${config.outDir}/locales/en.json`;
55
+ const defaultKeysBundleFile = `${config.outDir}/locales/message-keys.json`;
56
+ const apiFile = `${config.outDir}/${Stringy.from(config.class).dasherize().toString()}.ts`;
57
+ gen.scanDirectories(config.srcDirs).then(() => {
49
58
  // console.log(`Writing to -> ${apiFile}`, gen.getApiContent());
50
59
  console.log(`Writing to -> ${apiFile}`);
51
60
  fs.writeFileSync(apiFile, gen.getApiContent());
52
61
  fs.writeFileSync(defaultBundleFile, gen.getDefaultBundleContent('text'));
53
62
  fs.writeFileSync(defaultKeysBundleFile, gen.getDefaultBundleContent('keys'));
54
63
  });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9iaW4vY2xpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkQsT0FBTyxPQUFPLE1BQU0sV0FBVyxDQUFDO0FBQ2hDLE9BQU8sS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ3pCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVqRCxJQUFJLE1BQU0sQ0FBQztBQUNYLElBQUksTUFBTSxDQUFDO0FBRVgsT0FBTztLQUNKLElBQUksQ0FBQyx5QkFBeUIsQ0FBQztLQUMvQixPQUFPLENBQUMsT0FBTyxDQUFDO0tBQ2hCLFNBQVMsQ0FBQyx5QkFBeUIsQ0FBQztLQUNwQyxNQUFNLENBQUMsVUFBUyxTQUFTLEVBQUUsU0FBUyxFQUFFLFVBQVU7SUFDL0MsTUFBTSxHQUFHLFNBQVMsQ0FBQztJQUNuQixNQUFNLEdBQUcsU0FBUyxDQUFDO0FBQ3JCLENBQUMsQ0FBQztLQUNELEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7QUFFdkIsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLEVBQUU7SUFDakMsT0FBTyxDQUFDLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0lBQzlDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7Q0FDakI7QUFFRCxJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsRUFBRTtJQUNqQyxPQUFPLENBQUMsS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7SUFDaEQsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztDQUNqQjtBQUVELElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFO0lBQzFCLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7Q0FDdEI7QUFDRCxJQUFJLFNBQVMsR0FBRyxHQUFHLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFO0lBQzdCLEVBQUUsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7Q0FDekI7QUFHRCxNQUFNLFVBQVUsR0FBRyxHQUFHLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsSUFBSSxzQkFBc0IsR0FBVyxNQUFNLENBQUM7QUFDNUMsSUFBSSxPQUFrQyxDQUFDO0FBRXZDLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRTtJQUM3QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDL0Qsc0JBQXNCLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLHNCQUFzQixDQUFDO0lBQ25FLE9BQU8sR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLENBQUM7Q0FDN0M7QUFFRCxNQUFNLEdBQUcsR0FBRyxJQUFJLGFBQWEsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBQ3RELEtBQUssSUFBSSxHQUFHLElBQUksT0FBTyxFQUFFO0lBQ3ZCLE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLEdBQUcsUUFBUSxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzlELEdBQUcsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0NBQ3JDO0FBR0QsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLE1BQU0sa0JBQWtCLENBQUM7QUFDdEQsTUFBTSxxQkFBcUIsR0FBRyxHQUFHLE1BQU0sNEJBQTRCLENBQUM7QUFFcEUsTUFBTSxPQUFPLEdBQUcsR0FBRyxNQUFNLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUM7QUFDOUYsR0FBRyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO0lBQ2xDLGdFQUFnRTtJQUNoRSxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLEVBQUUsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLEVBQUUsQ0FBQyxhQUFhLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDekUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxHQUFHLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUMvRSxDQUFDLENBQUMsQ0FBQyJ9
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9iaW4vY2xpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkQsT0FBTyxPQUFPLE1BQU0sV0FBVyxDQUFDO0FBQ2hDLE9BQU8sS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ3pCLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVqRCxJQUFJLGNBQWMsQ0FBQztBQVduQixTQUFTLGFBQWEsQ0FBQyxPQUFlLEVBQUUsS0FBWTtJQUNsRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ3BGLENBQUM7QUFFRCxTQUFTLElBQUksQ0FBQyxVQUFrQjtJQUM5QixJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRTtRQUM5QixPQUFPLENBQUMsS0FBSyxDQUFDLDZCQUE2QixVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDakI7SUFDRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUN4RCxNQUFNLGFBQWEsR0FBVztRQUM1QixPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO1FBQ3ZCLE1BQU0sRUFBRSxRQUFRLENBQUMsR0FBRztRQUNwQixLQUFLLEVBQUUsTUFBTTtRQUNiLGlCQUFpQixF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
@@ -1 +1,2 @@
1
+ export {};
1
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RydWN0b3IuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2NvbnN0cnVjdG9yLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
@@ -6,5 +6,5 @@ export declare class CustomTypeNode extends I18nNode {
6
6
  supportedChildNodeTypes(): NodeConstructor<any>[];
7
7
  parse(container: any): void;
8
8
  generateApi(parent: ContainerElement): any;
9
- readonly namespaceName: string;
9
+ get namespaceName(): string;
10
10
  }
@@ -4,6 +4,7 @@ export declare class I18nGenerator {
4
4
  private rootNode;
5
5
  constructor(rootNamespaceClassName: string);
6
6
  registerType(typeName: string, importDeclaration: string): void;
7
+ scanDirectories(dirs: string[]): Promise<void>;
7
8
  scanDirectory(srcDir: string): Promise<void>;
8
9
  prepareNameSpaceNode(namespacePath: NodeName[]): I18nNode;
9
10
  private prepareNamespacePath;
@@ -23,7 +23,12 @@ export class I18nGenerator {
23
23
  registerType(typeName, importDeclaration) {
24
24
  this.rootNode.registerCustomType({ typeName, importDeclaration });
25
25
  }
26
- scanDirectory(srcDir) {
26
+ async scanDirectories(dirs) {
27
+ for (var i = 0; i < dirs.length; i++) {
28
+ await this.scanDirectory(dirs[i]);
29
+ }
30
+ }
31
+ async scanDirectory(srcDir) {
27
32
  const self = this;
28
33
  const pattern = `${srcDir}/**/*i18n.yml`;
29
34
  console.log(`Scanning -> ${pattern}`);
@@ -93,4 +98,4 @@ export class I18nGenerator {
93
98
  return JSON.stringify(json, null, 3);
94
99
  }
95
100
  }
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bkdlbmVyYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvaTE4bkdlbmVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQkFBb0I7QUFDcEIsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQ3hCLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUN2QixPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXhELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN0QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzVDLE1BQU0sT0FBTyxhQUFhO0lBSXhCLFlBQVksc0JBQThCO1FBQ3hDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxRQUFRLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDO1lBQzlCLFFBQVEsRUFBRSxtQkFBbUIsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFB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
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bkdlbmVyYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvaTE4bkdlbmVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQkFBb0I7QUFDcEIsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQ3hCLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUN2QixPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXhELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN0QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzVDLE1BQU0sT0FBTyxhQUFhO0lBSXhCLFlBQVksc0JBQThCO1FBQ3hDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxRQUFRLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDO1lBQzlCLFFBQVEsRUFBRSxtQkFBbUIsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFB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
@@ -16,11 +16,11 @@ export declare class I18nNode {
16
16
  private childNodes;
17
17
  private templateArgs;
18
18
  constructor(parent: I18nNode, name: NodeName);
19
- readonly key: string;
19
+ get key(): string;
20
20
  /**
21
21
  * Returns the full path to this nodes namespace as used in code. Doesn't include the I18n prefix.
22
22
  */
23
- readonly accessor: string;
23
+ get accessor(): string;
24
24
  appendNamespaceTo(collector: string[]): void;
25
25
  isRoot(): boolean;
26
26
  pathToRoot(): I18nNode[];
@@ -33,13 +33,13 @@ export declare class I18nNode {
33
33
  protected computeNodeTypeOf(name: NodeName, data: any): NodeConstructor<any>;
34
34
  protected supportedChildNodeTypes(): NodeConstructor<any>[];
35
35
  protected withEachProperty(yamlData: any, cb: (name: NodeName, data: any) => void): void;
36
- protected readonly children: I18nNode[];
36
+ protected get children(): I18nNode[];
37
37
  protected eachChild(cb: (node: I18nNode) => void): void;
38
38
  getArgs(): Arguments;
39
39
  hasArgs(): boolean;
40
- readonly namespaceName: string;
41
- readonly className: string;
42
- readonly fqClassName: string;
40
+ get namespaceName(): string;
41
+ get className(): string;
42
+ get fqClassName(): string;
43
43
  createArrayFunctionBody(key: string, args: Arguments, out: Writer): void;
44
44
  generateApi(parent: ContainerElement): void;
45
45
  generateMessageBundle(parent: {}, include: 'keys' | 'text'): void;
@@ -3,6 +3,7 @@
3
3
  */
4
4
  export * from "./arg.class";
5
5
  export * from "./arguments.class";
6
+ export * from "./constructor.class";
6
7
  export * from "./customTypeArrayNode.class";
7
8
  export * from "./customTypeNode.class";
8
9
  export * from "./enumNode.class";
@@ -18,6 +19,8 @@ export * from "./writer.class";
18
19
  export * from "./ast/abstractContainerElement";
19
20
  export * from "./ast/abstractElement";
20
21
  export * from "./ast/classDef.class";
22
+ export * from "./ast/containerElement.class";
23
+ export * from "./ast/element.class";
21
24
  export * from "./ast/functionDef.class";
22
25
  export * from "./ast/interfaceDef.class";
23
26
  export * from "./ast/moduleDef.class";
@@ -25,4 +28,4 @@ export * from "./ast/namespaceDef.class";
25
28
  export * from "./ast/objectDef.class";
26
29
  export * from "./ast/tempContainer.class";
27
30
  export * from "./ast/typeDef.class";
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxtQkFBbUIsQ0FBQztBQUVsQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsc0JBQXNCLENBQUM7QUFHckMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxxQkFBcUIsQ0FBQyJ9
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxxQkFBcUIsQ0FBQyJ9
@@ -4,10 +4,10 @@ export declare class NodeName {
4
4
  readonly isArray?: boolean;
5
5
  constructor(rawName: string, customTypeName?: string, isArray?: boolean);
6
6
  isReserved(): boolean;
7
- readonly safeName: string;
8
- readonly camelisedName: string;
9
- readonly asJsIdentifier: string;
10
- readonly asClassName: string;
7
+ get safeName(): string;
8
+ get camelisedName(): string;
9
+ get asJsIdentifier(): string;
10
+ get asClassName(): string;
11
11
  validKeys(): string[];
12
12
  }
13
13
  export declare namespace NodeName {
@@ -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.1",
3
+ "version": "3.0.2",
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 doc:html",
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 'src/test/integration/fixtures' src/test/integration/gen"
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",
@@ -69,7 +65,7 @@
69
65
  "message-format": "^6.2.3",
70
66
  "string": "^3.3.3",
71
67
  "through2": "^2.0.3",
72
- "ts-morph": "^3.1.3",
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": "^8.1.0",
100
- "tslint": "^5.11.0",
101
- "tslint-config-prettier": "^1.17.0",
102
- "tslint-immutable": "^5.0.0",
103
- "typedoc": "^0.13.0",
104
- "typescript": "^3.1.6"
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,