@ibyar/expressions 0.8.6 → 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 +4 -4
  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 +3 -1
  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 +9 -5
  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 +1 @@
1
- {"version":3,"file":"binary.js","sourceRoot":"","sources":["../../../../src/expressions/api/operators/binary.ts"],"names":[],"mappings":"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","sourcesContent":["import type { EvaluateNode, EvaluateType } from './types.js';\nimport type { Stack } from '../../scope/stack.js';\nimport type { NodeDeserializer, VisitNodeType } from '../expression.js';\nimport { InfixExpressionNode } from '../abstract.js';\nimport { Deserializer } from '../deserialize/deserialize.js';\n\nexport type BinaryOperator =\n\t'==' | '!=' | '===' | '!=='\n\t| '<' | '<=' | '>' | '>='\n\t| '<<' | '>>' | '>>>'\n\t| '+' | '-' | '*' | '/' | '%'\n\t| '|' | '^' | '&' | 'in'\n\t| 'instanceof'\n\t| '**' | '%%' | '>?' | '<?' | '<=>';\n\n@Deserializer('BinaryExpression')\nexport class BinaryExpression extends InfixExpressionNode<BinaryOperator> {\n\tstatic fromJSON(node: BinaryExpression, deserializer: NodeDeserializer): BinaryExpression {\n\t\treturn new BinaryExpression(\n\t\t\tnode.operator,\n\t\t\tdeserializer(node.left),\n\t\t\tdeserializer(node.right),\n\t\t\tnode.range,\n\t\t\tnode.loc\n\t\t);\n\t}\n\tstatic visit(node: BinaryExpression, visitNode: VisitNodeType): void {\n\t\tvisitNode(node.left);\n\t\tvisitNode(node.right);\n\t}\n\tstatic Evaluations: EvaluateType = {\n\t\t'==': (evalNode: EvaluateNode) => { return evalNode.left == evalNode.right; },\n\t\t'!=': (evalNode: EvaluateNode) => { return evalNode.left != evalNode.right; },\n\n\t\t'===': (evalNode: EvaluateNode) => { return evalNode.left === evalNode.right; },\n\t\t'!==': (evalNode: EvaluateNode) => { return evalNode.left !== evalNode.right; },\n\n\t\t'<': (evalNode: EvaluateNode) => { return evalNode.left < evalNode.right; },\n\t\t'<=': (evalNode: EvaluateNode) => { return evalNode.left <= evalNode.right; },\n\n\t\t'>': (evalNode: EvaluateNode) => { return evalNode.left > evalNode.right; },\n\t\t'>=': (evalNode: EvaluateNode) => { return evalNode.left >= evalNode.right; },\n\n\t\t'*': (evalNode: EvaluateNode) => { return evalNode.left * evalNode.right; },\n\t\t'/': (evalNode: EvaluateNode) => { return evalNode.left / evalNode.right; },\n\t\t'%': (evalNode: EvaluateNode) => { return evalNode.left % evalNode.right; },\n\n\t\t'+': (evalNode: EvaluateNode) => { return evalNode.left + evalNode.right; },\n\t\t'-': (evalNode: EvaluateNode) => { return evalNode.left - evalNode.right; },\n\n\t\t'in': (evalNode: EvaluateNode) => { return evalNode.left in evalNode.right; },\n\t\t'instanceof': (evalNode: EvaluateNode) => { return evalNode.left instanceof evalNode.right; },\n\n\t\t'<<': (evalNode: EvaluateNode) => { return evalNode.left << evalNode.right; },\n\t\t'>>': (evalNode: EvaluateNode) => { return evalNode.left >> evalNode.right; },\n\t\t'>>>': (evalNode: EvaluateNode) => { return evalNode.left >>> evalNode.right; },\n\n\t\t'&': (evalNode: EvaluateNode) => { return evalNode.left & evalNode.right; },\n\t\t'^': (evalNode: EvaluateNode) => { return evalNode.left ^ evalNode.right; },\n\t\t'|': (evalNode: EvaluateNode) => { return evalNode.left | evalNode.right; },\n\n\t\t'**': (evalNode: EvaluateNode) => { return evalNode.left ** evalNode.right; },\n\t\t'%%': (evalNode: EvaluateNode) => { return ((evalNode.left % evalNode.right) + evalNode.right) % evalNode.right; },\n\t\t'>?': (evalNode: EvaluateNode) => { return evalNode.left > evalNode.right ? evalNode.left : evalNode.right; },\n\t\t'<?': (evalNode: EvaluateNode) => { return evalNode.left > evalNode.right ? evalNode.right : evalNode.left; },\n\t\t'<=>': (evalNode: EvaluateNode) => {\n\t\t\tif ((evalNode.left === null || evalNode.right === null) || (typeof evalNode.left != typeof evalNode.right)) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tif (typeof evalNode.left === 'string') {\n\t\t\t\treturn evalNode.left.localeCompare(evalNode.right);\n\t\t\t} else {\n\t\t\t\tif (evalNode.left > evalNode.right) {\n\t\t\t\t\treturn 1;\n\t\t\t\t} else if (evalNode.left < evalNode.right) {\n\t\t\t\t\treturn -1;\n\t\t\t\t}\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t}\n\t};\n\tset(context: object, value: any) {\n\t\tthrow new Error(`BinaryExpression#set() for operator:(${this.operator}) has no implementation.`);\n\t}\n\tget(stack: Stack): any {\n\t\tconst evalNode: EvaluateNode = {\n\t\t\tleft: this.left.get(stack),\n\t\t\tright: this.right.get(stack)\n\t\t};\n\t\treturn BinaryExpression.Evaluations[this.operator](evalNode);\n\t}\n}\n"]}
1
+ {"version":3,"file":"binary.js","sourceRoot":"","sources":["../../../../src/expressions/api/operators/binary.ts"],"names":[],"mappings":"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","sourcesContent":["import type { EvaluateNode, EvaluateType } from './types.js';\nimport type { Stack } from '../../scope/stack.js';\nimport type { NodeDeserializer, VisitNodeType } from '../expression.js';\nimport { InfixExpressionNode } from '../abstract.js';\nimport { Deserializer } from '../deserialize/deserialize.js';\n\nexport type BinaryOperator =\n\t'==' | '!=' | '===' | '!=='\n\t| '<' | '<=' | '>' | '>='\n\t| '<<' | '>>' | '>>>'\n\t| '+' | '-' | '*' | '/' | '%'\n\t| '|' | '^' | '&' | 'in'\n\t| 'instanceof'\n\t| '**' | '%%' | '>?' | '<?' | '<=>';\n\n@Deserializer('BinaryExpression')\nexport class BinaryExpression extends InfixExpressionNode<BinaryOperator> {\n\tstatic fromJSON(node: BinaryExpression, deserializer: NodeDeserializer): BinaryExpression {\n\t\treturn new BinaryExpression(\n\t\t\tnode.operator,\n\t\t\tdeserializer(node.left),\n\t\t\tdeserializer(node.right),\n\t\t\tnode.range,\n\t\t\tnode.loc\n\t\t);\n\t}\n\tstatic visit(node: BinaryExpression, visitNode: VisitNodeType): void {\n\t\tvisitNode(node.left);\n\t\tvisitNode(node.right);\n\t}\n\tstatic Evaluations: EvaluateType = {\n\t\t'==': (evalNode: EvaluateNode) => { return evalNode.left == evalNode.right; },\n\t\t'!=': (evalNode: EvaluateNode) => { return evalNode.left != evalNode.right; },\n\n\t\t'===': (evalNode: EvaluateNode) => { return evalNode.left === evalNode.right; },\n\t\t'!==': (evalNode: EvaluateNode) => { return evalNode.left !== evalNode.right; },\n\n\t\t'<': (evalNode: EvaluateNode) => { return evalNode.left < evalNode.right; },\n\t\t'<=': (evalNode: EvaluateNode) => { return evalNode.left <= evalNode.right; },\n\n\t\t'>': (evalNode: EvaluateNode) => { return evalNode.left > evalNode.right; },\n\t\t'>=': (evalNode: EvaluateNode) => { return evalNode.left >= evalNode.right; },\n\n\t\t'*': (evalNode: EvaluateNode) => { return evalNode.left * evalNode.right; },\n\t\t'/': (evalNode: EvaluateNode) => { return evalNode.left / evalNode.right; },\n\t\t'%': (evalNode: EvaluateNode) => { return evalNode.left % evalNode.right; },\n\n\t\t'+': (evalNode: EvaluateNode) => { return evalNode.left + evalNode.right; },\n\t\t'-': (evalNode: EvaluateNode) => { return evalNode.left - evalNode.right; },\n\n\t\t'in': (evalNode: EvaluateNode) => { return evalNode.left in evalNode.right; },\n\t\t'instanceof': (evalNode: EvaluateNode) => { return evalNode.left instanceof evalNode.right; },\n\n\t\t'<<': (evalNode: EvaluateNode) => { return evalNode.left << evalNode.right; },\n\t\t'>>': (evalNode: EvaluateNode) => { return evalNode.left >> evalNode.right; },\n\t\t'>>>': (evalNode: EvaluateNode) => { return evalNode.left >>> evalNode.right; },\n\n\t\t'&': (evalNode: EvaluateNode) => { return evalNode.left & evalNode.right; },\n\t\t'^': (evalNode: EvaluateNode) => { return evalNode.left ^ evalNode.right; },\n\t\t'|': (evalNode: EvaluateNode) => { return evalNode.left | evalNode.right; },\n\n\t\t'**': (evalNode: EvaluateNode) => { return evalNode.left ** evalNode.right; },\n\t\t'%%': (evalNode: EvaluateNode) => { return ((evalNode.left % evalNode.right) + evalNode.right) % evalNode.right; },\n\t\t'>?': (evalNode: EvaluateNode) => { return evalNode.left > evalNode.right ? evalNode.left : evalNode.right; },\n\t\t'<?': (evalNode: EvaluateNode) => { return evalNode.left > evalNode.right ? evalNode.right : evalNode.left; },\n\t\t'<=>': (evalNode: EvaluateNode) => {\n\t\t\tif ((evalNode.left === null || evalNode.right === null) || (typeof evalNode.left != typeof evalNode.right)) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tif (typeof evalNode.left === 'string') {\n\t\t\t\treturn evalNode.left.localeCompare(evalNode.right);\n\t\t\t} else {\n\t\t\t\tif (evalNode.left > evalNode.right) {\n\t\t\t\t\treturn 1;\n\t\t\t\t} else if (evalNode.left < evalNode.right) {\n\t\t\t\t\treturn -1;\n\t\t\t\t}\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t}\n\t};\n\tset(context: object, value: any) {\n\t\tthrow new Error(`BinaryExpression#set() for operator:(${this.operator}) has no implementation.`);\n\t}\n\tget(stack: Stack): any {\n\t\tconst evalNode: EvaluateNode = {\n\t\t\tleft: this.left.get(stack),\n\t\t\tright: this.right.get(stack)\n\t\t};\n\t\treturn BinaryExpression.Evaluations[this.operator](evalNode);\n\t}\n}\n"]}
@@ -17,3 +17,4 @@ export declare class ChainExpression extends AbstractExpressionNode implements C
17
17
  toString(): string;
18
18
  toJson(): object;
19
19
  }
20
+ //# sourceMappingURL=chaining.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chaining.d.ts","sourceRoot":"","sources":["../../../../src/expressions/api/operators/chaining.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;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAGxD,qBACa,eAAgB,SAAQ,sBAAuB,YAAW,YAAY;IAYjF,OAAO,CAAC,UAAU;IAXnB,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,UAAU,EAAE,cAAc,EAClC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EACxB,GAAG,CAAC,EAAE,cAAc;IAGrB,aAAa;IAGb,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;IAG5B,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,EAAE,GAAG;IAGnC,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;IAItE,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,48 +1,55 @@
1
- var ChainExpression_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
- let ChainExpression = ChainExpression_1 = class ChainExpression extends AbstractExpressionNode {
6
- static fromJSON(node, deserializer) {
7
- return new ChainExpression_1(deserializer(node.expression), node.range, node.loc);
8
- }
9
- static visit(node, visitNode) {
10
- visitNode(node.expression);
11
- }
12
- constructor(expression, range, loc) {
13
- super(range, loc);
14
- this.expression = expression;
15
- }
16
- getExpression() {
17
- return this.expression;
18
- }
19
- set(stack, value) {
20
- throw new Error(`ChainExpression.#set() has no implementation.`);
21
- }
22
- get(stack, thisContext) {
23
- return this.expression.get(stack, thisContext);
24
- }
25
- findScope(stack, objectScope) {
26
- return this.expression.findScope(stack, objectScope);
27
- }
28
- dependency(computed) {
29
- return this.expression.dependency(computed);
30
- }
31
- dependencyPath(computed) {
32
- return this.expression.dependencyPath(computed);
33
- }
34
- toString() {
35
- return this.expression.toString();
36
- }
37
- toJson() {
38
- return {
39
- expression: this.expression.toJSON(),
40
- };
41
- }
42
- };
43
- ChainExpression = ChainExpression_1 = __decorate([
44
- Deserializer('ChainExpression'),
45
- __metadata("design:paramtypes", [Object, Array, Object])
46
- ], ChainExpression);
47
- export { ChainExpression };
4
+ export let ChainExpression = (() => {
5
+ let _classDecorators = [Deserializer('ChainExpression')];
6
+ let _classDescriptor;
7
+ let _classExtraInitializers = [];
8
+ let _classThis;
9
+ var ChainExpression = class extends AbstractExpressionNode {
10
+ static {
11
+ __esDecorate(null, _classDescriptor = { value: this }, _classDecorators, { kind: "class", name: this.name }, null, _classExtraInitializers);
12
+ ChainExpression = _classThis = _classDescriptor.value;
13
+ __runInitializers(_classThis, _classExtraInitializers);
14
+ }
15
+ expression;
16
+ static fromJSON(node, deserializer) {
17
+ return new ChainExpression(deserializer(node.expression), node.range, node.loc);
18
+ }
19
+ static visit(node, visitNode) {
20
+ visitNode(node.expression);
21
+ }
22
+ constructor(expression, range, loc) {
23
+ super(range, loc);
24
+ this.expression = expression;
25
+ }
26
+ getExpression() {
27
+ return this.expression;
28
+ }
29
+ set(stack, value) {
30
+ throw new Error(`ChainExpression.#set() has no implementation.`);
31
+ }
32
+ get(stack, thisContext) {
33
+ return this.expression.get(stack, thisContext);
34
+ }
35
+ findScope(stack, objectScope) {
36
+ return this.expression.findScope(stack, objectScope);
37
+ }
38
+ dependency(computed) {
39
+ return this.expression.dependency(computed);
40
+ }
41
+ dependencyPath(computed) {
42
+ return this.expression.dependencyPath(computed);
43
+ }
44
+ toString() {
45
+ return this.expression.toString();
46
+ }
47
+ toJson() {
48
+ return {
49
+ expression: this.expression.toJSON(),
50
+ };
51
+ }
52
+ };
53
+ return ChainExpression = _classThis;
54
+ })();
48
55
  //# sourceMappingURL=chaining.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chaining.js","sourceRoot":"","sources":["../../../../src/expressions/api/operators/chaining.ts"],"names":[],"mappings":";;AAMA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,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,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,EAC7B,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,GAAG,CACR,CAAC;IACH,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,IAAqB,EAAE,SAAwB;QAC3D,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5B,CAAC;IACD,YACS,UAA0B,EAClC,KAAwB,EACxB,GAAoB;QACpB,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAHV,eAAU,GAAV,UAAU,CAAgB;IAInC,CAAC;IACD,aAAa;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IACD,GAAG,CAAC,KAAY,EAAE,KAAU;QAC3B,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;IACjE,CAAC;IACD,GAAG,CAAC,KAAY,EAAE,WAAiB;QAClC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAChD,CAAC;IAGD,SAAS,CAAmB,KAAY,EAAE,WAAwB;QACjE,OAAQ,IAAI,CAAC,UAA4C,CAAC,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACzF,CAAC;IACD,UAAU,CAAC,QAAe;QACzB,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IACD,cAAc,CAAC,QAAe;QAC7B,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;IACD,QAAQ;QACP,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;IACnC,CAAC;IACD,MAAM;QACL,OAAO;YACN,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;SACpC,CAAC;IACH,CAAC;CACD,CAAA;AA7CY,eAAe;IAD3B,YAAY,CAAC,iBAAiB,CAAC;;GACnB,eAAe,CA6C3B;SA7CY,eAAe","sourcesContent":["import type {\n\tNodeDeserializer, ExpressionNode, CanFindScope,\n\tExpressionEventPath, VisitNodeType, SourceLocation\n} from '../expression.js';\nimport type { Scope } from '../../scope/scope.js';\nimport type { Stack } from '../../scope/stack.js';\nimport { AbstractExpressionNode } from '../abstract.js';\nimport { Deserializer } from '../deserialize/deserialize.js';\n\n@Deserializer('ChainExpression')\nexport class ChainExpression extends AbstractExpressionNode implements CanFindScope {\n\tstatic fromJSON(node: ChainExpression, deserializer: NodeDeserializer): ChainExpression {\n\t\treturn new ChainExpression(\n\t\t\tdeserializer(node.expression),\n\t\t\tnode.range,\n\t\t\tnode.loc\n\t\t);\n\t}\n\tstatic visit(node: ChainExpression, visitNode: VisitNodeType): void {\n\t\tvisitNode(node.expression);\n\t}\n\tconstructor(\n\t\tprivate expression: ExpressionNode,\n\t\trange?: [number, number],\n\t\tloc?: SourceLocation) {\n\t\tsuper(range, loc);\n\t}\n\tgetExpression() {\n\t\treturn this.expression;\n\t}\n\tset(stack: Stack, value: any) {\n\t\tthrow new Error(`ChainExpression.#set() has no implementation.`)\n\t}\n\tget(stack: Stack, thisContext?: any) {\n\t\treturn this.expression.get(stack, thisContext);\n\t}\n\tfindScope<T extends object>(stack: Stack): Scope<T>;\n\tfindScope<T extends object>(stack: Stack, scope: Scope<any>): Scope<T>;\n\tfindScope<T extends object>(stack: Stack, objectScope?: Scope<any>): Scope<T> | undefined {\n\t\treturn (this.expression as ExpressionNode & CanFindScope).findScope(stack, objectScope);\n\t}\n\tdependency(computed?: true): ExpressionNode[] {\n\t\treturn this.expression.dependency(computed);\n\t}\n\tdependencyPath(computed?: true): ExpressionEventPath[] {\n\t\treturn this.expression.dependencyPath(computed);\n\t}\n\ttoString() {\n\t\treturn this.expression.toString();\n\t}\n\ttoJson(): object {\n\t\treturn {\n\t\t\texpression: this.expression.toJSON(),\n\t\t};\n\t}\n}\n"]}
