@swf2es/runtime 0.0.0-stage → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (815) hide show
  1. package/LICENSE +202 -0
  2. package/LICENSE.third-party +422 -0
  3. package/README.md +29 -2
  4. package/dist/avm1/activation.d.ts +108 -0
  5. package/dist/avm1/activation.d.ts.map +1 -0
  6. package/dist/avm1/activation.js +90 -0
  7. package/dist/avm1/activation.js.map +1 -0
  8. package/dist/avm1/case.d.ts +3 -0
  9. package/dist/avm1/case.d.ts.map +1 -0
  10. package/dist/avm1/case.js +250 -0
  11. package/dist/avm1/case.js.map +1 -0
  12. package/dist/avm1/clips.d.ts +68 -0
  13. package/dist/avm1/clips.d.ts.map +1 -0
  14. package/dist/avm1/clips.js +335 -0
  15. package/dist/avm1/clips.js.map +1 -0
  16. package/dist/avm1/control.d.ts +54 -0
  17. package/dist/avm1/control.d.ts.map +1 -0
  18. package/dist/avm1/control.js +281 -0
  19. package/dist/avm1/control.js.map +1 -0
  20. package/dist/avm1/errors.d.ts +49 -0
  21. package/dist/avm1/errors.d.ts.map +1 -0
  22. package/dist/avm1/errors.js +51 -0
  23. package/dist/avm1/errors.js.map +1 -0
  24. package/dist/avm1/functions.d.ts +94 -0
  25. package/dist/avm1/functions.d.ts.map +1 -0
  26. package/dist/avm1/functions.js +250 -0
  27. package/dist/avm1/functions.js.map +1 -0
  28. package/dist/avm1/globals/array.d.ts +8 -0
  29. package/dist/avm1/globals/array.d.ts.map +1 -0
  30. package/dist/avm1/globals/array.js +550 -0
  31. package/dist/avm1/globals/array.js.map +1 -0
  32. package/dist/avm1/globals/broadcaster.d.ts +22 -0
  33. package/dist/avm1/globals/broadcaster.d.ts.map +1 -0
  34. package/dist/avm1/globals/broadcaster.js +132 -0
  35. package/dist/avm1/globals/broadcaster.js.map +1 -0
  36. package/dist/avm1/globals/date.d.ts +10 -0
  37. package/dist/avm1/globals/date.d.ts.map +1 -0
  38. package/dist/avm1/globals/date.js +437 -0
  39. package/dist/avm1/globals/date.js.map +1 -0
  40. package/dist/avm1/globals/global.d.ts +23 -0
  41. package/dist/avm1/globals/global.d.ts.map +1 -0
  42. package/dist/avm1/globals/global.js +345 -0
  43. package/dist/avm1/globals/global.js.map +1 -0
  44. package/dist/avm1/globals/math.d.ts +7 -0
  45. package/dist/avm1/globals/math.d.ts.map +1 -0
  46. package/dist/avm1/globals/math.js +140 -0
  47. package/dist/avm1/globals/math.js.map +1 -0
  48. package/dist/avm1/globals/number.d.ts +11 -0
  49. package/dist/avm1/globals/number.d.ts.map +1 -0
  50. package/dist/avm1/globals/number.js +94 -0
  51. package/dist/avm1/globals/number.js.map +1 -0
  52. package/dist/avm1/globals/string.d.ts +8 -0
  53. package/dist/avm1/globals/string.d.ts.map +1 -0
  54. package/dist/avm1/globals/string.js +202 -0
  55. package/dist/avm1/globals/string.js.map +1 -0
  56. package/dist/avm1/globals/timers.d.ts +49 -0
  57. package/dist/avm1/globals/timers.d.ts.map +1 -0
  58. package/dist/avm1/globals/timers.js +130 -0
  59. package/dist/avm1/globals/timers.js.map +1 -0
  60. package/dist/avm1/host.d.ts +146 -0
  61. package/dist/avm1/host.d.ts.map +1 -0
  62. package/dist/avm1/host.js +6 -0
  63. package/dist/avm1/host.js.map +1 -0
  64. package/dist/avm1/index.d.ts +15 -0
  65. package/dist/avm1/index.d.ts.map +1 -0
  66. package/dist/avm1/index.js +15 -0
  67. package/dist/avm1/index.js.map +1 -0
  68. package/dist/avm1/inheritance.d.ts +25 -0
  69. package/dist/avm1/inheritance.d.ts.map +1 -0
  70. package/dist/avm1/inheritance.js +133 -0
  71. package/dist/avm1/inheritance.js.map +1 -0
  72. package/dist/avm1/numbers.d.ts +21 -0
  73. package/dist/avm1/numbers.d.ts.map +1 -0
  74. package/dist/avm1/numbers.js +299 -0
  75. package/dist/avm1/numbers.js.map +1 -0
  76. package/dist/avm1/objects.d.ts +245 -0
  77. package/dist/avm1/objects.d.ts.map +1 -0
  78. package/dist/avm1/objects.js +897 -0
  79. package/dist/avm1/objects.js.map +1 -0
  80. package/dist/avm1/operators.d.ts +45 -0
  81. package/dist/avm1/operators.d.ts.map +1 -0
  82. package/dist/avm1/operators.js +171 -0
  83. package/dist/avm1/operators.js.map +1 -0
  84. package/dist/avm1/realm.d.ts +126 -0
  85. package/dist/avm1/realm.d.ts.map +1 -0
  86. package/dist/avm1/realm.js +530 -0
  87. package/dist/avm1/realm.js.map +1 -0
  88. package/dist/avm1/runtime.d.ts +294 -0
  89. package/dist/avm1/runtime.d.ts.map +1 -0
  90. package/dist/avm1/runtime.js +883 -0
  91. package/dist/avm1/runtime.js.map +1 -0
  92. package/dist/avm1/scope.d.ts +77 -0
  93. package/dist/avm1/scope.d.ts.map +1 -0
  94. package/dist/avm1/scope.js +386 -0
  95. package/dist/avm1/scope.js.map +1 -0
  96. package/dist/avm1/urls.d.ts +25 -0
  97. package/dist/avm1/urls.d.ts.map +1 -0
  98. package/dist/avm1/urls.js +181 -0
  99. package/dist/avm1/urls.js.map +1 -0
  100. package/dist/avm1/values.d.ts +52 -0
  101. package/dist/avm1/values.d.ts.map +1 -0
  102. package/dist/avm1/values.js +98 -0
  103. package/dist/avm1/values.js.map +1 -0
  104. package/dist/avm2/amf-classes.d.ts +28 -0
  105. package/dist/avm2/amf-classes.d.ts.map +1 -0
  106. package/dist/avm2/amf-classes.js +67 -0
  107. package/dist/avm2/amf-classes.js.map +1 -0
  108. package/dist/avm2/amf.d.ts +96 -0
  109. package/dist/avm2/amf.d.ts.map +1 -0
  110. package/dist/avm2/amf.js +802 -0
  111. package/dist/avm2/amf.js.map +1 -0
  112. package/dist/avm2/array-conversion.d.ts +31 -0
  113. package/dist/avm2/array-conversion.d.ts.map +1 -0
  114. package/dist/avm2/array-conversion.js +101 -0
  115. package/dist/avm2/array-conversion.js.map +1 -0
  116. package/dist/avm2/builtin/ArgumentError.decl.d.ts +18 -0
  117. package/dist/avm2/builtin/ArgumentError.decl.d.ts.map +1 -0
  118. package/dist/avm2/builtin/ArgumentError.decl.js +15 -0
  119. package/dist/avm2/builtin/ArgumentError.decl.js.map +1 -0
  120. package/dist/avm2/builtin/Array.d.ts +2 -0
  121. package/dist/avm2/builtin/Array.d.ts.map +1 -0
  122. package/dist/avm2/builtin/Array.decl.d.ts +241 -0
  123. package/dist/avm2/builtin/Array.decl.d.ts.map +1 -0
  124. package/dist/avm2/builtin/Array.decl.js +167 -0
  125. package/dist/avm2/builtin/Array.decl.js.map +1 -0
  126. package/dist/avm2/builtin/Array.js +497 -0
  127. package/dist/avm2/builtin/Array.js.map +1 -0
  128. package/dist/avm2/builtin/Boolean.d.ts +2 -0
  129. package/dist/avm2/builtin/Boolean.d.ts.map +1 -0
  130. package/dist/avm2/builtin/Boolean.decl.d.ts +28 -0
  131. package/dist/avm2/builtin/Boolean.decl.d.ts.map +1 -0
  132. package/dist/avm2/builtin/Boolean.decl.js +14 -0
  133. package/dist/avm2/builtin/Boolean.decl.js.map +1 -0
  134. package/dist/avm2/builtin/Boolean.js +17 -0
  135. package/dist/avm2/builtin/Boolean.js.map +1 -0
  136. package/dist/avm2/builtin/Class.d.ts +2 -0
  137. package/dist/avm2/builtin/Class.d.ts.map +1 -0
  138. package/dist/avm2/builtin/Class.decl.d.ts +21 -0
  139. package/dist/avm2/builtin/Class.decl.d.ts.map +1 -0
  140. package/dist/avm2/builtin/Class.decl.js +9 -0
  141. package/dist/avm2/builtin/Class.decl.js.map +1 -0
  142. package/dist/avm2/builtin/Class.js +11 -0
  143. package/dist/avm2/builtin/Class.js.map +1 -0
  144. package/dist/avm2/builtin/Date.d.ts +2 -0
  145. package/dist/avm2/builtin/Date.d.ts.map +1 -0
  146. package/dist/avm2/builtin/Date.decl.d.ts +441 -0
  147. package/dist/avm2/builtin/Date.decl.d.ts.map +1 -0
  148. package/dist/avm2/builtin/Date.decl.js +258 -0
  149. package/dist/avm2/builtin/Date.decl.js.map +1 -0
  150. package/dist/avm2/builtin/Date.js +808 -0
  151. package/dist/avm2/builtin/Date.js.map +1 -0
  152. package/dist/avm2/builtin/DefinitionError.decl.d.ts +18 -0
  153. package/dist/avm2/builtin/DefinitionError.decl.d.ts.map +1 -0
  154. package/dist/avm2/builtin/DefinitionError.decl.js +15 -0
  155. package/dist/avm2/builtin/DefinitionError.decl.js.map +1 -0
  156. package/dist/avm2/builtin/Error.d.ts +4 -0
  157. package/dist/avm2/builtin/Error.d.ts.map +1 -0
  158. package/dist/avm2/builtin/Error.decl.d.ts +45 -0
  159. package/dist/avm2/builtin/Error.decl.d.ts.map +1 -0
  160. package/dist/avm2/builtin/Error.decl.js +25 -0
  161. package/dist/avm2/builtin/Error.decl.js.map +1 -0
  162. package/dist/avm2/builtin/Error.js +193 -0
  163. package/dist/avm2/builtin/Error.js.map +1 -0
  164. package/dist/avm2/builtin/EvalError.decl.d.ts +18 -0
  165. package/dist/avm2/builtin/EvalError.decl.d.ts.map +1 -0
  166. package/dist/avm2/builtin/EvalError.decl.js +15 -0
  167. package/dist/avm2/builtin/EvalError.decl.js.map +1 -0
  168. package/dist/avm2/builtin/Function.d.ts +2 -0
  169. package/dist/avm2/builtin/Function.d.ts.map +1 -0
  170. package/dist/avm2/builtin/Function.decl.d.ts +44 -0
  171. package/dist/avm2/builtin/Function.decl.d.ts.map +1 -0
  172. package/dist/avm2/builtin/Function.decl.js +35 -0
  173. package/dist/avm2/builtin/Function.decl.js.map +1 -0
  174. package/dist/avm2/builtin/Function.js +73 -0
  175. package/dist/avm2/builtin/Function.js.map +1 -0
  176. package/dist/avm2/builtin/JSON.decl.d.ts +50 -0
  177. package/dist/avm2/builtin/JSON.decl.d.ts.map +1 -0
  178. package/dist/avm2/builtin/JSON.decl.js +53 -0
  179. package/dist/avm2/builtin/JSON.decl.js.map +1 -0
  180. package/dist/avm2/builtin/Math.d.ts +28 -0
  181. package/dist/avm2/builtin/Math.d.ts.map +1 -0
  182. package/dist/avm2/builtin/Math.decl.d.ts +172 -0
  183. package/dist/avm2/builtin/Math.decl.d.ts.map +1 -0
  184. package/dist/avm2/builtin/Math.decl.js +73 -0
  185. package/dist/avm2/builtin/Math.decl.js.map +1 -0
  186. package/dist/avm2/builtin/Math.js +89 -0
  187. package/dist/avm2/builtin/Math.js.map +1 -0
  188. package/dist/avm2/builtin/MethodClosure.decl.d.ts +25 -0
  189. package/dist/avm2/builtin/MethodClosure.decl.d.ts.map +1 -0
  190. package/dist/avm2/builtin/MethodClosure.decl.js +15 -0
  191. package/dist/avm2/builtin/MethodClosure.decl.js.map +1 -0
  192. package/dist/avm2/builtin/Namespace.d.ts +2 -0
  193. package/dist/avm2/builtin/Namespace.d.ts.map +1 -0
  194. package/dist/avm2/builtin/Namespace.decl.d.ts +34 -0
  195. package/dist/avm2/builtin/Namespace.decl.d.ts.map +1 -0
  196. package/dist/avm2/builtin/Namespace.decl.js +22 -0
  197. package/dist/avm2/builtin/Namespace.decl.js.map +1 -0
  198. package/dist/avm2/builtin/Namespace.js +29 -0
  199. package/dist/avm2/builtin/Namespace.js.map +1 -0
  200. package/dist/avm2/builtin/Number.d.ts +19 -0
  201. package/dist/avm2/builtin/Number.d.ts.map +1 -0
  202. package/dist/avm2/builtin/Number.decl.d.ts +285 -0
  203. package/dist/avm2/builtin/Number.decl.d.ts.map +1 -0
  204. package/dist/avm2/builtin/Number.decl.js +267 -0
  205. package/dist/avm2/builtin/Number.decl.js.map +1 -0
  206. package/dist/avm2/builtin/Number.js +178 -0
  207. package/dist/avm2/builtin/Number.js.map +1 -0
  208. package/dist/avm2/builtin/Object.d.ts +5 -0
  209. package/dist/avm2/builtin/Object.d.ts.map +1 -0
  210. package/dist/avm2/builtin/Object.decl.d.ts +77 -0
  211. package/dist/avm2/builtin/Object.decl.d.ts.map +1 -0
  212. package/dist/avm2/builtin/Object.decl.js +67 -0
  213. package/dist/avm2/builtin/Object.decl.js.map +1 -0
  214. package/dist/avm2/builtin/Object.js +120 -0
  215. package/dist/avm2/builtin/Object.js.map +1 -0
  216. package/dist/avm2/builtin/QName.d.ts +2 -0
  217. package/dist/avm2/builtin/QName.d.ts.map +1 -0
  218. package/dist/avm2/builtin/QName.decl.d.ts +34 -0
  219. package/dist/avm2/builtin/QName.decl.d.ts.map +1 -0
  220. package/dist/avm2/builtin/QName.decl.js +22 -0
  221. package/dist/avm2/builtin/QName.decl.js.map +1 -0
  222. package/dist/avm2/builtin/QName.js +72 -0
  223. package/dist/avm2/builtin/QName.js.map +1 -0
  224. package/dist/avm2/builtin/RangeError.decl.d.ts +18 -0
  225. package/dist/avm2/builtin/RangeError.decl.d.ts.map +1 -0
  226. package/dist/avm2/builtin/RangeError.decl.js +15 -0
  227. package/dist/avm2/builtin/RangeError.decl.js.map +1 -0
  228. package/dist/avm2/builtin/ReferenceError.decl.d.ts +18 -0
  229. package/dist/avm2/builtin/ReferenceError.decl.d.ts.map +1 -0
  230. package/dist/avm2/builtin/ReferenceError.decl.js +15 -0
  231. package/dist/avm2/builtin/ReferenceError.decl.js.map +1 -0
  232. package/dist/avm2/builtin/RegExp.d.ts +2 -0
  233. package/dist/avm2/builtin/RegExp.d.ts.map +1 -0
  234. package/dist/avm2/builtin/RegExp.decl.d.ts +59 -0
  235. package/dist/avm2/builtin/RegExp.decl.d.ts.map +1 -0
  236. package/dist/avm2/builtin/RegExp.decl.js +31 -0
  237. package/dist/avm2/builtin/RegExp.decl.js.map +1 -0
  238. package/dist/avm2/builtin/RegExp.js +57 -0
  239. package/dist/avm2/builtin/RegExp.js.map +1 -0
  240. package/dist/avm2/builtin/SecurityError.decl.d.ts +18 -0
  241. package/dist/avm2/builtin/SecurityError.decl.d.ts.map +1 -0
  242. package/dist/avm2/builtin/SecurityError.decl.js +15 -0
  243. package/dist/avm2/builtin/SecurityError.decl.js.map +1 -0
  244. package/dist/avm2/builtin/String.d.ts +2 -0
  245. package/dist/avm2/builtin/String.d.ts.map +1 -0
  246. package/dist/avm2/builtin/String.decl.d.ts +168 -0
  247. package/dist/avm2/builtin/String.decl.d.ts.map +1 -0
  248. package/dist/avm2/builtin/String.decl.js +168 -0
  249. package/dist/avm2/builtin/String.decl.js.map +1 -0
  250. package/dist/avm2/builtin/String.js +176 -0
  251. package/dist/avm2/builtin/String.js.map +1 -0
  252. package/dist/avm2/builtin/SyntaxError.decl.d.ts +18 -0
  253. package/dist/avm2/builtin/SyntaxError.decl.d.ts.map +1 -0
  254. package/dist/avm2/builtin/SyntaxError.decl.js +15 -0
  255. package/dist/avm2/builtin/SyntaxError.decl.js.map +1 -0
  256. package/dist/avm2/builtin/TypeError.decl.d.ts +18 -0
  257. package/dist/avm2/builtin/TypeError.decl.d.ts.map +1 -0
  258. package/dist/avm2/builtin/TypeError.decl.js +15 -0
  259. package/dist/avm2/builtin/TypeError.decl.js.map +1 -0
  260. package/dist/avm2/builtin/URIError.decl.d.ts +18 -0
  261. package/dist/avm2/builtin/URIError.decl.d.ts.map +1 -0
  262. package/dist/avm2/builtin/URIError.decl.js +15 -0
  263. package/dist/avm2/builtin/URIError.decl.js.map +1 -0
  264. package/dist/avm2/builtin/UninitializedError.decl.d.ts +18 -0
  265. package/dist/avm2/builtin/UninitializedError.decl.d.ts.map +1 -0
  266. package/dist/avm2/builtin/UninitializedError.decl.js +15 -0
  267. package/dist/avm2/builtin/UninitializedError.decl.js.map +1 -0
  268. package/dist/avm2/builtin/VerifyError.decl.d.ts +18 -0
  269. package/dist/avm2/builtin/VerifyError.decl.d.ts.map +1 -0
  270. package/dist/avm2/builtin/VerifyError.decl.js +15 -0
  271. package/dist/avm2/builtin/VerifyError.decl.js.map +1 -0
  272. package/dist/avm2/builtin/Walker.decl.d.ts +23 -0
  273. package/dist/avm2/builtin/Walker.decl.d.ts.map +1 -0
  274. package/dist/avm2/builtin/Walker.decl.js +14 -0
  275. package/dist/avm2/builtin/Walker.decl.js.map +1 -0
  276. package/dist/avm2/builtin/XML.d.ts +2 -0
  277. package/dist/avm2/builtin/XML.d.ts.map +1 -0
  278. package/dist/avm2/builtin/XML.decl.d.ts +275 -0
  279. package/dist/avm2/builtin/XML.decl.d.ts.map +1 -0
  280. package/dist/avm2/builtin/XML.decl.js +97 -0
  281. package/dist/avm2/builtin/XML.decl.js.map +1 -0
  282. package/dist/avm2/builtin/XML.js +283 -0
  283. package/dist/avm2/builtin/XML.js.map +1 -0
  284. package/dist/avm2/builtin/XMLList.d.ts +2 -0
  285. package/dist/avm2/builtin/XMLList.d.ts.map +1 -0
  286. package/dist/avm2/builtin/XMLList.decl.d.ts +201 -0
  287. package/dist/avm2/builtin/XMLList.decl.d.ts.map +1 -0
  288. package/dist/avm2/builtin/XMLList.decl.js +74 -0
  289. package/dist/avm2/builtin/XMLList.decl.js.map +1 -0
  290. package/dist/avm2/builtin/XMLList.js +253 -0
  291. package/dist/avm2/builtin/XMLList.js.map +1 -0
  292. package/dist/avm2/builtin/__AS3__/vec/Vector$double.decl.d.ts +200 -0
  293. package/dist/avm2/builtin/__AS3__/vec/Vector$double.decl.d.ts.map +1 -0
  294. package/dist/avm2/builtin/__AS3__/vec/Vector$double.decl.js +168 -0
  295. package/dist/avm2/builtin/__AS3__/vec/Vector$double.decl.js.map +1 -0
  296. package/dist/avm2/builtin/__AS3__/vec/Vector$int.decl.d.ts +200 -0
  297. package/dist/avm2/builtin/__AS3__/vec/Vector$int.decl.d.ts.map +1 -0
  298. package/dist/avm2/builtin/__AS3__/vec/Vector$int.decl.js +164 -0
  299. package/dist/avm2/builtin/__AS3__/vec/Vector$int.decl.js.map +1 -0
  300. package/dist/avm2/builtin/__AS3__/vec/Vector$object.decl.d.ts +198 -0
  301. package/dist/avm2/builtin/__AS3__/vec/Vector$object.decl.d.ts.map +1 -0
  302. package/dist/avm2/builtin/__AS3__/vec/Vector$object.decl.js +168 -0
  303. package/dist/avm2/builtin/__AS3__/vec/Vector$object.decl.js.map +1 -0
  304. package/dist/avm2/builtin/__AS3__/vec/Vector$uint.decl.d.ts +200 -0
  305. package/dist/avm2/builtin/__AS3__/vec/Vector$uint.decl.d.ts.map +1 -0
  306. package/dist/avm2/builtin/__AS3__/vec/Vector$uint.decl.js +168 -0
  307. package/dist/avm2/builtin/__AS3__/vec/Vector$uint.decl.js.map +1 -0
  308. package/dist/avm2/builtin/__AS3__/vec/Vector.decl.d.ts +14 -0
  309. package/dist/avm2/builtin/__AS3__/vec/Vector.decl.d.ts.map +1 -0
  310. package/dist/avm2/builtin/__AS3__/vec/Vector.decl.js +10 -0
  311. package/dist/avm2/builtin/__AS3__/vec/Vector.decl.js.map +1 -0
  312. package/dist/avm2/builtin/bind.d.ts +44 -0
  313. package/dist/avm2/builtin/bind.d.ts.map +1 -0
  314. package/dist/avm2/builtin/bind.js +173 -0
  315. package/dist/avm2/builtin/bind.js.map +1 -0
  316. package/dist/avm2/builtin/declare.d.ts +137 -0
  317. package/dist/avm2/builtin/declare.d.ts.map +1 -0
  318. package/dist/avm2/builtin/declare.js +14 -0
  319. package/dist/avm2/builtin/declare.js.map +1 -0
  320. package/dist/avm2/builtin/flash/concurrent/Condition.decl.d.ts +44 -0
  321. package/dist/avm2/builtin/flash/concurrent/Condition.decl.d.ts.map +1 -0
  322. package/dist/avm2/builtin/flash/concurrent/Condition.decl.js +18 -0
  323. package/dist/avm2/builtin/flash/concurrent/Condition.decl.js.map +1 -0
  324. package/dist/avm2/builtin/flash/concurrent/Mutex.decl.d.ts +37 -0
  325. package/dist/avm2/builtin/flash/concurrent/Mutex.decl.d.ts.map +1 -0
  326. package/dist/avm2/builtin/flash/concurrent/Mutex.decl.js +17 -0
  327. package/dist/avm2/builtin/flash/concurrent/Mutex.decl.js.map +1 -0
  328. package/dist/avm2/builtin/flash/errors/EOFError.decl.d.ts +14 -0
  329. package/dist/avm2/builtin/flash/errors/EOFError.decl.d.ts.map +1 -0
  330. package/dist/avm2/builtin/flash/errors/EOFError.decl.js +15 -0
  331. package/dist/avm2/builtin/flash/errors/EOFError.decl.js.map +1 -0
  332. package/dist/avm2/builtin/flash/errors/IOError.decl.d.ts +14 -0
  333. package/dist/avm2/builtin/flash/errors/IOError.decl.d.ts.map +1 -0
  334. package/dist/avm2/builtin/flash/errors/IOError.decl.js +15 -0
  335. package/dist/avm2/builtin/flash/errors/IOError.decl.js.map +1 -0
  336. package/dist/avm2/builtin/flash/errors/IllegalOperationError.decl.d.ts +14 -0
  337. package/dist/avm2/builtin/flash/errors/IllegalOperationError.decl.d.ts.map +1 -0
  338. package/dist/avm2/builtin/flash/errors/IllegalOperationError.decl.js +15 -0
  339. package/dist/avm2/builtin/flash/errors/IllegalOperationError.decl.js.map +1 -0
  340. package/dist/avm2/builtin/flash/errors/MemoryError.decl.d.ts +14 -0
  341. package/dist/avm2/builtin/flash/errors/MemoryError.decl.d.ts.map +1 -0
  342. package/dist/avm2/builtin/flash/errors/MemoryError.decl.js +15 -0
  343. package/dist/avm2/builtin/flash/errors/MemoryError.decl.js.map +1 -0
  344. package/dist/avm2/builtin/flash/net/DynamicPropertyOutput.decl.d.ts +20 -0
  345. package/dist/avm2/builtin/flash/net/DynamicPropertyOutput.decl.d.ts.map +1 -0
  346. package/dist/avm2/builtin/flash/net/DynamicPropertyOutput.decl.js +13 -0
  347. package/dist/avm2/builtin/flash/net/DynamicPropertyOutput.decl.js.map +1 -0
  348. package/dist/avm2/builtin/flash/net/IDynamicPropertyOutput.decl.d.ts +16 -0
  349. package/dist/avm2/builtin/flash/net/IDynamicPropertyOutput.decl.d.ts.map +1 -0
  350. package/dist/avm2/builtin/flash/net/IDynamicPropertyOutput.decl.js +16 -0
  351. package/dist/avm2/builtin/flash/net/IDynamicPropertyOutput.decl.js.map +1 -0
  352. package/dist/avm2/builtin/flash/net/IDynamicPropertyWriter.decl.d.ts +16 -0
  353. package/dist/avm2/builtin/flash/net/IDynamicPropertyWriter.decl.d.ts.map +1 -0
  354. package/dist/avm2/builtin/flash/net/IDynamicPropertyWriter.decl.js +16 -0
  355. package/dist/avm2/builtin/flash/net/IDynamicPropertyWriter.decl.js.map +1 -0
  356. package/dist/avm2/builtin/flash/net/ObjectEncoding.decl.d.ts +38 -0
  357. package/dist/avm2/builtin/flash/net/ObjectEncoding.decl.d.ts.map +1 -0
  358. package/dist/avm2/builtin/flash/net/ObjectEncoding.decl.js +28 -0
  359. package/dist/avm2/builtin/flash/net/ObjectEncoding.decl.js.map +1 -0
  360. package/dist/avm2/builtin/flash/utils/ByteArray.d.ts +151 -0
  361. package/dist/avm2/builtin/flash/utils/ByteArray.d.ts.map +1 -0
  362. package/dist/avm2/builtin/flash/utils/ByteArray.decl.d.ts +260 -0
  363. package/dist/avm2/builtin/flash/utils/ByteArray.decl.d.ts.map +1 -0
  364. package/dist/avm2/builtin/flash/utils/ByteArray.decl.js +105 -0
  365. package/dist/avm2/builtin/flash/utils/ByteArray.decl.js.map +1 -0
  366. package/dist/avm2/builtin/flash/utils/ByteArray.js +1009 -0
  367. package/dist/avm2/builtin/flash/utils/ByteArray.js.map +1 -0
  368. package/dist/avm2/builtin/flash/utils/CompressionAlgorithm.decl.d.ts +27 -0
  369. package/dist/avm2/builtin/flash/utils/CompressionAlgorithm.decl.d.ts.map +1 -0
  370. package/dist/avm2/builtin/flash/utils/CompressionAlgorithm.decl.js +15 -0
  371. package/dist/avm2/builtin/flash/utils/CompressionAlgorithm.decl.js.map +1 -0
  372. package/dist/avm2/builtin/flash/utils/Dictionary.d.ts +2 -0
  373. package/dist/avm2/builtin/flash/utils/Dictionary.d.ts.map +1 -0
  374. package/dist/avm2/builtin/flash/utils/Dictionary.decl.d.ts +19 -0
  375. package/dist/avm2/builtin/flash/utils/Dictionary.decl.d.ts.map +1 -0
  376. package/dist/avm2/builtin/flash/utils/Dictionary.decl.js +9 -0
  377. package/dist/avm2/builtin/flash/utils/Dictionary.decl.js.map +1 -0
  378. package/dist/avm2/builtin/flash/utils/Dictionary.js +21 -0
  379. package/dist/avm2/builtin/flash/utils/Dictionary.js.map +1 -0
  380. package/dist/avm2/builtin/flash/utils/IDataInput.decl.d.ts +92 -0
  381. package/dist/avm2/builtin/flash/utils/IDataInput.decl.d.ts.map +1 -0
  382. package/dist/avm2/builtin/flash/utils/IDataInput.decl.js +71 -0
  383. package/dist/avm2/builtin/flash/utils/IDataInput.decl.js.map +1 -0
  384. package/dist/avm2/builtin/flash/utils/IDataInput2.decl.d.ts +13 -0
  385. package/dist/avm2/builtin/flash/utils/IDataInput2.decl.d.ts.map +1 -0
  386. package/dist/avm2/builtin/flash/utils/IDataInput2.decl.js +11 -0
  387. package/dist/avm2/builtin/flash/utils/IDataInput2.decl.js.map +1 -0
  388. package/dist/avm2/builtin/flash/utils/IDataOutput.decl.d.ts +74 -0
  389. package/dist/avm2/builtin/flash/utils/IDataOutput.decl.d.ts.map +1 -0
  390. package/dist/avm2/builtin/flash/utils/IDataOutput.decl.js +35 -0
  391. package/dist/avm2/builtin/flash/utils/IDataOutput.decl.js.map +1 -0
  392. package/dist/avm2/builtin/flash/utils/IDataOutput2.decl.d.ts +13 -0
  393. package/dist/avm2/builtin/flash/utils/IDataOutput2.decl.d.ts.map +1 -0
  394. package/dist/avm2/builtin/flash/utils/IDataOutput2.decl.js +11 -0
  395. package/dist/avm2/builtin/flash/utils/IDataOutput2.decl.js.map +1 -0
  396. package/dist/avm2/builtin/flash/utils/IExternalizable.decl.d.ts +20 -0
  397. package/dist/avm2/builtin/flash/utils/IExternalizable.decl.d.ts.map +1 -0
  398. package/dist/avm2/builtin/flash/utils/IExternalizable.decl.js +21 -0
  399. package/dist/avm2/builtin/flash/utils/IExternalizable.decl.js.map +1 -0
  400. package/dist/avm2/builtin/flash/utils/ObjectInput.decl.d.ts +95 -0
  401. package/dist/avm2/builtin/flash/utils/ObjectInput.decl.d.ts.map +1 -0
  402. package/dist/avm2/builtin/flash/utils/ObjectInput.decl.js +36 -0
  403. package/dist/avm2/builtin/flash/utils/ObjectInput.decl.js.map +1 -0
  404. package/dist/avm2/builtin/flash/utils/ObjectOutput.decl.d.ts +93 -0
  405. package/dist/avm2/builtin/flash/utils/ObjectOutput.decl.d.ts.map +1 -0
  406. package/dist/avm2/builtin/flash/utils/ObjectOutput.decl.js +33 -0
  407. package/dist/avm2/builtin/flash/utils/ObjectOutput.decl.js.map +1 -0
  408. package/dist/avm2/builtin/flash/utils/Proxy.d.ts +2 -0
  409. package/dist/avm2/builtin/flash/utils/Proxy.d.ts.map +1 -0
  410. package/dist/avm2/builtin/flash/utils/Proxy.decl.d.ts +61 -0
  411. package/dist/avm2/builtin/flash/utils/Proxy.decl.d.ts.map +1 -0
  412. package/dist/avm2/builtin/flash/utils/Proxy.decl.js +21 -0
  413. package/dist/avm2/builtin/flash/utils/Proxy.decl.js.map +1 -0
  414. package/dist/avm2/builtin/flash/utils/Proxy.js +112 -0
  415. package/dist/avm2/builtin/flash/utils/Proxy.js.map +1 -0
  416. package/dist/avm2/builtin/index.d.ts +5 -0
  417. package/dist/avm2/builtin/index.d.ts.map +1 -0
  418. package/dist/avm2/builtin/index.js +48 -0
  419. package/dist/avm2/builtin/index.js.map +1 -0
  420. package/dist/avm2/builtin/int.d.ts +2 -0
  421. package/dist/avm2/builtin/int.d.ts.map +1 -0
  422. package/dist/avm2/builtin/int.decl.d.ts +52 -0
  423. package/dist/avm2/builtin/int.decl.d.ts.map +1 -0
  424. package/dist/avm2/builtin/int.decl.js +21 -0
  425. package/dist/avm2/builtin/int.decl.js.map +1 -0
  426. package/dist/avm2/builtin/int.js +27 -0
  427. package/dist/avm2/builtin/int.js.map +1 -0
  428. package/dist/avm2/builtin/regexp/compile.d.ts +22 -0
  429. package/dist/avm2/builtin/regexp/compile.d.ts.map +1 -0
  430. package/dist/avm2/builtin/regexp/compile.js +435 -0
  431. package/dist/avm2/builtin/regexp/compile.js.map +1 -0
  432. package/dist/avm2/builtin/scripts.d.ts +3 -0
  433. package/dist/avm2/builtin/scripts.d.ts.map +1 -0
  434. package/dist/avm2/builtin/scripts.js +1001 -0
  435. package/dist/avm2/builtin/scripts.js.map +1 -0
  436. package/dist/avm2/builtin/thunks.d.ts +4 -0
  437. package/dist/avm2/builtin/thunks.d.ts.map +1 -0
  438. package/dist/avm2/builtin/thunks.js +1322 -0
  439. package/dist/avm2/builtin/thunks.js.map +1 -0
  440. package/dist/avm2/builtin/uint.d.ts +2 -0
  441. package/dist/avm2/builtin/uint.d.ts.map +1 -0
  442. package/dist/avm2/builtin/uint.decl.d.ts +52 -0
  443. package/dist/avm2/builtin/uint.decl.d.ts.map +1 -0
  444. package/dist/avm2/builtin/uint.decl.js +21 -0
  445. package/dist/avm2/builtin/uint.decl.js.map +1 -0
  446. package/dist/avm2/builtin/uint.js +27 -0
  447. package/dist/avm2/builtin/uint.js.map +1 -0
  448. package/dist/avm2/builtin/xml/chars.d.ts +9 -0
  449. package/dist/avm2/builtin/xml/chars.d.ts.map +1 -0
  450. package/dist/avm2/builtin/xml/chars.js +113 -0
  451. package/dist/avm2/builtin/xml/chars.js.map +1 -0
  452. package/dist/avm2/builtin/xml/escape.d.ts +5 -0
  453. package/dist/avm2/builtin/xml/escape.d.ts.map +1 -0
  454. package/dist/avm2/builtin/xml/escape.js +39 -0
  455. package/dist/avm2/builtin/xml/escape.js.map +1 -0
  456. package/dist/avm2/builtin/xml/node.d.ts +94 -0
  457. package/dist/avm2/builtin/xml/node.d.ts.map +1 -0
  458. package/dist/avm2/builtin/xml/node.js +273 -0
  459. package/dist/avm2/builtin/xml/node.js.map +1 -0
  460. package/dist/avm2/builtin/xml/parser.d.ts +51 -0
  461. package/dist/avm2/builtin/xml/parser.d.ts.map +1 -0
  462. package/dist/avm2/builtin/xml/parser.js +357 -0
  463. package/dist/avm2/builtin/xml/parser.js.map +1 -0
  464. package/dist/avm2/builtin/xml/xml.d.ts +106 -0
  465. package/dist/avm2/builtin/xml/xml.d.ts.map +1 -0
  466. package/dist/avm2/builtin/xml/xml.js +1856 -0
  467. package/dist/avm2/builtin/xml/xml.js.map +1 -0
  468. package/dist/avm2/builtin-library.d.ts +2 -0
  469. package/dist/avm2/builtin-library.d.ts.map +1 -0
  470. package/dist/avm2/builtin-library.js +22 -0
  471. package/dist/avm2/builtin-library.js.map +1 -0
  472. package/dist/avm2/cache-fill.d.ts +14 -0
  473. package/dist/avm2/cache-fill.d.ts.map +1 -0
  474. package/dist/avm2/cache-fill.js +87 -0
  475. package/dist/avm2/cache-fill.js.map +1 -0
  476. package/dist/avm2/classes.d.ts +17 -0
  477. package/dist/avm2/classes.d.ts.map +1 -0
  478. package/dist/avm2/classes.js +212 -0
  479. package/dist/avm2/classes.js.map +1 -0
  480. package/dist/avm2/definitions.d.ts +28 -0
  481. package/dist/avm2/definitions.d.ts.map +1 -0
  482. package/dist/avm2/definitions.js +70 -0
  483. package/dist/avm2/definitions.js.map +1 -0
  484. package/dist/avm2/descriptors.d.ts +118 -0
  485. package/dist/avm2/descriptors.d.ts.map +1 -0
  486. package/dist/avm2/descriptors.js +6 -0
  487. package/dist/avm2/descriptors.js.map +1 -0
  488. package/dist/avm2/dictionary-keys.d.ts +73 -0
  489. package/dist/avm2/dictionary-keys.d.ts.map +1 -0
  490. package/dist/avm2/dictionary-keys.js +296 -0
  491. package/dist/avm2/dictionary-keys.js.map +1 -0
  492. package/dist/avm2/domain-memory.d.ts +23 -0
  493. package/dist/avm2/domain-memory.d.ts.map +1 -0
  494. package/dist/avm2/domain-memory.js +76 -0
  495. package/dist/avm2/domain-memory.js.map +1 -0
  496. package/dist/avm2/domain.d.ts +108 -0
  497. package/dist/avm2/domain.d.ts.map +1 -0
  498. package/dist/avm2/domain.js +281 -0
  499. package/dist/avm2/domain.js.map +1 -0
  500. package/dist/avm2/dynamic-properties.d.ts +62 -0
  501. package/dist/avm2/dynamic-properties.d.ts.map +1 -0
  502. package/dist/avm2/dynamic-properties.js +183 -0
  503. package/dist/avm2/dynamic-properties.js.map +1 -0
  504. package/dist/avm2/enumeration.d.ts +75 -0
  505. package/dist/avm2/enumeration.d.ts.map +1 -0
  506. package/dist/avm2/enumeration.js +394 -0
  507. package/dist/avm2/enumeration.js.map +1 -0
  508. package/dist/avm2/errors.d.ts +20 -0
  509. package/dist/avm2/errors.d.ts.map +1 -0
  510. package/dist/avm2/errors.js +46 -0
  511. package/dist/avm2/errors.js.map +1 -0
  512. package/dist/avm2/float-library.d.ts +2 -0
  513. package/dist/avm2/float-library.d.ts.map +1 -0
  514. package/dist/avm2/float-library.js +67 -0
  515. package/dist/avm2/float-library.js.map +1 -0
  516. package/dist/avm2/float.d.ts +9 -0
  517. package/dist/avm2/float.d.ts.map +1 -0
  518. package/dist/avm2/float.js +27 -0
  519. package/dist/avm2/float.js.map +1 -0
  520. package/dist/avm2/hooks.d.ts +77 -0
  521. package/dist/avm2/hooks.d.ts.map +1 -0
  522. package/dist/avm2/hooks.js +20 -0
  523. package/dist/avm2/hooks.js.map +1 -0
  524. package/dist/avm2/index.d.ts +32 -0
  525. package/dist/avm2/index.d.ts.map +1 -0
  526. package/dist/avm2/index.js +39 -0
  527. package/dist/avm2/index.js.map +1 -0
  528. package/dist/avm2/messages.d.ts +2 -0
  529. package/dist/avm2/messages.d.ts.map +1 -0
  530. package/dist/avm2/messages.js +178 -0
  531. package/dist/avm2/messages.js.map +1 -0
  532. package/dist/avm2/method-factories.d.ts +35 -0
  533. package/dist/avm2/method-factories.d.ts.map +1 -0
  534. package/dist/avm2/method-factories.js +96 -0
  535. package/dist/avm2/method-factories.js.map +1 -0
  536. package/dist/avm2/modules.d.ts +40 -0
  537. package/dist/avm2/modules.d.ts.map +1 -0
  538. package/dist/avm2/modules.js +106 -0
  539. package/dist/avm2/modules.js.map +1 -0
  540. package/dist/avm2/names.d.ts +143 -0
  541. package/dist/avm2/names.d.ts.map +1 -0
  542. package/dist/avm2/names.js +249 -0
  543. package/dist/avm2/names.js.map +1 -0
  544. package/dist/avm2/natives/aliases.d.ts +3 -0
  545. package/dist/avm2/natives/aliases.d.ts.map +1 -0
  546. package/dist/avm2/natives/aliases.js +48 -0
  547. package/dist/avm2/natives/aliases.js.map +1 -0
  548. package/dist/avm2/natives/array.d.ts +5 -0
  549. package/dist/avm2/natives/array.d.ts.map +1 -0
  550. package/dist/avm2/natives/array.js +391 -0
  551. package/dist/avm2/natives/array.js.map +1 -0
  552. package/dist/avm2/natives/bytearray.d.ts +180 -0
  553. package/dist/avm2/natives/bytearray.d.ts.map +1 -0
  554. package/dist/avm2/natives/bytearray.js +1228 -0
  555. package/dist/avm2/natives/bytearray.js.map +1 -0
  556. package/dist/avm2/natives/case.d.ts +5 -0
  557. package/dist/avm2/natives/case.d.ts.map +1 -0
  558. package/dist/avm2/natives/case.js +89 -0
  559. package/dist/avm2/natives/case.js.map +1 -0
  560. package/dist/avm2/natives/concurrent.d.ts +24 -0
  561. package/dist/avm2/natives/concurrent.d.ts.map +1 -0
  562. package/dist/avm2/natives/concurrent.js +200 -0
  563. package/dist/avm2/natives/concurrent.js.map +1 -0
  564. package/dist/avm2/natives/date.d.ts +5 -0
  565. package/dist/avm2/natives/date.d.ts.map +1 -0
  566. package/dist/avm2/natives/date.js +582 -0
  567. package/dist/avm2/natives/date.js.map +1 -0
  568. package/dist/avm2/natives/define.d.ts +58 -0
  569. package/dist/avm2/natives/define.d.ts.map +1 -0
  570. package/dist/avm2/natives/define.js +131 -0
  571. package/dist/avm2/natives/define.js.map +1 -0
  572. package/dist/avm2/natives/describe.d.ts +3 -0
  573. package/dist/avm2/natives/describe.d.ts.map +1 -0
  574. package/dist/avm2/natives/describe.js +352 -0
  575. package/dist/avm2/natives/describe.js.map +1 -0
  576. package/dist/avm2/natives/dictionary.d.ts +3 -0
  577. package/dist/avm2/natives/dictionary.d.ts.map +1 -0
  578. package/dist/avm2/natives/dictionary.js +13 -0
  579. package/dist/avm2/natives/dictionary.js.map +1 -0
  580. package/dist/avm2/natives/float-vector.d.ts +20 -0
  581. package/dist/avm2/natives/float-vector.d.ts.map +1 -0
  582. package/dist/avm2/natives/float-vector.js +82 -0
  583. package/dist/avm2/natives/float-vector.js.map +1 -0
  584. package/dist/avm2/natives/float.d.ts +5 -0
  585. package/dist/avm2/natives/float.d.ts.map +1 -0
  586. package/dist/avm2/natives/float.js +97 -0
  587. package/dist/avm2/natives/float.js.map +1 -0
  588. package/dist/avm2/natives/index.d.ts +7 -0
  589. package/dist/avm2/natives/index.d.ts.map +1 -0
  590. package/dist/avm2/natives/index.js +65 -0
  591. package/dist/avm2/natives/index.js.map +1 -0
  592. package/dist/avm2/natives/json.d.ts +3 -0
  593. package/dist/avm2/natives/json.d.ts.map +1 -0
  594. package/dist/avm2/natives/json.js +515 -0
  595. package/dist/avm2/natives/json.js.map +1 -0
  596. package/dist/avm2/natives/number.d.ts +15 -0
  597. package/dist/avm2/natives/number.d.ts.map +1 -0
  598. package/dist/avm2/natives/number.js +163 -0
  599. package/dist/avm2/natives/number.js.map +1 -0
  600. package/dist/avm2/natives/object.d.ts +8 -0
  601. package/dist/avm2/natives/object.d.ts.map +1 -0
  602. package/dist/avm2/natives/object.js +238 -0
  603. package/dist/avm2/natives/object.js.map +1 -0
  604. package/dist/avm2/natives/proxy.d.ts +5 -0
  605. package/dist/avm2/natives/proxy.d.ts.map +1 -0
  606. package/dist/avm2/natives/proxy.js +76 -0
  607. package/dist/avm2/natives/proxy.js.map +1 -0
  608. package/dist/avm2/natives/regexp.d.ts +21 -0
  609. package/dist/avm2/natives/regexp.d.ts.map +1 -0
  610. package/dist/avm2/natives/regexp.js +486 -0
  611. package/dist/avm2/natives/regexp.js.map +1 -0
  612. package/dist/avm2/natives/shell-workers.d.ts +140 -0
  613. package/dist/avm2/natives/shell-workers.d.ts.map +1 -0
  614. package/dist/avm2/natives/shell-workers.js +405 -0
  615. package/dist/avm2/natives/shell-workers.js.map +1 -0
  616. package/dist/avm2/natives/shell.d.ts +12 -0
  617. package/dist/avm2/natives/shell.d.ts.map +1 -0
  618. package/dist/avm2/natives/shell.js +558 -0
  619. package/dist/avm2/natives/shell.js.map +1 -0
  620. package/dist/avm2/natives/sort.d.ts +7 -0
  621. package/dist/avm2/natives/sort.d.ts.map +1 -0
  622. package/dist/avm2/natives/sort.js +378 -0
  623. package/dist/avm2/natives/sort.js.map +1 -0
  624. package/dist/avm2/natives/string.d.ts +5 -0
  625. package/dist/avm2/natives/string.d.ts.map +1 -0
  626. package/dist/avm2/natives/string.js +133 -0
  627. package/dist/avm2/natives/string.js.map +1 -0
  628. package/dist/avm2/natives/sync.d.ts +215 -0
  629. package/dist/avm2/natives/sync.d.ts.map +1 -0
  630. package/dist/avm2/natives/sync.js +822 -0
  631. package/dist/avm2/natives/sync.js.map +1 -0
  632. package/dist/avm2/natives/toplevel.d.ts +5 -0
  633. package/dist/avm2/natives/toplevel.d.ts.map +1 -0
  634. package/dist/avm2/natives/toplevel.js +140 -0
  635. package/dist/avm2/natives/toplevel.js.map +1 -0
  636. package/dist/avm2/natives/vector-elements.d.ts +10 -0
  637. package/dist/avm2/natives/vector-elements.d.ts.map +1 -0
  638. package/dist/avm2/natives/vector-elements.js +47 -0
  639. package/dist/avm2/natives/vector-elements.js.map +1 -0
  640. package/dist/avm2/natives/vector.d.ts +5 -0
  641. package/dist/avm2/natives/vector.d.ts.map +1 -0
  642. package/dist/avm2/natives/vector.js +407 -0
  643. package/dist/avm2/natives/vector.js.map +1 -0
  644. package/dist/avm2/natives/xml/access.d.ts +34 -0
  645. package/dist/avm2/natives/xml/access.d.ts.map +1 -0
  646. package/dist/avm2/natives/xml/access.js +634 -0
  647. package/dist/avm2/natives/xml/access.js.map +1 -0
  648. package/dist/avm2/natives/xml/build.d.ts +11 -0
  649. package/dist/avm2/natives/xml/build.d.ts.map +1 -0
  650. package/dist/avm2/natives/xml/build.js +292 -0
  651. package/dist/avm2/natives/xml/build.js.map +1 -0
  652. package/dist/avm2/natives/xml/chars.d.ts +9 -0
  653. package/dist/avm2/natives/xml/chars.d.ts.map +1 -0
  654. package/dist/avm2/natives/xml/chars.js +113 -0
  655. package/dist/avm2/natives/xml/chars.js.map +1 -0
  656. package/dist/avm2/natives/xml/escape.d.ts +5 -0
  657. package/dist/avm2/natives/xml/escape.d.ts.map +1 -0
  658. package/dist/avm2/natives/xml/escape.js +39 -0
  659. package/dist/avm2/natives/xml/escape.js.map +1 -0
  660. package/dist/avm2/natives/xml/names.d.ts +46 -0
  661. package/dist/avm2/natives/xml/names.d.ts.map +1 -0
  662. package/dist/avm2/natives/xml/names.js +205 -0
  663. package/dist/avm2/natives/xml/names.js.map +1 -0
  664. package/dist/avm2/natives/xml/node.d.ts +94 -0
  665. package/dist/avm2/natives/xml/node.d.ts.map +1 -0
  666. package/dist/avm2/natives/xml/node.js +273 -0
  667. package/dist/avm2/natives/xml/node.js.map +1 -0
  668. package/dist/avm2/natives/xml/operators.d.ts +7 -0
  669. package/dist/avm2/natives/xml/operators.d.ts.map +1 -0
  670. package/dist/avm2/natives/xml/operators.js +70 -0
  671. package/dist/avm2/natives/xml/operators.js.map +1 -0
  672. package/dist/avm2/natives/xml/parser.d.ts +51 -0
  673. package/dist/avm2/natives/xml/parser.d.ts.map +1 -0
  674. package/dist/avm2/natives/xml/parser.js +357 -0
  675. package/dist/avm2/natives/xml/parser.js.map +1 -0
  676. package/dist/avm2/natives/xml/strings.d.ts +10 -0
  677. package/dist/avm2/natives/xml/strings.d.ts.map +1 -0
  678. package/dist/avm2/natives/xml/strings.js +192 -0
  679. package/dist/avm2/natives/xml/strings.js.map +1 -0
  680. package/dist/avm2/natives/xml/values.d.ts +48 -0
  681. package/dist/avm2/natives/xml/values.d.ts.map +1 -0
  682. package/dist/avm2/natives/xml/values.js +123 -0
  683. package/dist/avm2/natives/xml/values.js.map +1 -0
  684. package/dist/avm2/natives/xml/xml.d.ts +5 -0
  685. package/dist/avm2/natives/xml/xml.d.ts.map +1 -0
  686. package/dist/avm2/natives/xml/xml.js +646 -0
  687. package/dist/avm2/natives/xml/xml.js.map +1 -0
  688. package/dist/avm2/number-strings.d.ts +28 -0
  689. package/dist/avm2/number-strings.d.ts.map +1 -0
  690. package/dist/avm2/number-strings.js +111 -0
  691. package/dist/avm2/number-strings.js.map +1 -0
  692. package/dist/avm2/numbers.d.ts +12 -0
  693. package/dist/avm2/numbers.d.ts.map +1 -0
  694. package/dist/avm2/numbers.js +559 -0
  695. package/dist/avm2/numbers.js.map +1 -0
  696. package/dist/avm2/options.d.ts +105 -0
  697. package/dist/avm2/options.d.ts.map +1 -0
  698. package/dist/avm2/options.js +17 -0
  699. package/dist/avm2/options.js.map +1 -0
  700. package/dist/avm2/player-messages.d.ts +3 -0
  701. package/dist/avm2/player-messages.d.ts.map +1 -0
  702. package/dist/avm2/player-messages.js +551 -0
  703. package/dist/avm2/player-messages.js.map +1 -0
  704. package/dist/avm2/property-cache.d.ts +61 -0
  705. package/dist/avm2/property-cache.d.ts.map +1 -0
  706. package/dist/avm2/property-cache.js +136 -0
  707. package/dist/avm2/property-cache.js.map +1 -0
  708. package/dist/avm2/runtime.d.ts +588 -0
  709. package/dist/avm2/runtime.d.ts.map +1 -0
  710. package/dist/avm2/runtime.js +2645 -0
  711. package/dist/avm2/runtime.js.map +1 -0
  712. package/dist/avm2/traits.d.ts +233 -0
  713. package/dist/avm2/traits.d.ts.map +1 -0
  714. package/dist/avm2/traits.js +510 -0
  715. package/dist/avm2/traits.js.map +1 -0
  716. package/dist/avm2/weak-keys.d.ts +25 -0
  717. package/dist/avm2/weak-keys.d.ts.map +1 -0
  718. package/dist/avm2/weak-keys.js +81 -0
  719. package/dist/avm2/weak-keys.js.map +1 -0
  720. package/dist/index.d.ts +8 -0
  721. package/dist/index.d.ts.map +1 -0
  722. package/dist/index.js +8 -0
  723. package/dist/index.js.map +1 -0
  724. package/package.json +43 -3
  725. package/src/avm1/activation.ts +114 -0
  726. package/src/avm1/case.ts +257 -0
  727. package/src/avm1/clips.ts +440 -0
  728. package/src/avm1/control.ts +339 -0
  729. package/src/avm1/errors.ts +60 -0
  730. package/src/avm1/functions.ts +271 -0
  731. package/src/avm1/globals/array.ts +676 -0
  732. package/src/avm1/globals/broadcaster.ts +185 -0
  733. package/src/avm1/globals/date.ts +548 -0
  734. package/src/avm1/globals/global.ts +420 -0
  735. package/src/avm1/globals/math.ts +152 -0
  736. package/src/avm1/globals/number.ts +122 -0
  737. package/src/avm1/globals/string.ts +254 -0
  738. package/src/avm1/globals/timers.ts +144 -0
  739. package/src/avm1/host.ts +155 -0
  740. package/src/avm1/index.ts +69 -0
  741. package/src/avm1/inheritance.ts +159 -0
  742. package/src/avm1/numbers.ts +348 -0
  743. package/src/avm1/objects.ts +1080 -0
  744. package/src/avm1/operators.ts +229 -0
  745. package/src/avm1/realm.ts +704 -0
  746. package/src/avm1/runtime.ts +1291 -0
  747. package/src/avm1/scope.ts +482 -0
  748. package/src/avm1/urls.ts +226 -0
  749. package/src/avm1/values.ts +145 -0
  750. package/src/avm2/amf-classes.ts +80 -0
  751. package/src/avm2/amf.ts +913 -0
  752. package/src/avm2/array-conversion.ts +117 -0
  753. package/src/avm2/builtin-library.ts +28 -0
  754. package/src/avm2/cache-fill.ts +124 -0
  755. package/src/avm2/classes.ts +235 -0
  756. package/src/avm2/definitions.ts +93 -0
  757. package/src/avm2/descriptors.ts +137 -0
  758. package/src/avm2/dictionary-keys.ts +345 -0
  759. package/src/avm2/domain-memory.ts +95 -0
  760. package/src/avm2/domain.ts +335 -0
  761. package/src/avm2/dynamic-properties.ts +209 -0
  762. package/src/avm2/enumeration.ts +506 -0
  763. package/src/avm2/errors.ts +54 -0
  764. package/src/avm2/float-library.ts +66 -0
  765. package/src/avm2/float.ts +31 -0
  766. package/src/avm2/hooks.ts +97 -0
  767. package/src/avm2/index.ts +84 -0
  768. package/src/avm2/messages.ts +178 -0
  769. package/src/avm2/method-factories.ts +130 -0
  770. package/src/avm2/modules.ts +120 -0
  771. package/src/avm2/names.ts +292 -0
  772. package/src/avm2/natives/aliases.ts +59 -0
  773. package/src/avm2/natives/array.ts +482 -0
  774. package/src/avm2/natives/bytearray.ts +1474 -0
  775. package/src/avm2/natives/case.ts +98 -0
  776. package/src/avm2/natives/concurrent.ts +268 -0
  777. package/src/avm2/natives/date.ts +678 -0
  778. package/src/avm2/natives/define.ts +176 -0
  779. package/src/avm2/natives/describe.ts +426 -0
  780. package/src/avm2/natives/dictionary.ts +18 -0
  781. package/src/avm2/natives/float-vector.ts +99 -0
  782. package/src/avm2/natives/float.ts +116 -0
  783. package/src/avm2/natives/index.ts +70 -0
  784. package/src/avm2/natives/json.ts +600 -0
  785. package/src/avm2/natives/number.ts +194 -0
  786. package/src/avm2/natives/object.ts +272 -0
  787. package/src/avm2/natives/proxy.ts +98 -0
  788. package/src/avm2/natives/regexp.ts +580 -0
  789. package/src/avm2/natives/shell-workers.ts +474 -0
  790. package/src/avm2/natives/shell.ts +707 -0
  791. package/src/avm2/natives/sort.ts +438 -0
  792. package/src/avm2/natives/string.ts +158 -0
  793. package/src/avm2/natives/sync.ts +964 -0
  794. package/src/avm2/natives/toplevel.ts +163 -0
  795. package/src/avm2/natives/vector-elements.ts +61 -0
  796. package/src/avm2/natives/vector.ts +511 -0
  797. package/src/avm2/natives/xml/access.ts +767 -0
  798. package/src/avm2/natives/xml/build.ts +381 -0
  799. package/src/avm2/natives/xml/chars.ts +127 -0
  800. package/src/avm2/natives/xml/escape.ts +46 -0
  801. package/src/avm2/natives/xml/names.ts +256 -0
  802. package/src/avm2/natives/xml/node.ts +339 -0
  803. package/src/avm2/natives/xml/operators.ts +90 -0
  804. package/src/avm2/natives/xml/parser.ts +414 -0
  805. package/src/avm2/natives/xml/strings.ts +241 -0
  806. package/src/avm2/natives/xml/values.ts +162 -0
  807. package/src/avm2/natives/xml/xml.ts +829 -0
  808. package/src/avm2/number-strings.ts +127 -0
  809. package/src/avm2/numbers.ts +605 -0
  810. package/src/avm2/options.ts +125 -0
  811. package/src/avm2/player-messages.ts +552 -0
  812. package/src/avm2/property-cache.ts +160 -0
  813. package/src/avm2/runtime.ts +3274 -0
  814. package/src/avm2/traits.ts +584 -0
  815. package/src/index.ts +8 -0
