Re: [whatwg/dom] Symbols should be allowed as Event types. (#331)

@mfreed7 I am happy to write the bikeshed - I think the proposal in this case is pretty straightforward:

 - `addEventListener` accepts `DOMString or Symbol` for `type`.
 - The `Event` constructor (as well as all subclasses implciitly) take a `DOMString or Symbol` for `type`.
 - Places in the spec that reference the fact event names are strings get those references fixed.

The primary use case is enabling events without having possible naming collisions something like:

```js
const myLibraryEvent = new Symbol('myLibrary');
const component = obtainElement(); // get any target
component.addEventListener(myLibraryEvent, myLibraryLogicForEvent);

// later, in other code, communicate without collisions
component.dispatchEvent(new Event(myLibraryEvent));
```

I can list use cases (it's mostly important in browsers where events propagate but also in Node.js and other EventTarget consumers)

---

Let me know what details you'd need to make a decision on this and if you think this is interesting enough to prototype I'll try to open a PR to this repo next week'ish.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/dom/issues/331#issuecomment-967025831

Received on Friday, 12 November 2021 11:22:33 UTC