@ibyar/expressions 0.8.5 → 1.0.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 (243) hide show
  1. package/api/abstract.d.ts +1 -0
  2. package/api/abstract.d.ts.map +1 -0
  3. package/api/abstract.js +12 -0
  4. package/api/abstract.js.map +1 -1
  5. package/api/class/class.d.ts +1 -0
  6. package/api/class/class.d.ts.map +1 -0
  7. package/api/class/class.js +563 -482
  8. package/api/class/class.js.map +1 -1
  9. package/api/class/decorator.d.ts +1 -0
  10. package/api/class/decorator.d.ts.map +1 -0
  11. package/api/class/decorator.js +49 -42
  12. package/api/class/decorator.js.map +1 -1
  13. package/api/computing/call.d.ts +1 -0
  14. package/api/computing/call.d.ts.map +1 -0
  15. package/api/computing/call.js +79 -70
  16. package/api/computing/call.js.map +1 -1
  17. package/api/computing/debugger.d.ts +1 -0
  18. package/api/computing/debugger.d.ts.map +1 -0
  19. package/api/computing/debugger.js +36 -29
  20. package/api/computing/debugger.js.map +1 -1
  21. package/api/computing/new.d.ts +1 -0
  22. package/api/computing/new.d.ts.map +1 -0
  23. package/api/computing/new.js +77 -69
  24. package/api/computing/new.js.map +1 -1
  25. package/api/computing/rest.d.ts +1 -0
  26. package/api/computing/rest.d.ts.map +1 -0
  27. package/api/computing/rest.js +50 -43
  28. package/api/computing/rest.js.map +1 -1
  29. package/api/computing/return.d.ts +1 -0
  30. package/api/computing/return.d.ts.map +1 -0
  31. package/api/computing/return.js +48 -41
  32. package/api/computing/return.js.map +1 -1
  33. package/api/computing/spread.d.ts +1 -0
  34. package/api/computing/spread.d.ts.map +1 -0
  35. package/api/computing/spread.js +66 -59
  36. package/api/computing/spread.js.map +1 -1
  37. package/api/computing/throw.d.ts +1 -0
  38. package/api/computing/throw.d.ts.map +1 -0
  39. package/api/computing/throw.js +204 -178
  40. package/api/computing/throw.js.map +1 -1
  41. package/api/computing/yield.d.ts +1 -0
  42. package/api/computing/yield.d.ts.map +1 -0
  43. package/api/computing/yield.js +56 -48
  44. package/api/computing/yield.js.map +1 -1
  45. package/api/definition/array.d.ts +1 -0
  46. package/api/definition/array.d.ts.map +1 -0
  47. package/api/definition/array.js +139 -124
  48. package/api/definition/array.js.map +1 -1
  49. package/api/definition/bind.d.ts +1 -0
  50. package/api/definition/bind.d.ts.map +1 -0
  51. package/api/definition/bind.js +81 -71
  52. package/api/definition/bind.js.map +1 -1
  53. package/api/definition/comment.d.ts +1 -0
  54. package/api/definition/comment.d.ts.map +1 -0
  55. package/api/definition/comment.js +40 -33
  56. package/api/definition/comment.js.map +1 -1
  57. package/api/definition/function.d.ts +1 -0
  58. package/api/definition/function.d.ts.map +1 -0
  59. package/api/definition/function.js +484 -447
  60. package/api/definition/function.js.map +1 -1
  61. package/api/definition/member.d.ts +1 -0
  62. package/api/definition/member.d.ts.map +1 -0
  63. package/api/definition/member.js +100 -90
  64. package/api/definition/member.js.map +1 -1
  65. package/api/definition/object.d.ts +1 -0
  66. package/api/definition/object.d.ts.map +1 -0
  67. package/api/definition/object.js +230 -202
  68. package/api/definition/object.js.map +1 -1
  69. package/api/definition/statement.d.ts +1 -0
  70. package/api/definition/statement.d.ts.map +1 -0
  71. package/api/definition/statement.js +52 -45
  72. package/api/definition/statement.js.map +1 -1
  73. package/api/definition/values.d.ts +1 -0
  74. package/api/definition/values.d.ts.map +1 -0
  75. package/api/definition/values.js +210 -167
  76. package/api/definition/values.js.map +1 -1
  77. package/api/deserialize/deserialize.d.ts +2 -1
  78. package/api/deserialize/deserialize.d.ts.map +1 -0
  79. package/api/deserialize/deserialize.js +5 -7
  80. package/api/deserialize/deserialize.js.map +1 -1
  81. package/api/deserialize/type-store.d.ts +1 -0
  82. package/api/deserialize/type-store.d.ts.map +1 -0
  83. package/api/expression.d.ts +1 -0
  84. package/api/expression.d.ts.map +1 -0
  85. package/api/index.d.ts +1 -0
  86. package/api/index.d.ts.map +1 -0
  87. package/api/module/common.d.ts +1 -0
  88. package/api/module/common.d.ts.map +1 -0
  89. package/api/module/common.js +59 -51
  90. package/api/module/common.js.map +1 -1
  91. package/api/module/export.d.ts +1 -0
  92. package/api/module/export.d.ts.map +1 -0
  93. package/api/module/export.js +327 -294
  94. package/api/module/export.js.map +1 -1
  95. package/api/module/import.d.ts +1 -0
  96. package/api/module/import.d.ts.map +1 -0
  97. package/api/module/import.js +298 -258
  98. package/api/module/import.js.map +1 -1
  99. package/api/operators/assignment.d.ts +1 -0
  100. package/api/operators/assignment.d.ts.map +1 -0
  101. package/api/operators/assignment.js +84 -75
  102. package/api/operators/assignment.js.map +1 -1
  103. package/api/operators/await.d.ts +1 -0
  104. package/api/operators/await.d.ts.map +1 -0
  105. package/api/operators/await.js +50 -43
  106. package/api/operators/await.js.map +1 -1
  107. package/api/operators/binary.d.ts +1 -0
  108. package/api/operators/binary.d.ts.map +1 -0
  109. package/api/operators/binary.js +74 -64
  110. package/api/operators/binary.js.map +1 -1
  111. package/api/operators/chaining.d.ts +1 -0
  112. package/api/operators/chaining.d.ts.map +1 -0
  113. package/api/operators/chaining.js +52 -45
  114. package/api/operators/chaining.js.map +1 -1
  115. package/api/operators/comma.d.ts +1 -0
  116. package/api/operators/comma.d.ts.map +1 -0
  117. package/api/operators/comma.js +49 -42
  118. package/api/operators/comma.js.map +1 -1
  119. package/api/operators/grouping.d.ts +1 -0
  120. package/api/operators/grouping.d.ts.map +1 -0
  121. package/api/operators/grouping.js +47 -40
  122. package/api/operators/grouping.js.map +1 -1
  123. package/api/operators/logical.d.ts +1 -0
  124. package/api/operators/logical.d.ts.map +1 -0
  125. package/api/operators/logical.js +47 -37
  126. package/api/operators/logical.js.map +1 -1
  127. package/api/operators/pipeline.d.ts +1 -0
  128. package/api/operators/pipeline.d.ts.map +1 -0
  129. package/api/operators/pipeline.js +91 -82
  130. package/api/operators/pipeline.js.map +1 -1
  131. package/api/operators/ternary.d.ts +1 -0
  132. package/api/operators/ternary.d.ts.map +1 -0
  133. package/api/operators/ternary.js +65 -56
  134. package/api/operators/ternary.js.map +1 -1
  135. package/api/operators/types.d.ts +1 -0
  136. package/api/operators/types.d.ts.map +1 -0
  137. package/api/operators/unary.d.ts +1 -0
  138. package/api/operators/unary.d.ts.map +1 -0
  139. package/api/operators/unary.js +93 -82
  140. package/api/operators/unary.js.map +1 -1
  141. package/api/operators/update.d.ts +1 -0
  142. package/api/operators/update.d.ts.map +1 -0
  143. package/api/operators/update.js +74 -62
  144. package/api/operators/update.js.map +1 -1
  145. package/api/program.d.ts +1 -0
  146. package/api/program.d.ts.map +1 -0
  147. package/api/program.js +49 -41
  148. package/api/program.js.map +1 -1
  149. package/api/statement/control/block.d.ts +1 -0
  150. package/api/statement/control/block.d.ts.map +1 -0
  151. package/api/statement/control/block.js +61 -54
  152. package/api/statement/control/block.js.map +1 -1
  153. package/api/statement/control/empty.d.ts +1 -1
  154. package/api/statement/control/empty.d.ts.map +1 -0
  155. package/api/statement/control/empty.js +39 -34
  156. package/api/statement/control/empty.js.map +1 -1
  157. package/api/statement/control/if.d.ts +1 -0
  158. package/api/statement/control/if.d.ts.map +1 -0
  159. package/api/statement/control/if.js +75 -66
  160. package/api/statement/control/if.js.map +1 -1
  161. package/api/statement/control/switch.d.ts +1 -0
  162. package/api/statement/control/switch.d.ts.map +1 -0
  163. package/api/statement/control/switch.js +168 -144
  164. package/api/statement/control/switch.js.map +1 -1
  165. package/api/statement/control/terminate.d.ts +1 -2
  166. package/api/statement/control/terminate.d.ts.map +1 -0
  167. package/api/statement/control/terminate.js +105 -81
  168. package/api/statement/control/terminate.js.map +1 -1
  169. package/api/statement/control/with.d.ts +1 -0
  170. package/api/statement/control/with.d.ts.map +1 -0
  171. package/api/statement/control/with.js +68 -60
  172. package/api/statement/control/with.js.map +1 -1
  173. package/api/statement/declarations/declares.d.ts +1 -0
  174. package/api/statement/declarations/declares.d.ts.map +1 -0
  175. package/api/statement/declarations/declares.js +140 -123
  176. package/api/statement/declarations/declares.js.map +1 -1
  177. package/api/statement/iterations/for.d.ts +1 -0
  178. package/api/statement/iterations/for.d.ts.map +1 -0
  179. package/api/statement/iterations/for.js +320 -280
  180. package/api/statement/iterations/for.js.map +1 -1
  181. package/api/statement/iterations/while.d.ts +1 -0
  182. package/api/statement/iterations/while.d.ts.map +1 -0
  183. package/api/statement/iterations/while.js +144 -127
  184. package/api/statement/iterations/while.js.map +1 -1
  185. package/api/utils.d.ts +1 -0
  186. package/api/utils.d.ts.map +1 -0
  187. package/index.d.ts +1 -0
  188. package/index.d.ts.map +1 -0
  189. package/package.json +5 -5
  190. package/scope/event.d.ts +1 -0
  191. package/scope/event.d.ts.map +1 -0
  192. package/scope/finalizer.d.ts +1 -0
  193. package/scope/finalizer.d.ts.map +1 -0
  194. package/scope/index.d.ts +1 -0
  195. package/scope/index.d.ts.map +1 -0
  196. package/scope/pool.d.ts +1 -0
  197. package/scope/pool.d.ts.map +1 -0
  198. package/scope/proxy.d.ts +1 -0
  199. package/scope/proxy.d.ts.map +1 -0
  200. package/scope/proxy.js +1 -0
  201. package/scope/proxy.js.map +1 -1
  202. package/scope/scope.d.ts +1 -0
  203. package/scope/scope.d.ts.map +1 -0
  204. package/scope/scope.js +17 -11
  205. package/scope/scope.js.map +1 -1
  206. package/scope/stack.d.ts +1 -0
  207. package/scope/stack.d.ts.map +1 -0
  208. package/scope/stack.js +21 -13
  209. package/scope/stack.js.map +1 -1
  210. package/v8/enums.d.ts +1 -0
  211. package/v8/enums.d.ts.map +1 -0
  212. package/v8/enums.js +15 -13
  213. package/v8/enums.js.map +1 -1
  214. package/v8/factory.d.ts +1 -0
  215. package/v8/factory.d.ts.map +1 -0
  216. package/v8/factory.js +6 -4
  217. package/v8/factory.js.map +1 -1
  218. package/v8/index.d.ts +1 -0
  219. package/v8/index.d.ts.map +1 -0
  220. package/v8/inline.d.ts +1 -0
  221. package/v8/inline.d.ts.map +1 -0
  222. package/v8/inline.js +10 -6
  223. package/v8/inline.js.map +1 -1
  224. package/v8/language.d.ts +1 -0
  225. package/v8/language.d.ts.map +1 -0
  226. package/v8/node.d.ts +1 -0
  227. package/v8/node.d.ts.map +1 -0
  228. package/v8/parser.d.ts +1 -0
  229. package/v8/parser.d.ts.map +1 -0
  230. package/v8/parser.js +5 -5
  231. package/v8/parser.js.map +1 -1
  232. package/v8/stream.d.ts +1 -0
  233. package/v8/stream.d.ts.map +1 -0
  234. package/v8/stream.js +19 -8
  235. package/v8/stream.js.map +1 -1
  236. package/v8/token.d.ts +1 -0
  237. package/v8/token.d.ts.map +1 -0
  238. package/v8/token.js +365 -359
  239. package/v8/token.js.map +1 -1
  240. package/visit/index.d.ts +1 -0
  241. package/visit/index.d.ts.map +1 -0
  242. package/visit/visitor.d.ts +1 -0
  243. package/visit/visitor.d.ts.map +1 -0
@@ -1,9 +1,9 @@
1
- var BreakStatement_1, ContinueStatement_1, LabeledStatement_1;
2
- import { __decorate, __metadata } from "tslib";
1
+ import { __esDecorate, __runInitializers } from "tslib";
3
2
  import { AbstractExpressionNode } from '../../abstract.js';
4
3
  import { Deserializer } from '../../deserialize/deserialize.js';
5
- import { Identifier } from '../../definition/values.js';
6
4
  export class TerminateReturnType {
5
+ type;
6
+ label;
7
7
  constructor(type, label) {
8
8
  this.type = type;
9
9
  this.label = label;
@@ -19,6 +19,7 @@ export class TerminateReturnType {
19
19
  *
20
20
  */
21
21
  class TerminateStatement extends AbstractExpressionNode {
22
+ label;
22
23
  constructor(label, range, loc) {
23
24
  super(range, loc);
24
25
  this.label = label;
@@ -45,82 +46,105 @@ class TerminateStatement extends AbstractExpressionNode {
45
46
  return { label: this.label?.toJSON() };
46
47
  }
47
48
  }
48
- let BreakStatement = BreakStatement_1 = class BreakStatement extends TerminateStatement {
49
- static fromJSON(node, deserializer) {
50
- return new BreakStatement_1(node.label ? deserializer(node.label) : void 0, node.range, node.loc);
51
- }
52
- static visit(node, visitNode) {
53
- node.label && visitNode(node.label);
54
- }
55
- getType() {
56
- return 'break';
57
- }
58
- };
59
- BreakStatement.BREAK_INSTANCE = Object.freeze(new BreakStatement_1());
60
- BreakStatement = BreakStatement_1 = __decorate([
61
- Deserializer('BreakStatement')
62
- ], BreakStatement);
63
- export { BreakStatement };
64
- let ContinueStatement = ContinueStatement_1 = class ContinueStatement extends TerminateStatement {
65
- static fromJSON(node, deserializer) {
66
- return new ContinueStatement_1(node.label && deserializer(node.label), node.range, node.loc);
67
- }
68
- static visit(node, visitNode) {
69
- node.label && visitNode(node.label);
70
- }
71
- getType() {
72
- return 'continue';
73
- }
74
- };
75
- ContinueStatement.CONTINUE_INSTANCE = Object.freeze(new ContinueStatement_1());
76
- ContinueStatement = ContinueStatement_1 = __decorate([
77
- Deserializer('ContinueStatement')
78
- ], ContinueStatement);
79
- export { ContinueStatement };
80
- let LabeledStatement = LabeledStatement_1 = class LabeledStatement extends AbstractExpressionNode {
81
- static fromJSON(node, deserializer) {
82
- return new LabeledStatement_1(deserializer(node.label), deserializer(node.body), node.range, node.loc);
83
- }
84
- static visit(node, visitNode) {
85
- visitNode(node.label);
86
- visitNode(node.body);
87
- }
88
- constructor(label, body, range, loc) {
89
- super(range, loc);
90
- this.label = label;
91
- this.body = body;
92
- }
93
- getLabel() {
94
- return this.label;
95
- }
96
- getBody() {
97
- return this.body;
98
- }
99
- set(stack, value) {
100
- throw new Error('LabeledStatement#set() not implemented.');
101
- }
102
- get(stack) {
103
- return this.body.get(stack);
104
- }
105
- dependency(computed) {
106
- return this.body.dependency(computed);
107
- }
108
- dependencyPath(computed) {
109
- return this.body.dependencyPath(computed);
110
- }
111
- toString() {
112
- return `${this.label.toString()}:\n${this.body.toString()}`;
113
- }
114
- toJson() {
115
- return {
116
- label: this.label.toJSON(),
117
- body: this.body.toJSON()
118
- };
119
- }
120
- };
121
- LabeledStatement = LabeledStatement_1 = __decorate([
122
- Deserializer('LabeledStatement'),
123
- __metadata("design:paramtypes", [Identifier, Object, Array, Object])
124
- ], LabeledStatement);
125
- export { LabeledStatement };
49
+ export let BreakStatement = (() => {
50
+ let _classDecorators = [Deserializer('BreakStatement')];
51
+ let _classDescriptor;
52
+ let _classExtraInitializers = [];
53
+ let _classThis;
54
+ var BreakStatement = class extends TerminateStatement {
55
+ static {
56
+ __esDecorate(null, _classDescriptor = { value: this }, _classDecorators, { kind: "class", name: this.name }, null, _classExtraInitializers);
57
+ BreakStatement = _classThis = _classDescriptor.value;
58
+ __runInitializers(_classThis, _classExtraInitializers);
59
+ }
60
+ static fromJSON(node, deserializer) {
61
+ return new BreakStatement(node.label ? deserializer(node.label) : void 0, node.range, node.loc);
62
+ }
63
+ static visit(node, visitNode) {
64
+ node.label && visitNode(node.label);
65
+ }
66
+ getType() {
67
+ return 'break';
68
+ }
69
+ };
70
+ return BreakStatement = _classThis;
71
+ })();
72
+ export let ContinueStatement = (() => {
73
+ let _classDecorators_1 = [Deserializer('ContinueStatement')];
74
+ let _classDescriptor_1;
75
+ let _classExtraInitializers_1 = [];
76
+ let _classThis_1;
77
+ var ContinueStatement = class extends TerminateStatement {
78
+ static {
79
+ __esDecorate(null, _classDescriptor_1 = { value: this }, _classDecorators_1, { kind: "class", name: this.name }, null, _classExtraInitializers_1);
80
+ ContinueStatement = _classThis_1 = _classDescriptor_1.value;
81
+ __runInitializers(_classThis_1, _classExtraInitializers_1);
82
+ }
83
+ static fromJSON(node, deserializer) {
84
+ return new ContinueStatement(node.label && deserializer(node.label), node.range, node.loc);
85
+ }
86
+ static visit(node, visitNode) {
87
+ node.label && visitNode(node.label);
88
+ }
89
+ getType() {
90
+ return 'continue';
91
+ }
92
+ };
93
+ return ContinueStatement = _classThis_1;
94
+ })();
95
+ export let LabeledStatement = (() => {
96
+ let _classDecorators_2 = [Deserializer('LabeledStatement')];
97
+ let _classDescriptor_2;
98
+ let _classExtraInitializers_2 = [];
99
+ let _classThis_2;
100
+ var LabeledStatement = class extends AbstractExpressionNode {
101
+ static {
102
+ __esDecorate(null, _classDescriptor_2 = { value: this }, _classDecorators_2, { kind: "class", name: this.name }, null, _classExtraInitializers_2);
103
+ LabeledStatement = _classThis_2 = _classDescriptor_2.value;
104
+ __runInitializers(_classThis_2, _classExtraInitializers_2);
105
+ }
106
+ label;
107
+ body;
108
+ static fromJSON(node, deserializer) {
109
+ return new LabeledStatement(deserializer(node.label), deserializer(node.body), node.range, node.loc);
110
+ }
111
+ static visit(node, visitNode) {
112
+ visitNode(node.label);
113
+ visitNode(node.body);
114
+ }
115
+ constructor(label, body, range, loc) {
116
+ super(range, loc);
117
+ this.label = label;
118
+ this.body = body;
119
+ }
120
+ getLabel() {
121
+ return this.label;
122
+ }
123
+ getBody() {
124
+ return this.body;
125
+ }
126
+ set(stack, value) {
127
+ throw new Error('LabeledStatement#set() not implemented.');
128
+ }
129
+ get(stack) {
130
+ return this.body.get(stack);
131
+ }
132
+ dependency(computed) {
133
+ return this.body.dependency(computed);
134
+ }
135
+ dependencyPath(computed) {
136
+ return this.body.dependencyPath(computed);
137
+ }
138
+ toString() {
139
+ return `${this.label.toString()}:\n${this.body.toString()}`;
140
+ }
141
+ toJson() {
142
+ return {
143
+ label: this.label.toJSON(),
144
+ body: this.body.toJSON()
145
+ };
146
+ }
147
+ };
148
+ return LabeledStatement = _classThis_2;
149
+ })();
126
150
  //# sourceMappingURL=terminate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"terminate.js","sourceRoot":"","sources":["../../../../../src/expressions/api/statement/control/terminate.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n\tExpressionEventPath, ExpressionNode, NodeDeserializer,\n\tSourceLocation, VisitNodeType\n} from '../../expression.js';\nimport type { Stack } from '../../../scope/stack.js';\nimport { AbstractExpressionNode } from '../../abstract.js';\nimport { Deserializer } from '../../deserialize/deserialize.js';\nimport { Identifier } from '../../definition/values.js';\n\nexport type TerminateType = 'break' | 'continue';\n\nexport class TerminateReturnType {\n\tconstructor(public type: TerminateType, public label?: string) { }\n};\n\n\n\n/**\n * The break statement terminates the current loop, switch, or label statement\n * and transfers program control to the statement following the terminated statement.\n * \n * The continue statement terminates execution of the statements in the current iteration of the current or labeled loop,\n * and continues execution of the loop with the next iteration.\n *\n */\nabstract class TerminateStatement extends AbstractExpressionNode {\n\n\tconstructor(\n\t\tprotected label?: Identifier,\n\t\trange?: [number, number],\n\t\tloc?: SourceLocation) {\n\t\tsuper(range, loc);\n\t}\n\tgetLabel() {\n\t\tthis.label;\n\t}\n\tset(stack: Stack, value: any) {\n\t\tthrow new Error(`TerminateStatement#set() has no implementation.`);\n\t}\n\tget(stack: Stack): TerminateReturnType {\n\t\treturn new TerminateReturnType(this.getType(), this.label?.get(stack));\n\t}\n\tdependency(computed?: true): ExpressionNode[] {\n\t\treturn [];\n\t}\n\tdependencyPath(computed?: true): ExpressionEventPath[] {\n\t\treturn [];\n\t}\n\ttoString(): string {\n\t\treturn `${this.getType()}${this.label ? ` ${this.label.toString()}` : ''};`;\n\t}\n\ttoJson(): object {\n\t\treturn { label: this.label?.toJSON() };\n\t}\n\n\tabstract getType(): TerminateType;\n}\n\n@Deserializer('BreakStatement')\nexport class BreakStatement extends TerminateStatement {\n\tstatic readonly BREAK_INSTANCE = Object.freeze(new BreakStatement()) as BreakStatement;\n\tstatic fromJSON(node: BreakStatement, deserializer: NodeDeserializer): BreakStatement {\n\t\treturn new BreakStatement(\n\t\t\tnode.label ? deserializer(node.label) as Identifier : void 0,\n\t\t\tnode.range,\n\t\t\tnode.loc\n\t\t);\n\t}\n\tstatic visit(node: BreakStatement, visitNode: VisitNodeType): void {\n\t\tnode.label && visitNode(node.label);\n\t}\n\tgetType(): 'break' {\n\t\treturn 'break';\n\t}\n}\n\n@Deserializer('ContinueStatement')\nexport class ContinueStatement extends TerminateStatement {\n\tstatic readonly CONTINUE_INSTANCE = Object.freeze(new ContinueStatement()) as ContinueStatement;\n\tstatic fromJSON(node: ContinueStatement, deserializer: NodeDeserializer): ContinueStatement {\n\t\treturn new ContinueStatement(\n\t\t\tnode.label && deserializer(node.label) as Identifier,\n\t\t\tnode.range,\n\t\t\tnode.loc\n\t\t);\n\t}\n\tstatic visit(node: ContinueStatement, visitNode: VisitNodeType): void {\n\t\tnode.label && visitNode(node.label);\n\t}\n\tgetType(): 'continue' {\n\t\treturn 'continue';\n\t}\n}\n\n@Deserializer('LabeledStatement')\nexport class LabeledStatement extends AbstractExpressionNode {\n\tstatic fromJSON(node: LabeledStatement, deserializer: NodeDeserializer): LabeledStatement {\n\t\treturn new LabeledStatement(\n\t\t\tdeserializer(node.label) as Identifier,\n\t\t\tdeserializer(node.body),\n\t\t\tnode.range,\n\t\t\tnode.loc\n\t\t);\n\t}\n\tstatic visit(node: LabeledStatement, visitNode: VisitNodeType): void {\n\t\tvisitNode(node.label);\n\t\tvisitNode(node.body);\n\t}\n\tconstructor(\n\t\tprivate label: Identifier,\n\t\tprivate body: ExpressionNode,\n\t\trange?: [number, number],\n\t\tloc?: SourceLocation) {\n\t\tsuper(range, loc);\n\t}\n\n\tgetLabel() {\n\t\treturn this.label;\n\t}\n\tgetBody() {\n\t\treturn this.body;\n\t}\n\tset(stack: Stack, value: any) {\n\t\tthrow new Error('LabeledStatement#set() not implemented.');\n\t}\n\tget(stack: Stack) {\n\t\treturn this.body.get(stack);\n\t}\n\tdependency(computed?: true | undefined): ExpressionNode[] {\n\t\treturn this.body.dependency(computed);\n\t}\n\tdependencyPath(computed?: true | undefined): ExpressionEventPath[] {\n\t\treturn this.body.dependencyPath(computed);\n\t}\n\ttoString(): string {\n\t\treturn `${this.label.toString()}:\\n${this.body.toString()}`;\n\t}\n\ttoJson() {\n\t\treturn {\n\t\t\tlabel: this.label.toJSON(),\n\t\t\tbody: this.body.toJSON()\n\t\t};\n\t}\n}\n"]}
1
+ {"version":3,"file":"terminate.js","sourceRoot":"","sources":["../../../../../src/expressions/api/statement/control/terminate.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n\tExpressionEventPath, ExpressionNode, NodeDeserializer,\n\tSourceLocation, VisitNodeType\n} from '../../expression.js';\nimport type { Stack } from '../../../scope/stack.js';\nimport { AbstractExpressionNode } from '../../abstract.js';\nimport { Deserializer } from '../../deserialize/deserialize.js';\nimport { Identifier } from '../../definition/values.js';\n\nexport type TerminateType = 'break' | 'continue';\n\nexport class TerminateReturnType {\n\tconstructor(public type: TerminateType, public label?: string) { }\n};\n\n\n\n/**\n * The break statement terminates the current loop, switch, or label statement\n * and transfers program control to the statement following the terminated statement.\n * \n * The continue statement terminates execution of the statements in the current iteration of the current or labeled loop,\n * and continues execution of the loop with the next iteration.\n *\n */\nabstract class TerminateStatement extends AbstractExpressionNode {\n\n\tconstructor(\n\t\tprotected label?: Identifier,\n\t\trange?: [number, number],\n\t\tloc?: SourceLocation) {\n\t\tsuper(range, loc);\n\t}\n\tgetLabel() {\n\t\tthis.label;\n\t}\n\tset(stack: Stack, value: any) {\n\t\tthrow new Error(`TerminateStatement#set() has no implementation.`);\n\t}\n\tget(stack: Stack): TerminateReturnType {\n\t\treturn new TerminateReturnType(this.getType(), this.label?.get(stack));\n\t}\n\tdependency(computed?: true): ExpressionNode[] {\n\t\treturn [];\n\t}\n\tdependencyPath(computed?: true): ExpressionEventPath[] {\n\t\treturn [];\n\t}\n\ttoString(): string {\n\t\treturn `${this.getType()}${this.label ? ` ${this.label.toString()}` : ''};`;\n\t}\n\ttoJson(): object {\n\t\treturn { label: this.label?.toJSON() };\n\t}\n\n\tabstract getType(): TerminateType;\n}\n\n@Deserializer('BreakStatement')\nexport class BreakStatement extends TerminateStatement {\n\tstatic fromJSON(node: BreakStatement, deserializer: NodeDeserializer): BreakStatement {\n\t\treturn new BreakStatement(\n\t\t\tnode.label ? deserializer(node.label) as Identifier : void 0,\n\t\t\tnode.range,\n\t\t\tnode.loc\n\t\t);\n\t}\n\tstatic visit(node: BreakStatement, visitNode: VisitNodeType): void {\n\t\tnode.label && visitNode(node.label);\n\t}\n\tgetType(): 'break' {\n\t\treturn 'break';\n\t}\n}\n\n@Deserializer('ContinueStatement')\nexport class ContinueStatement extends TerminateStatement {\n\tstatic fromJSON(node: ContinueStatement, deserializer: NodeDeserializer): ContinueStatement {\n\t\treturn new ContinueStatement(\n\t\t\tnode.label && deserializer(node.label) as Identifier,\n\t\t\tnode.range,\n\t\t\tnode.loc\n\t\t);\n\t}\n\tstatic visit(node: ContinueStatement, visitNode: VisitNodeType): void {\n\t\tnode.label && visitNode(node.label);\n\t}\n\tgetType(): 'continue' {\n\t\treturn 'continue';\n\t}\n}\n\n@Deserializer('LabeledStatement')\nexport class LabeledStatement extends AbstractExpressionNode {\n\tstatic fromJSON(node: LabeledStatement, deserializer: NodeDeserializer): LabeledStatement {\n\t\treturn new LabeledStatement(\n\t\t\tdeserializer(node.label) as Identifier,\n\t\t\tdeserializer(node.body),\n\t\t\tnode.range,\n\t\t\tnode.loc\n\t\t);\n\t}\n\tstatic visit(node: LabeledStatement, visitNode: VisitNodeType): void {\n\t\tvisitNode(node.label);\n\t\tvisitNode(node.body);\n\t}\n\tconstructor(\n\t\tprivate label: Identifier,\n\t\tprivate body: ExpressionNode,\n\t\trange?: [number, number],\n\t\tloc?: SourceLocation) {\n\t\tsuper(range, loc);\n\t}\n\n\tgetLabel() {\n\t\treturn this.label;\n\t}\n\tgetBody() {\n\t\treturn this.body;\n\t}\n\tset(stack: Stack, value: any) {\n\t\tthrow new Error('LabeledStatement#set() not implemented.');\n\t}\n\tget(stack: Stack) {\n\t\treturn this.body.get(stack);\n\t}\n\tdependency(computed?: true | undefined): ExpressionNode[] {\n\t\treturn this.body.dependency(computed);\n\t}\n\tdependencyPath(computed?: true | undefined): ExpressionEventPath[] {\n\t\treturn this.body.dependencyPath(computed);\n\t}\n\ttoString(): string {\n\t\treturn `${this.label.toString()}:\\n${this.body.toString()}`;\n\t}\n\ttoJson() {\n\t\treturn {\n\t\t\tlabel: this.label.toJSON(),\n\t\t\tbody: this.body.toJSON()\n\t\t};\n\t}\n}\n"]}
@@ -19,3 +19,4 @@ export declare class WithStatement extends AbstractExpressionNode {
19
19
  toString(): string;
20
20
  toJson(): object;
21
21
  }
22
+ //# sourceMappingURL=with.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"with.d.ts","sourceRoot":"","sources":["../../../../../src/expressions/api/statement/control/with.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,gBAAgB,EAAE,cAAc,EAAE,mBAAmB,EACrD,aAAa,EAAE,cAAc,EAC7B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAG3D;;GAEG;AACH,qBACa,aAAc,SAAQ,sBAAsB;IAcvD,SAAS,CAAC,MAAM,EAAE,cAAc;IAChC,SAAS,CAAC,IAAI,EAAE,cAAc;IAd/B,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,GAAG,aAAa;IAQnF,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,GAAG,IAAI;gBAKtD,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,cAAc,EAC9B,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EACxB,GAAG,CAAC,EAAE,cAAc;IAGrB,SAAS;IAGT,OAAO;IAGP,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;IAG5B,GAAG,CAAC,KAAK,EAAE,KAAK;IAgBhB,UAAU,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAG,cAAc,EAAE;IAG7C,cAAc,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAG,mBAAmB,EAAE;IAGtD,QAAQ,IAAI,MAAM;IAGlB,MAAM,IAAI,MAAM;CAMhB"}
@@ -1,67 +1,75 @@
1
- var WithStatement_1;
2
- import { __decorate, __metadata } from "tslib";
1
+ import { __esDecorate, __runInitializers } from "tslib";
3
2
  import { AbstractExpressionNode } from '../../abstract.js';
4
3
  import { Deserializer } from '../../deserialize/deserialize.js';
5
4
  /**
6
5
  * The with statement extends the scope chain for a statement.
7
6
  */
8
- let WithStatement = WithStatement_1 = class WithStatement extends AbstractExpressionNode {
9
- static fromJSON(node, deserializer) {
10
- return new WithStatement_1(deserializer(node.object), deserializer(node.body), node.range, node.loc);
11
- }
12
- static visit(node, visitNode) {
13
- visitNode(node.object);
14
- visitNode(node.body);
15
- }
16
- constructor(object, body, range, loc) {
17
- super(range, loc);
18
- this.object = object;
19
- this.body = body;
20
- }
21
- getObject() {
22
- return this.object;
23
- }
24
- getBody() {
25
- return this.body;
26
- }
27
- set(stack, value) {
28
- throw new Error(`WithStatement#set() has no implementation.`);
29
- }
30
- get(stack) {
31
- const object = this.object.get(stack);
32
- let propertyKeys;
33
- if (object[Symbol.unscopables]) {
34
- const allKeys = [...Object.keys(object), ...Object.getOwnPropertySymbols(object)];
35
- const unscopablesKeys = Object.entries(object[Symbol.unscopables])
36
- .filter(entry => entry[1])
37
- .map(entry => entry[0]);
38
- propertyKeys = allKeys.filter(key => !unscopablesKeys.includes(key));
7
+ export let WithStatement = (() => {
8
+ let _classDecorators = [Deserializer('WithStatement')];
9
+ let _classDescriptor;
10
+ let _classExtraInitializers = [];
11
+ let _classThis;
12
+ var WithStatement = class extends AbstractExpressionNode {
13
+ static {
14
+ __esDecorate(null, _classDescriptor = { value: this }, _classDecorators, { kind: "class", name: this.name }, null, _classExtraInitializers);
15
+ WithStatement = _classThis = _classDescriptor.value;
16
+ __runInitializers(_classThis, _classExtraInitializers);
39
17
  }
40
- const objectScope = stack.pushBlockScopeFor(object, propertyKeys);
41
- objectScope.getContextProxy = () => object;
42
- const value = this.body.get(stack);
43
- stack.clearTo(objectScope);
44
- return value;
45
- }
46
- dependency(computed) {
47
- return this.object.dependency(computed).concat(this.body.dependency(computed));
48
- }
49
- dependencyPath(computed) {
50
- return this.object.dependencyPath(computed).concat(this.body.dependencyPath(computed));
51
- }
52
- toString() {
53
- return `with (${this.object.toString()}) ${this.body.toString()}`;
54
- }
55
- toJson() {
56
- return {
57
- object: this.object.toJSON(),
58
- body: this.body.toJSON()
59
- };
60
- }
61
- };
62
- WithStatement = WithStatement_1 = __decorate([
63
- Deserializer('WithStatement'),
64
- __metadata("design:paramtypes", [Object, Object, Array, Object])
65
- ], WithStatement);
66
- export { WithStatement };
18
+ object;
19
+ body;
20
+ static fromJSON(node, deserializer) {
21
+ return new WithStatement(deserializer(node.object), deserializer(node.body), node.range, node.loc);
22
+ }
23
+ static visit(node, visitNode) {
24
+ visitNode(node.object);
25
+ visitNode(node.body);
26
+ }
27
+ constructor(object, body, range, loc) {
28
+ super(range, loc);
29
+ this.object = object;
30
+ this.body = body;
31
+ }
32
+ getObject() {
33
+ return this.object;
34
+ }
35
+ getBody() {
36
+ return this.body;
37
+ }
38
+ set(stack, value) {
39
+ throw new Error(`WithStatement#set() has no implementation.`);
40
+ }
41
+ get(stack) {
42
+ const object = this.object.get(stack);
43
+ let propertyKeys;
44
+ if (object[Symbol.unscopables]) {
45
+ const allKeys = [...Object.keys(object), ...Object.getOwnPropertySymbols(object)];
46
+ const unscopablesKeys = Object.entries(object[Symbol.unscopables])
47
+ .filter(entry => entry[1])
48
+ .map(entry => entry[0]);
49
+ propertyKeys = allKeys.filter(key => !unscopablesKeys.includes(key));
50
+ }
51
+ const objectScope = stack.pushBlockScopeFor(object, propertyKeys);
52
+ objectScope.getContextProxy = () => object;
53
+ const value = this.body.get(stack);
54
+ stack.clearTo(objectScope);
55
+ return value;
56
+ }
57
+ dependency(computed) {
58
+ return this.object.dependency(computed).concat(this.body.dependency(computed));
59
+ }
60
+ dependencyPath(computed) {
61
+ return this.object.dependencyPath(computed).concat(this.body.dependencyPath(computed));
62
+ }
63
+ toString() {
64
+ return `with (${this.object.toString()}) ${this.body.toString()}`;
65
+ }
66
+ toJson() {
67
+ return {
68
+ object: this.object.toJSON(),
69
+ body: this.body.toJSON()
70
+ };
71
+ }
72
+ };
73
+ return WithStatement = _classThis;
74
+ })();
67
75
  //# sourceMappingURL=with.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"with.js","sourceRoot":"","sources":["../../../../../src/expressions/api/statement/control/with.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n\tNodeDeserializer, ExpressionNode, ExpressionEventPath,\n\tVisitNodeType, SourceLocation\n} from '../../expression.js';\nimport type { Stack } from '../../../scope/stack.js';\nimport { AbstractExpressionNode } from '../../abstract.js';\nimport { Deserializer } from '../../deserialize/deserialize.js';\n\n/**\n * The with statement extends the scope chain for a statement.\n */\n@Deserializer('WithStatement')\nexport class WithStatement extends AbstractExpressionNode {\n\tstatic fromJSON(node: WithStatement, deserializer: NodeDeserializer): WithStatement {\n\t\treturn new WithStatement(\n\t\t\tdeserializer(node.object),\n\t\t\tdeserializer(node.body),\n\t\t\tnode.range,\n\t\t\tnode.loc\n\t\t);\n\t}\n\tstatic visit(node: WithStatement, visitNode: VisitNodeType): void {\n\t\tvisitNode(node.object);\n\t\tvisitNode(node.body);\n\t}\n\tconstructor(\n\t\tprotected object: ExpressionNode,\n\t\tprotected body: ExpressionNode,\n\t\trange?: [number, number],\n\t\tloc?: SourceLocation) {\n\t\tsuper(range, loc);\n\t}\n\tgetObject() {\n\t\treturn this.object;\n\t}\n\tgetBody() {\n\t\treturn this.body;\n\t}\n\tset(stack: Stack, value: any) {\n\t\tthrow new Error(`WithStatement#set() has no implementation.`);\n\t}\n\tget(stack: Stack) {\n\t\tconst object = this.object.get(stack);\n\t\tlet propertyKeys: PropertyKey[] | undefined;\n\t\tif (object[Symbol.unscopables]) {\n\t\t\tconst allKeys: PropertyKey[] = [...Object.keys(object), ...Object.getOwnPropertySymbols(object)];\n\t\t\tconst unscopablesKeys = Object.entries<Record<PropertyKey, boolean>>(object[Symbol.unscopables])\n\t\t\t\t.filter(entry => entry[1])\n\t\t\t\t.map(entry => entry[0]) as PropertyKey[];\n\t\t\tpropertyKeys = allKeys.filter(key => !unscopablesKeys.includes(key));\n\t\t}\n\t\tconst objectScope = stack.pushBlockScopeFor(object, propertyKeys);\n\t\tobjectScope.getContextProxy = () => object;\n\t\tconst value = this.body.get(stack);\n\t\tstack.clearTo(objectScope);\n\t\treturn value;\n\t}\n\tdependency(computed?: true): ExpressionNode[] {\n\t\treturn this.object.dependency(computed).concat(this.body.dependency(computed));\n\t}\n\tdependencyPath(computed?: true): ExpressionEventPath[] {\n\t\treturn this.object.dependencyPath(computed).concat(this.body.dependencyPath(computed));\n\t}\n\ttoString(): string {\n\t\treturn `with (${this.object.toString()}) ${this.body.toString()}`;\n\t}\n\ttoJson(): object {\n\t\treturn {\n\t\t\tobject: this.object.toJSON(),\n\t\t\tbody: this.body.toJSON()\n\t\t};\n\t}\n}\n"]}
1
+ {"version":3,"file":"with.js","sourceRoot":"","sources":["../../../../../src/expressions/api/statement/control/with.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n\tNodeDeserializer, ExpressionNode, ExpressionEventPath,\n\tVisitNodeType, SourceLocation\n} from '../../expression.js';\nimport type { Stack } from '../../../scope/stack.js';\nimport { AbstractExpressionNode } from '../../abstract.js';\nimport { Deserializer } from '../../deserialize/deserialize.js';\n\n/**\n * The with statement extends the scope chain for a statement.\n */\n@Deserializer('WithStatement')\nexport class WithStatement extends AbstractExpressionNode {\n\tstatic fromJSON(node: WithStatement, deserializer: NodeDeserializer): WithStatement {\n\t\treturn new WithStatement(\n\t\t\tdeserializer(node.object),\n\t\t\tdeserializer(node.body),\n\t\t\tnode.range,\n\t\t\tnode.loc\n\t\t);\n\t}\n\tstatic visit(node: WithStatement, visitNode: VisitNodeType): void {\n\t\tvisitNode(node.object);\n\t\tvisitNode(node.body);\n\t}\n\tconstructor(\n\t\tprotected object: ExpressionNode,\n\t\tprotected body: ExpressionNode,\n\t\trange?: [number, number],\n\t\tloc?: SourceLocation) {\n\t\tsuper(range, loc);\n\t}\n\tgetObject() {\n\t\treturn this.object;\n\t}\n\tgetBody() {\n\t\treturn this.body;\n\t}\n\tset(stack: Stack, value: any) {\n\t\tthrow new Error(`WithStatement#set() has no implementation.`);\n\t}\n\tget(stack: Stack) {\n\t\tconst object = this.object.get(stack);\n\t\tlet propertyKeys: PropertyKey[] | undefined;\n\t\tif (object[Symbol.unscopables]) {\n\t\t\tconst allKeys: PropertyKey[] = [...Object.keys(object), ...Object.getOwnPropertySymbols(object)];\n\t\t\tconst unscopablesKeys = Object.entries<Record<PropertyKey, boolean>>(object[Symbol.unscopables])\n\t\t\t\t.filter(entry => entry[1])\n\t\t\t\t.map(entry => entry[0]) as PropertyKey[];\n\t\t\tpropertyKeys = allKeys.filter(key => !unscopablesKeys.includes(key));\n\t\t}\n\t\tconst objectScope = stack.pushBlockScopeFor(object, propertyKeys);\n\t\tobjectScope.getContextProxy = () => object;\n\t\tconst value = this.body.get(stack);\n\t\tstack.clearTo(objectScope);\n\t\treturn value;\n\t}\n\tdependency(computed?: true): ExpressionNode[] {\n\t\treturn this.object.dependency(computed).concat(this.body.dependency(computed));\n\t}\n\tdependencyPath(computed?: true): ExpressionEventPath[] {\n\t\treturn this.object.dependencyPath(computed).concat(this.body.dependencyPath(computed));\n\t}\n\ttoString(): string {\n\t\treturn `with (${this.object.toString()}) ${this.body.toString()}`;\n\t}\n\ttoJson(): object {\n\t\treturn {\n\t\t\tobject: this.object.toJSON(),\n\t\t\tbody: this.body.toJSON()\n\t\t};\n\t}\n}\n"]}
@@ -38,3 +38,4 @@ export declare class VariableDeclarationNode extends AbstractExpressionNode impl
38
38
  toString(): string;
39
39
  toJson(): object;
40
40
  }
41
+ //# sourceMappingURL=declares.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"declares.d.ts","sourceRoot":"","sources":["../../../../../src/expressions/api/statement/declarations/declares.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,gBAAgB,EAAE,cAAc,EAAE,qBAAqB,EACvD,mBAAmB,EAAE,aAAa,EAAE,cAAc,EAClD,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAgB,MAAM,mBAAmB,CAAC;AAGzE,qBACa,kBAAmB,SAAQ,sBAAuB,YAAW,qBAAqB;IActF,EAAE,EAAE,qBAAqB;IACzB,IAAI,CAAC;IAdb,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,EAAE,YAAY,EAAE,gBAAgB,GAAG,kBAAkB;IAQ7F,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,aAAa,GAAG,IAAI;gBAK9D,EAAE,EAAE,qBAAqB,EACzB,IAAI,CAAC,4BAAgB,EAC5B,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EACxB,GAAG,CAAC,EAAE,cAAc;IAGrB,KAAK;IAGL,OAAO;IAGP,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;IAG5B,GAAG,CAAC,KAAK,EAAE,KAAK;IAGhB,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,EAAE,GAAG;IAejD,kBAAkB,IAAI,MAAM;IAG5B,UAAU,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAG,cAAc,EAAE;IAG7C,cAAc,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAG,mBAAmB,EAAE;IAGtD,QAAQ;IAGR,MAAM;;;;CAMN;AAED,qBACa,uBAAwB,SAAQ,sBAAuB,YAAW,qBAAqB;IAalG,SAAS,CAAC,YAAY,EAAE,kBAAkB,EAAE;IAC5C,SAAS,CAAC,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,OAAO;IAbxC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,uBAAuB,EAAE,YAAY,EAAE,gBAAgB,GAAG,uBAAuB;IAQvG,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,uBAAuB,EAAE,SAAS,EAAE,aAAa,GAAG,IAAI;gBAIhE,YAAY,EAAE,kBAAkB,EAAE,EAClC,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,OAAO,EACvC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EACxB,GAAG,CAAC,EAAE,cAAc;IAGrB,eAAe;IAGf,OAAO;IAGP,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;IAM5B,GAAG,CAAC,KAAK,EAAE,KAAK;IAKhB,kBAAkB,IAAI,MAAM;IAG5B,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,GAAG,GAAG;IAGtD,UAAU,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAG,cAAc,EAAE;IAG7C,cAAc,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAG,mBAAmB,EAAE;IAGtD,QAAQ,IAAI,MAAM;IAGlB,MAAM,IAAI,MAAM;CAMhB"}