mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-01-12 22:46:38 +08:00
node: setImmediate returns Immediate (#29599)
* node: setImmediate returns Immediate * node: defined Timer and Immediate internal classes * node: better compatiblity with Timer interface * node: return Timeout rather than Timer
This commit is contained in:
49
types/node/index.d.ts
vendored
49
types/node/index.d.ts
vendored
@@ -207,20 +207,20 @@ declare var console: Console;
|
||||
declare var __filename: string;
|
||||
declare var __dirname: string;
|
||||
|
||||
declare function setTimeout(callback: (...args: any[]) => void, ms: number, ...args: any[]): NodeJS.Timer;
|
||||
declare function setTimeout(callback: (...args: any[]) => void, ms: number, ...args: any[]): NodeJS.Timeout;
|
||||
declare namespace setTimeout {
|
||||
function __promisify__(ms: number): Promise<void>;
|
||||
function __promisify__<T>(ms: number, value: T): Promise<T>;
|
||||
}
|
||||
declare function clearTimeout(timeoutId: NodeJS.Timer): void;
|
||||
declare function setInterval(callback: (...args: any[]) => void, ms: number, ...args: any[]): NodeJS.Timer;
|
||||
declare function clearInterval(intervalId: NodeJS.Timer): void;
|
||||
declare function setImmediate(callback: (...args: any[]) => void, ...args: any[]): any;
|
||||
declare function clearTimeout(timeoutId: NodeJS.Timeout): void;
|
||||
declare function setInterval(callback: (...args: any[]) => void, ms: number, ...args: any[]): NodeJS.Timeout;
|
||||
declare function clearInterval(intervalId: NodeJS.Timeout): void;
|
||||
declare function setImmediate(callback: (...args: any[]) => void, ...args: any[]): NodeJS.Immediate;
|
||||
declare namespace setImmediate {
|
||||
function __promisify__(): Promise<void>;
|
||||
function __promisify__<T>(value: T): Promise<T>;
|
||||
}
|
||||
declare function clearImmediate(immediateId: any): void;
|
||||
declare function clearImmediate(immediateId: NodeJS.Immediate): void;
|
||||
|
||||
// TODO: change to `type NodeRequireFunction = (id: string) => any;` in next mayor version.
|
||||
interface NodeRequireFunction {
|
||||
@@ -959,9 +959,9 @@ declare namespace NodeJS {
|
||||
Uint8ClampedArray: Function;
|
||||
WeakMap: WeakMapConstructor;
|
||||
WeakSet: WeakSetConstructor;
|
||||
clearImmediate: (immediateId: any) => void;
|
||||
clearInterval: (intervalId: Timer) => void;
|
||||
clearTimeout: (timeoutId: Timer) => void;
|
||||
clearImmediate: (immediateId: Immediate) => void;
|
||||
clearInterval: (intervalId: Timeout) => void;
|
||||
clearTimeout: (timeoutId: Timeout) => void;
|
||||
console: typeof console;
|
||||
decodeURI: typeof decodeURI;
|
||||
decodeURIComponent: typeof decodeURIComponent;
|
||||
@@ -976,9 +976,9 @@ declare namespace NodeJS {
|
||||
parseInt: typeof parseInt;
|
||||
process: Process;
|
||||
root: Global;
|
||||
setImmediate: (callback: (...args: any[]) => void, ...args: any[]) => any;
|
||||
setInterval: (callback: (...args: any[]) => void, ms: number, ...args: any[]) => Timer;
|
||||
setTimeout: (callback: (...args: any[]) => void, ms: number, ...args: any[]) => Timer;
|
||||
setImmediate: (callback: (...args: any[]) => void, ...args: any[]) => Immediate;
|
||||
setInterval: (callback: (...args: any[]) => void, ms: number, ...args: any[]) => Timeout;
|
||||
setTimeout: (callback: (...args: any[]) => void, ms: number, ...args: any[]) => Timeout;
|
||||
undefined: typeof undefined;
|
||||
unescape: (str: string) => string;
|
||||
gc: () => void;
|
||||
@@ -987,6 +987,19 @@ declare namespace NodeJS {
|
||||
|
||||
interface Timer {
|
||||
ref(): void;
|
||||
refresh(): void;
|
||||
unref(): void;
|
||||
}
|
||||
|
||||
class Immediate {
|
||||
ref(): void;
|
||||
unref(): void;
|
||||
_onImmediate: Function; // to distinguish it from the Timeout class
|
||||
}
|
||||
|
||||
class Timeout implements Timer {
|
||||
ref(): void;
|
||||
refresh(): void;
|
||||
unref(): void;
|
||||
}
|
||||
|
||||
@@ -7211,20 +7224,20 @@ declare module "v8" {
|
||||
}
|
||||
|
||||
declare module "timers" {
|
||||
function setTimeout(callback: (...args: any[]) => void, ms: number, ...args: any[]): NodeJS.Timer;
|
||||
function setTimeout(callback: (...args: any[]) => void, ms: number, ...args: any[]): NodeJS.Timeout;
|
||||
namespace setTimeout {
|
||||
function __promisify__(ms: number): Promise<void>;
|
||||
function __promisify__<T>(ms: number, value: T): Promise<T>;
|
||||
}
|
||||
function clearTimeout(timeoutId: NodeJS.Timer): void;
|
||||
function setInterval(callback: (...args: any[]) => void, ms: number, ...args: any[]): NodeJS.Timer;
|
||||
function clearInterval(intervalId: NodeJS.Timer): void;
|
||||
function setImmediate(callback: (...args: any[]) => void, ...args: any[]): any;
|
||||
function clearTimeout(timeoutId: NodeJS.Timeout): void;
|
||||
function setInterval(callback: (...args: any[]) => void, ms: number, ...args: any[]): NodeJS.Timeout;
|
||||
function clearInterval(intervalId: NodeJS.Timeout): void;
|
||||
function setImmediate(callback: (...args: any[]) => void, ...args: any[]): NodeJS.Immediate;
|
||||
namespace setImmediate {
|
||||
function __promisify__(): Promise<void>;
|
||||
function __promisify__<T>(value: T): Promise<T>;
|
||||
}
|
||||
function clearImmediate(immediateId: any): void;
|
||||
function clearImmediate(immediateId: NodeJS.Immediate): void;
|
||||
}
|
||||
|
||||
declare module "console" {
|
||||
|
||||
Reference in New Issue
Block a user