From 263ab90259de831ed4591d4591c24571dc30c438 Mon Sep 17 00:00:00 2001 From: Openbyte Date: Fri, 16 Feb 2018 16:07:53 +0100 Subject: [PATCH] Added declarations for 'random-number --- types/random-number/index.d.ts | 29 +++++++++++ types/random-number/random-number-tests.ts | 58 ++++++++++++++++++++++ types/random-number/tsconfig.json | 24 +++++++++ types/random-number/tslint.json | 3 ++ 4 files changed, 114 insertions(+) create mode 100644 types/random-number/index.d.ts create mode 100644 types/random-number/random-number-tests.ts create mode 100644 types/random-number/tsconfig.json create mode 100644 types/random-number/tslint.json diff --git a/types/random-number/index.d.ts b/types/random-number/index.d.ts new file mode 100644 index 0000000000..27399204a5 --- /dev/null +++ b/types/random-number/index.d.ts @@ -0,0 +1,29 @@ +// Type definitions for random-number 0.0 +// Project: https://github.com/ashnur/random-number +// Definitions by: OpenByteDev +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +// TypeScript Version: 2.2 + +type Generator = (min?: number|null, max?: number|null, integer?: boolean|null) => number; + +interface UnparsedOptions { + min?: number|null; + max?: number|null; + integer?: boolean|null; +} +interface Options { + min: number; + max: number; + integer: boolean; +} + +interface RandomNumber { + (options?: UnparsedOptions): number; + generator(options?: UnparsedOptions): Generator; + defaults(options?: UnparsedOptions): Options; +} + +declare const randomNumber: RandomNumber; + +export = randomNumber; diff --git a/types/random-number/random-number-tests.ts b/types/random-number/random-number-tests.ts new file mode 100644 index 0000000000..72a8fb4628 --- /dev/null +++ b/types/random-number/random-number-tests.ts @@ -0,0 +1,58 @@ +import rn = require('random-number'); + +rn(); + +const options1 = { + min: -1000, + max: 1000, + integer: true +}; +rn(options1); + +const gen1 = rn.generator({ + min: -1000, + max: 1000, + integer: true +}); +gen1(); + +const gen2 = rn.generator({ + min: -1000, + max: 1000, + integer: true +}); +gen2(500); +gen2(500, null, false); + +const options3 = { + min: 9874316514 +}; +rn(options3); + +const options4 = { + max: -9874316514 +}; +rn(options4); + +const options5 = { + integer: true +}; +rn(options5); + +const options6 = { + min: -10, + max: -1 +}; +rn(options6); + +const options7 = { + min: 1000, + integer: true +}; +rn(options7); + +const options8 = { + max: 1000, + integer: true +}; +rn(options8); diff --git a/types/random-number/tsconfig.json b/types/random-number/tsconfig.json new file mode 100644 index 0000000000..96004058a0 --- /dev/null +++ b/types/random-number/tsconfig.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "strictFunctionTypes": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true, + "esModuleInterop": true + }, + "files": [ + "index.d.ts", + "random-number-tests.ts" + ] +} \ No newline at end of file diff --git a/types/random-number/tslint.json b/types/random-number/tslint.json new file mode 100644 index 0000000000..f93cf8562a --- /dev/null +++ b/types/random-number/tslint.json @@ -0,0 +1,3 @@ +{ + "extends": "dtslint/dt.json" +}