mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-10-04 14:57:10 +00:00
Merge pull request #30671 from BendingBender/p-defer
Correct return types for p-defer
This commit is contained in:
Vendored
+9
-8
@@ -1,16 +1,17 @@
|
||||
// Type definitions for p-defer 1.0
|
||||
// Project: https://github.com/sindresorhus/p-defer
|
||||
// Definitions by: Sam Verschueren <https://github.com/SamVerschueren>
|
||||
// BendingBender <https://github.com/BendingBender>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
declare namespace pDefer {
|
||||
interface DeferredPromise<T> {
|
||||
resolve<U>(value?: U | PromiseLike<U>): Promise<U>;
|
||||
reject(reason: any): Promise<never>;
|
||||
promise: Promise<T>;
|
||||
}
|
||||
}
|
||||
export = pDefer;
|
||||
|
||||
declare function pDefer<T>(): pDefer.DeferredPromise<T>;
|
||||
|
||||
export = pDefer;
|
||||
declare namespace pDefer {
|
||||
interface DeferredPromise<T> {
|
||||
resolve(value?: T | PromiseLike<T>): void;
|
||||
reject(reason: any): void;
|
||||
promise: Promise<T>;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
import pDefer = require('p-defer');
|
||||
|
||||
function delay(deferred: pDefer.DeferredPromise<string>, ms: number) {
|
||||
function delay(deferred: pDefer.DeferredPromise<string>, ms: number) {
|
||||
setTimeout(deferred.resolve, ms, '🦄');
|
||||
return deferred.promise;
|
||||
}
|
||||
|
||||
let s: string;
|
||||
async function f() { s = await delay(pDefer<string>(), 100); }
|
||||
const s: Promise<string> = delay(pDefer<string>(), 100);
|
||||
|
||||
async function u() {
|
||||
const u: Promise<any> = pDefer().resolve();
|
||||
}
|
||||
// $ExpectType void
|
||||
pDefer().resolve();
|
||||
// $ExpectType void
|
||||
pDefer().reject('oh no');
|
||||
|
||||
Reference in New Issue
Block a user