From 85a4769fc7ea5d1beb9b2850732db7fe52f5a877 Mon Sep 17 00:00:00 2001 From: Dimitri Benin Date: Thu, 13 Dec 2018 23:51:31 +0100 Subject: [PATCH] Add types for ensure-error --- types/ensure-error/ensure-error-tests.ts | 9 +++++++++ types/ensure-error/index.d.ts | 15 +++++++++++++++ types/ensure-error/tsconfig.json | 23 +++++++++++++++++++++++ types/ensure-error/tslint.json | 1 + 4 files changed, 48 insertions(+) create mode 100644 types/ensure-error/ensure-error-tests.ts create mode 100644 types/ensure-error/index.d.ts create mode 100644 types/ensure-error/tsconfig.json create mode 100644 types/ensure-error/tslint.json diff --git a/types/ensure-error/ensure-error-tests.ts b/types/ensure-error/ensure-error-tests.ts new file mode 100644 index 0000000000..fbc5e85d23 --- /dev/null +++ b/types/ensure-error/ensure-error-tests.ts @@ -0,0 +1,9 @@ +import ensureError = require('ensure-error'); + +const error = new TypeError('🦄'); + +// $ExpectType TypeError +ensureError(error); + +// $ExpectType NonError +ensureError(10); diff --git a/types/ensure-error/index.d.ts b/types/ensure-error/index.d.ts new file mode 100644 index 0000000000..e6bc2e5a94 --- /dev/null +++ b/types/ensure-error/index.d.ts @@ -0,0 +1,15 @@ +// Type definitions for ensure-error 1.0 +// Project: https://github.com/sindresorhus/ensure-error#readme +// Definitions by: BendingBender +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.8 + +export = ensureError; + +declare function ensureError(input: T): T extends Error ? T : ensureError.NonError; + +declare namespace ensureError { + interface NonError extends Error { + name: 'NonError'; + } +} diff --git a/types/ensure-error/tsconfig.json b/types/ensure-error/tsconfig.json new file mode 100644 index 0000000000..687a9dfd1a --- /dev/null +++ b/types/ensure-error/tsconfig.json @@ -0,0 +1,23 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "strictFunctionTypes": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "ensure-error-tests.ts" + ] +} diff --git a/types/ensure-error/tslint.json b/types/ensure-error/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/ensure-error/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" }