From d010dabaf42aa48674adf6ddf734f0c1e2f972d7 Mon Sep 17 00:00:00 2001 From: dandelany Date: Sat, 23 Feb 2019 01:44:18 -0800 Subject: [PATCH] Added type definitions for driftless --- types/driftless/driftless-tests.ts | 5 +++++ types/driftless/index.d.ts | 23 +++++++++++++++++++++++ types/driftless/tsconfig.json | 23 +++++++++++++++++++++++ types/driftless/tslint.json | 1 + 4 files changed, 52 insertions(+) create mode 100644 types/driftless/driftless-tests.ts create mode 100644 types/driftless/index.d.ts create mode 100644 types/driftless/tsconfig.json create mode 100644 types/driftless/tslint.json diff --git a/types/driftless/driftless-tests.ts b/types/driftless/driftless-tests.ts new file mode 100644 index 0000000000..22df64c992 --- /dev/null +++ b/types/driftless/driftless-tests.ts @@ -0,0 +1,5 @@ +import * as driftless from "driftless"; + +driftless.setDriftlessTimeout(() => "OK", 10); // $ExpectType number +const interval = driftless.setDriftlessInterval((a) => "OK" + a, 100, "foo"); // $ExpectType number +driftless.clearDriftless(interval); // $ExpectType void diff --git a/types/driftless/index.d.ts b/types/driftless/index.d.ts new file mode 100644 index 0000000000..00609df783 --- /dev/null +++ b/types/driftless/index.d.ts @@ -0,0 +1,23 @@ +// Type definitions for driftless 2.0 +// Project: https://github.com/dbkaplun/driftless +// Definitions by: Dan Delany +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +export function setDriftlessTimeout( + callback: (...args: any[]) => void, + delayMs: number, + ...params: any[] +): number; + +export function setDriftlessInterval( + callback: (...args: any[]) => void, + delayMs: number, + ...params: any[] +): number; + +export function clearDriftless( + id: number, + options?: { + customClearTimeout?: (...args: any[]) => void; + } +): void; diff --git a/types/driftless/tsconfig.json b/types/driftless/tsconfig.json new file mode 100644 index 0000000000..3e61f98da4 --- /dev/null +++ b/types/driftless/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", + "driftless-tests.ts" + ] +} diff --git a/types/driftless/tslint.json b/types/driftless/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/driftless/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" }