diff --git a/types/event-emitter-es6/event-emitter-es6-tests.ts b/types/event-emitter-es6/event-emitter-es6-tests.ts new file mode 100644 index 0000000000..8001d2605e --- /dev/null +++ b/types/event-emitter-es6/event-emitter-es6-tests.ts @@ -0,0 +1,17 @@ +import EventEmitter = require("event-emitter-es6"); + +const ee = new EventEmitter(); +const ee1 = new EventEmitter({ emitDelay: 50 }); +const ee2 = new EventEmitter({ strictMode: true }); +const ee3 = new EventEmitter({ strictMode: false, emitDelay: 5 }); +const ee4 = new EventEmitter({}); + +ee.on("test", () => {}); +ee.once("test", () => {}); +ee.off("test", () => {}); +ee.off("test"); +ee.emit("test"); +ee.emit("test", 1, 2, 3, "a", "b", "c"); +ee.emitSync("test"); +ee.emitSync("test", 1, 2, 3, "a", "b", "c"); +ee.destroy(); diff --git a/types/event-emitter-es6/index.d.ts b/types/event-emitter-es6/index.d.ts new file mode 100644 index 0000000000..840f2ddf38 --- /dev/null +++ b/types/event-emitter-es6/index.d.ts @@ -0,0 +1,23 @@ +// Type definitions for event-emitter-es6 1.1 +// Project: https://github.com/insane-jo/event-emitter#readme +// Definitions by: Anton Strömkvist +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +interface Options { + emitDelay?: number; + strictMode?: boolean; +} + +type Listener = (...args: any[]) => void; + +declare class EventEmitter { + constructor(options?: Options); + on(type: string, listener: Listener): void; + once(type: string, listener: Listener): void; + off(type: string, listener?: Listener): void; + emit(type: string, ...eventArgs: any[]): void; + emitSync(type: string, ...eventArgs: any[]): void; + destroy(): void; +} + +export = EventEmitter; diff --git a/types/event-emitter-es6/tsconfig.json b/types/event-emitter-es6/tsconfig.json new file mode 100644 index 0000000000..f450ea2a8a --- /dev/null +++ b/types/event-emitter-es6/tsconfig.json @@ -0,0 +1,23 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "strictFunctionTypes": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "event-emitter-es6-tests.ts" + ] +} diff --git a/types/event-emitter-es6/tslint.json b/types/event-emitter-es6/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/event-emitter-es6/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" }