Skip to content

Instantly share code, notes, and snippets.

@m93a
Last active February 28, 2024 11:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save m93a/f3c67d9238c8803c43441e4a365829f3 to your computer and use it in GitHub Desktop.
Save m93a/f3c67d9238c8803c43441e4a365829f3 to your computer and use it in GitHub Desktop.

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment