TypeScript Version: 2.2.1
Code
If CustomEvent were parameterized, code that fires events could declare what the type of detail is so that listeners could be more type safe:
interface MyDetail {
foo: string;
}
declare global {
interface DocumentEventMap {
'my-event': CustomEvent<MyDetail>;
}
}
document.addEventListener('my-event', (e) => {
e.detail.foo; // ok
e.detail.bar; // warning
});
TypeScript Version: 2.2.1
Code
If
CustomEventwere parameterized, code that fires events could declare what the type ofdetailis so that listeners could be more type safe: