"use strict"; class EventTarget { constructor() { this.eventTarget = document.createDocumentFragment(); for (let method of [ "addEventListener", "dispatchEvent", "removeEventListener", ]) { this[method] = this.eventTarget[method].bind(this.eventTarget); } } } function proxyEvent(source, target, sourceEventType, targetEventType) { if (!source.addEventListener) { return; } if (!targetEventType) { targetEventType = sourceEventType; } source.addEventListener(sourceEventType, (e) => { target.dispatchEvent( new CustomEvent(targetEventType, { detail: e.detail, }) ); }); } module.exports = { Success: "success", Error: "error", Info: "info", proxyEvent: proxyEvent, EventTarget: EventTarget, };