@coolon/i18n-resource-generator 2.0.1 → 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 +10 -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 -7
  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 -7
  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
package/CHANGELOG.md CHANGED
@@ -2,6 +2,16 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ <a name="2.0.3"></a>
6
+ ## [2.0.3](https://github.com/YOUR_GITHUB_USER_NAME/i18n-resource-generator/compare/v2.0.2...v2.0.3) (2019-09-17)
7
+
8
+
9
+
10
+ <a name="2.0.2"></a>
11
+ ## [2.0.2](https://github.com/YOUR_GITHUB_USER_NAME/i18n-resource-generator/compare/v2.0.1...v2.0.2) (2019-09-16)
12
+
13
+
14
+
5
15
  <a name="2.0.1"></a>
6
16
  ## [2.0.1](https://github.com/YOUR_GITHUB_USER_NAME/i18n-resource-generator/compare/v2.0.0...v2.0.1) (2019-09-16)
7
17
 
@@ -1,7 +1,10 @@
1
- import { Arg } from "./arg.class";
1
+ import { Arg } from './arg.class';
2
2
  export declare class Arguments {
3
- static create(name: string, type: string): Arguments;
4
- static empty(): EmptyArgs;
3
+ static createSingle(name: string, type: string): Arguments;
4
+ static createAll(def: {
5
+ [key: string]: string;
6
+ }): Arguments;
7
+ static empty(): Arguments;
5
8
  private args;
6
9
  constructor(args?: Arg[]);
7
10
  add(arg: Arg): void;
@@ -13,8 +16,3 @@ export declare class Arguments {
13
16
  any(): boolean;
14
17
  private canAdd;
15
18
  }
16
- declare class EmptyArgs extends Arguments {
17
- constructor();
18
- merge(other: Arguments): Arguments;
19
- }
20
- export {};
@@ -2,9 +2,16 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const arg_class_1 = require("./arg.class");
4
4
  class Arguments {
5
- static create(name, type) {
5
+ static createSingle(name, type) {
6
6
  return new Arguments([new arg_class_1.Arg(name, type)]);
7
7
  }
8
+ static createAll(def) {
9
+ const args = new Arguments();
10
+ for (let key in def) {
11
+ args.add(new arg_class_1.Arg(key, def[key]));
12
+ }
13
+ return args;
14
+ }
8
15
  static empty() {
9
16
  return emptyArgs;
10
17
  }
@@ -52,4 +59,4 @@ class EmptyArgs extends Arguments {
52
59
  }
53
60
  }
54
61
  const emptyArgs = new EmptyArgs();
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJndW1lbnRzLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9hcmd1bWVudHMuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSwyQ0FBZ0M7QUFFaEMsTUFBYSxTQUFTO0lBRWxCLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBVyxFQUFFLElBQVc7UUFDbEMsT0FBTyxJQUFJLFNBQVMsQ0FBQyxDQUFDLElBQUksZUFBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLO1FBQ1IsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUlELFlBQVksSUFBVztRQUNuQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELEdBQUcsQ0FBQyxHQUFPO1FBQ1AsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1NBQ3RCO0lBQ0wsQ0FBQztJQUVELHNCQUFzQjtRQUNsQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRUQsdUJBQXVCLENBQUMsYUFBNEMsV0FBVztRQUMzRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxVQUFVLElBQUksR0FBRyxDQUFDLE9BQU8sSUFBSSxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUYsQ0FBQztJQUVELFlBQVk7UUFDUixPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxVQUFVLEtBQUssR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUE7SUFDM0YsQ0FBQztJQUVELE9BQU87UUFDSCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFnQjtRQUNsQixLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtJQUM1QyxDQUFDO0lBRUQsR0FBRztRQUNDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTyxNQUFNLENBQUMsR0FBUTtRQUNuQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pFLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxPQUFPLElBQUksR0FBRyxDQUFDLE9BQU8sRUFBRTtZQUM3QyxNQUFNLElBQUksS0FBSyxDQUFDLHFFQUFxRSxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQTtTQUMzRztRQUNELE9BQU8sQ0FBQyxRQUFRLENBQUM7SUFDckIsQ0FBQztDQUNKO0FBckRELDhCQXFEQztBQUVELE1BQU0sU0FBVSxTQUFRLFNBQVM7SUFDN0I7UUFDSSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDZCxDQUFDO0lBR0QsS0FBSyxDQUFDLEtBQWdCO1FBQ2xCLE1BQU0sSUFBSSxLQUFLLENBQUMsc0RBQXNELENBQUMsQ0FBQztJQUM1RSxDQUFDO0NBQ0o7QUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFJLFNBQVMsRUFBRSxDQUFDIn0=
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJndW1lbnRzLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9hcmd1bWVudHMuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwyQ0FBa0M7QUFFbEMsTUFBYSxTQUFTO0lBRXBCLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBWSxFQUFFLElBQVk7UUFDNUMsT0FBTyxJQUFJLFNBQVMsQ0FBQyxDQUFDLElBQUksZUFBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBOEI7UUFDN0MsTUFBTSxJQUFJLEdBQUcsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUM3QixLQUFLLElBQUksR0FBRyxJQUFJLEdBQUcsRUFBRTtZQUNuQixJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksZUFBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2xDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUs7UUFDVixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBSUQsWUFBWSxJQUFZO1FBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsR0FBRyxDQUFDLEdBQVE7UUFDVixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDckI7SUFDSCxDQUFDO0lBRUQsc0JBQXNCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxPQUFPLElBQUksR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxhQUFpRCxXQUFXO1FBQ2xGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFVBQVUsSUFBSSxHQUFHLENBQUMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksR0FBRyxDQUFDLFVBQVUsS0FBSyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUMxRixDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQWdCO1FBQ3BCLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxHQUFHO1FBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVPLE1BQU0sQ0FBQyxHQUFRO1FBQ3JCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDakUsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLE9BQU8sSUFBSSxHQUFHLENBQUMsT0FBTyxFQUFFO1lBQy9DLE1BQU0sSUFBSSxLQUFLLENBQUMscUVBQXFFLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1NBQzFHO1FBQ0QsT0FBTyxDQUFDLFFBQVEsQ0FBQztJQUNuQixDQUFDO0NBQ0Y7QUE3REQsOEJBNkRDO0FBRUQsTUFBTSxTQUFVLFNBQVEsU0FBUztJQUMvQjtRQUNFLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNaLENBQUM7SUFHRCxLQUFLLENBQUMsS0FBZ0I7UUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxzREFBc0QsQ0FBQyxDQUFDO0lBQzFFLENBQUM7Q0FDRjtBQUVELE1BQU0sU0FBUyxHQUFHLElBQUksU0FBUyxFQUFFLENBQUMifQ==
@@ -1,9 +1,9 @@
1
- import { Element } from "./element.class";
2
- import { AbstractElement } from "./abstractElement";
3
- import { Constructor } from "../constructor.class";
1
+ import { Constructor } from '../constructor.class';
2
+ import { AbstractElement } from './abstractElement';
3
+ import { Element } from './element.class';
4
4
  export declare abstract class AbstractContainerElement extends AbstractElement {
5
5
  private children;
6
6
  addElement<T extends Element>(child: T, func?: (def: T) => void): T;
7
- forEach<T extends Element>(type: Constructor<T>, callback: (item: T) => void): void;
7
+ forEach<T extends Element>(type: Constructor<T>, callback: (item: T, last: boolean) => void): void;
8
8
  allOfType<T extends Element>(type: Constructor<T>): T[];
9
9
  }
@@ -21,11 +21,12 @@ class AbstractContainerElement extends abstractElement_1.AbstractElement {
21
21
  return child;
22
22
  }
23
23
  forEach(type, callback) {
24
- this.allOfType(type).forEach(child => callback(child));
24
+ let types = this.allOfType(type);
25
+ types.forEach((child, idx) => callback(child, idx === types.length - 1));
25
26
  }
26
27
  allOfType(type) {
27
28
  return _.filter(this.children, child => child instanceof type);
28
29
  }
29
30
  }
30
31
  exports.AbstractContainerElement = AbstractContainerElement;
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3RDb250YWluZXJFbGVtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9hc3QvYWJzdHJhY3RDb250YWluZXJFbGVtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLDBDQUE0QjtBQUU1Qix1REFBa0Q7QUFJbEQsTUFBc0Isd0JBQXlCLFNBQVEsaUNBQWU7SUFBdEU7O1FBRVksYUFBUSxHQUFjLEVBQUUsQ0FBQztJQWlCckMsQ0FBQztJQWZHLFVBQVUsQ0FBb0IsS0FBUSxFQUFFLElBQXVCO1FBQzNELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEIsSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsT0FBTyxDQUFvQixJQUFvQixFQUFFLFFBQTJCO1FBQ3hFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7SUFDMUQsQ0FBQztJQUVELFNBQVMsQ0FBb0IsSUFBb0I7UUFDN0MsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLFlBQVksSUFBSSxDQUFRLENBQUM7SUFDMUUsQ0FBQztDQUVKO0FBbkJELDREQW1CQyJ9
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3RDb250YWluZXJFbGVtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9hc3QvYWJzdHJhY3RDb250YWluZXJFbGVtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLDBDQUE0QjtBQUU1Qix1REFBb0Q7QUFJcEQsTUFBc0Isd0JBQXlCLFNBQVEsaUNBQWU7SUFBdEU7O1FBRVUsYUFBUSxHQUFjLEVBQUUsQ0FBQztJQWtCbkMsQ0FBQztJQWhCQyxVQUFVLENBQW9CLEtBQVEsRUFBRSxJQUF1QjtRQUM3RCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQixLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RCLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsT0FBTyxDQUFvQixJQUFvQixFQUFFLFFBQXlDO1FBQ3hGLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsR0FBRyxLQUFLLEtBQUssQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsU0FBUyxDQUFvQixJQUFvQjtRQUMvQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssWUFBWSxJQUFJLENBQVEsQ0FBQztJQUN4RSxDQUFDO0NBRUY7QUFwQkQsNERBb0JDIn0=
@@ -1,5 +1,5 @@
1
- import { Writer } from "../writer.class";
2
- import { Element } from "./element.class";
1
+ import { Writer } from '../writer.class';
2
+ import { Element } from './element.class';
3
3
  export declare abstract class AbstractElement implements Element {
4
4
  private readonly _name;
5
5
  private _parent;
@@ -36,4 +36,4 @@ class AbstractElement {
36
36
  }
37
37
  }
38
38
  exports.AbstractElement = AbstractElement;
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3RFbGVtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9hc3QvYWJzdHJhY3RFbGVtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBR0EsTUFBc0IsZUFBZTtJQUlqQyxZQUE2QixLQUFZO1FBQVosVUFBSyxHQUFMLEtBQUssQ0FBTztJQUN6QyxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxTQUFTLENBQUMsTUFBZTtRQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxNQUFNO1FBQ0YsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDeEIsQ0FBQztJQUVELFVBQVU7UUFDTixPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFjO1FBQ2pCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNuQyxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdDLElBQUksV0FBVyxHQUFHLENBQUMsRUFBRTtZQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7U0FDM0M7UUFDRCxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELFdBQVc7UUFDUCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDL0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsVUFBVTtRQUNOLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3RSxDQUFDO0NBSUo7QUEvQ0QsMENBK0NDIn0=
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3RFbGVtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9hc3QvYWJzdHJhY3RFbGVtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBR0EsTUFBc0IsZUFBZTtJQUluQyxZQUE2QixLQUFhO1FBQWIsVUFBSyxHQUFMLEtBQUssQ0FBUTtJQUMxQyxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxTQUFTLENBQUMsTUFBZTtRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxNQUFNO1FBQ0osT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdEIsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFlO1FBQ3BCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNuQyxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdDLElBQUksV0FBVyxHQUFHLENBQUMsRUFBRTtZQUNuQixNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7U0FDekM7UUFDRCxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELFdBQVc7UUFDVCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDL0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzRSxDQUFDO0NBSUY7QUEvQ0QsMENBK0NDIn0=
@@ -1,17 +1,18 @@
1
- import { Writer } from "../writer.class";
2
- import { ClassDef } from "./classDef.class";
3
- import { InterfaceDef } from "./interfaceDef.class";
4
- import { ObjectDef } from "./objectDef.class";
5
- import { Arguments } from "../arguments.class";
6
- import { Element } from "./element.class";
7
- import { Constructor } from "../constructor.class";
1
+ import { Arguments } from '../arguments.class';
2
+ import { Constructor } from '../constructor.class';
3
+ import { Writer } from '../writer.class';
4
+ import { ClassDef } from './classDef.class';
5
+ import { Element } from './element.class';
6
+ import { InterfaceDef } from './interfaceDef.class';
7
+ import { ObjectDef } from './objectDef.class';
8
8
  export interface ContainerElement extends Element {
9
9
  nestedContainer(name: string, configure: (context: ContainerElement) => void): void;
10
+ createStatement(statement: string): void;
10
11
  defineInterface(name: string, configure?: (def: InterfaceDef) => void): InterfaceDef;
11
12
  defineClass(name: string, args: Arguments, configure?: (def: ClassDef) => void): ClassDef;
12
13
  createObject(name: string, configure?: (def: ObjectDef) => void): ObjectDef;
13
- createFunction(name: string, args: Arguments, returnType: string, configure: (def: Writer) => void): any;
14
- defineType(name: string, value: string): any;
15
- forEach<T extends Element>(type: Constructor<T>, callback: (item: T) => void): any;
14
+ createFunction(name: string, args: Arguments, returnType: string, configure: (def: Writer) => void): void;
15
+ defineType(name: string, value: string): void;
16
+ forEach<T extends Element>(type: Constructor<T>, callback: (item: T) => void): void;
16
17
  allOfType<T extends Element>(type: Constructor<T>): T[];
17
18
  }
@@ -0,0 +1,8 @@
1
+ import { Writer } from '../writer.class';
2
+ import { ObjectDef } from './objectDef.class';
3
+ export declare class JsonModule extends ObjectDef {
4
+ private rootObject;
5
+ constructor();
6
+ defineObject(callback: (def: ObjectDef) => void): void;
7
+ writeBody(writer: Writer): void;
8
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const objectDef_class_1 = require("./objectDef.class");
4
+ class JsonModule extends objectDef_class_1.ObjectDef {
5
+ constructor() {
6
+ super('');
7
+ }
8
+ defineObject(callback) {
9
+ this.rootObject = new JsonModule();
10
+ callback(this.rootObject);
11
+ }
12
+ writeBody(writer) {
13
+ writer.println(`{`);
14
+ writer.indent(w => {
15
+ super.writeBody(w);
16
+ });
17
+ writer.println(`}`);
18
+ }
19
+ }
20
+ exports.JsonModule = JsonModule;
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbk1vZHVsZS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvYXN0L2pzb25Nb2R1bGUuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSx1REFBOEM7QUFFOUMsTUFBYSxVQUFXLFNBQVEsMkJBQVM7SUFHdkM7UUFDRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDWixDQUFDO0lBRUQsWUFBWSxDQUFDLFFBQWtDO1FBQzdDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNuQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxTQUFTLENBQUMsTUFBYztRQUN0QixNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDaEIsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEIsQ0FBQztDQUNGO0FBbkJELGdDQW1CQyJ9
@@ -9,6 +9,7 @@ import { TypeDef } from './typeDef.class';
9
9
  export declare class NamespaceDef extends AbstractContainerElement implements ContainerElement {
10
10
  constructor(name: string);
11
11
  nestedContainer(name: string, configure: (def: ContainerElement) => void): ContainerElement;
12
+ createStatement(statement: string): void;
12
13
  defineInterface(name: string, configure?: (def: InterfaceDef) => void): InterfaceDef;
13
14
  defineType(name: string, value: string): TypeDef;
14
15
  defineClass(name: string, args: Arguments, configure?: (def: ClassDef) => void): ClassDef;
@@ -5,6 +5,7 @@ const classDef_class_1 = require("./classDef.class");
5
5
  const functionDef_class_1 = require("./functionDef.class");
6
6
  const interfaceDef_class_1 = require("./interfaceDef.class");
7
7
  const objectDef_class_1 = require("./objectDef.class");
8
+ const statementDef_class_1 = require("./statementDef.class");
8
9
  const typeDef_class_1 = require("./typeDef.class");
9
10
  class NamespaceDef extends abstractContainerElement_1.AbstractContainerElement {
10
11
  constructor(name) {
@@ -13,6 +14,9 @@ class NamespaceDef extends abstractContainerElement_1.AbstractContainerElement {
13
14
  nestedContainer(name, configure) {
14
15
  return this.addElement(new NamespaceDef(name), configure);
15
16
  }
17
+ createStatement(statement) {
18
+ this.addElement(new statementDef_class_1.StatementDef(statement));
19
+ }
16
20
  defineInterface(name, configure) {
17
21
  return this.addElement(new interfaceDef_class_1.InterfaceDef(name), configure);
18
22
  }
@@ -29,6 +33,9 @@ class NamespaceDef extends abstractContainerElement_1.AbstractContainerElement {
29
33
  this.addElement(new functionDef_class_1.FunctionDef(name, args, returnType, bodyContent));
30
34
  }
31
35
  writeBody(writer) {
36
+ this.forEach(statementDef_class_1.StatementDef, def => {
37
+ def.writeBody(writer);
38
+ });
32
39
  this.forEach(typeDef_class_1.TypeDef, def => {
33
40
  writer.println(`export type ${def.name} = ${def.value};`);
34
41
  });
@@ -60,4 +67,4 @@ class NamespaceDef extends abstractContainerElement_1.AbstractContainerElement {
60
67
  }
61
68
  }
62
69
  exports.NamespaceDef = NamespaceDef;
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZXNwYWNlRGVmLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9hc3QvbmFtZXNwYWNlRGVmLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEseUVBQXNFO0FBQ3RFLHFEQUE0QztBQUU1QywyREFBa0Q7QUFDbEQsNkRBQW9EO0FBQ3BELHVEQUE4QztBQUM5QyxtREFBMEM7QUFFMUMsTUFBYSxZQUFhLFNBQVEsbURBQXdCO0lBRXhELFlBQVksSUFBWTtRQUN0QixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDZCxDQUFDO0lBRUQsZUFBZSxDQUFDLElBQVksRUFBRSxTQUEwQztRQUN0RSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFZLEVBQUUsU0FBdUM7UUFDbkUsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksaUNBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVksRUFBRSxLQUFhO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLHVCQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFZLEVBQUUsSUFBZSxFQUFFLFNBQW1DO1FBQzVFLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLHlCQUFRLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxZQUFZLENBQUMsSUFBWSxFQUFFLFNBQW9DO1FBQzdELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLDJCQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxD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
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZXNwYWNlRGVmLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9hc3QvbmFtZXNwYWNlRGVmLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEseUVBQXNFO0FBQ3RFLHFEQUE0QztBQUU1QywyREFBa0Q7QUFDbEQsNkRBQW9EO0FBQ3BELHVEQUE4QztBQUM5Qyw2REFBb0Q7QUFDcEQsbURBQTBDO0FBRzFDLE1BQWEsWUFBYSxTQUFRLG1EQUF3QjtJQUV4RCxZQUFZLElBQVk7UUFDdEIsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2QsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFZLEVBQUUsU0FBMEM7UUFDdEUsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxlQUFlLENBQUMsU0FBaUI7UUFDL0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLGlDQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsZUFBZSxDQUFDLElBQVksRUFBRSxTQUF1QztRQUNuRSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxpQ0FBWSxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxVQUFVLENBQUMsSUFBWSxFQUFFLEtBQWE7UUFDcEMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksdUJBQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsV0FBVyxDQUFDLElBQVksRUFBRSxJQUFlLEVBQUUsU0FBbUM7UUFDNUUsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUkseUJBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFD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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;
@@ -8,10 +8,11 @@ var __importStar = (this && this.__importStar) || function (mod) {
8
8
  };
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  const _ = __importStar(require("lodash"));
11
+ const stringUtil_1 = require("../stringUtil");
11
12
  const abstractContainerElement_1 = require("./abstractContainerElement");
12
- const namespaceDef_class_1 = require("./namespaceDef.class");
13
13
  const functionDef_class_1 = require("./functionDef.class");
14
- const stringUtil_1 = require("../stringUtil");
14
+ const namespaceDef_class_1 = require("./namespaceDef.class");
15
+ const statementDef_class_1 = require("./statementDef.class");
15
16
  class ObjectDef extends abstractContainerElement_1.AbstractContainerElement {
16
17
  constructor(name) {
17
18
  super(name);
@@ -24,6 +25,9 @@ class ObjectDef extends abstractContainerElement_1.AbstractContainerElement {
24
25
  typeName() {
25
26
  return this._typeName;
26
27
  }
28
+ createStatement(statement) {
29
+ this.addElement(new statementDef_class_1.StatementDef(statement));
30
+ }
27
31
  nestedContainer(name, configure) {
28
32
  this.addElement(new ObjectDef(name), configure);
29
33
  }
@@ -53,17 +57,17 @@ class ObjectDef extends abstractContainerElement_1.AbstractContainerElement {
53
57
  return this.typeName() ? ` as ${this.typeName()}` : '';
54
58
  }
55
59
  writeBody(writer) {
56
- this.forEach(functionDef_class_1.FunctionDef, def => {
60
+ this.forEach(functionDef_class_1.FunctionDef, (def, last) => {
57
61
  writer.println(`${def.name}(${def.args.asParameterDeclaration()}):${def.returnType} {`);
58
62
  writer.indent(writer => def.writeBody(writer));
59
- writer.println(`},`);
63
+ writer.println(`}${last ? '' : ','}`);
60
64
  });
61
- this.forEach(ObjectDef, def => {
65
+ this.forEach(ObjectDef, (def, last) => {
62
66
  writer.println(`${def.name}: {`);
63
67
  writer.indent(writer => def.writeBody(writer));
64
- writer.println(`}${def.asTypeDecl()},`);
68
+ writer.println(`}${def.asTypeDecl()}${last ? '' : ','}`);
65
69
  });
66
70
  }
67
71
  }
68
72
  exports.ObjectDef = ObjectDef;
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0RGVmLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9hc3Qvb2JqZWN0RGVmLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLDBDQUE0QjtBQUk1Qix5RUFBb0U7QUFJcEUsNkRBQWtEO0FBQ2xELDJEQUFnRDtBQUNoRCw4Q0FBeUM7QUFHekMsTUFBYSxTQUFVLFNBQVEsbURBQXdCO0lBSW5ELFlBQVksSUFBVztRQUNuQixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFIUixjQUFTLEdBQVUsSUFBSSxDQUFDO0lBSWhDLENBQUM7SUFFRCxNQUFNLENBQUMsUUFBZTtRQUNsQixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUMxQixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsUUFBUTtRQUNKLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRUQsZUFBZSxDQUFDLElBQVksRUFBRSxTQUE4QztRQUN4RSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFBO0lBQ25ELENBQUM7SUFFRCxlQUFlLENBQUMsSUFBWSxFQUFFLFNBQXNDO1FBQ2hFLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDakYsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFZLEVBQUUsSUFBZSxFQUFFLFNBQWtDO1FBQ3pFLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFFRCxVQUFVLENBQUMsSUFBWSxFQUFFLEtB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
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0RGVmLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9hc3Qvb2JqZWN0RGVmLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLDBDQUE0QjtBQUU1Qiw4Q0FBMkM7QUFHM0MseUVBQXNFO0FBR3RFLDJEQUFrRDtBQUVsRCw2REFBb0Q7QUFDcEQsNkRBQW9EO0FBR3BELE1BQWEsU0FBVSxTQUFRLG1EQUF3QjtJQUlyRCxZQUFZLElBQVk7UUFDdEIsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBSE4sY0FBUyxHQUFXLElBQUksQ0FBQztJQUlqQyxDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQWdCO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1FBQzFCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELGVBQWUsQ0FBQyxTQUFpQjtRQUMvQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksaUNBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxlQUFlLENBQUMsSUFBWSxFQUFFLFNBQThDO1FBQzFFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFZLEVBQUUsU0FBc0M7UUFDbEUsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQsV0FBVyxDQUFDLElBQVksRUFBRSxJQUFlLEVBQUUsU0FBa0M7UUFDM0UsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxX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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,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const abstractElement_1 = require("./abstractElement");
4
+ class StatementDef extends abstractElement_1.AbstractElement {
5
+ constructor(line) {
6
+ super('');
7
+ this.line = line;
8
+ }
9
+ writeBody(writer) {
10
+ writer.println(`${this.line}${this.line.endsWith(';') ? '' : ';'}`);
11
+ }
12
+ }
13
+ exports.StatementDef = StatementDef;
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGVtZW50RGVmLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9hc3Qvc3RhdGVtZW50RGVmLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsdURBQW9EO0FBRXBELE1BQWEsWUFBYSxTQUFRLGlDQUFlO0lBQy9DLFlBQW9CLElBQVk7UUFDOUIsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRFEsU0FBSSxHQUFKLElBQUksQ0FBUTtJQUVoQyxDQUFDO0lBRUQsU0FBUyxDQUFDLE1BQWM7UUFDdEIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUN0RSxDQUFDO0NBQ0Y7QUFSRCxvQ0FRQyJ9
@@ -15,26 +15,35 @@ const commander_1 = __importDefault(require("commander"));
15
15
  const fs = __importStar(require("fs"));
16
16
  const glob_1 = __importDefault(require("glob"));
17
17
  const i18nGenerator_1 = require("../i18nGenerator");
18
- let directory;
19
- let outputFile;
18
+ let srcDir;
19
+ let outDir;
20
20
  commander_1.default
21
21
  .version('0.1.0')
22
22
  .arguments('<src> <out>')
23
23
  .action(function (src, out) {
24
- directory = src;
25
- outputFile = out;
24
+ srcDir = src;
25
+ outDir = out;
26
26
  })
27
27
  .parse(process.argv);
28
- if (typeof directory === 'undefined') {
28
+ if (typeof srcDir === 'undefined') {
29
29
  console.error('src directory not specified!');
30
30
  process.exit(1);
31
31
  }
32
- if (typeof outputFile === 'undefined') {
33
- console.error('no output file specified!');
32
+ if (typeof outDir === 'undefined') {
33
+ console.error('no output directory specified!');
34
34
  process.exit(1);
35
35
  }
36
+ if (!fs.existsSync(outDir)) {
37
+ fs.mkdirSync(outDir);
38
+ }
39
+ let localeDir = `${outDir}/locales`;
40
+ if (!fs.existsSync(localeDir)) {
41
+ fs.mkdirSync(localeDir);
42
+ }
36
43
  const gen = new i18nGenerator_1.I18nGenerator();
37
- const configFile = `${directory}/config.json`;
44
+ const configFile = `${srcDir}/config.json`;
45
+ const apiFile = `${outDir}/i18n.ts`;
46
+ const defaultBundleFile = `${outDir}/locales/en.json`;
38
47
  if (fs.existsSync(configFile)) {
39
48
  const config = JSON.parse(fs.readFileSync(configFile, 'utf8'));
40
49
  const imports = config['customTypeImports'];
@@ -43,7 +52,7 @@ if (fs.existsSync(configFile)) {
43
52
  gen.registerType(key, imports[key]);
44
53
  }
45
54
  }
46
- const pattern = `${directory}/**/*.yml`;
55
+ const pattern = `${srcDir}/**/*.yml`;
47
56
  console.log(`Scanning -> ${pattern}`);
48
57
  glob_1.default(pattern, {}, function (error, files) {
49
58
  // files is an array of filenames.
@@ -59,15 +68,10 @@ glob_1.default(pattern, {}, function (error, files) {
59
68
  }
60
69
  else {
61
70
  files.forEach(f => {
62
- // console.log(`parsing->${f}`);
63
71
  gen.readFile(f);
64
72
  });
65
- fs.writeFileSync(outputFile, gen.toString());
66
- // exec(`format-message extract ${outputFile}`,
67
- // function(err, stdout, stderr) {
68
- // if (err) throw err;
69
- // else console.log(stdout);
70
- // })
73
+ fs.writeFileSync(apiFile, gen.getApiContent());
74
+ fs.writeFileSync(defaultBundleFile, gen.getDefaultBundleContent());
71
75
  }
72
76
  });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9iaW4vY2xpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFDQSwwREFBZ0M7QUFDaEMsdUNBQXlCO0FBQ3pCLGdEQUF3QjtBQUV4QixvREFBK0M7QUFFL0MsSUFBSSxTQUFTLENBQUM7QUFDZCxJQUFJLFVBQVUsQ0FBQztBQUVmLG1CQUFPO0tBQ0osT0FBTyxDQUFDLE9BQU8sQ0FBQztLQUNoQixTQUFTLENBQUMsYUFBYSxDQUFDO0tBQ3hCLE1BQU0sQ0FBQyxVQUFVLEdBQUcsRUFBRSxHQUFHO0lBQ3hCLFNBQVMsR0FBRyxHQUFHLENBQUM7SUFDaEIsVUFBVSxHQUFHLEdBQUcsQ0FBQztBQUNuQixDQUFDLENBQUM7S0FDRCxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBRXZCLElBQUksT0FBTyxTQUFTLEtBQUssV0FBVyxFQUFFO0lBQ3BDLE9BQU8sQ0FBQyxLQUFLLENBQUMsOEJBQThCLENBQUMsQ0FBQztJQUM5QyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0NBQ2pCO0FBRUQsSUFBSSxPQUFPLFVBQVUsS0FBSyxXQUFXLEVBQUU7SUFDckMsT0FBTyxDQUFDLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBQzNDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7Q0FDakI7QUFFRCxNQUFNLEdBQUcsR0FBRyxJQUFJLDZCQUFhLEVBQUUsQ0FBQztBQUVoQyxNQUFNLFVBQVUsR0FBRyxHQUFHLFNBQVMsY0FBYyxDQUFDO0FBQzlDLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRTtJQUM3QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDL0QsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDNUMsS0FBSyxJQUFJLEdBQUcsSUFBSSxPQUFPLEVBQUU7UUFDdkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsR0FBRyxRQUFRLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDOUQsR0FBRyxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7S0FDckM7Q0FDRjtBQUVELE1BQU0sT0FBTyxHQUFHLEdBQUcsU0FBUyxXQUFXLENBQUM7QUFDeEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLE9BQU8sRUFBRSxDQUFDLENBQUM7QUFDdEMsY0FBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsVUFBVSxLQUFLLEVBQUUsS0FBSztJQUN0QyxrQ0FBa0M7SUFDbEMsNkNBQTZDO0lBQzdDLHVDQUF1QztJQUN2QyxpQ0FBaUM7SUFDakMsSUFBSSxLQUFLLEVBQUU7UUFDVCxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDakI7SUFDRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1FBQ3BCLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtLQUMvQjtTQUFNO1FBQ0wsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNoQixnQ0FBZ0M7WUFDaEMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FBQztRQUNILEVBQUUsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLCtDQUErQztRQUMvQyxvQ0FBb0M7UUFDcEMsMEJBQTBCO1FBQzFCLGdDQUFnQztRQUNoQyxPQUFPO0tBQ1I7QUFDSCxDQUFDLENBQUMsQ0FBQyJ9
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9iaW4vY2xpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFDQSwwREFBZ0M7QUFDaEMsdUNBQXlCO0FBQ3pCLGdEQUF3QjtBQUV4QixvREFBK0M7QUFFL0MsSUFBSSxNQUFNLENBQUM7QUFDWCxJQUFJLE1BQU0sQ0FBQztBQUVYLG1CQUFPO0tBQ0osT0FBTyxDQUFDLE9BQU8sQ0FBQztLQUNoQixTQUFTLENBQUMsYUFBYSxDQUFDO0tBQ3hCLE1BQU0sQ0FBQyxVQUFVLEdBQUcsRUFBRSxHQUFHO0lBQ3hCLE1BQU0sR0FBRyxHQUFHLENBQUM7SUFDYixNQUFNLEdBQUcsR0FBRyxDQUFDO0FBQ2YsQ0FBQyxDQUFDO0tBQ0QsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUV2QixJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsRUFBRTtJQUNqQyxPQUFPLENBQUMsS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7SUFDOUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztDQUNqQjtBQUVELElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxFQUFFO0lBQ2pDLE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztJQUNoRCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0NBQ2pCO0FBRUQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUU7SUFDMUIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztDQUN0QjtBQUNELElBQUksU0FBUyxHQUFHLEdBQUcsTUFBTSxVQUFVLENBQUM7QUFDcEMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUU7SUFDN0IsRUFBRSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztDQUN6QjtBQUdELE1BQU0sR0FBRyxHQUFHLElBQUksNkJBQWEsRUFBRSxDQUFDO0FBRWhDLE1BQU0sVUFBVSxHQUFHLEdBQUcsTUFBTSxjQUFjLENBQUM7QUFDM0MsTUFBTSxPQUFPLEdBQUcsR0FBRyxNQUFNLFVBQVUsQ0FBQztBQUNwQyxNQUFNLGlCQUFpQixHQUFHLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQztBQUV0RCxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUU7SUFDN0IsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQy9ELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQzVDLEtBQUssSUFBSSxHQUFHLElBQUksT0FBTyxFQUFFO1FBQ3ZCLE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLEdBQUcsUUFBUSxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzlELEdBQUcsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0tBQ3JDO0NBQ0Y7QUFHRCxNQUFNLE9BQU8sR0FBRyxHQUFHLE1BQU0sV0FBVyxDQUFDO0FBQ3JDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0FBQ3RDLGNBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLFVBQVUsS0FBSyxFQUFFLEtBQUs7SUFDdEMsa0NBQWtDO0lBQ2xDLDZDQUE2QztJQUM3Qyx1Q0FBdUM7SUFDdkMsaUNBQWlDO0lBQ2pDLElBQUksS0FBSyxFQUFFO1FBQ1QsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ2pCO0lBQ0QsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUNwQixPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUE7S0FDL0I7U0FBTTtRQUNMLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDaEIsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FBQztRQUNILEVBQUUsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQy9DLEVBQUUsQ0FBQyxhQUFhLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxDQUFDLHVCQUF1QixFQUFFLENBQUMsQ0FBQztLQUNwRTtBQUNILENBQUMsQ0FBQyxDQUFDIn0=
@@ -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
  }
@@ -2,24 +2,21 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const customTypeNode_class_1 = require("./customTypeNode.class");
4
4
  const i18nNode_class_1 = require("./i18nNode.class");
5
+ const nodeName_1 = require("./nodeName");
5
6
  class CustomTypeArrayNode extends i18nNode_class_1.I18nNode {
6
- static matches(yamlData) {
7
- return yamlData && yamlData['constructor'] && yamlData['constructor'].name == 'CustomTypeArrayContainer';
7
+ static matches(name, yamlData) {
8
+ return yamlData && name.customTypeName && name.isArray;
8
9
  }
9
- parse(container) {
10
- this.customType = container['customType'];
11
- return super.parse(container['content']);
10
+ parseChild(name, data, defaultNodeType) {
11
+ return super.parseChild(nodeName_1.NodeName.parse(`${name.safeName}(${this.name.customTypeName})`), data, customTypeNode_class_1.CustomTypeNode);
12
12
  }
13
- parseEntry(name, data, defaultNodeType) {
14
- return super.parseEntry(name, { customType: this.customType, content: data }, customTypeNode_class_1.CustomTypeNode);
15
- }
16
- compile(parent) {
13
+ generateApi(parent) {
17
14
  parent.nestedContainer(this.namespaceName, namespace => {
18
15
  this.eachChild(child => {
19
- child.compile(namespace);
16
+ child.generateApi(namespace);
20
17
  });
21
18
  });
22
19
  }
23
20
  }
24
21
  exports.CustomTypeArrayNode = CustomTypeArrayNode;
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tVHlwZUFycmF5Tm9kZS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvY3VzdG9tVHlwZUFycmF5Tm9kZS5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBLGlFQUFzRDtBQUV0RCxxREFBMEM7QUFHMUMsTUFBYSxtQkFBb0IsU0FBUSx5QkFBUTtJQUcvQyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQWE7UUFDMUIsT0FBTyxRQUFRLElBQUksUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLElBQUksMEJBQTBCLENBQUE7SUFDMUcsQ0FBQztJQUVELEtBQUssQ0FBQyxTQUFjO1FBQ2xCLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDLFlBQVksQ0FBZSxDQUFDO1FBQ3hELE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRVMsVUFBVSxDQUFxQixJQUFZLEVBQUUsSUFBUyxFQUFFLGVBQStCO1FBQy9GLE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsRUFBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFDLEVBQUUscUNBQWMsQ0FBQyxDQUFDO0lBQzlGLENBQUM7SUFFRCxPQUFPLENBQUMsTUFBd0I7UUFDOUIsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxFQUFFO1lBQ3JELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3JCLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FFRjtBQXhCRCxrREF3QkMifQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tVHlwZUFycmF5Tm9kZS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvY3VzdG9tVHlwZUFycmF5Tm9kZS5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBLGlFQUF3RDtBQUV4RCxxREFBNEM7QUFDNUMseUNBQXNDO0FBRXRDLE1BQWEsbUJBQW9CLFNBQVEseUJBQVE7SUFJL0MsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFjLEVBQUUsUUFBYTtRQUMxQyxPQUFPLFFBQVEsSUFBSSxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDekQsQ0FBQztJQUVTLFVBQVUsQ0FBcUIsSUFBYyxFQUFFLElBQVMsRUFBRSxlQUErQjtRQUNqRyxPQUFPLEtBQUssQ0FBQyxVQUFVLENBQUMsbUJBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUscUNBQWMsQ0FBQyxDQUFDO0lBQ2pILENBQUM7SUFFRCxXQUFXLENBQUMsTUFBd0I7UUFDbEMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxFQUFFO1lBQ3JELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3JCLEtBQUssQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDL0IsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FFRjtBQXBCRCxrREFvQkMifQ==
@@ -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 {};