import { logger } from "./Logger"; import { isBrowser } from "./platform"; export let supportsPassive = false; export const captureFalseTouch = ():boolean | { passive: boolean; } => { return (supportsPassive) ? ({ passive: true }) : (false); }; // Test via a getter in the options object to see if the passive property is accessed if (isBrowser) { try { const opts = Object.defineProperty({}, "passive", { get() { supportsPassive = true; return supportsPassive; } }); (window as any).addEventListener("testPassive", null, opts); (window as any).removeEventListener("testPassive", null, opts); } catch (e:any) { logger.debug(`An error ocurred: ${e}.`); supportsPassive = false; } } else { supportsPassive = false; }