1
+ {"version":3,"file":"chaining.js","sourceRoot":"","sources":["../../../../src/expressions/api/operators/chaining.ts"],"names":[],"mappings":";AAMA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAG7D,MAAM,KAAO,eAAe;4BAD3B,YAAY,CAAC,iBAAiB,CAAC;;;;QACnB,eAAe,QAAC,SAAQ,sBAAsB;;YAA3D,4IA6CC;YA7CY,eAAe;YAAf,uDAAe;;QAYlB,UAAU;QAXnB,MAAM,CAAC,QAAQ,CAAC,IAAqB,EAAE,YAA8B;YACpE,OAAO,IAAI,eAAe,CACzB,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,EAC7B,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,GAAG,CACR,CAAC;QACH,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,IAAqB,EAAE,SAAwB;YAC3D,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5B,CAAC;QACD,YACS,UAA0B,EAClC,KAAwB,EACxB,GAAoB;YACpB,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAHV,eAAU,GAAV,UAAU,CAAgB;QAInC,CAAC;QACD,aAAa;YACZ,OAAO,IAAI,CAAC,UAAU,CAAC;QACxB,CAAC;QACD,GAAG,CAAC,KAAY,EAAE,KAAU;YAC3B,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;QACjE,CAAC;QACD,GAAG,CAAC,KAAY,EAAE,WAAiB;YAClC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAChD,CAAC;QAGD,SAAS,CAAmB,KAAY,EAAE,WAAwB;YACjE,OAAQ,IAAI,CAAC,UAA4C,CAAC,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACzF,CAAC;QACD,UAAU,CAAC,QAAe;YACzB,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC7C,CAAC;QACD,cAAc,CAAC,QAAe;YAC7B,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC;QACD,QAAQ;YACP,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QACnC,CAAC;QACD,MAAM;YACL,OAAO;gBACN,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;aACpC,CAAC;QACH,CAAC;;WA5CW,eAAe","sourcesContent":["import type {\n\tNodeDeserializer, ExpressionNode, CanFindScope,\n\tExpressionEventPath, VisitNodeType, SourceLocation\n} from '../expression.js';\nimport type { Scope } from '../../scope/scope.js';\nimport type { Stack } from '../../scope/stack.js';\nimport { AbstractExpressionNode } from '../abstract.js';\nimport { Deserializer } from '../deserialize/deserialize.js';\n\n@Deserializer('ChainExpression')\nexport class ChainExpression extends AbstractExpressionNode implements CanFindScope {\n\tstatic fromJSON(node: ChainExpression, deserializer: NodeDeserializer): ChainExpression {\n\t\treturn new ChainExpression(\n\t\t\tdeserializer(node.expression),\n\t\t\tnode.range,\n\t\t\tnode.loc\n\t\t);\n\t}\n\tstatic visit(node: ChainExpression, visitNode: VisitNodeType): void {\n\t\tvisitNode(node.expression);\n\t}\n\tconstructor(\n\t\tprivate expression: ExpressionNode,\n\t\trange?: [number, number],\n\t\tloc?: SourceLocation) {\n\t\tsuper(range, loc);\n\t}\n\tgetExpression() {\n\t\treturn this.expression;\n\t}\n\tset(stack: Stack, value: any) {\n\t\tthrow new Error(`ChainExpression.#set() has no implementation.`)\n\t}\n\tget(stack: Stack, thisContext?: any) {\n\t\treturn this.expression.get(stack, thisContext);\n\t}\n\tfindScope<T extends object>(stack: Stack): Scope<T>;\n\tfindScope<T extends object>(stack: Stack, scope: Scope<any>): Scope<T>;\n\tfindScope<T extends object>(stack: Stack, objectScope?: Scope<any>): Scope<T> | undefined {\n\t\treturn (this.expression as ExpressionNode & CanFindScope).findScope(stack, objectScope);\n\t}\n\tdependency(computed?: true): ExpressionNode[] {\n\t\treturn this.expression.dependency(computed);\n\t}\n\tdependencyPath(computed?: true): ExpressionEventPath[] {\n\t\treturn this.expression.dependencyPath(computed);\n\t}\n\ttoString() {\n\t\treturn this.expression.toString();\n\t}\n\ttoJson(): object {\n\t\treturn {\n\t\t\texpression: this.expression.toJSON(),\n\t\t};\n\t}\n}\n"]}
@@ -14,3 +14,4 @@ export declare class SequenceExpression extends AbstractExpressionNode {
14
14
  toString(): string;
15
15
  toJson(): object;
16
16
  }
17
+ //# sourceMappingURL=comma.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comma.d.ts","sourceRoot":"","sources":["../../../../src/expressions/api/operators/comma.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,gBAAgB,EAAE,cAAc,EAAE,mBAAmB,EACrD,aAAa,EAAE,cAAc,EAC7B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAGxD,qBACa,kBAAmB,SAAQ,sBAAsB;IAY5D,OAAO,CAAC,WAAW;IAXpB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,EAAE,YAAY,EAAE,gBAAgB,GAAG,kBAAkB;IAO7F,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,aAAa,GAAG,IAAI;gBAI7D,WAAW,EAAE,cAAc,EAAE,EACrC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EACxB,GAAG,CAAC,EAAE,cAAc;IAGrB,cAAc;IAGd,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"}
@@ -1,45 +1,52 @@
1
- var SequenceExpression_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
- let SequenceExpression = SequenceExpression_1 = class SequenceExpression extends AbstractExpressionNode {
6
- static fromJSON(node, deserializer) {
7
- return new SequenceExpression_1(node.expressions.map(deserializer), node.range, node.loc);
8
- }
9
- static visit(node, visitNode) {
10
- node.expressions.forEach(visitNode);
11
- }
12
- constructor(expressions, range, loc) {
13
- super(range, loc);
14
- this.expressions = expressions;
15
- }
16
- getExpressions() {
17
- return this.expressions;
18
- }
19
- set(stack) {
20
- throw new Error(`SequenceExpression.#set() has no implementation.`);
21
- }
22
- get(stack) {
23
- return this.expressions.map(expr => expr.get(stack)).pop();
24
- }
25
- dependency(computed) {
26
- return this.expressions.flatMap(exp => exp.dependency(computed));
27
- }
28
- dependencyPath(computed) {
29
- return this.expressions.flatMap(expression => expression.dependencyPath(computed));
30
- }
31
- toString() {
32
- return this.expressions.map(key => key.toString()).join(', ');
33
- }
34
- toJson() {
35
- return {
36
- expressions: this.expressions.map(expression => expression.toJSON())
37
- };
38
- }
39
- };
40
- SequenceExpression = SequenceExpression_1 = __decorate([
41
- Deserializer('SequenceExpression'),
42
- __metadata("design:paramtypes", [Array, Array, Object])
43
- ], SequenceExpression);
44
- export { SequenceExpression };
4
+ export let SequenceExpression = (() => {
5
+ let _classDecorators = [Deserializer('SequenceExpression')];
6
+ let _classDescriptor;
7
+ let _classExtraInitializers = [];
8
+ let _classThis;
9
+ var SequenceExpression = class extends AbstractExpressionNode {
10
+ static {
11
+ __esDecorate(null, _classDescriptor = { value: this }, _classDecorators, { kind: "class", name: this.name }, null, _classExtraInitializers);
12
+ SequenceExpression = _classThis = _classDescriptor.value;
13
+ __runInitializers(_classThis, _classExtraInitializers);
14
+ }
15
+ expressions;
16
+ static fromJSON(node, deserializer) {
17
+ return new SequenceExpression(node.expressions.map(deserializer), node.range, node.loc);
18
+ }
19
+ static visit(node, visitNode) {
20
+ node.expressions.forEach(visitNode);
21
+ }
22
+ constructor(expressions, range, loc) {
23
+ super(range, loc);
24
+ this.expressions = expressions;
25
+ }
26
+ getExpressions() {
27
+ return this.expressions;
28
+ }
29
+ set(stack) {
30
+ throw new Error(`SequenceExpression.#set() has no implementation.`);
31
+ }
32
+ get(stack) {
33
+ return this.expressions.map(expr => expr.get(stack)).pop();
34
+ }
35
+ dependency(computed) {
36
+ return this.expressions.flatMap(exp => exp.dependency(computed));
37
+ }
38
+ dependencyPath(computed) {
39
+ return this.expressions.flatMap(expression => expression.dependencyPath(computed));
40
+ }
41
+ toString() {
42
+ return this.expressions.map(key => key.toString()).join(', ');
43
+ }
44
+ toJson() {
45
+ return {
46
+ expressions: this.expressions.map(expression => expression.toJSON())
47
+ };
48
+ }
49
+ };
50
+ return SequenceExpression = _classThis;
51
+ })();
45
52
  //# sourceMappingURL=comma.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"comma.js","sourceRoot":"","sources":["../../../../src/expressions/api/operators/comma.ts"],"names":[],"mappings":";;AAKA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAGtD,IAAM,kBAAkB,0BAAxB,MAAM,kBAAmB,SAAQ,sBAAsB;IAC7D,MAAM,CAAC,QAAQ,CAAC,IAAwB,EAAE,YAA8B;QACvE,OAAO,IAAI,oBAAkB,CAC5B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,EAClC,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,GAAG,CACR,CAAC;IACH,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,IAAwB,EAAE,SAAwB;QAC9D,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IACD,YACS,WAA6B,EACrC,KAAwB,EACxB,GAAoB;QACpB,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAHV,gBAAW,GAAX,WAAW,CAAkB;IAItC,CAAC;IACD,cAAc;QACb,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IACD,GAAG,CAAC,KAAY;QACf,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACrE,CAAC;IACD,GAAG,CAAC,KAAY;QACf,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IAC5D,CAAC;IACD,UAAU,CAAC,QAAe;QACzB,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClE,CAAC;IACD,cAAc,CAAC,QAAe;QAC7B,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpF,CAAC;IACD,QAAQ;QACP,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM;QACL,OAAO;YACN,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;SACpE,CAAC;IACH,CAAC;CACD,CAAA;AAxCY,kBAAkB;IAD9B,YAAY,CAAC,oBAAoB,CAAC;;GACtB,kBAAkB,CAwC9B;SAxCY,kBAAkB","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@Deserializer('SequenceExpression')\nexport class SequenceExpression extends AbstractExpressionNode {\n\tstatic fromJSON(node: SequenceExpression, deserializer: NodeDeserializer): SequenceExpression {\n\t\treturn new SequenceExpression(\n\t\t\tnode.expressions.map(deserializer),\n\t\t\tnode.range,\n\t\t\tnode.loc\n\t\t);\n\t}\n\tstatic visit(node: SequenceExpression, visitNode: VisitNodeType): void {\n\t\tnode.expressions.forEach(visitNode);\n\t}\n\tconstructor(\n\t\tprivate expressions: ExpressionNode[],\n\t\trange?: [number, number],\n\t\tloc?: SourceLocation) {\n\t\tsuper(range, loc);\n\t}\n\tgetExpressions() {\n\t\treturn this.expressions;\n\t}\n\tset(stack: Stack) {\n\t\tthrow new Error(`SequenceExpression.#set() has no implementation.`);\n\t}\n\tget(stack: Stack) {\n\t\treturn this.expressions.map(expr => expr.get(stack)).pop();\n\t}\n\tdependency(computed?: true): ExpressionNode[] {\n\t\treturn this.expressions.flatMap(exp => exp.dependency(computed));\n\t}\n\tdependencyPath(computed?: true): ExpressionEventPath[] {\n\t\treturn this.expressions.flatMap(expression => expression.dependencyPath(computed));\n\t}\n\ttoString() {\n\t\treturn this.expressions.map(key => key.toString()).join(', ');\n\t}\n\ttoJson(): object {\n\t\treturn {\n\t\t\texpressions: this.expressions.map(expression => expression.toJSON())\n\t\t};\n\t}\n}\n"]}
