utils/supportsPassiveEvent.js

/**
 * Checks if passive event is supported in current browser
 *
 * @module supportsPassiveEvent
 */

const supportsPassiveEvent = () => {
	let supportsPassive = false;
	try {
		const options = Object.defineProperty({}, 'passive', {
			get: () => {
				supportsPassive = true;
				return supportsPassive;
			},
		});

		window.addEventListener( 'testPassive', null, options );
		window.removeEventListener( 'testPassive', null, options );
	} catch ( e ) {
		return supportsPassive;
	}

	return supportsPassive;
};

export default supportsPassiveEvent;