From 541feb9ac37cf3eb18ce60f4423eeb61b4eff940 Mon Sep 17 00:00:00 2001 From: Gary Parker Date: Mon, 25 Mar 2019 13:10:11 -0400 Subject: [PATCH] Added type definitions for elv (#34153) --- types/elv/elv-tests.ts | 14 ++++++++++++++ types/elv/index.d.ts | 21 +++++++++++++++++++++ types/elv/tsconfig.json | 24 ++++++++++++++++++++++++ types/elv/tslint.json | 1 + 4 files changed, 60 insertions(+) create mode 100644 types/elv/elv-tests.ts create mode 100644 types/elv/index.d.ts create mode 100644 types/elv/tsconfig.json create mode 100644 types/elv/tslint.json diff --git a/types/elv/elv-tests.ts b/types/elv/elv-tests.ts new file mode 100644 index 0000000000..78689fc493 --- /dev/null +++ b/types/elv/elv-tests.ts @@ -0,0 +1,14 @@ +import elv = require('elv'); + +elv(''); // $ExpectType boolean + +elv.behavior.enableFalse; // $ExpectedType boolean +elv.behavior.enableNaN; // $ExpectedType boolean +elv.behavior.enableNull; // $ExpectedType boolean +elv.behavior.enableUndefined; // $ExpectedType boolean + +elv.coalesce(''); // $ExpectType any +elv.ncoalesce(''); // $ExpectType any +elv.populated(''); // $ExpectType boolean +elv.tryGet([], 0); // $ExpectType any +elv.tryGet([], 0, ''); // $ExpectType any diff --git a/types/elv/index.d.ts b/types/elv/index.d.ts new file mode 100644 index 0000000000..defab524f9 --- /dev/null +++ b/types/elv/index.d.ts @@ -0,0 +1,21 @@ +// Type definitions for elv 2.2 +// Project: https://github.com/dsfields/elv#readme +// Definitions by: Gary Parker +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +declare function elv(val: any): boolean; + +declare namespace elv { + const behavior: { + enableFalse: boolean + enableNaN: boolean + enableNull: boolean + enableUndefined: boolean + }; + function coalesce(...args: any[]): any; + function ncoalesce(...args: any[]): any; + function populated(val: any): boolean; + function tryGet(val: ReadonlyArray, index: number, def?: any): any; +} + +export = elv; diff --git a/types/elv/tsconfig.json b/types/elv/tsconfig.json new file mode 100644 index 0000000000..ae2286a85f --- /dev/null +++ b/types/elv/tsconfig.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true, + "allowSyntheticDefaultImports": true, + "strictFunctionTypes": true + }, + "files": [ + "index.d.ts", + "elv-tests.ts" + ] +} diff --git a/types/elv/tslint.json b/types/elv/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/elv/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" }