@coolon/i18n-resource-generator 3.2.3 → 3.3.0

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 (190) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/build/main/lib/arg.js +28 -0
  3. package/build/{module/lib/arguments.class.d.ts → main/lib/arguments.d.ts} +1 -1
  4. package/build/main/lib/arguments.js +66 -0
  5. package/build/main/lib/ast/abstractContainerElement.d.ts +2 -2
  6. package/build/main/lib/ast/abstractElement.d.ts +2 -2
  7. package/build/main/lib/ast/{classDef.class.d.ts → classDef.d.ts} +2 -2
  8. package/build/main/lib/ast/classDef.js +26 -0
  9. package/build/main/lib/ast/{containerElement.class.d.ts → containerElement.d.ts} +7 -7
  10. package/build/main/lib/ast/containerElement.js +3 -0
  11. package/build/{module/lib/ast/element.class.d.ts → main/lib/ast/element.d.ts} +1 -1
  12. package/build/main/lib/ast/element.js +3 -0
  13. package/build/{module/lib/ast/functionDef.class.d.ts → main/lib/ast/functionDef.d.ts} +2 -2
  14. package/build/main/lib/ast/functionDef.js +17 -0
  15. package/build/main/lib/ast/{interfaceDef.class.d.ts → interfaceDef.d.ts} +2 -2
  16. package/build/main/lib/ast/interfaceDef.js +28 -0
  17. package/build/{module/lib/ast/jsonModule.class.d.ts → main/lib/ast/jsonModule.d.ts} +2 -2
  18. package/build/main/lib/ast/jsonModule.js +22 -0
  19. package/build/{module/lib/ast/moduleDef.class.d.ts → main/lib/ast/moduleDef.d.ts} +2 -2
  20. package/build/main/lib/ast/moduleDef.js +43 -0
  21. package/build/main/lib/ast/{namespaceDef.class.d.ts → namespaceDef.d.ts} +7 -7
  22. package/build/main/lib/ast/namespaceDef.js +71 -0
  23. package/build/main/lib/ast/{objectDef.class.d.ts → objectDef.d.ts} +7 -7
  24. package/build/main/lib/ast/objectDef.js +86 -0
  25. package/build/{module/lib/ast/statementDef.class.d.ts → main/lib/ast/statementDef.d.ts} +1 -1
  26. package/build/main/lib/ast/statementDef.js +15 -0
  27. package/build/main/lib/ast/{tempContainer.class.d.ts → tempContainer.d.ts} +1 -1
  28. package/build/main/lib/ast/tempContainer.js +13 -0
  29. package/build/main/lib/ast/{typeDef.class.d.ts → typeDef.d.ts} +1 -1
  30. package/build/main/lib/ast/{typeDef.class.js → typeDef.js} +1 -1
  31. package/build/main/lib/booleanNode.d.ts +13 -0
  32. package/build/main/lib/booleanNode.js +55 -0
  33. package/build/main/lib/constructor.js +3 -0
  34. package/build/main/lib/customTextArrayNode.d.ts +2 -2
  35. package/build/main/lib/customTextArrayNode.js +6 -6
  36. package/build/main/lib/customTextNode.d.ts +2 -2
  37. package/build/main/lib/customTextNode.js +6 -6
  38. package/build/main/lib/{customTypeArrayNode.class.d.ts → customTypeArrayNode.d.ts} +3 -3
  39. package/build/main/lib/customTypeArrayNode.js +23 -0
  40. package/build/main/lib/{customTypeNode.class.d.ts → customTypeNode.d.ts} +2 -2
  41. package/build/main/lib/customTypeNode.js +50 -0
  42. package/build/main/lib/emptyTextNode.d.ts +10 -0
  43. package/build/main/lib/emptyTextNode.js +46 -0
  44. package/build/main/lib/enumEntryNode.d.ts +5 -3
  45. package/build/main/lib/enumEntryNode.js +28 -8
  46. package/build/main/lib/{enumNode.class.d.ts → enumNode.d.ts} +3 -3
  47. package/build/main/lib/enumNode.js +124 -0
  48. package/build/main/lib/i18nGenerator.d.ts +1 -1
  49. package/build/main/lib/i18nGenerator.js +16 -16
  50. package/build/main/lib/{i18nNode.class.d.ts → i18nNode.d.ts} +5 -5
  51. package/build/main/lib/i18nNode.js +188 -0
  52. package/build/main/lib/index.d.ts +30 -26
  53. package/build/main/lib/index.js +31 -29
  54. package/build/main/lib/leafNode.d.ts +4 -0
  55. package/build/main/lib/leafNode.js +8 -0
  56. package/build/{module/lib/namespaceNode.class.d.ts → main/lib/namespaceNode.d.ts} +2 -2
  57. package/build/main/lib/namespaceNode.js +17 -0
  58. package/build/main/lib/nullNode.d.ts +10 -0
  59. package/build/main/lib/nullNode.js +43 -0
  60. package/build/main/lib/{rootNode.class.d.ts → rootNode..d.ts} +2 -2
  61. package/build/main/lib/rootNode..js +89 -0
  62. package/build/main/lib/{textArrayNode.class.d.ts → textArrayNode.d.ts} +3 -3
  63. package/build/main/lib/{textArrayNode.class.js → textArrayNode.js} +5 -5
  64. package/build/main/lib/{textNode.class.d.ts → textNode.d.ts} +6 -5
  65. package/build/main/lib/textNode.js +158 -0
  66. package/build/main/lib/{valueNode.class.d.ts → valueNode.d.ts} +2 -2
  67. package/build/main/lib/valueNode.js +60 -0
  68. package/build/main/lib/writer.js +30 -0
  69. package/build/module/lib/arg.js +24 -0
  70. package/build/{main/lib/arguments.class.d.ts → module/lib/arguments.d.ts} +1 -1
  71. package/build/module/lib/arguments.js +62 -0
  72. package/build/module/lib/ast/abstractContainerElement.d.ts +2 -2
  73. package/build/module/lib/ast/abstractElement.d.ts +2 -2
  74. package/build/module/lib/ast/{classDef.class.d.ts → classDef.d.ts} +2 -2
  75. package/build/module/lib/ast/classDef.js +22 -0
  76. package/build/module/lib/ast/{containerElement.class.d.ts → containerElement.d.ts} +7 -7
  77. package/build/module/lib/ast/containerElement.js +2 -0
  78. package/build/{main/lib/ast/element.class.d.ts → module/lib/ast/element.d.ts} +1 -1
  79. package/build/module/lib/ast/element.js +2 -0
  80. package/build/{main/lib/ast/functionDef.class.d.ts → module/lib/ast/functionDef.d.ts} +2 -2
  81. package/build/module/lib/ast/functionDef.js +13 -0
  82. package/build/module/lib/ast/{interfaceDef.class.d.ts → interfaceDef.d.ts} +2 -2
  83. package/build/module/lib/ast/interfaceDef.js +24 -0
  84. package/build/{main/lib/ast/jsonModule.class.d.ts → module/lib/ast/jsonModule.d.ts} +2 -2
  85. package/build/module/lib/ast/jsonModule.js +18 -0
  86. package/build/{main/lib/ast/moduleDef.class.d.ts → module/lib/ast/moduleDef.d.ts} +2 -2
  87. package/build/module/lib/ast/moduleDef.js +39 -0
  88. package/build/module/lib/ast/{namespaceDef.class.d.ts → namespaceDef.d.ts} +7 -7
  89. package/build/module/lib/ast/namespaceDef.js +67 -0
  90. package/build/module/lib/ast/{objectDef.class.d.ts → objectDef.d.ts} +7 -7
  91. package/build/module/lib/ast/objectDef.js +63 -0
  92. package/build/{main/lib/ast/statementDef.class.d.ts → module/lib/ast/statementDef.d.ts} +1 -1
  93. package/build/module/lib/ast/statementDef.js +11 -0
  94. package/build/module/lib/ast/{tempContainer.class.d.ts → tempContainer.d.ts} +1 -1
  95. package/build/module/lib/ast/tempContainer.js +9 -0
  96. package/build/module/lib/ast/{typeDef.class.d.ts → typeDef.d.ts} +1 -1
  97. package/build/module/lib/ast/typeDef.js +11 -0
  98. package/build/module/lib/booleanNode.d.ts +13 -0
  99. package/build/module/lib/booleanNode.js +32 -0
  100. package/build/module/lib/constructor.js +2 -0
  101. package/build/module/lib/customTextArrayNode.d.ts +2 -2
  102. package/build/module/lib/customTextArrayNode.js +3 -3
  103. package/build/module/lib/customTextNode.d.ts +2 -2
  104. package/build/module/lib/customTextNode.js +3 -3
  105. package/build/module/lib/{customTypeArrayNode.class.d.ts → customTypeArrayNode.d.ts} +3 -3
  106. package/build/module/lib/customTypeArrayNode.js +19 -0
  107. package/build/module/lib/{customTypeNode.class.d.ts → customTypeNode.d.ts} +2 -2
  108. package/build/module/lib/customTypeNode.js +46 -0
  109. package/build/module/lib/emptyTextNode.d.ts +10 -0
  110. package/build/module/lib/emptyTextNode.js +23 -0
  111. package/build/module/lib/enumEntryNode.d.ts +5 -3
  112. package/build/module/lib/enumEntryNode.js +26 -6
  113. package/build/module/lib/{enumNode.class.d.ts → enumNode.d.ts} +3 -3
  114. package/build/module/lib/enumNode.js +101 -0
  115. package/build/module/lib/i18nGenerator.d.ts +1 -1
  116. package/build/module/lib/i18nGenerator.js +11 -11
  117. package/build/module/lib/{i18nNode.class.d.ts → i18nNode.d.ts} +5 -5
  118. package/build/module/lib/i18nNode.js +162 -0
  119. package/build/module/lib/index.d.ts +30 -26
  120. package/build/module/lib/index.js +31 -27
  121. package/build/module/lib/leafNode.d.ts +4 -0
  122. package/build/module/lib/leafNode.js +4 -0
  123. package/build/{main/lib/namespaceNode.class.d.ts → module/lib/namespaceNode.d.ts} +2 -2
  124. package/build/module/lib/namespaceNode.js +13 -0
  125. package/build/module/lib/nullNode.d.ts +10 -0
  126. package/build/module/lib/nullNode.js +20 -0
  127. package/build/module/lib/{rootNode.class.d.ts → rootNode..d.ts} +2 -2
  128. package/build/module/lib/rootNode..js +85 -0
  129. package/build/module/lib/{textArrayNode.class.d.ts → textArrayNode.d.ts} +3 -3
  130. package/build/module/lib/textArrayNode.js +26 -0
  131. package/build/module/lib/{textNode.class.d.ts → textNode.d.ts} +6 -5
  132. package/build/module/lib/textNode.js +132 -0
  133. package/build/module/lib/{valueNode.class.d.ts → valueNode.d.ts} +2 -2
  134. package/build/module/lib/valueNode.js +37 -0
  135. package/build/module/lib/writer.js +26 -0
  136. package/package.json +3 -2
  137. package/build/main/lib/arg.class.js +0 -28
  138. package/build/main/lib/arguments.class.js +0 -66
  139. package/build/main/lib/ast/classDef.class.js +0 -26
  140. package/build/main/lib/ast/containerElement.class.js +0 -3
  141. package/build/main/lib/ast/element.class.js +0 -3
  142. package/build/main/lib/ast/functionDef.class.js +0 -17
  143. package/build/main/lib/ast/interfaceDef.class.js +0 -28
  144. package/build/main/lib/ast/jsonModule.class.js +0 -22
  145. package/build/main/lib/ast/moduleDef.class.js +0 -43
  146. package/build/main/lib/ast/namespaceDef.class.js +0 -71
  147. package/build/main/lib/ast/objectDef.class.js +0 -86
  148. package/build/main/lib/ast/statementDef.class.js +0 -15
  149. package/build/main/lib/ast/tempContainer.class.js +0 -13
  150. package/build/main/lib/constructor.class.js +0 -3
  151. package/build/main/lib/customTypeArrayNode.class.js +0 -23
  152. package/build/main/lib/customTypeNode.class.js +0 -48
  153. package/build/main/lib/enumNode.class.js +0 -117
  154. package/build/main/lib/i18nNode.class.js +0 -188
  155. package/build/main/lib/namespaceNode.class.js +0 -17
  156. package/build/main/lib/rootNode.class.js +0 -89
  157. package/build/main/lib/textNode.class.js +0 -155
  158. package/build/main/lib/valueNode.class.js +0 -60
  159. package/build/main/lib/writer.class.js +0 -30
  160. package/build/module/lib/arg.class.js +0 -24
  161. package/build/module/lib/arguments.class.js +0 -62
  162. package/build/module/lib/ast/classDef.class.js +0 -22
  163. package/build/module/lib/ast/containerElement.class.js +0 -2
  164. package/build/module/lib/ast/element.class.js +0 -2
  165. package/build/module/lib/ast/functionDef.class.js +0 -13
  166. package/build/module/lib/ast/interfaceDef.class.js +0 -24
  167. package/build/module/lib/ast/jsonModule.class.js +0 -18
  168. package/build/module/lib/ast/moduleDef.class.js +0 -39
  169. package/build/module/lib/ast/namespaceDef.class.js +0 -67
  170. package/build/module/lib/ast/objectDef.class.js +0 -63
  171. package/build/module/lib/ast/statementDef.class.js +0 -11
  172. package/build/module/lib/ast/tempContainer.class.js +0 -9
  173. package/build/module/lib/ast/typeDef.class.js +0 -11
  174. package/build/module/lib/constructor.class.js +0 -2
  175. package/build/module/lib/customTypeArrayNode.class.js +0 -19
  176. package/build/module/lib/customTypeNode.class.js +0 -44
  177. package/build/module/lib/enumNode.class.js +0 -94
  178. package/build/module/lib/i18nNode.class.js +0 -162
  179. package/build/module/lib/namespaceNode.class.js +0 -13
  180. package/build/module/lib/rootNode.class.js +0 -85
  181. package/build/module/lib/textArrayNode.class.js +0 -26
  182. package/build/module/lib/textNode.class.js +0 -129
  183. package/build/module/lib/valueNode.class.js +0 -37
  184. package/build/module/lib/writer.class.js +0 -26
  185. /package/build/main/lib/{arg.class.d.ts → arg.d.ts} +0 -0
  186. /package/build/main/lib/{constructor.class.d.ts → constructor.d.ts} +0 -0
  187. /package/build/main/lib/{writer.class.d.ts → writer.d.ts} +0 -0
  188. /package/build/module/lib/{arg.class.d.ts → arg.d.ts} +0 -0
  189. /package/build/module/lib/{constructor.class.d.ts → constructor.d.ts} +0 -0
  190. /package/build/module/lib/{writer.class.d.ts → writer.d.ts} +0 -0
