@coolon/i18n-resource-generator 3.2.3 → 3.2.4

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 (186) hide show
  1. package/CHANGELOG.md +10 -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/constructor.js +3 -0
  32. package/build/main/lib/customTextArrayNode.d.ts +2 -2
  33. package/build/main/lib/customTextArrayNode.js +6 -6
  34. package/build/main/lib/customTextNode.d.ts +2 -2
  35. package/build/main/lib/customTextNode.js +6 -6
  36. package/build/main/lib/{customTypeArrayNode.class.d.ts → customTypeArrayNode.d.ts} +3 -3
  37. package/build/main/lib/customTypeArrayNode.js +23 -0
  38. package/build/main/lib/{customTypeNode.class.d.ts → customTypeNode.d.ts} +2 -2
  39. package/build/main/lib/customTypeNode.js +50 -0
  40. package/build/main/lib/emptyTextNode.d.ts +10 -0
  41. package/build/main/lib/emptyTextNode.js +46 -0
  42. package/build/main/lib/enumEntryNode.d.ts +5 -3
  43. package/build/main/lib/enumEntryNode.js +27 -8
  44. package/build/main/lib/{enumNode.class.d.ts → enumNode.d.ts} +3 -3
  45. package/build/main/lib/enumNode.js +124 -0
  46. package/build/main/lib/i18nGenerator.d.ts +1 -1
  47. package/build/main/lib/i18nGenerator.js +16 -16
  48. package/build/main/lib/{i18nNode.class.d.ts → i18nNode.d.ts} +5 -5
  49. package/build/main/lib/i18nNode.js +188 -0
  50. package/build/main/lib/index.d.ts +25 -25
  51. package/build/main/lib/index.js +26 -26
  52. package/build/main/lib/leafNode.d.ts +4 -0
  53. package/build/main/lib/leafNode.js +8 -0
  54. package/build/{module/lib/namespaceNode.class.d.ts → main/lib/namespaceNode.d.ts} +2 -2
  55. package/build/main/lib/namespaceNode.js +17 -0
  56. package/build/main/lib/nullNode.d.ts +10 -0
  57. package/build/main/lib/nullNode.js +43 -0
  58. package/build/main/lib/{rootNode.class.d.ts → rootNode..d.ts} +2 -2
  59. package/build/main/lib/rootNode..js +89 -0
  60. package/build/main/lib/{textArrayNode.class.d.ts → textArrayNode.d.ts} +3 -3
  61. package/build/main/lib/{textArrayNode.class.js → textArrayNode.js} +5 -5
  62. package/build/main/lib/{textNode.class.d.ts → textNode.d.ts} +6 -5
  63. package/build/main/lib/textNode.js +158 -0
  64. package/build/main/lib/{valueNode.class.d.ts → valueNode.d.ts} +2 -2
  65. package/build/main/lib/valueNode.js +60 -0
  66. package/build/main/lib/writer.js +30 -0
  67. package/build/module/lib/arg.js +24 -0
  68. package/build/{main/lib/arguments.class.d.ts → module/lib/arguments.d.ts} +1 -1
  69. package/build/module/lib/arguments.js +62 -0
  70. package/build/module/lib/ast/abstractContainerElement.d.ts +2 -2
  71. package/build/module/lib/ast/abstractElement.d.ts +2 -2
  72. package/build/module/lib/ast/{classDef.class.d.ts → classDef.d.ts} +2 -2
  73. package/build/module/lib/ast/classDef.js +22 -0
  74. package/build/module/lib/ast/{containerElement.class.d.ts → containerElement.d.ts} +7 -7
  75. package/build/module/lib/ast/containerElement.js +2 -0
  76. package/build/{main/lib/ast/element.class.d.ts → module/lib/ast/element.d.ts} +1 -1
  77. package/build/module/lib/ast/element.js +2 -0
  78. package/build/{main/lib/ast/functionDef.class.d.ts → module/lib/ast/functionDef.d.ts} +2 -2
  79. package/build/module/lib/ast/functionDef.js +13 -0
  80. package/build/module/lib/ast/{interfaceDef.class.d.ts → interfaceDef.d.ts} +2 -2
  81. package/build/module/lib/ast/interfaceDef.js +24 -0
  82. package/build/{main/lib/ast/jsonModule.class.d.ts → module/lib/ast/jsonModule.d.ts} +2 -2
  83. package/build/module/lib/ast/jsonModule.js +18 -0
  84. package/build/{main/lib/ast/moduleDef.class.d.ts → module/lib/ast/moduleDef.d.ts} +2 -2
  85. package/build/module/lib/ast/moduleDef.js +39 -0
  86. package/build/module/lib/ast/{namespaceDef.class.d.ts → namespaceDef.d.ts} +7 -7
  87. package/build/module/lib/ast/namespaceDef.js +67 -0
  88. package/build/module/lib/ast/{objectDef.class.d.ts → objectDef.d.ts} +7 -7
  89. package/build/module/lib/ast/objectDef.js +63 -0
  90. package/build/{main/lib/ast/statementDef.class.d.ts → module/lib/ast/statementDef.d.ts} +1 -1
  91. package/build/module/lib/ast/statementDef.js +11 -0
  92. package/build/module/lib/ast/{tempContainer.class.d.ts → tempContainer.d.ts} +1 -1
  93. package/build/module/lib/ast/tempContainer.js +9 -0
  94. package/build/module/lib/ast/{typeDef.class.d.ts → typeDef.d.ts} +1 -1
  95. package/build/module/lib/ast/typeDef.js +11 -0
  96. package/build/module/lib/constructor.js +2 -0
  97. package/build/module/lib/customTextArrayNode.d.ts +2 -2
  98. package/build/module/lib/customTextArrayNode.js +3 -3
  99. package/build/module/lib/customTextNode.d.ts +2 -2
  100. package/build/module/lib/customTextNode.js +3 -3
  101. package/build/module/lib/{customTypeArrayNode.class.d.ts → customTypeArrayNode.d.ts} +3 -3
  102. package/build/module/lib/customTypeArrayNode.js +19 -0
  103. package/build/module/lib/{customTypeNode.class.d.ts → customTypeNode.d.ts} +2 -2
  104. package/build/module/lib/customTypeNode.js +46 -0
  105. package/build/module/lib/emptyTextNode.d.ts +10 -0
  106. package/build/module/lib/emptyTextNode.js +23 -0
  107. package/build/module/lib/enumEntryNode.d.ts +5 -3
  108. package/build/module/lib/enumEntryNode.js +25 -6
  109. package/build/module/lib/{enumNode.class.d.ts → enumNode.d.ts} +3 -3
  110. package/build/module/lib/enumNode.js +101 -0
  111. package/build/module/lib/i18nGenerator.d.ts +1 -1
  112. package/build/module/lib/i18nGenerator.js +11 -11
  113. package/build/module/lib/{i18nNode.class.d.ts → i18nNode.d.ts} +5 -5
  114. package/build/module/lib/i18nNode.js +162 -0
  115. package/build/module/lib/index.d.ts +25 -25
  116. package/build/module/lib/index.js +26 -26
  117. package/build/module/lib/leafNode.d.ts +4 -0
  118. package/build/module/lib/leafNode.js +4 -0
  119. package/build/{main/lib/namespaceNode.class.d.ts → module/lib/namespaceNode.d.ts} +2 -2
  120. package/build/module/lib/namespaceNode.js +13 -0
  121. package/build/module/lib/nullNode.d.ts +10 -0
  122. package/build/module/lib/nullNode.js +20 -0
  123. package/build/module/lib/{rootNode.class.d.ts → rootNode..d.ts} +2 -2
  124. package/build/module/lib/rootNode..js +85 -0
  125. package/build/module/lib/{textArrayNode.class.d.ts → textArrayNode.d.ts} +3 -3
  126. package/build/module/lib/textArrayNode.js +26 -0
  127. package/build/module/lib/{textNode.class.d.ts → textNode.d.ts} +6 -5
  128. package/build/module/lib/textNode.js +132 -0
  129. package/build/module/lib/{valueNode.class.d.ts → valueNode.d.ts} +2 -2
  130. package/build/module/lib/valueNode.js +37 -0
  131. package/build/module/lib/writer.js +26 -0
  132. package/package.json +3 -2
  133. package/build/main/lib/arg.class.js +0 -28
  134. package/build/main/lib/arguments.class.js +0 -66
  135. package/build/main/lib/ast/classDef.class.js +0 -26
  136. package/build/main/lib/ast/containerElement.class.js +0 -3
  137. package/build/main/lib/ast/element.class.js +0 -3
  138. package/build/main/lib/ast/functionDef.class.js +0 -17
  139. package/build/main/lib/ast/interfaceDef.class.js +0 -28
  140. package/build/main/lib/ast/jsonModule.class.js +0 -22
  141. package/build/main/lib/ast/moduleDef.class.js +0 -43
  142. package/build/main/lib/ast/namespaceDef.class.js +0 -71
  143. package/build/main/lib/ast/objectDef.class.js +0 -86
  144. package/build/main/lib/ast/statementDef.class.js +0 -15
  145. package/build/main/lib/ast/tempContainer.class.js +0 -13
  146. package/build/main/lib/constructor.class.js +0 -3
  147. package/build/main/lib/customTypeArrayNode.class.js +0 -23
  148. package/build/main/lib/customTypeNode.class.js +0 -48
  149. package/build/main/lib/enumNode.class.js +0 -117
  150. package/build/main/lib/i18nNode.class.js +0 -188
  151. package/build/main/lib/namespaceNode.class.js +0 -17
  152. package/build/main/lib/rootNode.class.js +0 -89
  153. package/build/main/lib/textNode.class.js +0 -155
  154. package/build/main/lib/valueNode.class.js +0 -60
  155. package/build/main/lib/writer.class.js +0 -30
  156. package/build/module/lib/arg.class.js +0 -24
  157. package/build/module/lib/arguments.class.js +0 -62
  158. package/build/module/lib/ast/classDef.class.js +0 -22
  159. package/build/module/lib/ast/containerElement.class.js +0 -2
  160. package/build/module/lib/ast/element.class.js +0 -2
  161. package/build/module/lib/ast/functionDef.class.js +0 -13
  162. package/build/module/lib/ast/interfaceDef.class.js +0 -24
  163. package/build/module/lib/ast/jsonModule.class.js +0 -18
  164. package/build/module/lib/ast/moduleDef.class.js +0 -39
  165. package/build/module/lib/ast/namespaceDef.class.js +0 -67
  166. package/build/module/lib/ast/objectDef.class.js +0 -63
  167. package/build/module/lib/ast/statementDef.class.js +0 -11
  168. package/build/module/lib/ast/tempContainer.class.js +0 -9
  169. package/build/module/lib/ast/typeDef.class.js +0 -11
  170. package/build/module/lib/constructor.class.js +0 -2
  171. package/build/module/lib/customTypeArrayNode.class.js +0 -19
  172. package/build/module/lib/customTypeNode.class.js +0 -44
  173. package/build/module/lib/enumNode.class.js +0 -94
  174. package/build/module/lib/i18nNode.class.js +0 -162
  175. package/build/module/lib/namespaceNode.class.js +0 -13
  176. package/build/module/lib/rootNode.class.js +0 -85
  177. package/build/module/lib/textArrayNode.class.js +0 -26
  178. package/build/module/lib/textNode.class.js +0 -129
  179. package/build/module/lib/valueNode.class.js +0 -37
  180. package/build/module/lib/writer.class.js +0 -26
  181. /package/build/main/lib/{arg.class.d.ts → arg.d.ts} +0 -0
  182. /package/build/main/lib/{constructor.class.d.ts → constructor.d.ts} +0 -0
  183. /package/build/main/lib/{writer.class.d.ts → writer.d.ts} +0 -0
  184. /package/build/module/lib/{arg.class.d.ts → arg.d.ts} +0 -0
  185. /package/build/module/lib/{constructor.class.d.ts → constructor.d.ts} +0 -0
  186. /package/build/module/lib/{writer.class.d.ts → writer.d.ts} +0 -0
