@swf2es/runtime 0.0.0-stage → 0.1.1

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 (459) 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-library.d.ts +2 -0
  117. package/dist/avm2/builtin-library.d.ts.map +1 -0
  118. package/dist/avm2/builtin-library.js +22 -0
  119. package/dist/avm2/builtin-library.js.map +1 -0
  120. package/dist/avm2/cache-fill.d.ts +14 -0
  121. package/dist/avm2/cache-fill.d.ts.map +1 -0
  122. package/dist/avm2/cache-fill.js +87 -0
  123. package/dist/avm2/cache-fill.js.map +1 -0
  124. package/dist/avm2/classes.d.ts +17 -0
  125. package/dist/avm2/classes.d.ts.map +1 -0
  126. package/dist/avm2/classes.js +212 -0
  127. package/dist/avm2/classes.js.map +1 -0
  128. package/dist/avm2/definitions.d.ts +28 -0
  129. package/dist/avm2/definitions.d.ts.map +1 -0
  130. package/dist/avm2/definitions.js +70 -0
  131. package/dist/avm2/definitions.js.map +1 -0
  132. package/dist/avm2/descriptors.d.ts +118 -0
  133. package/dist/avm2/descriptors.d.ts.map +1 -0
  134. package/dist/avm2/descriptors.js +6 -0
  135. package/dist/avm2/descriptors.js.map +1 -0
  136. package/dist/avm2/dictionary-keys.d.ts +73 -0
  137. package/dist/avm2/dictionary-keys.d.ts.map +1 -0
  138. package/dist/avm2/dictionary-keys.js +296 -0
  139. package/dist/avm2/dictionary-keys.js.map +1 -0
  140. package/dist/avm2/domain-memory.d.ts +23 -0
  141. package/dist/avm2/domain-memory.d.ts.map +1 -0
  142. package/dist/avm2/domain-memory.js +76 -0
  143. package/dist/avm2/domain-memory.js.map +1 -0
  144. package/dist/avm2/domain.d.ts +108 -0
  145. package/dist/avm2/domain.d.ts.map +1 -0
  146. package/dist/avm2/domain.js +281 -0
  147. package/dist/avm2/domain.js.map +1 -0
  148. package/dist/avm2/dynamic-properties.d.ts +62 -0
  149. package/dist/avm2/dynamic-properties.d.ts.map +1 -0
  150. package/dist/avm2/dynamic-properties.js +183 -0
  151. package/dist/avm2/dynamic-properties.js.map +1 -0
  152. package/dist/avm2/enumeration.d.ts +75 -0
  153. package/dist/avm2/enumeration.d.ts.map +1 -0
  154. package/dist/avm2/enumeration.js +394 -0
  155. package/dist/avm2/enumeration.js.map +1 -0
  156. package/dist/avm2/errors.d.ts +20 -0
  157. package/dist/avm2/errors.d.ts.map +1 -0
  158. package/dist/avm2/errors.js +46 -0
  159. package/dist/avm2/errors.js.map +1 -0
  160. package/dist/avm2/float-library.d.ts +2 -0
  161. package/dist/avm2/float-library.d.ts.map +1 -0
  162. package/dist/avm2/float-library.js +67 -0
  163. package/dist/avm2/float-library.js.map +1 -0
  164. package/dist/avm2/float.d.ts +9 -0
  165. package/dist/avm2/float.d.ts.map +1 -0
  166. package/dist/avm2/float.js +27 -0
  167. package/dist/avm2/float.js.map +1 -0
  168. package/dist/avm2/hooks.d.ts +77 -0
  169. package/dist/avm2/hooks.d.ts.map +1 -0
  170. package/dist/avm2/hooks.js +20 -0
  171. package/dist/avm2/hooks.js.map +1 -0
  172. package/dist/avm2/index.d.ts +32 -0
  173. package/dist/avm2/index.d.ts.map +1 -0
  174. package/dist/avm2/index.js +39 -0
  175. package/dist/avm2/index.js.map +1 -0
  176. package/dist/avm2/messages.d.ts +2 -0
  177. package/dist/avm2/messages.d.ts.map +1 -0
  178. package/dist/avm2/messages.js +178 -0
  179. package/dist/avm2/messages.js.map +1 -0
  180. package/dist/avm2/method-factories.d.ts +35 -0
  181. package/dist/avm2/method-factories.d.ts.map +1 -0
  182. package/dist/avm2/method-factories.js +96 -0
  183. package/dist/avm2/method-factories.js.map +1 -0
  184. package/dist/avm2/modules.d.ts +40 -0
  185. package/dist/avm2/modules.d.ts.map +1 -0
  186. package/dist/avm2/modules.js +106 -0
  187. package/dist/avm2/modules.js.map +1 -0
  188. package/dist/avm2/names.d.ts +143 -0
  189. package/dist/avm2/names.d.ts.map +1 -0
  190. package/dist/avm2/names.js +249 -0
  191. package/dist/avm2/names.js.map +1 -0
  192. package/dist/avm2/natives/aliases.d.ts +3 -0
  193. package/dist/avm2/natives/aliases.d.ts.map +1 -0
  194. package/dist/avm2/natives/aliases.js +48 -0
  195. package/dist/avm2/natives/aliases.js.map +1 -0
  196. package/dist/avm2/natives/array.d.ts +5 -0
  197. package/dist/avm2/natives/array.d.ts.map +1 -0
  198. package/dist/avm2/natives/array.js +391 -0
  199. package/dist/avm2/natives/array.js.map +1 -0
  200. package/dist/avm2/natives/bytearray.d.ts +180 -0
  201. package/dist/avm2/natives/bytearray.d.ts.map +1 -0
  202. package/dist/avm2/natives/bytearray.js +1228 -0
  203. package/dist/avm2/natives/bytearray.js.map +1 -0
  204. package/dist/avm2/natives/case.d.ts +5 -0
  205. package/dist/avm2/natives/case.d.ts.map +1 -0
  206. package/dist/avm2/natives/case.js +89 -0
  207. package/dist/avm2/natives/case.js.map +1 -0
  208. package/dist/avm2/natives/concurrent.d.ts +24 -0
  209. package/dist/avm2/natives/concurrent.d.ts.map +1 -0
  210. package/dist/avm2/natives/concurrent.js +200 -0
  211. package/dist/avm2/natives/concurrent.js.map +1 -0
  212. package/dist/avm2/natives/date.d.ts +5 -0
  213. package/dist/avm2/natives/date.d.ts.map +1 -0
  214. package/dist/avm2/natives/date.js +582 -0
  215. package/dist/avm2/natives/date.js.map +1 -0
  216. package/dist/avm2/natives/define.d.ts +58 -0
  217. package/dist/avm2/natives/define.d.ts.map +1 -0
  218. package/dist/avm2/natives/define.js +131 -0
  219. package/dist/avm2/natives/define.js.map +1 -0
  220. package/dist/avm2/natives/describe.d.ts +3 -0
  221. package/dist/avm2/natives/describe.d.ts.map +1 -0
  222. package/dist/avm2/natives/describe.js +352 -0
  223. package/dist/avm2/natives/describe.js.map +1 -0
  224. package/dist/avm2/natives/dictionary.d.ts +3 -0
  225. package/dist/avm2/natives/dictionary.d.ts.map +1 -0
  226. package/dist/avm2/natives/dictionary.js +13 -0
  227. package/dist/avm2/natives/dictionary.js.map +1 -0
  228. package/dist/avm2/natives/float-vector.d.ts +20 -0
  229. package/dist/avm2/natives/float-vector.d.ts.map +1 -0
  230. package/dist/avm2/natives/float-vector.js +82 -0
  231. package/dist/avm2/natives/float-vector.js.map +1 -0
  232. package/dist/avm2/natives/float.d.ts +5 -0
  233. package/dist/avm2/natives/float.d.ts.map +1 -0
  234. package/dist/avm2/natives/float.js +97 -0
  235. package/dist/avm2/natives/float.js.map +1 -0
  236. package/dist/avm2/natives/index.d.ts +7 -0
  237. package/dist/avm2/natives/index.d.ts.map +1 -0
  238. package/dist/avm2/natives/index.js +65 -0
  239. package/dist/avm2/natives/index.js.map +1 -0
  240. package/dist/avm2/natives/json.d.ts +3 -0
  241. package/dist/avm2/natives/json.d.ts.map +1 -0
  242. package/dist/avm2/natives/json.js +515 -0
  243. package/dist/avm2/natives/json.js.map +1 -0
  244. package/dist/avm2/natives/number.d.ts +15 -0
  245. package/dist/avm2/natives/number.d.ts.map +1 -0
  246. package/dist/avm2/natives/number.js +163 -0
  247. package/dist/avm2/natives/number.js.map +1 -0
  248. package/dist/avm2/natives/object.d.ts +8 -0
  249. package/dist/avm2/natives/object.d.ts.map +1 -0
  250. package/dist/avm2/natives/object.js +238 -0
  251. package/dist/avm2/natives/object.js.map +1 -0
  252. package/dist/avm2/natives/proxy.d.ts +5 -0
  253. package/dist/avm2/natives/proxy.d.ts.map +1 -0
  254. package/dist/avm2/natives/proxy.js +76 -0
  255. package/dist/avm2/natives/proxy.js.map +1 -0
  256. package/dist/avm2/natives/regexp.d.ts +21 -0
  257. package/dist/avm2/natives/regexp.d.ts.map +1 -0
  258. package/dist/avm2/natives/regexp.js +486 -0
  259. package/dist/avm2/natives/regexp.js.map +1 -0
  260. package/dist/avm2/natives/shell-workers.d.ts +140 -0
  261. package/dist/avm2/natives/shell-workers.d.ts.map +1 -0
  262. package/dist/avm2/natives/shell-workers.js +405 -0
  263. package/dist/avm2/natives/shell-workers.js.map +1 -0
  264. package/dist/avm2/natives/shell.d.ts +12 -0
  265. package/dist/avm2/natives/shell.d.ts.map +1 -0
  266. package/dist/avm2/natives/shell.js +558 -0
  267. package/dist/avm2/natives/shell.js.map +1 -0
  268. package/dist/avm2/natives/sort.d.ts +7 -0
  269. package/dist/avm2/natives/sort.d.ts.map +1 -0
  270. package/dist/avm2/natives/sort.js +378 -0
  271. package/dist/avm2/natives/sort.js.map +1 -0
  272. package/dist/avm2/natives/string.d.ts +5 -0
  273. package/dist/avm2/natives/string.d.ts.map +1 -0
  274. package/dist/avm2/natives/string.js +133 -0
  275. package/dist/avm2/natives/string.js.map +1 -0
  276. package/dist/avm2/natives/sync.d.ts +215 -0
  277. package/dist/avm2/natives/sync.d.ts.map +1 -0
  278. package/dist/avm2/natives/sync.js +822 -0
  279. package/dist/avm2/natives/sync.js.map +1 -0
  280. package/dist/avm2/natives/toplevel.d.ts +5 -0
  281. package/dist/avm2/natives/toplevel.d.ts.map +1 -0
  282. package/dist/avm2/natives/toplevel.js +140 -0
  283. package/dist/avm2/natives/toplevel.js.map +1 -0
  284. package/dist/avm2/natives/vector-elements.d.ts +10 -0
  285. package/dist/avm2/natives/vector-elements.d.ts.map +1 -0
  286. package/dist/avm2/natives/vector-elements.js +47 -0
  287. package/dist/avm2/natives/vector-elements.js.map +1 -0
  288. package/dist/avm2/natives/vector.d.ts +5 -0
  289. package/dist/avm2/natives/vector.d.ts.map +1 -0
  290. package/dist/avm2/natives/vector.js +407 -0
  291. package/dist/avm2/natives/vector.js.map +1 -0
  292. package/dist/avm2/natives/xml/access.d.ts +34 -0
  293. package/dist/avm2/natives/xml/access.d.ts.map +1 -0
  294. package/dist/avm2/natives/xml/access.js +634 -0
  295. package/dist/avm2/natives/xml/access.js.map +1 -0
  296. package/dist/avm2/natives/xml/build.d.ts +11 -0
  297. package/dist/avm2/natives/xml/build.d.ts.map +1 -0
  298. package/dist/avm2/natives/xml/build.js +292 -0
  299. package/dist/avm2/natives/xml/build.js.map +1 -0
  300. package/dist/avm2/natives/xml/chars.d.ts +9 -0
  301. package/dist/avm2/natives/xml/chars.d.ts.map +1 -0
  302. package/dist/avm2/natives/xml/chars.js +113 -0
  303. package/dist/avm2/natives/xml/chars.js.map +1 -0
  304. package/dist/avm2/natives/xml/escape.d.ts +5 -0
  305. package/dist/avm2/natives/xml/escape.d.ts.map +1 -0
  306. package/dist/avm2/natives/xml/escape.js +39 -0
  307. package/dist/avm2/natives/xml/escape.js.map +1 -0
  308. package/dist/avm2/natives/xml/names.d.ts +46 -0
  309. package/dist/avm2/natives/xml/names.d.ts.map +1 -0
  310. package/dist/avm2/natives/xml/names.js +205 -0
  311. package/dist/avm2/natives/xml/names.js.map +1 -0
  312. package/dist/avm2/natives/xml/node.d.ts +94 -0
  313. package/dist/avm2/natives/xml/node.d.ts.map +1 -0
  314. package/dist/avm2/natives/xml/node.js +273 -0
  315. package/dist/avm2/natives/xml/node.js.map +1 -0
  316. package/dist/avm2/natives/xml/operators.d.ts +7 -0
  317. package/dist/avm2/natives/xml/operators.d.ts.map +1 -0
  318. package/dist/avm2/natives/xml/operators.js +70 -0
  319. package/dist/avm2/natives/xml/operators.js.map +1 -0
  320. package/dist/avm2/natives/xml/parser.d.ts +51 -0
  321. package/dist/avm2/natives/xml/parser.d.ts.map +1 -0
  322. package/dist/avm2/natives/xml/parser.js +357 -0
  323. package/dist/avm2/natives/xml/parser.js.map +1 -0
  324. package/dist/avm2/natives/xml/strings.d.ts +10 -0
  325. package/dist/avm2/natives/xml/strings.d.ts.map +1 -0
  326. package/dist/avm2/natives/xml/strings.js +192 -0
  327. package/dist/avm2/natives/xml/strings.js.map +1 -0
  328. package/dist/avm2/natives/xml/values.d.ts +48 -0
  329. package/dist/avm2/natives/xml/values.d.ts.map +1 -0
  330. package/dist/avm2/natives/xml/values.js +123 -0
  331. package/dist/avm2/natives/xml/values.js.map +1 -0
  332. package/dist/avm2/natives/xml/xml.d.ts +5 -0
  333. package/dist/avm2/natives/xml/xml.d.ts.map +1 -0
  334. package/dist/avm2/natives/xml/xml.js +646 -0
  335. package/dist/avm2/natives/xml/xml.js.map +1 -0
  336. package/dist/avm2/number-strings.d.ts +28 -0
  337. package/dist/avm2/number-strings.d.ts.map +1 -0
  338. package/dist/avm2/number-strings.js +111 -0
  339. package/dist/avm2/number-strings.js.map +1 -0
  340. package/dist/avm2/numbers.d.ts +12 -0
  341. package/dist/avm2/numbers.d.ts.map +1 -0
  342. package/dist/avm2/numbers.js +559 -0
  343. package/dist/avm2/numbers.js.map +1 -0
  344. package/dist/avm2/options.d.ts +105 -0
  345. package/dist/avm2/options.d.ts.map +1 -0
  346. package/dist/avm2/options.js +17 -0
  347. package/dist/avm2/options.js.map +1 -0
  348. package/dist/avm2/player-messages.d.ts +3 -0
  349. package/dist/avm2/player-messages.d.ts.map +1 -0
  350. package/dist/avm2/player-messages.js +551 -0
  351. package/dist/avm2/player-messages.js.map +1 -0
  352. package/dist/avm2/property-cache.d.ts +61 -0
  353. package/dist/avm2/property-cache.d.ts.map +1 -0
  354. package/dist/avm2/property-cache.js +136 -0
  355. package/dist/avm2/property-cache.js.map +1 -0
  356. package/dist/avm2/runtime.d.ts +588 -0
  357. package/dist/avm2/runtime.d.ts.map +1 -0
  358. package/dist/avm2/runtime.js +2645 -0
  359. package/dist/avm2/runtime.js.map +1 -0
  360. package/dist/avm2/traits.d.ts +233 -0
  361. package/dist/avm2/traits.d.ts.map +1 -0
  362. package/dist/avm2/traits.js +510 -0
  363. package/dist/avm2/traits.js.map +1 -0
  364. package/dist/index.d.ts +8 -0
  365. package/dist/index.d.ts.map +1 -0
  366. package/dist/index.js +8 -0
  367. package/dist/index.js.map +1 -0
  368. package/package.json +43 -3
  369. package/src/avm1/activation.ts +114 -0
  370. package/src/avm1/case.ts +257 -0
  371. package/src/avm1/clips.ts +440 -0
  372. package/src/avm1/control.ts +339 -0
  373. package/src/avm1/errors.ts +60 -0
  374. package/src/avm1/functions.ts +271 -0
  375. package/src/avm1/globals/array.ts +676 -0
  376. package/src/avm1/globals/broadcaster.ts +185 -0
  377. package/src/avm1/globals/date.ts +548 -0
  378. package/src/avm1/globals/global.ts +420 -0
  379. package/src/avm1/globals/math.ts +152 -0
  380. package/src/avm1/globals/number.ts +122 -0
  381. package/src/avm1/globals/string.ts +254 -0
  382. package/src/avm1/globals/timers.ts +144 -0
  383. package/src/avm1/host.ts +155 -0
  384. package/src/avm1/index.ts +69 -0
  385. package/src/avm1/inheritance.ts +159 -0
  386. package/src/avm1/numbers.ts +348 -0
  387. package/src/avm1/objects.ts +1080 -0
  388. package/src/avm1/operators.ts +229 -0
  389. package/src/avm1/realm.ts +704 -0
  390. package/src/avm1/runtime.ts +1291 -0
  391. package/src/avm1/scope.ts +482 -0
  392. package/src/avm1/urls.ts +226 -0
  393. package/src/avm1/values.ts +145 -0
  394. package/src/avm2/amf-classes.ts +80 -0
  395. package/src/avm2/amf.ts +913 -0
  396. package/src/avm2/array-conversion.ts +117 -0
  397. package/src/avm2/builtin-library.ts +28 -0
  398. package/src/avm2/cache-fill.ts +124 -0
  399. package/src/avm2/classes.ts +235 -0
  400. package/src/avm2/definitions.ts +93 -0
  401. package/src/avm2/descriptors.ts +137 -0
  402. package/src/avm2/dictionary-keys.ts +345 -0
  403. package/src/avm2/domain-memory.ts +95 -0
  404. package/src/avm2/domain.ts +335 -0
  405. package/src/avm2/dynamic-properties.ts +209 -0
  406. package/src/avm2/enumeration.ts +506 -0
  407. package/src/avm2/errors.ts +54 -0
  408. package/src/avm2/float-library.ts +66 -0
  409. package/src/avm2/float.ts +31 -0
  410. package/src/avm2/hooks.ts +97 -0
  411. package/src/avm2/index.ts +84 -0
  412. package/src/avm2/messages.ts +178 -0
  413. package/src/avm2/method-factories.ts +130 -0
  414. package/src/avm2/modules.ts +120 -0
  415. package/src/avm2/names.ts +292 -0
  416. package/src/avm2/natives/aliases.ts +59 -0
  417. package/src/avm2/natives/array.ts +482 -0
  418. package/src/avm2/natives/bytearray.ts +1474 -0
  419. package/src/avm2/natives/case.ts +98 -0
  420. package/src/avm2/natives/concurrent.ts +268 -0
  421. package/src/avm2/natives/date.ts +678 -0
  422. package/src/avm2/natives/define.ts +176 -0
  423. package/src/avm2/natives/describe.ts +426 -0
  424. package/src/avm2/natives/dictionary.ts +18 -0
  425. package/src/avm2/natives/float-vector.ts +99 -0
  426. package/src/avm2/natives/float.ts +116 -0
  427. package/src/avm2/natives/index.ts +70 -0
  428. package/src/avm2/natives/json.ts +600 -0
  429. package/src/avm2/natives/number.ts +194 -0
  430. package/src/avm2/natives/object.ts +272 -0
  431. package/src/avm2/natives/proxy.ts +98 -0
  432. package/src/avm2/natives/regexp.ts +580 -0
  433. package/src/avm2/natives/shell-workers.ts +474 -0
  434. package/src/avm2/natives/shell.ts +707 -0
  435. package/src/avm2/natives/sort.ts +438 -0
  436. package/src/avm2/natives/string.ts +158 -0
  437. package/src/avm2/natives/sync.ts +964 -0
  438. package/src/avm2/natives/toplevel.ts +163 -0
  439. package/src/avm2/natives/vector-elements.ts +61 -0
  440. package/src/avm2/natives/vector.ts +511 -0
  441. package/src/avm2/natives/xml/access.ts +767 -0
  442. package/src/avm2/natives/xml/build.ts +381 -0
  443. package/src/avm2/natives/xml/chars.ts +127 -0
  444. package/src/avm2/natives/xml/escape.ts +46 -0
  445. package/src/avm2/natives/xml/names.ts +256 -0
  446. package/src/avm2/natives/xml/node.ts +339 -0
  447. package/src/avm2/natives/xml/operators.ts +90 -0
  448. package/src/avm2/natives/xml/parser.ts +414 -0
  449. package/src/avm2/natives/xml/strings.ts +241 -0
  450. package/src/avm2/natives/xml/values.ts +162 -0
  451. package/src/avm2/natives/xml/xml.ts +829 -0
  452. package/src/avm2/number-strings.ts +127 -0
  453. package/src/avm2/numbers.ts +605 -0
  454. package/src/avm2/options.ts +125 -0
  455. package/src/avm2/player-messages.ts +552 -0
  456. package/src/avm2/property-cache.ts +160 -0
  457. package/src/avm2/runtime.ts +3274 -0
  458. package/src/avm2/traits.ts +584 -0
  459. package/src/index.ts +8 -0
