1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 | import util = require('util');
|
12 |
|
13 | import polyfill = require('./implementation');
|
14 | import getUtilPromisify = require('./polyfill');
|
15 | import shimUtilPromisify = require('./shim');
|
16 |
|
17 |
|
18 | declare function promisify<TCustom extends Function>(fn: util.CustomPromisify<TCustom>): TCustom;
|
19 |
|
20 | declare function promisify<TResult>(
|
21 | fn: (callback: (err: any, result: TResult) => void) => void,
|
22 | ): () => Promise<TResult>;
|
23 | declare function promisify(fn: (callback: (err?: any) => void) => void): () => Promise<void>;
|
24 |
|
25 | declare function promisify<T1, TResult>(
|
26 | fn: (arg1: T1, callback: (err: any, result: TResult) => void) => void,
|
27 | ): (arg1: T1) => Promise<TResult>;
|
28 | declare function promisify<T1>(fn: (arg1: T1, callback: (err?: any) => void) => void): (arg1: T1) => Promise<void>;
|
29 |
|
30 | declare function promisify<T1, T2, TResult>(
|
31 | fn: (arg1: T1, arg2: T2, callback: (err: any, result: TResult) => void) => void,
|
32 | ): (arg1: T1, arg2: T2) => Promise<TResult>;
|
33 | declare function promisify<T1, T2>(
|
34 | fn: (arg1: T1, arg2: T2, callback: (err?: any) => void) => void,
|
35 | ): (arg1: T1, arg2: T2) => Promise<void>;
|
36 |
|
37 | declare function promisify<T1, T2, T3, TResult>(
|
38 | fn: (arg1: T1, arg2: T2, arg3: T3, callback: (err: any, result: TResult) => void) => void,
|
39 | ): (arg1: T1, arg2: T2, arg3: T3) => Promise<TResult>;
|
40 | declare function promisify<T1, T2, T3>(
|
41 | fn: (arg1: T1, arg2: T2, arg3: T3, callback: (err?: any) => void) => void,
|
42 | ): (arg1: T1, arg2: T2, arg3: T3) => Promise<void>;
|
43 |
|
44 | declare function promisify<T1, T2, T3, T4, TResult>(
|
45 | fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err: any, result: TResult) => void) => void,
|
46 | ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise<TResult>;
|
47 | declare function promisify<T1, T2, T3, T4>(
|
48 | fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err?: any) => void) => void,
|
49 | ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise<void>;
|
50 |
|
51 | declare function promisify<T1, T2, T3, T4, T5, TResult>(
|
52 | fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err: any, result: TResult) => void) => void,
|
53 | ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise<TResult>;
|
54 | declare function promisify<T1, T2, T3, T4, T5>(
|
55 | fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err?: any) => void) => void,
|
56 | ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise<void>;
|
57 |
|
58 |
|
59 | declare function promisify(fn: Function): Function;
|
60 |
|
61 | declare namespace promisify {
|
62 | const custom: typeof polyfill.custom;
|
63 |
|
64 | |
65 |
|
66 |
|
67 |
|
68 |
|
69 |
|
70 | const customPromisifyArgs: typeof polyfill.customPromisifyArgs | undefined;
|
71 |
|
72 | function getPolyfill(): ReturnType<typeof getUtilPromisify>;
|
73 | const implementation: typeof polyfill;
|
74 | function shim(): ReturnType<typeof shimUtilPromisify>;
|
75 | }
|
76 |
|
77 | export = promisify;
|