@@ -1,86 +0,0 @@
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_class_1 = require("./functionDef.class");
27
- const namespaceDef_class_1 = require("./namespaceDef.class");
28
- const statementDef_class_1 = require("./statementDef.class");
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_class_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_class_1.FunctionDef(name, args, returnType, bodyContent));
61
- }
62
- nearestNamespace() {
63
- return _.findLast(this.pathToRoot(), element => element instanceof namespaceDef_class_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_class_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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0RGVmLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9hc3Qvb2JqZWN0RGVmLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwwQ0FBNEI7QUFFNUIsOENBQTJDO0FBRzNDLHlFQUFzRTtBQUd0RSwyREFBa0Q7QUFFbEQsNkRBQW9EO0FBQ3BELDZEQUFvRDtBQUdwRCxNQUFhLFNBQVUsU0FBUSxtREFBd0I7SUFJckQsWUFBWSxJQUFZO1FBQ3RCLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUhOLGNBQVMsR0FBVyxJQUFJLENBQUM7SUFJakMsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFnQjtRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUMxQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxlQUFlLENBQUMsU0FBaUI7UUFDL0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLGlDQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsZUFBZSxDQUFDLElBQVksRUFBRSxTQUE4QztRQUMxRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxlQUFlLENBQUMsSUFBWSxFQUFFLFNBQXNDO1FBQ2xFLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFZLEVBQUUsSUFBZSxFQUFFLFNBQWtDO1FBQzNFLE9BQU8sSUFBSSxDQUFDLGdCQUFn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
@@ -1,15 +0,0 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGVtZW50RGVmLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9hc3Qvc3RhdGVtZW50RGVmLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHVEQUFvRDtBQUVwRCxNQUFhLFlBQWEsU0FBUSxpQ0FBZTtJQUMvQyxZQUFvQixJQUFZO1FBQzlCLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQURRLFNBQUksR0FBSixJQUFJLENBQVE7SUFFaEMsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUFjO1FBQ3RCLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDdEUsQ0FBQztDQUNGO0FBUkQsb0NBUUMifQ==
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TempContainer = void 0;
4
- const objectDef_class_1 = require("./objectDef.class");
5
- // Exists to create structures that don't automatically get
6
- // written out by their parents.
7
- class TempContainer extends objectDef_class_1.ObjectDef {
8
- constructor() {
9
- super('!!temp!!');
10
- }
11
- }
12
- exports.TempContainer = TempContainer;
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcENvbnRhaW5lci5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvYXN0L3RlbXBDb250YWluZXIuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsdURBQTRDO0FBRTVDLDJEQUEyRDtBQUMzRCxnQ0FBZ0M7QUFDaEMsTUFBYSxhQUFjLFNBQVEsMkJBQVM7SUFDeEM7UUFDSSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdEIsQ0FBQztDQUNKO0FBSkQsc0NBSUMifQ==
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RydWN0b3IuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2NvbnN0cnVjdG9yLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CustomTypeArrayNode = void 0;
4
- const customTypeNode_class_1 = require("./customTypeNode.class");
5
- const i18nNode_class_1 = require("./i18nNode.class");
6
- const nodeName_1 = require("./nodeName");
7
- class CustomTypeArrayNode extends i18nNode_class_1.I18nNode {
8
- static matches(name, yamlData) {
9
- return yamlData && name.customTypeName && name.isArray;
10
- }
11
- parseChild(name, data, defaultNodeType) {
12
- return super.parseChild(nodeName_1.NodeName.parse(`${name.safeName}(${this.name.customTypeName})`), data, customTypeNode_class_1.CustomTypeNode);
13
- }
14
- generateApi(parent) {
15
- parent.nestedContainer(this.namespaceName, namespace => {
16
- this.eachChild(child => {
17
- child.generateApi(namespace);
18
- });
19
- });
20
- }
21
- }
22
- exports.CustomTypeArrayNode = CustomTypeArrayNode;
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tVHlwZUFycmF5Tm9kZS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvY3VzdG9tVHlwZUFycmF5Tm9kZS5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxpRUFBd0Q7QUFFeEQscURBQTRDO0FBQzVDLHlDQUFzQztBQUV0QyxNQUFhLG1CQUFvQixTQUFRLHlCQUFRO0lBSS9DLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBYyxFQUFFLFFBQWE7UUFDMUMsT0FBTyxRQUFRLElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3pELENBQUM7SUFFUyxVQUFVLENBQXFCLElBQWMsRUFBRSxJQUFTLEVBQUUsZUFBK0I7UUFDakcsT0FBTyxLQUFLLENBQUMsVUFBVSxDQUFDLG1CQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLHFDQUFjLENBQUMsQ0FBQztJQUNqSCxDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQXdCO1FBQ2xDLE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsRUFBRTtZQUNyRCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNyQixLQUFLLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQy9CLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBRUY7QUFwQkQsa0RBb0JDIn0=
@@ -1,48 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CustomTypeNode = void 0;
4
- const objectDef_class_1 = require("./ast/objectDef.class");
5
- const customTextArrayNode_1 = require("./customTextArrayNode");
6
- const customTextNode_1 = require("./customTextNode");
7
- const i18nNode_class_1 = require("./i18nNode.class");
8
- const valueNode_class_1 = require("./valueNode.class");
9
- class CustomTypeNode extends i18nNode_class_1.I18nNode {
10
- static matches(name, yamlData) {
11
- return yamlData && name.customTypeName && !name.isArray;
12
- }
13
- supportedChildNodeTypes() {
14
- return [customTextArrayNode_1.CustomTextArrayNode, customTextNode_1.CustomTextNode, valueNode_class_1.ValueNode];
15
- }
16
- parse(container) {
17
- super.parse(container);
18
- this.eachChild(child => this.getArgs().merge(child.getArgs()));
19
- }
20
- generateApi(parent) {
21
- if (this.hasArgs()) {
22
- const tempContainer = new objectDef_class_1.ObjectDef('!temp!');
23
- this.eachChild(child => {
24
- child.generateApi(tempContainer);
25
- });
26
- parent.createFunction(this.name.asJsIdentifier, this.getArgs(), this.name.customTypeName, body => {
27
- body.println('return {');
28
- body.indent(out => {
29
- tempContainer.writeBody(out);
30
- });
31
- body.println('}');
32
- });
33
- }
34
- else {
35
- parent.createObject(this.name.asJsIdentifier, def => {
36
- def.asType(this.name.customTypeName);
37
- this.eachChild(child => {
38
- child.generateApi(def);
39
- });
40
- });
41
- }
42
- }
43
- get namespaceName() {
44
- return super.namespaceName;
45
- }
46
- }
47
- exports.CustomTypeNode = CustomTypeNode;
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tVHlwZU5vZGUuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2N1c3RvbVR5cGVOb2RlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDJEQUFrRDtBQUNsRCwrREFBNEQ7QUFDNUQscURBQWtEO0FBRWxELHFEQUE2RDtBQUU3RCx1REFBOEM7QUFHOUMsTUFBYSxjQUFlLFNBQVEseUJBQVE7SUFFMUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFjLEVBQUUsUUFBYTtRQUMxQyxPQUFPLFFBQVEsSUFBSSxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUMxRCxDQUFDO0lBRUQsdUJBQXVCO1FBQ3JCLE9BQU8sQ0FBQyx5Q0FBbUIsRUFBRSwrQkFBYyxFQUFFLDJCQUFTLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsS0FBSyxDQUFDLFNBQWM7UUFDbEIsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxXQUFXLENBQUMsTUFBd0I7UUFDbEMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDbEIsTUFBTSxhQUFhLEdBQUcsSUFBSSwyQkFBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzlDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3JCLEtBQUssQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDbkMsQ0FBQyxDQUFDLENBQUM7WUFDSCxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsRUFBRTtnQkFDL0YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDaEIsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDL0IsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNwQixDQUFDLENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLEdBQUcsQ0FBQyxFQUFFO2dCQUNsRCxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7Z0JBQ3JDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQ3JCLEtBQUssQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3pCLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUVILENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLEtBQUssQ0FBQyxhQUFhLENBQUM7SUFDN0IsQ0FBQztDQUNGO0FBMUNELHdDQTBDQyJ9
@@ -1,117 +0,0 @@
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.EnumNode = void 0;
23
- const _ = __importStar(require("lodash"));
24
- const lodash_1 = require("lodash");
25
- const arguments_class_1 = require("./arguments.class");
26
- const objectDef_class_1 = require("./ast/objectDef.class");
27
- const enumEntryNode_1 = require("./enumEntryNode");
28
- const i18nNode_class_1 = require("./i18nNode.class");
29
- const namespaceNode_class_1 = require("./namespaceNode.class");
30
- class EnumNode extends i18nNode_class_1.I18nNode {
31
- static matches(name, yamlData) {
32
- // console.log(name);
33
- return yamlData && name.customTypeName === 'Enum';
34
- }
35
- parseChild(name, data, defaultNodeType) {
36
- if (defaultNodeType['name'] === namespaceNode_class_1.NameSpaceNode['name']) {
37
- return super.parseChild(name, data, enumEntryNode_1.EnumEntryNode);
38
- }
39
- else {
40
- throw new Error(`entry '${name}' in '${this.accessor}' is not an object. Enum children to be an object.`);
41
- }
42
- }
43
- generateApi(parent) {
44
- parent.nestedContainer(this.namespaceName, namespace => {
45
- let properites = undefined;
46
- this.children.forEach(child => {
47
- const node = child;
48
- let propertiesNames = node.getPropertiesNames();
49
- if (!properites) {
50
- properites = [...propertiesNames];
51
- }
52
- else {
53
- if (!lodash_1.isEqual(lodash_1.sortBy(properites), lodash_1.sortBy(propertiesNames))) {
54
- throw new Error(`enum properties don't match for ${(namespace.fqNamespaceName)}.${child.name}: expected [${properites.join(',')}], got [${propertiesNames.join(',')}]`);
55
- }
56
- }
57
- });
58
- const enumType = namespace.defineInterface(`${this.className}Entry`);
59
- properites.forEach(prop => {
60
- enumType.createFunction(prop, arguments_class_1.Arguments.empty(), 'string');
61
- });
62
- // only process enum entry nodes for now so we guarantee all the children
63
- // are enum types.
64
- this.eachChild(child => {
65
- child.generateApi(namespace, enumType.name);
66
- });
67
- // populate our type with the properties of our children.
68
- const constantEnumDefs = namespace.allOfType(objectDef_class_1.ObjectDef);
69
- if (constantEnumDefs.length > 0) {
70
- const enumKeyType = `${this.fqClassName}Key`;
71
- namespace.defineType(enumKeyType, this.lookupKeys().join('|'));
72
- // now create our lookup functions for the enum notes
73
- namespace.createFunction('lookup', arguments_class_1.Arguments.createSingle('key', enumKeyType), enumType.name, out => {
74
- out.println(`const result = tryLookup(key);`);
75
- out.println(`if (!result) {`);
76
- out.println(` throw new Error("Unknown enum key '" + key + "'. Must be one of ${this.lookupKeys().join(', ')}")`);
77
- out.println(`}`);
78
- out.println(`return result;`);
79
- });
80
- namespace.createFunction('tryLookup', arguments_class_1.Arguments.createSingle('key', 'string'), `${enumType.name} | undefined`, out => {
81
- this.eachChild(child => {
82
- if (!child.hasArgs()) {
83
- out.println(`if ([${child.name.validKeys().map(k => `'${k}'`)}].includes(key)) { return ${this.rootNode().namespace}.${child.accessor}; }`);
84
- }
85
- });
86
- out.println(`return undefined;`);
87
- });
88
- namespace.createFunction('nameOf', arguments_class_1.Arguments.createSingle('option', enumType.name), enumKeyType, out => {
89
- this.eachChild(child => {
90
- if (!child.hasArgs()) {
91
- out.println(`if (option === ${this.rootNode().namespace}.${child.accessor}) { return '${child.name.asJsIdentifier}'; }`);
92
- }
93
- });
94
- out.println(`throw new Error("Unknown enum")`);
95
- });
96
- namespace.createFunction('asArray', arguments_class_1.Arguments.empty(), `${enumType.name}[]`, out => {
97
- out.println(`return [`);
98
- this.eachChild(child => {
99
- if (!child.hasArgs()) {
100
- out.indent(_out => _out.println(`${this.rootNode().namespace}.${child.accessor},`));
101
- }
102
- });
103
- out.println(']');
104
- });
105
- }
106
- });
107
- }
108
- // generateMessageBundle(parent: ContainerElement): void {
109
- //
110
- // }
111
- lookupKeys() {
112
- let nonVarChildren = this.children.filter(c => !c.hasArgs());
113
- return _.uniq(nonVarChildren.map(child => `'${child.name.camelisedName}'`).concat(nonVarChildren.map(child => `'${child.name.asJsIdentifier}'`)));
114
- }
115
- }
116
- exports.EnumNode = EnumNode;
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bU5vZGUuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2VudW1Ob2RlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwwQ0FBNEI7QUFDNUIsbUNBQXlDO0FBQ3pDLHVEQUE4QztBQUU5QywyREFBa0Q7QUFFbEQsbURBQWdEO0FBQ2hELHFEQUE0QztBQUM1QywrREFBc0Q7QUFJdEQsTUFBYSxRQUFTLFNBQVEseUJBQVE7SUFFcEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFjLEVBQUUsUUFBYTtRQUMxQyxxQkFBcUI7UUFDckIsT0FBTyxRQUFRLElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxNQUFNLENBQUM7SUFDcEQsQ0FBQztJQUVTLFVBQVUsQ0FBcUIsSUFBYyxFQUFFLElBQVMsRUFBRSxlQUErQjtRQUNqRyxJQUFJLGVBQWUsQ0FBQyxNQUFNLENBQUMsS0FBSyxtQ0FBYSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3JELE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLDZCQUFhLENBQUMsQ0FBQztTQUNwRDthQUFNO1lBQ0wsTUFBTSxJQUFJLEtBQUssQ0FBQyxVQUFVLElBQUksU0FBUyxJQUFJLENBQUMsUUFBUSxvREFBb0QsQ0FBQyxDQUFDO1NBQzNHO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUF3QjtRQUVsQyxNQUFNLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDLEVBQUU7WUFFckQsSUFBSSxVQUFVLEdBQWEsU0FBUyxDQUFDO1lBQ3JDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUM1QixNQUFNLElBQUksR0FBRyxLQUFzQixDQUFDO2dCQUNwQyxJQUFJLGVBQWUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztn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
@@ -1,188 +0,0 @@
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
- var __importDefault = (this && this.__importDefault) || function (mod) {
22
- return (mod && mod.__esModule) ? mod : { "default": mod };
23
- };
24
- Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.I18nNode = void 0;
26
- const fs_1 = __importDefault(require("fs"));
27
- const yaml = __importStar(require("js-yaml"));
28
- const _ = __importStar(require("lodash"));
29
- const arguments_class_1 = require("./arguments.class");
30
- const nodeName_1 = require("./nodeName");
31
- class I18nNode {
32
- constructor(parent, name) {
33
- this.parent = parent;
34
- this.name = name;
35
- this.childNodes = new Map();
36
- this.templateArgs = new arguments_class_1.Arguments();
37
- }
38
- get key() {
39
- return this.pathToRoot().slice(1).map(a => a.name.asJsIdentifier).join('.');
40
- }
41
- /**
42
- * Returns the full path to this nodes namespace as used in code. Doesn't include the I18n prefix.
43
- */
44
- get accessor() {
45
- const result = [];
46
- this.pathToRoot().forEach(ancestor => ancestor.appendNamespaceTo(result));
47
- return result.join('.');
48
- }
49
- get fqNamespaceName() {
50
- return `${this.rootNode().namespace}.${this.key}`;
51
- }
52
- appendNamespaceTo(collector) {
53
- collector.push(this.namespaceName);
54
- }
55
- isRoot() {
56
- return !this.parent;
57
- }
58
- pathToRoot() {
59
- return this.isRoot() ? [this] : this.parent.pathToRoot().concat(this);
60
- }
61
- parseFile(fileName) {
62
- // let options = {schema: this.getSchema()};
63
- console.log(`Loading: ${fileName}`);
64
- const yamlData = yaml.safeLoad(fs_1.default.readFileSync(fileName, 'utf8'));
65
- try {
66
- this.parse(yamlData);
67
- }
68
- catch (e) {
69
- throw new Error(`Failed to parse file:${fileName}\n-> ${e.message}\n-> ${e.stack}`);
70
- }
71
- }
72
- parse(yamlData) {
73
- this.withEachProperty(yamlData, (name, data) => {
74
- this.parseChild(name, data, this.computeNodeTypeOf(name, data));
75
- });
76
- }
77
- parseChild(name, data, defaultNodeType) {
78
- const child = this.getOrCreatNode(name, defaultNodeType);
79
- if (this.constructor['acceptsChildNodesOfType']) {
80
- const types = this.constructor['acceptsChildNodesOfType']();
81
- if (!_.find(types, type => child instanceof type)) {
82
- throw new Error(`Unsupported child type, must be one of ${types.map(t => t.name).join()}, got ${defaultNodeType.name}.`);
83
- }
84
- }
85
- child.parse(data);
86
- return child;
87
- }
88
- getOrCreatNode(name, type) {
89
- let node = this.childNodes.get(name.asJsIdentifier);
90
- if (node && node.constructor != type) {
91
- throw new Error(`Existing node named ${name} has different type, expected ${type['nodeName']}, got ${node.constructor['nodeName']}`);
92
- }
93
- // console.log(`--> getOrCreateNode(${nodeName}, ${type}) ${node ? 'found' : 'created'}`);
94
- if (!node) {
95
- node = new type(this, name);
96
- this.childNodes.set(name.asJsIdentifier, node);
97
- }
98
- return node;
99
- }
100
- rootNode() {
101
- return this.parent.rootNode();
102
- }
103
- nodeTypes() {
104
- return this.rootNode().nodeTypes();
105
- }
106
- computeNodeTypeOf(name, data) {
107
- const type = _.find(this.supportedChildNodeTypes(), it => it.matches(name, data));
108
- if (!type) {
109
- throw new Error(`No matching node type found for ${this.fqNamespaceName}.${name.rawName}, value = ${data}`);
110
- }
111
- return type;
112
- }
113
- supportedChildNodeTypes() {
114
- return this.rootNode().nodeTypes();
115
- }
116
- withEachProperty(yamlData, cb) {
117
- if (yamlData) {
118
- Object.getOwnPropertyNames(yamlData).forEach(unsafeKey => {
119
- const name = nodeName_1.NodeName.parse(unsafeKey);
120
- if (name.isReserved()) {
121
- console.log(`Warning: Yaml key '${unsafeKey}' is a reserved word, converting to '${name.safeName}'`);
122
- }
123
- cb(name, yamlData[unsafeKey]);
124
- });
125
- }
126
- }
127
- get children() {
128
- return Array.from(this.childNodes.values());
129
- }
130
- eachChild(cb) {
131
- Array.from(this.childNodes.values()).forEach(node => cb(node));
132
- }
133
- getArgs() {
134
- return this.templateArgs;
135
- }
136
- hasArgs() {
137
- return this.getArgs().any();
138
- }
139
- get namespaceName() {
140
- return this.name.asJsIdentifier;
141
- }
142
- get className() {
143
- return this.name.asClassName;
144
- }
145
- get fqClassName() {
146
- // the root node has no className and the second one is the language
147
- let parents = this.pathToRoot().slice(2);
148
- return parents.map(n => n.className).join('');
149
- }
150
- createArrayFunctionBody(key, args, out) {
151
- out.println(`const translation = _activeBundle.${key};`);
152
- out.println(`const missing = !isObject(translation);`);
153
- out.println(`if (missing || Object.keys(translation).length < 1) {`);
154
- out.indent(out => {
155
- out.println(`const prefix = missing ? "missing key" : "empty key";`);
156
- out.println(`return [prefix + " " + "${key}"];`);
157
- });
158
- out.println('} else { ');
159
- out.indent(out => {
160
- out.println(`return Object.keys(translation).map(line => {`);
161
- out.indent(out => {
162
- out.println(`// eslint-disable-next-line @typescript-eslint/ban-ts-comment`);
163
- out.println(`// @ts-ignore`);
164
- if (args.any()) {
165
- out.println(`return new MessageFormat(translation[line], _locale).format(${args.asArgsObject()});`);
166
- }
167
- else {
168
- out.println(`return translation[line];`);
169
- }
170
- });
171
- out.println('});');
172
- });
173
- out.println('}');
174
- }
175
- generateApi(parent) {
176
- throw new Error('abstract method');
177
- }
178
- generateMessageBundle(parent, include) {
179
- const me = {};
180
- parent[this.namespaceName] = me;
181
- this.eachChild(child => {
182
- // console.log({child: child.constructor});
183
- return child.generateMessageBundle(me, include);
184
- });
185
- }
186
- }
187
- exports.I18nNode = I18nNode;
188
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bk5vZGUuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2kxOG5Ob2RlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw0Q0FBb0I7QUFDcEIsOENBQWdDO0FBQ2hDLDBDQUE0QjtBQUc1Qix1REFBOEM7QUFHOUMseUNBQXNDO0FBV3RDLE1BQWEsUUFBUTtJQUtuQixZQUFzQixNQUFnQixFQUFrQixJQUFjO1FBQWhELFdBQU0sR0FBTixNQUFNLENBQVU7UUFBa0IsU0FBSSxHQUFKLElBQUksQ0FBVTtRQUg5RCxlQUFVLEdBQTBCLElBQUksR0FBRyxFQUFvQixDQUFDO1FBQ2hFLGlCQUFZLEdBQWMsSUFBSSwyQkFBUyxFQUFFLENBQUM7SUFHbEQsQ0FBQztJQUVELElBQUksR0FBRztRQUNMLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLFFBQVE7UUFDVixNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzFFLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNwRCxDQUFDO0lBRUQs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
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NameSpaceNode = void 0;
4
- const i18nNode_class_1 = require("./i18nNode.class");
5
- class NameSpaceNode extends i18nNode_class_1.I18nNode {
6
- static matches(name, yamlData) {
7
- // we're fallback so we're greedy, just make sure I'm last in the list of matchers
8
- return true;
9
- }
10
- generateApi(parent) {
11
- parent.nestedContainer(this.namespaceName, namespace => {
12
- this.eachChild(child => child.generateApi(namespace));
13
- });
14
- }
15
- }
16
- exports.NameSpaceNode = NameSpaceNode;
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZXNwYWNlTm9kZS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvbmFtZXNwYWNlTm9kZS5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFHQSxxREFBNEM7QUFHNUMsTUFBYSxhQUFjLFNBQVEseUJBQVE7SUFFekMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFjLEVBQUUsUUFBYTtRQUMxQyxtRkFBbUY7UUFDbkYsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQXdCO1FBQ2xDLE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsRUFBRTtZQUNyRCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ3hELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQVFGO0FBbkJELHNDQW1CQyJ9
@@ -1,89 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RootNode = void 0;
4
- const arguments_class_1 = require("./arguments.class");
5
- const i18nNode_class_1 = require("./i18nNode.class");
6
- const nodeName_1 = require("./nodeName");
7
- class RootNode extends i18nNode_class_1.I18nNode {
8
- constructor(namespace = "I18n") {
9
- super(null, new nodeName_1.NodeName(''));
10
- this.namespace = namespace;
11
- this._nodeTypes = [];
12
- this.customTypesImports = new Map();
13
- }
14
- registerNodeTypes(nodeTypes) {
15
- this._nodeTypes = nodeTypes;
16
- }
17
- nodeTypes() {
18
- return this._nodeTypes;
19
- }
20
- rootNode() {
21
- return this;
22
- }
23
- appendNamespaceTo(collector) {
24
- // noop.
25
- }
26
- /*********
27
- *
28
- ********/
29
- generateApi(module) {
30
- module.addHeader('/* eslint-disable @typescript-eslint/no-namespace */');
31
- module.addHeader('/* tslint:disable:no-shadowed-variable */');
32
- module.addHeader(`/******** IMPORTANT *********`);
33
- module.addHeader(` * `);
34
- module.addHeader(` * This file is automatically generated. Any edits will be lost.`);
35
- module.addHeader(` * `);
36
- module.addHeader(' ****/');
37
- module.addImport(`import MessageFormat from 'message-format';`);
38
- module.addImport(`import {isObject, isEmpty, isNumber, isNaN} from 'lodash-es'`);
39
- this.customTypesImports.forEach((importDeclaration, className) => {
40
- module.addImport(importDeclaration);
41
- });
42
- module.addImport('import * as defaultBundle from \'./locales/en.json\'');
43
- module.addImport('import * as messageKeysBundle from \'./locales/message-keys.json\'');
44
- module.createStatement('const _messageLocaleKey = "message-keys"');
45
- module.nestedContainer(this.namespace, namespace => {
46
- namespace.createStatement('let _locale:string|undefined = undefined');
47
- namespace.createStatement('let _activeBundle:any = null');
48
- namespace.createStatement('const _bundles = new Map<string,any>()');
49
- const args = arguments_class_1.Arguments.createAll({
50
- locale: 'string',
51
- bundle: 'any'
52
- });
53
- namespace.createFunction('registerBundle', args, 'void', writer => {
54
- writer.println(`if (_bundles.has(locale)) { throw new Error("bundle already registered for: " + locale)}`);
55
- writer.println(`_bundles.set(locale, bundle);`);
56
- });
57
- namespace.createFunction('setLocale', arguments_class_1.Arguments.createSingle('locale', 'string'), 'void', writer => {
58
- writer.println(`if (!_bundles.has(locale)) { throw new Error("No bundle registered for: " + locale)}`);
59
- writer.println(`_locale = locale;`);
60
- writer.println(`_activeBundle = _bundles.get(_locale);`);
61
- });
62
- namespace.createFunction('getAvailableLocales', arguments_class_1.Arguments.empty(), 'string[]', writer => {
63
- writer.println(`return Array.from(_bundles.keys()).filter(key => key !== _messageLocaleKey);`);
64
- });
65
- namespace.createFunction('getLocale', arguments_class_1.Arguments.empty(), 'string|undefined', writer => {
66
- writer.println(`return _locale`);
67
- });
68
- namespace.createStatement('registerBundle(_messageLocaleKey, messageKeysBundle)');
69
- namespace.createStatement('registerBundle("en", defaultBundle)');
70
- namespace.createStatement('setLocale("en")');
71
- this.eachChild(child => {
72
- child.generateApi(namespace);
73
- });
74
- });
75
- }
76
- /*********
77
- *
78
- ********/
79
- generateMessageBundle(object, include) {
80
- this.eachChild(child => {
81
- child.generateMessageBundle(object, include);
82
- });
83
- }
84
- registerCustomType(customType) {
85
- this.customTypesImports.set(customType.typeName, customType.importDeclaration);
86
- }
87
- }
88
- exports.RootNode = RootNode;
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdE5vZGUuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3Jvb3ROb2RlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHVEQUE4QztBQUc5QyxxREFBNkQ7QUFDN0QseUNBQXNDO0FBRXRDLE1BQWEsUUFBUyxTQUFRLHlCQUFRO0lBS3BDLFlBQXFCLFlBQW1CLE1BQU07UUFDNUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLG1CQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQURYLGNBQVMsR0FBVCxTQUFTLENBQWdCO1FBSHRDLGVBQVUsR0FBMkIsRUFBRSxDQUFDO1FBQy9CLHVCQUFrQixHQUFHLElBQUksR0FBRyxFQUFrQixDQUFDO0lBSWhFLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxTQUFpQztRQUNqRCxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztJQUM5QixDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGlCQUFpQixDQUFDLFNBQW1CO1FBQ25DLFFBQVE7SUFDVixDQUFDO0lBRUQ7O2NBRVU7SUFDVixXQUFXLENBQUMsTUFBYztRQUN4QixNQUFNLENBQUMsU0FBUyxDQUFDLHNEQUFzRCxDQUFDLENBQUM7UUFDekUsTUFBTSxDQUFDLFNBQVMsQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO1FBQzlELE1BQU0sQ0FBQyxTQUFTLENBQUMsK0JBQStCLENBQUMsQ0FBQztRQUNsRCxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLE1BQU0sQ0FBQyxTQUFTLENBQUMsbUVBQW1FLENBQUMsQ0FBQztRQUN0RixNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLE1BQU0sQ0FBQyxTQUFTLENBQUMs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