@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,129 +0,0 @@
1
- import parseMessageFormat from 'format-message-parse';
2
- import * as _ from 'lodash';
3
- import { Arg } from './arg.class';
4
- import { I18nNode } from './i18nNode.class';
5
- // the result is an array. <message_container> = <message_part>[]
6
- // <message_part> == string | [argument_element]
7
- // <argument_element> =
8
- // ["<argName>"] OR
9
- // ["<argName>", "<argFormat>"] OR
10
- // ["<argName>", "<argFormat>", "<formatOptions>"] for argFormat == date|time|number
11
- // ["<argName>", "<argFormat>", {option_a: <message_container>, option_b: <message_container>, other: <messsage_container>] for argFormat == select, plural
12
- //
13
- export class TextNode extends I18nNode {
14
- static matches(name, yamlData) {
15
- return _.isString(yamlData);
16
- }
17
- parse(data) {
18
- this.text = data;
19
- try {
20
- this.messageSchema = parseMessageFormat(this.text);
21
- this.scanContainer(this.messageSchema);
22
- }
23
- catch (e) {
24
- throw new Error(`Invalid message format ${this.key}=${data} -> ${e.message}`);
25
- }
26
- }
27
- generateApi(container) {
28
- // TODO: Make this take the args as an interface so callers use it like I18n.hello({name: 'World'}) with type safety.
29
- container.createFunction(this.name.asJsIdentifier, this.getArgs(), 'string', out => {
30
- this.createFunctionBody(out);
31
- });
32
- }
33
- generateMessageBundle(parent, include) {
34
- parent[this.name.asJsIdentifier] = include === 'text' ? this.text : this.key;
35
- }
36
- createFunctionBody(out) {
37
- out.println(`try {`);
38
- out.indent(out => {
39
- out.println(`const translation = _activeBundle.${this.key};`);
40
- out.println(`if ((isEmpty(translation) && !isNumber(translation)) || isNaN(translation)) {`);
41
- out.indent(out => {
42
- out.println(`return "missing key " + "${this.key}";`);
43
- });
44
- out.println('} else { ');
45
- out.indent(out => {
46
- if (this.getArgs().any()) {
47
- out.println(`return new MessageFormat(translation, _locale).format(${this.getArgs().asArgsObject()});`);
48
- }
49
- else {
50
- out.println(`return translation;`);
51
- }
52
- });
53
- out.println('}');
54
- });
55
- out.println(`} catch (error) { `);
56
- out.indent(out => {
57
- out.println(`return "missing key " + "${this.key}";`);
58
- });
59
- out.println(`}`);
60
- }
61
- valueString(value) {
62
- return `"${value}"`;
63
- }
64
- scanContainer(elements) {
65
- elements.forEach(element => {
66
- if (_.isArray(element)) {
67
- this.createArgument(element);
68
- }
69
- });
70
- }
71
- scanFormatOptions(options) {
72
- _.forOwn(options, (val, key) => {
73
- this.scanContainer(val);
74
- });
75
- }
76
- createArgument(messagePart) {
77
- const [argName, argType] = messagePart;
78
- if (argName == '#') {
79
- return;
80
- }
81
- // console.log(`createArgument -> ${JSON.stringify(messagePart)}`)
82
- switch (argType) {
83
- case 'number':
84
- this.addArgument(new Arg(argName, 'number'));
85
- break;
86
- case 'date':
87
- this.addArgument(new Arg(argName, 'Date'));
88
- break;
89
- case 'time':
90
- this.addArgument(new Arg(argName, 'Time'));
91
- break;
92
- case 'plural':
93
- this.addArgument(new Arg(argName, 'number'));
94
- // console.log(`plural bits: ${JSON.stringify(messagePart[3])}`);
95
- this.scanFormatOptions(messagePart[3]);
96
- break;
97
- case 'select':
98
- const formatOptions = messagePart[2];
99
- this.createSelectArgument(argName, formatOptions);
100
- // console.log(`select bits: ${JSON.stringify(formatOptions)}`);
101
- this.scanFormatOptions(formatOptions);
102
- break;
103
- default:
104
- // the arg been used with no type, so we only add it if it hasn't
105
- // already been defined.
106
- if (!this.getArgs().contains(argName)) {
107
- this.addArgument(new Arg(argName, 'string'));
108
- }
109
- break;
110
- }
111
- }
112
- createSelectArgument(name, formatOptions) {
113
- // check if it's a boolean option.
114
- const arg = new Arg(name, 'string');
115
- const options = Object.keys(formatOptions);
116
- if (options.length == 2) {
117
- const optionName = formatOptions[options[0]] == 'other' ? options[1] : options[0];
118
- this.addArgument(arg.asBooleanOptionNamed(optionName));
119
- }
120
- else {
121
- this.addArgument(arg);
122
- }
123
- }
124
- addArgument(arg) {
125
- // console.log(`addArgument -> ${JSON.stringify(arg)}`);
126
- this.getArgs().add(arg);
127
- }
128
- }
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dE5vZGUuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3RleHROb2RlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sa0JBQWtCLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUdsQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFJNUMsaUVBQWlFO0FBQ2pFLGdEQUFnRDtBQUNoRCx1QkFBdUI7QUFDdkIsc0JBQXNCO0FBQ3RCLHFDQUFxQztBQUNyQyx1RkFBdUY7QUFDdkYsOEpBQThKO0FBQzlKLEVBQUU7QUFHRixNQUFNLE9BQU8sUUFBUyxTQUFRLFFBQVE7SUFLcEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFjLEVBQUUsUUFBYTtRQUMxQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFTO1FBQ2IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFjLENBQUM7UUFDM0IsSUFBSTtZQUNGLElBQUksQ0FBQyxhQUFhLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ25ELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3hDO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztTQUMvRTtJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsU0FBMkI7UUFDckMscUhBQXFIO1FBQ3JILFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUks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
@@ -1,37 +0,0 @@
1
- import * as _ from 'lodash';
2
- import { Arguments } from './arguments.class';
3
- import { I18nNode } from './i18nNode.class';
4
- export class ValueNode extends I18nNode {
5
- static matches(name, yamlData) {
6
- return this.isValue(yamlData) || (_.isArray(yamlData) && _.reject(yamlData, entry => this.isValue(entry)).length == 0);
7
- }
8
- static isValue(thing) {
9
- return _.isBoolean(thing) || _.isNumber(thing) || _.isNil(thing);
10
- }
11
- // constructor(parent: Node, private name: String, private children: any) {
12
- // super(parent);
13
- // }
14
- parse(data) {
15
- this.data = data;
16
- }
17
- generateApi(out) {
18
- out.createFunction(this.name.asJsIdentifier, Arguments.empty(), this.returnType(), out => {
19
- if (_.isArray(this.data)) {
20
- out.println(` return [${this.data.map(d => this.valueString(d)).join(', ')}];`);
21
- }
22
- else {
23
- out.println(` return ${this.valueString(this.data)};`);
24
- }
25
- });
26
- }
27
- returnType() {
28
- return _.isArray(this.data) ? `${this.valueType(this.data[0])}[]` : this.valueType(this.data);
29
- }
30
- valueType(value) {
31
- return _.isNil(value) ? 'string' : typeof value;
32
- }
33
- valueString(value) {
34
- return value;
35
- }
36
- }
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWVOb2RlLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi92YWx1ZU5vZGUuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRzlDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUc1QyxNQUFNLE9BQU8sU0FBVSxTQUFRLFFBQVE7SUFHckMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFjLEVBQUUsUUFBYTtRQUMxQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN6SCxDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFVO1FBQ3ZCLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELDJFQUEyRTtJQUMzRSxxQkFBcUI7SUFDckIsSUFBSTtJQUVKLEtBQUssQ0FBQyxJQUFTO1FBQ2IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVELFdBQVcsQ0FBQyxHQUFxQjtRQUUvQixHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUU7WUFDdkYsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDeEIsR0FBRyxDQUFDLE9BQU8sQ0FBQyxjQUFjLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDbkY7aUJBQU07Z0JBQ0wsR0FBRyxDQUFDLE9BQU8sQ0FBQyxhQUFhLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUMxRDtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hHLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBVTtRQUNsQixPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxLQUFLLENBQUM7SUFDbEQsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFVO1FBQ3BCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztDQUNGIn0=
@@ -1,26 +0,0 @@
1
- export class RootWriter {
2
- constructor() {
3
- this.lines = [];
4
- }
5
- println(it) {
6
- this.lines.push(it);
7
- }
8
- indent(func) {
9
- func(new ChildWriter(this));
10
- }
11
- toString() {
12
- return this.lines.join('\n');
13
- }
14
- }
15
- class ChildWriter {
16
- constructor(parent) {
17
- this.parent = parent;
18
- }
19
- println(it) {
20
- return this.parent.println(' ' + it);
21
- }
22
- indent(func) {
23
- func(new ChildWriter(this));
24
- }
25
- }
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGVyLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi93cml0ZXIuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsTUFBTSxPQUFPLFVBQVU7SUFBdkI7UUFDVSxVQUFLLEdBQWEsRUFBRSxDQUFDO0lBYS9CLENBQUM7SUFYQyxPQUFPLENBQUMsRUFBVTtRQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN0QixDQUFDO0lBRUQsTUFBTSxDQUFDLElBQThCO1FBQ25DLElBQUksQ0FBQyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0NBQ0Y7QUFFRCxNQUFNLFdBQVc7SUFFZixZQUFvQixNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUNsQyxDQUFDO0lBRUQsT0FBTyxDQUFDLEVBQVU7UUFDaEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUE4QjtRQUNuQyxJQUFJLENBQUMsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM5QixDQUFDO0NBQ0YifQ==
File without changes
File without changes