diff --git a/is-promise/index.d.ts b/is-promise/index.d.ts new file mode 100644 index 0000000000..750ca5d4ac --- /dev/null +++ b/is-promise/index.d.ts @@ -0,0 +1,8 @@ +// Type definitions for is-promise +// Project: https://github.com/then/is-promise +// Definitions by: Daniel Rosenwasser +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +export = isPromise; + +declare function isPromise(obj: any): obj is PromiseLike; \ No newline at end of file diff --git a/is-promise/is-promise-tests.ts b/is-promise/is-promise-tests.ts new file mode 100644 index 0000000000..df9a1d316f --- /dev/null +++ b/is-promise/is-promise-tests.ts @@ -0,0 +1,15 @@ +import isPromise = require("./"); + +isPromise({ then() { }}); +isPromise(null); +isPromise({ }); +isPromise({then: true}); + +function f(x: number | PromiseLike) { + if (isPromise(x)) { + x.then; + } + else { + x.toExponential; + } +} \ No newline at end of file diff --git a/is-promise/tsconfig.json b/is-promise/tsconfig.json new file mode 100644 index 0000000000..ba2cdc609f --- /dev/null +++ b/is-promise/tsconfig.json @@ -0,0 +1,19 @@ +{ + "files": [ + "index.d.ts", + "is-promise-tests.ts" + ], + "compilerOptions": { + "module": "commonjs", + "target": "es6", + "noImplicitAny": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + } +} \ No newline at end of file