@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,51 +1,59 @@
1
- var YieldExpression_1;
2
- import { __decorate, __metadata } from "tslib";
1
+ import { __esDecorate, __runInitializers } from "tslib";
3
2
  import { AbstractExpressionNode, YieldDelegateValue, YieldValue } from '../abstract.js';
4
3
  import { Deserializer } from '../deserialize/deserialize.js';
5
- let YieldExpression = YieldExpression_1 = class YieldExpression extends AbstractExpressionNode {
6
- static fromJSON(node, deserializer) {
7
- return new YieldExpression_1(node.delegate, node.argument ? deserializer(node.argument) : void 0, node.range, node.loc);
8
- }
9
- static visit(node, visitNode) {
10
- node.argument && visitNode(node.argument);
11
- }
12
- constructor(delegate, argument, range, loc) {
13
- super(range, loc);
14
- this.delegate = delegate;
15
- this.argument = argument;
16
- }
17
- getArgument() {
18
- return this.argument;
19
- }
20
- set(stack, value) {
21
- throw new Error(`YieldExpression#set() has no implementation.`);
22
- }
23
- get(stack) {
24
- const value = this.argument?.get(stack);
25
- if (this.delegate) {
26
- return new YieldDelegateValue(value);
27
- }
28
- return new YieldValue(value);
29
- }
30
- dependency(computed) {
31
- return this.argument?.dependency(computed) || [];
32
- }
33
- dependencyPath(computed) {
34
- return this.argument?.dependencyPath(computed) || [];
35
- }
36
- toString() {
37
- return `yield${this.delegate ? '*' : ''} ${this.argument?.toString() || ''}`;
38
- }
39
- toJson() {
40
- return {
41
- delegate: this.delegate,
42
- argument: this.argument?.toJSON()
43
- };
44
- }
45
- };
46
- YieldExpression = YieldExpression_1 = __decorate([
47
- Deserializer('YieldExpression'),
48
- __metadata("design:paramtypes", [Boolean, Object, Array, Object])
49
- ], YieldExpression);
50
- export { YieldExpression };
4
+ export let YieldExpression = (() => {
5
+ let _classDecorators = [Deserializer('YieldExpression')];
6
+ let _classDescriptor;
7
+ let _classExtraInitializers = [];
8
+ let _classThis;
9
+ var YieldExpression = class extends AbstractExpressionNode {
10
+ static {
11
+ __esDecorate(null, _classDescriptor = { value: this }, _classDecorators, { kind: "class", name: this.name }, null, _classExtraInitializers);
12
+ YieldExpression = _classThis = _classDescriptor.value;
13
+ __runInitializers(_classThis, _classExtraInitializers);
14
+ }
15
+ delegate;
16
+ argument;
17
+ static fromJSON(node, deserializer) {
18
+ return new YieldExpression(node.delegate, node.argument ? deserializer(node.argument) : void 0, node.range, node.loc);
19
+ }
20
+ static visit(node, visitNode) {
21
+ node.argument && visitNode(node.argument);
22
+ }
23
+ constructor(delegate, argument, range, loc) {
24
+ super(range, loc);
25
+ this.delegate = delegate;
26
+ this.argument = argument;
27
+ }
28
+ getArgument() {
29
+ return this.argument;
30
+ }
31
+ set(stack, value) {
32
+ throw new Error(`YieldExpression#set() has no implementation.`);
33
+ }
34
+ get(stack) {
35
+ const value = this.argument?.get(stack);
36
+ if (this.delegate) {
37
+ return new YieldDelegateValue(value);
38
+ }
39
+ return new YieldValue(value);
40
+ }
41
+ dependency(computed) {
42
+ return this.argument?.dependency(computed) || [];
43
+ }
44
+ dependencyPath(computed) {
45
+ return this.argument?.dependencyPath(computed) || [];
46
+ }
47
+ toString() {
48
+ return `yield${this.delegate ? '*' : ''} ${this.argument?.toString() || ''}`;
49
+ }
50
+ toJson() {
51
+ return {
52
+ delegate: this.delegate,
53
+ argument: this.argument?.toJSON()
54
+ };
55
+ }
56
+ };
57
+ return YieldExpression = _classThis;
58
+ })();
51
59
  //# sourceMappingURL=yield.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"yield.js","sourceRoot":"","sources":["../../../../src/expressions/api/computing/yield.ts"],"names":[],"mappings":";;AAKA,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAGtD,IAAM,eAAe,uBAArB,MAAM,eAAgB,SAAQ,sBAAsB;IAC1D,MAAM,CAAC,QAAQ,CAAC,IAAqB,EAAE,YAA8B;QACpE,OAAO,IAAI,iBAAe,CACzB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EACpD,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,GAAG,CACR,CAAC;IACH,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,IAAqB,EAAE,SAAwB;QAC3D,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;IACD,YACS,QAAiB,EACjB,QAAyB,EACjC,KAAwB,EACxB,GAAoB;QACpB,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAJV,aAAQ,GAAR,QAAQ,CAAS;QACjB,aAAQ,GAAR,QAAQ,CAAiB;IAIlC,CAAC;IACD,WAAW;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IACD,GAAG,CAAC,KAAY,EAAE,KAAU;QAC3B,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACjE,CAAC;IACD,GAAG,CAAC,KAAY;QACf,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,IAAI,CAAC,QAAQ,EAAE;YAClB,OAAO,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAC;SACrC;QACD,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,UAAU,CAAC,QAAe;QACzB,OAAO,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAClD,CAAC;IACD,cAAc,CAAC,QAAe;QAC7B,OAAO,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACtD,CAAC;IACD,QAAQ;QACP,OAAO,QAAQ,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC;IAC9E,CAAC;IACD,MAAM;QACL,OAAO;YACN,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE;SACjC,CAAC;IACH,CAAC;CACD,CAAA;AA/CY,eAAe;IAD3B,YAAY,CAAC,iBAAiB,CAAC;;GACnB,eAAe,CA+C3B;SA/CY,eAAe","sourcesContent":["import type {\n\tNodeDeserializer, ExpressionNode, ExpressionEventPath,\n\tVisitNodeType, SourceLocation\n} from '../expression.js';\nimport type { Stack } from '../../scope/stack.js';\nimport { AbstractExpressionNode, YieldDelegateValue, YieldValue } from '../abstract.js';\nimport { Deserializer } from '../deserialize/deserialize.js';\n\n@Deserializer('YieldExpression')\nexport class YieldExpression extends AbstractExpressionNode {\n\tstatic fromJSON(node: YieldExpression, deserializer: NodeDeserializer): YieldExpression {\n\t\treturn new YieldExpression(\n\t\t\tnode.delegate,\n\t\t\tnode.argument ? deserializer(node.argument) : void 0,\n\t\t\tnode.range,\n\t\t\tnode.loc\n\t\t);\n\t}\n\tstatic visit(node: YieldExpression, visitNode: VisitNodeType): void {\n\t\tnode.argument && visitNode(node.argument);\n\t}\n\tconstructor(\n\t\tprivate delegate: boolean,\n\t\tprivate argument?: ExpressionNode,\n\t\trange?: [number, number],\n\t\tloc?: SourceLocation) {\n\t\tsuper(range, loc);\n\t}\n\tgetArgument() {\n\t\treturn this.argument;\n\t}\n\tset(stack: Stack, value: any) {\n\t\tthrow new Error(`YieldExpression#set() has no implementation.`);\n\t}\n\tget(stack: Stack) {\n\t\tconst value = this.argument?.get(stack);\n\t\tif (this.delegate) {\n\t\t\treturn new YieldDelegateValue(value);\n\t\t}\n\t\treturn new YieldValue(value);\n\t}\n\tdependency(computed?: true): ExpressionNode[] {\n\t\treturn this.argument?.dependency(computed) || [];\n\t}\n\tdependencyPath(computed?: true): ExpressionEventPath[] {\n\t\treturn this.argument?.dependencyPath(computed) || [];\n\t}\n\ttoString(): string {\n\t\treturn `yield${this.delegate ? '*' : ''} ${this.argument?.toString() || ''}`;\n\t}\n\ttoJson(): object {\n\t\treturn {\n\t\t\tdelegate: this.delegate,\n\t\t\targument: this.argument?.toJSON()\n\t\t};\n\t}\n}\n"]}
