diff options
author | Luigi Pinca <luigipinca@gmail.com> | 2020-10-26 09:03:16 +0100 |
---|---|---|
committer | Rich Trott <rtrott@gmail.com> | 2020-10-28 06:39:16 -0700 |
commit | 81ba3ae699a8ee04e3a5a05b0f7e066b5a486c42 (patch) | |
tree | ed3ce3ee4f80c95d69cdc256fa9e1c072d9f5bb8 | |
parent | 937b70ddec3e9befc06cf0ab07b39d66827d0886 (diff) | |
download | node-new-81ba3ae699a8ee04e3a5a05b0f7e066b5a486c42.tar.gz |
events: make eventTarget.removeAllListeners() return this
Fixes: https://github.com/nodejs/node/issues/35762
PR-URL: https://github.com/nodejs/node/pull/35805
Reviewed-By: Michaƫl Zasso <targos@protonmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
-rw-r--r-- | doc/api/events.md | 2 | ||||
-rw-r--r-- | lib/internal/event_target.js | 2 | ||||
-rw-r--r-- | test/parallel/test-nodeeventtarget.js | 4 |
3 files changed, 6 insertions, 2 deletions
diff --git a/doc/api/events.md b/doc/api/events.md index b6403e812e..a46fa06042 100644 --- a/doc/api/events.md +++ b/doc/api/events.md @@ -1525,6 +1525,8 @@ added: v14.5.0 * `type` {string} +* Returns: {EventTarget} this + Node.js-specific extension to the `EventTarget` class. If `type` is specified, removes all registered listeners for `type`, otherwise removes all registered listeners. diff --git a/lib/internal/event_target.js b/lib/internal/event_target.js index 4db6af26e3..3e0ae460d2 100644 --- a/lib/internal/event_target.js +++ b/lib/internal/event_target.js @@ -476,6 +476,8 @@ class NodeEventTarget extends EventTarget { } else { this[kEvents].clear(); } + + return this; } } diff --git a/test/parallel/test-nodeeventtarget.js b/test/parallel/test-nodeeventtarget.js index f4116f72a3..0f9218f540 100644 --- a/test/parallel/test-nodeeventtarget.js +++ b/test/parallel/test-nodeeventtarget.js @@ -117,11 +117,11 @@ const { on } = require('events'); strictEqual(eventTarget.listenerCount('foo'), 2); strictEqual(eventTarget.listenerCount('bar'), 1); deepStrictEqual(eventTarget.eventNames(), ['foo', 'bar']); - eventTarget.removeAllListeners('foo'); + strictEqual(eventTarget.removeAllListeners('foo'), eventTarget); strictEqual(eventTarget.listenerCount('foo'), 0); strictEqual(eventTarget.listenerCount('bar'), 1); deepStrictEqual(eventTarget.eventNames(), ['bar']); - eventTarget.removeAllListeners(); + strictEqual(eventTarget.removeAllListeners(), eventTarget); strictEqual(eventTarget.listenerCount('foo'), 0); strictEqual(eventTarget.listenerCount('bar'), 0); deepStrictEqual(eventTarget.eventNames(), []); |