"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const isEventTarget_1 = __importDefault(require("./isEventTarget")); const customEvent = (name, data) => { const options = { bubbles: true }; if (typeof data !== 'undefined') { options.detail = data; } return new CustomEvent(name, options); }; function trigger(elm, eventNames, data) { if (!isEventTarget_1.default(elm)) { data = eventNames; eventNames = elm; elm = document; } if (!Array.isArray(eventNames)) { eventNames = [eventNames]; } eventNames.forEach((evt) => elm.dispatchEvent(customEvent(evt, data))); return elm; } exports.default = trigger;