1
+ {"version":3,"file":"yield.js","sourceRoot":"","sources":["../../../../src/expressions/api/computing/yield.ts"],"names":[],"mappings":";AAKA,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAG7D,MAAM,KAAO,eAAe;4BAD3B,YAAY,CAAC,iBAAiB,CAAC;;;;QACnB,eAAe,QAAC,SAAQ,sBAAsB;;YAA3D,4IA+CC;YA/CY,eAAe;YAAf,uDAAe;;QAalB,QAAQ;QACR,QAAQ;QAbjB,MAAM,CAAC,QAAQ,CAAC,IAAqB,EAAE,YAA8B;YACpE,OAAO,IAAI,eAAe,CACzB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EACpD,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,GAAG,CACR,CAAC;QACH,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,IAAqB,EAAE,SAAwB;YAC3D,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC;QACD,YACS,QAAiB,EACjB,QAAyB,EACjC,KAAwB,EACxB,GAAoB;YACpB,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAJV,aAAQ,GAAR,QAAQ,CAAS;YACjB,aAAQ,GAAR,QAAQ,CAAiB;QAIlC,CAAC;QACD,WAAW;YACV,OAAO,IAAI,CAAC,QAAQ,CAAC;QACtB,CAAC;QACD,GAAG,CAAC,KAAY,EAAE,KAAU;YAC3B,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QACjE,CAAC;QACD,GAAG,CAAC,KAAY;YACf,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YACxC,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAClB,OAAO,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAC;aACrC;YACD,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;QACD,UAAU,CAAC,QAAe;YACzB,OAAO,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAClD,CAAC;QACD,cAAc,CAAC,QAAe;YAC7B,OAAO,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtD,CAAC;QACD,QAAQ;YACP,OAAO,QAAQ,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC;QAC9E,CAAC;QACD,MAAM;YACL,OAAO;gBACN,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE;aACjC,CAAC;QACH,CAAC;;WA9CW,eAAe","sourcesContent":["import type {\n\tNodeDeserializer, ExpressionNode, ExpressionEventPath,\n\tVisitNodeType, SourceLocation\n} from '../expression.js';\nimport type { Stack } from '../../scope/stack.js';\nimport { AbstractExpressionNode, YieldDelegateValue, YieldValue } from '../abstract.js';\nimport { Deserializer } from '../deserialize/deserialize.js';\n\n@Deserializer('YieldExpression')\nexport class YieldExpression extends AbstractExpressionNode {\n\tstatic fromJSON(node: YieldExpression, deserializer: NodeDeserializer): YieldExpression {\n\t\treturn new YieldExpression(\n\t\t\tnode.delegate,\n\t\t\tnode.argument ? deserializer(node.argument) : void 0,\n\t\t\tnode.range,\n\t\t\tnode.loc\n\t\t);\n\t}\n\tstatic visit(node: YieldExpression, visitNode: VisitNodeType): void {\n\t\tnode.argument && visitNode(node.argument);\n\t}\n\tconstructor(\n\t\tprivate delegate: boolean,\n\t\tprivate argument?: ExpressionNode,\n\t\trange?: [number, number],\n\t\tloc?: SourceLocation) {\n\t\tsuper(range, loc);\n\t}\n\tgetArgument() {\n\t\treturn this.argument;\n\t}\n\tset(stack: Stack, value: any) {\n\t\tthrow new Error(`YieldExpression#set() has no implementation.`);\n\t}\n\tget(stack: Stack) {\n\t\tconst value = this.argument?.get(stack);\n\t\tif (this.delegate) {\n\t\t\treturn new YieldDelegateValue(value);\n\t\t}\n\t\treturn new YieldValue(value);\n\t}\n\tdependency(computed?: true): ExpressionNode[] {\n\t\treturn this.argument?.dependency(computed) || [];\n\t}\n\tdependencyPath(computed?: true): ExpressionEventPath[] {\n\t\treturn this.argument?.dependencyPath(computed) || [];\n\t}\n\ttoString(): string {\n\t\treturn `yield${this.delegate ? '*' : ''} ${this.argument?.toString() || ''}`;\n\t}\n\ttoJson(): object {\n\t\treturn {\n\t\t\tdelegate: this.delegate,\n\t\t\targument: this.argument?.toJSON()\n\t\t};\n\t}\n}\n"]}
@@ -31,3 +31,4 @@ export declare class ArrayPattern extends AbstractExpressionNode implements Decl
31
31
  toString(): string;
