@ibyar/expressions 0.8.6 → 1.1.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 (251) hide show
  1. package/README.md +48 -1
  2. package/api/abstract.d.ts +1 -0
  3. package/api/abstract.d.ts.map +1 -0
  4. package/api/abstract.js +12 -0
  5. package/api/abstract.js.map +1 -1
  6. package/api/class/class.d.ts +1 -0
  7. package/api/class/class.d.ts.map +1 -0
  8. package/api/class/class.js +603 -472
  9. package/api/class/class.js.map +1 -1
  10. package/api/class/decorator.d.ts +1 -0
  11. package/api/class/decorator.d.ts.map +1 -0
  12. package/api/class/decorator.js +53 -41
  13. package/api/class/decorator.js.map +1 -1
  14. package/api/computing/call.d.ts +1 -0
  15. package/api/computing/call.d.ts.map +1 -0
  16. package/api/computing/call.js +83 -69
  17. package/api/computing/call.js.map +1 -1
  18. package/api/computing/debugger.d.ts +1 -0
  19. package/api/computing/debugger.d.ts.map +1 -0
  20. package/api/computing/debugger.js +40 -28
  21. package/api/computing/debugger.js.map +1 -1
  22. package/api/computing/new.d.ts +1 -0
  23. package/api/computing/new.d.ts.map +1 -0
  24. package/api/computing/new.js +81 -68
  25. package/api/computing/new.js.map +1 -1
  26. package/api/computing/rest.d.ts +1 -0
  27. package/api/computing/rest.d.ts.map +1 -0
  28. package/api/computing/rest.js +54 -42
  29. package/api/computing/rest.js.map +1 -1
  30. package/api/computing/return.d.ts +1 -0
  31. package/api/computing/return.d.ts.map +1 -0
  32. package/api/computing/return.js +52 -40
  33. package/api/computing/return.js.map +1 -1
  34. package/api/computing/spread.d.ts +1 -0
  35. package/api/computing/spread.d.ts.map +1 -0
  36. package/api/computing/spread.js +70 -58
  37. package/api/computing/spread.js.map +1 -1
  38. package/api/computing/throw.d.ts +1 -0
  39. package/api/computing/throw.d.ts.map +1 -0
  40. package/api/computing/throw.js +216 -175
  41. package/api/computing/throw.js.map +1 -1
  42. package/api/computing/yield.d.ts +1 -0
  43. package/api/computing/yield.d.ts.map +1 -0
  44. package/api/computing/yield.js +60 -47
  45. package/api/computing/yield.js.map +1 -1
  46. package/api/definition/array.d.ts +1 -0
  47. package/api/definition/array.d.ts.map +1 -0
  48. package/api/definition/array.js +147 -122
  49. package/api/definition/array.js.map +1 -1
  50. package/api/definition/bind.d.ts +1 -0
  51. package/api/definition/bind.d.ts.map +1 -0
  52. package/api/definition/bind.js +85 -70
  53. package/api/definition/bind.js.map +1 -1
  54. package/api/definition/comment.d.ts +1 -0
  55. package/api/definition/comment.d.ts.map +1 -0
  56. package/api/definition/comment.js +44 -32
  57. package/api/definition/comment.js.map +1 -1
  58. package/api/definition/function.d.ts +1 -0
  59. package/api/definition/function.d.ts.map +1 -0
  60. package/api/definition/function.js +500 -443
  61. package/api/definition/function.js.map +1 -1
  62. package/api/definition/member.d.ts +1 -0
  63. package/api/definition/member.d.ts.map +1 -0
  64. package/api/definition/member.js +104 -89
  65. package/api/definition/member.js.map +1 -1
  66. package/api/definition/object.d.ts +1 -0
  67. package/api/definition/object.d.ts.map +1 -0
  68. package/api/definition/object.js +243 -200
  69. package/api/definition/object.js.map +1 -1
  70. package/api/definition/statement.d.ts +1 -0
  71. package/api/definition/statement.d.ts.map +1 -0
  72. package/api/definition/statement.js +56 -44
  73. package/api/definition/statement.js.map +1 -1
  74. package/api/definition/values.d.ts +1 -0
  75. package/api/definition/values.d.ts.map +1 -0
  76. package/api/definition/values.js +228 -160
  77. package/api/definition/values.js.map +1 -1
  78. package/api/deserialize/deserialize.d.ts +2 -1
  79. package/api/deserialize/deserialize.d.ts.map +1 -0
  80. package/api/deserialize/deserialize.js +5 -7
  81. package/api/deserialize/deserialize.js.map +1 -1
  82. package/api/deserialize/type-store.d.ts +1 -0
  83. package/api/deserialize/type-store.d.ts.map +1 -0
  84. package/api/expression.d.ts +1 -0
  85. package/api/expression.d.ts.map +1 -0
  86. package/api/index.d.ts +1 -0
  87. package/api/index.d.ts.map +1 -0
  88. package/api/module/common.d.ts +1 -0
  89. package/api/module/common.d.ts.map +1 -0
  90. package/api/module/common.js +63 -50
  91. package/api/module/common.js.map +1 -1
  92. package/api/module/export.d.ts +1 -0
  93. package/api/module/export.d.ts.map +1 -0
  94. package/api/module/export.js +343 -290
  95. package/api/module/export.js.map +1 -1
  96. package/api/module/import.d.ts +1 -0
  97. package/api/module/import.d.ts.map +1 -0
  98. package/api/module/import.js +318 -253
  99. package/api/module/import.js.map +1 -1
  100. package/api/operators/assignment.d.ts +1 -0
  101. package/api/operators/assignment.d.ts.map +1 -0
  102. package/api/operators/assignment.js +88 -75
  103. package/api/operators/assignment.js.map +1 -1
  104. package/api/operators/await.d.ts +1 -0
  105. package/api/operators/await.d.ts.map +1 -0
  106. package/api/operators/await.js +54 -42
  107. package/api/operators/await.js.map +1 -1
  108. package/api/operators/binary.d.ts +1 -0
  109. package/api/operators/binary.d.ts.map +1 -0
  110. package/api/operators/binary.js +78 -64
  111. package/api/operators/binary.js.map +1 -1
  112. package/api/operators/chaining.d.ts +1 -0
  113. package/api/operators/chaining.d.ts.map +1 -0
  114. package/api/operators/chaining.js +56 -44
  115. package/api/operators/chaining.js.map +1 -1
  116. package/api/operators/comma.d.ts +1 -0
  117. package/api/operators/comma.d.ts.map +1 -0
  118. package/api/operators/comma.js +53 -41
  119. package/api/operators/comma.js.map +1 -1
  120. package/api/operators/grouping.d.ts +1 -0
  121. package/api/operators/grouping.d.ts.map +1 -0
  122. package/api/operators/grouping.js +51 -39
  123. package/api/operators/grouping.js.map +1 -1
  124. package/api/operators/logical.d.ts +1 -0
  125. package/api/operators/logical.d.ts.map +1 -0
  126. package/api/operators/logical.js +51 -37
  127. package/api/operators/logical.js.map +1 -1
  128. package/api/operators/pipeline.d.ts +1 -0
  129. package/api/operators/pipeline.d.ts.map +1 -0
  130. package/api/operators/pipeline.js +95 -81
  131. package/api/operators/pipeline.js.map +1 -1
  132. package/api/operators/ternary.d.ts +1 -0
  133. package/api/operators/ternary.d.ts.map +1 -0
  134. package/api/operators/ternary.js +69 -55
  135. package/api/operators/ternary.js.map +1 -1
  136. package/api/operators/types.d.ts +1 -0
  137. package/api/operators/types.d.ts.map +1 -0
  138. package/api/operators/unary.d.ts +1 -0
  139. package/api/operators/unary.d.ts.map +1 -0
  140. package/api/operators/unary.js +97 -82
  141. package/api/operators/unary.js.map +1 -1
  142. package/api/operators/update.d.ts +1 -0
  143. package/api/operators/update.d.ts.map +1 -0
  144. package/api/operators/update.js +78 -62
  145. package/api/operators/update.js.map +1 -1
  146. package/api/program.d.ts +1 -0
  147. package/api/program.d.ts.map +1 -0
  148. package/api/program.js +53 -40
  149. package/api/program.js.map +1 -1
  150. package/api/statement/control/block.d.ts +1 -0
  151. package/api/statement/control/block.d.ts.map +1 -0
  152. package/api/statement/control/block.js +65 -53
  153. package/api/statement/control/block.js.map +1 -1
  154. package/api/statement/control/empty.d.ts +1 -1
  155. package/api/statement/control/empty.d.ts.map +1 -0
  156. package/api/statement/control/empty.js +43 -33
  157. package/api/statement/control/empty.js.map +1 -1
  158. package/api/statement/control/if.d.ts +1 -0
  159. package/api/statement/control/if.d.ts.map +1 -0
  160. package/api/statement/control/if.js +79 -65
  161. package/api/statement/control/if.js.map +1 -1
  162. package/api/statement/control/switch.d.ts +1 -0
  163. package/api/statement/control/switch.d.ts.map +1 -0
  164. package/api/statement/control/switch.js +180 -141
  165. package/api/statement/control/switch.js.map +1 -1
  166. package/api/statement/control/terminate.d.ts +1 -2
  167. package/api/statement/control/terminate.d.ts.map +1 -0
  168. package/api/statement/control/terminate.js +117 -78
  169. package/api/statement/control/terminate.js.map +1 -1
  170. package/api/statement/control/with.d.ts +1 -0
  171. package/api/statement/control/with.d.ts.map +1 -0
  172. package/api/statement/control/with.js +72 -59
  173. package/api/statement/control/with.js.map +1 -1
  174. package/api/statement/declarations/declares.d.ts +1 -0
  175. package/api/statement/declarations/declares.d.ts.map +1 -0
  176. package/api/statement/declarations/declares.js +148 -121
  177. package/api/statement/declarations/declares.js.map +1 -1
  178. package/api/statement/iterations/for.d.ts +1 -0
  179. package/api/statement/iterations/for.d.ts.map +1 -0
  180. package/api/statement/iterations/for.js +337 -277
  181. package/api/statement/iterations/for.js.map +1 -1
  182. package/api/statement/iterations/while.d.ts +1 -0
  183. package/api/statement/iterations/while.d.ts.map +1 -0
  184. package/api/statement/iterations/while.js +152 -125
  185. package/api/statement/iterations/while.js.map +1 -1
  186. package/api/utils.d.ts +1 -0
  187. package/api/utils.d.ts.map +1 -0
  188. package/index.d.ts +1 -0
  189. package/index.d.ts.map +1 -0
  190. package/package.json +5 -5
  191. package/scope/builder.d.ts +27 -0
  192. package/scope/builder.d.ts.map +1 -0
  193. package/scope/builder.js +73 -0
  194. package/scope/builder.js.map +1 -0
  195. package/scope/event.d.ts +1 -0
  196. package/scope/event.d.ts.map +1 -0
  197. package/scope/finalizer.d.ts +1 -0
  198. package/scope/finalizer.d.ts.map +1 -0
  199. package/scope/index.d.ts +1 -0
  200. package/scope/index.d.ts.map +1 -0
  201. package/scope/pool.d.ts +1 -0
  202. package/scope/pool.d.ts.map +1 -0
  203. package/scope/proxy.d.ts +1 -0
  204. package/scope/proxy.d.ts.map +1 -0
  205. package/scope/proxy.js +1 -0
  206. package/scope/proxy.js.map +1 -1
  207. package/scope/scope.d.ts +1 -0
  208. package/scope/scope.d.ts.map +1 -0
  209. package/scope/scope.js +17 -11
  210. package/scope/scope.js.map +1 -1
  211. package/scope/stack.d.ts +1 -0
  212. package/scope/stack.d.ts.map +1 -0
  213. package/scope/stack.js +22 -14
  214. package/scope/stack.js.map +1 -1
  215. package/v8/enums.d.ts +1 -0
  216. package/v8/enums.d.ts.map +1 -0
  217. package/v8/enums.js +11 -11
  218. package/v8/enums.js.map +1 -1
  219. package/v8/factory.d.ts +1 -0
  220. package/v8/factory.d.ts.map +1 -0
  221. package/v8/factory.js +3 -1
  222. package/v8/factory.js.map +1 -1
  223. package/v8/index.d.ts +1 -0
  224. package/v8/index.d.ts.map +1 -0
  225. package/v8/inline.d.ts +1 -0
  226. package/v8/inline.d.ts.map +1 -0
  227. package/v8/inline.js +9 -5
  228. package/v8/inline.js.map +1 -1
  229. package/v8/language.d.ts +1 -0
  230. package/v8/language.d.ts.map +1 -0
  231. package/v8/node.d.ts +1 -0
  232. package/v8/node.d.ts.map +1 -0
  233. package/v8/parser.d.ts +1 -0
  234. package/v8/parser.d.ts.map +1 -0
  235. package/v8/parser.js +5 -5
  236. package/v8/parser.js.map +1 -1
  237. package/v8/stream.d.ts +1 -0
  238. package/v8/stream.d.ts.map +1 -0
  239. package/v8/stream.js +17 -7
  240. package/v8/stream.js.map +1 -1
  241. package/v8/token.d.ts +1 -0
  242. package/v8/token.d.ts.map +1 -0
  243. package/v8/token.js +363 -358
  244. package/v8/token.js.map +1 -1
  245. package/visit/index.d.ts +1 -0
  246. package/visit/index.d.ts.map +1 -0
  247. package/visit/visitor.d.ts +1 -0
  248. package/visit/visitor.d.ts.map +1 -0
  249. package/v8/nodes.d.ts +0 -0
  250. package/v8/nodes.js +0 -2
  251. package/v8/nodes.js.map +0 -1
