@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
package/v8/factory.d.ts CHANGED
@@ -146,3 +146,4 @@ export declare class ExpressionNodeFactory implements NodeFactory {
146
146
  isGroupingExpression(node: ExpressionNode): node is GroupingExpression;
147
147
  isSpreadElement(node: ExpressionNode): node is SpreadElement;
148
148
  }
149
+ //# sourceMappingURL=factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/expressions/v8/factory.ts"],"names":[],"mappings":"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"}
package/v8/factory.js CHANGED
@@ -39,9 +39,10 @@ import { VariableDeclarationNode, VariableDeclarator } from '../api/statement/de
39
39
  import { ForAwaitOfNode, ForInNode, ForNode, ForOfNode } from '../api/statement/iterations/for.js';
40
40
  import { DoWhileNode, WhileNode } from '../api/statement/iterations/while.js';
41
41
  export class ExpressionNodeSourcePosition {
42
+ source;
43
+ newLineRegex = new RegExp('\n', 'g');
42
44
  constructor(source) {
43
45
  this.source = source;
44
- this.newLineRegex = new RegExp('\n', 'g');
45
46
  }
46
47
  getLineNumber(index, defaultValue) {
47
48
  return this.source.substring(0, index).match(this.newLineRegex)?.length ?? defaultValue;
@@ -68,6 +69,7 @@ export class ExpressionNodeSourcePosition {
68
69
  }
69
70
  }
70
71
  export class ExpressionNodeFactory {
72
+ rangeFactory;
71
73
  constructor(rangeFactory) {
72
74
  this.rangeFactory = rangeFactory;
73
75
  }
package/v8/factory.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/expressions/v8/factory.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n\tAccessorProperty, ClassBody, ClassDeclaration, ClassExpression,\n\tMetaProperty, MethodDefinition, MethodDefinitionKind, PrivateIdentifier,\n\tPropertyDefinition, StaticBlock, Super\n} from '../api/class/class.js';\nimport { Decorator } from '../api/class/decorator.js';\nimport { CallExpression } from '../api/computing/call.js';\nimport { DebuggerStatement } from '../api/computing/debugger.js';\nimport { NewExpression } from '../api/computing/new.js';\nimport { RestElement } from '../api/computing/rest.js';\nimport { ReturnStatement } from '../api/computing/return.js';\nimport { SpreadElement } from '../api/computing/spread.js';\nimport {\n\tCatchClauseNode, ThrowStatement, TryCatchNode\n} from '../api/computing/throw.js';\nimport { YieldExpression } from '../api/computing/yield.js';\nimport { ArrayExpression, ArrayPattern } from '../api/definition/array.js';\nimport { BindExpression } from '../api/definition/bind.js';\nimport {\n\tArrowFunctionExpression, AssignmentPattern, FunctionDeclaration, FunctionExpression\n} from '../api/definition/function.js';\nimport { MemberExpression } from '../api/definition/member.js';\nimport {\n\tObjectExpression, ObjectPattern, Property\n} from '../api/definition/object.js';\nimport { ExpressionStatement } from '../api/definition/statement.js';\nimport {\n\tIdentifier, Literal, TaggedTemplateExpression, TemplateLiteral, ThisExpression\n} from '../api/definition/values.js';\nimport {\n\tDeclarationExpression, ExpressionNode, SourceLocation\n} from '../api/expression.js';\nimport { ImportAttribute } from '../api/module/common.js';\nimport {\n\tExportAllDeclaration, ExportDefaultDeclaration,\n\tExportNamedDeclaration, ExportSpecifier\n} from '../api/module/export.js';\nimport {\n\tImportDeclaration, ImportDefaultSpecifier, ImportExpression,\n\tImportNamespaceSpecifier, ImportSpecifier\n} from '../api/module/import.js';\nimport {\n\tAssignmentExpression, AssignmentOperator\n} from '../api/operators/assignment.js';\nimport { AwaitExpression } from '../api/operators/await.js';\nimport { BinaryExpression, BinaryOperator } from '../api/operators/binary.js';\nimport { ChainExpression } from '../api/operators/chaining.js';\nimport { SequenceExpression } from '../api/operators/comma.js';\nimport { GroupingExpression } from '../api/operators/grouping.js';\nimport { LogicalExpression, LogicalOperator } from '../api/operators/logical.js';\nimport { PipelineExpression } from '../api/operators/pipeline.js';\nimport { ConditionalExpression } from '../api/operators/ternary.js';\nimport { UnaryExpression, UnaryOperator } from '../api/operators/unary.js';\nimport { UpdateExpression, UpdateOperator } from '../api/operators/update.js';\nimport { Program, ProgramSourceType } from '../api/program.js';\nimport { BlockStatement } from '../api/statement/control/block.js';\nimport { EmptyStatement } from '../api/statement/control/empty.js';\nimport { IfStatement } from '../api/statement/control/if.js';\nimport {\n\tDefaultExpression, SwitchCase, SwitchStatement\n} from '../api/statement/control/switch.js';\nimport {\n\tBreakStatement, ContinueStatement, LabeledStatement\n} from '../api/statement/control/terminate.js';\nimport { WithStatement } from '../api/statement/control/with.js';\nimport {\n\tVariableDeclarationNode, VariableDeclarator\n} from '../api/statement/declarations/declares.js';\nimport {\n\tForAwaitOfNode, ForDeclaration, ForInNode, ForNode, ForOfNode\n} from '../api/statement/iterations/for.js';\nimport { DoWhileNode, WhileNode } from '../api/statement/iterations/while.js';\nimport type { NodeFactory, SourcePositionFactory } from './node.js';\n\n\nexport class ExpressionNodeSourcePosition implements SourcePositionFactory {\n\tprivate newLineRegex = new RegExp('\\n', 'g');\n\n\tconstructor(private source: string) { }\n\n\tprivate getLineNumber(index: number, defaultValue: number) {\n\t\treturn this.source.substring(0, index).match(this.newLineRegex)?.length ?? defaultValue;\n\t}\n\n\tprivate getColumnNumber(index: number) {\n\t\tconst end = this.source.lastIndexOf('\\n', index);\n\t\tif (end === -1) {\n\t\t\treturn index;\n\t\t}\n\t\treturn index - end - 1;\n\t}\n\n\tpublic createSourcePosition(range?: [number, number]): SourceLocation | undefined {\n\t\tif (!range || !this.source) {\n\t\t\treturn;\n\t\t}\n\t\tconst startLine = this.getLineNumber(range[0], 1);\n\t\tconst endLine = this.getLineNumber(range[1], startLine);\n\t\tconst startColumn = this.getColumnNumber(range[0]);\n\t\tconst endColumn = this.getColumnNumber(range[1]);\n\t\treturn {\n\t\t\tstart: { line: startLine, column: startColumn },\n\t\t\tend: { line: endLine, column: endColumn },\n\t\t};\n\t}\n\n}\n\nexport class ExpressionNodeFactory implements NodeFactory {\n\n\tconstructor(private rangeFactory?: SourcePositionFactory) { }\n\n\tcreateDebuggerStatement(range?: [number, number]): DebuggerStatement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new DebuggerStatement(range, loc);\n\t}\n\n\tcreateSuper(range?: [number, number]): Super {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new Super(range, loc);\n\t}\n\tcreateThis(range?: [number, number]): ThisExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ThisExpression(range, loc);\n\t}\n\tcreateNull(range?: [number, number]): Literal<null> {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new Literal(null, undefined, undefined, undefined, range, loc);\n\t}\n\tcreateTrue(range?: [number, number]): Literal<true> {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new Literal(true, undefined, undefined, undefined, range, loc);\n\t}\n\tcreateFalse(range?: [number, number]): Literal<false> {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new Literal(false, undefined, undefined, undefined, range, loc);\n\t}\n\tcreateVoidZero(argument: ExpressionNode, range?: [number, number]): UnaryExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new UnaryExpression('void', argument, range, loc);\n\t}\n\tcreateEmptyStatement(range?: [number, number]): EmptyStatement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new EmptyStatement(range, loc);\n\t}\n\tcreateExpressionStatement(list: ExpressionNode[], range?: [number, number]): ExpressionNode {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ExpressionStatement(list, range, loc);\n\t}\n\tcreateCatchClause(block: BlockStatement, identifier?: ExpressionNode, range?: [number, number]): CatchClauseNode {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new CatchClauseNode(block, identifier, range, loc);\n\t}\n\tcreateTryStatement(tryBlock: BlockStatement, catchBlock?: ExpressionNode, finallyBlock?: ExpressionNode, range?: [number, number]): TryCatchNode {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new TryCatchNode(tryBlock, catchBlock, finallyBlock, range, loc);\n\t}\n\tcreateThrowStatement(exception: ExpressionNode, range?: [number, number]): ThrowStatement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ThrowStatement(exception, range, loc);\n\t}\n\n\tcreateBlock(statements: ExpressionNode[], range?: [number, number]): BlockStatement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new BlockStatement(statements, range, loc);\n\t}\n\tcreateIfStatement(condition: ExpressionNode, thenStatement: ExpressionNode, elseStatement?: ExpressionNode, range?: [number, number]): IfStatement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new IfStatement(condition, thenStatement, elseStatement, range, loc);\n\t}\n\tcreateDoStatement(condition: ExpressionNode, body: ExpressionNode, range?: [number, number] | undefined): DoWhileNode {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new DoWhileNode(condition, body, range, loc);\n\t}\n\tcreateClassDeclaration(body: ClassBody, decorators: Decorator[], id: Identifier, superClass?: ExpressionNode, range?: [number, number]): ClassDeclaration {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ClassDeclaration(body, decorators, id, superClass, range, loc);\n\t}\n\tcreateFunctionDeclaration(formals: DeclarationExpression[], bodyBlock: BlockStatement, isAsync: boolean, isGenerator: boolean, name: Identifier, range?: [number, number]): FunctionDeclaration {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new FunctionDeclaration(formals, bodyBlock, isAsync, isGenerator, name, range, loc);\n\t}\n\tcreateFunctionExpression(formals: DeclarationExpression[], bodyBlock: BlockStatement, isAsync: boolean, isGenerator: boolean, range?: [number, number]): FunctionExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new FunctionExpression(formals, bodyBlock, isAsync, isGenerator, undefined, range, loc);\n\t}\n\tcreateWhileStatement(condition: ExpressionNode, body: ExpressionNode, range?: [number, number] | undefined): WhileNode {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new WhileNode(condition, body, range, loc);\n\t}\n\tcreateSwitchStatement(tag: ExpressionNode, cases: SwitchCase[], range?: [number, number] | undefined): SwitchStatement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new SwitchStatement(tag, cases, range, loc);\n\t}\n\tcreateCaseBlock(test: ExpressionNode, block: BlockStatement, range?: [number, number] | undefined): SwitchCase {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new SwitchCase(test, block, range, loc);\n\t}\n\tcreateDefaultClause(block: BlockStatement, range?: [number, number] | undefined): DefaultExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new DefaultExpression(block, range, loc);\n\t}\n\tcreateWithStatement(object: ExpressionNode, body: ExpressionNode, range?: [number, number]): WithStatement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new WithStatement(object, body, range, loc);\n\t}\n\tcreateForStatement(body: ExpressionNode, initializer: ExpressionNode, cond: ExpressionNode, next: ExpressionNode, range?: [number, number] | undefined): ForNode {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ForNode(body, initializer, cond, next, range, loc);\n\t}\n\tcreateForOfStatement(initializer: ForDeclaration, enumerable: ExpressionNode, body: ExpressionNode, range?: [number, number] | undefined): ForOfNode {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ForOfNode(initializer, enumerable, body, range, loc);\n\t}\n\tcreateForAwaitOfStatement(left: ForDeclaration, right: ExpressionNode, body: ExpressionNode, range?: [number, number] | undefined): ForAwaitOfNode {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ForAwaitOfNode(left, right, body, range, loc);\n\t}\n\tcreateForInStatement(initializer: ForDeclaration, enumerable: ExpressionNode, body: ExpressionNode, range?: [number, number]): ForInNode {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ForInNode(initializer, enumerable, body, range, loc);\n\t}\n\tcreateVariableDeclaration(id: DeclarationExpression, init?: ExpressionNode, range?: [number, number]): VariableDeclarator {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new VariableDeclarator(id, init, range, loc);\n\t}\n\tcreateVariableStatement(variables: VariableDeclarator[], kind: 'let' | 'var' | 'const', range?: [number, number]): VariableDeclarationNode {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new VariableDeclarationNode(variables, kind, range, loc);\n\t}\n\tcreateContinueStatement(label?: Identifier, range?: [number, number]): ContinueStatement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ContinueStatement(label, range, loc);\n\t}\n\tcreateBreakStatement(label?: Identifier, range?: [number, number]): BreakStatement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new BreakStatement(label, range, loc);\n\t}\n\tcreateReturnStatement(argument?: ExpressionNode, range?: [number, number]): ReturnStatement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ReturnStatement(argument, range, loc);\n\t}\n\tcreateLabeledStatement(expression: Identifier, result: ExpressionNode, range?: [number, number]): LabeledStatement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new LabeledStatement(expression, result, range, loc);\n\t}\n\tcreateAssignmentPattern(left: DeclarationExpression, right: ExpressionNode, range?: [number, number]): AssignmentPattern {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new AssignmentPattern(left, right, range, loc);\n\t}\n\tcreateSpreadElement(argument: ExpressionNode, range?: [number, number]): SpreadElement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new SpreadElement(argument, range, loc);\n\t}\n\tcreateCommaListExpression(expressions: ExpressionNode[], range?: [number, number] | undefined): SequenceExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new SequenceExpression(expressions, range, loc);\n\t}\n\tcreateTemplateExpression(quasis: string[], expressions: ExpressionNode[], range?: [number, number]): TemplateLiteral {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new TemplateLiteral(quasis, expressions, range, loc);\n\t}\n\tcreateTaggedTemplateExpression(tag: ExpressionNode, quasis: string[], expressions: ExpressionNode[], range?: [number, number]): TaggedTemplateExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new TaggedTemplateExpression(tag, quasis, expressions, range, loc);\n\t}\n\tcreateNewExpression(className: ExpressionNode, parameters?: ExpressionNode[], range?: [number, number]): NewExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new NewExpression(className, parameters, range, loc);\n\t}\n\tcreateObjectBindingPattern(properties: (Property | RestElement)[], range?: [number, number] | undefined): ObjectPattern {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ObjectPattern(properties, range, loc);\n\t}\n\tcreateObjectLiteralExpression(properties: Property[], range?: [number, number]): ObjectExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ObjectExpression(properties, range, loc);\n\t}\n\tcreateArrayBindingPattern(elements: (DeclarationExpression | null)[], range?: [number, number]): ArrayPattern {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ArrayPattern(elements, range, loc);\n\t}\n\tcreateArrayLiteralExpression(elements: (ExpressionNode | SpreadElement | null)[], range?: [number, number]): ArrayExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ArrayExpression(elements, range, loc);\n\t}\n\tcreateAssignment(operator: AssignmentOperator, left: ExpressionNode, right: ExpressionNode, range?: [number, number]): AssignmentExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new AssignmentExpression(operator, left, right, range, loc);\n\t}\n\tcreateRestElement(argument: DeclarationExpression, range?: [number, number]): RestElement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new RestElement(argument, range, loc);\n\t}\n\tcreateArrowFunction(params: DeclarationExpression[], body: ExpressionNode | ExpressionNode[], expression: boolean, async: boolean, range?: [number, number]): ArrowFunctionExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ArrowFunctionExpression(params, body, expression, async, range, loc);\n\t}\n\tcreatePropertyDeclaration(key: ExpressionNode, value: DeclarationExpression | ExpressionNode, kind: 'init' | 'get' | 'set', method: boolean, shorthand: boolean, computed: boolean, range?: [number, number]): Property {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new Property(key, value, kind, method, shorthand, computed, range, loc);\n\t}\n\tcreateIdentifier(name: string, range?: [number, number]): Identifier {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new Identifier(name, range, loc);\n\t}\n\tcreatePropertyAssignment(object: ExpressionNode, property: ExpressionNode, computed: boolean, optional?: boolean, range?: [number, number]): MemberExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new MemberExpression(object, property, computed, optional, range, loc);\n\t}\n\tcreatePipelineExpression(left: ExpressionNode, right: ExpressionNode, params?: (ExpressionNode | '?' | '...?')[], range?: [number, number]): PipelineExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new PipelineExpression(left, right, params, range, loc);\n\t}\n\tcreateCallExpression(callee: ExpressionNode, params: ExpressionNode[], optional?: boolean, range?: [number, number]): CallExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new CallExpression(callee, params, optional, range, loc);\n\t}\n\tcreateBindExpression(object: ExpressionNode, property: ExpressionNode, computed: boolean, optional?: boolean, range?: [number, number]): BindExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new BindExpression(object, property, computed, optional, range, loc);\n\t}\n\tcreateChainExpression(expression: ExpressionNode, range?: [number, number]): ChainExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ChainExpression(expression, range, loc);\n\t}\n\tcreateLogicalExpression(operator: LogicalOperator, left: ExpressionNode, right: ExpressionNode, range?: [number, number],): LogicalExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new LogicalExpression(operator, left, right, range, loc);\n\t}\n\tcreateConditionalExpression(test: ExpressionNode, alternate: ExpressionNode, consequent: ExpressionNode, range?: [number, number]): ConditionalExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ConditionalExpression(test, alternate, consequent, range, loc);\n\t}\n\tcreateYieldExpression(delegate: boolean, argument?: ExpressionNode, range?: [number, number]): YieldExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new YieldExpression(delegate, argument, range, loc);\n\t}\n\tcreateMetaProperty(meta: Identifier, property: Identifier, range?: [number, number]): MetaProperty {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new MetaProperty(meta, property, range, loc);\n\t}\n\tcreateProgram(sourceType: ProgramSourceType, body: ExpressionNode[], range?: [number, number]): Program {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new Program(sourceType, body, range, loc);\n\t}\n\tcreateClassExpression(body: ClassBody, decorators: Decorator[], id?: Identifier, superClass?: ExpressionNode, range?: [number, number]): ClassExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ClassExpression(body, decorators, id, superClass, range, loc);\n\t}\n\tcreateClassStaticBlockDeclaration(body: ExpressionNode[], range?: [number, number]): StaticBlock {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new StaticBlock(body, range, loc);\n\t}\n\tcreateMethodSignature(kind: MethodDefinitionKind, key: ExpressionNode | PrivateIdentifier, value: FunctionExpression, decorators: Decorator[], computed: boolean, isStatic: boolean, range?: [number, number]): MethodDefinition {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new MethodDefinition(kind, key, value, decorators, computed, isStatic, range, loc);\n\t}\n\tcreatePropertySignature(key: ExpressionNode | PrivateIdentifier, decorators: Decorator[], computed: boolean, isStatic: boolean, value?: ExpressionNode, range?: [number, number]): PropertyDefinition {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new PropertyDefinition(key, decorators, computed, isStatic, value, range, loc);\n\t}\n\tcreateClassBody(body: (MethodDefinition | PropertyDefinition | AccessorProperty | StaticBlock)[], range?: [number, number]): ClassBody {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ClassBody(body, range, loc);\n\t}\n\tcreateNamespaceExportDeclaration(specifiers: ExportSpecifier[], declaration?: DeclarationExpression, source?: Literal<string>, assertions?: ImportAttribute[], range?: [number, number]): ExportNamedDeclaration {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ExportNamedDeclaration(specifiers, declaration, source, assertions, range, loc);\n\t}\n\tcreateExportSpecifier(local: Identifier, exported: Identifier, range?: [number, number]): ExportSpecifier {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ExportSpecifier(local, exported, range, loc);\n\t}\n\tcreateImportSpecifier(local: Identifier, imported: Identifier, range?: [number, number]): ImportSpecifier {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ImportSpecifier(local, imported, range, loc);\n\t}\n\tcreateImportDeclaration(source: Literal<string>, specifiers?: (ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier)[], assertions?: ImportAttribute[], range?: [number, number]): ImportDeclaration {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ImportDeclaration(source, specifiers, assertions, range, loc);\n\t}\n\tcreateImportNamespaceSpecifier(local: Identifier, range?: [number, number]): ImportNamespaceSpecifier {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ImportNamespaceSpecifier(local, range, loc);\n\t}\n\tcreateImportDefaultSpecifier(local: Identifier, range?: [number, number]): ImportDefaultSpecifier {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ImportDefaultSpecifier(local, range, loc);\n\t}\n\tcreateImportExpression(source: Literal<string>, attributes?: ExpressionNode, range?: [number, number]): ImportExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ImportExpression(source, attributes, range, loc);\n\t}\n\tcreateAssertEntry(key: Identifier | Literal<string>, value: Literal<string>, range?: [number, number]): ImportAttribute {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ImportAttribute(key, value, range, loc);\n\t}\n\tcreateExportDefault(declaration: FunctionDeclaration | ClassDeclaration | ExpressionNode, range?: [number, number],): ExportDefaultDeclaration {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ExportDefaultDeclaration(declaration, range, loc);\n\t}\n\tcreateExportAllDeclaration(source: Literal<string>, exported?: Identifier, assertions?: ImportAttribute[], range?: [number, number]): ExportAllDeclaration {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ExportAllDeclaration(source, exported, assertions, range, loc);\n\t}\n\tcreateInfixExpression(op: AssignmentOperator | LogicalOperator | BinaryOperator, left: ExpressionNode, right: ExpressionNode, range?: [number, number]): AssignmentExpression | LogicalExpression | BinaryExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\tswitch (op) {\n\t\t\tcase '=':\n\t\t\tcase '+=':\n\t\t\tcase '-=':\n\t\t\tcase '**=':\n\t\t\tcase '/=':\n\t\t\tcase '%=':\n\t\t\tcase '<<=':\n\t\t\tcase '>>=':\n\t\t\tcase '>>>=':\n\t\t\tcase '&=':\n\t\t\tcase '^=':\n\t\t\tcase '|=':\n\t\t\tcase '&&=':\n\t\t\tcase '||=':\n\t\t\tcase '??=':\n\t\t\t\treturn new AssignmentExpression(op, left, right, range, loc);\n\t\t\tcase '&&':\n\t\t\tcase '||':\n\t\t\tcase '??':\n\t\t\t\treturn new LogicalExpression(op, left, right, range, loc);\n\t\t\tcase '**':\n\t\t\tcase '*':\n\t\t\tcase '/':\n\t\t\tcase '%':\n\t\t\tcase '+':\n\t\t\tcase '-':\n\t\t\tcase '<':\n\t\t\tcase '<=':\n\t\t\tcase '>':\n\t\t\tcase '>=':\n\t\t\tcase 'in':\n\t\t\tcase 'instanceof':\n\t\t\tcase '==':\n\t\t\tcase '!=':\n\t\t\tcase '===':\n\t\t\tcase '!==':\n\t\t\tcase '<<':\n\t\t\tcase '>>':\n\t\t\tcase '>>>':\n\t\t\tcase '&':\n\t\t\tcase '^':\n\t\t\tcase '|':\n\t\t\tcase '>?':\n\t\t\tcase '<?':\n\t\t\tcase '<=>':\n\t\t\t\treturn new BinaryExpression(op, left, right, range, loc);\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`Not Supported Operator: ${op}`);\n\t\t}\n\t}\n\tcreateUnaryExpression(operator: UpdateOperator | UnaryOperator | 'await', expression: ExpressionNode, range?: [number, number]): UpdateExpression | UnaryExpression | AwaitExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\tswitch (operator) {\n\t\t\tcase '++':\n\t\t\tcase '--':\n\t\t\t\treturn new UpdateExpression(operator, expression, true, range, loc);\n\t\t\tcase '+':\n\t\t\tcase '-':\n\t\t\tcase '!':\n\t\t\tcase '~':\n\t\t\tcase 'typeof':\n\t\t\tcase 'void':\n\t\t\tcase 'delete':\n\t\t\t\treturn new UnaryExpression(operator, expression, range, loc);\n\t\t\tcase 'await':\n\t\t\t\treturn new AwaitExpression(expression, range, loc);\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`${operator} is not prefix operator`);\n\t\t}\n\t}\n\tcreateUpdateExpression(operator: UpdateOperator, argument: ExpressionNode, prefix: boolean, range?: [number, number]): UpdateExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new UpdateExpression(operator, argument, prefix, range, loc);\n\t}\n\tcreateAwaitExpression(argument: ExpressionNode, range?: [number, number]): AwaitExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new AwaitExpression(argument, range, loc);\n\t}\n\tisIdentifier(node?: ExpressionNode): node is Identifier {\n\t\treturn node instanceof Identifier || node?.type === 'Identifier';\n\t}\n\tisObjectExpression(node?: ExpressionNode): node is ObjectExpression {\n\t\treturn node instanceof ObjectExpression || node?.type === 'ObjectExpression';\n\t}\n\tisArrayExpression(node?: ExpressionNode): node is ArrayExpression {\n\t\treturn node instanceof ArrayExpression || node?.type === 'ArrayExpression';\n\t}\n\tisObjectPattern(node?: ExpressionNode): node is ObjectPattern {\n\t\treturn node instanceof ObjectPattern || node?.type === 'ObjectPattern';\n\t}\n\tisArrayPattern(node?: ExpressionNode): node is ArrayPattern {\n\t\treturn node instanceof ArrayPattern || node?.type === 'ArrayPattern';\n\t}\n\tisAssignmentPattern(node?: ExpressionNode): node is AssignmentPattern {\n\t\treturn node instanceof AssignmentPattern || node?.type === 'AssignmentPattern';\n\t}\n\tisPattern(node?: ExpressionNode): boolean {\n\t\treturn this.isObjectPattern(node) || this.isArrayPattern(node) || this.isAssignmentPattern(node);\n\t}\n\tcanBePattern(node?: ExpressionNode): node is (ObjectExpression | ArrayExpression) {\n\t\treturn this.isObjectExpression(node) || this.isArrayExpression(node);\n\t}\n\tisProperty(node?: ExpressionNode): node is Property {\n\t\treturn node instanceof Property || node?.type === 'Property';\n\t}\n\tisMemberExpression(node?: ExpressionNode): node is MemberExpression {\n\t\treturn node instanceof MemberExpression || node?.type === 'MemberExpression';\n\t}\n\tisPropertyOrMemberExpression(node?: ExpressionNode): node is (Property | MemberExpression) {\n\t\treturn this.isProperty(node) || this.isMemberExpression(node);\n\t}\n\tisEmptyStatement(node: ExpressionNode): node is EmptyStatement {\n\t\treturn node instanceof EmptyStatement || node?.type === 'EmptyStatement';\n\t}\n\tisSequenceExpression(node: ExpressionNode): node is SequenceExpression {\n\t\treturn node instanceof SequenceExpression || node?.type === 'SequenceExpression';\n\t}\n\tisSuper(node: ExpressionNode): node is Super {\n\t\treturn node instanceof Super || node?.type === 'Super';\n\t}\n\tisAssignmentExpression(node: ExpressionNode): node is AssignmentExpression {\n\t\treturn node instanceof AssignmentExpression || node?.type === 'AssignmentExpression';\n\t}\n\tisGroupingExpression(node: ExpressionNode): node is GroupingExpression {\n\t\treturn node instanceof GroupingExpression || node?.type === 'GroupingExpression';\n\t}\n\tisSpreadElement(node: ExpressionNode): node is SpreadElement {\n\t\treturn node instanceof SpreadElement || node?.type === 'SpreadElement';\n\t}\n\n}\n"]}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/expressions/v8/factory.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n\tAccessorProperty, ClassBody, ClassDeclaration, ClassExpression,\n\tMetaProperty, MethodDefinition, MethodDefinitionKind, PrivateIdentifier,\n\tPropertyDefinition, StaticBlock, Super\n} from '../api/class/class.js';\nimport { Decorator } from '../api/class/decorator.js';\nimport { CallExpression } from '../api/computing/call.js';\nimport { DebuggerStatement } from '../api/computing/debugger.js';\nimport { NewExpression } from '../api/computing/new.js';\nimport { RestElement } from '../api/computing/rest.js';\nimport { ReturnStatement } from '../api/computing/return.js';\nimport { SpreadElement } from '../api/computing/spread.js';\nimport {\n\tCatchClauseNode, ThrowStatement, TryCatchNode\n} from '../api/computing/throw.js';\nimport { YieldExpression } from '../api/computing/yield.js';\nimport { ArrayExpression, ArrayPattern } from '../api/definition/array.js';\nimport { BindExpression } from '../api/definition/bind.js';\nimport {\n\tArrowFunctionExpression, AssignmentPattern, FunctionDeclaration, FunctionExpression\n} from '../api/definition/function.js';\nimport { MemberExpression } from '../api/definition/member.js';\nimport {\n\tObjectExpression, ObjectPattern, Property\n} from '../api/definition/object.js';\nimport { ExpressionStatement } from '../api/definition/statement.js';\nimport {\n\tIdentifier, Literal, TaggedTemplateExpression, TemplateLiteral, ThisExpression\n} from '../api/definition/values.js';\nimport {\n\tDeclarationExpression, ExpressionNode, SourceLocation\n} from '../api/expression.js';\nimport { ImportAttribute } from '../api/module/common.js';\nimport {\n\tExportAllDeclaration, ExportDefaultDeclaration,\n\tExportNamedDeclaration, ExportSpecifier\n} from '../api/module/export.js';\nimport {\n\tImportDeclaration, ImportDefaultSpecifier, ImportExpression,\n\tImportNamespaceSpecifier, ImportSpecifier\n} from '../api/module/import.js';\nimport {\n\tAssignmentExpression, AssignmentOperator\n} from '../api/operators/assignment.js';\nimport { AwaitExpression } from '../api/operators/await.js';\nimport { BinaryExpression, BinaryOperator } from '../api/operators/binary.js';\nimport { ChainExpression } from '../api/operators/chaining.js';\nimport { SequenceExpression } from '../api/operators/comma.js';\nimport { GroupingExpression } from '../api/operators/grouping.js';\nimport { LogicalExpression, LogicalOperator } from '../api/operators/logical.js';\nimport { PipelineExpression } from '../api/operators/pipeline.js';\nimport { ConditionalExpression } from '../api/operators/ternary.js';\nimport { UnaryExpression, UnaryOperator } from '../api/operators/unary.js';\nimport { UpdateExpression, UpdateOperator } from '../api/operators/update.js';\nimport { Program, ProgramSourceType } from '../api/program.js';\nimport { BlockStatement } from '../api/statement/control/block.js';\nimport { EmptyStatement } from '../api/statement/control/empty.js';\nimport { IfStatement } from '../api/statement/control/if.js';\nimport {\n\tDefaultExpression, SwitchCase, SwitchStatement\n} from '../api/statement/control/switch.js';\nimport {\n\tBreakStatement, ContinueStatement, LabeledStatement\n} from '../api/statement/control/terminate.js';\nimport { WithStatement } from '../api/statement/control/with.js';\nimport {\n\tVariableDeclarationNode, VariableDeclarator\n} from '../api/statement/declarations/declares.js';\nimport {\n\tForAwaitOfNode, ForDeclaration, ForInNode, ForNode, ForOfNode\n} from '../api/statement/iterations/for.js';\nimport { DoWhileNode, WhileNode } from '../api/statement/iterations/while.js';\nimport type { NodeFactory, SourcePositionFactory } from './node.js';\n\n\nexport class ExpressionNodeSourcePosition implements SourcePositionFactory {\n\tprivate newLineRegex = new RegExp('\\n', 'g');\n\n\tconstructor(private source: string) { }\n\n\tprivate getLineNumber(index: number, defaultValue: number) {\n\t\treturn this.source.substring(0, index).match(this.newLineRegex)?.length ?? defaultValue;\n\t}\n\n\tprivate getColumnNumber(index: number) {\n\t\tconst end = this.source.lastIndexOf('\\n', index);\n\t\tif (end === -1) {\n\t\t\treturn index;\n\t\t}\n\t\treturn index - end - 1;\n\t}\n\n\tpublic createSourcePosition(range?: [number, number]): SourceLocation | undefined {\n\t\tif (!range || !this.source) {\n\t\t\treturn;\n\t\t}\n\t\tconst startLine = this.getLineNumber(range[0], 1);\n\t\tconst endLine = this.getLineNumber(range[1], startLine);\n\t\tconst startColumn = this.getColumnNumber(range[0]);\n\t\tconst endColumn = this.getColumnNumber(range[1]);\n\t\treturn {\n\t\t\tstart: { line: startLine, column: startColumn },\n\t\t\tend: { line: endLine, column: endColumn },\n\t\t};\n\t}\n\n}\n\nexport class ExpressionNodeFactory implements NodeFactory {\n\n\tconstructor(private rangeFactory?: SourcePositionFactory) { }\n\n\tcreateDebuggerStatement(range?: [number, number]): DebuggerStatement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new DebuggerStatement(range, loc);\n\t}\n\n\tcreateSuper(range?: [number, number]): Super {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new Super(range, loc);\n\t}\n\tcreateThis(range?: [number, number]): ThisExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ThisExpression(range, loc);\n\t}\n\tcreateNull(range?: [number, number]): Literal<null> {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new Literal(null, undefined, undefined, undefined, range, loc);\n\t}\n\tcreateTrue(range?: [number, number]): Literal<true> {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new Literal(true, undefined, undefined, undefined, range, loc);\n\t}\n\tcreateFalse(range?: [number, number]): Literal<false> {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new Literal(false, undefined, undefined, undefined, range, loc);\n\t}\n\tcreateVoidZero(argument: ExpressionNode, range?: [number, number]): UnaryExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new UnaryExpression('void', argument, range, loc);\n\t}\n\tcreateEmptyStatement(range?: [number, number]): EmptyStatement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new EmptyStatement(range, loc);\n\t}\n\tcreateExpressionStatement(list: ExpressionNode[], range?: [number, number]): ExpressionNode {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ExpressionStatement(list, range, loc);\n\t}\n\tcreateCatchClause(block: BlockStatement, identifier?: ExpressionNode, range?: [number, number]): CatchClauseNode {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new CatchClauseNode(block, identifier, range, loc);\n\t}\n\tcreateTryStatement(tryBlock: BlockStatement, catchBlock?: ExpressionNode, finallyBlock?: ExpressionNode, range?: [number, number]): TryCatchNode {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new TryCatchNode(tryBlock, catchBlock, finallyBlock, range, loc);\n\t}\n\tcreateThrowStatement(exception: ExpressionNode, range?: [number, number]): ThrowStatement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ThrowStatement(exception, range, loc);\n\t}\n\n\tcreateBlock(statements: ExpressionNode[], range?: [number, number]): BlockStatement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new BlockStatement(statements, range, loc);\n\t}\n\tcreateIfStatement(condition: ExpressionNode, thenStatement: ExpressionNode, elseStatement?: ExpressionNode, range?: [number, number]): IfStatement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new IfStatement(condition, thenStatement, elseStatement, range, loc);\n\t}\n\tcreateDoStatement(condition: ExpressionNode, body: ExpressionNode, range?: [number, number] | undefined): DoWhileNode {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new DoWhileNode(condition, body, range, loc);\n\t}\n\tcreateClassDeclaration(body: ClassBody, decorators: Decorator[], id: Identifier, superClass?: ExpressionNode, range?: [number, number]): ClassDeclaration {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ClassDeclaration(body, decorators, id, superClass, range, loc);\n\t}\n\tcreateFunctionDeclaration(formals: DeclarationExpression[], bodyBlock: BlockStatement, isAsync: boolean, isGenerator: boolean, name: Identifier, range?: [number, number]): FunctionDeclaration {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new FunctionDeclaration(formals, bodyBlock, isAsync, isGenerator, name, range, loc);\n\t}\n\tcreateFunctionExpression(formals: DeclarationExpression[], bodyBlock: BlockStatement, isAsync: boolean, isGenerator: boolean, range?: [number, number]): FunctionExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new FunctionExpression(formals, bodyBlock, isAsync, isGenerator, undefined, range, loc);\n\t}\n\tcreateWhileStatement(condition: ExpressionNode, body: ExpressionNode, range?: [number, number] | undefined): WhileNode {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new WhileNode(condition, body, range, loc);\n\t}\n\tcreateSwitchStatement(tag: ExpressionNode, cases: SwitchCase[], range?: [number, number] | undefined): SwitchStatement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new SwitchStatement(tag, cases, range, loc);\n\t}\n\tcreateCaseBlock(test: ExpressionNode, block: BlockStatement, range?: [number, number] | undefined): SwitchCase {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new SwitchCase(test, block, range, loc);\n\t}\n\tcreateDefaultClause(block: BlockStatement, range?: [number, number] | undefined): DefaultExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new DefaultExpression(block, range, loc);\n\t}\n\tcreateWithStatement(object: ExpressionNode, body: ExpressionNode, range?: [number, number]): WithStatement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new WithStatement(object, body, range, loc);\n\t}\n\tcreateForStatement(body: ExpressionNode, initializer: ExpressionNode, cond: ExpressionNode, next: ExpressionNode, range?: [number, number] | undefined): ForNode {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ForNode(body, initializer, cond, next, range, loc);\n\t}\n\tcreateForOfStatement(initializer: ForDeclaration, enumerable: ExpressionNode, body: ExpressionNode, range?: [number, number] | undefined): ForOfNode {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ForOfNode(initializer, enumerable, body, range, loc);\n\t}\n\tcreateForAwaitOfStatement(left: ForDeclaration, right: ExpressionNode, body: ExpressionNode, range?: [number, number] | undefined): ForAwaitOfNode {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ForAwaitOfNode(left, right, body, range, loc);\n\t}\n\tcreateForInStatement(initializer: ForDeclaration, enumerable: ExpressionNode, body: ExpressionNode, range?: [number, number]): ForInNode {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ForInNode(initializer, enumerable, body, range, loc);\n\t}\n\tcreateVariableDeclaration(id: DeclarationExpression, init?: ExpressionNode, range?: [number, number]): VariableDeclarator {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new VariableDeclarator(id, init, range, loc);\n\t}\n\tcreateVariableStatement(variables: VariableDeclarator[], kind: 'let' | 'var' | 'const', range?: [number, number]): VariableDeclarationNode {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new VariableDeclarationNode(variables, kind, range, loc);\n\t}\n\tcreateContinueStatement(label?: Identifier, range?: [number, number]): ContinueStatement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ContinueStatement(label, range, loc);\n\t}\n\tcreateBreakStatement(label?: Identifier, range?: [number, number]): BreakStatement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new BreakStatement(label, range, loc);\n\t}\n\tcreateReturnStatement(argument?: ExpressionNode, range?: [number, number]): ReturnStatement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ReturnStatement(argument, range, loc);\n\t}\n\tcreateLabeledStatement(expression: Identifier, result: ExpressionNode, range?: [number, number]): LabeledStatement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new LabeledStatement(expression, result, range, loc);\n\t}\n\tcreateAssignmentPattern(left: DeclarationExpression, right: ExpressionNode, range?: [number, number]): AssignmentPattern {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new AssignmentPattern(left, right, range, loc);\n\t}\n\tcreateSpreadElement(argument: ExpressionNode, range?: [number, number]): SpreadElement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new SpreadElement(argument, range, loc);\n\t}\n\tcreateCommaListExpression(expressions: ExpressionNode[], range?: [number, number] | undefined): SequenceExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new SequenceExpression(expressions, range, loc);\n\t}\n\tcreateTemplateExpression(quasis: string[], expressions: ExpressionNode[], range?: [number, number]): TemplateLiteral {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new TemplateLiteral(quasis, expressions, range, loc);\n\t}\n\tcreateTaggedTemplateExpression(tag: ExpressionNode, quasis: string[], expressions: ExpressionNode[], range?: [number, number]): TaggedTemplateExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new TaggedTemplateExpression(tag, quasis, expressions, range, loc);\n\t}\n\tcreateNewExpression(className: ExpressionNode, parameters?: ExpressionNode[], range?: [number, number]): NewExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new NewExpression(className, parameters, range, loc);\n\t}\n\tcreateObjectBindingPattern(properties: (Property | RestElement)[], range?: [number, number] | undefined): ObjectPattern {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ObjectPattern(properties, range, loc);\n\t}\n\tcreateObjectLiteralExpression(properties: Property[], range?: [number, number]): ObjectExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ObjectExpression(properties, range, loc);\n\t}\n\tcreateArrayBindingPattern(elements: (DeclarationExpression | null)[], range?: [number, number]): ArrayPattern {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ArrayPattern(elements, range, loc);\n\t}\n\tcreateArrayLiteralExpression(elements: (ExpressionNode | SpreadElement | null)[], range?: [number, number]): ArrayExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ArrayExpression(elements, range, loc);\n\t}\n\tcreateAssignment(operator: AssignmentOperator, left: ExpressionNode, right: ExpressionNode, range?: [number, number]): AssignmentExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new AssignmentExpression(operator, left, right, range, loc);\n\t}\n\tcreateRestElement(argument: DeclarationExpression, range?: [number, number]): RestElement {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new RestElement(argument, range, loc);\n\t}\n\tcreateArrowFunction(params: DeclarationExpression[], body: ExpressionNode | ExpressionNode[], expression: boolean, async: boolean, range?: [number, number]): ArrowFunctionExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ArrowFunctionExpression(params, body, expression, async, range, loc);\n\t}\n\tcreatePropertyDeclaration(key: ExpressionNode, value: DeclarationExpression | ExpressionNode, kind: 'init' | 'get' | 'set', method: boolean, shorthand: boolean, computed: boolean, range?: [number, number]): Property {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new Property(key, value, kind, method, shorthand, computed, range, loc);\n\t}\n\tcreateIdentifier(name: string, range?: [number, number]): Identifier {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new Identifier(name, range, loc);\n\t}\n\tcreatePropertyAssignment(object: ExpressionNode, property: ExpressionNode, computed: boolean, optional?: boolean, range?: [number, number]): MemberExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new MemberExpression(object, property, computed, optional, range, loc);\n\t}\n\tcreatePipelineExpression(left: ExpressionNode, right: ExpressionNode, params?: (ExpressionNode | '?' | '...?')[], range?: [number, number]): PipelineExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new PipelineExpression(left, right, params, range, loc);\n\t}\n\tcreateCallExpression(callee: ExpressionNode, params: ExpressionNode[], optional?: boolean, range?: [number, number]): CallExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new CallExpression(callee, params, optional, range, loc);\n\t}\n\tcreateBindExpression(object: ExpressionNode, property: ExpressionNode, computed: boolean, optional?: boolean, range?: [number, number]): BindExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new BindExpression(object, property, computed, optional, range, loc);\n\t}\n\tcreateChainExpression(expression: ExpressionNode, range?: [number, number]): ChainExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ChainExpression(expression, range, loc);\n\t}\n\tcreateLogicalExpression(operator: LogicalOperator, left: ExpressionNode, right: ExpressionNode, range?: [number, number],): LogicalExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new LogicalExpression(operator, left, right, range, loc);\n\t}\n\tcreateConditionalExpression(test: ExpressionNode, alternate: ExpressionNode, consequent: ExpressionNode, range?: [number, number]): ConditionalExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ConditionalExpression(test, alternate, consequent, range, loc);\n\t}\n\tcreateYieldExpression(delegate: boolean, argument?: ExpressionNode, range?: [number, number]): YieldExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new YieldExpression(delegate, argument, range, loc);\n\t}\n\tcreateMetaProperty(meta: Identifier, property: Identifier, range?: [number, number]): MetaProperty {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new MetaProperty(meta, property, range, loc);\n\t}\n\tcreateProgram(sourceType: ProgramSourceType, body: ExpressionNode[], range?: [number, number]): Program {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new Program(sourceType, body, range, loc);\n\t}\n\tcreateClassExpression(body: ClassBody, decorators: Decorator[], id?: Identifier, superClass?: ExpressionNode, range?: [number, number]): ClassExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ClassExpression(body, decorators, id, superClass, range, loc);\n\t}\n\tcreateClassStaticBlockDeclaration(body: ExpressionNode[], range?: [number, number]): StaticBlock {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new StaticBlock(body, range, loc);\n\t}\n\tcreateMethodSignature(kind: MethodDefinitionKind, key: ExpressionNode | PrivateIdentifier, value: FunctionExpression, decorators: Decorator[], computed: boolean, isStatic: boolean, range?: [number, number]): MethodDefinition {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new MethodDefinition(kind, key, value, decorators, computed, isStatic, range, loc);\n\t}\n\tcreatePropertySignature(key: ExpressionNode | PrivateIdentifier, decorators: Decorator[], computed: boolean, isStatic: boolean, value?: ExpressionNode, range?: [number, number]): PropertyDefinition {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new PropertyDefinition(key, decorators, computed, isStatic, value, range, loc);\n\t}\n\tcreateClassBody(body: (MethodDefinition | PropertyDefinition | AccessorProperty | StaticBlock)[], range?: [number, number]): ClassBody {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ClassBody(body, range, loc);\n\t}\n\tcreateNamespaceExportDeclaration(specifiers: ExportSpecifier[], declaration?: DeclarationExpression, source?: Literal<string>, assertions?: ImportAttribute[], range?: [number, number]): ExportNamedDeclaration {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ExportNamedDeclaration(specifiers, declaration, source, assertions, range, loc);\n\t}\n\tcreateExportSpecifier(local: Identifier, exported: Identifier, range?: [number, number]): ExportSpecifier {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ExportSpecifier(local, exported, range, loc);\n\t}\n\tcreateImportSpecifier(local: Identifier, imported: Identifier, range?: [number, number]): ImportSpecifier {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ImportSpecifier(local, imported, range, loc);\n\t}\n\tcreateImportDeclaration(source: Literal<string>, specifiers?: (ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier)[], assertions?: ImportAttribute[], range?: [number, number]): ImportDeclaration {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ImportDeclaration(source, specifiers, assertions, range, loc);\n\t}\n\tcreateImportNamespaceSpecifier(local: Identifier, range?: [number, number]): ImportNamespaceSpecifier {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ImportNamespaceSpecifier(local, range, loc);\n\t}\n\tcreateImportDefaultSpecifier(local: Identifier, range?: [number, number]): ImportDefaultSpecifier {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ImportDefaultSpecifier(local, range, loc);\n\t}\n\tcreateImportExpression(source: Literal<string>, attributes?: ExpressionNode, range?: [number, number]): ImportExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ImportExpression(source, attributes, range, loc);\n\t}\n\tcreateAssertEntry(key: Identifier | Literal<string>, value: Literal<string>, range?: [number, number]): ImportAttribute {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ImportAttribute(key, value, range, loc);\n\t}\n\tcreateExportDefault(declaration: FunctionDeclaration | ClassDeclaration | ExpressionNode, range?: [number, number],): ExportDefaultDeclaration {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ExportDefaultDeclaration(declaration, range, loc);\n\t}\n\tcreateExportAllDeclaration(source: Literal<string>, exported?: Identifier, assertions?: ImportAttribute[], range?: [number, number]): ExportAllDeclaration {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new ExportAllDeclaration(source, exported, assertions, range, loc);\n\t}\n\tcreateInfixExpression(op: AssignmentOperator | LogicalOperator | BinaryOperator, left: ExpressionNode, right: ExpressionNode, range?: [number, number]): AssignmentExpression | LogicalExpression | BinaryExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\tswitch (op) {\n\t\t\tcase '=':\n\t\t\tcase '+=':\n\t\t\tcase '-=':\n\t\t\tcase '**=':\n\t\t\tcase '/=':\n\t\t\tcase '%=':\n\t\t\tcase '<<=':\n\t\t\tcase '>>=':\n\t\t\tcase '>>>=':\n\t\t\tcase '&=':\n\t\t\tcase '^=':\n\t\t\tcase '|=':\n\t\t\tcase '&&=':\n\t\t\tcase '||=':\n\t\t\tcase '??=':\n\t\t\t\treturn new AssignmentExpression(op, left, right, range, loc);\n\t\t\tcase '&&':\n\t\t\tcase '||':\n\t\t\tcase '??':\n\t\t\t\treturn new LogicalExpression(op, left, right, range, loc);\n\t\t\tcase '**':\n\t\t\tcase '*':\n\t\t\tcase '/':\n\t\t\tcase '%':\n\t\t\tcase '+':\n\t\t\tcase '-':\n\t\t\tcase '<':\n\t\t\tcase '<=':\n\t\t\tcase '>':\n\t\t\tcase '>=':\n\t\t\tcase 'in':\n\t\t\tcase 'instanceof':\n\t\t\tcase '==':\n\t\t\tcase '!=':\n\t\t\tcase '===':\n\t\t\tcase '!==':\n\t\t\tcase '<<':\n\t\t\tcase '>>':\n\t\t\tcase '>>>':\n\t\t\tcase '&':\n\t\t\tcase '^':\n\t\t\tcase '|':\n\t\t\tcase '>?':\n\t\t\tcase '<?':\n\t\t\tcase '<=>':\n\t\t\t\treturn new BinaryExpression(op, left, right, range, loc);\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`Not Supported Operator: ${op}`);\n\t\t}\n\t}\n\tcreateUnaryExpression(operator: UpdateOperator | UnaryOperator | 'await', expression: ExpressionNode, range?: [number, number]): UpdateExpression | UnaryExpression | AwaitExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\tswitch (operator) {\n\t\t\tcase '++':\n\t\t\tcase '--':\n\t\t\t\treturn new UpdateExpression(operator, expression, true, range, loc);\n\t\t\tcase '+':\n\t\t\tcase '-':\n\t\t\tcase '!':\n\t\t\tcase '~':\n\t\t\tcase 'typeof':\n\t\t\tcase 'void':\n\t\t\tcase 'delete':\n\t\t\t\treturn new UnaryExpression(operator, expression, range, loc);\n\t\t\tcase 'await':\n\t\t\t\treturn new AwaitExpression(expression, range, loc);\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`${operator} is not prefix operator`);\n\t\t}\n\t}\n\tcreateUpdateExpression(operator: UpdateOperator, argument: ExpressionNode, prefix: boolean, range?: [number, number]): UpdateExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new UpdateExpression(operator, argument, prefix, range, loc);\n\t}\n\tcreateAwaitExpression(argument: ExpressionNode, range?: [number, number]): AwaitExpression {\n\t\tconst loc = this.rangeFactory?.createSourcePosition(range);\n\t\treturn new AwaitExpression(argument, range, loc);\n\t}\n\tisIdentifier(node?: ExpressionNode): node is Identifier {\n\t\treturn node instanceof Identifier || node?.type === 'Identifier';\n\t}\n\tisObjectExpression(node?: ExpressionNode): node is ObjectExpression {\n\t\treturn node instanceof ObjectExpression || node?.type === 'ObjectExpression';\n\t}\n\tisArrayExpression(node?: ExpressionNode): node is ArrayExpression {\n\t\treturn node instanceof ArrayExpression || node?.type === 'ArrayExpression';\n\t}\n\tisObjectPattern(node?: ExpressionNode): node is ObjectPattern {\n\t\treturn node instanceof ObjectPattern || node?.type === 'ObjectPattern';\n\t}\n\tisArrayPattern(node?: ExpressionNode): node is ArrayPattern {\n\t\treturn node instanceof ArrayPattern || node?.type === 'ArrayPattern';\n\t}\n\tisAssignmentPattern(node?: ExpressionNode): node is AssignmentPattern {\n\t\treturn node instanceof AssignmentPattern || node?.type === 'AssignmentPattern';\n\t}\n\tisPattern(node?: ExpressionNode): boolean {\n\t\treturn this.isObjectPattern(node) || this.isArrayPattern(node) || this.isAssignmentPattern(node);\n\t}\n\tcanBePattern(node?: ExpressionNode): node is (ObjectExpression | ArrayExpression) {\n\t\treturn this.isObjectExpression(node) || this.isArrayExpression(node);\n\t}\n\tisProperty(node?: ExpressionNode): node is Property {\n\t\treturn node instanceof Property || node?.type === 'Property';\n\t}\n\tisMemberExpression(node?: ExpressionNode): node is MemberExpression {\n\t\treturn node instanceof MemberExpression || node?.type === 'MemberExpression';\n\t}\n\tisPropertyOrMemberExpression(node?: ExpressionNode): node is (Property | MemberExpression) {\n\t\treturn this.isProperty(node) || this.isMemberExpression(node);\n\t}\n\tisEmptyStatement(node: ExpressionNode): node is EmptyStatement {\n\t\treturn node instanceof EmptyStatement || node?.type === 'EmptyStatement';\n\t}\n\tisSequenceExpression(node: ExpressionNode): node is SequenceExpression {\n\t\treturn node instanceof SequenceExpression || node?.type === 'SequenceExpression';\n\t}\n\tisSuper(node: ExpressionNode): node is Super {\n\t\treturn node instanceof Super || node?.type === 'Super';\n\t}\n\tisAssignmentExpression(node: ExpressionNode): node is AssignmentExpression {\n\t\treturn node instanceof AssignmentExpression || node?.type === 'AssignmentExpression';\n\t}\n\tisGroupingExpression(node: ExpressionNode): node is GroupingExpression {\n\t\treturn node instanceof GroupingExpression || node?.type === 'GroupingExpression';\n\t}\n\tisSpreadElement(node: ExpressionNode): node is SpreadElement {\n\t\treturn node instanceof SpreadElement || node?.type === 'SpreadElement';\n\t}\n\n}\n"]}
package/v8/index.d.ts CHANGED
@@ -4,3 +4,4 @@ export * from './enums.js';
4
4
  export * from './language.js';
