UNPKG

recorder-audio-worklet

Version:

This module provides a loader for the RecorderAudioWorkletProcessor and the corresponding RecorderAudioWorkletNode.

16 lines (12 loc) 718 B
import type { generateUniqueNumber as generateUniqueNumberFunction } from 'fast-unique-numbers'; export const createPostMessageFactory = (generateUniqueNumber: typeof generateUniqueNumberFunction) => { return (ongoingRequests: Map<number, { reject: Function; resolve: Function }>, port: MessagePort) => { return (message: { method: string; params?: object }, transferables: Transferable[] = []): Promise<void> => { return new Promise((resolve, reject) => { const id = generateUniqueNumber(ongoingRequests); ongoingRequests.set(id, { reject, resolve }); port.postMessage({ id, ...message }, transferables); }); }; }; };