chenyc
2025-12-09 545c24c6a711d71b65f3d4e8122fee3837fb1edc
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]);
    });