5
5
  export * from './inline.js';
6
6
  export * from './parser.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/expressions/v8/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC"}
package/v8/inline.d.ts CHANGED
@@ -214,3 +214,4 @@ export declare class JavaScriptInlineParser extends AbstractParser {
214
214
  protected parseImportExpressions(): ExpressionNode;
215
215
  protected parseWithStatement(): ExpressionNode;
216
216
  }
217
+ //# sourceMappingURL=inline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inline.d.ts","sourceRoot":"","sources":["../../../src/expressions/v8/inline.ts"],"names":[],"mappings":"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"}
package/v8/inline.js CHANGED
@@ -5,6 +5,12 @@ import { Token } from './token.js';
5
5
  import { ExpressionNodeFactory, ExpressionNodeSourcePosition } from './factory.js';
6
6
  import { isSloppy, isStrict, LanguageMode } from './language.js';
7
7
  export class AbstractParser {
8
+ scanner;
9
+ factory;
10
+ acceptIN;
11
+ previousAcceptIN = [];
12
+ functionKind;
13
+ previousFunctionKind = [];
8
14
  get languageMode() {
9
15
  return this.scanner.getLanguageMode();
10
16
  }
@@ -14,8 +20,6 @@ export class AbstractParser {
14
20
  constructor(scanner, factory, acceptIN) {
15
21
  this.scanner = scanner;
16
22
  this.factory = factory;
17
- this.previousAcceptIN = [];
18
- this.previousFunctionKind = [];
19
23
  this.previousAcceptIN.push(this.acceptIN = acceptIN ?? false);
20
24
  this.previousFunctionKind.push(this.functionKind = FunctionKind.NormalFunction);
21
25
  }
@@ -270,11 +274,11 @@ export class AbstractParser {
270
274
  }
271
275
  export class JavaScriptInlineParser extends AbstractParser {
272
276
  static parse(source, { mode, acceptIN, factory, addLocation } = {}) {
273
- mode ?? (mode = LanguageMode.Strict);
277
+ mode ??= LanguageMode.Strict;
274
278
  const stream = (typeof source === 'string')
275
279
  ? TokenStream.getTokenStream(source, mode)
276
280
  : Array.isArray(source) ? TokenStream.getTokenStream(source) : source;
277
- acceptIN ?? (acceptIN = false);
281
+ acceptIN ??= false;
278
282
  if (factory == undefined) {
279
283
  const sourcePositionFactory = addLocation && typeof source === 'string' ? new ExpressionNodeSourcePosition(source) : undefined;
280
284
  factory = new ExpressionNodeFactory(sourcePositionFactory);
@@ -1049,7 +1053,7 @@ export class JavaScriptInlineParser extends AbstractParser {
1049
1053
  return this.parseFunctionLiteral(flag, FunctionSyntaxKind.Declaration, name, start);
1050
1054
  }
1051
1055
  parseIdentifier(kind) {
1052
- kind ?? (kind = this.functionKind);
1056
+ kind ??= this.functionKind;
1053
1057
  const next = this.next();
1054
1058
  if (!Token.isValidIdentifier(next.token, this.languageMode, isGeneratorFunction(kind), isAwaitAsIdentifierDisallowed(kind))) {
1055
1059
  throw new Error(this.errorMessage(`Unexpected Token: ${next.getValue()}`));