@@ -1,49 +1,61 @@
1
- var ExpressionStatement_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 { isDeclarationExpression } from '../utils.js';
6
- let ExpressionStatement = ExpressionStatement_1 = class ExpressionStatement extends AbstractExpressionNode {
7
- static fromJSON(node, deserializer) {
8
- return new ExpressionStatement_1(node.body.map(deserializer), node.range, node.loc);
9
- }
10
- static visit(node, visitNode) {
11
- node.body.forEach(visitNode);
12
- }
13
- constructor(body, range, loc) {
14
- super(range, loc);
15
- this.body = body;
16
- }
17
- getBody() {
18
- return this.body;
19
- }
20
- set(stack, value) {
21
- throw new Error(`ExpressionStatement#set() has no implementation.`);
22
- }
23
- get(stack) {
24
- let value;
25
- this.body.forEach(node => value = node.get(stack));
26
- return value;
27
- }
28
- dependency(computed) {
29
- return this.body.flatMap(exp => exp.dependency(computed));
30
- }
31
- dependencyPath(computed) {
32
- return this.body.flatMap(node => node.dependencyPath(computed));
33
- }
34
- toString() {
35
- return this.body
36
- .map(node => ({ insert: !isDeclarationExpression(node), string: node.toString() }))
37
- .map(ref => `${ref.string}${ref.insert ? ';' : ''}`)
38
- .join('\n');
39
- }
40
- toJson() {
41
- return { body: this.body.map(exp => exp.toJSON()) };
42
- }
43
- };
44
- ExpressionStatement = ExpressionStatement_1 = __decorate([
45
- Deserializer('ExpressionStatement'),
46
- __metadata("design:paramtypes", [Array, Array, Object])
47
- ], ExpressionStatement);
5
+ let ExpressionStatement = (() => {
6
+ let _classDecorators = [Deserializer('ExpressionStatement')];
7
+ let _classDescriptor;
8
+ let _classExtraInitializers = [];
9
+ let _classThis;
10
+ let _classSuper = AbstractExpressionNode;
11
+ var ExpressionStatement = class extends _classSuper {
12
+ static { _classThis = this; }
13
+ static {
14
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
15
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
16
+ ExpressionStatement = _classThis = _classDescriptor.value;
17
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
18
+ __runInitializers(_classThis, _classExtraInitializers);
19
+ }
20
+ body;
21
+ static fromJSON(node, deserializer) {
22
+ return new ExpressionStatement(node.body.map(deserializer), node.range, node.loc);
23
+ }
24
+ static visit(node, visitNode) {
25
+ node.body.forEach(visitNode);
26
+ }
27
+ constructor(body, range, loc) {
28
+ super(range, loc);
29
+ this.body = body;
30
+ }
31
+ getBody() {
32
+ return this.body;
33
+ }
34
+ set(stack, value) {
35
+ throw new Error(`ExpressionStatement#set() has no implementation.`);
36
+ }
37
+ get(stack) {
38
+ let value;
39
+ this.body.forEach(node => value = node.get(stack));
40
+ return value;
41
+ }
42
+ dependency(computed) {
43
+ return this.body.flatMap(exp => exp.dependency(computed));
44
+ }
45
+ dependencyPath(computed) {
46
+ return this.body.flatMap(node => node.dependencyPath(computed));
47
+ }
48
+ toString() {
49
+ return this.body
50
+ .map(node => ({ insert: !isDeclarationExpression(node), string: node.toString() }))
51
+ .map(ref => `${ref.string}${ref.insert ? ';' : ''}`)
52
+ .join('\n');
53
+ }
54
+ toJson() {
55
+ return { body: this.body.map(exp => exp.toJSON()) };
56
+ }
57
+ };
58
+ return ExpressionStatement = _classThis;
59
+ })();
48
60
  export { ExpressionStatement };