1
+ {"version":3,"file":"comma.js","sourceRoot":"","sources":["../../../../src/expressions/api/operators/comma.ts"],"names":[],"mappings":";AAKA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAG7D,MAAM,KAAO,kBAAkB;4BAD9B,YAAY,CAAC,oBAAoB,CAAC;;;;QACtB,kBAAkB,QAAC,SAAQ,sBAAsB;;YAA9D,4IAwCC;YAxCY,kBAAkB;YAAlB,uDAAkB;;QAYrB,WAAW;QAXpB,MAAM,CAAC,QAAQ,CAAC,IAAwB,EAAE,YAA8B;YACvE,OAAO,IAAI,kBAAkB,CAC5B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,EAClC,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,GAAG,CACR,CAAC;QACH,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,IAAwB,EAAE,SAAwB;YAC9D,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACrC,CAAC;QACD,YACS,WAA6B,EACrC,KAAwB,EACxB,GAAoB;YACpB,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAHV,gBAAW,GAAX,WAAW,CAAkB;QAItC,CAAC;QACD,cAAc;YACb,OAAO,IAAI,CAAC,WAAW,CAAC;QACzB,CAAC;QACD,GAAG,CAAC,KAAY;YACf,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACrE,CAAC;QACD,GAAG,CAAC,KAAY;YACf,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC5D,CAAC;QACD,UAAU,CAAC,QAAe;YACzB,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClE,CAAC;QACD,cAAc,CAAC,QAAe;YAC7B,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpF,CAAC;QACD,QAAQ;YACP,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM;YACL,OAAO;gBACN,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;aACpE,CAAC;QACH,CAAC;;WAvCW,kBAAkB","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@Deserializer('SequenceExpression')\nexport class SequenceExpression extends AbstractExpressionNode {\n\tstatic fromJSON(node: SequenceExpression, deserializer: NodeDeserializer): SequenceExpression {\n\t\treturn new SequenceExpression(\n\t\t\tnode.expressions.map(deserializer),\n\t\t\tnode.range,\n\t\t\tnode.loc\n\t\t);\n\t}\n\tstatic visit(node: SequenceExpression, visitNode: VisitNodeType): void {\n\t\tnode.expressions.forEach(visitNode);\n\t}\n\tconstructor(\n\t\tprivate expressions: ExpressionNode[],\n\t\trange?: [number, number],\n\t\tloc?: SourceLocation) {\n\t\tsuper(range, loc);\n\t}\n\tgetExpressions() {\n\t\treturn this.expressions;\n\t}\n\tset(stack: Stack) {\n\t\tthrow new Error(`SequenceExpression.#set() has no implementation.`);\n\t}\n\tget(stack: Stack) {\n\t\treturn this.expressions.map(expr => expr.get(stack)).pop();\n\t}\n\tdependency(computed?: true): ExpressionNode[] {\n\t\treturn this.expressions.flatMap(exp => exp.dependency(computed));\n\t}\n\tdependencyPath(computed?: true): ExpressionEventPath[] {\n\t\treturn this.expressions.flatMap(expression => expression.dependencyPath(computed));\n\t}\n\ttoString() {\n\t\treturn this.expressions.map(key => key.toString()).join(', ');\n\t}\n\ttoJson(): object {\n\t\treturn {\n\t\t\texpressions: this.expressions.map(expression => expression.toJSON())\n\t\t};\n\t}\n}\n"]}
@@ -21,3 +21,4 @@ export declare class GroupingExpression extends AbstractExpressionNode {
21
21
  toString(): string;
22
22
  toJson(): object;
23
23
  }
24
+ //# sourceMappingURL=grouping.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grouping.d.ts","sourceRoot":"","sources":["../../../../src/expressions/api/operators/grouping.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,gBAAgB,EAAE,cAAc,EAAE,mBAAmB,EACrD,aAAa,EAAE,cAAc,EAC7B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAGxD;;;;;;GAMG;AACH,qBACa,kBAAmB,SAAQ,sBAAsB;IAY5D,OAAO,CAAC,IAAI;IAXb,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,EAAE,YAAY,EAAE,gBAAgB,GAAG,kBAAkB;IAO7F,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,aAAa,GAAG,IAAI;gBAI7D,IAAI,EAAE,cAAc,EAC5B,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EACxB,GAAG,CAAC,EAAE,cAAc;IAGrB,OAAO;IAGP,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;IAG5B,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,IAAI,MAAM;IAGlB,MAAM,IAAI,MAAM;CAGhB"}
@@ -1,5 +1,4 @@
1
- var GroupingExpression_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
  /**
@@ -9,42 +8,50 @@ import { Deserializer } from '../deserialize/deserialize.js';
9
8
  * before an expression with higher priority.
10
9
  * As it sounds, it groups what's inside of the parentheses.
11
10
  */
