summaryrefslogtreecommitdiff
path: root/packages/webapi/src/lib/CustomEvent.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/webapi/src/lib/CustomEvent.ts')
-rw-r--r--packages/webapi/src/lib/CustomEvent.ts24
1 files changed, 24 insertions, 0 deletions
diff --git a/packages/webapi/src/lib/CustomEvent.ts b/packages/webapi/src/lib/CustomEvent.ts
new file mode 100644
index 000000000..951ca8e81
--- /dev/null
+++ b/packages/webapi/src/lib/CustomEvent.ts
@@ -0,0 +1,24 @@
+import * as _ from './utils'
+import { Event } from 'event-target-shim'
+
+class CustomEvent<TEventType extends string = string> extends Event<TEventType> {
+ constructor(type: TEventType, params?: CustomEventInit) {
+ params = Object(params) as Required<CustomEventInit>
+
+ 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
+}