@coolon/i18n-resource-generator 2.0.2 → 2.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.
Files changed (95) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/build/main/lib/arguments.class.d.ts +6 -8
  3. package/build/main/lib/arguments.class.js +9 -2
  4. package/build/main/lib/ast/abstractContainerElement.d.ts +4 -4
  5. package/build/main/lib/ast/abstractContainerElement.js +3 -2
  6. package/build/main/lib/ast/abstractElement.d.ts +2 -2
  7. package/build/main/lib/ast/abstractElement.js +1 -1
  8. package/build/main/lib/ast/containerElement.class.d.ts +11 -10
  9. package/build/main/lib/ast/jsonModule.class.d.ts +8 -0
  10. package/build/main/lib/ast/jsonModule.class.js +21 -0
  11. package/build/main/lib/ast/namespaceDef.class.d.ts +1 -0
  12. package/build/main/lib/ast/namespaceDef.class.js +8 -1
  13. package/build/main/lib/ast/objectDef.class.d.ts +9 -8
  14. package/build/main/lib/ast/objectDef.class.js +11 -7
  15. package/build/main/lib/ast/statementDef.class.d.ts +7 -0
  16. package/build/main/lib/ast/statementDef.class.js +14 -0
  17. package/build/main/lib/bin/cli.js +21 -17
  18. package/build/main/lib/customTypeArrayNode.class.d.ts +6 -6
  19. package/build/main/lib/customTypeArrayNode.class.js +8 -11
  20. package/build/main/lib/customTypeNode.class.d.ts +6 -20
  21. package/build/main/lib/customTypeNode.class.js +18 -20
  22. package/build/main/lib/enumNode.class.d.ts +6 -6
  23. package/build/main/lib/enumNode.class.js +28 -45
  24. package/build/main/lib/i18nGenerator.d.ts +2 -10
  25. package/build/main/lib/i18nGenerator.js +39 -78
  26. package/build/main/lib/i18nNode.class.d.ts +10 -12
  27. package/build/main/lib/i18nNode.class.js +30 -44
  28. package/build/main/lib/namespaceNode.class.d.ts +5 -4
  29. package/build/main/lib/namespaceNode.class.js +4 -4
  30. package/build/main/lib/nodeName.d.ts +13 -0
  31. package/build/main/lib/nodeName.js +90 -0
  32. package/build/main/lib/rootNode.class.d.ts +10 -1
  33. package/build/main/lib/rootNode.class.js +42 -6
  34. package/build/main/lib/textArrayNode.class.d.ts +4 -3
  35. package/build/main/lib/textArrayNode.class.js +6 -5
  36. package/build/main/lib/textNode.class.d.ts +4 -2
  37. package/build/main/lib/textNode.class.js +9 -13
  38. package/build/main/lib/valueNode.class.d.ts +5 -4
  39. package/build/main/lib/valueNode.class.js +5 -5
  40. package/build/main/lib/writer.class.js +2 -2
  41. package/build/module/lib/arguments.class.d.ts +6 -8
  42. package/build/module/lib/arguments.class.js +10 -3
  43. package/build/module/lib/ast/abstractContainerElement.d.ts +4 -4
  44. package/build/module/lib/ast/abstractContainerElement.js +4 -3
  45. package/build/module/lib/ast/abstractElement.d.ts +2 -2
  46. package/build/module/lib/ast/abstractElement.js +1 -1
  47. package/build/module/lib/ast/containerElement.class.d.ts +11 -10
  48. package/build/module/lib/ast/jsonModule.class.d.ts +8 -0
  49. package/build/module/lib/ast/jsonModule.class.js +18 -0
  50. package/build/module/lib/ast/namespaceDef.class.d.ts +1 -0
  51. package/build/module/lib/ast/namespaceDef.class.js +8 -1
  52. package/build/module/lib/ast/objectDef.class.d.ts +9 -8
  53. package/build/module/lib/ast/objectDef.class.js +12 -8
  54. package/build/module/lib/ast/statementDef.class.d.ts +7 -0
  55. package/build/module/lib/ast/statementDef.class.js +11 -0
  56. package/build/module/lib/bin/cli.js +21 -17
  57. package/build/module/lib/customTypeArrayNode.class.d.ts +6 -6
  58. package/build/module/lib/customTypeArrayNode.class.js +9 -12
  59. package/build/module/lib/customTypeNode.class.d.ts +6 -20
  60. package/build/module/lib/customTypeNode.class.js +18 -20
  61. package/build/module/lib/enumNode.class.d.ts +6 -6
  62. package/build/module/lib/enumNode.class.js +30 -47
  63. package/build/module/lib/i18nGenerator.d.ts +2 -10
  64. package/build/module/lib/i18nGenerator.js +49 -87
  65. package/build/module/lib/i18nNode.class.d.ts +10 -12
  66. package/build/module/lib/i18nNode.class.js +30 -41
  67. package/build/module/lib/namespaceNode.class.d.ts +5 -4
  68. package/build/module/lib/namespaceNode.class.js +5 -5
  69. package/build/module/lib/nodeName.d.ts +13 -0
  70. package/build/module/lib/nodeName.js +77 -0
  71. package/build/module/lib/rootNode.class.d.ts +10 -1
  72. package/build/module/lib/rootNode.class.js +42 -6
  73. package/build/module/lib/textArrayNode.class.d.ts +4 -3
  74. package/build/module/lib/textArrayNode.class.js +7 -6
  75. package/build/module/lib/textNode.class.d.ts +4 -2
  76. package/build/module/lib/textNode.class.js +9 -13
  77. package/build/module/lib/valueNode.class.d.ts +5 -4
  78. package/build/module/lib/valueNode.class.js +5 -5
  79. package/build/module/lib/writer.class.js +2 -2
  80. package/fixtures/config.json +1 -0
  81. package/fixtures/ui.alarms.en.yml +108 -0
  82. package/fixtures/ui.common.en.yml +23 -0
  83. package/fixtures/ui.date_time.en.yml +94 -0
  84. package/fixtures/ui.devices.en.yml +288 -0
  85. package/fixtures/ui.lux.en.yml +44 -0
  86. package/fixtures/ui.notification.en.yml +238 -0
  87. package/fixtures/ui.places.en.yml +104 -0
  88. package/fixtures/ui.reports.en.yml +138 -0
  89. package/fixtures/ui.scene.en.yml +11 -0
  90. package/fixtures/ui.schedule.en.yml +7 -0
  91. package/fixtures/ui.search.en.yml +73 -0
  92. package/fixtures/ui.validation.en.yml +63 -0
  93. package/fixtures/ui.zones.en.yml +121 -0
  94. package/package.json +7 -4
  95. package/fixtures/test.yml +0 -20
