diff options
| author | Tim Ramlot <42113979+inteon@users.noreply.github.com> | 2021-05-11 21:09:09 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-05-11 21:09:09 +0200 |
| commit | 635253bd3a3895f49e6c9606beb852da22fee205 (patch) | |
| tree | cec9d75354b4e985a376f888564ecb63c99f2643 /cli/tests/workers/worker_structured_cloning.ts | |
| parent | 0d319161bc19a520df653bc0c8386f14a68efbdb (diff) | |
feat(runtime/worker): Structured cloning worker message passing (#9323)
This commit upgrade "Worker.postMessage()" implementation to use
structured clone algorithm instead of non-spec compliant JSON serialization.
Diffstat (limited to 'cli/tests/workers/worker_structured_cloning.ts')
| -rw-r--r-- | cli/tests/workers/worker_structured_cloning.ts | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/cli/tests/workers/worker_structured_cloning.ts b/cli/tests/workers/worker_structured_cloning.ts new file mode 100644 index 000000000..eb1719a9a --- /dev/null +++ b/cli/tests/workers/worker_structured_cloning.ts @@ -0,0 +1,15 @@ +// More info on structured cloning can be found here: +// https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm + +self.onmessage = () => { + const arr = ["a", true, 432]; + const set = new Set([1, 3, 5, 7, 9]); + const selfReference = { + a: arr, + b: arr, + c: set, + }; + // deno-lint-ignore no-explicit-any + (selfReference as any).self = selfReference; + self.postMessage(selfReference); +}; |
