@engine262/engine262 0.0.1-0574c6b92a2925de851f895445b7cfd7e97cc0ba

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 (993) hide show
  1. package/LICENSE +19 -0
  2. package/README.md +149 -0
  3. package/bin/engine262.js +5 -0
  4. package/declaration/abstract-ops/all.d.mts +36 -0
  5. package/declaration/abstract-ops/all.d.mts.map +1 -0
  6. package/declaration/abstract-ops/arguments-operations.d.mts +14 -0
  7. package/declaration/abstract-ops/arguments-operations.d.mts.map +1 -0
  8. package/declaration/abstract-ops/array-objects.d.mts +15 -0
  9. package/declaration/abstract-ops/array-objects.d.mts.map +1 -0
  10. package/declaration/abstract-ops/arraybuffer-objects.d.mts +41 -0
  11. package/declaration/abstract-ops/arraybuffer-objects.d.mts.map +1 -0
  12. package/declaration/abstract-ops/async-function-operations.d.mts +7 -0
  13. package/declaration/abstract-ops/async-function-operations.d.mts.map +1 -0
  14. package/declaration/abstract-ops/async-generator-objects.d.mts +39 -0
  15. package/declaration/abstract-ops/async-generator-objects.d.mts.map +1 -0
  16. package/declaration/abstract-ops/data-types-and-values.d.mts +6 -0
  17. package/declaration/abstract-ops/data-types-and-values.d.mts.map +1 -0
  18. package/declaration/abstract-ops/dataview-objects.d.mts +32 -0
  19. package/declaration/abstract-ops/dataview-objects.d.mts.map +1 -0
  20. package/declaration/abstract-ops/date-objects.d.mts +46 -0
  21. package/declaration/abstract-ops/date-objects.d.mts.map +1 -0
  22. package/declaration/abstract-ops/error-objects.d.mts +8 -0
  23. package/declaration/abstract-ops/error-objects.d.mts.map +1 -0
  24. package/declaration/abstract-ops/execution-contexts.d.mts +22 -0
  25. package/declaration/abstract-ops/execution-contexts.d.mts.map +1 -0
  26. package/declaration/abstract-ops/function-operations.d.mts +96 -0
  27. package/declaration/abstract-ops/function-operations.d.mts.map +1 -0
  28. package/declaration/abstract-ops/generator-operations.d.mts +39 -0
  29. package/declaration/abstract-ops/generator-operations.d.mts.map +1 -0
  30. package/declaration/abstract-ops/global-object.d.mts +12 -0
  31. package/declaration/abstract-ops/global-object.d.mts.map +1 -0
  32. package/declaration/abstract-ops/immutable-prototype-objects.d.mts +7 -0
  33. package/declaration/abstract-ops/immutable-prototype-objects.d.mts.map +1 -0
  34. package/declaration/abstract-ops/import-calls.d.mts +5 -0
  35. package/declaration/abstract-ops/import-calls.d.mts.map +1 -0
  36. package/declaration/abstract-ops/iterator-operations.d.mts +54 -0
  37. package/declaration/abstract-ops/iterator-operations.d.mts.map +1 -0
  38. package/declaration/abstract-ops/keyed-collections.d.mts +4 -0
  39. package/declaration/abstract-ops/keyed-collections.d.mts.map +1 -0
  40. package/declaration/abstract-ops/module-namespace-exotic-objects.d.mts +16 -0
  41. package/declaration/abstract-ops/module-namespace-exotic-objects.d.mts.map +1 -0
  42. package/declaration/abstract-ops/module-records.d.mts +38 -0
  43. package/declaration/abstract-ops/module-records.d.mts.map +1 -0
  44. package/declaration/abstract-ops/notational-conventions.d.mts +14 -0
  45. package/declaration/abstract-ops/notational-conventions.d.mts.map +1 -0
  46. package/declaration/abstract-ops/object-operations.d.mts +91 -0
  47. package/declaration/abstract-ops/object-operations.d.mts.map +1 -0
  48. package/declaration/abstract-ops/objects.d.mts +31 -0
  49. package/declaration/abstract-ops/objects.d.mts.map +1 -0
  50. package/declaration/abstract-ops/private-names.d.mts +36 -0
  51. package/declaration/abstract-ops/private-names.d.mts.map +1 -0
  52. package/declaration/abstract-ops/promise-operations.d.mts +63 -0
  53. package/declaration/abstract-ops/promise-operations.d.mts.map +1 -0
  54. package/declaration/abstract-ops/proxy-objects.d.mts +6 -0
  55. package/declaration/abstract-ops/proxy-objects.d.mts.map +1 -0
  56. package/declaration/abstract-ops/realms.d.mts +173 -0
  57. package/declaration/abstract-ops/realms.d.mts.map +1 -0
  58. package/declaration/abstract-ops/reference-operations.d.mts +30 -0
  59. package/declaration/abstract-ops/reference-operations.d.mts.map +1 -0
  60. package/declaration/abstract-ops/regexp-objects.d.mts +40 -0
  61. package/declaration/abstract-ops/regexp-objects.d.mts.map +1 -0
  62. package/declaration/abstract-ops/shared-arraybuffer.d.mts +4 -0
  63. package/declaration/abstract-ops/shared-arraybuffer.d.mts.map +1 -0
  64. package/declaration/abstract-ops/spec-types.d.mts +34 -0
  65. package/declaration/abstract-ops/spec-types.d.mts.map +1 -0
  66. package/declaration/abstract-ops/string-objects.d.mts +8 -0
  67. package/declaration/abstract-ops/string-objects.d.mts.map +1 -0
  68. package/declaration/abstract-ops/symbol-objects.d.mts +6 -0
  69. package/declaration/abstract-ops/symbol-objects.d.mts.map +1 -0
  70. package/declaration/abstract-ops/testing-comparison.d.mts +47 -0
  71. package/declaration/abstract-ops/testing-comparison.d.mts.map +1 -0
  72. package/declaration/abstract-ops/type-conversion.d.mts +56 -0
  73. package/declaration/abstract-ops/type-conversion.d.mts.map +1 -0
  74. package/declaration/abstract-ops/typedarray-objects.d.mts +33 -0
  75. package/declaration/abstract-ops/typedarray-objects.d.mts.map +1 -0
  76. package/declaration/abstract-ops/weak-operations.d.mts +12 -0
  77. package/declaration/abstract-ops/weak-operations.d.mts.map +1 -0
  78. package/declaration/api.d.mts +71 -0
  79. package/declaration/api.d.mts.map +1 -0
  80. package/declaration/completion.d.mts +165 -0
  81. package/declaration/completion.d.mts.map +1 -0
  82. package/declaration/environment.d.mts +201 -0
  83. package/declaration/environment.d.mts.map +1 -0
  84. package/declaration/evaluator.d.mts +42 -0
  85. package/declaration/evaluator.d.mts.map +1 -0
  86. package/declaration/helpers.d.mts +103 -0
  87. package/declaration/helpers.d.mts.map +1 -0
  88. package/declaration/host-defined/debugger-eval.d.mts +3 -0
  89. package/declaration/host-defined/debugger-eval.d.mts.map +1 -0
  90. package/declaration/host-defined/debugger-util.d.mts +2 -0
  91. package/declaration/host-defined/debugger-util.d.mts.map +1 -0
  92. package/declaration/host-defined/engine.d.mts +178 -0
  93. package/declaration/host-defined/engine.d.mts.map +1 -0
  94. package/declaration/host-defined/inspect.d.mts +4 -0
  95. package/declaration/host-defined/inspect.d.mts.map +1 -0
  96. package/declaration/host-defined/test262-intrinsics.d.mts +8 -0
  97. package/declaration/host-defined/test262-intrinsics.d.mts.map +1 -0
  98. package/declaration/index.d.mts +32 -0
  99. package/declaration/index.d.mts.map +1 -0
  100. package/declaration/intrinsics/AggregateError.d.mts +3 -0
  101. package/declaration/intrinsics/AggregateError.d.mts.map +1 -0
  102. package/declaration/intrinsics/AggregateErrorPrototype.d.mts +3 -0
  103. package/declaration/intrinsics/AggregateErrorPrototype.d.mts.map +1 -0
  104. package/declaration/intrinsics/Array.d.mts +3 -0
  105. package/declaration/intrinsics/Array.d.mts.map +1 -0
  106. package/declaration/intrinsics/ArrayBuffer.d.mts +3 -0
  107. package/declaration/intrinsics/ArrayBuffer.d.mts.map +1 -0
  108. package/declaration/intrinsics/ArrayBufferPrototype.d.mts +3 -0
  109. package/declaration/intrinsics/ArrayBufferPrototype.d.mts.map +1 -0
  110. package/declaration/intrinsics/ArrayIteratorPrototype.d.mts +3 -0
  111. package/declaration/intrinsics/ArrayIteratorPrototype.d.mts.map +1 -0
  112. package/declaration/intrinsics/ArrayPrototype.d.mts +3 -0
  113. package/declaration/intrinsics/ArrayPrototype.d.mts.map +1 -0
  114. package/declaration/intrinsics/ArrayPrototypeShared.d.mts +11 -0
  115. package/declaration/intrinsics/ArrayPrototypeShared.d.mts.map +1 -0
  116. package/declaration/intrinsics/AsyncFromSyncIteratorPrototype.d.mts +6 -0
  117. package/declaration/intrinsics/AsyncFromSyncIteratorPrototype.d.mts.map +1 -0
  118. package/declaration/intrinsics/AsyncFunction.d.mts +3 -0
  119. package/declaration/intrinsics/AsyncFunction.d.mts.map +1 -0
  120. package/declaration/intrinsics/AsyncFunctionPrototype.d.mts +3 -0
  121. package/declaration/intrinsics/AsyncFunctionPrototype.d.mts.map +1 -0
  122. package/declaration/intrinsics/AsyncGeneratorFunction.d.mts +3 -0
  123. package/declaration/intrinsics/AsyncGeneratorFunction.d.mts.map +1 -0
  124. package/declaration/intrinsics/AsyncGeneratorFunctionPrototype.d.mts +3 -0
  125. package/declaration/intrinsics/AsyncGeneratorFunctionPrototype.d.mts.map +1 -0
  126. package/declaration/intrinsics/AsyncGeneratorFunctionPrototypePrototype.d.mts +3 -0
  127. package/declaration/intrinsics/AsyncGeneratorFunctionPrototypePrototype.d.mts.map +1 -0
  128. package/declaration/intrinsics/AsyncIteratorPrototype.d.mts +3 -0
  129. package/declaration/intrinsics/AsyncIteratorPrototype.d.mts.map +1 -0
  130. package/declaration/intrinsics/BigInt.d.mts +8 -0
  131. package/declaration/intrinsics/BigInt.d.mts.map +1 -0
  132. package/declaration/intrinsics/BigIntPrototype.d.mts +3 -0
  133. package/declaration/intrinsics/BigIntPrototype.d.mts.map +1 -0
  134. package/declaration/intrinsics/Boolean.d.mts +8 -0
  135. package/declaration/intrinsics/Boolean.d.mts.map +1 -0
  136. package/declaration/intrinsics/BooleanPrototype.d.mts +3 -0
  137. package/declaration/intrinsics/BooleanPrototype.d.mts.map +1 -0
  138. package/declaration/intrinsics/DataView.d.mts +11 -0
  139. package/declaration/intrinsics/DataView.d.mts.map +1 -0
  140. package/declaration/intrinsics/DataViewPrototype.d.mts +3 -0
  141. package/declaration/intrinsics/DataViewPrototype.d.mts.map +1 -0
  142. package/declaration/intrinsics/Date.d.mts +8 -0
  143. package/declaration/intrinsics/Date.d.mts.map +1 -0
  144. package/declaration/intrinsics/DatePrototype.d.mts +12 -0
  145. package/declaration/intrinsics/DatePrototype.d.mts.map +1 -0
  146. package/declaration/intrinsics/Error.d.mts +10 -0
  147. package/declaration/intrinsics/Error.d.mts.map +1 -0
  148. package/declaration/intrinsics/ErrorPrototype.d.mts +3 -0
  149. package/declaration/intrinsics/ErrorPrototype.d.mts.map +1 -0
  150. package/declaration/intrinsics/FinalizationRegistry.d.mts +16 -0
  151. package/declaration/intrinsics/FinalizationRegistry.d.mts.map +1 -0
  152. package/declaration/intrinsics/FinalizationRegistryPrototype.d.mts +3 -0
  153. package/declaration/intrinsics/FinalizationRegistryPrototype.d.mts.map +1 -0
  154. package/declaration/intrinsics/ForInIteratorPrototype.d.mts +13 -0
  155. package/declaration/intrinsics/ForInIteratorPrototype.d.mts.map +1 -0
  156. package/declaration/intrinsics/Function.d.mts +3 -0
  157. package/declaration/intrinsics/Function.d.mts.map +1 -0
  158. package/declaration/intrinsics/FunctionPrototype.d.mts +13 -0
  159. package/declaration/intrinsics/FunctionPrototype.d.mts.map +1 -0
  160. package/declaration/intrinsics/GeneratorFunction.d.mts +3 -0
  161. package/declaration/intrinsics/GeneratorFunction.d.mts.map +1 -0
  162. package/declaration/intrinsics/GeneratorFunctionPrototype.d.mts +3 -0
  163. package/declaration/intrinsics/GeneratorFunctionPrototype.d.mts.map +1 -0
  164. package/declaration/intrinsics/GeneratorFunctionPrototypePrototype.d.mts +3 -0
  165. package/declaration/intrinsics/GeneratorFunctionPrototypePrototype.d.mts.map +1 -0
  166. package/declaration/intrinsics/Iterator.d.mts +3 -0
  167. package/declaration/intrinsics/Iterator.d.mts.map +1 -0
  168. package/declaration/intrinsics/IteratorHelperPrototype.d.mts +3 -0
  169. package/declaration/intrinsics/IteratorHelperPrototype.d.mts.map +1 -0
  170. package/declaration/intrinsics/IteratorPrototype.d.mts +3 -0
  171. package/declaration/intrinsics/IteratorPrototype.d.mts.map +1 -0
  172. package/declaration/intrinsics/JSON.d.mts +9 -0
  173. package/declaration/intrinsics/JSON.d.mts.map +1 -0
  174. package/declaration/intrinsics/Map.d.mts +13 -0
  175. package/declaration/intrinsics/Map.d.mts.map +1 -0
  176. package/declaration/intrinsics/MapIteratorPrototype.d.mts +7 -0
  177. package/declaration/intrinsics/MapIteratorPrototype.d.mts.map +1 -0
  178. package/declaration/intrinsics/MapPrototype.d.mts +3 -0
  179. package/declaration/intrinsics/MapPrototype.d.mts.map +1 -0
  180. package/declaration/intrinsics/Math.d.mts +4 -0
  181. package/declaration/intrinsics/Math.d.mts.map +1 -0
  182. package/declaration/intrinsics/NativeError.d.mts +6 -0
  183. package/declaration/intrinsics/NativeError.d.mts.map +1 -0
  184. package/declaration/intrinsics/Number.d.mts +7 -0
  185. package/declaration/intrinsics/Number.d.mts.map +1 -0
  186. package/declaration/intrinsics/NumberPrototype.d.mts +3 -0
  187. package/declaration/intrinsics/NumberPrototype.d.mts.map +1 -0
  188. package/declaration/intrinsics/Object.d.mts +3 -0
  189. package/declaration/intrinsics/Object.d.mts.map +1 -0
  190. package/declaration/intrinsics/ObjectPrototype.d.mts +5 -0
  191. package/declaration/intrinsics/ObjectPrototype.d.mts.map +1 -0
  192. package/declaration/intrinsics/Promise.d.mts +16 -0
  193. package/declaration/intrinsics/Promise.d.mts.map +1 -0
  194. package/declaration/intrinsics/PromisePrototype.d.mts +3 -0
  195. package/declaration/intrinsics/PromisePrototype.d.mts.map +1 -0
  196. package/declaration/intrinsics/Proxy.d.mts +12 -0
  197. package/declaration/intrinsics/Proxy.d.mts.map +1 -0
  198. package/declaration/intrinsics/Reflect.d.mts +3 -0
  199. package/declaration/intrinsics/Reflect.d.mts.map +1 -0
  200. package/declaration/intrinsics/RegExp.d.mts +14 -0
  201. package/declaration/intrinsics/RegExp.d.mts.map +1 -0
  202. package/declaration/intrinsics/RegExpPrototype.d.mts +18 -0
  203. package/declaration/intrinsics/RegExpPrototype.d.mts.map +1 -0
  204. package/declaration/intrinsics/RegExpStringIteratorPrototype.d.mts +7 -0
  205. package/declaration/intrinsics/RegExpStringIteratorPrototype.d.mts.map +1 -0
  206. package/declaration/intrinsics/Set.d.mts +8 -0
  207. package/declaration/intrinsics/Set.d.mts.map +1 -0
  208. package/declaration/intrinsics/SetIteratorPrototype.d.mts +7 -0
  209. package/declaration/intrinsics/SetIteratorPrototype.d.mts.map +1 -0
  210. package/declaration/intrinsics/SetPrototype.d.mts +3 -0
  211. package/declaration/intrinsics/SetPrototype.d.mts.map +1 -0
  212. package/declaration/intrinsics/String.d.mts +9 -0
  213. package/declaration/intrinsics/String.d.mts.map +1 -0
  214. package/declaration/intrinsics/StringIteratorPrototype.d.mts +3 -0
  215. package/declaration/intrinsics/StringIteratorPrototype.d.mts.map +1 -0
  216. package/declaration/intrinsics/StringPrototype.d.mts +3 -0
  217. package/declaration/intrinsics/StringPrototype.d.mts.map +1 -0
  218. package/declaration/intrinsics/Symbol.d.mts +12 -0
  219. package/declaration/intrinsics/Symbol.d.mts.map +1 -0
  220. package/declaration/intrinsics/SymbolPrototype.d.mts +3 -0
  221. package/declaration/intrinsics/SymbolPrototype.d.mts.map +1 -0
  222. package/declaration/intrinsics/ThrowTypeError.d.mts +3 -0
  223. package/declaration/intrinsics/ThrowTypeError.d.mts.map +1 -0
  224. package/declaration/intrinsics/TypedArray.d.mts +182 -0
  225. package/declaration/intrinsics/TypedArray.d.mts.map +1 -0
  226. package/declaration/intrinsics/TypedArrayConstructors.d.mts +3 -0
  227. package/declaration/intrinsics/TypedArrayConstructors.d.mts.map +1 -0
  228. package/declaration/intrinsics/TypedArrayPrototype.d.mts +3 -0
  229. package/declaration/intrinsics/TypedArrayPrototype.d.mts.map +1 -0
  230. package/declaration/intrinsics/TypedArrayPrototypes.d.mts +4 -0
  231. package/declaration/intrinsics/TypedArrayPrototypes.d.mts.map +1 -0
  232. package/declaration/intrinsics/TypedArray_Uint8Array.d.mts +3 -0
  233. package/declaration/intrinsics/TypedArray_Uint8Array.d.mts.map +1 -0
  234. package/declaration/intrinsics/URIHandling.d.mts +3 -0
  235. package/declaration/intrinsics/URIHandling.d.mts.map +1 -0
  236. package/declaration/intrinsics/WeakMap.d.mts +11 -0
  237. package/declaration/intrinsics/WeakMap.d.mts.map +1 -0
  238. package/declaration/intrinsics/WeakMapPrototype.d.mts +3 -0
  239. package/declaration/intrinsics/WeakMapPrototype.d.mts.map +1 -0
  240. package/declaration/intrinsics/WeakRef.d.mts +8 -0
  241. package/declaration/intrinsics/WeakRef.d.mts.map +1 -0
  242. package/declaration/intrinsics/WeakRefPrototype.d.mts +3 -0
  243. package/declaration/intrinsics/WeakRefPrototype.d.mts.map +1 -0
  244. package/declaration/intrinsics/WeakSet.d.mts +8 -0
  245. package/declaration/intrinsics/WeakSet.d.mts.map +1 -0
  246. package/declaration/intrinsics/WeakSetPrototype.d.mts +3 -0
  247. package/declaration/intrinsics/WeakSetPrototype.d.mts.map +1 -0
  248. package/declaration/intrinsics/WrapForValidIteratorPrototype.d.mts +3 -0
  249. package/declaration/intrinsics/WrapForValidIteratorPrototype.d.mts.map +1 -0
  250. package/declaration/intrinsics/bootstrap.d.mts +18 -0
  251. package/declaration/intrinsics/bootstrap.d.mts.map +1 -0
  252. package/declaration/intrinsics/eval.d.mts +3 -0
  253. package/declaration/intrinsics/eval.d.mts.map +1 -0
  254. package/declaration/intrinsics/isFinite.d.mts +3 -0
  255. package/declaration/intrinsics/isFinite.d.mts.map +1 -0
  256. package/declaration/intrinsics/isNaN.d.mts +3 -0
  257. package/declaration/intrinsics/isNaN.d.mts.map +1 -0
  258. package/declaration/intrinsics/parseFloat.d.mts +3 -0
  259. package/declaration/intrinsics/parseFloat.d.mts.map +1 -0
  260. package/declaration/intrinsics/parseInt.d.mts +3 -0
  261. package/declaration/intrinsics/parseInt.d.mts.map +1 -0
  262. package/declaration/messages.d.mts +183 -0
  263. package/declaration/messages.d.mts.map +1 -0
  264. package/declaration/modules.d.mts +125 -0
  265. package/declaration/modules.d.mts.map +1 -0
  266. package/declaration/parse.d.mts +35 -0
  267. package/declaration/parse.d.mts.map +1 -0
  268. package/declaration/parser/BaseParser.d.mts +24 -0
  269. package/declaration/parser/BaseParser.d.mts.map +1 -0
  270. package/declaration/parser/ExpressionParser.d.mts +54 -0
  271. package/declaration/parser/ExpressionParser.d.mts.map +1 -0
  272. package/declaration/parser/FunctionParser.d.mts +43 -0
  273. package/declaration/parser/FunctionParser.d.mts.map +1 -0
  274. package/declaration/parser/IdentifierParser.d.mts +12 -0
  275. package/declaration/parser/IdentifierParser.d.mts.map +1 -0
  276. package/declaration/parser/LanguageParser.d.mts +10 -0
  277. package/declaration/parser/LanguageParser.d.mts.map +1 -0
  278. package/declaration/parser/Lexer.d.mts +69 -0
  279. package/declaration/parser/Lexer.d.mts.map +1 -0
  280. package/declaration/parser/ModuleParser.d.mts +18 -0
  281. package/declaration/parser/ModuleParser.d.mts.map +1 -0
  282. package/declaration/parser/ParseNode.d.mts +1178 -0
  283. package/declaration/parser/ParseNode.d.mts.map +1 -0
  284. package/declaration/parser/Parser.d.mts +35 -0
  285. package/declaration/parser/Parser.d.mts.map +1 -0
  286. package/declaration/parser/RegExpParser.d.mts +65 -0
  287. package/declaration/parser/RegExpParser.d.mts.map +1 -0
  288. package/declaration/parser/Scope.d.mts +106 -0
  289. package/declaration/parser/Scope.d.mts.map +1 -0
  290. package/declaration/parser/StatementParser.d.mts +49 -0
  291. package/declaration/parser/StatementParser.d.mts.map +1 -0
  292. package/declaration/parser/tokens.d.mts +32 -0
  293. package/declaration/parser/tokens.d.mts.map +1 -0
  294. package/declaration/parser/utils.d.mts +10 -0
  295. package/declaration/parser/utils.d.mts.map +1 -0
  296. package/declaration/runtime-semantics/AdditiveExpression.d.mts +3 -0
  297. package/declaration/runtime-semantics/AdditiveExpression.d.mts.map +1 -0
  298. package/declaration/runtime-semantics/ApplyStringOrNumericBinaryOperator.d.mts +11 -0
  299. package/declaration/runtime-semantics/ApplyStringOrNumericBinaryOperator.d.mts.map +1 -0
  300. package/declaration/runtime-semantics/ArgumentListEvaluation.d.mts +5 -0
  301. package/declaration/runtime-semantics/ArgumentListEvaluation.d.mts.map +1 -0
  302. package/declaration/runtime-semantics/ArrayLiteral.d.mts +5 -0
  303. package/declaration/runtime-semantics/ArrayLiteral.d.mts.map +1 -0
  304. package/declaration/runtime-semantics/ArrowFunction.d.mts +4 -0
  305. package/declaration/runtime-semantics/ArrowFunction.d.mts.map +1 -0
  306. package/declaration/runtime-semantics/AssignmentExpression.d.mts +8 -0
  307. package/declaration/runtime-semantics/AssignmentExpression.d.mts.map +1 -0
  308. package/declaration/runtime-semantics/AsyncArrowFunction.d.mts +4 -0
  309. package/declaration/runtime-semantics/AsyncArrowFunction.d.mts.map +1 -0
  310. package/declaration/runtime-semantics/AsyncFunctionExpression.d.mts +4 -0
  311. package/declaration/runtime-semantics/AsyncFunctionExpression.d.mts.map +1 -0
  312. package/declaration/runtime-semantics/AsyncGeneratorExpression.d.mts +4 -0
  313. package/declaration/runtime-semantics/AsyncGeneratorExpression.d.mts.map +1 -0
  314. package/declaration/runtime-semantics/AwaitExpression.d.mts +5 -0
  315. package/declaration/runtime-semantics/AwaitExpression.d.mts.map +1 -0
  316. package/declaration/runtime-semantics/BindingInitialization.d.mts +8 -0
  317. package/declaration/runtime-semantics/BindingInitialization.d.mts.map +1 -0
  318. package/declaration/runtime-semantics/BitwiseOperators.d.mts +5 -0
  319. package/declaration/runtime-semantics/BitwiseOperators.d.mts.map +1 -0
  320. package/declaration/runtime-semantics/Block.d.mts +8 -0
  321. package/declaration/runtime-semantics/Block.d.mts.map +1 -0
  322. package/declaration/runtime-semantics/BreakStatement.d.mts +4 -0
  323. package/declaration/runtime-semantics/BreakStatement.d.mts.map +1 -0
  324. package/declaration/runtime-semantics/BreakableStatement.d.mts +4 -0
  325. package/declaration/runtime-semantics/BreakableStatement.d.mts.map +1 -0
  326. package/declaration/runtime-semantics/CallExpression.d.mts +5 -0
  327. package/declaration/runtime-semantics/CallExpression.d.mts.map +1 -0
  328. package/declaration/runtime-semantics/ClassDeclaration.d.mts +7 -0
  329. package/declaration/runtime-semantics/ClassDeclaration.d.mts.map +1 -0
  330. package/declaration/runtime-semantics/ClassDefinitionEvaluation.d.mts +18 -0
  331. package/declaration/runtime-semantics/ClassDefinitionEvaluation.d.mts.map +1 -0
  332. package/declaration/runtime-semantics/ClassExpression.d.mts +5 -0
  333. package/declaration/runtime-semantics/ClassExpression.d.mts.map +1 -0
  334. package/declaration/runtime-semantics/ClassFieldDefinitionEvaluation.d.mts +10 -0
  335. package/declaration/runtime-semantics/ClassFieldDefinitionEvaluation.d.mts.map +1 -0
  336. package/declaration/runtime-semantics/ClassStaticBlockDefinitionEvaluation.d.mts +10 -0
  337. package/declaration/runtime-semantics/ClassStaticBlockDefinitionEvaluation.d.mts.map +1 -0
  338. package/declaration/runtime-semantics/CoalesceExpression.d.mts +5 -0
  339. package/declaration/runtime-semantics/CoalesceExpression.d.mts.map +1 -0
  340. package/declaration/runtime-semantics/CommaOperator.d.mts +5 -0
  341. package/declaration/runtime-semantics/CommaOperator.d.mts.map +1 -0
  342. package/declaration/runtime-semantics/ConditionalExpression.d.mts +5 -0
  343. package/declaration/runtime-semantics/ConditionalExpression.d.mts.map +1 -0
  344. package/declaration/runtime-semantics/ContinueStatement.d.mts +4 -0
  345. package/declaration/runtime-semantics/ContinueStatement.d.mts.map +1 -0
  346. package/declaration/runtime-semantics/CreateDynamicFunction.d.mts +10 -0
  347. package/declaration/runtime-semantics/CreateDynamicFunction.d.mts.map +1 -0
  348. package/declaration/runtime-semantics/DebuggerStatement.d.mts +5 -0
  349. package/declaration/runtime-semantics/DebuggerStatement.d.mts.map +1 -0
  350. package/declaration/runtime-semantics/DefineMethod.d.mts +10 -0
  351. package/declaration/runtime-semantics/DefineMethod.d.mts.map +1 -0
  352. package/declaration/runtime-semantics/DestructuringAssignmentEvaluation.d.mts +5 -0
  353. package/declaration/runtime-semantics/DestructuringAssignmentEvaluation.d.mts.map +1 -0
  354. package/declaration/runtime-semantics/EmptyStatement.d.mts +5 -0
  355. package/declaration/runtime-semantics/EmptyStatement.d.mts.map +1 -0
  356. package/declaration/runtime-semantics/EqualityExpression.d.mts +4 -0
  357. package/declaration/runtime-semantics/EqualityExpression.d.mts.map +1 -0
  358. package/declaration/runtime-semantics/EvaluateBody.d.mts +37 -0
  359. package/declaration/runtime-semantics/EvaluateBody.d.mts.map +1 -0
  360. package/declaration/runtime-semantics/EvaluateCall.d.mts +5 -0
  361. package/declaration/runtime-semantics/EvaluateCall.d.mts.map +1 -0
  362. package/declaration/runtime-semantics/EvaluatePropertyAccess.d.mts +9 -0
  363. package/declaration/runtime-semantics/EvaluatePropertyAccess.d.mts.map +1 -0
  364. package/declaration/runtime-semantics/EvaluateStringOrNumericBinaryExpression.d.mts +6 -0
  365. package/declaration/runtime-semantics/EvaluateStringOrNumericBinaryExpression.d.mts.map +1 -0
  366. package/declaration/runtime-semantics/ExponentiationExpression.d.mts +5 -0
  367. package/declaration/runtime-semantics/ExponentiationExpression.d.mts.map +1 -0
  368. package/declaration/runtime-semantics/ExportDeclaration.d.mts +17 -0
  369. package/declaration/runtime-semantics/ExportDeclaration.d.mts.map +1 -0
  370. package/declaration/runtime-semantics/ExpressionStatement.d.mts +5 -0
  371. package/declaration/runtime-semantics/ExpressionStatement.d.mts.map +1 -0
  372. package/declaration/runtime-semantics/FunctionDeclaration.d.mts +5 -0
  373. package/declaration/runtime-semantics/FunctionDeclaration.d.mts.map +1 -0
  374. package/declaration/runtime-semantics/FunctionDeclarationInstantiation.d.mts +6 -0
  375. package/declaration/runtime-semantics/FunctionDeclarationInstantiation.d.mts.map +1 -0
  376. package/declaration/runtime-semantics/FunctionExpression.d.mts +4 -0
  377. package/declaration/runtime-semantics/FunctionExpression.d.mts.map +1 -0
  378. package/declaration/runtime-semantics/FunctionStatementList.d.mts +4 -0
  379. package/declaration/runtime-semantics/FunctionStatementList.d.mts.map +1 -0
  380. package/declaration/runtime-semantics/GeneratorExpression.d.mts +4 -0
  381. package/declaration/runtime-semantics/GeneratorExpression.d.mts.map +1 -0
  382. package/declaration/runtime-semantics/GetSubstitution.d.mts +5 -0
  383. package/declaration/runtime-semantics/GetSubstitution.d.mts.map +1 -0
  384. package/declaration/runtime-semantics/GlobalDeclarationInstantiation.d.mts +12 -0
  385. package/declaration/runtime-semantics/GlobalDeclarationInstantiation.d.mts.map +1 -0
  386. package/declaration/runtime-semantics/HoistableDeclaration.d.mts +5 -0
  387. package/declaration/runtime-semantics/HoistableDeclaration.d.mts.map +1 -0
  388. package/declaration/runtime-semantics/IdentifierReference.d.mts +6 -0
  389. package/declaration/runtime-semantics/IdentifierReference.d.mts.map +1 -0
  390. package/declaration/runtime-semantics/IfStatement.d.mts +17 -0
  391. package/declaration/runtime-semantics/IfStatement.d.mts.map +1 -0
  392. package/declaration/runtime-semantics/ImportCall.d.mts +6 -0
  393. package/declaration/runtime-semantics/ImportCall.d.mts.map +1 -0
  394. package/declaration/runtime-semantics/ImportDeclaration.d.mts +5 -0
  395. package/declaration/runtime-semantics/ImportDeclaration.d.mts.map +1 -0
  396. package/declaration/runtime-semantics/ImportMeta.d.mts +5 -0
  397. package/declaration/runtime-semantics/ImportMeta.d.mts.map +1 -0
  398. package/declaration/runtime-semantics/InstantiateArrowFunctionExpression.d.mts +5 -0
  399. package/declaration/runtime-semantics/InstantiateArrowFunctionExpression.d.mts.map +1 -0
  400. package/declaration/runtime-semantics/InstantiateAsyncArrowFunctionExpression.d.mts +5 -0
  401. package/declaration/runtime-semantics/InstantiateAsyncArrowFunctionExpression.d.mts.map +1 -0
  402. package/declaration/runtime-semantics/InstantiateAsyncFunctionExpression.d.mts +5 -0
  403. package/declaration/runtime-semantics/InstantiateAsyncFunctionExpression.d.mts.map +1 -0
  404. package/declaration/runtime-semantics/InstantiateAsyncGeneratorFunctionExpression.d.mts +5 -0
  405. package/declaration/runtime-semantics/InstantiateAsyncGeneratorFunctionExpression.d.mts.map +1 -0
  406. package/declaration/runtime-semantics/InstantiateFunctionObject.d.mts +12 -0
  407. package/declaration/runtime-semantics/InstantiateFunctionObject.d.mts.map +1 -0
  408. package/declaration/runtime-semantics/InstantiateGeneratorFunctionExpression.d.mts +5 -0
  409. package/declaration/runtime-semantics/InstantiateGeneratorFunctionExpression.d.mts.map +1 -0
  410. package/declaration/runtime-semantics/InstantiateOrdinaryFunctionExpression.d.mts +5 -0
  411. package/declaration/runtime-semantics/InstantiateOrdinaryFunctionExpression.d.mts.map +1 -0
  412. package/declaration/runtime-semantics/IteratorBindingInitialization.d.mts +8 -0
  413. package/declaration/runtime-semantics/IteratorBindingInitialization.d.mts.map +1 -0
  414. package/declaration/runtime-semantics/KeyedBindingInitialization.d.mts +6 -0
  415. package/declaration/runtime-semantics/KeyedBindingInitialization.d.mts.map +1 -0
  416. package/declaration/runtime-semantics/LabelledEvaluation.d.mts +8 -0
  417. package/declaration/runtime-semantics/LabelledEvaluation.d.mts.map +1 -0
  418. package/declaration/runtime-semantics/LabelledStatement.d.mts +4 -0
  419. package/declaration/runtime-semantics/LabelledStatement.d.mts.map +1 -0
  420. package/declaration/runtime-semantics/LexicalDeclaration.d.mts +8 -0
  421. package/declaration/runtime-semantics/LexicalDeclaration.d.mts.map +1 -0
  422. package/declaration/runtime-semantics/Literal.d.mts +6 -0
  423. package/declaration/runtime-semantics/Literal.d.mts.map +1 -0
  424. package/declaration/runtime-semantics/LogicalANDExpression.d.mts +5 -0
  425. package/declaration/runtime-semantics/LogicalANDExpression.d.mts.map +1 -0
  426. package/declaration/runtime-semantics/LogicalORExpression.d.mts +5 -0
  427. package/declaration/runtime-semantics/LogicalORExpression.d.mts.map +1 -0
  428. package/declaration/runtime-semantics/MV.d.mts +3 -0
  429. package/declaration/runtime-semantics/MV.d.mts.map +1 -0
  430. package/declaration/runtime-semantics/MemberExpression.d.mts +5 -0
  431. package/declaration/runtime-semantics/MemberExpression.d.mts.map +1 -0
  432. package/declaration/runtime-semantics/MethodDefinitionEvaluation.d.mts +15 -0
  433. package/declaration/runtime-semantics/MethodDefinitionEvaluation.d.mts.map +1 -0
  434. package/declaration/runtime-semantics/Module.d.mts +17 -0
  435. package/declaration/runtime-semantics/Module.d.mts.map +1 -0
  436. package/declaration/runtime-semantics/ModuleBody.d.mts +4 -0
  437. package/declaration/runtime-semantics/ModuleBody.d.mts.map +1 -0
  438. package/declaration/runtime-semantics/MultiplicativeExpression.d.mts +5 -0
  439. package/declaration/runtime-semantics/MultiplicativeExpression.d.mts.map +1 -0
  440. package/declaration/runtime-semantics/NamedEvaluation.d.mts +4 -0
  441. package/declaration/runtime-semantics/NamedEvaluation.d.mts.map +1 -0
  442. package/declaration/runtime-semantics/NewExpression.d.mts +5 -0
  443. package/declaration/runtime-semantics/NewExpression.d.mts.map +1 -0
  444. package/declaration/runtime-semantics/NewTarget.d.mts +3 -0
  445. package/declaration/runtime-semantics/NewTarget.d.mts.map +1 -0
  446. package/declaration/runtime-semantics/NumberToBigInt.d.mts +10 -0
  447. package/declaration/runtime-semantics/NumberToBigInt.d.mts.map +1 -0
  448. package/declaration/runtime-semantics/ObjectLiteral.d.mts +5 -0
  449. package/declaration/runtime-semantics/ObjectLiteral.d.mts.map +1 -0
  450. package/declaration/runtime-semantics/OptionalExpression.d.mts +5 -0
  451. package/declaration/runtime-semantics/OptionalExpression.d.mts.map +1 -0
  452. package/declaration/runtime-semantics/ParenthesizedExpression.d.mts +4 -0
  453. package/declaration/runtime-semantics/ParenthesizedExpression.d.mts.map +1 -0
  454. package/declaration/runtime-semantics/PropertyBindingInitialization.d.mts +6 -0
  455. package/declaration/runtime-semantics/PropertyBindingInitialization.d.mts.map +1 -0
  456. package/declaration/runtime-semantics/PropertyDefinitionEvaluation.d.mts +6 -0
  457. package/declaration/runtime-semantics/PropertyDefinitionEvaluation.d.mts.map +1 -0
  458. package/declaration/runtime-semantics/PropertyName.d.mts +5 -0
  459. package/declaration/runtime-semantics/PropertyName.d.mts.map +1 -0
  460. package/declaration/runtime-semantics/RegExp.d.mts +36 -0
  461. package/declaration/runtime-semantics/RegExp.d.mts.map +1 -0
  462. package/declaration/runtime-semantics/RegularExpressionLiteral.d.mts +4 -0
  463. package/declaration/runtime-semantics/RegularExpressionLiteral.d.mts.map +1 -0
  464. package/declaration/runtime-semantics/RelationalExpression.d.mts +20 -0
  465. package/declaration/runtime-semantics/RelationalExpression.d.mts.map +1 -0
  466. package/declaration/runtime-semantics/RestBindingInitialization.d.mts +5 -0
  467. package/declaration/runtime-semantics/RestBindingInitialization.d.mts.map +1 -0
  468. package/declaration/runtime-semantics/ReturnStatement.d.mts +6 -0
  469. package/declaration/runtime-semantics/ReturnStatement.d.mts.map +1 -0
  470. package/declaration/runtime-semantics/Script.d.mts +5 -0
  471. package/declaration/runtime-semantics/Script.d.mts.map +1 -0
  472. package/declaration/runtime-semantics/ScriptBody.d.mts +3 -0
  473. package/declaration/runtime-semantics/ScriptBody.d.mts.map +1 -0
  474. package/declaration/runtime-semantics/ShiftExpression.d.mts +7 -0
  475. package/declaration/runtime-semantics/ShiftExpression.d.mts.map +1 -0
  476. package/declaration/runtime-semantics/StatementList.d.mts +5 -0
  477. package/declaration/runtime-semantics/StatementList.d.mts.map +1 -0
  478. package/declaration/runtime-semantics/StringIndexOf.d.mts +3 -0
  479. package/declaration/runtime-semantics/StringIndexOf.d.mts.map +1 -0
  480. package/declaration/runtime-semantics/StringPad.d.mts +5 -0
  481. package/declaration/runtime-semantics/StringPad.d.mts.map +1 -0
  482. package/declaration/runtime-semantics/SuperCall.d.mts +11 -0
  483. package/declaration/runtime-semantics/SuperCall.d.mts.map +1 -0
  484. package/declaration/runtime-semantics/SuperProperty.d.mts +5 -0
  485. package/declaration/runtime-semantics/SuperProperty.d.mts.map +1 -0
  486. package/declaration/runtime-semantics/SwitchStatement.d.mts +9 -0
  487. package/declaration/runtime-semantics/SwitchStatement.d.mts.map +1 -0
  488. package/declaration/runtime-semantics/TaggedTemplateExpression.d.mts +5 -0
  489. package/declaration/runtime-semantics/TaggedTemplateExpression.d.mts.map +1 -0
  490. package/declaration/runtime-semantics/TemplateLiteral.d.mts +5 -0
  491. package/declaration/runtime-semantics/TemplateLiteral.d.mts.map +1 -0
  492. package/declaration/runtime-semantics/This.d.mts +5 -0
  493. package/declaration/runtime-semantics/This.d.mts.map +1 -0
  494. package/declaration/runtime-semantics/ThrowStatement.d.mts +10 -0
  495. package/declaration/runtime-semantics/ThrowStatement.d.mts.map +1 -0
  496. package/declaration/runtime-semantics/TrimString.d.mts +5 -0
  497. package/declaration/runtime-semantics/TrimString.d.mts.map +1 -0
  498. package/declaration/runtime-semantics/TryStatement.d.mts +16 -0
  499. package/declaration/runtime-semantics/TryStatement.d.mts.map +1 -0
  500. package/declaration/runtime-semantics/UnaryExpression.d.mts +10 -0
  501. package/declaration/runtime-semantics/UnaryExpression.d.mts.map +1 -0
  502. package/declaration/runtime-semantics/Unicode.d.mts +161 -0
  503. package/declaration/runtime-semantics/Unicode.d.mts.map +1 -0
  504. package/declaration/runtime-semantics/UpdateExpression.d.mts +4 -0
  505. package/declaration/runtime-semantics/UpdateExpression.d.mts.map +1 -0
  506. package/declaration/runtime-semantics/VariableStatement.d.mts +7 -0
  507. package/declaration/runtime-semantics/VariableStatement.d.mts.map +1 -0
  508. package/declaration/runtime-semantics/WithStatement.d.mts +16 -0
  509. package/declaration/runtime-semantics/WithStatement.d.mts.map +1 -0
  510. package/declaration/runtime-semantics/YieldExpression.d.mts +5 -0
  511. package/declaration/runtime-semantics/YieldExpression.d.mts.map +1 -0
  512. package/declaration/runtime-semantics/all.d.mts +109 -0
  513. package/declaration/runtime-semantics/all.d.mts.map +1 -0
  514. package/declaration/static-semantics/BodyText.d.mts +4 -0
  515. package/declaration/static-semantics/BodyText.d.mts.map +1 -0
  516. package/declaration/static-semantics/BoundNames.d.mts +4 -0
  517. package/declaration/static-semantics/BoundNames.d.mts.map +1 -0
  518. package/declaration/static-semantics/CharacterValue.d.mts +6 -0
  519. package/declaration/static-semantics/CharacterValue.d.mts.map +1 -0
  520. package/declaration/static-semantics/CodePointAt.d.mts +8 -0
  521. package/declaration/static-semantics/CodePointAt.d.mts.map +1 -0
  522. package/declaration/static-semantics/CodePointsToString.d.mts +3 -0
  523. package/declaration/static-semantics/CodePointsToString.d.mts.map +1 -0
  524. package/declaration/static-semantics/ConstructorMethod.d.mts +4 -0
  525. package/declaration/static-semantics/ConstructorMethod.d.mts.map +1 -0
  526. package/declaration/static-semantics/ContainsArguments.d.mts +4 -0
  527. package/declaration/static-semantics/ContainsArguments.d.mts.map +1 -0
  528. package/declaration/static-semantics/ContainsExpression.d.mts +3 -0
  529. package/declaration/static-semantics/ContainsExpression.d.mts.map +1 -0
  530. package/declaration/static-semantics/DeclarationPart.d.mts +3 -0
  531. package/declaration/static-semantics/DeclarationPart.d.mts.map +1 -0
  532. package/declaration/static-semantics/ExpectedArgumentCount.d.mts +3 -0
  533. package/declaration/static-semantics/ExpectedArgumentCount.d.mts.map +1 -0
  534. package/declaration/static-semantics/ExportEntries.d.mts +11 -0
  535. package/declaration/static-semantics/ExportEntries.d.mts.map +1 -0
  536. package/declaration/static-semantics/ExportEntriesForModule.d.mts +5 -0
  537. package/declaration/static-semantics/ExportEntriesForModule.d.mts.map +1 -0
  538. package/declaration/static-semantics/FlagText.d.mts +4 -0
  539. package/declaration/static-semantics/FlagText.d.mts.map +1 -0
  540. package/declaration/static-semantics/HasInitializer.d.mts +5 -0
  541. package/declaration/static-semantics/HasInitializer.d.mts.map +1 -0
  542. package/declaration/static-semantics/HasName.d.mts +3 -0
  543. package/declaration/static-semantics/HasName.d.mts.map +1 -0
  544. package/declaration/static-semantics/ImportEntries.d.mts +10 -0
  545. package/declaration/static-semantics/ImportEntries.d.mts.map +1 -0
  546. package/declaration/static-semantics/ImportEntriesForModule.d.mts +4 -0
  547. package/declaration/static-semantics/ImportEntriesForModule.d.mts.map +1 -0
  548. package/declaration/static-semantics/ImportedLocalNames.d.mts +4 -0
  549. package/declaration/static-semantics/ImportedLocalNames.d.mts.map +1 -0
  550. package/declaration/static-semantics/IsAnonymousFunctionDefinition.d.mts +4 -0
  551. package/declaration/static-semantics/IsAnonymousFunctionDefinition.d.mts.map +1 -0
  552. package/declaration/static-semantics/IsComputedPropertyKey.d.mts +3 -0
  553. package/declaration/static-semantics/IsComputedPropertyKey.d.mts.map +1 -0
  554. package/declaration/static-semantics/IsConstantDeclaration.d.mts +3 -0
  555. package/declaration/static-semantics/IsConstantDeclaration.d.mts.map +1 -0
  556. package/declaration/static-semantics/IsDestructuring.d.mts +4 -0
  557. package/declaration/static-semantics/IsDestructuring.d.mts.map +1 -0
  558. package/declaration/static-semantics/IsFunctionDefinition.d.mts +6 -0
  559. package/declaration/static-semantics/IsFunctionDefinition.d.mts.map +1 -0
  560. package/declaration/static-semantics/IsIdentifierRef.d.mts +3 -0
  561. package/declaration/static-semantics/IsIdentifierRef.d.mts.map +1 -0
  562. package/declaration/static-semantics/IsInTailPosition.d.mts +3 -0
  563. package/declaration/static-semantics/IsInTailPosition.d.mts.map +1 -0
  564. package/declaration/static-semantics/IsSimpleParameterList.d.mts +3 -0
  565. package/declaration/static-semantics/IsSimpleParameterList.d.mts.map +1 -0
  566. package/declaration/static-semantics/IsStatic.d.mts +4 -0
  567. package/declaration/static-semantics/IsStatic.d.mts.map +1 -0
  568. package/declaration/static-semantics/IsStrict.d.mts +4 -0
  569. package/declaration/static-semantics/IsStrict.d.mts.map +1 -0
  570. package/declaration/static-semantics/IsStringWellFormedUnicode.d.mts +3 -0
  571. package/declaration/static-semantics/IsStringWellFormedUnicode.d.mts.map +1 -0
  572. package/declaration/static-semantics/LexicallyDeclaredNames.d.mts +4 -0
  573. package/declaration/static-semantics/LexicallyDeclaredNames.d.mts.map +1 -0
  574. package/declaration/static-semantics/LexicallyScopedDeclarations.d.mts +3 -0
  575. package/declaration/static-semantics/LexicallyScopedDeclarations.d.mts.map +1 -0
  576. package/declaration/static-semantics/ModuleRequests.d.mts +15 -0
  577. package/declaration/static-semantics/ModuleRequests.d.mts.map +1 -0
  578. package/declaration/static-semantics/NonConstructorElements.d.mts +4 -0
  579. package/declaration/static-semantics/NonConstructorElements.d.mts.map +1 -0
  580. package/declaration/static-semantics/NumericValue.d.mts +4 -0
  581. package/declaration/static-semantics/NumericValue.d.mts.map +1 -0
  582. package/declaration/static-semantics/PrivateBoundIdentifiers.d.mts +5 -0
  583. package/declaration/static-semantics/PrivateBoundIdentifiers.d.mts.map +1 -0
  584. package/declaration/static-semantics/PropName.d.mts +3 -0
  585. package/declaration/static-semantics/PropName.d.mts.map +1 -0
  586. package/declaration/static-semantics/StringToCodePoints.d.mts +3 -0
  587. package/declaration/static-semantics/StringToCodePoints.d.mts.map +1 -0
  588. package/declaration/static-semantics/StringValue.d.mts +3 -0
  589. package/declaration/static-semantics/StringValue.d.mts.map +1 -0
  590. package/declaration/static-semantics/TemplateStrings.d.mts +5 -0
  591. package/declaration/static-semantics/TemplateStrings.d.mts.map +1 -0
  592. package/declaration/static-semantics/TopLevelLexicallyDeclaredNames.d.mts +4 -0
  593. package/declaration/static-semantics/TopLevelLexicallyDeclaredNames.d.mts.map +1 -0
  594. package/declaration/static-semantics/TopLevelLexicallyScopedDeclarations.d.mts +4 -0
  595. package/declaration/static-semantics/TopLevelLexicallyScopedDeclarations.d.mts.map +1 -0
  596. package/declaration/static-semantics/TopLevelVarDeclaredNames.d.mts +4 -0
  597. package/declaration/static-semantics/TopLevelVarDeclaredNames.d.mts.map +1 -0
  598. package/declaration/static-semantics/TopLevelVarScopedDeclarations.d.mts +4 -0
  599. package/declaration/static-semantics/TopLevelVarScopedDeclarations.d.mts.map +1 -0
  600. package/declaration/static-semantics/UTF16EncodeCodePoint.d.mts +4 -0
  601. package/declaration/static-semantics/UTF16EncodeCodePoint.d.mts.map +1 -0
  602. package/declaration/static-semantics/UTF16SurrogatePairToCodePoint.d.mts +4 -0
  603. package/declaration/static-semantics/UTF16SurrogatePairToCodePoint.d.mts.map +1 -0
  604. package/declaration/static-semantics/VarDeclaredNames.d.mts +4 -0
  605. package/declaration/static-semantics/VarDeclaredNames.d.mts.map +1 -0
  606. package/declaration/static-semantics/VarScopedDeclarations.d.mts +4 -0
  607. package/declaration/static-semantics/VarScopedDeclarations.d.mts.map +1 -0
  608. package/declaration/static-semantics/all.d.mts +48 -0
  609. package/declaration/static-semantics/all.d.mts.map +1 -0
  610. package/declaration/value.d.mts +297 -0
  611. package/declaration/value.d.mts.map +1 -0
  612. package/lib/engine262.d.mts +1 -0
  613. package/lib/engine262.d.ts +1 -0
  614. package/lib/engine262.js +62868 -0
  615. package/lib/engine262.js.map +1 -0
  616. package/lib/engine262.mjs +62268 -0
  617. package/lib/engine262.mjs.map +1 -0
  618. package/lib/inspector/context.d.mts +35 -0
  619. package/lib/inspector/context.d.mts.map +1 -0
  620. package/lib/inspector/context.mjs +347 -0
  621. package/lib/inspector/context.mjs.map +1 -0
  622. package/lib/inspector/index.d.mts +16 -0
  623. package/lib/inspector/index.d.mts.map +1 -0
  624. package/lib/inspector/index.mjs +115 -0
  625. package/lib/inspector/index.mjs.map +1 -0
  626. package/lib/inspector/inspect.d.mts +11 -0
  627. package/lib/inspector/inspect.d.mts.map +1 -0
  628. package/lib/inspector/inspect.mjs +403 -0
  629. package/lib/inspector/inspect.mjs.map +1 -0
  630. package/lib/inspector/internal-utils.d.mts +4 -0
  631. package/lib/inspector/internal-utils.d.mts.map +1 -0
  632. package/lib/inspector/internal-utils.mjs +17 -0
  633. package/lib/inspector/internal-utils.mjs.map +1 -0
  634. package/lib/inspector/methods.d.mts +7 -0
  635. package/lib/inspector/methods.d.mts.map +1 -0
  636. package/lib/inspector/methods.mjs +308 -0
  637. package/lib/inspector/methods.mjs.map +1 -0
  638. package/lib/inspector/types.d.mts +220 -0
  639. package/lib/inspector/types.d.mts.map +1 -0
  640. package/lib/inspector/types.mjs +2 -0
  641. package/lib/inspector/types.mjs.map +1 -0
  642. package/lib/inspector/utils.d.mts +8 -0
  643. package/lib/inspector/utils.d.mts.map +1 -0
  644. package/lib/inspector/utils.mjs +62 -0
  645. package/lib/inspector/utils.mjs.map +1 -0
  646. package/lib/inspector.d.mts +1 -0
  647. package/lib/inspector.d.ts +1 -0
  648. package/lib/inspector.js +1495 -0
  649. package/lib/inspector.js.map +1 -0
  650. package/lib/inspector.mjs +1488 -0
  651. package/lib/inspector.mjs.map +1 -0
  652. package/lib/node/bin.d.mts +3 -0
  653. package/lib/node/bin.d.mts.map +1 -0
  654. package/lib/node/bin.mjs +223 -0
  655. package/lib/node/bin.mjs.map +1 -0
  656. package/lib/node/example.d.mts +2 -0
  657. package/lib/node/example.d.mts.map +1 -0
  658. package/lib/node/example.mjs +52 -0
  659. package/lib/node/example.mjs.map +1 -0
  660. package/lib/node/inspector.d.mts +15 -0
  661. package/lib/node/inspector.d.mts.map +1 -0
  662. package/lib/node/inspector.mjs +112 -0
  663. package/lib/node/inspector.mjs.map +1 -0
  664. package/lib/node/module.d.mts +7 -0
  665. package/lib/node/module.d.mts.map +1 -0
  666. package/lib/node/module.mjs +79 -0
  667. package/lib/node/module.mjs.map +1 -0
  668. package/lib-src/inspector/context.mts +410 -0
  669. package/lib-src/inspector/index.mts +137 -0
  670. package/lib-src/inspector/inspect.mts +474 -0
  671. package/lib-src/inspector/internal-utils.mts +18 -0
  672. package/lib-src/inspector/js_protocol.json +3288 -0
  673. package/lib-src/inspector/methods.mts +333 -0
  674. package/lib-src/inspector/tsconfig.json +17 -0
  675. package/lib-src/inspector/types.mts +225 -0
  676. package/lib-src/inspector/utils.mts +81 -0
  677. package/lib-src/node/bin.mts +240 -0
  678. package/lib-src/node/example.mts +58 -0
  679. package/lib-src/node/inspector.mts +124 -0
  680. package/lib-src/node/module.mts +85 -0
  681. package/lib-src/node/tsconfig.json +21 -0
  682. package/package.json +152 -0
  683. package/src/abstract-ops/all.mts +35 -0
  684. package/src/abstract-ops/arguments-operations.mts +245 -0
  685. package/src/abstract-ops/array-objects.mts +312 -0
  686. package/src/abstract-ops/arraybuffer-objects.mts +246 -0
  687. package/src/abstract-ops/async-function-operations.mts +46 -0
  688. package/src/abstract-ops/async-generator-objects.mts +346 -0
  689. package/src/abstract-ops/data-types-and-values.mts +43 -0
  690. package/src/abstract-ops/dataview-objects.mts +149 -0
  691. package/src/abstract-ops/date-objects.mts +232 -0
  692. package/src/abstract-ops/error-objects.mts +38 -0
  693. package/src/abstract-ops/execution-contexts.mts +80 -0
  694. package/src/abstract-ops/function-operations.mts +651 -0
  695. package/src/abstract-ops/generator-operations.mts +326 -0
  696. package/src/abstract-ops/global-object.mts +386 -0
  697. package/src/abstract-ops/immutable-prototype-objects.mts +21 -0
  698. package/src/abstract-ops/import-calls.mts +117 -0
  699. package/src/abstract-ops/iterator-operations.mts +311 -0
  700. package/src/abstract-ops/keyed-collections.mts +19 -0
  701. package/src/abstract-ops/module-namespace-exotic-objects.mts +351 -0
  702. package/src/abstract-ops/module-records.mts +588 -0
  703. package/src/abstract-ops/notational-conventions.mts +56 -0
  704. package/src/abstract-ops/object-operations.mts +599 -0
  705. package/src/abstract-ops/objects.mts +435 -0
  706. package/src/abstract-ops/private-names.mts +106 -0
  707. package/src/abstract-ops/promise-operations.mts +482 -0
  708. package/src/abstract-ops/proxy-objects.mts +579 -0
  709. package/src/abstract-ops/realms.mts +525 -0
  710. package/src/abstract-ops/reference-operations.mts +211 -0
  711. package/src/abstract-ops/regexp-objects.mts +306 -0
  712. package/src/abstract-ops/shared-arraybuffer.mts +8 -0
  713. package/src/abstract-ops/spec-types.mts +220 -0
  714. package/src/abstract-ops/string-objects.mts +156 -0
  715. package/src/abstract-ops/symbol-objects.mts +30 -0
  716. package/src/abstract-ops/testing-comparison.mts +380 -0
  717. package/src/abstract-ops/type-conversion.mts +564 -0
  718. package/src/abstract-ops/typedarray-objects.mts +396 -0
  719. package/src/abstract-ops/weak-operations.mts +79 -0
  720. package/src/api.mts +469 -0
  721. package/src/completion.mts +482 -0
  722. package/src/environment.mts +973 -0
  723. package/src/evaluator.mts +300 -0
  724. package/src/helpers.mts +591 -0
  725. package/src/host-defined/debugger-eval.mts +143 -0
  726. package/src/host-defined/debugger-util.mts +15 -0
  727. package/src/host-defined/engine.mts +604 -0
  728. package/src/host-defined/inspect.mts +246 -0
  729. package/src/host-defined/test262-intrinsics.mts +164 -0
  730. package/src/index.mts +37 -0
  731. package/src/intrinsics/AggregateError.mts +68 -0
  732. package/src/intrinsics/AggregateErrorPrototype.mts +12 -0
  733. package/src/intrinsics/Array.mts +409 -0
  734. package/src/intrinsics/ArrayBuffer.mts +48 -0
  735. package/src/intrinsics/ArrayBufferPrototype.mts +120 -0
  736. package/src/intrinsics/ArrayIteratorPrototype.mts +23 -0
  737. package/src/intrinsics/ArrayPrototype.mts +755 -0
  738. package/src/intrinsics/ArrayPrototypeShared.mts +691 -0
  739. package/src/intrinsics/AsyncFromSyncIteratorPrototype.mts +164 -0
  740. package/src/intrinsics/AsyncFunction.mts +31 -0
  741. package/src/intrinsics/AsyncFunctionPrototype.mts +8 -0
  742. package/src/intrinsics/AsyncGeneratorFunction.mts +37 -0
  743. package/src/intrinsics/AsyncGeneratorFunctionPrototype.mts +19 -0
  744. package/src/intrinsics/AsyncGeneratorFunctionPrototypePrototype.mts +148 -0
  745. package/src/intrinsics/AsyncIteratorPrototype.mts +17 -0
  746. package/src/intrinsics/BigInt.mts +69 -0
  747. package/src/intrinsics/BigIntPrototype.mts +83 -0
  748. package/src/intrinsics/Boolean.mts +47 -0
  749. package/src/intrinsics/BooleanPrototype.mts +58 -0
  750. package/src/intrinsics/DataView.mts +82 -0
  751. package/src/intrinsics/DataViewPrototype.mts +271 -0
  752. package/src/intrinsics/Date.mts +218 -0
  753. package/src/intrinsics/DatePrototype.mts +779 -0
  754. package/src/intrinsics/Error.mts +83 -0
  755. package/src/intrinsics/ErrorPrototype.mts +113 -0
  756. package/src/intrinsics/FinalizationRegistry.mts +65 -0
  757. package/src/intrinsics/FinalizationRegistryPrototype.mts +109 -0
  758. package/src/intrinsics/ForInIteratorPrototype.mts +120 -0
  759. package/src/intrinsics/Function.mts +21 -0
  760. package/src/intrinsics/FunctionPrototype.mts +274 -0
  761. package/src/intrinsics/GeneratorFunction.mts +32 -0
  762. package/src/intrinsics/GeneratorFunctionPrototype.mts +21 -0
  763. package/src/intrinsics/GeneratorFunctionPrototypePrototype.mts +59 -0
  764. package/src/intrinsics/Iterator.mts +72 -0
  765. package/src/intrinsics/IteratorHelperPrototype.mts +61 -0
  766. package/src/intrinsics/IteratorPrototype.mts +712 -0
  767. package/src/intrinsics/JSON.mts +738 -0
  768. package/src/intrinsics/Map.mts +128 -0
  769. package/src/intrinsics/MapIteratorPrototype.mts +81 -0
  770. package/src/intrinsics/MapPrototype.mts +295 -0
  771. package/src/intrinsics/Math.mts +288 -0
  772. package/src/intrinsics/NativeError.mts +88 -0
  773. package/src/intrinsics/Number.mts +131 -0
  774. package/src/intrinsics/NumberPrototype.mts +125 -0
  775. package/src/intrinsics/Object.mts +465 -0
  776. package/src/intrinsics/ObjectPrototype.mts +333 -0
  777. package/src/intrinsics/Promise.mts +700 -0
  778. package/src/intrinsics/PromisePrototype.mts +125 -0
  779. package/src/intrinsics/Proxy.mts +102 -0
  780. package/src/intrinsics/Reflect.mts +211 -0
  781. package/src/intrinsics/RegExp.mts +166 -0
  782. package/src/intrinsics/RegExpPrototype.mts +761 -0
  783. package/src/intrinsics/RegExpStringIteratorPrototype.mts +73 -0
  784. package/src/intrinsics/Set.mts +75 -0
  785. package/src/intrinsics/SetIteratorPrototype.mts +78 -0
  786. package/src/intrinsics/SetPrototype.mts +715 -0
  787. package/src/intrinsics/String.mts +135 -0
  788. package/src/intrinsics/StringIteratorPrototype.mts +23 -0
  789. package/src/intrinsics/StringPrototype.mts +858 -0
  790. package/src/intrinsics/Symbol.mts +103 -0
  791. package/src/intrinsics/SymbolPrototype.mts +83 -0
  792. package/src/intrinsics/ThrowTypeError.mts +21 -0
  793. package/src/intrinsics/TypedArray.mts +576 -0
  794. package/src/intrinsics/TypedArrayConstructors.mts +85 -0
  795. package/src/intrinsics/TypedArrayPrototype.mts +722 -0
  796. package/src/intrinsics/TypedArrayPrototypes.mts +17 -0
  797. package/src/intrinsics/TypedArray_Uint8Array.mts +446 -0
  798. package/src/intrinsics/URIHandling.mts +277 -0
  799. package/src/intrinsics/WeakMap.mts +56 -0
  800. package/src/intrinsics/WeakMapPrototype.mts +202 -0
  801. package/src/intrinsics/WeakRef.mts +42 -0
  802. package/src/intrinsics/WeakRefPrototype.mts +23 -0
  803. package/src/intrinsics/WeakSet.mts +66 -0
  804. package/src/intrinsics/WeakSetPrototype.mts +99 -0
  805. package/src/intrinsics/WrapForValidIteratorPrototype.mts +66 -0
  806. package/src/intrinsics/bootstrap.mts +152 -0
  807. package/src/intrinsics/eval.mts +25 -0
  808. package/src/intrinsics/isFinite.mts +23 -0
  809. package/src/intrinsics/isNaN.mts +23 -0
  810. package/src/intrinsics/parseFloat.mts +78 -0
  811. package/src/intrinsics/parseInt.mts +101 -0
  812. package/src/messages.mts +198 -0
  813. package/src/modules.mts +773 -0
  814. package/src/parse.mts +254 -0
  815. package/src/parser/BaseParser.mts +36 -0
  816. package/src/parser/ExpressionParser.mts +1519 -0
  817. package/src/parser/FunctionParser.mts +389 -0
  818. package/src/parser/IdentifierParser.mts +144 -0
  819. package/src/parser/LanguageParser.mts +110 -0
  820. package/src/parser/Lexer.mts +1057 -0
  821. package/src/parser/ModuleParser.mts +328 -0
  822. package/src/parser/ParseNode.mts +2728 -0
  823. package/src/parser/Parser.mts +200 -0
  824. package/src/parser/RegExpParser.mts +1413 -0
  825. package/src/parser/Scope.mts +538 -0
  826. package/src/parser/StatementParser.mts +958 -0
  827. package/src/parser/tokens.mts +212 -0
  828. package/src/parser/unicode.d.ts +20 -0
  829. package/src/parser/utils.mts +114 -0
  830. package/src/runtime-semantics/AdditiveExpression.mts +29 -0
  831. package/src/runtime-semantics/ApplyStringOrNumericBinaryOperator.mts +79 -0
  832. package/src/runtime-semantics/ArgumentListEvaluation.mts +178 -0
  833. package/src/runtime-semantics/ArrayLiteral.mts +99 -0
  834. package/src/runtime-semantics/ArrowFunction.mts +8 -0
  835. package/src/runtime-semantics/AssignmentExpression.mts +281 -0
  836. package/src/runtime-semantics/AsyncArrowFunction.mts +8 -0
  837. package/src/runtime-semantics/AsyncFunctionExpression.mts +11 -0
  838. package/src/runtime-semantics/AsyncGeneratorExpression.mts +11 -0
  839. package/src/runtime-semantics/AwaitExpression.mts +17 -0
  840. package/src/runtime-semantics/BindingInitialization.mts +93 -0
  841. package/src/runtime-semantics/BitwiseOperators.mts +14 -0
  842. package/src/runtime-semantics/Block.mts +73 -0
  843. package/src/runtime-semantics/BreakStatement.mts +18 -0
  844. package/src/runtime-semantics/BreakableStatement.mts +18 -0
  845. package/src/runtime-semantics/CallExpression.mts +59 -0
  846. package/src/runtime-semantics/ClassDeclaration.mts +38 -0
  847. package/src/runtime-semantics/ClassDefinitionEvaluation.mts +352 -0
  848. package/src/runtime-semantics/ClassExpression.mts +23 -0
  849. package/src/runtime-semantics/ClassFieldDefinitionEvaluation.mts +60 -0
  850. package/src/runtime-semantics/ClassStaticBlockDefinitionEvaluation.mts +44 -0
  851. package/src/runtime-semantics/CoalesceExpression.mts +24 -0
  852. package/src/runtime-semantics/CommaOperator.mts +18 -0
  853. package/src/runtime-semantics/ConditionalExpression.mts +31 -0
  854. package/src/runtime-semantics/ContinueStatement.mts +18 -0
  855. package/src/runtime-semantics/CreateDynamicFunction.mts +200 -0
  856. package/src/runtime-semantics/DebuggerStatement.mts +19 -0
  857. package/src/runtime-semantics/DefineMethod.mts +41 -0
  858. package/src/runtime-semantics/DestructuringAssignmentEvaluation.mts +306 -0
  859. package/src/runtime-semantics/EmptyStatement.mts +9 -0
  860. package/src/runtime-semantics/EqualityExpression.mts +60 -0
  861. package/src/runtime-semantics/EvaluateBody.mts +200 -0
  862. package/src/runtime-semantics/EvaluateCall.mts +63 -0
  863. package/src/runtime-semantics/EvaluatePropertyAccess.mts +39 -0
  864. package/src/runtime-semantics/EvaluateStringOrNumericBinaryExpression.mts +19 -0
  865. package/src/runtime-semantics/ExponentiationExpression.mts +11 -0
  866. package/src/runtime-semantics/ExportDeclaration.mts +90 -0
  867. package/src/runtime-semantics/ExpressionStatement.mts +14 -0
  868. package/src/runtime-semantics/FunctionDeclaration.mts +11 -0
  869. package/src/runtime-semantics/FunctionDeclarationInstantiation.mts +274 -0
  870. package/src/runtime-semantics/FunctionExpression.mts +11 -0
  871. package/src/runtime-semantics/FunctionStatementList.mts +11 -0
  872. package/src/runtime-semantics/GeneratorExpression.mts +11 -0
  873. package/src/runtime-semantics/GetSubstitution.mts +90 -0
  874. package/src/runtime-semantics/GlobalDeclarationInstantiation.mts +142 -0
  875. package/src/runtime-semantics/HoistableDeclaration.mts +12 -0
  876. package/src/runtime-semantics/IdentifierReference.mts +15 -0
  877. package/src/runtime-semantics/IfStatement.mts +49 -0
  878. package/src/runtime-semantics/ImportCall.mts +134 -0
  879. package/src/runtime-semantics/ImportDeclaration.mts +9 -0
  880. package/src/runtime-semantics/ImportMeta.mts +45 -0
  881. package/src/runtime-semantics/InstantiateArrowFunctionExpression.mts +35 -0
  882. package/src/runtime-semantics/InstantiateAsyncArrowFunctionExpression.mts +37 -0
  883. package/src/runtime-semantics/InstantiateAsyncFunctionExpression.mts +75 -0
  884. package/src/runtime-semantics/InstantiateAsyncGeneratorFunctionExpression.mts +90 -0
  885. package/src/runtime-semantics/InstantiateFunctionObject.mts +123 -0
  886. package/src/runtime-semantics/InstantiateGeneratorFunctionExpression.mts +82 -0
  887. package/src/runtime-semantics/InstantiateOrdinaryFunctionExpression.mts +65 -0
  888. package/src/runtime-semantics/IteratorBindingInitialization.mts +213 -0
  889. package/src/runtime-semantics/KeyedBindingInitialization.mts +61 -0
  890. package/src/runtime-semantics/LabelledEvaluation.mts +753 -0
  891. package/src/runtime-semantics/LabelledStatement.mts +11 -0
  892. package/src/runtime-semantics/LexicalDeclaration.mts +92 -0
  893. package/src/runtime-semantics/Literal.mts +36 -0
  894. package/src/runtime-semantics/LogicalANDExpression.mts +25 -0
  895. package/src/runtime-semantics/LogicalORExpression.mts +25 -0
  896. package/src/runtime-semantics/MV.mts +10 -0
  897. package/src/runtime-semantics/MemberExpression.mts +71 -0
  898. package/src/runtime-semantics/MethodDefinitionEvaluation.mts +266 -0
  899. package/src/runtime-semantics/Module.mts +15 -0
  900. package/src/runtime-semantics/ModuleBody.mts +10 -0
  901. package/src/runtime-semantics/MultiplicativeExpression.mts +18 -0
  902. package/src/runtime-semantics/NamedEvaluation.mts +96 -0
  903. package/src/runtime-semantics/NewExpression.mts +50 -0
  904. package/src/runtime-semantics/NewTarget.mts +8 -0
  905. package/src/runtime-semantics/NumberToBigInt.mts +17 -0
  906. package/src/runtime-semantics/ObjectLiteral.mts +26 -0
  907. package/src/runtime-semantics/OptionalExpression.mts +128 -0
  908. package/src/runtime-semantics/ParenthesizedExpression.mts +8 -0
  909. package/src/runtime-semantics/PropertyBindingInitialization.mts +45 -0
  910. package/src/runtime-semantics/PropertyDefinitionEvaluation.mts +121 -0
  911. package/src/runtime-semantics/PropertyName.mts +62 -0
  912. package/src/runtime-semantics/RegExp.mts +1325 -0
  913. package/src/runtime-semantics/RegularExpressionLiteral.mts +16 -0
  914. package/src/runtime-semantics/RelationalExpression.mts +152 -0
  915. package/src/runtime-semantics/RestBindingInitialization.mts +29 -0
  916. package/src/runtime-semantics/ReturnStatement.mts +32 -0
  917. package/src/runtime-semantics/Script.mts +15 -0
  918. package/src/runtime-semantics/ScriptBody.mts +7 -0
  919. package/src/runtime-semantics/ShiftExpression.mts +17 -0
  920. package/src/runtime-semantics/StatementList.mts +33 -0
  921. package/src/runtime-semantics/StringIndexOf.mts +43 -0
  922. package/src/runtime-semantics/StringPad.mts +34 -0
  923. package/src/runtime-semantics/SuperCall.mts +65 -0
  924. package/src/runtime-semantics/SuperProperty.mts +58 -0
  925. package/src/runtime-semantics/SwitchStatement.mts +221 -0
  926. package/src/runtime-semantics/TaggedTemplateExpression.mts +23 -0
  927. package/src/runtime-semantics/TemplateLiteral.mts +34 -0
  928. package/src/runtime-semantics/This.mts +9 -0
  929. package/src/runtime-semantics/ThrowStatement.mts +22 -0
  930. package/src/runtime-semantics/TrimString.mts +19 -0
  931. package/src/runtime-semantics/TryStatement.mts +120 -0
  932. package/src/runtime-semantics/UnaryExpression.mts +218 -0
  933. package/src/runtime-semantics/Unicode.mts +250 -0
  934. package/src/runtime-semantics/UpdateExpression.mts +126 -0
  935. package/src/runtime-semantics/VariableStatement.mts +72 -0
  936. package/src/runtime-semantics/WithStatement.mts +33 -0
  937. package/src/runtime-semantics/YieldExpression.mts +174 -0
  938. package/src/runtime-semantics/all.mts +108 -0
  939. package/src/static-semantics/BodyText.mts +7 -0
  940. package/src/static-semantics/BoundNames.mts +101 -0
  941. package/src/static-semantics/CharacterValue.mts +112 -0
  942. package/src/static-semantics/CodePointAt.mts +53 -0
  943. package/src/static-semantics/CodePointsToString.mts +15 -0
  944. package/src/static-semantics/ConstructorMethod.mts +10 -0
  945. package/src/static-semantics/ContainsArguments.mts +33 -0
  946. package/src/static-semantics/ContainsExpression.mts +59 -0
  947. package/src/static-semantics/DeclarationPart.mts +5 -0
  948. package/src/static-semantics/ExpectedArgumentCount.mts +26 -0
  949. package/src/static-semantics/ExportEntries.mts +129 -0
  950. package/src/static-semantics/ExportEntriesForModule.mts +63 -0
  951. package/src/static-semantics/FlagText.mts +7 -0
  952. package/src/static-semantics/HasInitializer.mts +5 -0
  953. package/src/static-semantics/HasName.mts +8 -0
  954. package/src/static-semantics/ImportEntries.mts +36 -0
  955. package/src/static-semantics/ImportEntriesForModule.mts +97 -0
  956. package/src/static-semantics/ImportedLocalNames.mts +14 -0
  957. package/src/static-semantics/IsAnonymousFunctionDefinition.mts +18 -0
  958. package/src/static-semantics/IsComputedPropertyKey.mts +7 -0
  959. package/src/static-semantics/IsConstantDeclaration.mts +5 -0
  960. package/src/static-semantics/IsDestructuring.mts +21 -0
  961. package/src/static-semantics/IsFunctionDefinition.mts +15 -0
  962. package/src/static-semantics/IsIdentifierRef.mts +5 -0
  963. package/src/static-semantics/IsInTailPosition.mts +5 -0
  964. package/src/static-semantics/IsSimpleParameterList.mts +23 -0
  965. package/src/static-semantics/IsStatic.mts +10 -0
  966. package/src/static-semantics/IsStrict.mts +7 -0
  967. package/src/static-semantics/IsStringWellFormedUnicode.mts +24 -0
  968. package/src/static-semantics/LexicallyDeclaredNames.mts +26 -0
  969. package/src/static-semantics/LexicallyScopedDeclarations.mts +82 -0
  970. package/src/static-semantics/ModuleRequests.mts +99 -0
  971. package/src/static-semantics/NonConstructorElements.mts +15 -0
  972. package/src/static-semantics/NumericValue.mts +7 -0
  973. package/src/static-semantics/PrivateBoundIdentifiers.mts +23 -0
  974. package/src/static-semantics/PropName.mts +23 -0
  975. package/src/static-semantics/StringToCodePoints.mts +22 -0
  976. package/src/static-semantics/StringValue.mts +19 -0
  977. package/src/static-semantics/TemplateStrings.mts +109 -0
  978. package/src/static-semantics/TopLevelLexicallyDeclaredNames.mts +21 -0
  979. package/src/static-semantics/TopLevelLexicallyScopedDeclarations.mts +23 -0
  980. package/src/static-semantics/TopLevelVarDeclaredNames.mts +26 -0
  981. package/src/static-semantics/TopLevelVarScopedDeclarations.mts +34 -0
  982. package/src/static-semantics/UTF16EncodeCodePoint.mts +18 -0
  983. package/src/static-semantics/UTF16SurrogatePairToCodePoint.mts +12 -0
  984. package/src/static-semantics/VarDeclaredNames.mts +109 -0
  985. package/src/static-semantics/VarScopedDeclarations.mts +115 -0
  986. package/src/static-semantics/all.mts +47 -0
  987. package/src/syntax-error.d.ts +5 -0
  988. package/src/tsconfig.json +11 -0
  989. package/src/unicode/.gitkeep +0 -0
  990. package/src/unicode/CodePointProperties.json +1 -0
  991. package/src/unicode/PropertyValueAliases.json +426 -0
  992. package/src/unicode/SequenceProperties.json +1 -0
  993. package/src/value.mts +1003 -0
package/src/value.mts ADDED
@@ -0,0 +1,1003 @@
1
+ import { type GCMarker, surroundingAgent } from './host-defined/engine.mts';
2
+ import {
3
+ Assert,
4
+ OrdinaryDefineOwnProperty,
5
+ OrdinaryDelete,
6
+ OrdinaryGet,
7
+ OrdinaryGetOwnProperty,
8
+ OrdinaryGetPrototypeOf,
9
+ OrdinaryHasProperty,
10
+ OrdinaryIsExtensible,
11
+ OrdinaryOwnPropertyKeys,
12
+ OrdinaryPreventExtensions,
13
+ OrdinarySet,
14
+ OrdinarySetPrototypeOf,
15
+ ToInt32,
16
+ ToUint32,
17
+ Z,
18
+ F, R, type OrdinaryObject, type FunctionObject,
19
+ type BuiltinFunctionObject,
20
+ } from './abstract-ops/all.mts';
21
+ import { EnvironmentRecord } from './environment.mts';
22
+ import {
23
+ Q, X, type ValueEvaluator, type PlainCompletion,
24
+ } from './completion.mts';
25
+ import {
26
+ PropertyKeyMap, OutOfRange, callable,
27
+ } from './helpers.mts';
28
+ import type { PrivateElementRecord } from './runtime-semantics/MethodDefinitionEvaluation.mts';
29
+ import type { PlainEvaluator } from './evaluator.mts';
30
+
31
+ let createStringValue: (value: string) => JSStringValue; // set by static block in StringValue for privileged access to constructor
32
+ let createNumberValue: (value: number) => NumberValue; // set by static block in NumberValue for privileged access to constructor
33
+ let createBigIntValue: (value: bigint) => BigIntValue; // set by static block in BigIntValue for privileged access to constructor
34
+
35
+ abstract class BaseValue {
36
+ static declare readonly null: NullValue; // defined in static block of NullValue
37
+
38
+ static declare readonly undefined: UndefinedValue; // defined in static block of UndefinedValue
39
+
40
+ static declare readonly true: BooleanValue<true>; // defined in static block of BooleanValue
41
+
42
+ static declare readonly false: BooleanValue<false>; // defined in static block of BooleanValue
43
+
44
+ abstract type: Value['type']; // ensures new `Value` subtypes must be added to `Value` union
45
+
46
+ declare static [Symbol.hasInstance]: (value: unknown) => value is Value; // no need to actually declare it.
47
+ }
48
+
49
+ /** https://tc39.es/ecma262/#sec-ecmascript-language-types */
50
+ export type Value =
51
+ | UndefinedValue
52
+ | NullValue
53
+ | BooleanValue
54
+ | JSStringValue
55
+ | SymbolValue
56
+ | NumberValue
57
+ | BigIntValue
58
+ | ObjectValue;
59
+
60
+ /** https://tc39.es/ecma262/#sec-ecmascript-language-types */
61
+ export const Value = (() => {
62
+ // NOTE: Using IIFE so that the class does not conflict with the type of the same name
63
+ @callable((_target, _thisArg, [value]) => {
64
+ if (value === null) {
65
+ return Value.null;
66
+ } else if (value === undefined) {
67
+ return Value.undefined;
68
+ } else if (value === true) {
69
+ return Value.true;
70
+ } else if (value === false) {
71
+ return Value.false;
72
+ }
73
+ switch (typeof value) {
74
+ case 'string':
75
+ return createStringValue(value);
76
+ case 'number':
77
+ return createNumberValue(value);
78
+ case 'bigint':
79
+ return createBigIntValue(value);
80
+ default:
81
+ throw new OutOfRange('new Value', value);
82
+ }
83
+ })
84
+ abstract class Value extends BaseValue {
85
+ }
86
+ return Value;
87
+ })() as typeof BaseValue & {
88
+ <T extends null | undefined | boolean | string | number | bigint>(value: T): // eslint-disable-line @engine262/no-use-in-def
89
+ T extends null ? NullValue :
90
+ T extends undefined ? UndefinedValue :
91
+ T extends boolean ? BooleanValue<T> :
92
+ T extends string ? JSStringValue :
93
+ T extends number ? NumberValue :
94
+ T extends bigint ? BigIntValue :
95
+ never;
96
+ };
97
+
98
+ /** https://tc39.es/ecma262/#sec-ecmascript-language-types */
99
+ export type PropertyKeyValue =
100
+ | JSStringValue
101
+ | SymbolValue;
102
+
103
+ /** https://tc39.es/ecma262/#sec-ecmascript-language-types */
104
+ export type PrimitiveValue =
105
+ | UndefinedValue
106
+ | NullValue
107
+ | BooleanValue
108
+ | JSStringValue
109
+ | SymbolValue
110
+ | NumberValue
111
+ | BigIntValue;
112
+
113
+ /** https://tc39.es/ecma262/#sec-ecmascript-language-types */
114
+ export const PrimitiveValue = (() => {
115
+ type PrimValue = PrimitiveValue;
116
+ return (() => {
117
+ // NOTE: Using nested IIFE so that the class does not conflict with the type of the same name
118
+ // NOTE: Only using IIFE because TypeScript errors when `abstract` is used on class expressions
119
+ abstract class PrimitiveValue extends Value {
120
+ declare static [Symbol.hasInstance]: (value: unknown) => value is PrimValue;
121
+ }
122
+ return PrimitiveValue;
123
+ })();
124
+ })();
125
+
126
+ /** https://tc39.es/ecma262/#sec-ecmascript-language-types-undefined-type */
127
+ export class UndefinedValue extends PrimitiveValue {
128
+ declare readonly type: 'Undefined'; // defined on prototype by static block
129
+
130
+ declare readonly value: undefined; // defined on prototype by static block
131
+
132
+ private constructor() { // eslint-disable-line no-useless-constructor -- Sets privacy for constructor
133
+ super();
134
+ }
135
+
136
+ static {
137
+ Object.defineProperty(this.prototype, 'type', { value: 'Undefined' });
138
+ Object.defineProperty(this.prototype, 'value', { value: undefined });
139
+ Object.defineProperty(Value, 'undefined', { value: new this() });
140
+ }
141
+
142
+ declare static [Symbol.hasInstance]: (value: unknown) => value is UndefinedValue;
143
+ }
144
+
145
+ /** https://tc39.es/ecma262/#sec-ecmascript-language-types-null-type */
146
+ export class NullValue extends PrimitiveValue {
147
+ declare readonly type: 'Null'; // defined on prototype by static block
148
+
149
+ declare readonly value: null; // defined on prototype by static block
150
+
151
+ private constructor() { // eslint-disable-line no-useless-constructor -- Sets privacy for constructor
152
+ super();
153
+ }
154
+
155
+ static {
156
+ Object.defineProperty(this.prototype, 'type', { value: 'Null' });
157
+ Object.defineProperty(this.prototype, 'value', { value: null });
158
+ Object.defineProperty(Value, 'null', { value: new this() });
159
+ }
160
+
161
+ declare static [Symbol.hasInstance]: (value: unknown) => value is NullValue;
162
+ }
163
+
164
+ /** https://tc39.es/ecma262/#sec-ecmascript-language-types-boolean-type */
165
+ export class BooleanValue<T extends boolean = boolean> extends PrimitiveValue {
166
+ declare readonly type: 'Boolean'; // defined on prototype by static block
167
+
168
+ readonly value: T;
169
+
170
+ private constructor(value: T) {
171
+ super();
172
+ this.value = value;
173
+ }
174
+
175
+ booleanValue() {
176
+ return this.value;
177
+ }
178
+
179
+ [Symbol.for('nodejs.util.inspect.custom')]() {
180
+ return `Boolean { ${this.value} }`;
181
+ }
182
+
183
+ static {
184
+ Object.defineProperty(this.prototype, 'type', { value: 'Boolean' });
185
+ Object.defineProperty(Value, 'true', { value: new this(true) });
186
+ Object.defineProperty(Value, 'false', { value: new this(false) });
187
+ }
188
+
189
+ declare static [Symbol.hasInstance]: (value: unknown) => value is BooleanValue;
190
+ }
191
+
192
+ /** https://tc39.es/ecma262/#sec-ecmascript-language-types-string-type */
193
+ export class JSStringValue extends PrimitiveValue {
194
+ declare readonly type: 'String'; // defined on prototype by static block
195
+
196
+ readonly value: string;
197
+
198
+ private constructor(value: string) {
199
+ super();
200
+ this.value = value;
201
+ }
202
+
203
+ stringValue() {
204
+ return this.value;
205
+ }
206
+
207
+ static {
208
+ Object.defineProperty(this.prototype, 'type', { value: 'String' });
209
+ createStringValue = (value) => new this(value);
210
+ }
211
+
212
+ declare static [Symbol.hasInstance]: (value: unknown) => value is JSStringValue;
213
+ }
214
+
215
+ /** https://tc39.es/ecma262/#sec-ecmascript-language-types-symbol-type */
216
+ export class SymbolValue extends PrimitiveValue {
217
+ declare readonly type: 'Symbol'; // defined on prototype by static block
218
+
219
+ readonly Description: JSStringValue | UndefinedValue;
220
+
221
+ constructor(Description: JSStringValue | UndefinedValue) {
222
+ super();
223
+ this.Description = Description;
224
+ }
225
+
226
+ static {
227
+ Object.defineProperty(this.prototype, 'type', { value: 'Symbol' });
228
+ }
229
+
230
+ declare static [Symbol.hasInstance]: (value: unknown) => value is SymbolValue;
231
+ }
232
+
233
+ /** https://tc39.es/ecma262/#sec-ecmascript-language-types-symbol-type */
234
+ export const wellKnownSymbols = {
235
+ asyncIterator: new SymbolValue(Value('Symbol.asyncIterator')),
236
+ hasInstance: new SymbolValue(Value('Symbol.hasInstance')),
237
+ isConcatSpreadable: new SymbolValue(Value('Symbol.isConcatSpreadable')),
238
+ iterator: new SymbolValue(Value('Symbol.iterator')),
239
+ match: new SymbolValue(Value('Symbol.match')),
240
+ matchAll: new SymbolValue(Value('Symbol.matchAll')),
241
+ replace: new SymbolValue(Value('Symbol.replace')),
242
+ search: new SymbolValue(Value('Symbol.search')),
243
+ species: new SymbolValue(Value('Symbol.species')),
244
+ split: new SymbolValue(Value('Symbol.split')),
245
+ toPrimitive: new SymbolValue(Value('Symbol.toPrimitive')),
246
+ toStringTag: new SymbolValue(Value('Symbol.toStringTag')),
247
+ unscopables: new SymbolValue(Value('Symbol.unscopables')),
248
+ } as const;
249
+ Object.setPrototypeOf(wellKnownSymbols, null);
250
+ Object.freeze(wellKnownSymbols);
251
+
252
+ /** https://tc39.es/ecma262/#sec-ecmascript-language-types-number-type */
253
+ export class NumberValue extends PrimitiveValue {
254
+ declare readonly type: 'Number'; // defined on prototype by static block
255
+
256
+ readonly value: number;
257
+
258
+ private constructor(value: number) {
259
+ super();
260
+ this.value = value;
261
+ }
262
+
263
+ numberValue() {
264
+ return this.value;
265
+ }
266
+
267
+ isNaN() {
268
+ return Number.isNaN(this.value);
269
+ }
270
+
271
+ isInfinity() {
272
+ return !Number.isFinite(this.value) && !this.isNaN();
273
+ }
274
+
275
+ isFinite() {
276
+ return Number.isFinite(this.value);
277
+ }
278
+
279
+ /** https://tc39.es/ecma262/#sec-numeric-types-number-unaryMinus */
280
+ static unaryMinus(x: NumberValue) {
281
+ if (x.isNaN()) {
282
+ return F(NaN);
283
+ }
284
+ return F(-R(x));
285
+ }
286
+
287
+ /** https://tc39.es/ecma262/#sec-numeric-types-number-bitwiseNOT */
288
+ static bitwiseNOT(x: NumberValue) {
289
+ // 1. Let oldValue be ! ToInt32(x).
290
+ const oldValue = X(ToInt32(x));
291
+ // 2. Return the result of applying bitwise complement to oldValue. The result is a signed 32-bit integer.
292
+ return F(~R(oldValue));
293
+ }
294
+
295
+ /** https://tc39.es/ecma262/#sec-numeric-types-number-exponentiate */
296
+ static exponentiate(base: NumberValue, exponent: NumberValue) {
297
+ return F(R(base) ** R(exponent));
298
+ }
299
+
300
+ /** https://tc39.es/ecma262/#sec-numeric-types-number-multiply */
301
+ static multiply(x: NumberValue, y: NumberValue) {
302
+ return F(R(x) * R(y));
303
+ }
304
+
305
+ /** https://tc39.es/ecma262/#sec-numeric-types-number-divide */
306
+ static divide(x: NumberValue, y: NumberValue) {
307
+ return F(R(x) / R(y));
308
+ }
309
+
310
+ /** https://tc39.es/ecma262/#sec-numeric-types-number-remainder */
311
+ static remainder(n: NumberValue, d: NumberValue) {
312
+ return F(R(n) % R(d));
313
+ }
314
+
315
+ /** https://tc39.es/ecma262/#sec-numeric-types-number-add */
316
+ static add(x: NumberValue, y: NumberValue) {
317
+ return F(R(x) + R(y));
318
+ }
319
+
320
+ /** https://tc39.es/ecma262/#sec-numeric-types-number-subtract */
321
+ static subtract(x: NumberValue, y: NumberValue) {
322
+ // The result of - operator is x + (-y).
323
+ return NumberValue.add(x, F(-R(y)));
324
+ }
325
+
326
+ /** https://tc39.es/ecma262/#sec-numeric-types-number-leftShift */
327
+ static leftShift(x: NumberValue, y: NumberValue) {
328
+ // 1. Let lnum be ! ToInt32(x).
329
+ const lnum = X(ToInt32(x));
330
+ // 2. Let rnum be ! ToUint32(y).
331
+ const rnum = X(ToUint32(y));
332
+ // 3. Let shiftCount be the result of masking out all but the least significant 5 bits of rnum, that is, compute rnum & 0x1F.
333
+ const shiftCount = R(rnum) & 0x1F; // eslint-disable-line no-bitwise
334
+ // 4. Return the result of left shifting lnum by shiftCount bits. The result is a signed 32-bit integer.
335
+ return F(R(lnum) << shiftCount); // eslint-disable-line no-bitwise
336
+ }
337
+
338
+ /** https://tc39.es/ecma262/#sec-numeric-types-number-signedRightShift */
339
+ static signedRightShift(x: NumberValue, y: NumberValue) {
340
+ // 1. Let lnum be ! ToInt32(x).
341
+ const lnum = X(ToInt32(x));
342
+ // 2. Let rnum be ! ToUint32(y).
343
+ const rnum = X(ToUint32(y));
344
+ // 3. Let shiftCount be the result of masking out all but the least significant 5 bits of rnum, that is, compute rnum & 0x1F.
345
+ const shiftCount = R(rnum) & 0x1F; // eslint-disable-line no-bitwise
346
+ // 4. Return the result of performing a sign-extending right shift of lnum by shiftCount bits.
347
+ // The most significant bit is propagated. The result is a signed 32-bit integer.
348
+ return F(R(lnum) >> shiftCount); // eslint-disable-line no-bitwise
349
+ }
350
+
351
+ /** https://tc39.es/ecma262/#sec-numeric-types-number-unsignedRightShift */
352
+ static unsignedRightShift(x: NumberValue, y: NumberValue) {
353
+ // 1. Let lnum be ! ToInt32(x).
354
+ const lnum = X(ToInt32(x));
355
+ // 2. Let rnum be ! ToUint32(y).
356
+ const rnum = X(ToUint32(y));
357
+ // 3. Let shiftCount be the result of masking out all but the least significant 5 bits of rnum, that is, compute rnum & 0x1F.
358
+ const shiftCount = R(rnum) & 0x1F; // eslint-disable-line no-bitwise
359
+ // 4. Return the result of performing a zero-filling right shift of lnum by shiftCount bits.
360
+ // Vacated bits are filled with zero. The result is an unsigned 32-bit integer.
361
+ return F(R(lnum) >>> shiftCount); // eslint-disable-line no-bitwise
362
+ }
363
+
364
+ /** https://tc39.es/ecma262/#sec-numeric-types-number-lessThan */
365
+ static lessThan(x: NumberValue, y: NumberValue) {
366
+ if (x.isNaN()) {
367
+ return Value.undefined;
368
+ }
369
+ if (y.isNaN()) {
370
+ return Value.undefined;
371
+ }
372
+ // If nx and ny are the same Number value, return false.
373
+ // If nx is +0 and ny is -0, return false.
374
+ // If nx is -0 and ny is +0, return false.
375
+ if (R(x) === R(y)) {
376
+ return Value.false;
377
+ }
378
+ if (R(x) === +Infinity) {
379
+ return Value.false;
380
+ }
381
+ if (R(y) === +Infinity) {
382
+ return Value.true;
383
+ }
384
+ if (R(y) === -Infinity) {
385
+ return Value.false;
386
+ }
387
+ if (R(x) === -Infinity) {
388
+ return Value.true;
389
+ }
390
+ return R(x) < R(y) ? Value.true : Value.false;
391
+ }
392
+
393
+ /** https://tc39.es/ecma262/#sec-numeric-types-number-equal */
394
+ static equal(x: NumberValue, y: NumberValue) {
395
+ if (x.isNaN()) {
396
+ return Value.false;
397
+ }
398
+ if (y.isNaN()) {
399
+ return Value.false;
400
+ }
401
+ const xVal = R(x);
402
+ const yVal = R(y);
403
+ if (xVal === yVal) {
404
+ return Value.true;
405
+ }
406
+ if (Object.is(xVal, 0) && Object.is(yVal, -0)) {
407
+ return Value.true;
408
+ }
409
+ if (Object.is(xVal, -0) && Object.is(yVal, 0)) {
410
+ return Value.true;
411
+ }
412
+ return Value.false;
413
+ }
414
+
415
+ /** https://tc39.es/ecma262/#sec-numeric-types-number-sameValue */
416
+ static sameValue(x: NumberValue, y: NumberValue) {
417
+ if (x.isNaN() && y.isNaN()) {
418
+ return Value.true;
419
+ }
420
+ const xVal = R(x);
421
+ const yVal = R(y);
422
+ if (Object.is(xVal, 0) && Object.is(yVal, -0)) {
423
+ return Value.false;
424
+ }
425
+ if (Object.is(xVal, -0) && Object.is(yVal, 0)) {
426
+ return Value.false;
427
+ }
428
+ if (xVal === yVal) {
429
+ return Value.true;
430
+ }
431
+ return Value.false;
432
+ }
433
+
434
+ /** https://tc39.es/ecma262/#sec-numeric-types-number-sameValueZero */
435
+ static sameValueZero(x: NumberValue, y: NumberValue) {
436
+ if (x.isNaN() && y.isNaN()) {
437
+ return Value.true;
438
+ }
439
+ const xVal = R(x);
440
+ const yVal = R(y);
441
+ if (Object.is(xVal, 0) && Object.is(yVal, -0)) {
442
+ return Value.true;
443
+ }
444
+ if (Object.is(xVal, -0) && Object.is(yVal, 0)) {
445
+ return Value.true;
446
+ }
447
+ if (xVal === yVal) {
448
+ return Value.true;
449
+ }
450
+ return Value.false;
451
+ }
452
+
453
+ /** https://tc39.es/ecma262/#sec-numeric-types-number-bitwiseAND */
454
+ static bitwiseAND(x: NumberValue, y: NumberValue) {
455
+ // 1. Return NumberBitwiseOp(&, x, y).
456
+ return NumberBitwiseOp('&', x, y);
457
+ }
458
+
459
+ /** https://tc39.es/ecma262/#sec-numeric-types-number-bitwiseXOR */
460
+ static bitwiseXOR(x: NumberValue, y: NumberValue) {
461
+ // 1. Return NumberBitwiseOp(^, x, y).
462
+ return NumberBitwiseOp('^', x, y);
463
+ }
464
+
465
+ /** https://tc39.es/ecma262/#sec-numeric-types-number-bitwiseOR */
466
+ static bitwiseOR(x: NumberValue, y: NumberValue) {
467
+ // 1. Return NumberBitwiseOp(|, x, y).
468
+ return NumberBitwiseOp('|', x, y);
469
+ }
470
+
471
+ /** https://tc39.es/ecma262/#sec-numeric-types-number-tostring */
472
+ static override toString(xV: NumberValue, radix: number): JSStringValue {
473
+ if (xV.isNaN()) {
474
+ return Value('NaN');
475
+ }
476
+ const x = R(xV);
477
+ if (Object.is(x, -0) || Object.is(x, 0)) {
478
+ return Value('0');
479
+ }
480
+ if (x < 0) {
481
+ return Value(`-${NumberValue.toString(F(-x), radix).stringValue()}`);
482
+ }
483
+ if (xV.isInfinity()) {
484
+ return Value('Infinity');
485
+ }
486
+ // TODO: implement properly, currently depends on host.
487
+ return Value(`${x.toString(radix)}`);
488
+ }
489
+
490
+ static readonly unit = new NumberValue(1);
491
+
492
+ static {
493
+ Object.defineProperty(this.prototype, 'type', { value: 'Number' });
494
+ createNumberValue = (value) => new NumberValue(value);
495
+ }
496
+
497
+ declare static [Symbol.hasInstance]: (value: unknown) => value is NumberValue;
498
+ }
499
+
500
+ /** https://tc39.es/ecma262/#sec-numberbitwiseop */
501
+ function NumberBitwiseOp(op: '&' | '|' | '^', x: NumberValue, y: NumberValue) {
502
+ // 1. Let lnum be ! ToInt32(x).
503
+ const lnum = X(ToInt32(x));
504
+ // 2. Let rnum be ! ToUint32(y).
505
+ const rnum = X(ToUint32(y));
506
+ // 3. Return the result of applying the bitwise operator op to lnum and rnum. The result is a signed 32-bit integer.
507
+ switch (op) {
508
+ case '&':
509
+ return F(R(lnum) & R(rnum));
510
+ case '|':
511
+ return F(R(lnum) | R(rnum));
512
+ case '^':
513
+ return F(R(lnum) ^ R(rnum));
514
+ default:
515
+ throw new OutOfRange('NumberBitwiseOp', op);
516
+ }
517
+ }
518
+
519
+ /** https://tc39.es/ecma262/#sec-ecmascript-language-types-bigint-type */
520
+ export class BigIntValue extends PrimitiveValue {
521
+ declare readonly type: 'BigInt'; // defined on prototype by static block
522
+
523
+ readonly value: bigint;
524
+
525
+ private constructor(value: bigint) {
526
+ super();
527
+ this.value = value;
528
+ }
529
+
530
+ bigintValue() {
531
+ return this.value;
532
+ }
533
+
534
+ isNaN() {
535
+ return false;
536
+ }
537
+
538
+ isFinite() {
539
+ return true;
540
+ }
541
+
542
+ /** https://tc39.es/ecma262/#sec-numeric-types-bigint-unaryMinus */
543
+ static unaryMinus(x: BigIntValue) {
544
+ if (R(x) === 0n) {
545
+ return Z(0n);
546
+ }
547
+ return Z(-R(x));
548
+ }
549
+
550
+ /** https://tc39.es/ecma262/#sec-numeric-types-bigint-bitwiseNOT */
551
+ static bitwiseNOT(x: BigIntValue) {
552
+ return Z(-R(x) - 1n);
553
+ }
554
+
555
+ /** https://tc39.es/ecma262/#sec-numeric-types-bigint-exponentiate */
556
+ static exponentiate(base: BigIntValue, exponent: BigIntValue) {
557
+ // 1. If exponent < 0n, throw a RangeError exception.
558
+ if (R(exponent) < 0n) {
559
+ return surroundingAgent.Throw('RangeError', 'BigIntNegativeExponent');
560
+ }
561
+ // 2. If base is 0n and exponent is 0n, return 1n.
562
+ if (R(base) === 0n && R(exponent) === 0n) {
563
+ return Z(1n);
564
+ }
565
+ // 3. Return the BigInt value that represents the mathematical value of base raised to the power exponent.
566
+ return Z(R(base) ** R(exponent));
567
+ }
568
+
569
+ /** https://tc39.es/ecma262/#sec-numeric-types-bigint-multiply */
570
+ static multiply(x: BigIntValue, y: BigIntValue) {
571
+ return Z(R(x) * R(y));
572
+ }
573
+
574
+ /** https://tc39.es/ecma262/#sec-numeric-types-bigint-divide */
575
+ static divide(x: BigIntValue, y: BigIntValue) {
576
+ // 1. If y is 0n, throw a RangeError exception.
577
+ if (R(y) === 0n) {
578
+ return surroundingAgent.Throw('RangeError', 'BigIntDivideByZero');
579
+ }
580
+ // 2. Let quotient be the mathematical value of x divided by y.
581
+ const quotient = R(x) / R(y);
582
+ // 3. Return the BigInt value that represents quotient rounded towards 0 to the next integral value.
583
+ return Z(quotient);
584
+ }
585
+
586
+ /** https://tc39.es/ecma262/#sec-numeric-types-bigint-remainder */
587
+ static remainder(n: BigIntValue, d: BigIntValue) {
588
+ // 1. If d is 0n, throw a RangeError exception.
589
+ if (R(d) === 0n) {
590
+ return surroundingAgent.Throw('RangeError', 'BigIntDivideByZero');
591
+ }
592
+ // 2. If n is 0n, return 0n.
593
+ if (R(n) === 0n) {
594
+ return Z(0n);
595
+ }
596
+ // 3. Let r be the BigInt defined by the mathematical relation r = n - (d × q)
597
+ // where q is a BigInt that is negative only if n/d is negative and positive
598
+ // only if n/d is positive, and whose magnitude is as large as possible without
599
+ // exceeding the magnitude of the true mathematical quotient of n and d.
600
+ const r = Z(R(n) % R(d));
601
+ // 4. Return r.
602
+ return r;
603
+ }
604
+
605
+ /** https://tc39.es/ecma262/#sec-numeric-types-bigint-add */
606
+ static add(x: BigIntValue, y: BigIntValue) {
607
+ return Z(R(x) + R(y));
608
+ }
609
+
610
+ /** https://tc39.es/ecma262/#sec-numeric-types-bigint-subtract */
611
+ static subtract(x: BigIntValue, y: BigIntValue) {
612
+ return Z(R(x) - R(y));
613
+ }
614
+
615
+ /** https://tc39.es/ecma262/#sec-numeric-types-bigint-leftShift */
616
+ static leftShift(x: BigIntValue, y: BigIntValue) {
617
+ return Z(R(x) << R(y)); // eslint-disable-line no-bitwise
618
+ }
619
+
620
+ /** https://tc39.es/ecma262/#sec-numeric-types-bigint-signedRightShift */
621
+ static signedRightShift(x: BigIntValue, y: BigIntValue) {
622
+ // 1. Return BigInt::leftShift(x, -y).
623
+ return BigIntValue.leftShift(x, Z(-R(y)));
624
+ }
625
+
626
+ /** https://tc39.es/ecma262/#sec-numeric-types-bigint-unsignedRightShift */
627
+ static unsignedRightShift(_x: BigIntValue, _y: BigIntValue) {
628
+ return surroundingAgent.Throw('TypeError', 'BigIntUnsignedRightShift');
629
+ }
630
+
631
+ /** https://tc39.es/ecma262/#sec-numeric-types-bigint-lessThan */
632
+ static lessThan(x: BigIntValue, y: BigIntValue) {
633
+ return R(x) < R(y) ? Value.true : Value.false;
634
+ }
635
+
636
+ /** https://tc39.es/ecma262/#sec-numeric-types-bigint-equal */
637
+ static equal(x: BigIntValue, y: BigIntValue) {
638
+ // Return true if x and y have the same mathematical integer value and false otherwise.
639
+ return R(x) === R(y) ? Value.true : Value.false;
640
+ }
641
+
642
+ /** https://tc39.es/ecma262/#sec-numeric-types-bigint-sameValue */
643
+ static sameValue(x: BigIntValue, y: BigIntValue) {
644
+ // 1. Return BigInt::equal(x, y).
645
+ return BigIntValue.equal(x, y);
646
+ }
647
+
648
+ /** https://tc39.es/ecma262/#sec-numeric-types-bigint-sameValueZero */
649
+ static sameValueZero(x: BigIntValue, y: BigIntValue) {
650
+ // 1. Return BigInt::equal(x, y).
651
+ return BigIntValue.equal(x, y);
652
+ }
653
+
654
+ /** https://tc39.es/ecma262/#sec-numeric-types-bigint-bitwiseAND */
655
+ static bitwiseAND(x: BigIntValue, y: BigIntValue) {
656
+ // 1. Return BigIntBitwiseOp(&, x, y).
657
+ return BigIntBitwiseOp('&', x, y);
658
+ }
659
+
660
+ /** https://tc39.es/ecma262/#sec-numeric-types-bigint-bitwiseXOR */
661
+ static bitwiseXOR(x: BigIntValue, y: BigIntValue) {
662
+ // 1. Return BigIntBitwiseOp(^, x, y).
663
+ return BigIntBitwiseOp('^', x, y);
664
+ }
665
+
666
+ /** https://tc39.es/ecma262/#sec-numeric-types-bigint-bitwiseOR */
667
+ static bitwiseOR(x: BigIntValue, y: BigIntValue) {
668
+ // 1. Return BigIntBitwiseOp(|, x, y);
669
+ return BigIntBitwiseOp('|', x, y);
670
+ }
671
+
672
+ /** https://tc39.es/ecma262/#sec-numeric-types-bigint-tostring */
673
+ static override toString(x: BigIntValue, radix: number): JSStringValue {
674
+ // 1. If x is less than zero, return the string-concatenation of the String "-" and ! BigInt::toString(-x).
675
+ if (R(x) < 0n) {
676
+ const str = X(BigIntValue.toString(Z(-R(x)), radix)).stringValue();
677
+ return Value(`-${str}`);
678
+ }
679
+ // 2. Return the String value consisting of the code units of the digits of the decimal representation of x.
680
+ return Value(`${R(x).toString(radix)}`);
681
+ }
682
+
683
+ static readonly unit = new BigIntValue(1n);
684
+
685
+ static {
686
+ Object.defineProperty(this.prototype, 'type', { value: 'BigInt' });
687
+ createBigIntValue = (value) => new BigIntValue(value);
688
+ }
689
+
690
+ declare static [Symbol.hasInstance]: (value: unknown) => value is BigIntValue;
691
+ }
692
+
693
+ /** https://tc39.es/ecma262/#sec-bigintbitwiseop */
694
+ function BigIntBitwiseOp(op: '&' | '|' | '^', x: BigIntValue, y: BigIntValue) {
695
+ // TODO: figure out why this doesn't work, probably the modulo.
696
+ /*
697
+ // 1. Assert: op is "&", "|", or "^".
698
+ Assert(['&', '|', '^'].includes(op));
699
+ // 2. Let result be 0n.
700
+ let result = 0n;
701
+ // 3. Let shift be 0.
702
+ let shift = 0n;
703
+ // 4. Repeat, until (x = 0 or x = -1) and (y = 0 or y = -1),
704
+ while (!((x === 0n || x === -1n) && (y === 0n || y === -1n))) {
705
+ // a. Let xDigit be x modulo 2.
706
+ const xDigit = x % 2n;
707
+ // b. Let yDigit be y modulo 2.
708
+ const yDigit = y % 2n;
709
+ // c. If op is "&", set result to result + 2^shift × BinaryAnd(xDigit, yDigit).
710
+ if (op === '&') {
711
+ result += (2n ** shift) * BinaryAnd(xDigit, yDigit);
712
+ } else if (op === '|') {
713
+ // d. Else if op is "|", set result to result + 2shift × BinaryOr(xDigit, yDigit).
714
+ result += (2n ** shift) * BinaryXor(xDigit, yDigit);
715
+ } else {
716
+ // i. Assert: op is "^".
717
+ Assert(op === '^');
718
+ // ii. Set result to result + 2^shift × BinaryXor(xDigit, yDigit).
719
+ result += (2n ** shift) * BinaryXor(xDigit, yDigit);
720
+ }
721
+ // f. Set shift to shift + 1.
722
+ shift += 1n;
723
+ // g. Set x to (x - xDigit) / 2.
724
+ x = (x - xDigit) / 2n;
725
+ // h. Set y to (y - yDigit) / 2.
726
+ y = (y - yDigit) / 2n;
727
+ }
728
+ let tmp;
729
+ // 5. If op is "&", let tmp be BinaryAnd(x modulo 2, y modulo 2).
730
+ if (op === '&') {
731
+ tmp = BinaryAnd(x % 2n, y % 2n);
732
+ } else if (op === '|') {
733
+ // 6. Else if op is "|", let tmp be BinaryOr(x modulo 2, y modulo 2).
734
+ tmp = BinaryOr(x % 2n, y % 2n);
735
+ } else {
736
+ // a. Assert: op is "^".
737
+ Assert(op === '^');
738
+ // b. Let tmp be BinaryXor(x modulo 2, y modulo 2).
739
+ tmp = BinaryXor(x % 2n, y % 2n);
740
+ }
741
+ // 8. If tmp ≠ 0, then
742
+ if (tmp !== 0n) {
743
+ // a. Set result to result - 2^shift. NOTE: This extends the sign.
744
+ result -= 2n ** shift;
745
+ }
746
+ // 9. Return result.
747
+ return Z(result);
748
+ */
749
+ switch (op) {
750
+ case '&':
751
+ return Z(R(x) & R(y));
752
+ case '|':
753
+ return Z(R(x) | R(y));
754
+ case '^':
755
+ return Z(R(x) ^ R(y));
756
+ default:
757
+ throw new OutOfRange('BigIntBitwiseOp', op);
758
+ }
759
+ }
760
+
761
+ export interface ObjectInternalMethods<Self> {
762
+ GetPrototypeOf(this: Self): ValueEvaluator<ObjectValue | NullValue>;
763
+ SetPrototypeOf(this: Self, V: ObjectValue | NullValue): ValueEvaluator<BooleanValue>;
764
+ IsExtensible(this: Self): ValueEvaluator<BooleanValue>;
765
+ PreventExtensions(this: Self): ValueEvaluator<BooleanValue>;
766
+ GetOwnProperty(this: Self, P: PropertyKeyValue): PlainEvaluator<Descriptor | UndefinedValue>;
767
+ DefineOwnProperty(this: Self, P: PropertyKeyValue, Desc: Descriptor): ValueEvaluator<BooleanValue>;
768
+ HasProperty(this: Self, P: PropertyKeyValue): ValueEvaluator<BooleanValue>;
769
+ Get(this: Self, P: PropertyKeyValue, Receiver: Value): ValueEvaluator;
770
+ Set(this: Self, P: PropertyKeyValue, V: Value, Receiver: Value): ValueEvaluator<BooleanValue>;
771
+ Delete(this: Self, P: PropertyKeyValue): ValueEvaluator<BooleanValue>;
772
+ OwnPropertyKeys(this: Self): PlainEvaluator<PropertyKeyValue[]>;
773
+ Call?(this: Self, thisArg: Value, args: Arguments): ValueEvaluator;
774
+ Construct?(this: Self, args: Arguments, newTarget: FunctionObject | UndefinedValue): ValueEvaluator<ObjectValue>;
775
+ }
776
+
777
+ type ObjectSlotReturn = {
778
+ [key in keyof ObjectInternalMethods<ObjectValue>]: ReturnType<NonNullable<ObjectInternalMethods<ObjectValue>[key]>>
779
+ };
780
+ /** https://tc39.es/ecma262/#sec-object-type */
781
+ export class ObjectValue extends Value implements ObjectInternalMethods<ObjectValue> {
782
+ declare readonly type: 'Object'; // defined on prototype by static block
783
+
784
+ readonly properties: PropertyKeyMap<Descriptor>;
785
+
786
+ readonly internalSlotsList: readonly string[];
787
+
788
+ readonly PrivateElements: PrivateElementRecord[];
789
+
790
+ // https://tc39.es/proposal-pattern-matching/#sec-object-internal-methods-and-internal-slots
791
+ readonly ConstructedBy: ObjectValue[];
792
+
793
+ constructor(internalSlotsList: readonly string[]) {
794
+ super();
795
+
796
+ this.PrivateElements = [];
797
+ this.ConstructedBy = [];
798
+ this.properties = new PropertyKeyMap();
799
+ this.internalSlotsList = internalSlotsList;
800
+ surroundingAgent.debugger_markObjectCreated(this);
801
+ }
802
+
803
+ // UNSAFE casts below. Methods below are expected to be rewritten when the object is not an OrdinaryObject. (an example is ArgumentExoticObject)
804
+ // If those methods aren't rewritten, it is an error.
805
+ // eslint-disable-next-line require-yield
806
+ * GetPrototypeOf(): ObjectSlotReturn['GetPrototypeOf'] {
807
+ return OrdinaryGetPrototypeOf(this as unknown as OrdinaryObject);
808
+ }
809
+
810
+ // eslint-disable-next-line require-yield
811
+ * SetPrototypeOf(V: ObjectValue | NullValue): ObjectSlotReturn['SetPrototypeOf'] {
812
+ Q(surroundingAgent.debugger_tryTouchDuringPreview(this));
813
+ return OrdinarySetPrototypeOf(this as unknown as OrdinaryObject, V);
814
+ }
815
+
816
+ // eslint-disable-next-line require-yield
817
+ * IsExtensible(): ObjectSlotReturn['IsExtensible'] {
818
+ return OrdinaryIsExtensible(this as unknown as OrdinaryObject);
819
+ }
820
+
821
+ // eslint-disable-next-line require-yield
822
+ * PreventExtensions(): ObjectSlotReturn['PreventExtensions'] {
823
+ Q(surroundingAgent.debugger_tryTouchDuringPreview(this));
824
+ return OrdinaryPreventExtensions(this as unknown as OrdinaryObject);
825
+ }
826
+
827
+ // eslint-disable-next-line require-yield
828
+ * GetOwnProperty(P: PropertyKeyValue): ObjectSlotReturn['GetOwnProperty'] {
829
+ return OrdinaryGetOwnProperty(this as unknown as OrdinaryObject, P);
830
+ }
831
+
832
+ * DefineOwnProperty(P: PropertyKeyValue, Desc: Descriptor): ObjectSlotReturn['DefineOwnProperty'] {
833
+ Q(surroundingAgent.debugger_tryTouchDuringPreview(this));
834
+ return yield* OrdinaryDefineOwnProperty(this as unknown as OrdinaryObject, P, Desc);
835
+ }
836
+
837
+ * HasProperty(P: PropertyKeyValue): ObjectSlotReturn['HasProperty'] {
838
+ return yield* OrdinaryHasProperty(this as unknown as OrdinaryObject, P);
839
+ }
840
+
841
+ * Get(P: PropertyKeyValue, Receiver: Value): ObjectSlotReturn['Get'] {
842
+ return yield* OrdinaryGet(this as unknown as OrdinaryObject, P, Receiver);
843
+ }
844
+
845
+ * Set(P: PropertyKeyValue, V: Value, Receiver: Value): ObjectSlotReturn['Set'] {
846
+ // TODO:
847
+ Q(surroundingAgent.debugger_tryTouchDuringPreview(Receiver as ObjectValue));
848
+ return yield* OrdinarySet(this as unknown as OrdinaryObject, P, V, Receiver);
849
+ }
850
+
851
+ * Delete(P: PropertyKeyValue): ObjectSlotReturn['Delete'] {
852
+ Q(surroundingAgent.debugger_tryTouchDuringPreview(this));
853
+ return yield* OrdinaryDelete(this as unknown as OrdinaryObject, P);
854
+ }
855
+
856
+ // eslint-disable-next-line require-yield
857
+ * OwnPropertyKeys(): ObjectSlotReturn['OwnPropertyKeys'] {
858
+ return OrdinaryOwnPropertyKeys(this as unknown as OrdinaryObject);
859
+ }
860
+
861
+ // NON-SPEC
862
+ mark(m: GCMarker) {
863
+ m(this.properties);
864
+ this.internalSlotsList.forEach((s) => {
865
+ // @ts-ignore
866
+ m(this[s]);
867
+ if (s === 'HostCapturedValues' && s in this && Array.isArray(this[s])) {
868
+ this[s].forEach(m);
869
+ }
870
+ });
871
+ }
872
+
873
+ static {
874
+ Object.defineProperty(this.prototype, 'type', { value: 'Object' });
875
+ }
876
+
877
+ declare static [Symbol.hasInstance]: (value: unknown) => value is ObjectValue;
878
+ }
879
+
880
+ /** https://tc39.es/ecma262/#sec-private-names */
881
+ export class PrivateName {
882
+ // NOTE: The following declaration distinguishes `PrivateName` from `SymbolValue` so that type guards can properly
883
+ // remove it from unions with `SymbolValue` due to structural overlap.
884
+ declare private _: never;
885
+
886
+ readonly Description: JSStringValue;
887
+
888
+ constructor(description: JSStringValue) {
889
+ this.Description = description;
890
+ }
891
+ }
892
+
893
+ export class ReferenceRecord {
894
+ readonly Base: 'unresolvable' | Value | EnvironmentRecord;
895
+
896
+ ReferencedName: Value | PrivateName;
897
+
898
+ readonly Strict: BooleanValue;
899
+
900
+ readonly ThisValue: Value | undefined;
901
+
902
+ constructor({
903
+ Base,
904
+ ReferencedName,
905
+ Strict,
906
+ ThisValue,
907
+ }: Pick<ReferenceRecord, 'Base' | 'ReferencedName' | 'Strict' | 'ThisValue'>) {
908
+ this.Base = Base;
909
+ this.ReferencedName = ReferencedName;
910
+ this.Strict = Strict;
911
+ this.ThisValue = ThisValue;
912
+ }
913
+
914
+ // NON-SPEC
915
+ mark(m: GCMarker) {
916
+ m(this.Base);
917
+ m(this.ReferencedName);
918
+ m(this.ThisValue);
919
+ }
920
+ }
921
+
922
+ export type DescriptorInit = Pick<Descriptor, 'Configurable' | 'Enumerable' | 'Get' | 'Set' | 'Value' | 'Writable'>;
923
+ // @ts-expect-error
924
+ export function Descriptor(O: DescriptorInit): Descriptor // @ts-expect-error
925
+ export @callable() class Descriptor {
926
+ readonly Value?: Value;
927
+
928
+ readonly Get?: FunctionObject | UndefinedValue;
929
+
930
+ readonly Set?: FunctionObject | UndefinedValue;
931
+
932
+ readonly Writable?: BooleanValue;
933
+
934
+ readonly Enumerable?: BooleanValue;
935
+
936
+ readonly Configurable?: BooleanValue;
937
+
938
+ constructor(O: Pick<Descriptor, 'Configurable' | 'Enumerable' | 'Get' | 'Set' | 'Value' | 'Writable'>) {
939
+ this.Value = O.Value;
940
+ this.Get = O.Get;
941
+ this.Set = O.Set;
942
+ this.Writable = O.Writable;
943
+ this.Enumerable = O.Enumerable;
944
+ this.Configurable = O.Configurable;
945
+ }
946
+
947
+ everyFieldIsAbsent() {
948
+ return this.Value === undefined
949
+ && this.Get === undefined
950
+ && this.Set === undefined
951
+ && this.Writable === undefined
952
+ && this.Enumerable === undefined
953
+ && this.Configurable === undefined;
954
+ }
955
+
956
+ // NON-SPEC
957
+ mark(m: GCMarker) {
958
+ m(this.Value);
959
+ m(this.Get);
960
+ m(this.Set);
961
+ }
962
+ }
963
+
964
+ export class DataBlock extends Uint8Array {
965
+ constructor(sizeOrBuffer: number | ArrayBuffer, byteOffset?: number, length?: number) {
966
+ if (sizeOrBuffer instanceof ArrayBuffer) {
967
+ super(sizeOrBuffer, byteOffset, length);
968
+ } else {
969
+ Assert(typeof sizeOrBuffer === 'number');
970
+ super(sizeOrBuffer);
971
+ }
972
+ }
973
+ }
974
+
975
+ /** https://tc39.es/ecma262/#sec-sametype */
976
+ export function SameType(x: Value, y: Value) {
977
+ switch (true) {
978
+ case x === Value.undefined && y === Value.undefined:
979
+ case x === Value.null && y === Value.null:
980
+ case x instanceof BooleanValue && y instanceof BooleanValue:
981
+ case x instanceof NumberValue && y instanceof NumberValue:
982
+ case x instanceof BigIntValue && y instanceof BigIntValue:
983
+ case x instanceof SymbolValue && y instanceof SymbolValue:
984
+ case x instanceof JSStringValue && y instanceof JSStringValue:
985
+ case x instanceof ObjectValue && y instanceof ObjectValue:
986
+ return true;
987
+ default:
988
+ return false;
989
+ }
990
+ }
991
+
992
+ export type Arguments = readonly Value[];
993
+ export interface FunctionCallContext {
994
+ readonly thisValue: Value;
995
+ readonly NewTarget: FunctionObject | UndefinedValue;
996
+ }
997
+ export interface NativeSteps {
998
+ (this: BuiltinFunctionObject, args: Arguments, context: FunctionCallContext): PlainEvaluator<Value | void> | PlainCompletion<Value | void>;
999
+ section?: string;
1000
+ }
1001
+ export interface CanBeNativeSteps {
1002
+ (...args: Value[]): void | ValueEvaluator;
1003
+ }