32
32
  toJson(): object;
33
33
  }
34
+ //# sourceMappingURL=array.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../../../src/expressions/api/definition/array.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,gBAAgB,EAAE,cAAc,EAAE,qBAAqB,EACvD,mBAAmB,EAAE,aAAa,EAAE,cAAc,EAClD,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAGxD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,qBACa,eAAgB,SAAQ,sBAAsB;IAYzD,OAAO,CAAC,QAAQ;IAXjB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,eAAe,EAAE,YAAY,EAAE,gBAAgB,GAAG,eAAe;IAOvF,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,GAAG,IAAI;gBAI1D,QAAQ,EAAE,CAAC,cAAc,GAAG,aAAa,GAAG,IAAI,CAAC,EAAE,EAC3D,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EACxB,GAAG,CAAC,EAAE,cAAc;IAGrB,WAAW;IAGX,GAAG,CAAC,KAAK,EAAE,KAAK;IAGhB,GAAG,CAAC,KAAK,EAAE,KAAK;IAGhB,UAAU,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAG,cAAc,EAAE;IAG7C,cAAc,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAG,mBAAmB,EAAE;IAGtD,QAAQ;IAGR,MAAM,IAAI,MAAM;CAKhB;AAGD,qBACa,YAAa,SAAQ,sBAAuB,YAAW,qBAAqB;IAYvF,OAAO,CAAC,QAAQ;IAXjB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,GAAG,YAAY;IAOjF,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,GAAG,IAAI;gBAIvD,QAAQ,EAAE,CAAC,qBAAqB,GAAG,IAAI,CAAC,EAAE,EAClD,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EACxB,GAAG,CAAC,EAAE,cAAc;IAGrB,WAAW;IAGX,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG;IAG7B,GAAG,CAAC,aAAa,EAAE,KAAK;IAGxB,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG;IAOzC,wBAAwB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE;IAcpD,2BAA2B,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC;IA0BjE,UAAU,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAG,cAAc,EAAE;IAG7C,cAAc,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAG,mBAAmB,EAAE;IAGtD,QAAQ;IAGR,MAAM,IAAI,MAAM;CAKhB"}
@@ -1,134 +1,149 @@
1
- var ArrayExpression_1, ArrayPattern_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
  import { RestElement } from '../computing/rest.js';
