@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.
- package/LICENSE +202 -0
- package/LICENSE.third-party +422 -0
- package/README.md +29 -2
- package/dist/avm1/activation.d.ts +108 -0
- package/dist/avm1/activation.d.ts.map +1 -0
- package/dist/avm1/activation.js +90 -0
- package/dist/avm1/activation.js.map +1 -0
- package/dist/avm1/case.d.ts +3 -0
- package/dist/avm1/case.d.ts.map +1 -0
- package/dist/avm1/case.js +250 -0
- package/dist/avm1/case.js.map +1 -0
- package/dist/avm1/clips.d.ts +68 -0
- package/dist/avm1/clips.d.ts.map +1 -0
- package/dist/avm1/clips.js +335 -0
- package/dist/avm1/clips.js.map +1 -0
- package/dist/avm1/control.d.ts +54 -0
- package/dist/avm1/control.d.ts.map +1 -0
- package/dist/avm1/control.js +281 -0
- package/dist/avm1/control.js.map +1 -0
- package/dist/avm1/errors.d.ts +49 -0
- package/dist/avm1/errors.d.ts.map +1 -0
- package/dist/avm1/errors.js +51 -0
- package/dist/avm1/errors.js.map +1 -0
- package/dist/avm1/functions.d.ts +94 -0
- package/dist/avm1/functions.d.ts.map +1 -0
- package/dist/avm1/functions.js +250 -0
- package/dist/avm1/functions.js.map +1 -0
- package/dist/avm1/globals/array.d.ts +8 -0
- package/dist/avm1/globals/array.d.ts.map +1 -0
- package/dist/avm1/globals/array.js +550 -0
- package/dist/avm1/globals/array.js.map +1 -0
- package/dist/avm1/globals/broadcaster.d.ts +22 -0
- package/dist/avm1/globals/broadcaster.d.ts.map +1 -0
- package/dist/avm1/globals/broadcaster.js +132 -0
- package/dist/avm1/globals/broadcaster.js.map +1 -0
- package/dist/avm1/globals/date.d.ts +10 -0
- package/dist/avm1/globals/date.d.ts.map +1 -0
- package/dist/avm1/globals/date.js +437 -0
- package/dist/avm1/globals/date.js.map +1 -0
- package/dist/avm1/globals/global.d.ts +23 -0
- package/dist/avm1/globals/global.d.ts.map +1 -0
- package/dist/avm1/globals/global.js +345 -0
- package/dist/avm1/globals/global.js.map +1 -0
- package/dist/avm1/globals/math.d.ts +7 -0
- package/dist/avm1/globals/math.d.ts.map +1 -0
- package/dist/avm1/globals/math.js +140 -0
- package/dist/avm1/globals/math.js.map +1 -0
- package/dist/avm1/globals/number.d.ts +11 -0
- package/dist/avm1/globals/number.d.ts.map +1 -0
- package/dist/avm1/globals/number.js +94 -0
- package/dist/avm1/globals/number.js.map +1 -0
- package/dist/avm1/globals/string.d.ts +8 -0
- package/dist/avm1/globals/string.d.ts.map +1 -0
- package/dist/avm1/globals/string.js +202 -0
- package/dist/avm1/globals/string.js.map +1 -0
- package/dist/avm1/globals/timers.d.ts +49 -0
- package/dist/avm1/globals/timers.d.ts.map +1 -0
- package/dist/avm1/globals/timers.js +130 -0
- package/dist/avm1/globals/timers.js.map +1 -0
- package/dist/avm1/host.d.ts +146 -0
- package/dist/avm1/host.d.ts.map +1 -0
- package/dist/avm1/host.js +6 -0
- package/dist/avm1/host.js.map +1 -0
- package/dist/avm1/index.d.ts +15 -0
- package/dist/avm1/index.d.ts.map +1 -0
- package/dist/avm1/index.js +15 -0
- package/dist/avm1/index.js.map +1 -0
- package/dist/avm1/inheritance.d.ts +25 -0
- package/dist/avm1/inheritance.d.ts.map +1 -0
- package/dist/avm1/inheritance.js +133 -0
- package/dist/avm1/inheritance.js.map +1 -0
- package/dist/avm1/numbers.d.ts +21 -0
- package/dist/avm1/numbers.d.ts.map +1 -0
- package/dist/avm1/numbers.js +299 -0
- package/dist/avm1/numbers.js.map +1 -0
- package/dist/avm1/objects.d.ts +245 -0
- package/dist/avm1/objects.d.ts.map +1 -0
- package/dist/avm1/objects.js +897 -0
- package/dist/avm1/objects.js.map +1 -0
- package/dist/avm1/operators.d.ts +45 -0
- package/dist/avm1/operators.d.ts.map +1 -0
- package/dist/avm1/operators.js +171 -0
- package/dist/avm1/operators.js.map +1 -0
- package/dist/avm1/realm.d.ts +126 -0
- package/dist/avm1/realm.d.ts.map +1 -0
- package/dist/avm1/realm.js +530 -0
- package/dist/avm1/realm.js.map +1 -0
- package/dist/avm1/runtime.d.ts +294 -0
- package/dist/avm1/runtime.d.ts.map +1 -0
- package/dist/avm1/runtime.js +883 -0
- package/dist/avm1/runtime.js.map +1 -0
- package/dist/avm1/scope.d.ts +77 -0
- package/dist/avm1/scope.d.ts.map +1 -0
- package/dist/avm1/scope.js +386 -0
- package/dist/avm1/scope.js.map +1 -0
- package/dist/avm1/urls.d.ts +25 -0
- package/dist/avm1/urls.d.ts.map +1 -0
- package/dist/avm1/urls.js +181 -0
- package/dist/avm1/urls.js.map +1 -0
- package/dist/avm1/values.d.ts +52 -0
- package/dist/avm1/values.d.ts.map +1 -0
- package/dist/avm1/values.js +98 -0
- package/dist/avm1/values.js.map +1 -0
- package/dist/avm2/amf-classes.d.ts +28 -0
- package/dist/avm2/amf-classes.d.ts.map +1 -0
- package/dist/avm2/amf-classes.js +67 -0
- package/dist/avm2/amf-classes.js.map +1 -0
- package/dist/avm2/amf.d.ts +96 -0
- package/dist/avm2/amf.d.ts.map +1 -0
- package/dist/avm2/amf.js +802 -0
- package/dist/avm2/amf.js.map +1 -0
- package/dist/avm2/array-conversion.d.ts +31 -0
- package/dist/avm2/array-conversion.d.ts.map +1 -0
- package/dist/avm2/array-conversion.js +101 -0
- package/dist/avm2/array-conversion.js.map +1 -0
- package/dist/avm2/builtin-library.d.ts +2 -0
- package/dist/avm2/builtin-library.d.ts.map +1 -0
- package/dist/avm2/builtin-library.js +22 -0
- package/dist/avm2/builtin-library.js.map +1 -0
- package/dist/avm2/cache-fill.d.ts +14 -0
- package/dist/avm2/cache-fill.d.ts.map +1 -0
- package/dist/avm2/cache-fill.js +87 -0
- package/dist/avm2/cache-fill.js.map +1 -0
- package/dist/avm2/classes.d.ts +17 -0
- package/dist/avm2/classes.d.ts.map +1 -0
- package/dist/avm2/classes.js +212 -0
- package/dist/avm2/classes.js.map +1 -0
- package/dist/avm2/definitions.d.ts +28 -0
- package/dist/avm2/definitions.d.ts.map +1 -0
- package/dist/avm2/definitions.js +70 -0
- package/dist/avm2/definitions.js.map +1 -0
- package/dist/avm2/descriptors.d.ts +118 -0
- package/dist/avm2/descriptors.d.ts.map +1 -0
- package/dist/avm2/descriptors.js +6 -0
- package/dist/avm2/descriptors.js.map +1 -0
- package/dist/avm2/dictionary-keys.d.ts +73 -0
- package/dist/avm2/dictionary-keys.d.ts.map +1 -0
- package/dist/avm2/dictionary-keys.js +296 -0
- package/dist/avm2/dictionary-keys.js.map +1 -0
- package/dist/avm2/domain-memory.d.ts +23 -0
- package/dist/avm2/domain-memory.d.ts.map +1 -0
- package/dist/avm2/domain-memory.js +76 -0
- package/dist/avm2/domain-memory.js.map +1 -0
- package/dist/avm2/domain.d.ts +108 -0
- package/dist/avm2/domain.d.ts.map +1 -0
- package/dist/avm2/domain.js +281 -0
- package/dist/avm2/domain.js.map +1 -0
- package/dist/avm2/dynamic-properties.d.ts +62 -0
- package/dist/avm2/dynamic-properties.d.ts.map +1 -0
- package/dist/avm2/dynamic-properties.js +183 -0
- package/dist/avm2/dynamic-properties.js.map +1 -0
- package/dist/avm2/enumeration.d.ts +75 -0
- package/dist/avm2/enumeration.d.ts.map +1 -0
- package/dist/avm2/enumeration.js +394 -0
- package/dist/avm2/enumeration.js.map +1 -0
- package/dist/avm2/errors.d.ts +20 -0
- package/dist/avm2/errors.d.ts.map +1 -0
- package/dist/avm2/errors.js +46 -0
- package/dist/avm2/errors.js.map +1 -0
- package/dist/avm2/float-library.d.ts +2 -0
- package/dist/avm2/float-library.d.ts.map +1 -0
- package/dist/avm2/float-library.js +67 -0
- package/dist/avm2/float-library.js.map +1 -0
- package/dist/avm2/float.d.ts +9 -0
- package/dist/avm2/float.d.ts.map +1 -0
- package/dist/avm2/float.js +27 -0
- package/dist/avm2/float.js.map +1 -0
- package/dist/avm2/hooks.d.ts +77 -0
- package/dist/avm2/hooks.d.ts.map +1 -0
- package/dist/avm2/hooks.js +20 -0
- package/dist/avm2/hooks.js.map +1 -0
- package/dist/avm2/index.d.ts +32 -0
- package/dist/avm2/index.d.ts.map +1 -0
- package/dist/avm2/index.js +39 -0
- package/dist/avm2/index.js.map +1 -0
- package/dist/avm2/messages.d.ts +2 -0
- package/dist/avm2/messages.d.ts.map +1 -0
- package/dist/avm2/messages.js +178 -0
- package/dist/avm2/messages.js.map +1 -0
- package/dist/avm2/method-factories.d.ts +35 -0
- package/dist/avm2/method-factories.d.ts.map +1 -0
- package/dist/avm2/method-factories.js +96 -0
- package/dist/avm2/method-factories.js.map +1 -0
- package/dist/avm2/modules.d.ts +40 -0
- package/dist/avm2/modules.d.ts.map +1 -0
- package/dist/avm2/modules.js +106 -0
- package/dist/avm2/modules.js.map +1 -0
- package/dist/avm2/names.d.ts +143 -0
- package/dist/avm2/names.d.ts.map +1 -0
- package/dist/avm2/names.js +249 -0
- package/dist/avm2/names.js.map +1 -0
- package/dist/avm2/natives/aliases.d.ts +3 -0
- package/dist/avm2/natives/aliases.d.ts.map +1 -0
- package/dist/avm2/natives/aliases.js +48 -0
- package/dist/avm2/natives/aliases.js.map +1 -0
- package/dist/avm2/natives/array.d.ts +5 -0
- package/dist/avm2/natives/array.d.ts.map +1 -0
- package/dist/avm2/natives/array.js +391 -0
- package/dist/avm2/natives/array.js.map +1 -0
- package/dist/avm2/natives/bytearray.d.ts +180 -0
- package/dist/avm2/natives/bytearray.d.ts.map +1 -0
- package/dist/avm2/natives/bytearray.js +1228 -0
- package/dist/avm2/natives/bytearray.js.map +1 -0
- package/dist/avm2/natives/case.d.ts +5 -0
- package/dist/avm2/natives/case.d.ts.map +1 -0
- package/dist/avm2/natives/case.js +89 -0
- package/dist/avm2/natives/case.js.map +1 -0
- package/dist/avm2/natives/concurrent.d.ts +24 -0
- package/dist/avm2/natives/concurrent.d.ts.map +1 -0
- package/dist/avm2/natives/concurrent.js +200 -0
- package/dist/avm2/natives/concurrent.js.map +1 -0
- package/dist/avm2/natives/date.d.ts +5 -0
- package/dist/avm2/natives/date.d.ts.map +1 -0
- package/dist/avm2/natives/date.js +582 -0
- package/dist/avm2/natives/date.js.map +1 -0
- package/dist/avm2/natives/define.d.ts +58 -0
- package/dist/avm2/natives/define.d.ts.map +1 -0
- package/dist/avm2/natives/define.js +131 -0
- package/dist/avm2/natives/define.js.map +1 -0
- package/dist/avm2/natives/describe.d.ts +3 -0
- package/dist/avm2/natives/describe.d.ts.map +1 -0
- package/dist/avm2/natives/describe.js +352 -0
- package/dist/avm2/natives/describe.js.map +1 -0
- package/dist/avm2/natives/dictionary.d.ts +3 -0
- package/dist/avm2/natives/dictionary.d.ts.map +1 -0
- package/dist/avm2/natives/dictionary.js +13 -0
- package/dist/avm2/natives/dictionary.js.map +1 -0
- package/dist/avm2/natives/float-vector.d.ts +20 -0
- package/dist/avm2/natives/float-vector.d.ts.map +1 -0
- package/dist/avm2/natives/float-vector.js +82 -0
- package/dist/avm2/natives/float-vector.js.map +1 -0
- package/dist/avm2/natives/float.d.ts +5 -0
- package/dist/avm2/natives/float.d.ts.map +1 -0
- package/dist/avm2/natives/float.js +97 -0
- package/dist/avm2/natives/float.js.map +1 -0
- package/dist/avm2/natives/index.d.ts +7 -0
- package/dist/avm2/natives/index.d.ts.map +1 -0
- package/dist/avm2/natives/index.js +65 -0
- package/dist/avm2/natives/index.js.map +1 -0
- package/dist/avm2/natives/json.d.ts +3 -0
- package/dist/avm2/natives/json.d.ts.map +1 -0
- package/dist/avm2/natives/json.js +515 -0
- package/dist/avm2/natives/json.js.map +1 -0
- package/dist/avm2/natives/number.d.ts +15 -0
- package/dist/avm2/natives/number.d.ts.map +1 -0
- package/dist/avm2/natives/number.js +163 -0
- package/dist/avm2/natives/number.js.map +1 -0
- package/dist/avm2/natives/object.d.ts +8 -0
- package/dist/avm2/natives/object.d.ts.map +1 -0
- package/dist/avm2/natives/object.js +238 -0
- package/dist/avm2/natives/object.js.map +1 -0
- package/dist/avm2/natives/proxy.d.ts +5 -0
- package/dist/avm2/natives/proxy.d.ts.map +1 -0
- package/dist/avm2/natives/proxy.js +76 -0
- package/dist/avm2/natives/proxy.js.map +1 -0
- package/dist/avm2/natives/regexp.d.ts +21 -0
- package/dist/avm2/natives/regexp.d.ts.map +1 -0
- package/dist/avm2/natives/regexp.js +486 -0
- package/dist/avm2/natives/regexp.js.map +1 -0
- package/dist/avm2/natives/shell-workers.d.ts +140 -0
- package/dist/avm2/natives/shell-workers.d.ts.map +1 -0
- package/dist/avm2/natives/shell-workers.js +405 -0
- package/dist/avm2/natives/shell-workers.js.map +1 -0
- package/dist/avm2/natives/shell.d.ts +12 -0
- package/dist/avm2/natives/shell.d.ts.map +1 -0
- package/dist/avm2/natives/shell.js +558 -0
- package/dist/avm2/natives/shell.js.map +1 -0
- package/dist/avm2/natives/sort.d.ts +7 -0
- package/dist/avm2/natives/sort.d.ts.map +1 -0
- package/dist/avm2/natives/sort.js +378 -0
- package/dist/avm2/natives/sort.js.map +1 -0
- package/dist/avm2/natives/string.d.ts +5 -0
- package/dist/avm2/natives/string.d.ts.map +1 -0
- package/dist/avm2/natives/string.js +133 -0
- package/dist/avm2/natives/string.js.map +1 -0
- package/dist/avm2/natives/sync.d.ts +215 -0
- package/dist/avm2/natives/sync.d.ts.map +1 -0
- package/dist/avm2/natives/sync.js +822 -0
- package/dist/avm2/natives/sync.js.map +1 -0
- package/dist/avm2/natives/toplevel.d.ts +5 -0
- package/dist/avm2/natives/toplevel.d.ts.map +1 -0
- package/dist/avm2/natives/toplevel.js +140 -0
- package/dist/avm2/natives/toplevel.js.map +1 -0
- package/dist/avm2/natives/vector-elements.d.ts +10 -0
- package/dist/avm2/natives/vector-elements.d.ts.map +1 -0
- package/dist/avm2/natives/vector-elements.js +47 -0
- package/dist/avm2/natives/vector-elements.js.map +1 -0
- package/dist/avm2/natives/vector.d.ts +5 -0
- package/dist/avm2/natives/vector.d.ts.map +1 -0
- package/dist/avm2/natives/vector.js +407 -0
- package/dist/avm2/natives/vector.js.map +1 -0
- package/dist/avm2/natives/xml/access.d.ts +34 -0
- package/dist/avm2/natives/xml/access.d.ts.map +1 -0
- package/dist/avm2/natives/xml/access.js +634 -0
- package/dist/avm2/natives/xml/access.js.map +1 -0
- package/dist/avm2/natives/xml/build.d.ts +11 -0
- package/dist/avm2/natives/xml/build.d.ts.map +1 -0
- package/dist/avm2/natives/xml/build.js +292 -0
- package/dist/avm2/natives/xml/build.js.map +1 -0
- package/dist/avm2/natives/xml/chars.d.ts +9 -0
- package/dist/avm2/natives/xml/chars.d.ts.map +1 -0
- package/dist/avm2/natives/xml/chars.js +113 -0
- package/dist/avm2/natives/xml/chars.js.map +1 -0
- package/dist/avm2/natives/xml/escape.d.ts +5 -0
- package/dist/avm2/natives/xml/escape.d.ts.map +1 -0
- package/dist/avm2/natives/xml/escape.js +39 -0
- package/dist/avm2/natives/xml/escape.js.map +1 -0
- package/dist/avm2/natives/xml/names.d.ts +46 -0
- package/dist/avm2/natives/xml/names.d.ts.map +1 -0
- package/dist/avm2/natives/xml/names.js +205 -0
- package/dist/avm2/natives/xml/names.js.map +1 -0
- package/dist/avm2/natives/xml/node.d.ts +94 -0
- package/dist/avm2/natives/xml/node.d.ts.map +1 -0
- package/dist/avm2/natives/xml/node.js +273 -0
- package/dist/avm2/natives/xml/node.js.map +1 -0
- package/dist/avm2/natives/xml/operators.d.ts +7 -0
- package/dist/avm2/natives/xml/operators.d.ts.map +1 -0
- package/dist/avm2/natives/xml/operators.js +70 -0
- package/dist/avm2/natives/xml/operators.js.map +1 -0
- package/dist/avm2/natives/xml/parser.d.ts +51 -0
- package/dist/avm2/natives/xml/parser.d.ts.map +1 -0
- package/dist/avm2/natives/xml/parser.js +357 -0
- package/dist/avm2/natives/xml/parser.js.map +1 -0
- package/dist/avm2/natives/xml/strings.d.ts +10 -0
- package/dist/avm2/natives/xml/strings.d.ts.map +1 -0
- package/dist/avm2/natives/xml/strings.js +192 -0
- package/dist/avm2/natives/xml/strings.js.map +1 -0
- package/dist/avm2/natives/xml/values.d.ts +48 -0
- package/dist/avm2/natives/xml/values.d.ts.map +1 -0
- package/dist/avm2/natives/xml/values.js +123 -0
- package/dist/avm2/natives/xml/values.js.map +1 -0
- package/dist/avm2/natives/xml/xml.d.ts +5 -0
- package/dist/avm2/natives/xml/xml.d.ts.map +1 -0
- package/dist/avm2/natives/xml/xml.js +646 -0
- package/dist/avm2/natives/xml/xml.js.map +1 -0
- package/dist/avm2/number-strings.d.ts +28 -0
- package/dist/avm2/number-strings.d.ts.map +1 -0
- package/dist/avm2/number-strings.js +111 -0
- package/dist/avm2/number-strings.js.map +1 -0
- package/dist/avm2/numbers.d.ts +12 -0
- package/dist/avm2/numbers.d.ts.map +1 -0
- package/dist/avm2/numbers.js +559 -0
- package/dist/avm2/numbers.js.map +1 -0
- package/dist/avm2/options.d.ts +105 -0
- package/dist/avm2/options.d.ts.map +1 -0
- package/dist/avm2/options.js +17 -0
- package/dist/avm2/options.js.map +1 -0
- package/dist/avm2/player-messages.d.ts +3 -0
- package/dist/avm2/player-messages.d.ts.map +1 -0
- package/dist/avm2/player-messages.js +551 -0
- package/dist/avm2/player-messages.js.map +1 -0
- package/dist/avm2/property-cache.d.ts +61 -0
- package/dist/avm2/property-cache.d.ts.map +1 -0
- package/dist/avm2/property-cache.js +136 -0
- package/dist/avm2/property-cache.js.map +1 -0
- package/dist/avm2/runtime.d.ts +588 -0
- package/dist/avm2/runtime.d.ts.map +1 -0
- package/dist/avm2/runtime.js +2645 -0
- package/dist/avm2/runtime.js.map +1 -0
- package/dist/avm2/traits.d.ts +233 -0
- package/dist/avm2/traits.d.ts.map +1 -0
- package/dist/avm2/traits.js +510 -0
- package/dist/avm2/traits.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -0
- package/package.json +43 -3
- package/src/avm1/activation.ts +114 -0
- package/src/avm1/case.ts +257 -0
- package/src/avm1/clips.ts +440 -0
- package/src/avm1/control.ts +339 -0
- package/src/avm1/errors.ts +60 -0
- package/src/avm1/functions.ts +271 -0
- package/src/avm1/globals/array.ts +676 -0
- package/src/avm1/globals/broadcaster.ts +185 -0
- package/src/avm1/globals/date.ts +548 -0
- package/src/avm1/globals/global.ts +420 -0
- package/src/avm1/globals/math.ts +152 -0
- package/src/avm1/globals/number.ts +122 -0
- package/src/avm1/globals/string.ts +254 -0
- package/src/avm1/globals/timers.ts +144 -0
- package/src/avm1/host.ts +155 -0
- package/src/avm1/index.ts +69 -0
- package/src/avm1/inheritance.ts +159 -0
- package/src/avm1/numbers.ts +348 -0
- package/src/avm1/objects.ts +1080 -0
- package/src/avm1/operators.ts +229 -0
- package/src/avm1/realm.ts +704 -0
- package/src/avm1/runtime.ts +1291 -0
- package/src/avm1/scope.ts +482 -0
- package/src/avm1/urls.ts +226 -0
- package/src/avm1/values.ts +145 -0
- package/src/avm2/amf-classes.ts +80 -0
- package/src/avm2/amf.ts +913 -0
- package/src/avm2/array-conversion.ts +117 -0
- package/src/avm2/builtin-library.ts +28 -0
- package/src/avm2/cache-fill.ts +124 -0
- package/src/avm2/classes.ts +235 -0
- package/src/avm2/definitions.ts +93 -0
- package/src/avm2/descriptors.ts +137 -0
- package/src/avm2/dictionary-keys.ts +345 -0
- package/src/avm2/domain-memory.ts +95 -0
- package/src/avm2/domain.ts +335 -0
- package/src/avm2/dynamic-properties.ts +209 -0
- package/src/avm2/enumeration.ts +506 -0
- package/src/avm2/errors.ts +54 -0
- package/src/avm2/float-library.ts +66 -0
- package/src/avm2/float.ts +31 -0
- package/src/avm2/hooks.ts +97 -0
- package/src/avm2/index.ts +84 -0
- package/src/avm2/messages.ts +178 -0
- package/src/avm2/method-factories.ts +130 -0
- package/src/avm2/modules.ts +120 -0
- package/src/avm2/names.ts +292 -0
- package/src/avm2/natives/aliases.ts +59 -0
- package/src/avm2/natives/array.ts +482 -0
- package/src/avm2/natives/bytearray.ts +1474 -0
- package/src/avm2/natives/case.ts +98 -0
- package/src/avm2/natives/concurrent.ts +268 -0
- package/src/avm2/natives/date.ts +678 -0
- package/src/avm2/natives/define.ts +176 -0
- package/src/avm2/natives/describe.ts +426 -0
- package/src/avm2/natives/dictionary.ts +18 -0
- package/src/avm2/natives/float-vector.ts +99 -0
- package/src/avm2/natives/float.ts +116 -0
- package/src/avm2/natives/index.ts +70 -0
- package/src/avm2/natives/json.ts +600 -0
- package/src/avm2/natives/number.ts +194 -0
- package/src/avm2/natives/object.ts +272 -0
- package/src/avm2/natives/proxy.ts +98 -0
- package/src/avm2/natives/regexp.ts +580 -0
- package/src/avm2/natives/shell-workers.ts +474 -0
- package/src/avm2/natives/shell.ts +707 -0
- package/src/avm2/natives/sort.ts +438 -0
- package/src/avm2/natives/string.ts +158 -0
- package/src/avm2/natives/sync.ts +964 -0
- package/src/avm2/natives/toplevel.ts +163 -0
- package/src/avm2/natives/vector-elements.ts +61 -0
- package/src/avm2/natives/vector.ts +511 -0
- package/src/avm2/natives/xml/access.ts +767 -0
- package/src/avm2/natives/xml/build.ts +381 -0
- package/src/avm2/natives/xml/chars.ts +127 -0
- package/src/avm2/natives/xml/escape.ts +46 -0
- package/src/avm2/natives/xml/names.ts +256 -0
- package/src/avm2/natives/xml/node.ts +339 -0
- package/src/avm2/natives/xml/operators.ts +90 -0
- package/src/avm2/natives/xml/parser.ts +414 -0
- package/src/avm2/natives/xml/strings.ts +241 -0
- package/src/avm2/natives/xml/values.ts +162 -0
- package/src/avm2/natives/xml/xml.ts +829 -0
- package/src/avm2/number-strings.ts +127 -0
- package/src/avm2/numbers.ts +605 -0
- package/src/avm2/options.ts +125 -0
- package/src/avm2/player-messages.ts +552 -0
- package/src/avm2/property-cache.ts +160 -0
- package/src/avm2/runtime.ts +3274 -0
- package/src/avm2/traits.ts +584 -0
- package/src/index.ts +8 -0
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
/** The memory every thread of a primordial's shares, plain data a structured clone carries. */
|
|
2
|
+
export interface SyncMemory {
|
|
3
|
+
/** The heap: its header, then blocks, each a power of two words. */
|
|
4
|
+
heap: SharedArrayBuffer | ArrayBuffer;
|
|
5
|
+
/** Two words a thread, by its worker's number: whether it is blocked in a wait, and whether it runs or has ended. */
|
|
6
|
+
threads: SharedArrayBuffer | ArrayBuffer;
|
|
7
|
+
}
|
|
8
|
+
/** How a runtime takes part: the memory, and the worker it runs. */
|
|
9
|
+
export interface SyncInit {
|
|
10
|
+
memory: SyncMemory;
|
|
11
|
+
/** Its worker's number, 0 being the primordial. */
|
|
12
|
+
thread: number;
|
|
13
|
+
/**
|
|
14
|
+
* Spin rather than block even where the thread could, as a browser's
|
|
15
|
+
* main thread must: for tests of the spinning path.
|
|
16
|
+
*/
|
|
17
|
+
spin?: boolean;
|
|
18
|
+
/** How long a spinning lock or wait may take before it fails, in milliseconds: Flash's 15 s by default. */
|
|
19
|
+
timeout?: number;
|
|
20
|
+
}
|
|
21
|
+
/** Flash's script timeout, which a primordial that blocks too long hits. */
|
|
22
|
+
export declare const SCRIPT_TIMEOUT = 15000;
|
|
23
|
+
/** New memory for a primordial's workers: shared where it can be, else this thread's alone. */
|
|
24
|
+
export declare function newSyncMemory(): SyncMemory;
|
|
25
|
+
/**
|
|
26
|
+
* What a terminated worker's thread gets for anything it asks of the shared
|
|
27
|
+
* memory while it still runs: it changes nothing there any more, and its
|
|
28
|
+
* code stops, as avmplus interrupts a terminated worker.
|
|
29
|
+
*/
|
|
30
|
+
export declare class SyncTerminated extends Error {
|
|
31
|
+
constructor();
|
|
32
|
+
}
|
|
33
|
+
/** The shared heap has no room for a block, or a block would be larger than it. */
|
|
34
|
+
export declare class SyncFull extends RangeError {
|
|
35
|
+
constructor();
|
|
36
|
+
}
|
|
37
|
+
/** A lock or wait that spun for longer than the script timeout. */
|
|
38
|
+
export declare class SyncTimeout extends Error {
|
|
39
|
+
constructor();
|
|
40
|
+
}
|
|
41
|
+
/** The shared heap as one thread sees it. */
|
|
42
|
+
export declare class Sync {
|
|
43
|
+
readonly memory: SyncMemory;
|
|
44
|
+
readonly thread: number;
|
|
45
|
+
readonly words: Int32Array;
|
|
46
|
+
readonly bytes: Uint8Array;
|
|
47
|
+
private readonly threads;
|
|
48
|
+
/** Whether other threads see this memory: else nothing else can take a lock or notify. */
|
|
49
|
+
readonly shared: boolean;
|
|
50
|
+
/** Whether this thread blocks in Atomics.wait, or spins. */
|
|
51
|
+
readonly waits: boolean;
|
|
52
|
+
readonly timeout: number;
|
|
53
|
+
private record;
|
|
54
|
+
/** See spinningSince. */
|
|
55
|
+
private spinning;
|
|
56
|
+
/**
|
|
57
|
+
* What this thread does whenever it waits, between waits of no more
|
|
58
|
+
* than a few milliseconds: the primordial takes its requests then, as
|
|
59
|
+
* a background worker that asks for a worker may be what it waits for.
|
|
60
|
+
*/
|
|
61
|
+
poll: (() => void) | null;
|
|
62
|
+
/** Whether a refused thread's code has ended with it (see refuse). */
|
|
63
|
+
private readonly selfEnds;
|
|
64
|
+
constructor(memory: SyncMemory, thread: number, options?: {
|
|
65
|
+
spin?: boolean;
|
|
66
|
+
timeout?: number;
|
|
67
|
+
selfEnds?: boolean;
|
|
68
|
+
});
|
|
69
|
+
/** A number for a new worker, unique among the primordial's whichever thread makes it, with room in the threads' table. */
|
|
70
|
+
newThread(): number;
|
|
71
|
+
/** The shared table's version, which every change moves on. */
|
|
72
|
+
tableVersion(): number;
|
|
73
|
+
/** The shared table's bytes, and their version. */
|
|
74
|
+
readTable(): {
|
|
75
|
+
version: number;
|
|
76
|
+
bytes: Uint8Array;
|
|
77
|
+
};
|
|
78
|
+
/** Replace the shared table's bytes with what `f` makes of them, in one step every thread sees. */
|
|
79
|
+
updateTable(f: (bytes: Uint8Array) => Uint8Array): void;
|
|
80
|
+
/** A number never given out before, for an entry of the table. */
|
|
81
|
+
nextToken(): number;
|
|
82
|
+
private tableBytes;
|
|
83
|
+
/** The primordial's queue of requests, once it has made it; 0 before. */
|
|
84
|
+
get requests(): number;
|
|
85
|
+
set requests(q: number);
|
|
86
|
+
/** Make room for worker `id` in the threads' table, before it starts. */
|
|
87
|
+
addThread(id: number): void;
|
|
88
|
+
private stateOf;
|
|
89
|
+
/** Whether worker `id` is neither terminated nor ended: a notify may pick it, a queue waits for it. */
|
|
90
|
+
alive(id: number): boolean;
|
|
91
|
+
/**
|
|
92
|
+
* Whether worker `id`'s thread has stopped, or ended its code: a lock it
|
|
93
|
+
* holds is free to take. A worker terminated while its thread may still
|
|
94
|
+
* run is not, as it may still be writing what the lock guards.
|
|
95
|
+
*/
|
|
96
|
+
stopped(id: number): boolean;
|
|
97
|
+
/** Whether worker `id` has started and not ended, as its own thread says. */
|
|
98
|
+
running(id: number): boolean;
|
|
99
|
+
/** Worker `id`, this thread's, runs; unless it has ended already. */
|
|
100
|
+
start(id: number): void;
|
|
101
|
+
/**
|
|
102
|
+
* Worker `id` was terminated: no notify picks it, no queue waits for it,
|
|
103
|
+
* and its thread, while it still runs, gets SyncTerminated for anything
|
|
104
|
+
* it asks of this memory. The locks it holds stay held until end.
|
|
105
|
+
*/
|
|
106
|
+
stop(id: number): void;
|
|
107
|
+
/**
|
|
108
|
+
* Worker `id`'s thread has stopped, or the worker has ended its own code:
|
|
109
|
+
* the locks it held are free to take. Only the thread itself, or one that
|
|
110
|
+
* knows it has stopped, may say so.
|
|
111
|
+
*/
|
|
112
|
+
end(id: number): void;
|
|
113
|
+
/**
|
|
114
|
+
* Refuse anything more of a thread whose worker was terminated: the
|
|
115
|
+
* script that asked stops here, as avmplus interrupts a terminated worker
|
|
116
|
+
* that waits (the runtime lets no script catch the error). Where that
|
|
117
|
+
* ends all of the worker's code, as an avmshell worker's (`selfEnds`),
|
|
118
|
+
* the locks it holds are free to take from now on, as avmplus lets go of
|
|
119
|
+
* them when the worker goes; a player's worker plays on to the end of its
|
|
120
|
+
* frame, and says it has stopped itself (end) once no code of it can run.
|
|
121
|
+
*/
|
|
122
|
+
private refuse;
|
|
123
|
+
/** Whether this thread's worker was terminated, which the next thing it asks of this memory says too. */
|
|
124
|
+
get terminated(): boolean;
|
|
125
|
+
/** Wait until worker `id`'s thread says it has stopped, up to `ms`; whether it has. */
|
|
126
|
+
waitStopped(id: number, ms: number): boolean;
|
|
127
|
+
/** A block of at least `n` words, zeroed: the address of its first. */
|
|
128
|
+
alloc(n: number): number;
|
|
129
|
+
free(address: number): void;
|
|
130
|
+
/**
|
|
131
|
+
* Take the lock in word `index`, which holds its holder's number plus
|
|
132
|
+
* one; from a holder whose thread has stopped, at once. `start` is when the
|
|
133
|
+
* operation began, for the script timeout of a thread that spins.
|
|
134
|
+
*/
|
|
135
|
+
acquire(index: number, start: number): void;
|
|
136
|
+
/** Take the lock in word `index` if it is free, or its holder's thread has stopped. */
|
|
137
|
+
tryAcquire(index: number): boolean;
|
|
138
|
+
/** Let go of the lock in word `index`, unless another thread has taken it over meanwhile. */
|
|
139
|
+
release(index: number): void;
|
|
140
|
+
/**
|
|
141
|
+
* Wait up to `ms` while word `index` holds `value`: Atomics.wait where
|
|
142
|
+
* this thread can, else spinning on it with a backoff that never sleeps,
|
|
143
|
+
* failing with SyncTimeout once this thread has spun for longer than the
|
|
144
|
+
* script timeout without returning to its event loop, as Flash times a
|
|
145
|
+
* script out: content that waits a millisecond at a time in a loop, as
|
|
146
|
+
* Crossbridge's startup does, is stopped too. Where there is no event
|
|
147
|
+
* loop to tell, from `start`, when the operation began.
|
|
148
|
+
*/
|
|
149
|
+
park(index: number, value: number, ms: number, start: number): void;
|
|
150
|
+
/** Whether worker `id` is blocked in a lock or a wait now. */
|
|
151
|
+
blocked(id: number): boolean;
|
|
152
|
+
private spinOrWait;
|
|
153
|
+
/** When this thread began to spin since it last returned to its event loop. */
|
|
154
|
+
private spinningSince;
|
|
155
|
+
newMutex(): number;
|
|
156
|
+
/** Whether this thread holds the mutex at `m`. */
|
|
157
|
+
holds(m: number): boolean;
|
|
158
|
+
/**
|
|
159
|
+
* As avmplus' MutexObject::lock: held again by its holder, or taken in
|
|
160
|
+
* the order the threads came for it. A thread that ended leaves the
|
|
161
|
+
* queue to the next, and the mutex if it held it.
|
|
162
|
+
*/
|
|
163
|
+
lock(m: number): void;
|
|
164
|
+
/** As MutexObject::tryLock: never while another thread waits for it, as avmplus' hasWaiters. */
|
|
165
|
+
tryLock(m: number): boolean;
|
|
166
|
+
/** Whether this thread held it, once less now. */
|
|
167
|
+
unlock(m: number): boolean;
|
|
168
|
+
/** Add record `r` at the end of the queue of the threads waiting for mutex `m`. */
|
|
169
|
+
private enqueue;
|
|
170
|
+
/** The first thread waiting for mutex `m` that has not ended, those that ended taken out; 0 for none. */
|
|
171
|
+
private waiter;
|
|
172
|
+
/** Take record `r` from the head of mutex `m`'s queue, if it is still there. */
|
|
173
|
+
private dequeue;
|
|
174
|
+
/** Wait, this thread's record in mutex `m`'s queue, until it is first and takes the mutex. */
|
|
175
|
+
private takeTurn;
|
|
176
|
+
newCondition(m: number): number;
|
|
177
|
+
conditionMutex(c: number): number;
|
|
178
|
+
/**
|
|
179
|
+
* As avmplus' ConditionObject::wait, its mutex held by this thread: the
|
|
180
|
+
* mutex let go, however many times it was held, until a notify picks
|
|
181
|
+
* this thread or `ms` have passed (never, for -1), then held again as
|
|
182
|
+
* it was. A notify picks the waiters in the order they came, and they
|
|
183
|
+
* take the mutex again in that order. Whether the time ran out.
|
|
184
|
+
*/
|
|
185
|
+
wait(c: number, ms: number): boolean;
|
|
186
|
+
/**
|
|
187
|
+
* Pick the first waiter that has not ended or timed out, or all of them,
|
|
188
|
+
* the mutex held by this thread: each moves to the mutex's queue, to take
|
|
189
|
+
* it in turn once this thread lets go of it.
|
|
190
|
+
*/
|
|
191
|
+
notify(c: number, all: boolean): void;
|
|
192
|
+
/**
|
|
193
|
+
* Run `f`, which may leave this thread's record in a queue: one it
|
|
194
|
+
* leaves for the script timeout is given up, its owner none, so that
|
|
195
|
+
* the queue passes over it, and the next wait or lock makes another.
|
|
196
|
+
*/
|
|
197
|
+
private timed;
|
|
198
|
+
/** This thread's record, made once, and again after a timeout gave it up. */
|
|
199
|
+
private ownRecord;
|
|
200
|
+
/** Take record `r`, whose wait timed out, from the queue of `c`, if a notify has not passed over it. */
|
|
201
|
+
private unqueue;
|
|
202
|
+
newQueue(): number;
|
|
203
|
+
/** How many entries queue `q` holds. */
|
|
204
|
+
queued(q: number): number;
|
|
205
|
+
closed(q: number): boolean;
|
|
206
|
+
/** Add `bytes` at the end of queue `q`, waking a thread that waits on it. */
|
|
207
|
+
push(q: number, bytes: Uint8Array): void;
|
|
208
|
+
/** Take the first entry of queue `q`, if it has one. */
|
|
209
|
+
shift(q: number): Uint8Array | null;
|
|
210
|
+
/** Mark queue `q` closed, waking a thread that waits on it. */
|
|
211
|
+
close(q: number): void;
|
|
212
|
+
/** Block until queue `q` holds an entry or is closed. */
|
|
213
|
+
waitFor(q: number): void;
|
|
214
|
+
}
|
|
215
|
+
//# sourceMappingURL=sync.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../src/avm2/natives/sync.ts"],"names":[],"mappings":"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"}
|