package/CHANGELOG.md CHANGED
@@ -2,6 +2,26 @@
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="3.3.0"></a>
6
+ # [3.3.0](https://github.com/YOUR_GITHUB_USER_NAME/i18n-resource-generator/compare/v3.2.4...v3.3.0) (2025-02-18)
7
+
8
+
9
+ ### Features
10
+
11
+ * added support for boolean fields in enums, tests not running )c: ([33c2504](https://github.com/YOUR_GITHUB_USER_NAME/i18n-resource-generator/commit/33c2504))
12
+
13
+
14
+
15
+ <a name="3.2.4"></a>
16
+ ## [3.2.4](https://github.com/YOUR_GITHUB_USER_NAME/i18n-resource-generator/compare/v3.2.3...v3.2.4) (2024-08-09)
17
+
18
+
19
+ ### Bug Fixes
20
+
21
+ * fixed support for null leafs in enums ([fb27917](https://github.com/YOUR_GITHUB_USER_NAME/i18n-resource-generator/commit/fb27917))
22
+
23
+
24
+
5
25
  <a name="3.2.3"></a>
6
26
  ## [3.2.3](https://github.com/YOUR_GITHUB_USER_NAME/i18n-resource-generator/compare/v3.2.2...v3.2.3) (2024-08-08)
7
27
 
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Arg = void 0;
4
+ class Arg {
5
+ constructor(name, type) {
6
+ this._argName = name;
7
+ this._argType = type;
8
+ this.formatName = name;
9
+ this._formatValue = this.argName;
10
+ }
11
+ get argName() {
12
+ return this._argName;
13
+ }
14
+ get argType() {
15
+ return this._argType;
16
+ }
17
+ get formatValue() {
18
+ return this._formatValue;
19
+ }
20
+ asBooleanOptionNamed(name) {
21
+ this._argName = name;
22
+ this._argType = 'boolean';
23
+ this._formatValue = `(${this.argName} ? '${name}' : '!${name}')`;
24
+ return this;
25
+ }
26
+ }
27
+ exports.Arg = Arg;
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9hcmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsTUFBYSxHQUFHO0lBT1osWUFBWSxJQUFXLEVBQUUsSUFBVztRQUVoQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUN2QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDckMsQ0FBQztJQUVELElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDWCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDN0IsQ0FBQztJQUVELG9CQUFvQixDQUFDLElBQVc7UUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRSxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUM7UUFDMUIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLElBQUksQ0FBQyxPQUFPLE9BQU8sSUFBSSxTQUFTLElBQUksSUFBSSxDQUFDO1FBQ2pFLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7Q0FDSjtBQWpDRCxrQkFpQ0MifQ==
@@ -1,4 +1,4 @@
1
- import { Arg } from './arg.class';
1
+ import { Arg } from './arg';
2
2
  export declare class Arguments {
3
3
  static createSingle(name: string, type: string): Arguments;
4
4
  static createAll(def: {
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Arguments = void 0;
4
+ const arg_1 = require("./arg");
5
+ class Arguments {
6
+ constructor(args) {
7
+ this.args = args || [];
8
+ }
9
+ static createSingle(name, type) {
10
+ return new Arguments([new arg_1.Arg(name, type)]);
11
+ }
12
+ static createAll(def) {
13
+ const args = new Arguments();
14
+ for (let key in def) {
15
+ args.add(new arg_1.Arg(key, def[key]));
16
+ }
17
+ return args;
18
+ }
19
+ static empty() {
20
+ return emptyArgs;
21
+ }
22
+ add(arg) {
23
+ if (this.canAdd(arg)) {
24
+ this.args.push(arg);
25
+ }
26
+ }
27
+ asParameterDeclaration() {
28
+ return this.args.map(arg => `${arg.argName}:${arg.argType}`).join(', ');
29
+ }
30
+ asConstructorParameters(visibility = 'protected') {
31
+ return this.args.map(arg => `${visibility} ${arg.argName}:${arg.argType}`).join(', ');
32
+ }
33
+ asArgsObject() {
34
+ return `{${this.args.map(arg => `'${arg.formatName}':${arg.formatValue}`).join(', ')}}`;
35
+ }
36
+ asArray() {
37
+ return this.args;
38
+ }
39
+ merge(other) {
40
+ other.args.forEach(arg => this.add(arg));
41
+ }
42
+ any() {
43
+ return this.args.length > 0;
44
+ }
45
+ canAdd(arg) {
46
+ const existing = this.args.find(it => it.argName === arg.argName);
47
+ if (existing && existing.argType !== arg.argType) {
48
+ throw new Error(`arg with the same name and different type exists. Exiting arg is ${existing.argName}:${existing.argType}, other type is ${arg.argName}:${arg.argType}`);
49
+ }
50
+ return !existing;
51
+ }
52
+ contains(argName) {
53
+ return !!this.args.find(arg => arg.argName === argName);
54
+ }
55
+ }
56
+ exports.Arguments = Arguments;
57
+ class EmptyArgs extends Arguments {
58
+ constructor() {
59
+ super([]);
60
+ }
61
+ merge(other) {
62
+ throw new Error(`'illegal state, can't call Arguments.empty().merge()`);
63
+ }
64
+ }
65
+ const emptyArgs = new EmptyArgs();
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJndW1lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9hcmd1bWVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0JBQTRCO0FBRTVCLE1BQWEsU0FBUztJQW9CcEIsWUFBWSxJQUFZO1FBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBcEJELE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBWSxFQUFFLElBQVk7UUFDNUMsT0FBTyxJQUFJLFNBQVMsQ0FBQyxDQUFDLElBQUksU0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBOEI7UUFDN0MsTUFBTSxJQUFJLEdBQUcsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUM3QixLQUFLLElBQUksR0FBRyxJQUFJLEdBQUcsRUFBRTtZQUNuQixJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksU0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2xDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUs7UUFDVixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBUUQsR0FBRyxDQUFDLEdBQVE7UUFDVixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDckI7SUFDSCxDQUFDO0lBRUQsc0JBQXNCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxPQUFPLElBQUksR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxhQUFpRCxXQUFXO1FBQ2xGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFVBQVUsSUFBSSxHQUFHLENBQUMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksR0FBRyxDQUFDLFVBQVUsS0FBSyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUMxRixDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQWdCO1FBQ3BCLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxHQUFHO1FBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVPLE1BQU0sQ0FBQyxHQUFRO1FBQ3JCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sS0FBSyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEUsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLE9BQU8sS0FBSyxHQUFHLENBQUMsT0FBTyxFQUFFO1lBQ2hELE1BQU0sSUFBSSxLQUFLLENBQUMsb0VBQW9FLFFBQVEsQ0FBQyxPQUFPLElBQUksUUFBUSxDQUFDLE9BQU8sbUJBQW1CLEdBQUcsQ0FBQyxPQUFPLElBQUksR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7U0FDMUs7UUFDRCxPQUFPLENBQUMsUUFBUSxDQUFDO0lBQ25CLENBQUM7SUFFRCxRQUFRLENBQUMsT0FBWTtRQUNuQixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEtBQUssT0FBTyxDQUFDLENBQUM7SUFDMUQsQ0FBQztDQUNGO0FBakVELDhCQWlFQztBQUVELE1BQU0sU0FBVSxTQUFRLFNBQVM7SUFDL0I7UUFDRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDWixDQUFDO0lBR0QsS0FBSyxDQUFDLEtBQWdCO1FBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsc0RBQXNELENBQUMsQ0FBQztJQUMxRSxDQUFDO0NBQ0Y7QUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFJLFNBQVMsRUFBRSxDQUFDIn0=
@@ -1,6 +1,6 @@
1
- import { Constructor } from '../constructor.class';
1
+ import { Constructor } from '../constructor';
2
2
  import { AbstractElement } from './abstractElement';
3
- import { Element } from './element.class';
3
+ import { Element } from './element';
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;
@@ -1,5 +1,5 @@
1
- import { Writer } from '../writer.class';
2
- import { Element } from './element.class';
1
+ import { Writer } from '../writer';
2
+ import { Element } from './element';
3
3
  export declare abstract class AbstractElement implements Element {
4
4
  private readonly _name;
5
5
  private _parent;
@@ -1,5 +1,5 @@
1
- import { Writer } from "../writer.class";
2
- import { Arguments } from "../arguments.class";
1
+ import { Writer } from "../writer";
2
+ import { Arguments } from "../arguments";
3
3
  import { AbstractContainerElement } from "./abstractContainerElement";
4
4
  export declare class ClassDef extends AbstractContainerElement {
5
5
  readonly args: Arguments;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ClassDef = void 0;
4
+ const abstractContainerElement_1 = require("./abstractContainerElement");
5
+ const functionDef_1 = require("./functionDef");
6
+ class ClassDef extends abstractContainerElement_1.AbstractContainerElement {
7
+ constructor(name, args) {
8
+ super(name);
9
+ this.args = args;
10
+ }
11
+ createFunction(name, args, returnType, bodyContent) {
12
+ this.addElement(new functionDef_1.FunctionDef(name, args, returnType, bodyContent));
13
+ }
14
+ writeBody(writer) {
15
+ if (this.args.any()) {
16
+ writer.println(`constructor(${this.args.asConstructorParameters('protected')}) {}`);
17
+ }
18
+ this.forEach(functionDef_1.FunctionDef, def => {
19
+ writer.println(`${def.name}(${def.args.asParameterDeclaration()}):${def.returnType} {`);
20
+ writer.indent(writer => def.writeBody(writer));
21
+ writer.println('}');
22
+ });
23
+ }
24
+ }
25
+ exports.ClassDef = ClassDef;
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3NEZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2FzdC9jbGFzc0RlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFJQSx5RUFBb0U7QUFDcEUsK0NBQTBDO0FBRTFDLE1BQWEsUUFBUyxTQUFRLG1EQUF3QjtJQUVsRCxZQUFZLElBQVcsRUFBa0IsSUFBYztRQUNuRCxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFEeUIsU0FBSSxHQUFKLElBQUksQ0FBVTtJQUV2RCxDQUFDO0lBRUQsY0FBYyxDQUFDLElBQVksRUFBRSxJQUFlLEVBQUUsVUFBa0IsRUFBRSxXQUFrQztRQUNoRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUkseUJBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFBO0lBQ3pFLENBQUM7SUFFRCxTQUFTLENBQUMsTUFBYztRQUVwQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDakIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxlQUFlLElBQUksQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3ZGO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyx5QkFBVyxFQUFFLEdBQUcsQ0FBQyxFQUFFO1lBQzVCLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsS0FBSyxHQUFHLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQztZQUN4RixNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQy9DLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQUM7SUFFUCxDQUFDO0NBQ0o7QUF2QkQsNEJBdUJDIn0=
@@ -1,10 +1,10 @@
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';
1
+ import { Arguments } from '../arguments';
2
+ import { Constructor } from '../constructor';
3
+ import { Writer } from '../writer';
4
+ import { ClassDef } from './classDef';
5
+ import { Element } from './element';
6
+ import { InterfaceDef } from './interfaceDef';
7
+ import { ObjectDef } from './objectDef';
8
8
  export interface ContainerElement extends Element {
9
9
  nestedContainer(name: string, configure: (context: ContainerElement) => void): void;
10
10
  createStatement(statement: string): void;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyRWxlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvYXN0L2NvbnRhaW5lckVsZW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -1,4 +1,4 @@
1
- import { Writer } from '../writer.class';
1
+ import { Writer } from '../writer';
2
2
  export interface Element {
3
3
  readonly name: string;
4
4
  readonly fqNamespaceName: string;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvYXN0L2VsZW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -1,5 +1,5 @@
1
- import { Arguments } from '../arguments.class';
2
- import { Writer } from '../writer.class';
1
+ import { Arguments } from '../arguments';
2
+ import { Writer } from '../writer';
3
3
  import { AbstractElement } from './abstractElement';
4
4
  export declare class FunctionDef extends AbstractElement {
5
5
  readonly args: Arguments;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FunctionDef = void 0;
4
+ const abstractElement_1 = require("./abstractElement");
5
+ class FunctionDef extends abstractElement_1.AbstractElement {
6
+ constructor(name, args, returnType, bodyWriter) {
7
+ super(name);
8
+ this.args = args;
9
+ this.returnType = returnType;
10
+ this.bodyWriter = bodyWriter;
11
+ }
12
+ writeBody(writer) {
13
+ this.bodyWriter(writer);
14
+ }
15
+ }
16
+ exports.FunctionDef = FunctionDef;
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb25EZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2FzdC9mdW5jdGlvbkRlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSx1REFBb0Q7QUFFcEQsTUFBYSxXQUFZLFNBQVEsaUNBQWU7SUFDOUMsWUFBWSxJQUFZLEVBQ0ksSUFBZSxFQUNmLFVBQWtCLEVBQ2xCLFVBQWlDO1FBQzNELEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUhjLFNBQUksR0FBSixJQUFJLENBQVc7UUFDZixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ2xCLGVBQVUsR0FBVixVQUFVLENBQXVCO0lBRTdELENBQUM7SUFFRCxTQUFTLENBQUMsTUFBYztRQUN0QixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFCLENBQUM7Q0FFRjtBQVpELGtDQVlDIn0=
@@ -1,5 +1,5 @@
1
- import { Writer } from '../writer.class';
2
- import { Arguments } from '../arguments.class';
1
+ import { Writer } from '../writer';
2
+ import { Arguments } from '../arguments';
3
3
  import { AbstractContainerElement } from './abstractContainerElement';
4
4
  export declare class InterfaceDef extends AbstractContainerElement {
5
5
  constructor(name: string);
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InterfaceDef = void 0;
4
+ const functionDef_1 = require("./functionDef");
5
+ const abstractContainerElement_1 = require("./abstractContainerElement");
6
+ const objectDef_1 = require("./objectDef");
7
+ class InterfaceDef extends abstractContainerElement_1.AbstractContainerElement {
8
+ constructor(name) {
9
+ super(name);
10
+ }
11
+ createFunction(name, args, returnType) {
12
+ this.addElement(new functionDef_1.FunctionDef(name, args, returnType, (out) => {
13
+ }));
14
+ }
15
+ createObject(name, type) {
16
+ this.addElement(new objectDef_1.ObjectDef(name).asType(type || 'any'));
17
+ }
18
+ writeBody(writer) {
19
+ this.forEach(functionDef_1.FunctionDef, def => {
20
+ writer.println(`${def.name}(${def.args.asParameterDeclaration()}):${def.returnType};`);
21
+ });
22
+ this.forEach(objectDef_1.ObjectDef, def => {
23
+ writer.println(`${def.name}:${def.typeName()};`);
24
+ });
25
+ }
26
+ }
27
+ exports.InterfaceDef = InterfaceDef;
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlRGVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9hc3QvaW50ZXJmYWNlRGVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLCtDQUE0QztBQUM1Qyx5RUFBc0U7QUFDdEUsMkNBQXdDO0FBRXhDLE1BQWEsWUFBYSxTQUFRLG1EQUF3QjtJQUV4RCxZQUFZLElBQVk7UUFDdEIsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2QsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFZLEVBQUUsSUFBZSxFQUFFLFVBQWtCO1FBQzlELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSx5QkFBVyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUMsR0FBVyxFQUFFLEVBQUU7UUFDeEUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBWSxFQUFFLElBQVk7UUFDckMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLHFCQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxTQUFTLENBQUMsTUFBYztRQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLHlCQUFXLEVBQUUsR0FBRyxDQUFDLEVBQUU7WUFDOUIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxLQUFLLEdBQUcsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ3pGLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBUyxFQUFFLEdBQUcsQ0FBQyxFQUFFO1lBQzVCLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDbkQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUF2QkQsb0NBdUJDIn0=
@@ -1,5 +1,5 @@
1
- import { Writer } from '../writer.class';
2
- import { ObjectDef } from './objectDef.class';
1
+ import { Writer } from '../writer';
2
+ import { ObjectDef } from './objectDef';
3
3
  export declare class JsonModule extends ObjectDef {
4
4
  private rootObject;
5
5
  constructor();
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.JsonModule = void 0;
4
+ const objectDef_1 = require("./objectDef");
5
+ class JsonModule extends objectDef_1.ObjectDef {
6
+ constructor() {
7
+ super('');
8
+ }
9
+ defineObject(callback) {
10
+ this.rootObject = new JsonModule();
11
+ callback(this.rootObject);
12
+ }
13
+ writeBody(writer) {
14
+ writer.println(`{`);
15
+ writer.indent(w => {
16
+ super.writeBody(w);
17
+ });
18
+ writer.println(`}`);
19
+ }
20
+ }
21
+ exports.JsonModule = JsonModule;
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbk1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvYXN0L2pzb25Nb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMkNBQXdDO0FBRXhDLE1BQWEsVUFBVyxTQUFRLHFCQUFTO0lBR3ZDO1FBQ0UsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ1osQ0FBQztJQUVELFlBQVksQ0FBQyxRQUFrQztRQUM3QyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7UUFDbkMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsU0FBUyxDQUFDLE1BQWM7UUFDdEIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwQixNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2hCLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7Q0FDRjtBQW5CRCxnQ0FtQkMifQ==
@@ -1,5 +1,5 @@
1
- import { Writer } from '../writer.class';
2
- import { NamespaceDef } from './namespaceDef.class';
1
+ import { Writer } from '../writer';
2
+ import { NamespaceDef } from './namespaceDef';
3
3
  export declare class Module extends NamespaceDef {
4
4
  constructor();
5
5
  addHeader(line: string): void;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Module = void 0;
4
+ const abstractElement_1 = require("./abstractElement");
5
+ const namespaceDef_1 = require("./namespaceDef");
6
+ class HeaderLine extends abstractElement_1.AbstractElement {
7
+ constructor(line) {
8
+ super('');
9
+ this.line = line;
10
+ }
11
+ writeBody(writer) {
12
+ writer.println(this.line);
13
+ }
14
+ }
15
+ class ImportLine extends abstractElement_1.AbstractElement {
16
+ constructor(line) {
17
+ super('');
18
+ this.line = line;
19
+ }
20
+ writeBody(writer) {
21
+ writer.println(`${this.line};`);
22
+ }
23
+ }
24
+ class Module extends namespaceDef_1.NamespaceDef {
25
+ constructor() {
26
+ super('');
27
+ }
28
+ addHeader(line) {
29
+ this.addElement(new HeaderLine(line));
30
+ }
31
+ addImport(line) {
32
+ this.addElement(new ImportLine(line));
33
+ }
34
+ writeBody(writer) {
35
+ this.forEach(HeaderLine, line => line.writeBody(writer));
36
+ writer.println('');
37
+ this.forEach(ImportLine, line => line.writeBody(writer));
38
+ writer.println('');
39
+ super.writeBody(writer);
40
+ }
41
+ }
42
+ exports.Module = Module;
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlRGVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9hc3QvbW9kdWxlRGVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHVEQUFvRDtBQUNwRCxpREFBOEM7QUFFOUMsTUFBTSxVQUFXLFNBQVEsaUNBQWU7SUFDdEMsWUFBb0IsSUFBWTtRQUM5QixLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFEUSxTQUFJLEdBQUosSUFBSSxDQUFRO0lBRWhDLENBQUM7SUFFRCxTQUFTLENBQUMsTUFBYztRQUN0QixNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDO0NBQ0Y7QUFFRCxNQUFNLFVBQVcsU0FBUSxpQ0FBZTtJQUN0QyxZQUFvQixJQUFZO1FBQzlCLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQURRLFNBQUksR0FBSixJQUFJLENBQVE7SUFFaEMsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUFjO1FBQ3RCLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztJQUNsQyxDQUFDO0NBQ0Y7QUFFRCxNQUFhLE1BQU8sU0FBUSwyQkFBWTtJQUV0QztRQUNFLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNaLENBQUM7SUFFRCxTQUFTLENBQUMsSUFBWTtRQUNwQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFZO1FBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsU0FBUyxDQUFDLE1BQWM7UUFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDekQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUN6RCxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ25CLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUIsQ0FBQztDQUNGO0FBckJELHdCQXFCQyJ9
@@ -1,11 +1,11 @@
1
- import { Arguments } from '../arguments.class';
2
- import { Writer } from '../writer.class';
1
+ import { Arguments } from '../arguments';
2
+ import { Writer } from '../writer';
3
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 { ObjectDef } from './objectDef.class';
8
- import { TypeDef } from './typeDef.class';
4
+ import { ClassDef } from './classDef';
5
+ import { ContainerElement } from './containerElement';
6
+ import { InterfaceDef } from './interfaceDef';
7
+ import { ObjectDef } from './objectDef';
8
+ import { TypeDef } from './typeDef';
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;
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NamespaceDef = void 0;
4
+ const abstractContainerElement_1 = require("./abstractContainerElement");
5
+ const classDef_1 = require("./classDef");
6
+ const functionDef_1 = require("./functionDef");
7
+ const interfaceDef_1 = require("./interfaceDef");
8
+ const objectDef_1 = require("./objectDef");
9
+ const statementDef_1 = require("./statementDef");
10
+ const typeDef_1 = require("./typeDef");
11
+ class NamespaceDef extends abstractContainerElement_1.AbstractContainerElement {
12
+ constructor(name) {
13
+ super(name);
14
+ }
15
+ nestedContainer(name, configure) {
16
+ return this.addElement(new NamespaceDef(name), configure);
17
+ }
18
+ createStatement(statement) {
19
+ this.addElement(new statementDef_1.StatementDef(statement));
20
+ }
21
+ defineInterface(name, configure) {
22
+ return this.addElement(new interfaceDef_1.InterfaceDef(name), configure);
23
+ }
24
+ defineType(name, value) {
25
+ return this.addElement(new typeDef_1.TypeDef(name, value));
26
+ }
27
+ defineClass(name, args, configure) {
28
+ return this.addElement(new classDef_1.ClassDef(name, args), configure);
29
+ }
30
+ createObject(name, configure) {
31
+ return this.addElement(new objectDef_1.ObjectDef(name), configure);
32
+ }
33
+ createFunction(name, args, returnType, bodyContent) {
34
+ this.addElement(new functionDef_1.FunctionDef(name, args, returnType, bodyContent));
35
+ }
36
+ writeBody(writer) {
37
+ this.forEach(statementDef_1.StatementDef, def => {
38
+ def.writeBody(writer);
39
+ });
40
+ this.forEach(typeDef_1.TypeDef, def => {
41
+ writer.println(`export type ${def.name} = ${def.value};`);
42
+ });
43
+ this.forEach(interfaceDef_1.InterfaceDef, def => {
44
+ writer.println(`export interface ${def.name} {`);
45
+ writer.indent(writer => def.writeBody(writer));
46
+ writer.println('}');
47
+ });
48
+ this.forEach(classDef_1.ClassDef, def => {
49
+ writer.println(`export class ${def.name} {`);
50
+ writer.indent(writer => def.writeBody(writer));
51
+ writer.println('}');
52
+ });
53
+ this.forEach(functionDef_1.FunctionDef, def => {
54
+ writer.println(`export function ${def.name}(${def.args.asParameterDeclaration()}):${def.returnType} {`);
55
+ writer.indent(writer => def.writeBody(writer));
56
+ writer.println('}');
57
+ });
58
+ this.forEach(objectDef_1.ObjectDef, def => {
59
+ writer.println(`export const ${def.name} = {`);
60
+ writer.indent(writer => def.writeBody(writer));
61
+ writer.println(`}${def.asTypeDecl()};`);
62
+ });
63
+ this.forEach(NamespaceDef, def => {
64
+ writer.println(`export namespace ${def.name} {`);
65
+ writer.indent(writer => def.writeBody(writer));
66
+ writer.println('}');
67
+ });
68
+ }
69
+ }
70
+ exports.NamespaceDef = NamespaceDef;
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZXNwYWNlRGVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9hc3QvbmFtZXNwYWNlRGVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLHlFQUFzRTtBQUN0RSx5Q0FBc0M7QUFFdEMsK0NBQTRDO0FBQzVDLGlEQUE4QztBQUM5QywyQ0FBd0M7QUFDeEMsaURBQThDO0FBQzlDLHVDQUFvQztBQUdwQyxNQUFhLFlBQWEsU0FBUSxtREFBd0I7SUFFeEQsWUFBWSxJQUFZO1FBQ3RCLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNkLENBQUM7SUFFRCxlQUFlLENBQUMsSUFBWSxFQUFFLFNBQTBDO1FBQ3RFLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsZUFBZSxDQUFDLFNBQWlCO1FBQy9CLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSwyQkFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFZLEVBQUUsU0FBdUM7UUFDbkUsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksMkJBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVksRUFBRSxLQUFhO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLGlCQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFZLEVBQUUsSUFBZSxFQUFFLFNBQW1DO1FBQzVFLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLG1CQUFRLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFF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
@@ -1,11 +1,11 @@
1
- import { Arguments } from '../arguments.class';
2
- import { Writer } from '../writer.class';
1
+ import { Arguments } from '../arguments';
2
+ import { Writer } from '../writer';
3
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';
4
+ import { ClassDef } from './classDef';
5
+ import { ContainerElement } from './containerElement';
6
+ import { InterfaceDef } from './interfaceDef';
7
+ import { NamespaceDef } from './namespaceDef';
8
+ import { TypeDef } from './typeDef';
9
9
  export declare class ObjectDef extends AbstractContainerElement implements ContainerElement {
10
10
  private _typeName;
11
11
  constructor(name: string);
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.ObjectDef = void 0;
23
+ const _ = __importStar(require("lodash"));
24
+ const stringUtil_1 = require("../stringUtil");
25
+ const abstractContainerElement_1 = require("./abstractContainerElement");
26
+ const functionDef_1 = require("./functionDef");
27
+ const namespaceDef_1 = require("./namespaceDef");
28
+ const statementDef_1 = require("./statementDef");
29
+ class ObjectDef extends abstractContainerElement_1.AbstractContainerElement {
30
+ constructor(name) {
31
+ super(name);
32
+ this._typeName = null;
33
+ }
34
+ asType(typeName) {
35
+ this._typeName = typeName;
36
+ return this;
37
+ }
38
+ typeName() {
39
+ return this._typeName;
40
+ }
41
+ createStatement(statement) {
42
+ this.addElement(new statementDef_1.StatementDef(statement));
43
+ }
44
+ nestedContainer(name, configure) {
45
+ this.addElement(new ObjectDef(name), configure);
46
+ }
47
+ defineInterface(name, configure) {
48
+ return this.nearestNamespace().defineInterface(this.fqName(name), configure);
49
+ }
50
+ defineClass(name, args, configure) {
51
+ return this.nearestNamespace().defineClass(this.fqName(name), null, configure);
52
+ }
53
+ defineType(name, value) {
54
+ return this.nearestNamespace().defineType(name, value);
55
+ }
56
+ createObject(name, configure) {
57
+ return this.addElement(new ObjectDef(name), configure);
58
+ }
59
+ createFunction(name, args, returnType, bodyContent) {
60
+ this.addElement(new functionDef_1.FunctionDef(name, args, returnType, bodyContent));
61
+ }
62
+ nearestNamespace() {
63
+ return _.findLast(this.pathToRoot(), element => element instanceof namespaceDef_1.NamespaceDef);
64
+ }
65
+ fqName(rawName) {
66
+ const namespaceDef = this.nearestNamespace();
67
+ return this.pathTo(namespaceDef).slice(1, -1).map(e => stringUtil_1.capitalize(e.name)).join('') + rawName;
68
+ }
69
+ asTypeDecl() {
70
+ return this.typeName() ? ` as ${this.typeName()}` : '';
71
+ }
72
+ writeBody(writer) {
73
+ this.forEach(functionDef_1.FunctionDef, (def, last) => {
74
+ writer.println(`${def.name}(${def.args.asParameterDeclaration()}):${def.returnType} {`);
75
+ writer.indent(writer => def.writeBody(writer));
76
+ writer.println(`}${last ? '' : ','}`);
77
+ });
78
+ this.forEach(ObjectDef, (def, last) => {
79
+ writer.println(`${def.name}: {`);
80
+ writer.indent(writer => def.writeBody(writer));
81
+ writer.println(`}${def.asTypeDecl()}${last ? '' : ','}`);
82
+ });
83
+ }
84
+ }
85
+ exports.ObjectDef = ObjectDef;
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0RGVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9hc3Qvb2JqZWN0RGVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwwQ0FBNEI7QUFFNUIsOENBQTJDO0FBRzNDLHlFQUFzRTtBQUd0RSwrQ0FBNEM7QUFFNUMsaURBQThDO0FBQzlDLGlEQUE4QztBQUc5QyxNQUFhLFNBQVUsU0FBUSxtREFBd0I7SUFJckQsWUFBWSxJQUFZO1FBQ3RCLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUhOLGNBQVMsR0FBVyxJQUFJLENBQUM7SUFJakMsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFnQjtRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUMxQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxlQUFlLENBQUMsU0FBaUI7UUFDL0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLDJCQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsZUFBZSxDQUFDLElBQVksRUFBRSxTQUE4QztRQUMxRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxlQUFlLENBQUMsSUFBWSxFQUFFLFNBQXNDO1FBQ2xFLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFZLEVBQUUsSUFBZSxFQUFFLFNBQWtDO1FBQzNFLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMs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
@@ -1,4 +1,4 @@
1
- import { Writer } from '../writer.class';
1
+ import { Writer } from '../writer';
2
2
  import { AbstractElement } from './abstractElement';
3
3
  export declare class StatementDef extends AbstractElement {
4
4
  private line;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StatementDef = void 0;
4
+ const abstractElement_1 = require("./abstractElement");
5
+ class StatementDef extends abstractElement_1.AbstractElement {
6
+ constructor(line) {
7
+ super('');
8
+ this.line = line;
9
+ }
10
+ writeBody(writer) {
11
+ writer.println(`${this.line}${this.line.endsWith(';') ? '' : ';'}`);
12
+ }
13
+ }
14
+ exports.StatementDef = StatementDef;
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGVtZW50RGVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9hc3Qvc3RhdGVtZW50RGVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHVEQUFvRDtBQUVwRCxNQUFhLFlBQWEsU0FBUSxpQ0FBZTtJQUMvQyxZQUFvQixJQUFZO1FBQzlCLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQURRLFNBQUksR0FBSixJQUFJLENBQVE7SUFFaEMsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUFjO1FBQ3RCLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDdEUsQ0FBQztDQUNGO0FBUkQsb0NBUUMifQ==
@@ -1,4 +1,4 @@
1
- import { ObjectDef } from "./objectDef.class";
1
+ import { ObjectDef } from "./objectDef";
2
2
  export declare class TempContainer extends ObjectDef {
3
3
  constructor();
4
4
  }