@swf2es/player-hosts 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 (405) hide show
  1. package/LICENSE +202 -0
  2. package/LICENSE.third-party +759 -0
  3. package/README.md +43 -2
  4. package/dist/indexeddb.d.ts +27 -0
  5. package/dist/indexeddb.d.ts.map +1 -0
  6. package/dist/indexeddb.js +170 -0
  7. package/dist/indexeddb.js.map +1 -0
  8. package/dist/node-worker.d.ts +2 -0
  9. package/dist/node-worker.d.ts.map +1 -0
  10. package/dist/node-worker.js +12 -0
  11. package/dist/node-worker.js.map +1 -0
  12. package/dist/node.d.ts +8 -0
  13. package/dist/node.d.ts.map +1 -0
  14. package/dist/node.js +43 -0
  15. package/dist/node.js.map +1 -0
  16. package/dist/precompiled.d.ts +31 -0
  17. package/dist/precompiled.d.ts.map +1 -0
  18. package/dist/precompiled.js +125 -0
  19. package/dist/precompiled.js.map +1 -0
  20. package/dist/stage3d.d.ts +13 -0
  21. package/dist/stage3d.d.ts.map +1 -0
  22. package/dist/stage3d.js +61 -0
  23. package/dist/stage3d.js.map +1 -0
  24. package/dist/thread/codegen/codegen.js +308 -0
  25. package/dist/thread/codegen/index.js +405 -0
  26. package/dist/thread/format/abc-names.js +126 -0
  27. package/dist/thread/format/actions.js +222 -0
  28. package/dist/thread/format/air-descriptor.js +63 -0
  29. package/dist/thread/format/api-versions.js +22 -0
  30. package/dist/thread/format/bitmap.js +199 -0
  31. package/dist/thread/format/button.js +60 -0
  32. package/dist/thread/format/compression.js +200 -0
  33. package/dist/thread/format/display.js +305 -0
  34. package/dist/thread/format/filters.js +136 -0
  35. package/dist/thread/format/font.js +168 -0
  36. package/dist/thread/format/index.js +26 -0
  37. package/dist/thread/format/pbj.js +484 -0
  38. package/dist/thread/format/shape.js +411 -0
  39. package/dist/thread/format/sound.js +91 -0
  40. package/dist/thread/format/swf.js +163 -0
  41. package/dist/thread/format/tags.js +58 -0
  42. package/dist/thread/format/text.js +135 -0
  43. package/dist/thread/format/zip.js +91 -0
  44. package/dist/thread/native/audio/binary.js +3 -0
  45. package/dist/thread/native/audio/index.js +72 -0
  46. package/dist/thread/native/base64.js +9 -0
  47. package/dist/thread/native/compress/binary.js +3 -0
  48. package/dist/thread/native/compress/index.js +145 -0
  49. package/dist/thread/native/instance.js +49 -0
  50. package/dist/thread/native/mp3/binary.js +3 -0
  51. package/dist/thread/native/mp3/index.js +48 -0
  52. package/dist/thread/native/render/binary.js +3 -0
  53. package/dist/thread/native/render/bitmap-kernel.js +591 -0
  54. package/dist/thread/native/render/draw-kernel.js +204 -0
  55. package/dist/thread/native/render/dxt-encoder.js +94 -0
  56. package/dist/thread/native/render/index.js +10 -0
  57. package/dist/thread/native/render/lines.js +122 -0
  58. package/dist/thread/native/render/module.js +26 -0
  59. package/dist/thread/native/render/pixel-ops.js +235 -0
  60. package/dist/thread/native/render/tessellator.js +250 -0
  61. package/dist/thread/player/avm1/amf.js +507 -0
  62. package/dist/thread/player/avm1/avm1.js +1304 -0
  63. package/dist/thread/player/avm1/bindings.js +214 -0
  64. package/dist/thread/player/avm1/classes.js +75 -0
  65. package/dist/thread/player/avm1/clips.js +229 -0
  66. package/dist/thread/player/avm1/compile.js +140 -0
  67. package/dist/thread/player/avm1/external.js +79 -0
  68. package/dist/thread/player/avm1/focus.js +278 -0
  69. package/dist/thread/player/avm1/globals/BitmapData.js +542 -0
  70. package/dist/thread/player/avm1/globals/Button.js +31 -0
  71. package/dist/thread/player/avm1/globals/Color.js +115 -0
  72. package/dist/thread/player/avm1/globals/ExternalInterface.js +310 -0
  73. package/dist/thread/player/avm1/globals/FileReference.js +217 -0
  74. package/dist/thread/player/avm1/globals/Key.js +60 -0
  75. package/dist/thread/player/avm1/globals/LoadVars.js +208 -0
  76. package/dist/thread/player/avm1/globals/LocalConnection.js +92 -0
  77. package/dist/thread/player/avm1/globals/MovieClip.js +1070 -0
  78. package/dist/thread/player/avm1/globals/MovieClipLoader.js +90 -0
  79. package/dist/thread/player/avm1/globals/NetConnection.js +261 -0
  80. package/dist/thread/player/avm1/globals/PrintJob.js +37 -0
  81. package/dist/thread/player/avm1/globals/Selection.js +62 -0
  82. package/dist/thread/player/avm1/globals/SharedObject.js +245 -0
  83. package/dist/thread/player/avm1/globals/Sound.js +238 -0
  84. package/dist/thread/player/avm1/globals/Stage.js +12 -0
  85. package/dist/thread/player/avm1/globals/StyleSheet.js +205 -0
  86. package/dist/thread/player/avm1/globals/TextField.js +396 -0
  87. package/dist/thread/player/avm1/globals/TextFormat.js +194 -0
  88. package/dist/thread/player/avm1/globals/TextSnapshot.js +88 -0
  89. package/dist/thread/player/avm1/globals/XML.js +396 -0
  90. package/dist/thread/player/avm1/globals/XMLNode.js +413 -0
  91. package/dist/thread/player/avm1/globals/XMLSocket.js +205 -0
  92. package/dist/thread/player/avm1/globals/drawing.js +202 -0
  93. package/dist/thread/player/avm1/globals/filters.js +635 -0
  94. package/dist/thread/player/avm1/globals/geom.js +600 -0
  95. package/dist/thread/player/avm1/input.js +483 -0
  96. package/dist/thread/player/avm1/keyboard.js +113 -0
  97. package/dist/thread/player/avm1/loads.js +352 -0
  98. package/dist/thread/player/avm1/net.js +219 -0
  99. package/dist/thread/player/avm1/paths.js +104 -0
  100. package/dist/thread/player/avm1/pointer.js +512 -0
  101. package/dist/thread/player/avm1/queue.js +303 -0
  102. package/dist/thread/player/avm1/sound.js +106 -0
  103. package/dist/thread/player/avm1/swf.js +141 -0
  104. package/dist/thread/player/avm1/timers.js +113 -0
  105. package/dist/thread/player/bitmap/bitmap.js +627 -0
  106. package/dist/thread/player/bitmap/draw.js +68 -0
  107. package/dist/thread/player/bitmap/dxt.js +11 -0
  108. package/dist/thread/player/bitmap/filters.js +656 -0
  109. package/dist/thread/player/bitmap/images.js +240 -0
  110. package/dist/thread/player/bitmap/kernel.js +65 -0
  111. package/dist/thread/player/bitmap/ops.js +1239 -0
  112. package/dist/thread/player/bitmap/pixel-bender.js +911 -0
  113. package/dist/thread/player/bitmap/png.js +139 -0
  114. package/dist/thread/player/bitmap/turbulence.js +89 -0
  115. package/dist/thread/player/clock.js +182 -0
  116. package/dist/thread/player/display/bitmapobject.js +25 -0
  117. package/dist/thread/player/display/bounds.js +520 -0
  118. package/dist/thread/player/display/buttonobject.js +305 -0
  119. package/dist/thread/player/display/color.js +40 -0
  120. package/dist/thread/player/display/container.js +150 -0
  121. package/dist/thread/player/display/display.js +14 -0
  122. package/dist/thread/player/display/displayobject.js +664 -0
  123. package/dist/thread/player/display/drawing.js +613 -0
  124. package/dist/thread/player/display/filters.js +285 -0
  125. package/dist/thread/player/display/geometry.js +189 -0
  126. package/dist/thread/player/display/gradients.js +117 -0
  127. package/dist/thread/player/display/graphicsdata.js +592 -0
  128. package/dist/thread/player/display/instantiate.js +71 -0
  129. package/dist/thread/player/display/matrix3d.js +373 -0
  130. package/dist/thread/player/display/morph.js +226 -0
  131. package/dist/thread/player/display/movieclip.js +680 -0
  132. package/dist/thread/player/display/perspective.js +193 -0
  133. package/dist/thread/player/display/scale9.js +236 -0
  134. package/dist/thread/player/display/shapeobject.js +131 -0
  135. package/dist/thread/player/display/shapes.js +407 -0
  136. package/dist/thread/player/display/textobjects.js +222 -0
  137. package/dist/thread/player/display/timeline.js +471 -0
  138. package/dist/thread/player/display/value-lists.js +40 -0
  139. package/dist/thread/player/display/videoobject.js +6 -0
  140. package/dist/thread/player/display/walk.js +127 -0
  141. package/dist/thread/player/files.js +334 -0
  142. package/dist/thread/player/hosts.js +207 -0
  143. package/dist/thread/player/input/avm1.js +82 -0
  144. package/dist/thread/player/input/context-menu.js +63 -0
  145. package/dist/thread/player/input/keyboard.js +458 -0
  146. package/dist/thread/player/input/pointer.js +863 -0
  147. package/dist/thread/player/input/text-editor.js +319 -0
  148. package/dist/thread/player/input/touch.js +209 -0
  149. package/dist/thread/player/localconnection.js +90 -0
  150. package/dist/thread/player/media/audio.js +376 -0
  151. package/dist/thread/player/media/dynamic-sound.js +90 -0
  152. package/dist/thread/player/media/extract.js +135 -0
  153. package/dist/thread/player/media/mp3.js +152 -0
  154. package/dist/thread/player/media/sounds.js +507 -0
  155. package/dist/thread/player/media/streaming-audio.js +133 -0
  156. package/dist/thread/player/player.js +616 -0
  157. package/dist/thread/player/playerglobal/air/net/WebSocket.js +250 -0
  158. package/dist/thread/player/playerglobal/air-library.js +8 -0
  159. package/dist/thread/player/playerglobal/flash/accessibility/Accessibility.js +21 -0
  160. package/dist/thread/player/playerglobal/flash/crypto/generateRandomBytes.js +32 -0
  161. package/dist/thread/player/playerglobal/flash/data/EncryptedLocalStore.js +61 -0
  162. package/dist/thread/player/playerglobal/flash/desktop/Clipboard.js +173 -0
  163. package/dist/thread/player/playerglobal/flash/desktop/NativeApplication.js +179 -0
  164. package/dist/thread/player/playerglobal/flash/display/AVM1Movie.js +19 -0
  165. package/dist/thread/player/playerglobal/flash/display/Bitmap.js +58 -0
  166. package/dist/thread/player/playerglobal/flash/display/BitmapData.js +633 -0
  167. package/dist/thread/player/playerglobal/flash/display/DisplayObject.js +614 -0
  168. package/dist/thread/player/playerglobal/flash/display/DisplayObjectContainer.js +224 -0
  169. package/dist/thread/player/playerglobal/flash/display/Graphics.js +345 -0
  170. package/dist/thread/player/playerglobal/flash/display/InteractiveObject.js +87 -0
  171. package/dist/thread/player/playerglobal/flash/display/Loader.js +79 -0
  172. package/dist/thread/player/playerglobal/flash/display/LoaderInfo.js +128 -0
  173. package/dist/thread/player/playerglobal/flash/display/MovieClip.js +194 -0
  174. package/dist/thread/player/playerglobal/flash/display/NativeWindow.js +245 -0
  175. package/dist/thread/player/playerglobal/flash/display/Shader.js +26 -0
  176. package/dist/thread/player/playerglobal/flash/display/ShaderData.js +85 -0
  177. package/dist/thread/player/playerglobal/flash/display/ShaderInput.js +64 -0
  178. package/dist/thread/player/playerglobal/flash/display/ShaderJob.js +181 -0
  179. package/dist/thread/player/playerglobal/flash/display/ShaderParameter.js +23 -0
  180. package/dist/thread/player/playerglobal/flash/display/Shape.js +13 -0
  181. package/dist/thread/player/playerglobal/flash/display/SimpleButton.js +103 -0
  182. package/dist/thread/player/playerglobal/flash/display/Sprite.js +84 -0
  183. package/dist/thread/player/playerglobal/flash/display/Stage.js +231 -0
  184. package/dist/thread/player/playerglobal/flash/display/Stage3D.js +54 -0
  185. package/dist/thread/player/playerglobal/flash/display/shaders.js +228 -0
  186. package/dist/thread/player/playerglobal/flash/events/Event.js +58 -0
  187. package/dist/thread/player/playerglobal/flash/events/EventDispatcher.js +103 -0
  188. package/dist/thread/player/playerglobal/flash/events/GestureEvent.js +34 -0
  189. package/dist/thread/player/playerglobal/flash/events/HTTPStatusEvent.js +8 -0
  190. package/dist/thread/player/playerglobal/flash/events/KeyboardEvent.js +51 -0
  191. package/dist/thread/player/playerglobal/flash/events/MouseEvent.js +59 -0
  192. package/dist/thread/player/playerglobal/flash/events/PressAndTapGestureEvent.js +30 -0
  193. package/dist/thread/player/playerglobal/flash/events/TimerEvent.js +16 -0
  194. package/dist/thread/player/playerglobal/flash/events/TouchEvent.js +45 -0
  195. package/dist/thread/player/playerglobal/flash/external/ExternalInterface.js +73 -0
  196. package/dist/thread/player/playerglobal/flash/filesystem/File.js +340 -0
  197. package/dist/thread/player/playerglobal/flash/filesystem/FileStream.js +453 -0
  198. package/dist/thread/player/playerglobal/flash/filesystem/paths.js +156 -0
  199. package/dist/thread/player/playerglobal/flash/filesystem/writes.js +143 -0
  200. package/dist/thread/player/playerglobal/flash/filters/BevelFilter.js +4 -0
  201. package/dist/thread/player/playerglobal/flash/filters/BitmapFilter.js +205 -0
  202. package/dist/thread/player/playerglobal/flash/filters/BlurFilter.js +4 -0
  203. package/dist/thread/player/playerglobal/flash/filters/ColorMatrixFilter.js +11 -0
  204. package/dist/thread/player/playerglobal/flash/filters/ConvolutionFilter.js +26 -0
  205. package/dist/thread/player/playerglobal/flash/filters/DisplacementMapFilter.js +51 -0
  206. package/dist/thread/player/playerglobal/flash/filters/DropShadowFilter.js +4 -0
  207. package/dist/thread/player/playerglobal/flash/filters/GlowFilter.js +4 -0
  208. package/dist/thread/player/playerglobal/flash/filters/GradientBevelFilter.js +4 -0
  209. package/dist/thread/player/playerglobal/flash/filters/GradientGlowFilter.js +4 -0
  210. package/dist/thread/player/playerglobal/flash/filters/ShaderFilter.js +53 -0
  211. package/dist/thread/player/playerglobal/flash/geom/Matrix3D.js +361 -0
  212. package/dist/thread/player/playerglobal/flash/geom/PerspectiveProjection.js +122 -0
  213. package/dist/thread/player/playerglobal/flash/geom/Transform.js +245 -0
  214. package/dist/thread/player/playerglobal/flash/geom/Utils3D.js +85 -0
  215. package/dist/thread/player/playerglobal/flash/globalization/Collator.js +149 -0
  216. package/dist/thread/player/playerglobal/flash/globalization/CurrencyFormatter.js +272 -0
  217. package/dist/thread/player/playerglobal/flash/globalization/CurrencyParseResult.js +21 -0
  218. package/dist/thread/player/playerglobal/flash/globalization/DateTimeFormatter.js +463 -0
  219. package/dist/thread/player/playerglobal/flash/globalization/LocaleID.js +144 -0
  220. package/dist/thread/player/playerglobal/flash/globalization/NumberFormatter.js +444 -0
  221. package/dist/thread/player/playerglobal/flash/globalization/NumberParseResult.js +22 -0
  222. package/dist/thread/player/playerglobal/flash/globalization/StringTools.js +59 -0
  223. package/dist/thread/player/playerglobal/flash/globalization/locale.js +190 -0
  224. package/dist/thread/player/playerglobal/flash/media/Camera.js +89 -0
  225. package/dist/thread/player/playerglobal/flash/media/Microphone.js +126 -0
  226. package/dist/thread/player/playerglobal/flash/media/Sound.js +543 -0
  227. package/dist/thread/player/playerglobal/flash/media/SoundMixer.js +74 -0
  228. package/dist/thread/player/playerglobal/flash/media/SoundTransform.js +40 -0
  229. package/dist/thread/player/playerglobal/flash/media/Video.js +43 -0
  230. package/dist/thread/player/playerglobal/flash/net/FileFilter.js +27 -0
  231. package/dist/thread/player/playerglobal/flash/net/FileReference.js +197 -0
  232. package/dist/thread/player/playerglobal/flash/net/LocalConnection.js +167 -0
  233. package/dist/thread/player/playerglobal/flash/net/NetConnection.js +155 -0
  234. package/dist/thread/player/playerglobal/flash/net/SharedObject.js +299 -0
  235. package/dist/thread/player/playerglobal/flash/net/Socket.js +282 -0
  236. package/dist/thread/player/playerglobal/flash/net/URLRequest.js +93 -0
  237. package/dist/thread/player/playerglobal/flash/net/URLStream.js +146 -0
  238. package/dist/thread/player/playerglobal/flash/net/XMLSocket.js +14 -0
  239. package/dist/thread/player/playerglobal/flash/net/local-modern.js +142 -0
  240. package/dist/thread/player/playerglobal/flash/net/local-values.js +217 -0
  241. package/dist/thread/player/playerglobal/flash/net/navigateToURL.js +29 -0
  242. package/dist/thread/player/playerglobal/flash/profiler/Telemetry.js +25 -0
  243. package/dist/thread/player/playerglobal/flash/sensors/Accelerometer.js +12 -0
  244. package/dist/thread/player/playerglobal/flash/system/ApplicationDomain.js +69 -0
  245. package/dist/thread/player/playerglobal/flash/system/Capabilities.js +163 -0
  246. package/dist/thread/player/playerglobal/flash/system/FSCommandHost.js +17 -0
  247. package/dist/thread/player/playerglobal/flash/system/Security.js +46 -0
  248. package/dist/thread/player/playerglobal/flash/system/SecurityDomain.js +21 -0
  249. package/dist/thread/player/playerglobal/flash/system/System.js +73 -0
  250. package/dist/thread/player/playerglobal/flash/system/Worker.js +112 -0
  251. package/dist/thread/player/playerglobal/flash/text/Font.js +95 -0
  252. package/dist/thread/player/playerglobal/flash/text/StaticText.js +16 -0
  253. package/dist/thread/player/playerglobal/flash/text/StyleSheet.js +65 -0
  254. package/dist/thread/player/playerglobal/flash/text/TextField.js +707 -0
  255. package/dist/thread/player/playerglobal/flash/text/TextRenderer.js +77 -0
  256. package/dist/thread/player/playerglobal/flash/text/engine/FontDescription.js +141 -0
  257. package/dist/thread/player/playerglobal/flash/text/engine/TabStop.js +46 -0
  258. package/dist/thread/player/playerglobal/flash/trace/Trace.js +17 -0
  259. package/dist/thread/player/playerglobal/flash/ui/ContextMenu.js +17 -0
  260. package/dist/thread/player/playerglobal/flash/ui/GameInput.js +19 -0
  261. package/dist/thread/player/playerglobal/flash/ui/Keyboard.js +27 -0
  262. package/dist/thread/player/playerglobal/flash/ui/Mouse.js +127 -0
  263. package/dist/thread/player/playerglobal/flash/ui/Multitouch.js +46 -0
  264. package/dist/thread/player/playerglobal/flash/utils/ByteArray.js +155 -0
  265. package/dist/thread/player/playerglobal/flash/utils/Timer.js +25 -0
  266. package/dist/thread/player/playerglobal/flash/xml/XMLDocument.js +74 -0
  267. package/dist/thread/player/playerglobal/index.js +224 -0
  268. package/dist/thread/player/playerglobal/libraries.js +10 -0
  269. package/dist/thread/player/playerglobal/playerglobal-library.js +22 -0
  270. package/dist/thread/player/playerglobal/toplevel.js +122 -0
  271. package/dist/thread/player/scripting/clipboard.js +146 -0
  272. package/dist/thread/player/scripting/code.js +900 -0
  273. package/dist/thread/player/scripting/evaluate.js +144 -0
  274. package/dist/thread/player/scripting/events.js +172 -0
  275. package/dist/thread/player/scripting/handover.js +182 -0
  276. package/dist/thread/player/scripting/lazy.js +38 -0
  277. package/dist/thread/player/scripting/lifecycle.js +272 -0
  278. package/dist/thread/player/scripting/loads.js +860 -0
  279. package/dist/thread/player/scripting/sha256.js +95 -0
  280. package/dist/thread/player/scripting/symbols.js +348 -0
  281. package/dist/thread/player/scripting/timers.js +434 -0
  282. package/dist/thread/player/scripting/workers.js +923 -0
  283. package/dist/thread/player/scripting.js +1018 -0
  284. package/dist/thread/player/stage.js +4 -0
  285. package/dist/thread/player/text/csm.js +113 -0
  286. package/dist/thread/player/text/css.js +167 -0
  287. package/dist/thread/player/text/fonts.js +97 -0
  288. package/dist/thread/player/text/layout.js +393 -0
  289. package/dist/thread/player/text/static.js +109 -0
  290. package/dist/thread/player/text/text.js +431 -0
  291. package/dist/thread/player/workers/thread.js +159 -0
  292. package/dist/thread/player/workers/wire.js +198 -0
  293. package/dist/thread/player-hosts/web-worker.js +19 -0
  294. package/dist/thread/runtime/avm1/activation.js +89 -0
  295. package/dist/thread/runtime/avm1/case.js +249 -0
  296. package/dist/thread/runtime/avm1/clips.js +334 -0
  297. package/dist/thread/runtime/avm1/control.js +280 -0
  298. package/dist/thread/runtime/avm1/errors.js +50 -0
  299. package/dist/thread/runtime/avm1/functions.js +249 -0
  300. package/dist/thread/runtime/avm1/globals/array.js +549 -0
  301. package/dist/thread/runtime/avm1/globals/broadcaster.js +131 -0
  302. package/dist/thread/runtime/avm1/globals/date.js +436 -0
  303. package/dist/thread/runtime/avm1/globals/global.js +344 -0
  304. package/dist/thread/runtime/avm1/globals/math.js +139 -0
  305. package/dist/thread/runtime/avm1/globals/number.js +93 -0
  306. package/dist/thread/runtime/avm1/globals/string.js +201 -0
  307. package/dist/thread/runtime/avm1/globals/timers.js +129 -0
  308. package/dist/thread/runtime/avm1/host.js +5 -0
  309. package/dist/thread/runtime/avm1/index.js +14 -0
  310. package/dist/thread/runtime/avm1/inheritance.js +132 -0
  311. package/dist/thread/runtime/avm1/numbers.js +298 -0
  312. package/dist/thread/runtime/avm1/objects.js +896 -0
  313. package/dist/thread/runtime/avm1/operators.js +170 -0
  314. package/dist/thread/runtime/avm1/realm.js +529 -0
  315. package/dist/thread/runtime/avm1/runtime.js +882 -0
  316. package/dist/thread/runtime/avm1/scope.js +385 -0
  317. package/dist/thread/runtime/avm1/urls.js +180 -0
  318. package/dist/thread/runtime/avm1/values.js +97 -0
  319. package/dist/thread/runtime/avm2/amf-classes.js +66 -0
  320. package/dist/thread/runtime/avm2/amf.js +801 -0
  321. package/dist/thread/runtime/avm2/array-conversion.js +100 -0
  322. package/dist/thread/runtime/avm2/builtin-library.js +21 -0
  323. package/dist/thread/runtime/avm2/cache-fill.js +86 -0
  324. package/dist/thread/runtime/avm2/classes.js +211 -0
  325. package/dist/thread/runtime/avm2/definitions.js +69 -0
  326. package/dist/thread/runtime/avm2/descriptors.js +5 -0
  327. package/dist/thread/runtime/avm2/dictionary-keys.js +295 -0
  328. package/dist/thread/runtime/avm2/domain-memory.js +75 -0
  329. package/dist/thread/runtime/avm2/domain.js +280 -0
  330. package/dist/thread/runtime/avm2/dynamic-properties.js +182 -0
  331. package/dist/thread/runtime/avm2/enumeration.js +393 -0
  332. package/dist/thread/runtime/avm2/errors.js +45 -0
  333. package/dist/thread/runtime/avm2/float-library.js +66 -0
  334. package/dist/thread/runtime/avm2/float.js +26 -0
  335. package/dist/thread/runtime/avm2/hooks.js +19 -0
  336. package/dist/thread/runtime/avm2/index.js +38 -0
  337. package/dist/thread/runtime/avm2/messages.js +177 -0
  338. package/dist/thread/runtime/avm2/method-factories.js +95 -0
  339. package/dist/thread/runtime/avm2/modules.js +105 -0
  340. package/dist/thread/runtime/avm2/names.js +248 -0
  341. package/dist/thread/runtime/avm2/natives/aliases.js +47 -0
  342. package/dist/thread/runtime/avm2/natives/array.js +390 -0
  343. package/dist/thread/runtime/avm2/natives/bytearray.js +1227 -0
  344. package/dist/thread/runtime/avm2/natives/case.js +88 -0
  345. package/dist/thread/runtime/avm2/natives/concurrent.js +199 -0
  346. package/dist/thread/runtime/avm2/natives/date.js +581 -0
  347. package/dist/thread/runtime/avm2/natives/define.js +130 -0
  348. package/dist/thread/runtime/avm2/natives/describe.js +351 -0
  349. package/dist/thread/runtime/avm2/natives/dictionary.js +12 -0
  350. package/dist/thread/runtime/avm2/natives/float-vector.js +81 -0
  351. package/dist/thread/runtime/avm2/natives/float.js +96 -0
  352. package/dist/thread/runtime/avm2/natives/index.js +64 -0
  353. package/dist/thread/runtime/avm2/natives/json.js +514 -0
  354. package/dist/thread/runtime/avm2/natives/number.js +162 -0
  355. package/dist/thread/runtime/avm2/natives/object.js +237 -0
  356. package/dist/thread/runtime/avm2/natives/proxy.js +75 -0
  357. package/dist/thread/runtime/avm2/natives/regexp.js +485 -0
  358. package/dist/thread/runtime/avm2/natives/shell-workers.js +404 -0
  359. package/dist/thread/runtime/avm2/natives/shell.js +557 -0
  360. package/dist/thread/runtime/avm2/natives/sort.js +377 -0
  361. package/dist/thread/runtime/avm2/natives/string.js +132 -0
  362. package/dist/thread/runtime/avm2/natives/sync.js +821 -0
  363. package/dist/thread/runtime/avm2/natives/toplevel.js +139 -0
  364. package/dist/thread/runtime/avm2/natives/vector-elements.js +46 -0
  365. package/dist/thread/runtime/avm2/natives/vector.js +406 -0
  366. package/dist/thread/runtime/avm2/natives/xml/access.js +633 -0
  367. package/dist/thread/runtime/avm2/natives/xml/build.js +291 -0
  368. package/dist/thread/runtime/avm2/natives/xml/chars.js +112 -0
  369. package/dist/thread/runtime/avm2/natives/xml/escape.js +38 -0
  370. package/dist/thread/runtime/avm2/natives/xml/names.js +204 -0
  371. package/dist/thread/runtime/avm2/natives/xml/node.js +272 -0
  372. package/dist/thread/runtime/avm2/natives/xml/operators.js +69 -0
  373. package/dist/thread/runtime/avm2/natives/xml/parser.js +356 -0
  374. package/dist/thread/runtime/avm2/natives/xml/strings.js +191 -0
  375. package/dist/thread/runtime/avm2/natives/xml/values.js +122 -0
  376. package/dist/thread/runtime/avm2/natives/xml/xml.js +645 -0
  377. package/dist/thread/runtime/avm2/number-strings.js +110 -0
  378. package/dist/thread/runtime/avm2/numbers.js +558 -0
  379. package/dist/thread/runtime/avm2/options.js +16 -0
  380. package/dist/thread/runtime/avm2/player-messages.js +550 -0
  381. package/dist/thread/runtime/avm2/property-cache.js +135 -0
  382. package/dist/thread/runtime/avm2/runtime.js +2644 -0
  383. package/dist/thread/runtime/avm2/traits.js +509 -0
  384. package/dist/thread/runtime/index.js +7 -0
  385. package/dist/web-worker.d.ts +2 -0
  386. package/dist/web-worker.d.ts.map +1 -0
  387. package/dist/web-worker.js +20 -0
  388. package/dist/web-worker.js.map +1 -0
  389. package/dist/websocket.d.ts +4 -0
  390. package/dist/websocket.d.ts.map +1 -0
  391. package/dist/websocket.js +27 -0
  392. package/dist/websocket.js.map +1 -0
  393. package/dist/workers.d.ts +35 -0
  394. package/dist/workers.d.ts.map +1 -0
  395. package/dist/workers.js +171 -0
  396. package/dist/workers.js.map +1 -0
  397. package/package.json +62 -3
  398. package/src/indexeddb.ts +227 -0
  399. package/src/node-worker.ts +13 -0
  400. package/src/node.ts +49 -0
  401. package/src/precompiled.ts +166 -0
  402. package/src/stage3d.ts +76 -0
  403. package/src/web-worker.ts +24 -0
  404. package/src/websocket.ts +32 -0
  405. package/src/workers.ts +255 -0