49
61
  //# sourceMappingURL=statement.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"statement.js","sourceRoot":"","sources":["../../../../src/expressions/api/definition/statement.ts"],"names":[],"mappings":";;AAKA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAG/C,IAAM,mBAAmB,2BAAzB,MAAM,mBAAoB,SAAQ,sBAAsB;IAC9D,MAAM,CAAC,QAAQ,CAAC,IAAyB,EAAE,YAA8B;QACxE,OAAO,IAAI,qBAAmB,CAC7B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,EAC3B,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,GAAG,CACR,CAAC;IACH,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,IAAyB,EAAE,SAAwB;QAC/D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC9B,CAAC;IACD,YACS,IAAsB,EAC9B,KAAwB,EACxB,GAAoB;QACpB,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAHV,SAAI,GAAJ,IAAI,CAAkB;IAI/B,CAAC;IACD,OAAO;QACN,OAAO,IAAI,CAAC,IAAI,CAAC;IAClB,CAAC;IACD,GAAG,CAAC,KAAY,EAAE,KAAU;QAC3B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACrE,CAAC;IACD,GAAG,CAAC,KAAY;QACf,IAAI,KAAK,CAAC;QACV,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QACnD,OAAO,KAAK,CAAC;IACd,CAAC;IACD,UAAU,CAAC,QAAe;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3D,CAAC;IACD,cAAc,CAAC,QAAe;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjE,CAAC;IACD,QAAQ;QACP,OAAO,IAAI,CAAC,IAAI;aACd,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;aAClF,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;aACnD,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,CAAC;IACD,MAAM;QACL,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;IACrD,CAAC;CACD,CAAA;AA3CY,mBAAmB;IAD/B,YAAY,CAAC,qBAAqB,CAAC;;GACvB,mBAAmB,CA2C/B;SA3CY,mBAAmB","sourcesContent":["import type {\n\tNodeDeserializer, ExpressionNode,\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 { isDeclarationExpression } from '../utils.js';\n\n@Deserializer('ExpressionStatement')\nexport class ExpressionStatement extends AbstractExpressionNode {\n\tstatic fromJSON(node: ExpressionStatement, deserializer: NodeDeserializer): ExpressionStatement {\n\t\treturn new ExpressionStatement(\n\t\t\tnode.body.map(deserializer),\n\t\t\tnode.range,\n\t\t\tnode.loc\n\t\t);\n\t}\n\tstatic visit(node: ExpressionStatement, visitNode: VisitNodeType): void {\n\t\tnode.body.forEach(visitNode);\n\t}\n\tconstructor(\n\t\tprivate body: ExpressionNode[],\n\t\trange?: [number, number],\n\t\tloc?: SourceLocation) {\n\t\tsuper(range, loc);\n\t}\n\tgetBody() {\n\t\treturn this.body;\n\t}\n\tset(stack: Stack, value: any) {\n\t\tthrow new Error(`ExpressionStatement#set() has no implementation.`);\n\t}\n\tget(stack: Stack) {\n\t\tlet value;\n\t\tthis.body.forEach(node => value = node.get(stack));\n\t\treturn value;\n\t}\n\tdependency(computed?: true): ExpressionNode[] {\n\t\treturn this.body.flatMap(exp => exp.dependency(computed));\n\t}\n\tdependencyPath(computed?: true): ExpressionEventPath[] {\n\t\treturn this.body.flatMap(node => node.dependencyPath(computed));\n\t}\n\ttoString(): string {\n\t\treturn this.body\n\t\t\t.map(node => ({ insert: !isDeclarationExpression(node), string: node.toString() }))\n\t\t\t.map(ref => `${ref.string}${ref.insert ? ';' : ''}`)\n\t\t\t.join('\\n');\n\t}\n\ttoJson(): object {\n\t\treturn { body: this.body.map(exp => exp.toJSON()) };\n\t}\n}\n"]}