@@ -0,0 +1,212 @@
1
+ // Classes as OP_newclass makes them: a class object and its instances'
2
+ // traits from the module's descriptor, with its hooks, its prototype
3
+ // object and its methods bound to the scope chain it is made in; and the
4
+ // Vector.<T> classes applying Vector to a type makes.
5
+ import { firstDefinition } from "./domain.js";
6
+ import { installMethod } from "./method-factories.js";
7
+ import { formatClassName, NS_Public, qualifiedName } from "./names.js";
8
+ import { invalidate } from "./property-cache.js";
9
+ import { BIND_Set, boundKey, methodKey, Traits, VALUE_TESTS } from "./traits.js";
10
+ /**
11
+ * As OP_newclass: a class from its module's descriptor, extending `base`,
12
+ * its methods bound to the scope chain here. Object, Class and Function
13
+ * use the traits the runtime made for them before they existed.
14
+ */
15
+ export function newClass(rt, desc, base, scope) {
16
+ const error = desc.instance.error ?? desc.static.error;
17
+ if (error) {
18
+ throw rt.error("VerifyError", error);
19
+ }
20
+ const abc = desc.abc;
21
+ const name = abc.names[desc.name];
22
+ const qualified = qualifiedName(name);
23
+ // As MethodEnv::newclass: a class with a base needs one (#1009), and
24
+ // one whose traits are the base's it linked to, which avmplus finds as
25
+ // a type (#1108). Compared by definition, as avmplus compares traits: a
26
+ // class made twice is one class. Where the base is the class its name
27
+ // finds by name, but not the one it finds as a type, as for a child's
28
+ // class it found by name after its parent defined the name too,
29
+ // avmshell rejects the class sooner, as corrupt (#1107). Only a class
30
+ // that exists is compared: the check runs no script.
31
+ if (desc.base && (base === null || base === undefined)) {
32
+ throw rt.error("TypeError", 1009);
33
+ }
34
+ if (rt.children && base) {
35
+ const baseName = abc.names[desc.base];
36
+ const script = rt.findScript(baseName, true);
37
+ const expected = script?.global ? rt.getProperty(script.global, baseName) : undefined;
38
+ if (expected?.$it && expected.$desc !== base.$desc) {
39
+ const byName = rt.findScript(baseName);
40
+ const named = byName?.global ? rt.getProperty(byName.global, baseName) : undefined;
41
+ throw rt.error("VerifyError", named === base ? 1107 : 1108);
42
+ }
43
+ }
44
+ // A builtin or a player's class, whose hook and type tests are its own,
45
+ // is the first definition of its name, as avmplus' natives belong to
46
+ // their ABC; a top-level one is public. A class only named as one, as a
47
+ // file's own internal Boolean is, is a class like any other.
48
+ const ns = name.namespaces[0];
49
+ const own = (ns?.kind === NS_Public || !!ns?.uri) &&
50
+ firstDefinition(name.domain ?? rt.root, name)?.abc === abc;
51
+ const baseTraits = base ? base.$it : null;
52
+ let itraits;
53
+ if (own && qualified === "Object") {
54
+ itraits = rt.objectTraits;
55
+ }
56
+ else if (own && qualified === "Class") {
57
+ itraits = rt.classTraits;
58
+ }
59
+ else if (own && qualified === "Function") {
60
+ itraits = rt.functionTraits;
61
+ }
62
+ else {
63
+ itraits = new Traits(qualified, baseTraits);
64
+ itraits.testsValues = own && VALUE_TESTS.has(qualified);
65
+ }
66
+ itraits.describe(desc.instance);
67
+ const hooks = own ? rt.classHooks[qualified] : undefined;
68
+ itraits.hooks = hooks ?? null;
69
+ itraits.dynamic = !desc.sealed;
70
+ itraits.final = desc.final;
71
+ itraits.isInterface = desc.interface;
72
+ itraits.ctor = desc.ctor ?? null;
73
+ itraits.metadata = desc.meta ?? null;
74
+ itraits.refusesNames = !!hooks?.refusesNames;
75
+ // As ClassClosure::checkForRestrictedInheritance.
76
+ itraits.restricted = !!hooks?.restricted;
77
+ itraits.uninstantiable =
78
+ !!baseTraits &&
79
+ (baseTraits.uninstantiable || (baseTraits.restricted && baseTraits.abc !== abc));
80
+ itraits.abc = abc;
81
+ // A class's allocation, bound to the runtime; its subclasses inherit it.
82
+ const create = hooks?.create;
83
+ if (create) {
84
+ itraits.create = (traits) => create(traits, rt);
85
+ }
86
+ if (hooks?.properties) {
87
+ itraits.properties = hooks.properties;
88
+ }
89
+ if (hooks?.getIndex) {
90
+ itraits.getIndex = hooks.getIndex;
91
+ itraits.setIndex = hooks.setIndex;
92
+ itraits.hasIndex = hooks.hasIndex;
93
+ itraits.index = hooks.index;
94
+ }
95
+ for (const i of desc.interfaces) {
96
+ const mn = abc.names[i];
97
+ const iface = rt.resolveName(mn);
98
+ if (iface) {
99
+ itraits.interfaces.add(iface.$it);
100
+ for (const t of iface.$it.interfaces) {
101
+ itraits.interfaces.add(t);
102
+ }
103
+ }
104
+ else {
105
+ // Its script is the one running, and has not made it yet.
106
+ if (!itraits.pendingInterfaces) {
107
+ itraits.pendingInterfaces = [];
108
+ }
109
+ itraits.pendingInterfaces.push(() => rt.resolveName(mn)?.$it ?? null);
110
+ }
111
+ }
112
+ // The class object: Class's instance, with its own statics.
113
+ // Class is dynamic, so its instances are: String.fromCharCode = ... is legal.
114
+ const straits = new Traits(`${qualified}$`, rt.classTraits);
115
+ straits.dynamic = true;
116
+ straits.final = true;
117
+ straits.describe(desc.static);
118
+ const cls = straits.instance();
119
+ cls.$it = itraits;
120
+ cls.$desc = desc;
121
+ cls.$base = base;
122
+ itraits.cls = cls;
123
+ straits.cls = cls;
124
+ // Its prototype object: an Object whose prototype is the base class's.
125
+ // A class object's own $p comes from Class's instance prototype, which
126
+ // it inherits: class objects made before Class see it once Class exists.
127
+ // Date's, RegExp's and Array's are instances of their own class, as avmplus has them.
128
+ const prototype = hooks?.prototype ? hooks.prototype(rt, cls) : rt.objectTraits.instance();
129
+ prototype.$p = base ? base.$prototype : null;
130
+ cls.$prototype = prototype;
131
+ itraits.proto.$p = prototype;
132
+ prototype.$d.set("constructor", cls);
133
+ prototype.$dontEnum = new Set(["constructor"]);
134
+ const iscope = rt.scope(scope, [cls], 0);
135
+ for (const [d, factory, id, , params] of desc.static.methods) {
136
+ installMethod(rt, straits.methodHome(3), d, withId(factory(scope, base), id), factory, params);
137
+ }
138
+ for (const [d, factory, id, , params] of desc.instance.methods) {
139
+ installMethod(rt, itraits.methodHome(3), d, withId(factory(iscope, base), id), factory, params);
140
+ }
141
+ // Playerglobal can declare an accessor whose setter has no ABC body.
142
+ // Install it here so both direct bound calls and dynamic property writes reach it.
143
+ if (hooks?.setOnlySlots) {
144
+ for (const [name, slot] of Object.entries(hooks.setOnlySlots)) {
145
+ const binding = itraits.find(rt.publicName(name));
146
+ const d = (binding >> 3) + 1;
147
+ if ((binding & 7) === BIND_Set && itraits.proto[methodKey(d)] == null) {
148
+ const set = function (value) {
149
+ this[slot] = value;
150
+ };
151
+ itraits.proto[methodKey(d)] = set;
152
+ itraits.proto[boundKey(d)] = set;
153
+ }
154
+ }
155
+ }
156
+ // Calls through an interface read one name whatever the class; set
157
+ // here, before any instance exists, so that the prototype keeps its shape.
158
+ const aliases = desc.aliases;
159
+ if (aliases) {
160
+ const proto = itraits.proto;
161
+ for (let i = 0; i < aliases.length; i += 2) {
162
+ itraits.methodHome(1)[aliases[i]] = proto[boundKey(aliases[i + 1])];
163
+ }
164
+ }
165
+ // Caches keep the methods and what the hooks decide.
166
+ invalidate();
167
+ const init = desc.init(iscope, base);
168
+ itraits.proto.$init = init;
169
+ // Its entry for `new` and `super()` of the class where the compiler
170
+ // coerced the arguments, as for bound calls (installMethod).
171
+ itraits.proto.$binit = init.$bound ?? init;
172
+ // A class constructClass only allocates and initializes, which compiled
173
+ // code constructs itself (see the codegen's constructSlot).
174
+ cls.$new = !hooks?.construct && !desc.interface && !itraits.uninstantiable;
175
+ // Its static initializer may name the class as a type, as avmplus
176
+ // resolves from traits, before initproperty has stored it anywhere.
177
+ rt.defining.set(qualified, cls);
178
+ try {
179
+ desc.cinit(scope, base).call(cls);
180
+ }
181
+ finally {
182
+ rt.defining.delete(qualified);
183
+ }
184
+ hooks?.created?.(rt, cls);
185
+ return cls;
186
+ }
187
+ /**
188
+ * Vector.<T> for a T other than int, uint and Number: Vector$object's
189
+ * class, typed, whose name names T as avmplus does, a builtin Vector as
190
+ * Vector.<int>, and whose superclass is Vector.<*>, Vector$object.
191
+ */
192
+ export function specializeVector(rt, base, param) {
193
+ const itraits = new Traits(`__AS3__.vec::Vector.<${formatClassName(param.$it.name)}>`, base.$it);
194
+ itraits.dynamic = base.$it.dynamic;
195
+ itraits.refusesNames = base.$it.refusesNames;
196
+ itraits.hooks = base.$it.hooks;
197
+ const cls = Object.create(Object.getPrototypeOf(base));
198
+ cls.$d = null;
199
+ cls.$it = itraits;
200
+ cls.$desc = base.$desc;
201
+ cls.$base = base;
202
+ cls.$prototype = base.$prototype;
203
+ cls.$param = rt.refOf(param);
204
+ itraits.cls = cls;
205
+ return cls;
206
+ }
207
+ /** `f`, a method, with its method id, which a closure of it keeps. */
208
+ export function withId(f, id) {
209
+ f.$id = id;
210
+ return f;
211
+ }
212
+ //# sourceMappingURL=classes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classes.js","sourceRoot":"","sources":["../../src/avm2/classes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import type { Abc, AsObject, Value } from "./descriptors.js";
2
+ import type { Domain } from "./domain.js";
3
+ import type { Runtime } from "./runtime.js";
4
+ /**
5
+ * The class `qualified` names, "pkg::Name" or "Name", its defining script
6
+ * run; a ReferenceError if no script defines it. What a SWF's SymbolClass
7
+ * and a player's lookups by name go through, at every version.
8
+ */
9
+ export declare function classNamed(rt: Runtime, qualified: string, domain: Domain | null): AsObject;
10
+ /**
11
+ * The class `qualified` names in `domain` as code finds it, at user code's
12
+ * version, as avmshell's Domain.getClass does: a name of the other series'
13
+ * or the VM's own is a ReferenceError.
14
+ */
15
+ export declare function classNamedByCode(rt: Runtime, qualified: string, domain: Domain): AsObject;
16
+ /**
17
+ * What `qualified` names in `domain`, as Flash's
18
+ * ApplicationDomain.getDefinition finds it: a name no script defines is
19
+ * refused by its local name, and a script whose initializer threw runs
20
+ * again, its error coming through each time, where a name's lookup by
21
+ * code keeps it as run, as avmplus does. Seen at user code's version, as
22
+ * avmplus' public namespace is the caller's: a name of the other series'
23
+ * or the VM's own is not defined, as it is not to the code itself.
24
+ */
25
+ export declare function definitionNamed(rt: Runtime, qualified: string, domain: Domain): Value;
26
+ /** The module whose script defines `qualified` for `domain`, or null: by it a player keys what SymbolClass binds. */
27
+ export declare function definingAbc(rt: Runtime, qualified: string, domain: Domain): Abc | null;
28
+ //# sourceMappingURL=definitions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/avm2/definitions.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,QAAQ,CAE1F;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,CAEzF;AAwBD;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,CAQrF;AAED,qHAAqH;AACrH,wBAAgB,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI,CAEtF"}
@@ -0,0 +1,70 @@
1
+ // Definitions by qualified name, "pkg::Name" or "Name", as a host and
2
+ // ApplicationDomain look them up: a SWF's SymbolClass, a player's own
3
+ // classes, and getDefinition.
4
+ import { CONSTANT_Qname, Multiname, NS_Public, namespace, publicNs, qname } from "./names.js";
5
+ /**
6
+ * The class `qualified` names, "pkg::Name" or "Name", its defining script
7
+ * run; a ReferenceError if no script defines it. What a SWF's SymbolClass
8
+ * and a player's lookups by name go through, at every version.
9
+ */
10
+ export function classNamed(rt, qualified, domain) {
11
+ return classIn(rt, qualified, domain, (domain ?? rt.root).named, null);
12
+ }
13
+ /**
14
+ * The class `qualified` names in `domain` as code finds it, at user code's
15
+ * version, as avmshell's Domain.getClass does: a name of the other series'
16
+ * or the VM's own is a ReferenceError.
17
+ */
18
+ export function classNamedByCode(rt, qualified, domain) {
19
+ return classIn(rt, qualified, domain, domain.namedByCode, rt.userVersions);
20
+ }
21
+ /** The class `qualified` names, at `versions` or every version, kept in `named` once found. */
22
+ function classIn(rt, qualified, domain, named, versions) {
23
+ const known = named.get(qualified);
24
+ if (known) {
25
+ return known;
26
+ }
27
+ const cls = rt.resolveName(qualifiedNameIn(rt, qualified, domain, versions));
28
+ // A script still running its initializer may not have made the class yet.
29
+ if (cls) {
30
+ named.set(qualified, cls);
31
+ }
32
+ return cls;
33
+ }
34
+ /**
35
+ * What `qualified` names in `domain`, as Flash's
36
+ * ApplicationDomain.getDefinition finds it: a name no script defines is
37
+ * refused by its local name, and a script whose initializer threw runs
38
+ * again, its error coming through each time, where a name's lookup by
39
+ * code keeps it as run, as avmplus does. Seen at user code's version, as
40
+ * avmplus' public namespace is the caller's: a name of the other series'
41
+ * or the VM's own is not defined, as it is not to the code itself.
42
+ */
43
+ export function definitionNamed(rt, qualified, domain) {
44
+ const mn = qualifiedNameIn(rt, qualified, domain, rt.userVersions);
45
+ const script = rt.findScript(mn);
46
+ if (!script) {
47
+ throw rt.error("ReferenceError", 1065, mn.name);
48
+ }
49
+ return rt.getProperty(rt.initScript(script, true), mn);
50
+ }
51
+ /** The module whose script defines `qualified` for `domain`, or null: by it a player keys what SymbolClass binds. */
52
+ export function definingAbc(rt, qualified, domain) {
53
+ return rt.findScript(qualifiedNameIn(rt, qualified, domain, null))?.abc ?? null;
54
+ }
55
+ /**
56
+ * The public name "pkg::Name" or "Name" stands for, looked up in `domain`:
57
+ * at `versions`, user code's as code finds a name, or with null at every
58
+ * version, as the host reaches names.
59
+ */
60
+ function qualifiedNameIn(rt, qualified, domain, versions) {
61
+ const i = qualified.lastIndexOf("::");
62
+ const ns = i < 0 ? publicNs : namespace(NS_Public, qualified.slice(0, i));
63
+ const local = i < 0 ? qualified : qualified.slice(i + 2);
64
+ const mn = versions
65
+ ? new Multiname(CONSTANT_Qname, [ns], versions, local, false)
66
+ : qname(ns, local);
67
+ mn.domain = domain === rt.root ? null : domain;
68
+ return mn;
69
+ }
70
+ //# sourceMappingURL=definitions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/avm2/definitions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,118 @@
1
+ import type { Domain, Script } from "./domain.js";
2
+ import type { Multiname, Namespace, TypeName } from "./names.js";
3
+ import type { ClassRef, VectorRef } from "./traits.js";
4
+ export type Value = any;
5
+ export type AsObject = any;
6
+ export type Method = Function;
7
+ /** Not a property: distinct from undefined, which a property can hold. */
8
+ export declare const NOT_FOUND: unique symbol;
9
+ /** A scope chain: its objects, outermost first, and a bit per with scope in w. */
10
+ export type Scope = Value[] & {
11
+ w: number;
12
+ };
13
+ /** A method factory: the method's function, once its scope chain is known. */
14
+ export type Factory = (scope: Scope, sup: AsObject | null) => Method;
15
+ /** A reference to a type: null for *, a builtin's name, or a class by name. */
16
+ export type TypeRef = null | string | ClassRef | VectorRef;
17
+ /** A metadata entry as the ABC has it: its name, and its keys and values alternating, a key "" where it has none. */
18
+ export type Metadata = [string, string[]];
19
+ /** A method's signature: its return type, its parameter types, and how many of them are required. */
20
+ export type Signature = [TypeRef, TypeRef[], number];
21
+ export interface TraitsDesc {
22
+ /** The VerifyError resolving the traits gave, if they did not resolve. */
23
+ error?: number;
24
+ slots: number;
25
+ defaults: [number, Value, TypeRef][];
26
+ bindings: [Namespace, number, string, number][];
27
+ /** Each by dispatch id: its factory, its method id in its ABC, and its signature. */
28
+ methods: [number, Factory, number, TypeRef, TypeRef[], number][];
29
+ /**
30
+ * Its own traits' metadata: the trait's kind as the ABC has it, its slot
31
+ * id for a slot, its dispatch id for a method or an accessor pair (the
32
+ * setter's one past the getter's), and the entries.
33
+ */
34
+ meta?: [number, number, Metadata[]][];
35
+ /**
36
+ * What sets a new object's slots, the base's included, by name, highest
37
+ * first, when it has any: constants it writes itself, any other initial
38
+ * value from `values`, by slot.
39
+ */
40
+ fill?: SlotFill;
41
+ }
42
+ /** Sets the slots of a new object `o`; `values` holds their initial values by slot. */
43
+ export type SlotFill = (o: AsObject, values: Value[]) => void;
44
+ export interface ClassDesc {
45
+ name: number;
46
+ base: number;
47
+ interfaces: number[];
48
+ final: boolean;
49
+ interface: boolean;
50
+ sealed: boolean;
51
+ protectedNs: number;
52
+ instance: TraitsDesc;
53
+ static: TraitsDesc;
54
+ init: Factory;
55
+ cinit: Factory;
56
+ /** The constructor's parameter types and how many are required, when it has any. */
57
+ ctor?: [TypeRef[], number];
58
+ /** The class's own metadata, from the trait that defines it. */
59
+ meta?: Metadata[];
60
+ /**
61
+ * For each method of its interfaces that it does not inherit an alias
62
+ * of, the name calls through the interface use and the dispatch id of
63
+ * the class's method, flat: the prototype's alias of its entry for
64
+ * bound calls (newClass).
65
+ */
66
+ aliases?: (string | number)[];
67
+ /** The module, set when it loads. */
68
+ abc?: Abc;
69
+ }
70
+ export interface ScriptDesc {
71
+ traits: TraitsDesc;
72
+ init: Factory;
73
+ }
74
+ export interface AbcDesc {
75
+ /** The hash of the module's ABC, and of the ABCs loaded before it, in order, that it was compiled against. */
76
+ hash: string;
77
+ linked: string[];
78
+ names: (Multiname | TypeName | null)[];
79
+ classes: ClassDesc[];
80
+ scripts: ScriptDesc[];
81
+ activations: (TraitsDesc | null)[];
82
+ }
83
+ /** A loaded module: what `rt.abc` returns, and methods reach as A. */
84
+ export interface Abc extends AbcDesc {
85
+ scriptStates: Script[];
86
+ /** The domain it was loaded into, and its position among the ABCs loaded there. */
87
+ domain: Domain;
88
+ index: number;
89
+ }
90
+ /**
91
+ * What an ABC loaded into a domain compiles in: what the compiler needs to
92
+ * bind its names as the runtime will find them (see RuntimeOptions.compileAbc).
93
+ */
94
+ export interface CompileUnit {
95
+ /** The hashes of the ABCs it is compiled after, its domain's chain, as its module names them. */
96
+ linked: string[];
97
+ /** Its domain and the domain's ancestors, by number, from the domain up to the root, 0. */
98
+ domains: number[];
99
+ /**
100
+ * What the domain finds, by name or as a type, that is not the first
101
+ * definition from the root down, as its caches hold it.
102
+ */
103
+ found: FoundDefinition[];
104
+ }
105
+ /** A definition a domain finds (see CompileUnit.found). */
106
+ export interface FoundDefinition {
107
+ /** The name's namespace, by kind (NS_Public...) and URI, and the name. */
108
+ nsKind: number;
109
+ uri: string;
110
+ name: string;
111
+ /** The ABC that defines it: its domain's number, its position among the ABCs loaded there, and its hash. */
112
+ domain: number;
113
+ index: number;
114
+ hash: string;
115
+ /** Found as a type, as avmplus finds traits, else by name, as it finds scripts. */
116
+ asType: boolean;
117
+ }
118
+ //# sourceMappingURL=descriptors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"descriptors.d.ts","sourceRoot":"","sources":["../../src/avm2/descriptors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ // What a compiled module is built against: the values it handles, and the
2
+ // descriptors of its traits, classes and scripts it gives the runtime
3
+ // (docs/architecture/compiler.md, "Modules and the bootstrap").
4
+ /** Not a property: distinct from undefined, which a property can hold. */
5
+ export const NOT_FOUND = Symbol("not found");
6
+ //# sourceMappingURL=descriptors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"descriptors.js","sourceRoot":"","sources":["../../src/avm2/descriptors.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,sEAAsE;AACtE,gEAAgE;AAahE,0EAA0E;AAC1E,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC"}
@@ -0,0 +1,73 @@
1
+ import type { AsObject, Value } from "./descriptors.js";
2
+ /** What valueAt gives where a dynamic property's name is, whose value is the property's. */
3
+ export declare const NAMED: unique symbol;
4
+ /**
5
+ * As avmplus' hashtable, a name keeps its slot while it is there, so that a
6
+ * for-in started inside another never moves the outer one's names. One
7
+ * deleted stays in its slot, which a for-in passes over, until a for-in next
8
+ * starts: then its slot is free, and the names added since take the free
9
+ * slots, the Dictionary's dynamic properties first, then its keys in the
10
+ * order they were added; only with none free does the list grow. So a for-in
11
+ * goes through neither a name added during it nor one deleted before it gets
12
+ * there, and goes through each other once.
13
+ */
14
+ export declare class DictionaryKeys {
15
+ readonly weak: boolean;
16
+ /**
17
+ * Each key's entry. One deleted before it had a slot stays, GONE, so that
18
+ * the key set again takes it back: deleting and setting a key over and
19
+ * over between for-ins makes nothing. A strong key deleted so stays alive
20
+ * until a for-in starts or `added` is settled, which keeps that bounded by
21
+ * twice the keys there, and 64.
22
+ */
23
+ private readonly map;
24
+ /** Each slot: a key's entry, a dynamic property's name, or null where free. */
25
+ private readonly slots;
26
+ /** The entries added since a for-in last started, which take slots when one next does. */
27
+ private added;
28
+ /** The count of those at which the ones deleted or collected are dropped, so none pile up. */
29
+ private addedLimit;
30
+ /** The entries with slots deleted since a for-in last started, freed when one next does. */
31
+ private readonly deleted;
32
+ /** The slots of keys collected that a for-in has come across since one last started. */
33
+ private readonly collected;
34
+ /** Entries no longer used, to hold keys added later; trimmed when a for-in starts. */
35
+ private readonly spare;
36
+ /** The slot of each dynamic property's name. */
37
+ private named;
38
+ constructor(weak: boolean);
39
+ get(key: object): Value;
40
+ has(key: object): boolean;
41
+ set(key: object, value: Value): this;
42
+ /**
43
+ * Sets the value of a key that has an entry, there or deleted, and says
44
+ * whether it had one; set's first half, so that a caller can look at a
45
+ * key before it is added.
46
+ */
47
+ replace(key: object, value: Value): boolean;
48
+ /** Adds a key that has no entry (replace said so). */
49
+ add(key: object, value: Value): void;
50
+ delete(key: object): boolean;
51
+ /** The keys there now: those with slots, in their slots' order, then those added since. */
52
+ keys(): IterableIterator<object>;
53
+ [Symbol.iterator](): IterableIterator<[object, Value]>;
54
+ get size(): number;
55
+ /**
56
+ * The index after `index` of a name of Dictionary `o` there now, or 0. A
57
+ * for-in's start (index 0) first frees the slots of names gone and gives
58
+ * those added theirs.
59
+ */
60
+ next(o: AsObject, index: number): number;
61
+ /** The name at a for-in's index: a key, a dynamic property's name, or "" once a key is gone. */
62
+ nameAt(index: number): object | string;
63
+ /** The value at a for-in's index: a key's, undefined once it is gone, or NAMED. */
64
+ valueAt(index: number): Value;
65
+ /** The entry a slot or `added` holds, or undefined once its key is collected. */
66
+ private open;
67
+ private hold;
68
+ private entries;
69
+ /** Those of `added` still there; the others are let go, their keys with them. */
70
+ private settle;
71
+ private start;
72
+ }
73
+ //# sourceMappingURL=dictionary-keys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dictionary-keys.d.ts","sourceRoot":"","sources":["../../src/avm2/dictionary-keys.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAKxD,4FAA4F;AAC5F,eAAO,MAAM,KAAK,eAAkB,CAAC;AAwBrC;;;;;;;;;GASG;AACH,qBAAa,cAAc;IACzB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA8C;IAClE,+EAA+E;IAC/E,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;IACtD,0FAA0F;IAC1F,OAAO,CAAC,KAAK,CAAc;IAC3B,8FAA8F;IAC9F,OAAO,CAAC,UAAU,CAAM;IACxB,4FAA4F;IAC5F,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,wFAAwF;IACxF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgB;IAC1C,sFAAsF;IACtF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,gDAAgD;IAChD,OAAO,CAAC,KAAK,CAAoC;IAEjD,YAAY,IAAI,EAAE,OAAO,EAGxB;IAED,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAGtB;IAED,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAGxB;IAED,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAMnC;IAED;;;;OAIG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAQ1C;IAED,sDAAsD;IACtD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAUnC;IAED,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAc3B;IAED,2FAA2F;IAC1F,IAAI,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAIhC;IAEA,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAItD;IAED,IAAI,IAAI,IAAI,MAAM,CAOjB;IAED;;;;OAIG;IACH,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CA8BvC;IAED,gGAAgG;IAChG,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAOrC;IAED,mFAAmF;IACnF,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAY5B;IAED,iFAAiF;IACjF,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAE,OAAO;IAiBhB,iFAAiF;IACjF,OAAO,CAAC,MAAM;IAsBd,OAAO,CAAC,KAAK;CAsEd"}