chenyc
2025-12-09 65e034683b28d799e73c7d7e5e4769fab5b9bc9c
1
2
3
4
5
6
7
8
9
10
// Bug #1: Safari does currently not support to use transferables.
 
export const isSupportingTransferables = () =>
    new Promise<boolean>((resolve) => {
        const arrayBuffer = new ArrayBuffer(0);
        const { port1, port2 } = new MessageChannel();
 
        port1.onmessage = ({ data }) => resolve(data !== null);
        port2.postMessage(arrayBuffer, [arrayBuffer]);
    });