@@ -0,0 +1,294 @@
1
+ import { Activation, type Blocks, type Region, type Units } from "./activation.js";
2
+ import { Avm1Throw, Disabled, Halt, NotYet, TimedOut } from "./errors.js";
3
+ import type { Host, Target } from "./host.js";
4
+ import { Avm1Object } from "./objects.js";
5
+ import { Realm } from "./realm.js";
6
+ import { type Value } from "./values.js";
7
+ export { Activation, Avm1Throw, type Blocks, Disabled, Halt, NotYet, type Region, TimedOut, type Units, };
8
+ /** A module's default export. */
9
+ export type Factory = (rt: Runtime) => Blocks;
10
+ /**
11
+ * The operations of a version, `V`: the module's code calls these, never
12
+ * testing its version. A binary action's operands come as the code pops
13
+ * them, the top of the stack, `a`, first: `Subtract` is `b - a`.
14
+ */
15
+ export interface Operations {
16
+ readonly version: number;
17
+ /** ConstantPool: the activation's pool from here on, which a frame's later blocks start with. */
18
+ constantPool(cx: Activation, pool: Value[]): void;
19
+ trace(cx: Activation, value: Value): void;
20
+ toBoolean(value: Value): boolean;
21
+ /** ToString, and how every action that takes a string converts a value. */
22
+ toString(value: Value): string;
23
+ /** ToNumber, and how every arithmetic action converts a value. */
24
+ toNumber(value: Value): number;
25
+ /** ToInteger: ToInt32 of the number. */
26
+ toInteger(value: Value): number;
27
+ typeOf(value: Value): string;
28
+ /** SWF 4's Add: numbers, whatever the operands. */
29
+ add(a: Value, b: Value): number;
30
+ add2(a: Value, b: Value): Value;
31
+ subtract(a: Value, b: Value): number;
32
+ multiply(a: Value, b: Value): number;
33
+ /** "#ERROR#" for a division by zero up to SWF 4. */
34
+ divide(a: Value, b: Value): Value;
35
+ modulo(a: Value, b: Value): number;
36
+ increment(a: Value): number;
37
+ decrement(a: Value): number;
38
+ /** SWF 4's Equals: as numbers. */
39
+ equals(a: Value, b: Value): boolean;
40
+ equals2(a: Value, b: Value): boolean;
41
+ strictEquals(a: Value, b: Value): boolean;
42
+ /** SWF 4's Less: as numbers, false for NaN. */
43
+ less(a: Value, b: Value): boolean;
44
+ /** `b < a`: undefined where a number is NaN. */
45
+ less2(a: Value, b: Value): boolean | undefined;
46
+ /** `b > a`: undefined where a number is NaN. */
47
+ greater(a: Value, b: Value): boolean | undefined;
48
+ and(a: Value, b: Value): boolean;
49
+ or(a: Value, b: Value): boolean;
50
+ not(a: Value): boolean;
51
+ bitAnd(a: Value, b: Value): number;
52
+ bitOr(a: Value, b: Value): number;
53
+ bitXor(a: Value, b: Value): number;
54
+ bitLShift(a: Value, b: Value): number;
55
+ bitRShift(a: Value, b: Value): number;
56
+ /** Unsigned, but signed in SWF 8 and 9. */
57
+ bitURShift(a: Value, b: Value): number;
58
+ stringAdd(a: Value, b: Value): string;
59
+ stringEquals(a: Value, b: Value): boolean;
60
+ stringLess(a: Value, b: Value): boolean;
61
+ stringGreater(a: Value, b: Value): boolean;
62
+ stringLength(a: Value): number;
63
+ mbStringLength(a: Value): number;
64
+ /** StringExtract: `count` characters of `s` from the 1-based `index`. */
65
+ stringExtract(count: Value, index: Value, s: Value): string;
66
+ mbStringExtract(count: Value, index: Value, s: Value): string;
67
+ charToAscii(a: Value): number;
68
+ asciiToChar(a: Value): string;
69
+ mbCharToAscii(a: Value): number;
70
+ mbAsciiToChar(a: Value): string;
71
+ /** GetVariable of `name`, a path or not. */
72
+ getVariable(cx: Activation, name: Value): Value;
73
+ setVariable(cx: Activation, value: Value, name: Value): void;
74
+ defineLocal(cx: Activation, value: Value, name: Value): void;
75
+ defineLocal2(cx: Activation, name: Value): void;
76
+ /** `object[name]`. */
77
+ getMember(cx: Activation, name: Value, object: Value): Value;
78
+ setMember(cx: Activation, value: Value, name: Value, object: Value): void;
79
+ /** Delete: whether `object[name]` went. */
80
+ deleteMember(cx: Activation, name: Value, object: Value): boolean;
81
+ /** Delete2: whether the variable went. */
82
+ deleteVariable(cx: Activation, name: Value): boolean;
83
+ /** InitObject and InitArray, which pop their counts and their values themselves. */
84
+ initObject(cx: Activation): void;
85
+ initArray(cx: Activation): void;
86
+ /** Enumerate: a terminator, then the names of the variable's object, the first to visit on top. */
87
+ enumerate(cx: Activation, name: Value): void;
88
+ enumerate2(cx: Activation, object: Value): void;
89
+ /** CallFunction, CallMethod, NewObject and NewMethod, which pop their operands themselves. */
90
+ callFunction(cx: Activation): void;
91
+ callMethod(cx: Activation): void;
92
+ newObject(cx: Activation): void;
93
+ newMethod(cx: Activation): void;
94
+ /**
95
+ * DefineFunction: the function of region `region` of the activation's
96
+ * block, defined as a local variable, or pushed where it has no name;
97
+ * `params` its parameters' names.
98
+ */
99
+ defineFunction(cx: Activation, region: number, name: Value, params: string[]): void;
100
+ /** DefineFunction2: as DefineFunction, null for a parameter in a register, and its flags. */
101
+ defineFunction2(cx: Activation, region: number, name: Value, params: (string | null)[], flags: number): void;
102
+ /** Extends: the subclass's `prototype` made one whose prototype is the superclass's. */
103
+ extends(cx: Activation, superclass: Value, subclass: Value): void;
104
+ /** InstanceOf: `object instanceof constr`. */
105
+ instanceOf(cx: Activation, constr: Value, object: Value): boolean;
106
+ /** CastOp: the object where it is an instance of the constructor, else null. */
107
+ castOp(cx: Activation, object: Value, constr: Value): Value;
108
+ /** ImplementsOp, which pops its operands itself. */
109
+ implementsOp(cx: Activation): void;
110
+ /** RandomNumber: an int from 0 below `max`, 0 for a max below 1. */
111
+ randomNumber(max: Value): number;
112
+ /** What DefineFunction2 preloads: its `arguments`, its `super`, `_root` and `_parent`, undefined for none. */
113
+ argumentsOf(cx: Activation, args: Value[]): Value;
114
+ superOf(cx: Activation, self: Value): Value;
115
+ root(cx: Activation): Value;
116
+ parentOf(cx: Activation): Value;
117
+ /**
118
+ * With: `object` on the scope chain over the blocks of its body, from
119
+ * `from` to `to`; false where the body is skipped.
120
+ */
121
+ with(cx: Activation, object: Value, from: number, to: number): boolean;
122
+ /**
123
+ * Try: its handlers over its try and catch bodies, the blocks from
124
+ * `from` to `finallyFrom`, the catch's from `catchFrom`; a throw lands at
125
+ * block `catchAt` (-1 for the exit, -2 for no catch), its value into the
126
+ * variable or the register `into`, or at the finally's blocks, from
127
+ * `finallyFrom` to `finallyTo`.
128
+ */
129
+ try(cx: Activation, from: number, catchFrom: number, finallyFrom: number, finallyTo: number, catchAt: number, into: string | number): void;
130
+ throw(value: Value): never;
131
+ /**
132
+ * Where control goes after `error` was thrown in block `at`: a block, -1
133
+ * for the exit; a register catch's value is `cx.thrown`, into `cx.into`.
134
+ */
135
+ caught(cx: Activation, error: unknown, at: number): number;
136
+ /**
137
+ * Where control goes on its way to block `to` (-1: the exit) out of a
138
+ * Try's, a finally's or a scope's body.
139
+ */
140
+ leave(cx: Activation, to: number): number;
141
+ /** After the first action of block `at`, reached from a body: the scopes that do not hold over it come off. */
142
+ scopes(cx: Activation, at: number): void;
143
+ /** Return of the value on top of the stack: where control goes first, a finally's block, or -1 to return `cx.ret`. */
144
+ ret(cx: Activation): number;
145
+ play(cx: Activation): void;
146
+ stop(cx: Activation): void;
147
+ /** SetTarget: the clip `name` names the target, "" the code's own. */
148
+ setTarget(cx: Activation, name: string): void;
149
+ setTarget2(cx: Activation, target: Value): void;
150
+ /** GetProperty: property `index` of the clip `path` names. */
151
+ getProperty(cx: Activation, index: Value, path: Value): Value;
152
+ setProperty(cx: Activation, value: Value, index: Value, path: Value): void;
153
+ /** GotoFrame: frame `frame`, 0 the first, of the target. */
154
+ gotoFrame(cx: Activation, frame: number): void;
155
+ gotoLabel(cx: Activation, label: string): void;
156
+ /** GotoFrame2: the frame the value names, `bias` frames on, played or stopped. */
157
+ gotoFrame2(cx: Activation, frame: Value, play: boolean, bias: number): void;
158
+ nextFrame(cx: Activation): void;
159
+ prevFrame(cx: Activation): void;
160
+ /** WaitForFrame: whether frame `frame`, 0 the first, is loaded. */
161
+ frameLoaded(cx: Activation, frame: number): boolean;
162
+ /** WaitForFrame2: whether the frame the value names, 1 the first, is loaded. */
163
+ frameLoaded2(cx: Activation, frame: Value): boolean;
164
+ /** TargetPath: a clip's path, undefined for anything else. */
165
+ targetPath(cx: Activation, value: Value): Value;
166
+ /** CallFrame: the actions of the frame the value names run now. */
167
+ callFrame(cx: Activation, frame: Value): void;
168
+ stopSounds(cx: Activation): void;
169
+ toggleQuality(cx: Activation): void;
170
+ /** GetTime: ms since the movie started, on the player's clock. */
171
+ getTime(cx: Activation): number;
172
+ /** CloneSprite: the clip `source` names duplicated as `name` at timeline depth `depth`. */
173
+ cloneSprite(cx: Activation, depth: Value, name: Value, source: Value): void;
174
+ /** RemoveSprite: the clip `target` names removed, where a script may remove it. */
175
+ removeSprite(cx: Activation, target: Value): void;
176
+ /** StartDrag: the clip on the stack dragged, its lock and bounds below it. */
177
+ startDrag(cx: Activation): void;
178
+ /** EndDrag: the drag ends. */
179
+ stopDrag(cx: Activation): void;
180
+ /** GetURL: fscommand, a load into a level, or a page to open. */
181
+ getUrl(cx: Activation, url: string, target: string): void;
182
+ /** GetURL2 of the target and the URL on the stack, the target on top, by its flags. */
183
+ getUrl2(cx: Activation, target: Value, url: Value, flags: number): void;
184
+ /**
185
+ * What a jump back counts down, shared by every activation of the
186
+ * version: as it runs out, `timeout` reads the clock.
187
+ */
188
+ budget: number;
189
+ /** The budget ran out: past the script timeout, the movie's actions are disabled. */
190
+ timeout(cx: Activation): void;
191
+ /**
192
+ * Control going on at `at` in the SWF, outside the home the region
193
+ * running was compiled within, in units until it leaves the region, which
194
+ * ends at `end`, its actions' bytes at `bound`, `five` if it runs as a
195
+ * SWF 5's function: what the region returns.
196
+ */
197
+ far(cx: Activation, at: number, end: number, bound: number, five: boolean): Value;
198
+ /** An action Flash cannot read: the SWF stops there. */
199
+ halt(cx: Activation): never;
200
+ /** A block larger than the compiler takes. */
201
+ tooLarge(): never;
202
+ /** An action the runtime does not do yet. */
203
+ notYet(name: string): never;
204
+ }
205
+ /** Units of a region alone, by the numbers V.far is called with. */
206
+ export declare class OwnUnits<T> {
207
+ private readonly byEnd;
208
+ get(at: number, end: number, bound: number, five: boolean): T | undefined;
209
+ set(at: number, end: number, bound: number, five: boolean, unit: T): void;
210
+ }
211
+ /**
212
+ * What a module's `units` export gives: by key, a unit's regions and how
213
+ * far a region's end and its bytes' end must reach for it to run for that
214
+ * region, -1 for only the one its key names (codegen's emit/module.ts).
215
+ */
216
+ export type UnitTable = Record<string, [Region[], number, number]>;
217
+ /** A player's AVM1 runtime, which its SWFs' modules are loaded into. */
218
+ export declare class Runtime {
219
+ /** The builtins and `_global`, which every SWF the player runs shares. */
220
+ readonly realm: Realm;
221
+ /**
222
+ * Whether the movie's actions are disabled, as Flash disables them past
223
+ * its recursion limit: no action of it runs again, its timelines play on.
224
+ */
225
+ disabled: boolean;
226
+ /** Whether that was the script timeout's doing. */
227
+ timedOut: boolean;
228
+ /** How deep function calls may go: a SWF's ScriptLimits sets it (Flash's default 1000, adl's). */
229
+ get maxRecursion(): number;
230
+ set maxRecursion(depth: number);
231
+ /**
232
+ * How long, in seconds, a frame's actions may run before Flash offers to
233
+ * stop them: a SWF's ScriptLimits sets it (Flash's default 15). Past
234
+ * it, the movie's actions are disabled, as Flash's are once stopped.
235
+ */
236
+ get scriptTimeout(): number;
237
+ /**
238
+ * Set while scripts run, as a ScriptLimits their gotos reach is, it
239
+ * counts from when they began, not from now: gotos that enter its
240
+ * frame again and again still run into it.
241
+ */
242
+ set scriptTimeout(seconds: number);
243
+ private timeout;
244
+ /** When the scripts running began, on the player's clock. */
245
+ private began;
246
+ /**
247
+ * The player starts running scripts, a frame's or its timers', at `now`
248
+ * on its clock, `clock`: they have the script timeout from there.
249
+ */
250
+ begin(now: number, clock: () => number): void;
251
+ /** The player's scripts are done until it begins again. */
252
+ end(): void;
253
+ /**
254
+ * A module's blocks, as its default export gave them, and the units its
255
+ * `units` export gave, if it has them: V.far finds their units there.
256
+ */
257
+ adoptUnits(blocks: Blocks, table: UnitTable): void;
258
+ /**
259
+ * Run a block's own region, `regions[0]`, in `cx`. A value thrown and
260
+ * not caught ends the block, as Flash ends it, writing nothing. Past the
261
+ * recursion limit or the script timeout, or where JavaScript's own stack
262
+ * runs out first, the movie's actions are disabled from there.
263
+ */
264
+ run(regions: Region[], cx: Activation): void;
265
+ /**
266
+ * Run `body` in `cx`, as a block runs: what the player calls into AVM1
267
+ * other than a block, an event's method, a class's constructor, a
268
+ * timer's callback, which the limits and an uncaught throw end alike.
269
+ */
270
+ call(cx: Activation, body: () => void): void;
271
+ /**
272
+ * `object`'s method `name` called with `args`, as Flash calls an event's
273
+ * (`onEnterFrame`...) and a timer's: found without `__resolve`, nothing
274
+ * where it is no function.
275
+ */
276
+ callMethod(cx: Activation, object: Avm1Object, name: string, args: Value[], version: number): void;
277
+ /**
278
+ * Fire the timers due by `time` on the player's clock, the earliest
279
+ * first, at most `MAX_TICKS` of them, each in the activation `cx` gives
280
+ * (the root's), `after` running what each queued; while one runs, the
281
+ * clock reads its time.
282
+ */
283
+ fireTimers(time: number, version: number, cx: () => Activation | null, after: () => void, removed: (object: Avm1Object) => boolean): void;
284
+ /** A new object, as `{}` makes one: what the player gives a clip until clips have their class. */
285
+ newObject(): Avm1Object;
286
+ /**
287
+ * An activation of a timeline's code: `clip`, the target's AVM1 object,
288
+ * above `_global` on the scope chain, and `this`.
289
+ */
290
+ activation(st: Value[], pool: Value[], target: Target, clip: Avm1Object, host: Host): Activation;
291
+ /** The operations of SWF version `version`. */
292
+ version(version: number): Operations;
293
+ }
294
+ //# sourceMappingURL=runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/avm1/runtime.ts"],"names":[],"mappings":"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"}