import { Event } from 'event-target-shim' import * as _ from './utils' class CustomEvent< TEventType extends string = string > extends Event { constructor(type: TEventType, params?: CustomEventInit) { params = Object(params) as Required super(type, params) if ('detail' in params) this.detail = params.detail } detail!: any } _.allowStringTag(CustomEvent) export { CustomEvent } interface CustomEventInit { bubbles?: boolean cancelable?: false detail?: any }