12
- let GroupingExpression = GroupingExpression_1 = class GroupingExpression extends AbstractExpressionNode {
13
- static fromJSON(node, deserializer) {
14
- return new GroupingExpression_1(deserializer(node.node), node.range, node.loc);
15
- }
16
- static visit(node, visitNode) {
17
- visitNode(node.node);
18
- }
19
- constructor(node, range, loc) {
20
- super(range, loc);
21
- this.node = node;
22
- }
23
- getNode() {
24
- return this.node;
25
- }
26
- set(stack, value) {
27
- this.node.set(stack, value);
28
- }
29
- get(stack) {
30
- return this.node.get(stack);
31
- }
32
- dependency(computed) {
33
- return this.node.dependency(computed);
34
- }
35
- dependencyPath(computed) {
36
- return this.node.dependencyPath(computed);
37
- }
38
- toString() {
39
- return `(${this.node.toString()})`;
40
- }
41
- toJson() {
42
- return { node: this.node.toJSON() };
43
- }
44
- };
45
- GroupingExpression = GroupingExpression_1 = __decorate([
46
- Deserializer('GroupingExpression'),
47
- __metadata("design:paramtypes", [Object, Array, Object])
48
- ], GroupingExpression);
49
- export { GroupingExpression };
11
+ export let GroupingExpression = (() => {
12
+ let _classDecorators = [Deserializer('GroupingExpression')];
13
+ let _classDescriptor;
14
+ let _classExtraInitializers = [];
15
+ let _classThis;
16
+ var GroupingExpression = class extends AbstractExpressionNode {
17
+ static {
18
+ __esDecorate(null, _classDescriptor = { value: this }, _classDecorators, { kind: "class", name: this.name }, null, _classExtraInitializers);
19
+ GroupingExpression = _classThis = _classDescriptor.value;
20
+ __runInitializers(_classThis, _classExtraInitializers);
21
+ }
22
+ node;
23
+ static fromJSON(node, deserializer) {
24
+ return new GroupingExpression(deserializer(node.node), node.range, node.loc);
25
+ }
26
+ static visit(node, visitNode) {
27
+ visitNode(node.node);
28
+ }
29
+ constructor(node, range, loc) {
30
+ super(range, loc);
31
+ this.node = node;
32
+ }
33
+ getNode() {
34
+ return this.node;
35
+ }
36
+ set(stack, value) {
37
+ this.node.set(stack, value);
38
+ }
39
+ get(stack) {
40
+ return this.node.get(stack);
41
+ }
42
+ dependency(computed) {
43
+ return this.node.dependency(computed);
44
+ }
45
+ dependencyPath(computed) {
46
+ return this.node.dependencyPath(computed);
47
+ }
48
+ toString() {
49
+ return `(${this.node.toString()})`;
50
+ }
51
+ toJson() {
52
+ return { node: this.node.toJSON() };
53
+ }
54
+ };
55
+ return GroupingExpression = _classThis;
56
+ })();
50
57
  //# sourceMappingURL=grouping.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"grouping.js","sourceRoot":"","sources":["../../../../src/expressions/api/operators/grouping.ts"],"names":[],"mappings":";;AAKA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D;;;;;;GAMG;AAEI,IAAM,kBAAkB,0BAAxB,MAAM,kBAAmB,SAAQ,sBAAsB;IAC7D,MAAM,CAAC,QAAQ,CAAC,IAAwB,EAAE,YAA8B;QACvE,OAAO,IAAI,oBAAkB,CAC5B,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EACvB,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,GAAG,CACR,CAAC;IACH,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,IAAwB,EAAE,SAAwB;QAC9D,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IACD,YACS,IAAoB,EAC5B,KAAwB,EACxB,GAAoB;QACpB,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAHV,SAAI,GAAJ,IAAI,CAAgB;IAI7B,CAAC;IACD,OAAO;QACN,OAAO,IAAI,CAAC,IAAI,CAAC;IAClB,CAAC;IACD,GAAG,CAAC,KAAY,EAAE,KAAU;QAC3B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC;IACD,GAAG,CAAC,KAAY;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IACD,UAAU,CAAC,QAAe;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IACD,cAAc,CAAC,QAAe;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;IACD,QAAQ;QACP,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC;IACpC,CAAC;IACD,MAAM;QACL,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;IACrC,CAAC;CACD,CAAA;AAtCY,kBAAkB;IAD9B,YAAY,CAAC,oBAAoB,CAAC;;GACtB,kBAAkB,CAsC9B;SAtCY,kBAAkB","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 grouping operator consists of a pair of parentheses around\n * an expression or sub-expression to override the normal operator\n * precedence so that expressions with lower precedence can be evaluated\n * before an expression with higher priority.\n * As it sounds, it groups what's inside of the parentheses.\n */\n@Deserializer('GroupingExpression')\nexport class GroupingExpression extends AbstractExpressionNode {\n\tstatic fromJSON(node: GroupingExpression, deserializer: NodeDeserializer): GroupingExpression {\n\t\treturn new GroupingExpression(\n\t\t\tdeserializer(node.node),\n\t\t\tnode.range,\n\t\t\tnode.loc\n\t\t);\n\t}\n\tstatic visit(node: GroupingExpression, visitNode: VisitNodeType): void {\n\t\tvisitNode(node.node);\n\t}\n\tconstructor(\n\t\tprivate node: ExpressionNode,\n\t\trange?: [number, number],\n\t\tloc?: SourceLocation) {\n\t\tsuper(range, loc);\n\t}\n\tgetNode() {\n\t\treturn this.node;\n\t}\n\tset(stack: Stack, value: any) {\n\t\tthis.node.set(stack, value);\n\t}\n\tget(stack: Stack,) {\n\t\treturn this.node.get(stack);\n\t}\n\tdependency(computed?: true): ExpressionNode[] {\n\t\treturn this.node.dependency(computed);\n\t}\n\tdependencyPath(computed?: true): ExpressionEventPath[] {\n\t\treturn this.node.dependencyPath(computed);\n\t}\n\ttoString(): string {\n\t\treturn `(${this.node.toString()})`;\n\t}\n\ttoJson(): object {\n\t\treturn { node: this.node.toJSON() };\n\t}\n}\n"]}
1
+ {"version":3,"file":"grouping.js","sourceRoot":"","sources":["../../../../src/expressions/api/operators/grouping.ts"],"names":[],"mappings":";AAKA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D;;;;;;GAMG;AAEH,MAAM,KAAO,kBAAkB;4BAD9B,YAAY,CAAC,oBAAoB,CAAC;;;;QACtB,kBAAkB,QAAC,SAAQ,sBAAsB;;YAA9D,4IAsCC;YAtCY,kBAAkB;YAAlB,uDAAkB;;QAYrB,IAAI;QAXb,MAAM,CAAC,QAAQ,CAAC,IAAwB,EAAE,YAA8B;YACvE,OAAO,IAAI,kBAAkB,CAC5B,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EACvB,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,GAAG,CACR,CAAC;QACH,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,IAAwB,EAAE,SAAwB;YAC9D,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;QACD,YACS,IAAoB,EAC5B,KAAwB,EACxB,GAAoB;YACpB,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAHV,SAAI,GAAJ,IAAI,CAAgB;QAI7B,CAAC;QACD,OAAO;YACN,OAAO,IAAI,CAAC,IAAI,CAAC;QAClB,CAAC;QACD,GAAG,CAAC,KAAY,EAAE,KAAU;YAC3B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC;QACD,GAAG,CAAC,KAAY;YACf,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;QACD,UAAU,CAAC,QAAe;YACzB,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC;QACD,cAAc,CAAC,QAAe;YAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC;QACD,QAAQ;YACP,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC;QACpC,CAAC;QACD,MAAM;YACL,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QACrC,CAAC;;WArCW,kBAAkB","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 grouping operator consists of a pair of parentheses around\n * an expression or sub-expression to override the normal operator\n * precedence so that expressions with lower precedence can be evaluated\n * before an expression with higher priority.\n * As it sounds, it groups what's inside of the parentheses.\n */\n@Deserializer('GroupingExpression')\nexport class GroupingExpression extends AbstractExpressionNode {\n\tstatic fromJSON(node: GroupingExpression, deserializer: NodeDeserializer): GroupingExpression {\n\t\treturn new GroupingExpression(\n\t\t\tdeserializer(node.node),\n\t\t\tnode.range,\n\t\t\tnode.loc\n\t\t);\n\t}\n\tstatic visit(node: GroupingExpression, visitNode: VisitNodeType): void {\n\t\tvisitNode(node.node);\n\t}\n\tconstructor(\n\t\tprivate node: ExpressionNode,\n\t\trange?: [number, number],\n\t\tloc?: SourceLocation) {\n\t\tsuper(range, loc);\n\t}\n\tgetNode() {\n\t\treturn this.node;\n\t}\n\tset(stack: Stack, value: any) {\n\t\tthis.node.set(stack, value);\n\t}\n\tget(stack: Stack,) {\n\t\treturn this.node.get(stack);\n\t}\n\tdependency(computed?: true): ExpressionNode[] {\n\t\treturn this.node.dependency(computed);\n\t}\n\tdependencyPath(computed?: true): ExpressionEventPath[] {\n\t\treturn this.node.dependencyPath(computed);\n\t}\n\ttoString(): string {\n\t\treturn `(${this.node.toString()})`;\n\t}\n\ttoJson(): object {\n\t\treturn { node: this.node.toJSON() };\n\t}\n}\n"]}
@@ -9,3 +9,4 @@ export declare class LogicalExpression extends InfixExpressionNode<LogicalOperat
9
9
  };
