From e64ee5bf17488e7f467ce8e1368a1d3480ac747f Mon Sep 17 00:00:00 2001 From: Nikita Galkin Date: Thu, 24 Oct 2019 18:23:24 +0100 Subject: [PATCH] Add events.once to node v10 and v11 (#39115) --- types/node/v10/events.d.ts | 10 ++++++++++ types/node/v10/index.d.ts | 2 +- types/node/v11/events.d.ts | 11 ++++++++++- types/node/v11/index.d.ts | 2 +- 4 files changed, 22 insertions(+), 3 deletions(-) diff --git a/types/node/v10/events.d.ts b/types/node/v10/events.d.ts index dd0d8d191b..71684f4103 100644 --- a/types/node/v10/events.d.ts +++ b/types/node/v10/events.d.ts @@ -1,7 +1,17 @@ declare module "events" { class internal extends NodeJS.EventEmitter { } + interface NodeEventTarget { + once(event: string | symbol, listener: (...args: any[]) => void): this; + } + + interface DOMEventTarget { + addEventListener(event: string, listener: (...args: any[]) => void, opts?: { once: boolean }): any; + } + namespace internal { + function once(emitter: NodeEventTarget, event: string | symbol): Promise; + function once(emitter: DOMEventTarget, event: string): Promise; class EventEmitter extends internal { /** @deprecated since v4.0.0 */ static listenerCount(emitter: EventEmitter, event: string | symbol): number; diff --git a/types/node/v10/index.d.ts b/types/node/v10/index.d.ts index bc2a2edecd..f10e1ba5ed 100644 --- a/types/node/v10/index.d.ts +++ b/types/node/v10/index.d.ts @@ -1,4 +1,4 @@ -// Type definitions for Node.js 10.14 +// Type definitions for Node.js 10.17 // Project: http://nodejs.org/ // Definitions by: Microsoft TypeScript // DefinitelyTyped diff --git a/types/node/v11/events.d.ts b/types/node/v11/events.d.ts index c56a4604ab..71684f4103 100644 --- a/types/node/v11/events.d.ts +++ b/types/node/v11/events.d.ts @@ -1,8 +1,17 @@ declare module "events" { class internal extends NodeJS.EventEmitter { } + interface NodeEventTarget { + once(event: string | symbol, listener: (...args: any[]) => void): this; + } + + interface DOMEventTarget { + addEventListener(event: string, listener: (...args: any[]) => void, opts?: { once: boolean }): any; + } + namespace internal { - function once(emitter: EventEmitter, event: string | symbol): Promise; + function once(emitter: NodeEventTarget, event: string | symbol): Promise; + function once(emitter: DOMEventTarget, event: string): Promise; class EventEmitter extends internal { /** @deprecated since v4.0.0 */ static listenerCount(emitter: EventEmitter, event: string | symbol): number; diff --git a/types/node/v11/index.d.ts b/types/node/v11/index.d.ts index 432d0769f7..abd7ba719b 100644 --- a/types/node/v11/index.d.ts +++ b/types/node/v11/index.d.ts @@ -1,4 +1,4 @@ -// Type definitions for non-npm package Node.js 11.13 +// Type definitions for non-npm package Node.js 11.15 // Project: http://nodejs.org/ // Definitions by: Microsoft TypeScript // DefinitelyTyped