UNPKG

717 BTypeScriptView Raw
1declare module 'domain' {
2 import EventEmitter = require('events');
3
4 global {
5 namespace NodeJS {
6 interface Domain extends EventEmitter {
7 run<T>(fn: (...args: any[]) => T, ...args: any[]): T;
8 add(emitter: EventEmitter | Timer): void;
9 remove(emitter: EventEmitter | Timer): void;
10 bind<T extends Function>(cb: T): T;
11 intercept<T extends Function>(cb: T): T;
12 }
13 }
14 }
15
16 interface Domain extends NodeJS.Domain {}
17 class Domain extends EventEmitter {
18 members: Array<EventEmitter | NodeJS.Timer>;
19 enter(): void;
20 exit(): void;
21 }
22
23 function create(): Domain;
24}
25
\No newline at end of file