@@ -0,0 +1,190 @@
1
+ // LastOperationStatus's values.
2
+ export const NO_ERROR = "noError";
3
+ export const USING_FALLBACK_WARNING = "usingFallbackWarning";
4
+ export const USING_DEFAULT_WARNING = "usingDefaultWarning";
5
+ export const PARSE_ERROR = "parseError";
6
+ export const UNSUPPORTED_ERROR = "unsupportedError";
7
+ export const PATTERN_SYNTAX_ERROR = "patternSyntaxError";
8
+ export const ILLEGAL_ARGUMENT_ERROR = "illegalArgumentError";
9
+ export const INVALID_ATTR_VALUE = "invalidAttrValue";
10
+ /**
11
+ * A locale name's parts, as Flash takes it apart: a language, a script, a
12
+ * region, variants of two to eight letters and digits, not digits alone;
13
+ * any run of hyphens, underscores, dots or spaces between them.
14
+ */
15
+ export const NAME_PARTS = /^([a-z]{2,8})(?:[-_. ]+([a-z]{4}))?(?:[-_. ]+([a-z]{2}|\d{3}))?((?:[-_. ]+(?=\d*[a-z])[a-z\d]{2,8})*)[-_. ]*$/i;
16
+ /** The keywords after "@" Flash knows; any other leaves a name one it cannot take apart. */
17
+ const KEYWORDS = ["calendar", "collation", "currency", "numbers"];
18
+ /** A name's keywords, "@key=value;key=value", null for one Flash does not know. */
19
+ export function keywordsOf(name) {
20
+ const keywords = {};
21
+ const list = name.split("@")[1];
22
+ for (const pair of list ? list.split(";") : []) {
23
+ const [key, value] = pair.split("=");
24
+ if (!KEYWORDS.includes(key)) {
25
+ return null;
26
+ }
27
+ keywords[key] = value ?? "";
28
+ }
29
+ return keywords;
30
+ }
31
+ /**
32
+ * A locale name as Flash keeps what it was given: one it takes apart, its
33
+ * subtags parted by single hyphens or underscores, with hyphens, the
34
+ * language in lower case, a script capitalized, the region and variants in
35
+ * upper case; one parted otherwise as it came; one it cannot take apart all
36
+ * in lower case.
37
+ */
38
+ export function canonicalName(name) {
39
+ const [base, ...keywords] = name.split("@");
40
+ const m = NAME_PARTS.exec(base);
41
+ if (!m) {
42
+ return name.toLowerCase();
43
+ }
44
+ if (!/^[a-z\d]+(?:[-_][a-z\d]+)*$/i.test(base)) {
45
+ return name;
46
+ }
47
+ const [, language, script, region, variants] = m;
48
+ const named = [
49
+ language.toLowerCase(),
50
+ script && script[0].toUpperCase() + script.slice(1).toLowerCase(),
51
+ region?.toUpperCase(),
52
+ variants.slice(1).toUpperCase(),
53
+ ];
54
+ return [named.filter(Boolean).join("-").replaceAll("_", "-"), ...keywords].join("@");
55
+ }
56
+ // What Flash resolves: a language of two or three letters with the parts above.
57
+ const TAG = /^([a-z]{2,3})(?:[-_. ]+([a-z]{4}))?(?:[-_. ]+([a-z]{2}|\d{3}))?(?:[-_. ]+(?=\d*[a-z])[a-z\d]{2,8})*[-_. ]*$/i;
58
+ /**
59
+ * The names resolved last, at most this many: a name is any string a SWF
60
+ * makes, and every player shares the cache, so it must not keep them all.
61
+ */
62
+ export const RESOLVED_MAX = 64;
63
+ const resolved = new Map();
64
+ /** How many resolutions are kept, for tests. */
65
+ export function resolvedCount() {
66
+ return resolved.size;
67
+ }
68
+ /** The locale Flash uses for a name: the name's own, its language's in its likely region, or the default. */
69
+ export function resolveLocale(s, name) {
70
+ const key = `${name}@@${s.platform.locale}`;
71
+ let locale = resolved.get(key);
72
+ if (locale) {
73
+ // The most recent last, so that the oldest goes first.
74
+ resolved.delete(key);
75
+ }
76
+ else {
77
+ const requested = canonicalName(name);
78
+ const base = requested.split("@")[0];
79
+ const named = base !== "" && base !== "i-default";
80
+ const found = named && keywordsOf(requested) ? supported(base) : null;
81
+ locale = {
82
+ requested,
83
+ actual: found?.actual ?? defaultLocale(s),
84
+ status: found?.status ?? (named ? USING_DEFAULT_WARNING : NO_ERROR),
85
+ };
86
+ if (resolved.size >= RESOLVED_MAX) {
87
+ resolved.delete(resolved.keys().next().value);
88
+ }
89
+ }
90
+ resolved.set(key, locale);
91
+ return { ...locale };
92
+ }
93
+ function supported(base) {
94
+ const m = TAG.exec(base);
95
+ // A language Intl does not know, or knows by another code (iw for he, tl for fil), is none.
96
+ if (!m ||
97
+ m[1].toLowerCase() === "und" ||
98
+ Intl.DateTimeFormat.supportedLocalesOf(m[1]).length === 0 ||
99
+ Intl.getCanonicalLocales(m[1])[0] !== m[1].toLowerCase()) {
100
+ return null;
101
+ }
102
+ const language = m[1].toLowerCase();
103
+ const [, , script, region] = m;
104
+ const likely = new Intl.Locale(script ? `${language}-${script}` : language).maximize();
105
+ // A region ICU has data for is one its own data resolves to; one it has none for resolves
106
+ // to the language's (en-ZZ to en, the US), while nb-NO's data is nb's, Norway's.
107
+ const known = region !== undefined &&
108
+ new Intl.Locale(new Intl.NumberFormat(`${language}-${region}`).resolvedOptions().locale).maximize().region === region.toUpperCase();
109
+ // Windows names Chinese by its region alone: zh-TW, not zh-Hant-TW.
110
+ const named = script && language !== "zh" ? `${language}-${likely.script}` : language;
111
+ const place = known ? region.toUpperCase() : likely.region;
112
+ return {
113
+ actual: place ? `${named}-${place}` : named,
114
+ status: region === undefined || known ? NO_ERROR : USING_FALLBACK_WARNING,
115
+ };
116
+ }
117
+ /** The user's locale, a host's platform's, or en-US where it names none Flash could use. */
118
+ function defaultLocale(s) {
119
+ const found = supported(canonicalName(s.platform.locale));
120
+ return found && found.status === NO_ERROR ? found.actual : "en-US";
121
+ }
122
+ /** Flash's TypeError for a null argument. */
123
+ export function nonNull(s, value, name) {
124
+ if (value === null || value === undefined) {
125
+ throw s.rt.error("TypeError", 2007, name);
126
+ }
127
+ return value;
128
+ }
129
+ export function stringVector(s, strings) {
130
+ const o = s.rt.resolve(s.rt.vector("String")).$it.instance();
131
+ o.$a = strings;
132
+ return o;
133
+ }
134
+ /** A Vector.<String>'s strings, a null one as Flash's empty one. */
135
+ export function vectorStrings(v) {
136
+ return v.$a.map((x) => x ?? "");
137
+ }
138
+ // Each region's currency, which Intl does not give: most currencies' codes begin with their
139
+ // region's, the rest are listed with the regions that share them.
140
+ const NATIONAL = "AED AFN ALL AMD AOA ARS AWG AZN BAM BBD BDT BHD BIF BMD BND BOB BRL BSD BTN BWP BYN BZD " +
141
+ "CAD CDF CLP CNY COP CRC CUP CVE CZK DJF DOP DZD EGP ERN ETB FJD FKP GEL GHS GIP GMD GNF " +
142
+ "GTQ GYD HKD HNL HTG HUF IDR INR IQD IRR ISK JMD JOD JPY KES KGS KHR KMF KPW KRW KWD KYD " +
143
+ "KZT LAK LBP LKR LRD LSL LYD MDL MGA MKD MMK MNT MOP MRU MUR MVR MWK MXN MYR MZN NAD NGN " +
144
+ "NIO NPR OMR PAB PEN PGK PHP PKR PLN PYG QAR RON RSD RUB RWF SAR SBD SCR SDG SEK SGD SHP " +
145
+ "SLE SOS SRD SSP STN SYP SZL THB TJS TMT TND TOP TRY TTD TWD TZS UAH UGX UYU UZS VES VND " +
146
+ "VUV WST YER ZAR ZMW ZWG";
147
+ const SHARED = "EUR:AD AT AX BE BG BL CY DE EE ES FI FR GF GP GR HR IE IT LT LU LV MC ME MF MQ MT NL PM PT " +
148
+ "RE SI SK SM TF VA XK YT EA IC;USD:AS BQ DG EC FM GU IO MH MP PR PW SV TC TL UM US VG VI;" +
149
+ "AUD:AU CC CX HM KI NF NR TV;NZD:CK NU NZ PN TK;XOF:BF BJ CI GW ML NE SN TG;" +
150
+ "XAF:CF CG CM GA GQ TD;XCD:AG AI DM GD KN LC MS VC;XPF:NC PF WF;DKK:DK FO GL;" +
151
+ "NOK:BV NO SJ;CHF:CH LI;GBP:GB GG GS IM JE TA;MAD:EH MA;ILS:IL PS;XCG:CW SX;SHP:AC";
152
+ let currencies;
153
+ function currencyTable() {
154
+ if (!currencies) {
155
+ currencies = new Map(NATIONAL.split(" ").map((code) => [code.slice(0, 2), code]));
156
+ for (const group of SHARED.split(";")) {
157
+ const [code, regions] = group.split(":");
158
+ for (const region of regions.split(" ")) {
159
+ currencies.set(region, code);
160
+ }
161
+ }
162
+ }
163
+ return currencies;
164
+ }
165
+ /**
166
+ * A locale's currency, by its region: Windows' XDR, with no symbol, for an
167
+ * area of several countries (419, 150), ISO's "no currency" for any other
168
+ * region without one.
169
+ */
170
+ export function currencyOf(locale) {
171
+ const region = new Intl.Locale(locale).maximize().region ?? "";
172
+ return /^\d{3}$/.test(region) ? "XDR" : (currencyTable().get(region) ?? "XXX");
173
+ }
174
+ let available;
175
+ /**
176
+ * The locales the classes can use. Intl lists none, so these are each
177
+ * region's likely locale, where the host's Intl supports it; Flash on
178
+ * Windows lists the system's, 801 of them.
179
+ */
180
+ export function availableLocales(s) {
181
+ if (!available) {
182
+ const names = new Set();
183
+ for (const region of currencyTable().keys()) {
184
+ const likely = new Intl.Locale(`und-${region}`).maximize();
185
+ names.add(`${likely.language}-${likely.region}`);
186
+ }
187
+ available = Intl.DateTimeFormat.supportedLocalesOf([...names]).sort();
188
+ }
189
+ return stringVector(s, available.slice());
190
+ }
@@ -0,0 +1,89 @@
1
+ // flash.media.Camera as Flash Player has it on a machine without a camera:
2
+ // supported, but no names and no camera to get. A Camera made with `new`
3
+ // reads as zeros, and its settings change nothing, as in Flash.
4
+ import { avm2 } from "../../../../runtime/index.js";
5
+ export function cameraNatives(s) {
6
+ const natives = {};
7
+ /** Flash checks the arguments of the copies even with no picture to copy. */
8
+ function required(value, name) {
9
+ if (value === null || value === undefined) {
10
+ throw s.rt.error("TypeError", 2007, name);
11
+ }
12
+ }
13
+ class CameraNatives {
14
+ static get isSupported() {
15
+ return true;
16
+ }
17
+ /** A new array each time, as Flash's. */
18
+ static get names() {
19
+ return s.rt.array([]);
20
+ }
21
+ static getCamera(_name) {
22
+ return null;
23
+ }
24
+ get activityLevel() {
25
+ return 0;
26
+ }
27
+ get bandwidth() {
28
+ return 0;
29
+ }
30
+ get currentFPS() {
31
+ return 0;
32
+ }
33
+ get fps() {
34
+ return 0;
35
+ }
36
+ get height() {
37
+ return 0;
38
+ }
39
+ get index() {
40
+ return 0;
41
+ }
42
+ get keyFrameInterval() {
43
+ return 0;
44
+ }
45
+ get loopback() {
46
+ return false;
47
+ }
48
+ get motionLevel() {
49
+ return 0;
50
+ }
51
+ get motionTimeout() {
52
+ return 0;
53
+ }
54
+ get muted() {
55
+ return false;
56
+ }
57
+ get name() {
58
+ return null;
59
+ }
60
+ get position() {
61
+ return null;
62
+ }
63
+ get quality() {
64
+ return 0;
65
+ }
66
+ get width() {
67
+ return 0;
68
+ }
69
+ setCursor(_value) { }
70
+ setKeyFrameInterval(_keyFrameInterval) { }
71
+ setLoopback(_compress) { }
72
+ setMode(_width, _height, _fps, _favorArea) { }
73
+ setMotionLevel(_motionLevel, _timeout) { }
74
+ setQuality(_bandwidth, _quality) { }
75
+ drawToBitmapData(destination) {
76
+ required(destination, "destination");
77
+ }
78
+ copyToByteArray(rect, destination) {
79
+ required(rect, "rect");
80
+ required(destination, "destination");
81
+ }
82
+ copyToVector(rect, destination) {
83
+ required(rect, "rect");
84
+ required(destination, "destination");
85
+ }
86
+ }
87
+ avm2.registerNativeClass(natives, "flash.media::Camera", CameraNatives);
88
+ return natives;
89
+ }
@@ -0,0 +1,126 @@
1
+ // flash.media.Microphone as Flash Player has it on a machine without a
2
+ // microphone: supported, but no names and no microphone to get. A
3
+ // Microphone made with `new` reads as zeros and nulls, and its settings
4
+ // change nothing, as in Flash; only the null checks of its setters remain.
5
+ // The enhanced options are the exception: Flash keeps one set for every
6
+ // Microphone once getEnhancedMicrophone has been called, whatever it returned.
7
+ import { avm2 } from "../../../../runtime/index.js";
8
+ export function microphoneNatives(s) {
9
+ const natives = {};
10
+ let enhanced;
11
+ function required(value, name) {
12
+ if (value === null || value === undefined) {
13
+ throw s.rt.error("TypeError", 2007, name);
14
+ }
15
+ }
16
+ class MicrophoneNatives {
17
+ static get isSupported() {
18
+ return true;
19
+ }
20
+ /** A new array each time, as Flash's. */
21
+ static get names() {
22
+ return s.rt.array([]);
23
+ }
24
+ static getMicrophone(_index) {
25
+ return null;
26
+ }
27
+ static getEnhancedMicrophone(_index) {
28
+ enhanced ??= new Map([
29
+ ["mode", "fullDuplex"],
30
+ ["echoPath", 128],
31
+ ["nonLinearProcessing", true],
32
+ ]);
33
+ return null;
34
+ }
35
+ get activityLevel() {
36
+ return 0;
37
+ }
38
+ get codec() {
39
+ return null;
40
+ }
41
+ set codec(codec) {
42
+ required(codec, "codecString");
43
+ }
44
+ get enableVAD() {
45
+ return false;
46
+ }
47
+ set enableVAD(_isEnabled) { }
48
+ get encodeQuality() {
49
+ return 0;
50
+ }
51
+ set encodeQuality(_quality) { }
52
+ /** A copy of the shared options; isVoiceDetected and autoGain are not kept. */
53
+ get enhancedOptions() {
54
+ if (!enhanced) {
55
+ return null;
56
+ }
57
+ const o = s.rt.construct(s.rt.classNamed("flash.media::MicrophoneEnhancedOptions"));
58
+ for (const [name, value] of enhanced) {
59
+ s.rt.setProperty(o, s.rt.publicName(name), value);
60
+ }
61
+ return o;
62
+ }
63
+ set enhancedOptions(options) {
64
+ if (!enhanced || options === null || options === undefined) {
65
+ return;
66
+ }
67
+ for (const name of enhanced.keys()) {
68
+ enhanced.set(name, s.rt.getProperty(options, s.rt.publicName(name)));
69
+ }
70
+ }
71
+ get framesPerPacket() {
72
+ return 0;
73
+ }
74
+ set framesPerPacket(_fpp) { }
75
+ get gain() {
76
+ return 0;
77
+ }
78
+ set gain(_gain) { }
79
+ get index() {
80
+ return 0;
81
+ }
82
+ get muted() {
83
+ return false;
84
+ }
85
+ get name() {
86
+ return null;
87
+ }
88
+ get noiseSuppressionLevel() {
89
+ return 0;
90
+ }
91
+ set noiseSuppressionLevel(_level) { }
92
+ get rate() {
93
+ return 0;
94
+ }
95
+ set rate(_rate) { }
96
+ get silenceLevel() {
97
+ return 0;
98
+ }
99
+ get silenceTimeout() {
100
+ return 0;
101
+ }
102
+ /** A new, untouched transform each time: what is set is not kept. */
103
+ get soundTransform() {
104
+ return s.rt.construct(s.rt.classNamed("flash.media::SoundTransform"));
105
+ }
106
+ set soundTransform(transform) {
107
+ required(transform, "sndTransform");
108
+ }
109
+ get useEchoSuppression() {
110
+ return false;
111
+ }
112
+ setLoopBack(_isLooped) { }
113
+ setSilenceLevel(_silenceLevel, _timeout) { }
114
+ setUseEchoSuppression(_isEchoSuppressed) { }
115
+ }
116
+ /** Flash keeps autoGain off whatever is set: its other options are AS3. */
117
+ class MicrophoneEnhancedOptionsNatives {
118
+ get autoGain() {
119
+ return false;
120
+ }
121
+ set autoGain(_value) { }
122
+ }
123
+ avm2.registerNativeClass(natives, "flash.media::Microphone", MicrophoneNatives);
124
+ avm2.registerNativeClass(natives, "flash.media::MicrophoneEnhancedOptions", MicrophoneEnhancedOptionsNatives);
125
+ return natives;
126
+ }