From 022d3ea8436a98264daf329ccdaf09384333b454 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Morch=C3=B3n=20Poveda?= Date: Tue, 24 Feb 2015 17:57:02 +0100 Subject: [PATCH] Extend NodeJS.EventEmitter As seen here: https://github.com/yeoman/generator/blob/master/lib/base.js ``` JavaScript var Base = module.exports = function Base(args, options) { events.EventEmitter.call(this); ``` --- yeoman-generator/yeoman-generator.d.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/yeoman-generator/yeoman-generator.d.ts b/yeoman-generator/yeoman-generator.d.ts index bc11f2e306..f6d0dd9814 100644 --- a/yeoman-generator/yeoman-generator.d.ts +++ b/yeoman-generator/yeoman-generator.d.ts @@ -2,6 +2,7 @@ // Project: https://github.com/yeoman/generator // Definitions by: Kentaro Okuno // Definitions: https://github.com/borisyankov/DefinitelyTyped +/// declare module yo { export interface IYeomanGenerator { @@ -20,7 +21,7 @@ declare module yo { sourceRoot(rootPath: string): string; } - export class YeomanGeneratorBase implements IYeomanGenerator { + export class YeomanGeneratorBase implements IYeomanGenerator, NodeJS.EventEmitter { argument(name: string, config: IArgumentConfig): void; composeWith(namespace: string, options: any, settings?: IComposeSetting): IYeomanGenerator; defaultFor(name: string): void; @@ -34,6 +35,14 @@ declare module yo { run(args: any, callback?: Function): void; runHooks(callback?: Function): void; sourceRoot(rootPath: string): string; + addListener(event: string, listener: Function): NodeJS.EventEmitter; + on(event: string, listener: Function): NodeJS.EventEmitter; + once(event: string, listener: Function): NodeJS.EventEmitter; + removeListener(event: string, listener: Function): NodeJS.EventEmitter; + removeAllListeners(event?: string): NodeJS.EventEmitter; + setMaxListeners(n: number): void; + listeners(event: string): Function[]; + emit(event: string, ...args: any[]): boolean; } export interface IArgumentConfig {