Skip to content

Instantly share code, notes, and snippets.

View Akxe's full-sized avatar
🦄

Adam Eisenreich Akxe

🦄
  • Česká republika
  • 22:04 (UTC +02:00)
View GitHub Profile
@Akxe
Akxe / PortAwareSharedWorker.ts
Last active January 10, 2024 16:19
PortAwareSharedWorker, shared worker that know who is still connected and who is not
/// <reference lib="webworker" />
type SharedWorkerPort = MessagePort | DedicatedWorkerGlobalScope;
class PortAwareSharedWorkerPort<T extends SharedWorkerPort = SharedWorkerPort, D = any> {
private readonly weakRef: WeakRef<T>;
private disconnected = false;
constructor(
port: T,
onMessage: (eventData: D) => void,