wheatpaste / comlink / compost
posters:
- Window::{postMessage, on:message, on:messageerror, on:error}
- Worker::{postMessage, on:message, on:messageerror, on:error, terminate}
- BroadcastChannel::{postMessage, on:message, on:messageerror, close}
- SharedWorker::{port}
- MessageEvent::{ports}
- MessagePort::{postMessage, on:message, on:messageerror}
- DedicatedWorkerGlobalScope::{postMessage, on:message, on:messageerror}
- SharedWorkerGlobalScope::{on:connect}
- ServiceWorkerGlobalScope::{on:message, on:messageerror}
- WebSocket::{send, on:message, on:error, on:close, close}
interfacing:
- primitive – sent as is
- object
- structured clone
- transfer (if transferable, or "deeply" transferable)
- proxied (default):
- property
- readonly promisified getter (default)
- promisified getter & non-promisified setter
- promisified getter & setter method
- immutable structured clone
- non-promisified getter & setter (danger of glitching, non-trivial scheduling)
- accessor
- method
- property