Sha256: f64f8c350b6bb39940ba24494251698d431544e8f3bf056aec7b6125c1e371ca
Contents?: true
Size: 733 Bytes
Versions: 26
Compression:
Stored size: 733 Bytes
Contents
import { StringifiedResponse, ServiceWorkerIncomingEventsMap, } from '../../glossary' export interface ServiceWorkerMessage< EventType extends keyof ServiceWorkerIncomingEventsMap, EventPayload, > { type: EventType payload: EventPayload } interface WorkerChannelEventsMap { MOCK_RESPONSE: [ data: StringifiedResponse, transfer?: [ReadableStream<Uint8Array>], ] PASSTHROUGH: [] } export class WorkerChannel { constructor(private readonly port: MessagePort) {} public postMessage<Event extends keyof WorkerChannelEventsMap>( event: Event, ...rest: WorkerChannelEventsMap[Event] ): void { const [data, transfer] = rest this.port.postMessage({ type: event, data }, { transfer }) } }
Version data entries
26 entries across 26 versions & 1 rubygems