Skip to content
Closed
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
events:use property, primordials
  • Loading branch information
benjamingr committed Jun 6, 2020
commit b3c260ea1a81cb359b63f8984fb57c7d5ae17a20
17 changes: 14 additions & 3 deletions lib/internal/event_target.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ const {
Set,
Symbol,
NumberIsNaN,
SymbolToStringTag,
} = primordials;

const {
Expand Down Expand Up @@ -125,10 +126,15 @@ class Event {
stopPropagation() {
this.#propagationStopped = true;
}

get [Symbol.toStringTag]() { return 'Event'; }
}

Object.defineProperty(Event.prototype, SymbolToStringTag, {
writable: false,
enumerable: false,
configurable: true,
value: 'Event',
});

// The listeners for an EventTarget are maintained as a linked list.
// Unfortunately, the way EventTarget is defined, listeners are accounted
// using the tuple [handler,capture], and even if we don't actually make
Expand Down Expand Up @@ -298,14 +304,19 @@ class EventTarget {

return `${name} ${inspect({}, opts)}`;
}
get [Symbol.toStringTag]() { return 'EventTarget'; }
}

Object.defineProperties(EventTarget.prototype, {
addEventListener: { enumerable: true },
removeEventListener: { enumerable: true },
dispatchEvent: { enumerable: true }
});
Object.defineProperty(EventTarget.prototype, SymbolToStringTag, {
writable: false,
enumerable: false,
configurable: true,
value: 'EventTarget',
});

class NodeEventTarget extends EventTarget {
static defaultMaxListeners = 10;
Expand Down