From ab8d917787092fdfb16390f2bee6de8ab5c1783c Mon Sep 17 00:00:00 2001 From: Jay Anslow Date: Tue, 20 Sep 2016 09:55:32 +0100 Subject: [PATCH] Node.JS EventEmitter accepts symbols as event names. --- node/node-tests.ts | 4 ++-- node/node.d.ts | 46 +++++++++++++++++++++++----------------------- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/node/node-tests.ts b/node/node-tests.ts index 1fcf149e99..da3721c3aa 100644 --- a/node/node-tests.ts +++ b/node/node-tests.ts @@ -70,7 +70,7 @@ namespace assert_tests { namespace events_tests { let emitter: events.EventEmitter; - let event: string; + let event: string|symbol; let listener: Function; let any: any; @@ -114,7 +114,7 @@ namespace events_tests { } { - let result: string[]; + let result: (string|symbol)[]; result = emitter.eventNames(); } diff --git a/node/node.d.ts b/node/node.d.ts index 888da5cec4..7f228e1765 100644 --- a/node/node.d.ts +++ b/node/node.d.ts @@ -241,20 +241,20 @@ declare namespace NodeJS { } export class EventEmitter { - addListener(event: string, listener: Function): this; - on(event: string, listener: Function): this; - once(event: string, listener: Function): this; - removeListener(event: string, listener: Function): this; - removeAllListeners(event?: string): this; + addListener(event: string|symbol, listener: Function): this; + on(event: string|symbol, listener: Function): this; + once(event: string|symbol, listener: Function): this; + removeListener(event: string|symbol, listener: Function): this; + removeAllListeners(event?: string|symbol): this; setMaxListeners(n: number): this; getMaxListeners(): number; - listeners(event: string): Function[]; - emit(event: string, ...args: any[]): boolean; - listenerCount(type: string): number; + listeners(event: string|symbol): Function[]; + emit(event: string|symbol, ...args: any[]): boolean; + listenerCount(type: string|symbol): number; // Added in Node 6... - prependListener(event: string, listener: Function): this; - prependOnceListener(event: string, listener: Function): this; - eventNames(): string[]; + prependListener(event: string|symbol, listener: Function): this; + prependOnceListener(event: string|symbol, listener: Function): this; + eventNames(): (string|symbol)[]; } export interface ReadableStream extends EventEmitter { @@ -549,22 +549,22 @@ declare module "querystring" { declare module "events" { export class EventEmitter extends NodeJS.EventEmitter { static EventEmitter: EventEmitter; - static listenerCount(emitter: EventEmitter, event: string): number; // deprecated + static listenerCount(emitter: EventEmitter, event: string|symbol): number; // deprecated static defaultMaxListeners: number; - addListener(event: string, listener: Function): this; - on(event: string, listener: Function): this; - once(event: string, listener: Function): this; - prependListener(event: string, listener: Function): this; - prependOnceListener(event: string, listener: Function): this; - removeListener(event: string, listener: Function): this; - removeAllListeners(event?: string): this; + addListener(event: string|symbol, listener: Function): this; + on(event: string|symbol, listener: Function): this; + once(event: string|symbol, listener: Function): this; + prependListener(event: string|symbol, listener: Function): this; + prependOnceListener(event: string|symbol, listener: Function): this; + removeListener(event: string|symbol, listener: Function): this; + removeAllListeners(event?: string|symbol): this; setMaxListeners(n: number): this; getMaxListeners(): number; - listeners(event: string): Function[]; - emit(event: string, ...args: any[]): boolean; - eventNames(): string[]; - listenerCount(type: string): number; + listeners(event: string|symbol): Function[]; + emit(event: string|symbol, ...args: any[]): boolean; + eventNames(): (string|symbol)[]; + listenerCount(type: string|symbol): number; } }