mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-05-15 17:47:49 +08:00
Declare namespace for p-defer (#25917)
This commit is contained in:
committed by
Mohamed Hegazy
parent
5d98d9b7fd
commit
faf3591869
12
types/p-defer/index.d.ts
vendored
12
types/p-defer/index.d.ts
vendored
@@ -3,12 +3,14 @@
|
||||
// Definitions by: Sam Verschueren <https://github.com/SamVerschueren>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
interface DeferredPromise<T> {
|
||||
resolve<U>(value: U | PromiseLike<U>): Promise<U>;
|
||||
reject(reason: any): Promise<never>;
|
||||
promise: Promise<T>;
|
||||
declare namespace pDefer {
|
||||
interface DeferredPromise<T> {
|
||||
resolve<U>(value: U | PromiseLike<U>): Promise<U>;
|
||||
reject(reason: any): Promise<never>;
|
||||
promise: Promise<T>;
|
||||
}
|
||||
}
|
||||
|
||||
declare function pDefer<T>(): DeferredPromise<T>;
|
||||
declare function pDefer<T>(): pDefer.DeferredPromise<T>;
|
||||
|
||||
export = pDefer;
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
import pDefer = require('p-defer');
|
||||
|
||||
function delay(ms: number) {
|
||||
const deferred = pDefer<string>();
|
||||
function delay(deferred: pDefer.DeferredPromise<string>, ms: number) {
|
||||
setTimeout(deferred.resolve, ms, '🦄');
|
||||
return deferred.promise;
|
||||
}
|
||||
|
||||
let s: string;
|
||||
async function f() { s = await delay(100); }
|
||||
async function f() { s = await delay(pDefer<string>(), 100); }
|
||||
|
||||
Reference in New Issue
Block a user