1
+ {"version":3,"file":"statement.js","sourceRoot":"","sources":["../../../../src/expressions/api/definition/statement.ts"],"names":[],"mappings":";AAKA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;IAGzC,mBAAmB;4BAD/B,YAAY,CAAC,qBAAqB,CAAC;;;;sBACK,sBAAsB;mCAA9B,SAAQ,WAAsB;;;;YAA/D,6KA2CC;;;YA3CY,uDAAmB;;QAYtB,IAAI;QAXb,MAAM,CAAC,QAAQ,CAAC,IAAyB,EAAE,YAA8B;YACxE,OAAO,IAAI,mBAAmB,CAC7B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,EAC3B,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,GAAG,CACR,CAAC;QACH,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,IAAyB,EAAE,SAAwB;YAC/D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9B,CAAC;QACD,YACS,IAAsB,EAC9B,KAAwB,EACxB,GAAoB;YACpB,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAHV,SAAI,GAAJ,IAAI,CAAkB;QAI/B,CAAC;QACD,OAAO;YACN,OAAO,IAAI,CAAC,IAAI,CAAC;QAClB,CAAC;QACD,GAAG,CAAC,KAAY,EAAE,KAAU;YAC3B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACrE,CAAC;QACD,GAAG,CAAC,KAAY;YACf,IAAI,KAAK,CAAC;YACV,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YACnD,OAAO,KAAK,CAAC;QACd,CAAC;QACD,UAAU,CAAC,QAAe;YACzB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC3D,CAAC;QACD,cAAc,CAAC,QAAe;YAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,QAAQ;YACP,OAAO,IAAI,CAAC,IAAI;iBACd,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;iBAClF,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;iBACnD,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,CAAC;QACD,MAAM;YACL,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;QACrD,CAAC;;;;SA1CW,mBAAmB","sourcesContent":["import type {\n\tNodeDeserializer, ExpressionNode,\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 { isDeclarationExpression } from '../utils.js';\n\n@Deserializer('ExpressionStatement')\nexport class ExpressionStatement extends AbstractExpressionNode {\n\tstatic fromJSON(node: ExpressionStatement, deserializer: NodeDeserializer): ExpressionStatement {\n\t\treturn new ExpressionStatement(\n\t\t\tnode.body.map(deserializer),\n\t\t\tnode.range,\n\t\t\tnode.loc\n\t\t);\n\t}\n\tstatic visit(node: ExpressionStatement, visitNode: VisitNodeType): void {\n\t\tnode.body.forEach(visitNode);\n\t}\n\tconstructor(\n\t\tprivate body: ExpressionNode[],\n\t\trange?: [number, number],\n\t\tloc?: SourceLocation) {\n\t\tsuper(range, loc);\n\t}\n\tgetBody() {\n\t\treturn this.body;\n\t}\n\tset(stack: Stack, value: any) {\n\t\tthrow new Error(`ExpressionStatement#set() has no implementation.`);\n\t}\n\tget(stack: Stack) {\n\t\tlet value;\n\t\tthis.body.forEach(node => value = node.get(stack));\n\t\treturn value;\n\t}\n\tdependency(computed?: true): ExpressionNode[] {\n\t\treturn this.body.flatMap(exp => exp.dependency(computed));\n\t}\n\tdependencyPath(computed?: true): ExpressionEventPath[] {\n\t\treturn this.body.flatMap(node => node.dependencyPath(computed));\n\t}\n\ttoString(): string {\n\t\treturn this.body\n\t\t\t.map(node => ({ insert: !isDeclarationExpression(node), string: node.toString() }))\n\t\t\t.map(ref => `${ref.string}${ref.insert ? ';' : ''}`)\n\t\t\t.join('\\n');\n\t}\n\ttoJson(): object {\n\t\treturn { body: this.body.map(exp => exp.toJSON()) };\n\t}\n}\n"]}
@@ -89,3 +89,4 @@ export declare class TaggedTemplateExpression extends TemplateLiteralExpressionN
89
89
  constructor(tag: ExpressionNode, quasis: string[], expressions: ExpressionNode[], range?: [number, number], loc?: SourceLocation);
90
90
  getTag(): ExpressionNode;
91
91
  }
92
+ //# sourceMappingURL=values.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"values.d.ts","sourceRoot":"","sources":["../../../../src/expressions/api/definition/values.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- var Identifier_1, ThisExpression_1, Literal_1, TemplateLiteral_1, TaggedTemplateExpression_1;
2
- import { __decorate, __metadata } from "tslib";
1
+ import { __esDecorate, __runInitializers } from "tslib";
3
2
  import { Deserializer } from '../deserialize/deserialize.js';
4
3
  import { AbstractExpressionNode } from '../abstract.js';
5
4
  /**
@@ -11,156 +10,201 @@ import { AbstractExpressionNode } from '../abstract.js';
11
10
  * there is no way to convert identifiers to strings,
12
11
  * but sometimes it is possible to parse strings into identifiers.
13
12
  */
14
- let Identifier = Identifier_1 = class Identifier extends AbstractExpressionNode {
15
- static fromJSON(node) {
16
- return new Identifier_1(node.name, node.range, node.loc);
17
- }
18
- constructor(name, range, loc) {
19
- super(range, loc);
20
- this.name = name;
21
- }
22
- getName() {
23
- return this.name;
24
- }
25
- set(stack, value) {
26
- return stack.set(this.name, value) ? value : void 0;
27
- }
28
- get(stack, thisContext) {
29
- if (thisContext) {
30
- return thisContext[this.name];
13
+ let Identifier = (() => {
14
+ let _classDecorators = [Deserializer('Identifier')];
15
+ let _classDescriptor;
16
+ let _classExtraInitializers = [];
17
+ let _classThis;
18
+ let _classSuper = AbstractExpressionNode;
19
+ var Identifier = class extends _classSuper {
20
+ static { _classThis = this; }
21
+ static {
22
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
23
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
24
+ Identifier = _classThis = _classDescriptor.value;
25
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
26
+ __runInitializers(_classThis, _classExtraInitializers);
31
27
  }
32
- return stack.get(this.name);
33
- }
34
- findScope(stack, scope) {
35
- if (scope) {
28
+ name;
29
+ static fromJSON(node) {
30
+ return new Identifier(node.name, node.range, node.loc);
31
+ }
32
+ constructor(name, range, loc) {
33
+ super(range, loc);
34
+ this.name = name;
35
+ }
36
+ getName() {
37
+ return this.name;
38
+ }
39
+ set(stack, value) {
40
+ return stack.set(this.name, value) ? value : void 0;
41
+ }
42
+ get(stack, thisContext) {
43
+ if (thisContext) {
44
+ return thisContext[this.name];
45
+ }
46
+ return stack.get(this.name);
47
+ }
48
+ findScope(stack, scope) {
49
+ if (scope) {
50
+ return scope.getInnerScope(this.name);
51
+ }
52
+ scope = stack.findScope(this.name);
36
53
  return scope.getInnerScope(this.name);
37
54
  }
38
- scope = stack.findScope(this.name);
39
- return scope.getInnerScope(this.name);
40
- }
41
- declareVariable(stack, propertyValue) {
42
- return stack.declareVariable(this.name, propertyValue);
43
- }
44
- getDeclarationName() {
45
- return this.toString();
46
- }
47
- dependency(computed) {
48
- return [this];
49
- }
50
- dependencyPath(computed) {
51
- const path = [{ computed: false, path: this.toString() }];
52
- return computed ? [{ computed, path: this.toString(), computedPath: [path] }] : path;
53
- }
54
- toString() {
55
- return String(this.name);
56
- }
57
- toJson() {
58
- return { name: this.name };
59
- }
60
- };
61
- Identifier = Identifier_1 = __decorate([
62
- Deserializer('Identifier'),
63
- __metadata("design:paramtypes", [Object, Array, Object])
64
- ], Identifier);
55
+ declareVariable(stack, propertyValue) {
56
+ return stack.declareVariable(this.name, propertyValue);
57
+ }
58
+ getDeclarationName() {
59
+ return this.toString();
60
+ }
61
+ dependency(computed) {
62
+ return [this];
63
+ }
64
+ dependencyPath(computed) {
65
+ const path = [{ computed: false, path: this.toString() }];
66
+ return computed ? [{ computed, path: this.toString(), computedPath: [path] }] : path;
67
+ }
68
+ toString() {
69
+ return String(this.name);
70
+ }
71
+ toJson() {
72
+ return { name: this.name };
73
+ }
74
+ };
75
+ return Identifier = _classThis;
76
+ })();
65
77
  export { Identifier };
66
- let ThisExpression = ThisExpression_1 = class ThisExpression extends Identifier {
67
- static fromJSON(node) {
68
- return new ThisExpression_1(node.range, node.loc);
69
- }
70
- constructor(range, loc) {
71
- super('this', range, loc);
72
- }
73
- toJson() {
74
- return {};
75
- }
76
- };
77
- ThisExpression = ThisExpression_1 = __decorate([
78
- Deserializer('ThisExpression'),
79
- __metadata("design:paramtypes", [Array, Object])
80
- ], ThisExpression);
78
+ let ThisExpression = (() => {
79
+ let _classDecorators = [Deserializer('ThisExpression')];
80
+ let _classDescriptor;
81
+ let _classExtraInitializers = [];
82
+ let _classThis;
83
+ let _classSuper = Identifier;
84
+ var ThisExpression = class extends _classSuper {
85
+ static { _classThis = this; }
86
+ static {
87
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
88
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
89
+ ThisExpression = _classThis = _classDescriptor.value;
90
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
91
+ __runInitializers(_classThis, _classExtraInitializers);
92
+ }
93
+ static fromJSON(node) {
94
+ return new ThisExpression(node.range, node.loc);
95
+ }
96
+ constructor(range, loc) {
97
+ super('this', range, loc);
98
+ }
99
+ toJson() {
100
+ return {};
101
+ }
102
+ };
103
+ return ThisExpression = _classThis;
104
+ })();
81
105
  export { ThisExpression };
82
- let Literal = Literal_1 = class Literal extends AbstractExpressionNode {
83
- static fromJSON(node) {
84
- if (node.bigint) {
85
- return new Literal_1(BigInt(node.bigint), node.raw, undefined, node.bigint, node.range, node.loc);
106
+ let Literal = (() => {
107
+ let _classDecorators = [Deserializer('Literal')];
108
+ let _classDescriptor;
109
+ let _classExtraInitializers = [];
110
+ let _classThis;
111
+ let _classSuper = AbstractExpressionNode;
112
+ var Literal = class extends _classSuper {
113
+ static { _classThis = this; }
114
+ static {
115
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
116
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
117
+ Literal = _classThis = _classDescriptor.value;
118
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
119
+ __runInitializers(_classThis, _classExtraInitializers);
86
120
  }
87
- else if (node.regex) {
88
- return new Literal_1(RegExp(node.regex.pattern, node.regex.flags), node.raw, node.regex, undefined, node.range, node.loc);
121
+ value;
122
+ static fromJSON(node) {
123
+ if (node.bigint) {
124
+ return new Literal(BigInt(node.bigint), node.raw, undefined, node.bigint, node.range, node.loc);
125
+ }
126
+ else if (node.regex) {
127
+ return new Literal(RegExp(node.regex.pattern, node.regex.flags), node.raw, node.regex, undefined, node.range, node.loc);
128
+ }
129
+ return new Literal(node.value, node.raw, undefined, undefined, node.range, node.loc);
89
130
  }
90
- return new Literal_1(node.value, node.raw, undefined, undefined, node.range, node.loc);
91
- }
92
- constructor(value, raw, regex, bigint, range, loc) {
93
- super(range, loc);
94
- this.value = value;
95
- raw && (this.raw = raw);
96
- regex && (this.regex = regex);
97
- bigint && (this.bigint = bigint);
98
- }
99
- getValue() {
100
- return this.value;
101
- }
102
- getRegex() {
103
- return this.regex;
104
- }
105
- getBigint() {
106
- return this.bigint;
107
- }
108
- geRaw() {
109
- return this.raw;
110
- }
111
- set() {
112
- throw new Error(`${this.constructor.name}#set() has no implementation.`);
113
- }
114
- get() {
115
- return this.value;
116
- }
117
- findScope(stack, scope) {
118
- if (scope) {
131
+ regex;
132
+ bigint;
133
+ raw;
134
+ constructor(value, raw, regex, bigint, range, loc) {
135
+ super(range, loc);
136
+ this.value = value;
137
+ raw && (this.raw = raw);
138
+ regex && (this.regex = regex);
139
+ bigint && (this.bigint = bigint);
140
+ }
141
+ getValue() {
142
+ return this.value;
143
+ }
144
+ getRegex() {
145
+ return this.regex;
146
+ }
147
+ getBigint() {
148
+ return this.bigint;
149
+ }
150
+ geRaw() {
151
+ return this.raw;
152
+ }
153
+ set() {
154
+ throw new Error(`${this.constructor.name}#set() has no implementation.`);
155
+ }
156
+ get() {
157
+ return this.value;
158
+ }
159
+ findScope(stack, scope) {
160
+ if (scope) {
161
+ return scope.getInnerScope(this.value);
162
+ }
163
+ scope = stack.findScope(this.value);
119
164
  return scope.getInnerScope(this.value);
120
165
  }
121
- scope = stack.findScope(this.value);
122
- return scope.getInnerScope(this.value);
123
- }
124
- dependency(computed) {
125
- return computed ? [this] : [];
126
- }
127
- dependencyPath(computed) {
128
- return computed ? [{ computed: false, path: this.toString() }] : [];
129
- }
130
- toString() {
131
- return this.raw ?? String(this.value);
132
- }
133
- toJson() {
134
- if (this.bigint) {
135
- return {
136
- bigint: this.bigint,
137
- raw: this.raw,
138
- };
166
+ dependency(computed) {
167
+ return computed ? [this] : [];
139
168
  }
140
- else if (this.regex) {
169
+ dependencyPath(computed) {
170
+ return computed ? [{ computed: false, path: this.toString() }] : [];
171
+ }
172
+ toString() {
173
+ return this.raw ?? String(this.value);
174
+ }
175
+ toJson() {
176
+ if (this.bigint) {
177
+ return {
178
+ bigint: this.bigint,
179
+ raw: this.raw,
180
+ };
181
+ }
182
+ else if (this.regex) {
183
+ return {
184
+ regex: { pattern: this.regex?.pattern, flags: this.regex?.flags },
185
+ raw: this.raw,
186
+ };
187
+ }
141
188
  return {
142
- regex: { pattern: this.regex?.pattern, flags: this.regex?.flags },
189
+ value: this.value,
143
190
  raw: this.raw,
144
191
  };
145
192
  }
146
- return {
147
- value: this.value,
148
- raw: this.raw,
149
- };
150
- }
151
- };
152
- Literal = Literal_1 = __decorate([
153
- Deserializer('Literal'),
154
- __metadata("design:paramtypes", [Object, String, Object, String, Array, Object])
155
- ], Literal);
193
+ };
194
+ return Literal = _classThis;
195
+ })();
156
196
  export { Literal };
157
197
  class TemplateArray extends Array {
198
+ raw;
158
199
  constructor(strings) {
159
200
  super(...strings);
160
201
  this.raw = strings;
161
202
  }
162
203
  }
163
204
  export class TemplateLiteralExpressionNode extends AbstractExpressionNode {
205
+ quasis;
206
+ expressions;
207
+ tag;
164
208
  static visit(node, visitNode) {
165
209
  node.tag && visitNode(node.tag);
166
210
  node.expressions.forEach(visitNode);
@@ -215,36 +259,60 @@ export class TemplateLiteralExpressionNode extends AbstractExpressionNode {
215
259
  };
216
260
  }
217
261
  }
218
- let TemplateLiteral = TemplateLiteral_1 = class TemplateLiteral extends TemplateLiteralExpressionNode {
219
- static fromJSON(node, deserializer) {
220
- return new TemplateLiteral_1(node.quasis, node.expressions.map(deserializer), node.range, node.loc);
221
- }
222
- constructor(quasis, expressions, range, loc) {
223
- super(quasis, expressions, undefined, range, loc);
224
- }
225
- getTag() {
226
- return undefined;
227
- }
228
- };
229
- TemplateLiteral = TemplateLiteral_1 = __decorate([
230
- Deserializer('TemplateLiteral'),
231
- __metadata("design:paramtypes", [Array, Array, Array, Object])
232
- ], TemplateLiteral);
262
+ let TemplateLiteral = (() => {
263
+ let _classDecorators = [Deserializer('TemplateLiteral')];
264
+ let _classDescriptor;
265
+ let _classExtraInitializers = [];
266
+ let _classThis;
267
+ let _classSuper = TemplateLiteralExpressionNode;
268
+ var TemplateLiteral = class extends _classSuper {
269
+ static { _classThis = this; }
270
+ static {
271
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
272
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
273
+ TemplateLiteral = _classThis = _classDescriptor.value;
274
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
275
+ __runInitializers(_classThis, _classExtraInitializers);
276
+ }
277
+ static fromJSON(node, deserializer) {
278
+ return new TemplateLiteral(node.quasis, node.expressions.map(deserializer), node.range, node.loc);
279
+ }
280
+ constructor(quasis, expressions, range, loc) {
281
+ super(quasis, expressions, undefined, range, loc);
282
+ }
283
+ getTag() {
284
+ return undefined;
285
+ }
286
+ };
287
+ return TemplateLiteral = _classThis;
288
+ })();
233
289
  export { TemplateLiteral };
234
- let TaggedTemplateExpression = TaggedTemplateExpression_1 = class TaggedTemplateExpression extends TemplateLiteralExpressionNode {
235
- static fromJSON(node, deserializer) {
236
- return new TaggedTemplateExpression_1(deserializer(node.tag), node.quasis, node.expressions.map(deserializer), node.range, node.loc);
237
- }
238
- constructor(tag, quasis, expressions, range, loc) {
239
- super(quasis, expressions, tag, range, loc);
240
- }
241
- getTag() {
242
- return super.getTag();
243
- }
244
- };
245
- TaggedTemplateExpression = TaggedTemplateExpression_1 = __decorate([
246
- Deserializer('TaggedTemplateExpression'),
247
- __metadata("design:paramtypes", [Object, Array, Array, Array, Object])
248
- ], TaggedTemplateExpression);
290
+ let TaggedTemplateExpression = (() => {
291
+ let _classDecorators = [Deserializer('TaggedTemplateExpression')];
292
+ let _classDescriptor;
293
+ let _classExtraInitializers = [];
294
+ let _classThis;
295
+ let _classSuper = TemplateLiteralExpressionNode;
296
+ var TaggedTemplateExpression = class extends _classSuper {
297
+ static { _classThis = this; }
298
+ static {
299
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
300
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
301
+ TaggedTemplateExpression = _classThis = _classDescriptor.value;
302
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
303
+ __runInitializers(_classThis, _classExtraInitializers);
304
+ }
305
+ static fromJSON(node, deserializer) {
306
+ return new TaggedTemplateExpression(deserializer(node.tag), node.quasis, node.expressions.map(deserializer), node.range, node.loc);
307
+ }
308
+ constructor(tag, quasis, expressions, range, loc) {
309
+ super(quasis, expressions, tag, range, loc);
310
+ }
311
+ getTag() {
312
+ return super.getTag();
313
+ }
314
+ };
315
+ return TaggedTemplateExpression = _classThis;
316
+ })();
249
317
  export { TaggedTemplateExpression };
250
318
  //# sourceMappingURL=values.js.map