add p-defer typings (#13597)

This commit is contained in:
Sam Verschueren
2016-12-28 22:12:03 +01:00
committed by Andy
parent dea04a3c69
commit 565aa3c168
4 changed files with 45 additions and 0 deletions

14
p-defer/index.d.ts vendored Normal file
View File

@@ -0,0 +1,14 @@
// Type definitions for p-defer 1.0
// Project: https://github.com/sindresorhus/p-defer
// 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 function pDefer<T>(): DeferredPromise<T>;
export = pDefer;

10
p-defer/p-defer-tests.ts Normal file
View File

@@ -0,0 +1,10 @@
import pDefer = require('p-defer');
function delay(ms: number) {
const deferred = pDefer<string>();
setTimeout(deferred.resolve, ms, '🦄');
return deferred.promise;
}
let s: string;
async function f() { s = await delay(100); }

20
p-defer/tsconfig.json Normal file
View File

@@ -0,0 +1,20 @@
{
"compilerOptions": {
"module": "commonjs",
"target": "es6",
"noImplicitAny": true,
"noImplicitThis": true,
"strictNullChecks": true,
"baseUrl": "../",
"typeRoots": [
"../"
],
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true
},
"files": [
"index.d.ts",
"p-defer-tests.ts"
]
}

1
p-defer/tslint.json Normal file
View File

@@ -0,0 +1 @@
{ "extends": "../tslint.json" }