event-listener-with-options
Version:
Polyfill for EventTarget options object support
42 lines (30 loc) • 4.67 kB
JavaScript
;
var _supportsCaptureOption = _interopRequireDefault(require("./supportsCaptureOption"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
if (!(0, _supportsCaptureOption.default)()) {
var ETp = window.EventTarget ? window.EventTarget.prototype : window.Node.prototype;
var originalAddEventListener = ETp.addEventListener;
var originalRemoveEventListener = ETp.removeEventListener;
ETp.addEventListener = function () {
if (arguments.length >= 3) {
var options = arguments[2];
if (options && _typeof(options) === 'object') {
arguments[2] = !!options.capture;
}
}
originalAddEventListener.apply(this, arguments);
};
ETp.addEventListener.POLYFILLED_OPTIONS_SUPPORT = true;
ETp.removeEventListener = function () {
if (arguments.length >= 3) {
var options = arguments[2];
if (options && _typeof(options) === 'object') {
arguments[2] = !!options.capture;
}
}
originalRemoveEventListener.apply(this, arguments);
};
ETp.removeEventListener.POLYFILLED_OPTIONS_SUPPORT = true;
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wb2x5ZmlsbC5qcyJdLCJuYW1lcyI6WyJFVHAiLCJ3aW5kb3ciLCJFdmVudFRhcmdldCIsInByb3RvdHlwZSIsIk5vZGUiLCJvcmlnaW5hbEFkZEV2ZW50TGlzdGVuZXIiLCJhZGRFdmVudExpc3RlbmVyIiwib3JpZ2luYWxSZW1vdmVFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImFyZ3VtZW50cyIsImxlbmd0aCIsIm9wdGlvbnMiLCJjYXB0dXJlIiwiYXBwbHkiLCJQT0xZRklMTEVEX09QVElPTlNfU1VQUE9SVCJdLCJtYXBwaW5ncyI6Ijs7QUFFQTs7Ozs7O0FBRUEsSUFBSSxDQUFDLHFDQUFMLEVBQThCO0FBQzVCLE1BQU1BLEdBQUcsR0FBR0MsTUFBTSxDQUFDQyxXQUFQLEdBQXFCRCxNQUFNLENBQUNDLFdBQVAsQ0FBbUJDLFNBQXhDLEdBQW9ERixNQUFNLENBQUNHLElBQVAsQ0FBWUQsU0FBNUU7QUFDQSxNQUFNRSx3QkFBd0IsR0FBR0wsR0FBRyxDQUFDTSxnQkFBckM7QUFDQSxNQUFNQywyQkFBMkIsR0FBR1AsR0FBRyxDQUFDUSxtQkFBeEM7O0FBRUFSLEVBQUFBLEdBQUcsQ0FBQ00sZ0JBQUosR0FBdUIsWUFBVztBQUNoQyxRQUFJRyxTQUFTLENBQUNDLE1BQVYsSUFBb0IsQ0FBeEIsRUFBMkI7QUFDekIsVUFBTUMsT0FBTyxHQUFHRixTQUFTLENBQUMsQ0FBRCxDQUF6Qjs7QUFDQSxVQUFJRSxPQUFPLElBQUksUUFBT0EsT0FBUCxNQUFtQixRQUFsQyxFQUE0QztBQUMxQ0YsUUFBQUEsU0FBUyxDQUFDLENBQUQsQ0FBVCxHQUFlLENBQUMsQ0FBQ0UsT0FBTyxDQUFDQyxPQUF6QjtBQUNEO0FBQ0Y7O0FBQ0RQLElBQUFBLHdCQUF3QixDQUFDUSxLQUF6QixDQUErQixJQUEvQixFQUFxQ0osU0FBckM7QUFDRCxHQVJEOztBQVNBVCxFQUFBQSxHQUFHLENBQUNNLGdCQUFKLENBQXFCUSwwQkFBckIsR0FBa0QsSUFBbEQ7O0FBRUFkLEVBQUFBLEdBQUcsQ0FBQ1EsbUJBQUosR0FBMEIsWUFBVztBQUNuQyxRQUFJQyxTQUFTLENBQUNDLE1BQVYsSUFBb0IsQ0FBeEIsRUFBMkI7QUFDekIsVUFBTUMsT0FBTyxHQUFHRixTQUFTLENBQUMsQ0FBRCxDQUF6Qjs7QUFDQSxVQUFJRSxPQUFPLElBQUksUUFBT0EsT0FBUCxNQUFtQixRQUFsQyxFQUE0QztBQUMxQ0YsUUFBQUEsU0FBUyxDQUFDLENBQUQsQ0FBVCxHQUFlLENBQUMsQ0FBQ0UsT0FBTyxDQUFDQyxPQUF6QjtBQUNEO0FBQ0Y7O0FBQ0RMLElBQUFBLDJCQUEyQixDQUFDTSxLQUE1QixDQUFrQyxJQUFsQyxFQUF3Q0osU0FBeEM7QUFDRCxHQVJEOztBQVNBVCxFQUFBQSxHQUFHLENBQUNRLG1CQUFKLENBQXdCTSwwQkFBeEIsR0FBcUQsSUFBckQ7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbIi8qIEBmbG93ICovXG5cbmltcG9ydCBzdXBwb3J0c0NhcHR1cmVPcHRpb24gZnJvbSAnLi9zdXBwb3J0c0NhcHR1cmVPcHRpb24nO1xuXG5pZiAoIXN1cHBvcnRzQ2FwdHVyZU9wdGlvbigpKSB7XG4gIGNvbnN0IEVUcCA9IHdpbmRvdy5FdmVudFRhcmdldCA/IHdpbmRvdy5FdmVudFRhcmdldC5wcm90b3R5cGUgOiB3aW5kb3cuTm9kZS5wcm90b3R5cGU7XG4gIGNvbnN0IG9yaWdpbmFsQWRkRXZlbnRMaXN0ZW5lciA9IEVUcC5hZGRFdmVudExpc3RlbmVyO1xuICBjb25zdCBvcmlnaW5hbFJlbW92ZUV2ZW50TGlzdGVuZXIgPSBFVHAucmVtb3ZlRXZlbnRMaXN0ZW5lcjtcblxuICBFVHAuYWRkRXZlbnRMaXN0ZW5lciA9IGZ1bmN0aW9uKCkge1xuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID49IDMpIHtcbiAgICAgIGNvbnN0IG9wdGlvbnMgPSBhcmd1bWVudHNbMl07XG4gICAgICBpZiAob3B0aW9ucyAmJiB0eXBlb2Ygb3B0aW9ucyA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgYXJndW1lbnRzWzJdID0gISFvcHRpb25zLmNhcHR1cmU7XG4gICAgICB9XG4gICAgfVxuICAgIG9yaWdpbmFsQWRkRXZlbnRMaXN0ZW5lci5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICB9O1xuICBFVHAuYWRkRXZlbnRMaXN0ZW5lci5QT0xZRklMTEVEX09QVElPTlNfU1VQUE9SVCA9IHRydWU7XG5cbiAgRVRwLnJlbW92ZUV2ZW50TGlzdGVuZXIgPSBmdW5jdGlvbigpIHtcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA+PSAzKSB7XG4gICAgICBjb25zdCBvcHRpb25zID0gYXJndW1lbnRzWzJdO1xuICAgICAgaWYgKG9wdGlvbnMgJiYgdHlwZW9mIG9wdGlvbnMgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIGFyZ3VtZW50c1syXSA9ICEhb3B0aW9ucy5jYXB0dXJlO1xuICAgICAgfVxuICAgIH1cbiAgICBvcmlnaW5hbFJlbW92ZUV2ZW50TGlzdGVuZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgfTtcbiAgRVRwLnJlbW92ZUV2ZW50TGlzdGVuZXIuUE9MWUZJTExFRF9PUFRJT05TX1NVUFBPUlQgPSB0cnVlO1xufVxuIl19