@@ -3,6 +3,7 @@ import { ClassDef } from './classDef.class';
3
3
  import { FunctionDef } from './functionDef.class';
4
4
  import { InterfaceDef } from './interfaceDef.class';
5
5
  import { ObjectDef } from './objectDef.class';
6
+ import { StatementDef } from './statementDef.class';
6
7
  import { TypeDef } from './typeDef.class';
7
8
  export class NamespaceDef extends AbstractContainerElement {
8
9
  constructor(name) {
@@ -11,6 +12,9 @@ export class NamespaceDef extends AbstractContainerElement {
11
12
  nestedContainer(name, configure) {
12
13
  return this.addElement(new NamespaceDef(name), configure);
13
14
  }
15
+ createStatement(statement) {
16
+ this.addElement(new StatementDef(statement));
17
+ }
14
18
  defineInterface(name, configure) {
15
19
  return this.addElement(new InterfaceDef(name), configure);
16
20
  }
@@ -27,6 +31,9 @@ export class NamespaceDef extends AbstractContainerElement {
27
31
  this.addElement(new FunctionDef(name, args, returnType, bodyContent));
28
32
  }
29
33
  writeBody(writer) {
34
+ this.forEach(StatementDef, def => {
35
+ def.writeBody(writer);
36
+ });
30
37
  this.forEach(TypeDef, def => {
31
38
  writer.println(`export type ${def.name} = ${def.value};`);
32
39
  });
@@ -57,4 +64,4 @@ export class NamespaceDef extends AbstractContainerElement {
57
64
  });
58
65
  }
59
66
  }
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZXNwYWNlRGVmLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9hc3QvbmFtZXNwYWNlRGVmLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU1QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFMUMsTUFBTSxPQUFPLFlBQWEsU0FBUSx3QkFBd0I7SUFFeEQsWUFBWSxJQUFZO1FBQ3RCLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNkLENBQUM7SUFFRCxlQUFlLENBQUMsSUFBWSxFQUFFLFNBQTBDO1FBQ3RFLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsZUFBZSxDQUFDLElBQVksRUFBRSxTQUF1QztRQUNuRSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFZLEVBQUUsS0FBYTtRQUNwQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFZLEVBQUUsSUFBZSxFQUFFLFNBQW1DO1FBQzVFLE9BQU8sSUFB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
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZXNwYWNlRGVmLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9hc3QvbmFtZXNwYWNlRGVmLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU1QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRzFDLE1BQU0sT0FBTyxZQUFhLFNBQVEsd0JBQXdCO0lBRXhELFlBQVksSUFBWTtRQUN0QixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDZCxDQUFDO0lBRUQsZUFBZSxDQUFDLElBQVksRUFBRSxTQUEwQztRQUN0RSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELGVBQWUsQ0FBQyxTQUFpQjtRQUMvQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFZLEVBQUUsU0FBdUM7UUFDbkUsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxVQUFVLENBQUMsSUFBWSxFQUFFLEtBQWE7UUFDcEMs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
@@ -1,16 +1,17 @@
1
- import { Writer } from "../writer.class";
2
- import { ContainerElement } from "./containerElement.class";
3
- import { AbstractContainerElement } from "./abstractContainerElement";
4
- import { InterfaceDef } from "./interfaceDef.class";
5
- import { ClassDef } from "./classDef.class";
6
- import { Arguments } from "../arguments.class";
7
- import { NamespaceDef } from "./namespaceDef.class";
8
- import { TypeDef } from "./typeDef.class";
1
+ import { Arguments } from '../arguments.class';
2
+ import { Writer } from '../writer.class';
3
+ import { AbstractContainerElement } from './abstractContainerElement';
4
+ import { ClassDef } from './classDef.class';
5
+ import { ContainerElement } from './containerElement.class';
6
+ import { InterfaceDef } from './interfaceDef.class';
7
+ import { NamespaceDef } from './namespaceDef.class';
8
+ import { TypeDef } from './typeDef.class';
9
9
  export declare class ObjectDef extends AbstractContainerElement implements ContainerElement {
10
10
  private _typeName;
11
11
  constructor(name: string);
12
12
  asType(typeName: string): this;
13
13
  typeName(): string;
14
+ createStatement(statement: string): void;
14
15
  nestedContainer(name: string, configure: (context: ContainerElement) => void): void;
15
16
  defineInterface(name: string, configure: (def: InterfaceDef) => void): InterfaceDef;
16
17
  defineClass(name: string, args: Arguments, configure: (def: ClassDef) => void): ClassDef;
@@ -1,8 +1,9 @@
1
1
  import * as _ from 'lodash';
2
- import { AbstractContainerElement } from "./abstractContainerElement";
3
- import { NamespaceDef } from "./namespaceDef.class";
4
- import { FunctionDef } from "./functionDef.class";
5
2
  import { capitalize } from '../stringUtil';
3
+ import { AbstractContainerElement } from './abstractContainerElement';
4
+ import { FunctionDef } from './functionDef.class';
5
+ import { NamespaceDef } from './namespaceDef.class';
6
+ import { StatementDef } from './statementDef.class';
6
7
  export class ObjectDef extends AbstractContainerElement {
7
8
  constructor(name) {
8
9
  super(name);
@@ -15,6 +16,9 @@ export class ObjectDef extends AbstractContainerElement {
15
16
  typeName() {
16
17
  return this._typeName;
17
18
  }
19
+ createStatement(statement) {
20
+ this.addElement(new StatementDef(statement));
21
+ }
18
22
  nestedContainer(name, configure) {
19
23
  this.addElement(new ObjectDef(name), configure);
20
24
  }
@@ -44,16 +48,16 @@ export class ObjectDef extends AbstractContainerElement {
44
48
  return this.typeName() ? ` as ${this.typeName()}` : '';
45
49
  }
46
50
  writeBody(writer) {
47
- this.forEach(FunctionDef, def => {
51
+ this.forEach(FunctionDef, (def, last) => {
48
52
  writer.println(`${def.name}(${def.args.asParameterDeclaration()}):${def.returnType} {`);
49
53
  writer.indent(writer => def.writeBody(writer));
50
- writer.println(`},`);
54
+ writer.println(`}${last ? '' : ','}`);
51
55
  });
52
- this.forEach(ObjectDef, def => {
56
+ this.forEach(ObjectDef, (def, last) => {
53
57
  writer.println(`${def.name}: {`);
54
58
  writer.indent(writer => def.writeBody(writer));
55
- writer.println(`}${def.asTypeDecl()},`);
59
+ writer.println(`}${def.asTypeDecl()}${last ? '' : ','}`);
56
60
  });
57
61
  }
58
62
  }
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0RGVmLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9hc3Qvb2JqZWN0RGVmLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBSTVCLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBSXBFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUd6QyxNQUFNLE9BQU8sU0FBVSxTQUFRLHdCQUF3QjtJQUluRCxZQUFZLElBQVc7UUFDbkIsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBSFIsY0FBUyxHQUFVLElBQUksQ0FBQztJQUloQyxDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQWU7UUFDbEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELFFBQVE7UUFDSixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFZLEVBQUUsU0FBOEM7UUFDeEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQTtJQUNuRCxDQUFDO0lBRUQsZUFBZSxDQUFDLElBQVksRUFBRSxTQUFzQztRQUNoRSxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBWSxFQUFFLElBQWUsRUFBRSxTQUFrQztRQUN6RSxP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
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0RGVmLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9hc3Qvb2JqZWN0RGVmLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBRTVCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHdEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWxELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHcEQsTUFBTSxPQUFPLFNBQVUsU0FBUSx3QkFBd0I7SUFJckQsWUFBWSxJQUFZO1FBQ3RCLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUhOLGNBQVMsR0FBVyxJQUFJLENBQUM7SUFJakMsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFnQjtRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUMxQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxlQUFlLENBQUMsU0FBaUI7UUFDL0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxlQUFlLENBQUMsSUFBWSxFQUFFLFNBQThDO1FBQzFFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFZLEVBQUUsU0FBc0M7UUFDbEUsT0FBTyxJQUFJLENBQUMs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
@@ -0,0 +1,7 @@
1
+ import { Writer } from '../writer.class';
2
+ import { AbstractElement } from './abstractElement';
3
+ export declare class StatementDef extends AbstractElement {
4
+ private line;
5
+ constructor(line: string);
6
+ writeBody(writer: Writer): void;
7
+ }
@@ -0,0 +1,11 @@
1
+ import { AbstractElement } from './abstractElement';
2
+ export class StatementDef extends AbstractElement {
3
+ constructor(line) {
4
+ super('');
5
+ this.line = line;
6
+ }
7
+ writeBody(writer) {
8
+ writer.println(`${this.line}${this.line.endsWith(';') ? '' : ';'}`);
9
+ }
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGVtZW50RGVmLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9hc3Qvc3RhdGVtZW50RGVmLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVwRCxNQUFNLE9BQU8sWUFBYSxTQUFRLGVBQWU7SUFDL0MsWUFBb0IsSUFBWTtRQUM5QixLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFEUSxTQUFJLEdBQUosSUFBSSxDQUFRO0lBRWhDLENBQUM7SUFFRCxTQUFTLENBQUMsTUFBYztRQUN0QixNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7Q0FDRiJ9
@@ -3,26 +3,35 @@ import program from 'commander';
3
3
  import * as fs from 'fs';
4
4
  import glob from "glob";
5
5
  import { I18nGenerator } from "../i18nGenerator";
6
- let directory;
7
- let outputFile;
6
+ let srcDir;
7
+ let outDir;
8
8
  program
9
9
  .version('0.1.0')
10
10
  .arguments('<src> <out>')
11
11
  .action(function (src, out) {
12
- directory = src;
13
- outputFile = out;
12
+ srcDir = src;
13
+ outDir = out;
14
14
  })
15
15
  .parse(process.argv);
16
- if (typeof directory === 'undefined') {
16
+ if (typeof srcDir === 'undefined') {
17
17
  console.error('src directory not specified!');
18
18
  process.exit(1);
19
19
  }
20
- if (typeof outputFile === 'undefined') {
21
- console.error('no output file specified!');
20
+ if (typeof outDir === 'undefined') {
21
+ console.error('no output directory specified!');
22
22
  process.exit(1);
23
23
  }
24
+ if (!fs.existsSync(outDir)) {
25
+ fs.mkdirSync(outDir);
26
+ }
27
+ let localeDir = `${outDir}/locales`;
28
+ if (!fs.existsSync(localeDir)) {
29
+ fs.mkdirSync(localeDir);
30
+ }
24
31
  const gen = new I18nGenerator();
25
- const configFile = `${directory}/config.json`;
32
+ const configFile = `${srcDir}/config.json`;
33
+ const apiFile = `${outDir}/i18n.ts`;
34
+ const defaultBundleFile = `${outDir}/locales/en.json`;
26
35
  if (fs.existsSync(configFile)) {
27
36
  const config = JSON.parse(fs.readFileSync(configFile, 'utf8'));
28
37
  const imports = config['customTypeImports'];
@@ -31,7 +40,7 @@ if (fs.existsSync(configFile)) {
31
40
  gen.registerType(key, imports[key]);
32
41
  }
33
42
  }
34
- const pattern = `${directory}/**/*.yml`;
43
+ const pattern = `${srcDir}/**/*.yml`;
35
44
  console.log(`Scanning -> ${pattern}`);
36
45
  glob(pattern, {}, function (error, files) {
37
46
  // files is an array of filenames.
@@ -47,15 +56,10 @@ glob(pattern, {}, function (error, files) {
47
56
  }
48
57
  else {
49
58
  files.forEach(f => {
50
- // console.log(`parsing->${f}`);
51
59
  gen.readFile(f);
52
60
  });
53
- fs.writeFileSync(outputFile, gen.toString());
54
- // exec(`format-message extract ${outputFile}`,
55
- // function(err, stdout, stderr) {
56
- // if (err) throw err;
57
- // else console.log(stdout);
58
- // })
61
+ fs.writeFileSync(apiFile, gen.getApiContent());
62
+ fs.writeFileSync(defaultBundleFile, gen.getDefaultBundleContent());
59
63
  }
60
64
  });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9iaW4vY2xpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLE9BQU8sTUFBTSxXQUFXLENBQUM7QUFDaEMsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBRXhCLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUUvQyxJQUFJLFNBQVMsQ0FBQztBQUNkLElBQUksVUFBVSxDQUFDO0FBRWYsT0FBTztLQUNKLE9BQU8sQ0FBQyxPQUFPLENBQUM7S0FDaEIsU0FBUyxDQUFDLGFBQWEsQ0FBQztLQUN4QixNQUFNLENBQUMsVUFBVSxHQUFHLEVBQUUsR0FBRztJQUN4QixTQUFTLEdBQUcsR0FBRyxDQUFDO0lBQ2hCLFVBQVUsR0FBRyxHQUFHLENBQUM7QUFDbkIsQ0FBQyxDQUFDO0tBQ0QsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUV2QixJQUFJLE9BQU8sU0FBUyxLQUFLLFdBQVcsRUFBRTtJQUNwQyxPQUFPLENBQUMsS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7SUFDOUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztDQUNqQjtBQUVELElBQUksT0FBTyxVQUFVLEtBQUssV0FBVyxFQUFFO0lBQ3JDLE9BQU8sQ0FBQyxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUMzQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0NBQ2pCO0FBRUQsTUFBTSxHQUFHLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQztBQUVoQyxNQUFNLFVBQVUsR0FBRyxHQUFHLFNBQVMsY0FBYyxDQUFDO0FBQzlDLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRTtJQUM3QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDL0QsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDNUMsS0FBSyxJQUFJLEdBQUcsSUFBSSxPQUFPLEVBQUU7UUFDdkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsR0FBRyxRQUFRLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDOUQsR0FBRyxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7S0FDckM7Q0FDRjtBQUVELE1BQU0sT0FBTyxHQUFHLEdBQUcsU0FBUyxXQUFXLENBQUM7QUFDeEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLE9BQU8sRUFBRSxDQUFDLENBQUM7QUFDdEMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsVUFBVSxLQUFLLEVBQUUsS0FBSztJQUN0QyxrQ0FBa0M7SUFDbEMsNkNBQTZDO0lBQzdDLHVDQUF1QztJQUN2QyxpQ0FBaUM7SUFDakMsSUFBSSxLQUFLLEVBQUU7UUFDVCxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDakI7SUFDRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1FBQ3BCLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtLQUMvQjtTQUFNO1FBQ0wsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNoQixnQ0FBZ0M7WUFDaEMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FBQztRQUNILEVBQUUsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLCtDQUErQztRQUMvQyxvQ0FBb0M7UUFDcEMsMEJBQTBCO1FBQzFCLGdDQUFnQztRQUNoQyxPQUFPO0tBQ1I7QUFDSCxDQUFDLENBQUMsQ0FBQyJ9
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9iaW4vY2xpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLE9BQU8sTUFBTSxXQUFXLENBQUM7QUFDaEMsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBRXhCLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUUvQyxJQUFJLE1BQU0sQ0FBQztBQUNYLElBQUksTUFBTSxDQUFDO0FBRVgsT0FBTztLQUNKLE9BQU8sQ0FBQyxPQUFPLENBQUM7S0FDaEIsU0FBUyxDQUFDLGFBQWEsQ0FBQztLQUN4QixNQUFNLENBQUMsVUFBVSxHQUFHLEVBQUUsR0FBRztJQUN4QixNQUFNLEdBQUcsR0FBRyxDQUFDO0lBQ2IsTUFBTSxHQUFHLEdBQUcsQ0FBQztBQUNmLENBQUMsQ0FBQztLQUNELEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7QUFFdkIsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLEVBQUU7SUFDakMsT0FBTyxDQUFDLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0lBQzlDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7Q0FDakI7QUFFRCxJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsRUFBRTtJQUNqQyxPQUFPLENBQUMsS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7SUFDaEQsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztDQUNqQjtBQUVELElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFO0lBQzFCLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7Q0FDdEI7QUFDRCxJQUFJLFNBQVMsR0FBRyxHQUFHLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFO0lBQzdCLEVBQUUsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7Q0FDekI7QUFHRCxNQUFNLEdBQUcsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO0FBRWhDLE1BQU0sVUFBVSxHQUFHLEdBQUcsTUFBTSxjQUFjLENBQUM7QUFDM0MsTUFBTSxPQUFPLEdBQUcsR0FBRyxNQUFNLFVBQVUsQ0FBQztBQUNwQyxNQUFNLGlCQUFpQixHQUFHLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQztBQUV0RCxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUU7SUFDN0IsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQy9ELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQzVDLEtBQUssSUFBSSxHQUFHLElBQUksT0FBTyxFQUFFO1FBQ3ZCLE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLEdBQUcsUUFBUSxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzlELEdBQUcsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0tBQ3JDO0NBQ0Y7QUFHRCxNQUFNLE9BQU8sR0FBRyxHQUFHLE1BQU0sV0FBVyxDQUFDO0FBQ3JDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0FBQ3RDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLFVBQVUsS0FBSyxFQUFFLEtBQUs7SUFDdEMsa0NBQWtDO0lBQ2xDLDZDQUE2QztJQUM3Qyx1Q0FBdUM7SUFDdkMsaUNBQWlDO0lBQ2pDLElBQUksS0FBSyxFQUFFO1FBQ1QsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ2pCO0lBQ0QsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUNwQixPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUE7S0FDL0I7U0FBTTtRQUNMLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDaEIsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FBQztRQUNILEVBQUUsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQy9DLEVBQUUsQ0FBQyxhQUFhLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxDQUFDLHVCQUF1QixFQUFFLENBQUMsQ0FBQztLQUNwRTtBQUNILENBQUMsQ0FBQyxDQUFDIn0=
@@ -1,10 +1,10 @@
1
- import { ContainerElement } from "./ast/containerElement.class";
2
- import { Constructor } from "./constructor.class";
1
+ import { ContainerElement } from './ast/containerElement.class';
2
+ import { Constructor } from './constructor.class';
3
3
  import { I18nNode } from './i18nNode.class';
4
+ import { NodeName } from './nodeName';
4
5
  export declare class CustomTypeArrayNode extends I18nNode {
5
6
  private customType;
6
- static matches(yamlData: any): boolean;
7
- parse(container: any): any;
8
- protected parseEntry<T extends I18nNode>(name: string, data: any, defaultNodeType: Constructor<T>): I18nNode;
9
- compile(parent: ContainerElement): void;
7
+ static matches(name: NodeName, yamlData: any): boolean;
8
+ protected parseChild<T extends I18nNode>(name: NodeName, data: any, defaultNodeType: Constructor<T>): I18nNode;
9
+ generateApi(parent: ContainerElement): void;
10
10
  }
@@ -1,22 +1,19 @@
1
- import { CustomTypeNode } from "./customTypeNode.class";
1
+ import { CustomTypeNode } from './customTypeNode.class';
2
2
  import { I18nNode } from './i18nNode.class';
3
+ import { NodeName } from './nodeName';
3
4
  export class CustomTypeArrayNode extends I18nNode {
4
- static matches(yamlData) {
5
- return yamlData && yamlData['constructor'] && yamlData['constructor'].name == 'CustomTypeArrayContainer';
5
+ static matches(name, yamlData) {
6
+ return yamlData && name.customTypeName && name.isArray;
6
7
  }
7
- parse(container) {
8
- this.customType = container['customType'];
9
- return super.parse(container['content']);
8
+ parseChild(name, data, defaultNodeType) {
9
+ return super.parseChild(NodeName.parse(`${name.safeName}(${this.name.customTypeName})`), data, CustomTypeNode);
10
10
  }
11
- parseEntry(name, data, defaultNodeType) {
12
- return super.parseEntry(name, { customType: this.customType, content: data }, CustomTypeNode);
13
- }
14
- compile(parent) {
11
+ generateApi(parent) {
15
12
  parent.nestedContainer(this.namespaceName, namespace => {
16
13
  this.eachChild(child => {
17
- child.compile(namespace);
14
+ child.generateApi(namespace);
18
15
  });
19
16
  });
20
17
  }
21
18
  }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tVHlwZUFycmF5Tm9kZS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvY3VzdG9tVHlwZUFycmF5Tm9kZS5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFFdEQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBRzFDLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxRQUFRO0lBRy9DLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBYTtRQUMxQixPQUFPLFFBQVEsSUFBSSxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksSUFBSSwwQkFBMEIsQ0FBQTtJQUMxRyxDQUFDO0lBRUQsS0FBSyxDQUFDLFNBQWM7UUFDbEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUMsWUFBWSxDQUFlLENBQUM7UUFDeEQsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFUyxVQUFVLENBQXFCLElBQVksRUFBRSxJQUFTLEVBQUUsZUFBK0I7UUFDL0YsT0FBTyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxFQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUMsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUM5RixDQUFDO0lBRUQsT0FBTyxDQUFDLE1BQXdCO1FBQzlCLE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsRUFBRTtZQUNyRCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNyQixLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzNCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBRUYifQ==
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tVHlwZUFycmF5Tm9kZS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvY3VzdG9tVHlwZUFycmF5Tm9kZS5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFeEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFdEMsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFFBQVE7SUFJL0MsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFjLEVBQUUsUUFBYTtRQUMxQyxPQUFPLFFBQVEsSUFBSSxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDekQsQ0FBQztJQUVTLFVBQVUsQ0FBcUIsSUFBYyxFQUFFLElBQVMsRUFBRSxlQUErQjtRQUNqRyxPQUFPLEtBQUssQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxjQUFjLENBQUMsQ0FBQztJQUNqSCxDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQXdCO1FBQ2xDLE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsRUFBRTtZQUNyRCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNyQixLQUFLLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQy9CLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBRUYifQ==
@@ -1,24 +1,10 @@
1
1
  import { ContainerElement } from './ast/containerElement.class';
2
- import { Constructor } from './constructor.class';
3
- import { I18nNode } from './i18nNode.class';
4
- import { TextArrayNode } from './textArrayNode.class';
5
- import { TextNode } from './textNode.class';
6
- import { ValueNode } from './valueNode.class';
7
- declare class CustomTextNode extends TextNode {
8
- static matches(yamlData: any): boolean;
9
- compile(container: ContainerElement): void;
10
- }
11
- declare class CustomTextArrayNode extends TextArrayNode {
12
- static matches(yamlData: any): boolean;
13
- compile(container: ContainerElement): void;
14
- createFunctionBody(out: any): void;
15
- }
2
+ import { I18nNode, NodeConstructor } from './i18nNode.class';
3
+ import { NodeName } from './nodeName';
16
4
  export declare class CustomTypeNode extends I18nNode {
17
- private customType;
18
- static matches(yamlData: any): boolean;
19
- supportedChildNodeTypes(): (typeof ValueNode | typeof CustomTextArrayNode | typeof CustomTextNode)[];
5
+ static matches(name: NodeName, yamlData: any): boolean;
6
+ supportedChildNodeTypes(): NodeConstructor<any>[];
20
7
  parse(container: any): void;
21
- protected parseEntry<T extends I18nNode>(name: string, data: any, defaultNodeType: Constructor<T>): I18nNode;
22
- compile(parent: ContainerElement): any;
8
+ generateApi(parent: ContainerElement): any;
9
+ readonly namespaceName: string;
23
10
  }
24
- export {};
@@ -5,22 +5,22 @@ import { TextArrayNode } from './textArrayNode.class';
5
5
  import { TextNode } from './textNode.class';
6
6
  import { ValueNode } from './valueNode.class';
7
7
  class CustomTextNode extends TextNode {
8
- static matches(yamlData) {
9
- return TextNode.matches(yamlData);
8
+ static matches(name, yamlData) {
9
+ return TextNode.matches(name, yamlData);
10
10
  }
11
- compile(container) {
11
+ generateApi(container) {
12
12
  // we get our args from our outer function.
13
- container.createFunction(this.javaScriptName, Arguments.empty(), 'string', out => {
13
+ container.createFunction(this.name.asJsIdentifier, Arguments.empty(), 'string', out => {
14
14
  this.createFunctionBody(out);
15
15
  });
16
16
  }
17
17
  }
18
18
  class CustomTextArrayNode extends TextArrayNode {
19
- static matches(yamlData) {
20
- return TextArrayNode.matches(yamlData);
19
+ static matches(name, yamlData) {
20
+ return TextArrayNode.matches(name, yamlData);
21
21
  }
22
- compile(container) {
23
- container.createFunction(this.javaScriptName, Arguments.empty(), 'string[]', out => {
22
+ generateApi(container) {
23
+ container.createFunction(this.name.asJsIdentifier, Arguments.empty(), 'string[]', out => {
24
24
  this.createFunctionBody(out);
25
25
  });
26
26
  }
@@ -37,27 +37,22 @@ class CustomTextArrayNode extends TextArrayNode {
37
37
  }
38
38
  }
39
39
  export class CustomTypeNode extends I18nNode {
40
- static matches(yamlData) {
41
- return yamlData && yamlData['constructor'] && yamlData['constructor'].name === 'CustomTypeContainer';
40
+ static matches(name, yamlData) {
41
+ return yamlData && name.customTypeName && !name.isArray;
42
42
  }
43
43
  supportedChildNodeTypes() {
44
44
  return [CustomTextArrayNode, CustomTextNode, ValueNode];
45
45
  }
46
46
  parse(container) {
47
- this.customType = container['customType'];
48
- super.parse(container['content']);
47
+ super.parse(container);
49
48
  this.eachChild(child => this.getArgs().merge(child.getArgs()));
50
49
  }
51
- parseEntry(name, data, defaultNodeType) {
52
- // console.log(defaultNodeType);
53
- return super.parseEntry(name, data, defaultNodeType);
54
- }
55
- compile(parent) {
50
+ generateApi(parent) {
56
51
  const tempContainer = new ObjectDef('!temp!');
57
52
  this.eachChild(child => {
58
- child.compile(tempContainer);
53
+ child.generateApi(tempContainer);
59
54
  });
60
- parent.createFunction(this.javaScriptName, this.getArgs(), this.customType.className, body => {
55
+ parent.createFunction(this.name.asJsIdentifier, this.getArgs(), this.name.customTypeName, body => {
61
56
  body.println('return {');
62
57
  body.indent(out => {
63
58
  tempContainer.writeBody(out);
@@ -65,5 +60,8 @@ export class CustomTypeNode extends I18nNode {
65
60
  body.println('}');
66
61
  });
67
62
  }
63
+ get namespaceName() {
64
+ return super.namespaceName;
65
+ }
68
66
  }
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tVHlwZU5vZGUuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2N1c3RvbVR5cGVOb2RlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU5QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHbEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRzlDLE1BQU0sY0FBZSxTQUFRLFFBQVE7SUFFbkMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFhO1FBQzFCLE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsT0FBTyxDQUFDLFNBQTJCO1FBQ2pDLDJDQUEyQztRQUMzQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsU0FBUyxDQUFDLEtBQUssRUFBRSxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsRUFBRTtZQUMvRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLG1CQUFvQixTQUFRLGFBQWE7SUFFN0MsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFhO1FBQzFCLE9BQU8sYUFBYSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsT0FBTyxDQUFDLFNBQTJCO1FBQ2pDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFB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
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tVHlwZU5vZGUuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2N1c3RvbVR5cGVOb2RlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU5QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFbEQsT0FBTyxFQUFFLFFBQVEsRUFBbUIsTUFBTSxrQkFBa0IsQ0FBQztBQUU3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUc5QyxNQUFNLGNBQWUsU0FBUSxRQUFRO0lBRW5DLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBYyxFQUFFLFFBQWE7UUFDMUMsT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsV0FBVyxDQUFDLFNBQTJCO1FBQ3JDLDJDQUEyQztRQUMzQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDLEVBQUU7WUFDcEYsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBRUQsTUFBTSxtQkFBb0IsU0FBUSxhQUFhO0lBRTdDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBYyxFQUFFLFFBQWE7UUFDMUMsT0FBTyxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsV0FBVyxDQUFD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
@@ -1,10 +1,10 @@
1
+ import { ContainerElement } from './ast/containerElement.class';
2
+ import { Constructor } from './constructor.class';
1
3
  import { I18nNode } from './i18nNode.class';
2
- import { ContainerElement } from "./ast/containerElement.class";
3
- import { Constructor } from "./constructor.class";
4
+ import { NodeName } from './nodeName';
4
5
  export declare class EnumNode extends I18nNode {
5
- static matches(yamlData: any): boolean;
6
- parse(enumResourceContainer: any): any;
7
- protected parseEntry<T extends I18nNode>(name: string, data: any, defaultNodeType: Constructor<T>): I18nNode;
8
- compile(parent: ContainerElement): void;
6
+ static matches(name: NodeName, yamlData: any): boolean;
7
+ protected parseChild<T extends I18nNode>(name: NodeName, data: any, defaultNodeType: Constructor<T>): I18nNode;
8
+ generateApi(parent: ContainerElement): void;
9
9
  lookupKeys(): string[];
10
10
  }
@@ -1,47 +1,42 @@
1
+ import { Arguments } from './arguments.class';
2
+ import { FunctionDef } from './ast/functionDef.class';
3
+ import { ObjectDef } from './ast/objectDef.class';
1
4
  import { I18nNode } from './i18nNode.class';
2
- import { TextNode } from "./textNode.class";
3
- import { Arguments } from "./arguments.class";
4
- import { ObjectDef } from "./ast/objectDef.class";
5
- import { FunctionDef } from "./ast/functionDef.class";
6
- import { NameSpaceNode } from "./namespaceNode.class";
5
+ import { NameSpaceNode } from './namespaceNode.class';
6
+ import { TextNode } from './textNode.class';
7
7
  class EnumMethodNode extends TextNode {
8
8
  }
9
9
  class EnumEntryNode extends I18nNode {
10
- // static matches(data:any) {
11
- // return true;
12
- // }
13
- compile(parent, typeName) {
10
+ static matches(name, data) {
11
+ return true;
12
+ }
13
+ generateApi(parent, typeName) {
14
14
  parent.createObject(this.namespaceName, def => {
15
15
  def.asType(typeName);
16
- this.eachChild(child => child.compile(def));
16
+ this.eachChild(child => child.generateApi(def));
17
17
  });
18
18
  }
19
19
  }
20
20
  export class EnumNode extends I18nNode {
21
- static matches(yamlData) {
22
- return yamlData && yamlData['constructor'] && yamlData['constructor'].name === 'EnumResourceContainer';
21
+ static matches(name, yamlData) {
22
+ // console.log(name);
23
+ return yamlData && name.customTypeName === 'Enum';
23
24
  }
24
- // protected supportedChildNodeTypes(): NodeConstructor<any>[] {
25
- // return [EnumEntryNode];
26
- // }
27
- parse(enumResourceContainer) {
28
- return super.parse(enumResourceContainer['content']);
29
- }
30
- parseEntry(name, data, defaultNodeType) {
25
+ parseChild(name, data, defaultNodeType) {
31
26
  if (defaultNodeType['name'] === NameSpaceNode['name']) {
32
- return super.parseEntry(name, data, EnumEntryNode);
27
+ return super.parseChild(name, data, EnumEntryNode);
33
28
  }
34
29
  else {
35
- throw new Error(`entry '${name}' in '${this.accessor}' is not an object. !Enum children to be an object.`);
30
+ throw new Error(`entry '${name}' in '${this.accessor}' is not an object. Enum children to be an object.`);
36
31
  }
37
32
  }
38
- compile(parent) {
33
+ generateApi(parent) {
39
34
  parent.nestedContainer(this.namespaceName, namespace => {
40
35
  const enumType = namespace.defineInterface(`${this.className}Entry`);
41
36
  // only process enum entry nodes for now so we guarantee all the children
42
37
  // are enum types.
43
38
  this.eachChild(child => {
44
- child.compile(namespace, enumType.name);
39
+ child.generateApi(namespace, enumType.name);
45
40
  });
46
41
  const enums = namespace.allOfType(ObjectDef);
47
42
  enums[0].forEach(FunctionDef, f => {
@@ -50,56 +45,44 @@ export class EnumNode extends I18nNode {
50
45
  enums[0].forEach(ObjectDef, f => {
51
46
  enumType.createObject(f.name, f.typeName());
52
47
  });
53
- // compile the rest of the children.
54
- // this.eachChild(child => {
55
- // if (!(child instanceof EnumEntryNode)) {
56
- // child.compile(namespace);
57
- // }
58
- // });
59
48
  const enumKeyType = `${this.fqClassName}Key`;
60
- namespace.defineType(enumKeyType, this.children.map(child => `'${child.camelCaseName}'`).join('|'));
49
+ namespace.defineType(enumKeyType, this.children.map(child => `'${child.name.asJsIdentifier}'`).join('|'));
61
50
  // now create our lookup functions for the enum notes
62
- namespace.createFunction('lookup', Arguments.create('key', enumKeyType), enumType.name, out => {
63
- // this.eachChild(child => {
64
- // if (child instanceof EnumEntryNode) {
65
- // out.println(`if (key === '${child.camelCaseName}') { return I18n.${child.accessor}; }`);
66
- // }
67
- // });
68
- out.println(`const result = this.tryLookup(key);`);
51
+ namespace.createFunction('lookup', Arguments.createSingle('key', enumKeyType), enumType.name, out => {
52
+ out.println(`const result = tryLookup(key);`);
69
53
  out.println(`if (!result) {`);
70
54
  out.println(` throw new Error("Unknown enum key '" + key + "'. Must be one of ${this.lookupKeys().join(', ')}")`);
71
55
  out.println(`}`);
72
56
  out.println(`return result;`);
73
57
  });
74
- namespace.createFunction('tryLookup', Arguments.create('key', 'string'), enumType.name, out => {
58
+ namespace.createFunction('tryLookup', Arguments.createSingle('key', 'string'), enumType.name, out => {
75
59
  this.eachChild(child => {
76
60
  // if (child instanceof EnumEntryNode) {
77
- out.println(`if (key === '${child.camelCaseName}') { return I18n.${child.accessor}; }`);
61
+ out.println(`if (key === '${child.name.asJsIdentifier}') { return I18n.${child.accessor}; }`);
78
62
  // }
79
63
  });
80
64
  out.println(`return null;`);
81
65
  });
82
- namespace.createFunction('nameOf', Arguments.create('option', enumType.name), enumKeyType, out => {
66
+ namespace.createFunction('nameOf', Arguments.createSingle('option', enumType.name), enumKeyType, out => {
83
67
  this.eachChild(child => {
84
- // if (child instanceof EnumEntryNode) {
85
- out.println(`if (option === I18n.${child.accessor}) { return '${child.camelCaseName}'; }`);
86
- // }
68
+ out.println(`if (option === I18n.${child.accessor}) { return '${child.name.asJsIdentifier}'; }`);
87
69
  });
88
70
  out.println(`throw new Error("Unknown enum")`);
89
71
  });
90
72
  namespace.createFunction('asArray', Arguments.empty(), `${enumType.name}[]`, out => {
91
73
  out.println(`return [`);
92
74
  this.eachChild(child => {
93
- // if (child instanceof EnumEntryNode) {
94
75
  out.indent(_out => _out.println(`I18n.${child.accessor},`));
95
- // }
96
76
  });
97
77
  out.println(']');
98
78
  });
99
79
  });
100
80
  }
81
+ // generateMessageBundle(parent: ContainerElement): void {
82
+ //
83
+ // }
101
84
  lookupKeys() {
102
- return this.children.map(child => child.camelCaseName);
85
+ return this.children.map(child => child.name.asJsIdentifier);
103
86
  }
104
87
  }
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bU5vZGUuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2VudW1Ob2RlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQWtCLE1BQU0sa0JBQWtCLENBQUM7QUFDM0QsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBRTFDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUM1QyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDaEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBRXBELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUdwRCxNQUFNLGNBQWUsU0FBUSxRQUFRO0NBSXBDO0FBRUQsTUFBTSxhQUFjLFNBQVEsUUFBUTtJQUVoQyw2QkFBNkI7SUFDN0IsbUJBQW1CO0lBQ25CLElBQUk7SUFFSixPQUFPLENBQUMsTUFBd0IsRUFBRSxRQUFnQjtRQUM5QyxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsR0FBRyxDQUFDLEVBQUU7WUFDMUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNyQixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2hELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNKO0FBR0QsTUFBTSxPQUFPLFFBQVMsU0FBUSxRQUFRO0lBRWxDLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBYTtRQUN4QixPQUFPLFFBQVEsSUFBSSxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksS0FBSyx1QkFBdUIsQ0FBQTtJQUMxRyxDQUFDO0lBR0QsZ0VBQWdFO0lBQ2hFLDhCQUE4QjtJQUM5QixJQUFJO0lBRUosS0FBSyxDQUFDLHFCQUEwQjtRQUM1QixPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRVMsVUFBVSxDQUFxQixJQUFZLEVBQUUsSUFBUyxFQUFFLGVBQThCO1FBQzVGLElBQUksZUFBZSxDQUFDLE1BQU0sQ0FBQyxLQUFLLGFBQWEsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNuRCxPQUFPLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxhQUFhLENBQUMsQ0FBQztTQUN0RDthQUFNO1lBQ0gsTUFBTSxJQUFJLEtBQUssQ0FBQyxVQUFVLElBQUksU0FBUyxJQUFJLENBQUMsUUFBUSxxREFBcUQsQ0FBQyxDQUFDO1NBQzlHO0lBQ0wsQ0FBQztJQUVELE9BQU8sQ0FBQyxNQUF3QjtRQUU1QixNQUFNLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDLEVBQUU7WUFFbkQsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLGVBQWUsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLE9BQU8sQ0FBQyxDQUFDO1lBRXJFLHlFQUF5RTtZQUN6RSxrQkFBa0I7WUFDbEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDZCxLQUF1QixDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ25FLENBQUMsQ0FBQyxDQUFDO1lBRUgsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM3QyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsRUFBRTtnQkFDOUIsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzFELENBQUMsQ0FBQyxDQUFDO1lBQ0gsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUU7Z0JBQzVCLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUNoRCxDQUFDLENBQUMsQ0FBQztZQUVILG9DQUFvQztZQUNwQyw0QkFBNEI7WUFDeEIsMkNBQTJDO1lBQzNDLGdDQUFnQztZQUNoQyxJQUFJO1lBQ1IsTUFBTTtZQUVOLE1BQU0sV0FBVyxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsS0FBSyxDQUFDO1lBQzdDLFNBQVMsQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNwRyxxREFBcUQ7WUFDckQsU0FBUyxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLEVBQUUsUUFBUSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRTtnQkFDMUYsNEJBQTRCO2dCQUN4Qix3Q0FBd0M7Z0JBQ3hDLCtGQUErRjtnQkFDL0YsSUFBSTtnQkFDUixNQUFNO2dCQUNOLEdBQUcsQ0FBQyxPQUFPLENBQUMscUNBQXFDLENBQUMsQ0FBQztnQkFDbkQsR0FBRyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2dCQUM5QixHQUFHLENBQUMsT0FBTyxDQUFDLHNFQUFzRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDcEgsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDakIsR0FBRyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ2xDLENBQUMsQ0FBQyxDQUFDO1lBQ0gsU0FBUyxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsUUFBUSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRTtnQkFDMUYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtvQkFDbkIsd0NBQXdDO29CQUNwQyxHQUFHLENBQUMsT0FBTyxDQUFDLGdCQUFnQixLQUFLLENBQUMsYUFBYSxvQkFBb0IsS0FBSyxDQUFDLFFBQVEsS0FBSyxDQUFDLENBQUM7b0JBQzVGLElBQUk7Z0JBQ1IsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsR0FBRyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNoQyxDQUFDLENBQUMsQ0FBQztZQUVILFNBQVMsQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxXQUFXLEVBQUUsR0FBRyxDQUFDLEVBQUU7Z0JBQzdGLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQ25CLHdDQUF3QztvQkFDcEMsR0FBRyxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsS0FBSyxDQUFDLFFBQVEsZUFBZSxLQUFLLENBQUMsYUFBYSxNQUFNLENBQUMsQ0FBQztvQkFDL0YsSUFBSTtnQkFDUixDQUFDLENBQUMsQ0FBQztnQkFDSCxHQUFHLENBQUMsT0FBTyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7WUFFbkQsQ0FBQyxDQUFDLENBQUM7WUFFSCxTQUFTLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxRQUFRLENBQUMsSUFBSSxJQUFJLEVBQUUsR0FBRyxDQUFDLEVBQUU7Z0JBQy9FLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQ25CLHdDQUF3QztvQkFDcEMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxLQUFLLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUNoRSxJQUFJO2dCQUNSLENBQUMsQ0FBQyxDQUFDO2dCQUNILEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDckIsQ0FBQyxDQUFDLENBQUM7UUFFUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxVQUFVO1FBQ04sT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMzRCxDQUFDO0NBRUoifQ==
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bU5vZGUuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2VudW1Ob2RlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU5QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWxELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRzVDLE1BQU0sY0FBZSxTQUFRLFFBQVE7Q0FJcEM7QUFFRCxNQUFNLGFBQWMsU0FBUSxRQUFRO0lBRWxDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBYyxFQUFFLElBQVM7UUFDdEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQXdCLEVBQUUsUUFBaUI7UUFDckQsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxFQUFFO1lBQzVDLEdBQUcsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNsRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQUdELE1BQU0sT0FBTyxRQUFTLFNBQVEsUUFBUTtJQUVwQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQWMsRUFBRSxRQUFhO1FBQzFDLHFCQUFxQjtRQUNyQixPQUFPLFFBQVEsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLE1BQU0sQ0FBQztJQUNwRCxDQUFDO0lBRVMsVUFBVSxDQUFxQixJQUFjLEVBQUUsSUFBUyxFQUFFLGVBQStCO1FBQ2pHLElBQUksZUFBZSxDQUFDLE1BQU0sQ0FBQyxLQUFLLGFBQWEsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNyRCxPQUFPLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxhQUFhLENBQUMsQ0FBQztTQUNwRDthQUFNO1lBQ0wsTUFBTSxJQUFJLEtBQUssQ0FBQyxVQUFVLElBQUksU0FBUyxJQUFJLENBQUMsUUFBUSxvREFBb0QsQ0FBQyxDQUFDO1NBQzNHO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUF3QjtRQUVsQyxNQUFNLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDLEVBQUU7WUFFckQsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLGVBQWUsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLE9BQU8sQ0FBQyxDQUFDO1lBRXJFLHlFQUF5RTtZQUN6RSxrQkFBa0I7WUFDbEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDcEIsS0FBdUIsQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNqRSxDQUFDLENBQUMsQ0FBQztZQUVILE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDN0MsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2hDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN4RCxDQUFDLENBQUMsQ0FBQztZQUNILEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFO2dCQUM5QixRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDOUMsQ0FBQyxDQUFDLENBQUM7WUFFSCxNQUFNLFdBQVcsR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLEtBQUssQ0FBQztZQUM3QyxTQUFTLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzFHLHFEQUFxRDtZQUNyRCxTQUFTLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsRUFBRSxRQUFRLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxFQUFFO2dCQUNsRyxHQUFHLENBQUMsT0FBTyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7Z0JBQzlDLEdBQUcsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztnQkFDOUIsR0FBRyxDQUFDLE9BQU8sQ0FBQyxzRUFBc0UsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3BILEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2pCLEdBQUcsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUNoQyxDQUFDLENBQUMsQ0FBQztZQUNILFNBQVMsQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEVBQUU7Z0JBQ2xHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQ3JCLHdDQUF3QztvQkFDeEMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLG9CQUFvQixLQUFLLENBQUMsUUFBUSxLQUFLLENBQUMsQ0FBQztvQkFDOUYsSUFBSTtnQkFDTixDQUFDLENBQUMsQ0FBQztnQkFDSCxHQUFHLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQzlCLENBQUMsQ0FBQyxDQUFDO1lBRUgsU0FBUyxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLFdBQVcsRUFBRSxHQUFHLENBQUMsRUFBRTtnQkFDckcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtvQkFDckIsR0FBRyxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsS0FBSyxDQUFDLFFBQVEsZUFBZSxLQUFLLENBQUMsSUFBSSxDQUFDLGNBQWMsTUFBTSxDQUFDLENBQUM7Z0JBQ25HLENBQUMsQ0FBQyxDQUFDO2dCQUNILEdBQUcsQ0FBQyxPQUFPLENBQUMsaUNBQWlDLENBQUMsQ0FBQztZQUNqRCxDQUFDLENBQUMsQ0FBQztZQUVILFNBQVMsQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxHQUFHLFFBQVEsQ0FBQyxJQUFJLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRTtnQkFDakYsR0FBRyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtvQkFDckIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxLQUFLLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUM5RCxDQUFDLENBQUMsQ0FBQztnQkFDSCxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25CLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBR0QsMERBQTBEO0lBQzFELEVBQUU7SUFDRixJQUFJO0lBRUosVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7Q0FFRiJ9
@@ -1,11 +1,3 @@
1
- import * as yaml from 'js-yaml';
2
- export declare class CustomType {
3
- readonly className: string;
4
- readonly importDeclaration: string;
5
- constructor(className: string, importDeclaration: string);
6
- asYamlType(): yaml.Type;
7
- asYamlListType(): yaml.Type;
8
- }
9
1
  export declare class I18nGenerator {
10
2
  private rootNode;
11
3
  private customTypes;
@@ -13,6 +5,6 @@ export declare class I18nGenerator {
13
5
  constructor();
14
6
  registerType(typeName: string, importDeclaration: string): void;
15
7
  readFile(fileName: string): void;
16
- getSchema(): yaml.Schema;
17
- toString(): string;
8
+ getApiContent(): string;
9
+ getDefaultBundleContent(): string;
18
10
  }