6
- let ArrayExpression = ArrayExpression_1 = class ArrayExpression extends AbstractExpressionNode {
7
- static fromJSON(node, deserializer) {
8
- return new ArrayExpression_1(node.elements.map(element => element ? deserializer(element) : null), node.range, node.loc);
9
- }
10
- static visit(node, visitNode) {
11
- node.elements.forEach(element => element && visitNode(element));
12
- }
13
- constructor(elements, range, loc) {
14
- super(range, loc);
15
- this.elements = elements;
16
- }
17
- getElements() {
18
- return this.elements;
19
- }
20
- set(stack) {
21
- throw new Error("ArrayExpression#set() has no implementation.");
22
- }
23
- get(stack) {
24
- return this.elements.map(item => item?.get(stack));
25
- }
26
- dependency(computed) {
27
- return this.elements.filter(item => item).flatMap(item => item.dependency(computed));
28
- }
29
- dependencyPath(computed) {
30
- return this.elements.filter(item => item).flatMap(item => item.dependencyPath(computed));
31
- }
32
- toString() {
33
- return `[ ${this.elements.map(item => item?.toString()).toString()} ]`;
34
- }
35
- toJson() {
36
- return {
37
- elements: this.elements.map(item => item?.toJSON())
38
- };
39
- }
40
- };
41
- ArrayExpression = ArrayExpression_1 = __decorate([
42
- Deserializer('ArrayExpression'),
43
- __metadata("design:paramtypes", [Array, Array, Object])
44
- ], ArrayExpression);
45
- export { ArrayExpression };
46
- let ArrayPattern = ArrayPattern_1 = class ArrayPattern extends AbstractExpressionNode {
47
- static fromJSON(node, deserializer) {
48
- return new ArrayPattern_1(node.elements.map(expression => expression ? deserializer(expression) : null), node.range, node.loc);
49
- }
50
- static visit(node, visitNode) {
51
- node.elements.forEach(expression => expression && visitNode(expression));
52
- }
53
- constructor(elements, range, loc) {
54
- super(range, loc);
55
- this.elements = elements;
56
- }
57
- getElements() {
58
- return this.elements;
59
- }
60
- set(stack, values) {
61
- throw new Error('ArrayPattern#set() has no implementation.');
62
- }
63
- get(scopeProvider) {
64
- throw new Error('ArrayPattern#get() has no implementation.');
65
- }
66
- declareVariable(stack, values) {
67
- if (Array.isArray(values)) {
68
- this.declareVariableFromArray(stack, values);
69
- }
70
- else if (Reflect.has(values, Symbol.iterator)) {
71
- this.declareVariableFromIterator(stack, values);
72
- }
73
- }
74
- declareVariableFromArray(stack, values) {
75
- for (let index = 0; index < this.elements.length; index++) {
76
- const elem = this.elements[index];
77
- if (elem == null) {
78
- continue;
79
- }
80
- if (elem instanceof RestElement) {
81
- const rest = values.slice(index);
82
- elem.declareVariable(stack, rest);
83
- break;
84
- }
85
- elem.declareVariable(stack, values[index]);
86
- }
87
- }
88
- declareVariableFromIterator(stack, iterator) {
89
- let index = 0;
90
- while (true) {
91
- let iteratorResult = iterator.next();
92
- if (iteratorResult.done) {
93
- break;
5
+ export let ArrayExpression = (() => {
6
+ let _classDecorators = [Deserializer('ArrayExpression')];
7
+ let _classDescriptor;
8
+ let _classExtraInitializers = [];
9
+ let _classThis;
10
+ var ArrayExpression = class extends AbstractExpressionNode {
11
+ static {
12
+ __esDecorate(null, _classDescriptor = { value: this }, _classDecorators, { kind: "class", name: this.name }, null, _classExtraInitializers);
13
+ ArrayExpression = _classThis = _classDescriptor.value;
14
+ __runInitializers(_classThis, _classExtraInitializers);
15
+ }
16
+ elements;
17
+ static fromJSON(node, deserializer) {
18
+ return new ArrayExpression(node.elements.map(element => element ? deserializer(element) : null), node.range, node.loc);
19
+ }
20
+ static visit(node, visitNode) {
21
+ node.elements.forEach(element => element && visitNode(element));
22
+ }
23
+ constructor(elements, range, loc) {
24
+ super(range, loc);
25
+ this.elements = elements;
26
+ }
27
+ getElements() {
28
+ return this.elements;
29
+ }
30
+ set(stack) {
31
+ throw new Error("ArrayExpression#set() has no implementation.");
32
+ }
33
+ get(stack) {
34
+ return this.elements.map(item => item?.get(stack));
35
+ }
36
+ dependency(computed) {
37
+ return this.elements.filter(item => item).flatMap(item => item.dependency(computed));
38
+ }
39
+ dependencyPath(computed) {
40
+ return this.elements.filter(item => item).flatMap(item => item.dependencyPath(computed));
41
+ }
42
+ toString() {
43
+ return `[ ${this.elements.map(item => item?.toString()).toString()} ]`;
44
+ }
45
+ toJson() {
46
+ return {
47
+ elements: this.elements.map(item => item?.toJSON())
48
+ };
49
+ }
50
+ };
51
+ return ArrayExpression = _classThis;
52
+ })();
53
+ export let ArrayPattern = (() => {
54
+ let _classDecorators_1 = [Deserializer('ArrayPattern')];
55
+ let _classDescriptor_1;
56
+ let _classExtraInitializers_1 = [];
57
+ let _classThis_1;
58
+ var ArrayPattern = class extends AbstractExpressionNode {
59
+ static {
60
+ __esDecorate(null, _classDescriptor_1 = { value: this }, _classDecorators_1, { kind: "class", name: this.name }, null, _classExtraInitializers_1);
61
+ ArrayPattern = _classThis_1 = _classDescriptor_1.value;
62
+ __runInitializers(_classThis_1, _classExtraInitializers_1);
63
+ }
64
+ elements;
65
+ static fromJSON(node, deserializer) {
66
+ return new ArrayPattern(node.elements.map(expression => expression ? deserializer(expression) : null), node.range, node.loc);
67
+ }
68
+ static visit(node, visitNode) {
69
+ node.elements.forEach(expression => expression && visitNode(expression));
70
+ }
71
+ constructor(elements, range, loc) {
72
+ super(range, loc);
73
+ this.elements = elements;
74
+ }
75
+ getElements() {
76
+ return this.elements;
77
+ }
78
+ set(stack, values) {
79
+ throw new Error('ArrayPattern#set() has no implementation.');
80
+ }
81
+ get(scopeProvider) {
82
+ throw new Error('ArrayPattern#get() has no implementation.');
83
+ }
84
+ declareVariable(stack, values) {
85
+ if (Array.isArray(values)) {
86
+ this.declareVariableFromArray(stack, values);
94
87
  }
95
- const elem = this.elements[index++];
96
- if (elem == null) {
97
- continue;
88
+ else if (Reflect.has(values, Symbol.iterator)) {
89
+ this.declareVariableFromIterator(stack, values);
98
90
  }
99
- if (elem instanceof RestElement) {
100
- const rest = [iteratorResult.value];
101
- while (!iteratorResult.done) {
102
- iteratorResult = iterator.next();
103
- rest.push(iteratorResult.value);
91
+ }
92
+ declareVariableFromArray(stack, values) {
93
+ for (let index = 0; index < this.elements.length; index++) {
94
+ const elem = this.elements[index];
95
+ if (elem == null) {
96
+ continue;
97
+ }
98
+ if (elem instanceof RestElement) {
99
+ const rest = values.slice(index);
100
+ elem.declareVariable(stack, rest);
101
+ break;
104
102
  }
105
- elem.declareVariable(stack, rest);
106
- break;
103
+ elem.declareVariable(stack, values[index]);
107
104
  }
108
- elem.declareVariable(stack, iteratorResult.value);
109
- if (index >= this.elements.length) {
110
- break;
105
+ }
106
+ declareVariableFromIterator(stack, iterator) {
107
+ let index = 0;
108
+ while (true) {
109
+ let iteratorResult = iterator.next();
110
+ if (iteratorResult.done) {
111
+ break;
112
+ }
113
+ const elem = this.elements[index++];
114
+ if (elem == null) {
115
+ continue;
116
+ }
117
+ if (elem instanceof RestElement) {
118
+ const rest = [iteratorResult.value];
119
+ while (!iteratorResult.done) {
120
+ iteratorResult = iterator.next();
121
+ rest.push(iteratorResult.value);
122
+ }
123
+ elem.declareVariable(stack, rest);
124
+ break;
125
+ }
126
+ elem.declareVariable(stack, iteratorResult.value);
127
+ if (index >= this.elements.length) {
128
+ break;
129
+ }
111
130
  }
112
131
  }
113
- }
114
- dependency(computed) {
115
- return this.elements.filter(item => item).flatMap(item => item.dependency(computed));
116
- }
117
- dependencyPath(computed) {
118
- return this.elements.filter(item => item).flatMap(item => item.dependencyPath(computed));
119
- }
120
- toString() {
121
- return `[ ${this.elements.map(item => item?.toString()).toString()} ]`;
122
- }
123
- toJson() {
124
- return {
125
- elements: this.elements.map(item => item?.toJSON())
126
- };
127
- }
128
- };
129
- ArrayPattern = ArrayPattern_1 = __decorate([
130
- Deserializer('ArrayPattern'),
131
- __metadata("design:paramtypes", [Array, Array, Object])
132
- ], ArrayPattern);
133
- export { ArrayPattern };
132
+ dependency(computed) {
133
+ return this.elements.filter(item => item).flatMap(item => item.dependency(computed));
134
+ }
135
+ dependencyPath(computed) {
136
+ return this.elements.filter(item => item).flatMap(item => item.dependencyPath(computed));
137
+ }
138
+ toString() {
139
+ return `[ ${this.elements.map(item => item?.toString()).toString()} ]`;
140
+ }
141
+ toJson() {
142
+ return {
143
+ elements: this.elements.map(item => item?.toJSON())
144
+ };
145
+ }
146
+ };
147
+ return ArrayPattern = _classThis_1;
148
+ })();
134
149
  //# sourceMappingURL=array.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"array.js","sourceRoot":"","sources":["../../../../src/expressions/api/definition/array.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n\tNodeDeserializer, ExpressionNode, DeclarationExpression,\n\tExpressionEventPath, VisitNodeType, SourceLocation\n} from '../expression.js';\nimport type { Stack } from '../../scope/stack.js';\nimport { AbstractExpressionNode } from '../abstract.js';\nimport { Deserializer } from '../deserialize/deserialize.js';\nimport { RestElement } from '../computing/rest.js';\nimport { SpreadElement } from '../computing/spread.js';\n\n@Deserializer('ArrayExpression')\nexport class ArrayExpression extends AbstractExpressionNode {\n\tstatic fromJSON(node: ArrayExpression, deserializer: NodeDeserializer): ArrayExpression {\n\t\treturn new ArrayExpression(\n\t\t\tnode.elements.map(element => element ? deserializer(element) : null),\n\t\t\tnode.range,\n\t\t\tnode.loc\n\t\t);\n\t}\n\tstatic visit(node: ArrayExpression, visitNode: VisitNodeType): void {\n\t\tnode.elements.forEach(element => element && visitNode(element));\n\t}\n\tconstructor(\n\t\tprivate elements: (ExpressionNode | SpreadElement | null)[],\n\t\trange?: [number, number],\n\t\tloc?: SourceLocation) {\n\t\tsuper(range, loc);\n\t}\n\tgetElements() {\n\t\treturn this.elements;\n\t}\n\tset(stack: Stack) {\n\t\tthrow new Error(\"ArrayExpression#set() has no implementation.\");\n\t}\n\tget(stack: Stack) {\n\t\treturn this.elements.map(item => item?.get(stack));\n\t}\n\tdependency(computed?: true): ExpressionNode[] {\n\t\treturn this.elements.filter(item => item).flatMap(item => item!.dependency(computed));\n\t}\n\tdependencyPath(computed?: true): ExpressionEventPath[] {\n\t\treturn this.elements.filter(item => item).flatMap(item => item!.dependencyPath(computed));\n\t}\n\ttoString() {\n\t\treturn `[ ${this.elements.map(item => item?.toString()).toString()} ]`;\n\t}\n\ttoJson(): object {\n\t\treturn {\n\t\t\telements: this.elements.map(item => item?.toJSON())\n\t\t};\n\t}\n}\n\n\n@Deserializer('ArrayPattern')\nexport class ArrayPattern extends AbstractExpressionNode implements DeclarationExpression {\n\tstatic fromJSON(node: ArrayPattern, deserializer: NodeDeserializer): ArrayPattern {\n\t\treturn new ArrayPattern(\n\t\t\tnode.elements.map(expression => expression ? deserializer(expression) : null) as DeclarationExpression[],\n\t\t\tnode.range,\n\t\t\tnode.loc\n\t\t);\n\t}\n\tstatic visit(node: ArrayPattern, visitNode: VisitNodeType): void {\n\t\tnode.elements.forEach(expression => expression && visitNode(expression));\n\t}\n\tconstructor(\n\t\tprivate elements: (DeclarationExpression | null)[],\n\t\trange?: [number, number],\n\t\tloc?: SourceLocation) {\n\t\tsuper(range, loc);\n\t}\n\tgetElements() {\n\t\treturn this.elements;\n\t}\n\tset(stack: Stack, values: any) {\n\t\tthrow new Error('ArrayPattern#set() has no implementation.');\n\t}\n\tget(scopeProvider: Stack) {\n\t\tthrow new Error('ArrayPattern#get() has no implementation.');\n\t}\n\tdeclareVariable(stack: Stack, values: any) {\n\t\tif (Array.isArray(values)) {\n\t\t\tthis.declareVariableFromArray(stack, values);\n\t\t} else if (Reflect.has(values, Symbol.iterator)) {\n\t\t\tthis.declareVariableFromIterator(stack, values);\n\t\t}\n\t}\n\tdeclareVariableFromArray(stack: Stack, values: any[]) {\n\t\tfor (let index = 0; index < this.elements.length; index++) {\n\t\t\tconst elem = this.elements[index];\n\t\t\tif (elem == null) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (elem instanceof RestElement) {\n\t\t\t\tconst rest = values.slice(index);\n\t\t\t\telem.declareVariable(stack, rest);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\telem.declareVariable(stack, values[index]);\n\t\t}\n\t}\n\tdeclareVariableFromIterator(stack: Stack, iterator: Iterator<any>) {\n\t\tlet index = 0;\n\t\twhile (true) {\n\t\t\tlet iteratorResult = iterator.next();\n\t\t\tif (iteratorResult.done) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tconst elem = this.elements[index++];\n\t\t\tif (elem == null) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (elem instanceof RestElement) {\n\t\t\t\tconst rest = [iteratorResult.value];\n\t\t\t\twhile (!iteratorResult.done) {\n\t\t\t\t\titeratorResult = iterator.next();\n\t\t\t\t\trest.push(iteratorResult.value);\n\t\t\t\t}\n\t\t\t\telem.declareVariable(stack, rest);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\telem.declareVariable(stack, iteratorResult.value);\n\t\t\tif (index >= this.elements.length) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tdependency(computed?: true): ExpressionNode[] {\n\t\treturn this.elements.filter(item => item).flatMap(item => item!.dependency(computed));\n\t}\n\tdependencyPath(computed?: true): ExpressionEventPath[] {\n\t\treturn this.elements.filter(item => item).flatMap(item => item!.dependencyPath(computed));\n\t}\n\ttoString() {\n\t\treturn `[ ${this.elements.map(item => item?.toString()).toString()} ]`;\n\t}\n\ttoJson(): object {\n\t\treturn {\n\t\t\telements: this.elements.map(item => item?.toJSON())\n\t\t};\n\t}\n}\n"]}
1
+ {"version":3,"file":"array.js","sourceRoot":"","sources":["../../../../src/expressions/api/definition/array.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n\tNodeDeserializer, ExpressionNode, DeclarationExpression,\n\tExpressionEventPath, VisitNodeType, SourceLocation\n} from '../expression.js';\nimport type { Stack } from '../../scope/stack.js';\nimport { AbstractExpressionNode } from '../abstract.js';\nimport { Deserializer } from '../deserialize/deserialize.js';\nimport { RestElement } from '../computing/rest.js';\nimport { SpreadElement } from '../computing/spread.js';\n\n@Deserializer('ArrayExpression')\nexport class ArrayExpression extends AbstractExpressionNode {\n\tstatic fromJSON(node: ArrayExpression, deserializer: NodeDeserializer): ArrayExpression {\n\t\treturn new ArrayExpression(\n\t\t\tnode.elements.map(element => element ? deserializer(element) : null),\n\t\t\tnode.range,\n\t\t\tnode.loc\n\t\t);\n\t}\n\tstatic visit(node: ArrayExpression, visitNode: VisitNodeType): void {\n\t\tnode.elements.forEach(element => element && visitNode(element));\n\t}\n\tconstructor(\n\t\tprivate elements: (ExpressionNode | SpreadElement | null)[],\n\t\trange?: [number, number],\n\t\tloc?: SourceLocation) {\n\t\tsuper(range, loc);\n\t}\n\tgetElements() {\n\t\treturn this.elements;\n\t}\n\tset(stack: Stack) {\n\t\tthrow new Error(\"ArrayExpression#set() has no implementation.\");\n\t}\n\tget(stack: Stack) {\n\t\treturn this.elements.map(item => item?.get(stack));\n\t}\n\tdependency(computed?: true): ExpressionNode[] {\n\t\treturn this.elements.filter(item => item).flatMap(item => item!.dependency(computed));\n\t}\n\tdependencyPath(computed?: true): ExpressionEventPath[] {\n\t\treturn this.elements.filter(item => item).flatMap(item => item!.dependencyPath(computed));\n\t}\n\ttoString() {\n\t\treturn `[ ${this.elements.map(item => item?.toString()).toString()} ]`;\n\t}\n\ttoJson(): object {\n\t\treturn {\n\t\t\telements: this.elements.map(item => item?.toJSON())\n\t\t};\n\t}\n}\n\n\n@Deserializer('ArrayPattern')\nexport class ArrayPattern extends AbstractExpressionNode implements DeclarationExpression {\n\tstatic fromJSON(node: ArrayPattern, deserializer: NodeDeserializer): ArrayPattern {\n\t\treturn new ArrayPattern(\n\t\t\tnode.elements.map(expression => expression ? deserializer(expression) : null) as DeclarationExpression[],\n\t\t\tnode.range,\n\t\t\tnode.loc\n\t\t);\n\t}\n\tstatic visit(node: ArrayPattern, visitNode: VisitNodeType): void {\n\t\tnode.elements.forEach(expression => expression && visitNode(expression));\n\t}\n\tconstructor(\n\t\tprivate elements: (DeclarationExpression | null)[],\n\t\trange?: [number, number],\n\t\tloc?: SourceLocation) {\n\t\tsuper(range, loc);\n\t}\n\tgetElements() {\n\t\treturn this.elements;\n\t}\n\tset(stack: Stack, values: any) {\n\t\tthrow new Error('ArrayPattern#set() has no implementation.');\n\t}\n\tget(scopeProvider: Stack) {\n\t\tthrow new Error('ArrayPattern#get() has no implementation.');\n\t}\n\tdeclareVariable(stack: Stack, values: any) {\n\t\tif (Array.isArray(values)) {\n\t\t\tthis.declareVariableFromArray(stack, values);\n\t\t} else if (Reflect.has(values, Symbol.iterator)) {\n\t\t\tthis.declareVariableFromIterator(stack, values);\n\t\t}\n\t}\n\tdeclareVariableFromArray(stack: Stack, values: any[]) {\n\t\tfor (let index = 0; index < this.elements.length; index++) {\n\t\t\tconst elem = this.elements[index];\n\t\t\tif (elem == null) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (elem instanceof RestElement) {\n\t\t\t\tconst rest = values.slice(index);\n\t\t\t\telem.declareVariable(stack, rest);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\telem.declareVariable(stack, values[index]);\n\t\t}\n\t}\n\tdeclareVariableFromIterator(stack: Stack, iterator: Iterator<any>) {\n\t\tlet index = 0;\n\t\twhile (true) {\n\t\t\tlet iteratorResult = iterator.next();\n\t\t\tif (iteratorResult.done) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tconst elem = this.elements[index++];\n\t\t\tif (elem == null) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (elem instanceof RestElement) {\n\t\t\t\tconst rest = [iteratorResult.value];\n\t\t\t\twhile (!iteratorResult.done) {\n\t\t\t\t\titeratorResult = iterator.next();\n\t\t\t\t\trest.push(iteratorResult.value);\n\t\t\t\t}\n\t\t\t\telem.declareVariable(stack, rest);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\telem.declareVariable(stack, iteratorResult.value);\n\t\t\tif (index >= this.elements.length) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tdependency(computed?: true): ExpressionNode[] {\n\t\treturn this.elements.filter(item => item).flatMap(item => item!.dependency(computed));\n\t}\n\tdependencyPath(computed?: true): ExpressionEventPath[] {\n\t\treturn this.elements.filter(item => item).flatMap(item => item!.dependencyPath(computed));\n\t}\n\ttoString() {\n\t\treturn `[ ${this.elements.map(item => item?.toString()).toString()} ]`;\n\t}\n\ttoJson(): object {\n\t\treturn {\n\t\t\telements: this.elements.map(item => item?.toJSON())\n\t\t};\n\t}\n}\n"]}
@@ -27,3 +27,4 @@ export declare class BindExpression extends AbstractExpressionNode implements Ca
27
27
  toString(): string;
28
28
  toJson(): object;
29
29
  }
30
+ //# sourceMappingURL=bind.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bind.d.ts","sourceRoot":"","sources":["../../../../src/expressions/api/definition/bind.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,gBAAgB,EAAE,cAAc,EAAE,YAAY,EAC9C,mBAAmB,EAAE,aAAa,EAAE,cAAc,EAClD,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAExD;;;;;GAKG;AACH,qBACa,cAAe,SAAQ,sBAAuB,YAAW,YAAY;IAgBhF,SAAS,CAAC,MAAM,EAAE,cAAc;IAChC,SAAS,CAAC,QAAQ,EAAE,cAAc;IAClC,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,QAAQ;IAlBjB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,GAAG,cAAc;IAUrF,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,GAAG,IAAI;gBAKvD,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,cAAc,EAC1B,QAAQ,EAAE,OAAO,EACjB,QAAQ,GAAE,OAAe,EACjC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EACxB,GAAG,CAAC,EAAE,cAAc;IAGrB,SAAS;IAGT,WAAW;IAGX,GAAG,CAAC,KAAK,EAAE,KAAK;IAGhB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,EAAE,GAAG;IAmBnC,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC;IACnD,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IAOtE,UAAU,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAG,cAAc,EAAE;IAG7C,cAAc,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAG,mBAAmB,EAAE;IAGtD,QAAQ;IAMR,MAAM,IAAI,MAAM;CAQhB"}