10
10
  get(context: object): any;
11
11
  }
12
+ //# sourceMappingURL=logical.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logical.d.ts","sourceRoot":"","sources":["../../../../src/expressions/api/operators/logical.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAGrD,MAAM,MAAM,eAAe,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEjD,qBACa,iBAAkB,SAAQ,mBAAmB,CAAC,eAAe,CAAC;IAC1E,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,EAAE,YAAY,EAAE,gBAAgB,GAAG,iBAAiB;IAS3F,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,aAAa,GAAG,IAAI;IAIrE,MAAM,CAAC,WAAW,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,EAAE,iBAAiB,EAAE,OAAO,EAAE,GAAG,KAAK,GAAG,CAAA;KAAE,CA0BlF;IACF,GAAG,CAAC,OAAO,EAAE,MAAM;CAGnB"}
@@ -1,44 +1,54 @@
1
- var LogicalExpression_1;
2
- import { __decorate } from "tslib";
1
+ import { __esDecorate, __runInitializers } from "tslib";
3
2
  import { InfixExpressionNode } from '../abstract.js';
4
3
  import { Deserializer } from '../deserialize/deserialize.js';
5
- let LogicalExpression = LogicalExpression_1 = class LogicalExpression extends InfixExpressionNode {
6
- static fromJSON(node, deserializer) {
7
- return new LogicalExpression_1(node.operator, deserializer(node.left), deserializer(node.right), node.range, node.loc);
8
- }
9
- static visit(node, visitNode) {
10
- visitNode(node.left);
11
- visitNode(node.right);
12
- }
13
- get(context) {
14
- return LogicalExpression_1.Evaluations[this.operator](this, context);
15
- }
16
- };
17
- LogicalExpression.Evaluations = {
18
- '&&': (exp, context) => {
19
- let value = exp.left.get(context);
20
- if (value) {
21
- value = exp.right.get(context);
4
+ let LogicalExpression = (() => {
5
+ let _classDecorators = [Deserializer('LogicalExpression')];
6
+ let _classDescriptor;
7
+ let _classExtraInitializers = [];
8
+ let _classThis;
9
+ var LogicalExpression = class extends InfixExpressionNode {
10
+ static {
11
+ __esDecorate(null, _classDescriptor = { value: this }, _classDecorators, { kind: "class", name: this.name }, null, _classExtraInitializers);
12
+ LogicalExpression = _classThis = _classDescriptor.value;
22
13
  }
23
- return value;
24
- },
25
- '||': (exp, context) => {
26
- let value = exp.left.get(context);
27
- if (!value) {
28
- value = exp.right.get(context);
14
+ static fromJSON(node, deserializer) {
15
+ return new LogicalExpression(node.operator, deserializer(node.left), deserializer(node.right), node.range, node.loc);
29
16
  }
30
- return value;
31
- },
32
- '??': (exp, context) => {
33
- let value = exp.left.get(context);
34
- if (value === undefined || value === null) {
35
- value = exp.right.get(context);
17
+ static visit(node, visitNode) {
18
+ visitNode(node.left);
19
+ visitNode(node.right);
36
20
  }
37
- return value;
38
- }
39
- };
40
- LogicalExpression = LogicalExpression_1 = __decorate([
41
- Deserializer('LogicalExpression')
42
- ], LogicalExpression);
21
+ static Evaluations = {
22
+ '&&': (exp, context) => {
23
+ let value = exp.left.get(context);
24
+ if (value) {
25
+ value = exp.right.get(context);
26
+ }
27
+ return value;
28
+ },
29
+ '||': (exp, context) => {
30
+ let value = exp.left.get(context);
31
+ if (!value) {
32
+ value = exp.right.get(context);
33
+ }
34
+ return value;
35
+ },
36
+ '??': (exp, context) => {
37
+ let value = exp.left.get(context);
38
+ if (value === undefined || value === null) {
39
+ value = exp.right.get(context);
40
+ }
41
+ return value;
42
+ }
43
+ };
44
+ get(context) {
45
+ return LogicalExpression.Evaluations[this.operator](this, context);
46
+ }
47
+ static {
48
+ __runInitializers(_classThis, _classExtraInitializers);
49
+ }
50
+ };
51
+ return LogicalExpression = _classThis;
52
+ })();
43
53
  export { LogicalExpression };
44
54
  //# sourceMappingURL=logical.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logical.js","sourceRoot":"","sources":["../../../../src/expressions/api/operators/logical.ts"],"names":[],"mappings":";;AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAKtD,IAAM,iBAAiB,yBAAvB,MAAM,iBAAkB,SAAQ,mBAAoC;IAC1E,MAAM,CAAC,QAAQ,CAAC,IAAuB,EAAE,YAA8B;QACtE,OAAO,IAAI,mBAAiB,CAC3B,IAAI,CAAC,QAAQ,EACb,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EACvB,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EACxB,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,GAAG,CACR,CAAC;IACH,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,IAAuB,EAAE,SAAwB;QAC7D,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IA4BD,GAAG,CAAC,OAAe;QAClB,OAAO,mBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpE,CAAC;;AA7BM,6BAAW,GAAqE;IAEtF,IAAI,EAAE,CAAC,GAAsB,EAAE,OAAY,EAAE,EAAE;QAC9C,IAAI,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,KAAK,EAAE;YACV,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SAC/B;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,IAAI,EAAE,CAAC,GAAsB,EAAE,OAAY,EAAE,EAAE;QAC9C,IAAI,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,EAAE;YACX,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SAC/B;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,IAAI,EAAE,CAAC,GAAsB,EAAE,OAAY,EAAE,EAAE;QAC9C,IAAI,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;YAC1C,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SAC/B;QACD,OAAO,KAAK,CAAC;IACd,CAAC;CAED,CAAC;AAxCU,iBAAiB;IAD7B,YAAY,CAAC,mBAAmB,CAAC;GACrB,iBAAiB,CA4C7B;SA5CY,iBAAiB","sourcesContent":["import type { NodeDeserializer, VisitNodeType } from '../expression.js';\nimport { InfixExpressionNode } from '../abstract.js';\nimport { Deserializer } from '../deserialize/deserialize.js';\n\nexport type LogicalOperator = '||' | '&&' | '??';\n\n@Deserializer('LogicalExpression')\nexport class LogicalExpression extends InfixExpressionNode<LogicalOperator> {\n\tstatic fromJSON(node: LogicalExpression, deserializer: NodeDeserializer): LogicalExpression {\n\t\treturn new LogicalExpression(\n\t\t\tnode.operator,\n\t\t\tdeserializer(node.left),\n\t\t\tdeserializer(node.right),\n\t\t\tnode.range,\n\t\t\tnode.loc\n\t\t);\n\t}\n\tstatic visit(node: LogicalExpression, visitNode: VisitNodeType): void {\n\t\tvisitNode(node.left);\n\t\tvisitNode(node.right);\n\t}\n\tstatic Evaluations: { [key: string]: (exp: LogicalExpression, context: any) => any } = {\n\n\t\t'&&': (exp: LogicalExpression, context: any) => {\n\t\t\tlet value = exp.left.get(context);\n\t\t\tif (value) {\n\t\t\t\tvalue = exp.right.get(context);\n\t\t\t}\n\t\t\treturn value;\n\t\t},\n\n\t\t'||': (exp: LogicalExpression, context: any) => {\n\t\t\tlet value = exp.left.get(context);\n\t\t\tif (!value) {\n\t\t\t\tvalue = exp.right.get(context);\n\t\t\t}\n\t\t\treturn value;\n\t\t},\n\n\t\t'??': (exp: LogicalExpression, context: any) => {\n\t\t\tlet value = exp.left.get(context);\n\t\t\tif (value === undefined || value === null) {\n\t\t\t\tvalue = exp.right.get(context);\n\t\t\t}\n\t\t\treturn value;\n\t\t}\n\n\t};\n\tget(context: object) {\n\t\treturn LogicalExpression.Evaluations[this.operator](this, context);\n\t}\n}\n"]}
1
+ {"version":3,"file":"logical.js","sourceRoot":"","sources":["../../../../src/expressions/api/operators/logical.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;IAKhD,iBAAiB;4BAD7B,YAAY,CAAC,mBAAmB,CAAC;;;;QACrB,iBAAiB,QAAC,SAAQ,mBAAoC;;YAA3E,4IA4CC;YA5CY,iBAAiB;;QAC7B,MAAM,CAAC,QAAQ,CAAC,IAAuB,EAAE,YAA8B;YACtE,OAAO,IAAI,iBAAiB,CAC3B,IAAI,CAAC,QAAQ,EACb,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EACvB,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EACxB,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,GAAG,CACR,CAAC;QACH,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,IAAuB,EAAE,SAAwB;YAC7D,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QACD,MAAM,CAAC,WAAW,GAAqE;YAEtF,IAAI,EAAE,CAAC,GAAsB,EAAE,OAAY,EAAE,EAAE;gBAC9C,IAAI,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAClC,IAAI,KAAK,EAAE;oBACV,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBAC/B;gBACD,OAAO,KAAK,CAAC;YACd,CAAC;YAED,IAAI,EAAE,CAAC,GAAsB,EAAE,OAAY,EAAE,EAAE;gBAC9C,IAAI,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAClC,IAAI,CAAC,KAAK,EAAE;oBACX,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBAC/B;gBACD,OAAO,KAAK,CAAC;YACd,CAAC;YAED,IAAI,EAAE,CAAC,GAAsB,EAAE,OAAY,EAAE,EAAE;gBAC9C,IAAI,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAClC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;oBAC1C,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBAC/B;gBACD,OAAO,KAAK,CAAC;YACd,CAAC;SAED,CAAC;QACF,GAAG,CAAC,OAAe;YAClB,OAAO,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACpE,CAAC;;YA3CW,uDAAiB;;;WAAjB,iBAAiB;;SAAjB,iBAAiB","sourcesContent":["import type { NodeDeserializer, VisitNodeType } from '../expression.js';\nimport { InfixExpressionNode } from '../abstract.js';\nimport { Deserializer } from '../deserialize/deserialize.js';\n\nexport type LogicalOperator = '||' | '&&' | '??';\n\n@Deserializer('LogicalExpression')\nexport class LogicalExpression extends InfixExpressionNode<LogicalOperator> {\n\tstatic fromJSON(node: LogicalExpression, deserializer: NodeDeserializer): LogicalExpression {\n\t\treturn new LogicalExpression(\n\t\t\tnode.operator,\n\t\t\tdeserializer(node.left),\n\t\t\tdeserializer(node.right),\n\t\t\tnode.range,\n\t\t\tnode.loc\n\t\t);\n\t}\n\tstatic visit(node: LogicalExpression, visitNode: VisitNodeType): void {\n\t\tvisitNode(node.left);\n\t\tvisitNode(node.right);\n\t}\n\tstatic Evaluations: { [key: string]: (exp: LogicalExpression, context: any) => any } = {\n\n\t\t'&&': (exp: LogicalExpression, context: any) => {\n\t\t\tlet value = exp.left.get(context);\n\t\t\tif (value) {\n\t\t\t\tvalue = exp.right.get(context);\n\t\t\t}\n\t\t\treturn value;\n\t\t},\n\n\t\t'||': (exp: LogicalExpression, context: any) => {\n\t\t\tlet value = exp.left.get(context);\n\t\t\tif (!value) {\n\t\t\t\tvalue = exp.right.get(context);\n\t\t\t}\n\t\t\treturn value;\n\t\t},\n\n\t\t'??': (exp: LogicalExpression, context: any) => {\n\t\t\tlet value = exp.left.get(context);\n\t\t\tif (value === undefined || value === null) {\n\t\t\t\tvalue = exp.right.get(context);\n\t\t\t}\n\t\t\treturn value;\n\t\t}\n\n\t};\n\tget(context: object) {\n\t\treturn LogicalExpression.Evaluations[this.operator](this, context);\n\t}\n}\n"]}
@@ -30,3 +30,4 @@ export declare class PipelineExpression extends AbstractExpressionNode {
30
30
  toString(): string;
31
31
  toJson(): object;
32
32
  }
33
+ //# sourceMappingURL=pipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../../../src/expressions/api/operators/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,gBAAgB,EAAE,cAAc,EAAE,mBAAmB,EACrD,aAAa,EAAE,cAAc,EAC7B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAKxD;;;;;;;;;;;GAWG;AACH,qBACa,kBAAmB,SAAQ,sBAAsB;IAiB5D,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,KAAK;IAjBd,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,EAAE,YAAY,EAAE,gBAAgB,GAAG,kBAAkB;IAS7F,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,aAAa,GAAG,IAAI;IAKtE,OAAO,CAAC,SAAS,CAAoC;gBAE5C,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE,cAAc,EAC7B,MAAM,GAAE,CAAC,cAAc,GAAG,GAAG,GAAG,MAAM,CAAC,EAAO,EAC9C,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EACxB,GAAG,CAAC,EAAE,cAAc;IAIrB,OAAO;IAGP,QAAQ;IAGR,YAAY;IAGZ,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;IAG5B,GAAG,CAAC,KAAK,EAAE,KAAK;IA+BhB,UAAU,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAG,cAAc,EAAE;IAQ7C,cAAc,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAG,mBAAmB,EAAE;IAQtD,QAAQ;IAGR,MAAM,IAAI,MAAM;CAOhB"}