let passiveSupported = null; export function passiveEventSupported() { // memoize support to avoid adding multiple test events if (typeof passiveSupported === "boolean") return passiveSupported; let supported = false; try { const options = { get passive() { supported = true; return false; }, }; window.addEventListener("test", null, options); window.removeEventListener("test" as any, null, options as any); } catch (err) { supported = false; } passiveSupported = supported; return passiveSupported; }