From 303dd0fb1b76a7dd00c452b68484cc34f177348e Mon Sep 17 00:00:00 2001 From: Endel Dreyer Date: Sun, 16 Oct 2016 20:13:00 +0200 Subject: [PATCH 1/2] add type definitions for 'random-seed' package --- random-seed/random-seed-tests.ts | 20 +++++++++++++++++++ random-seed/random-seed.d.ts | 33 ++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 random-seed/random-seed-tests.ts create mode 100644 random-seed/random-seed.d.ts diff --git a/random-seed/random-seed-tests.ts b/random-seed/random-seed-tests.ts new file mode 100644 index 0000000000..9cbfda6766 --- /dev/null +++ b/random-seed/random-seed-tests.ts @@ -0,0 +1,20 @@ +/// +import * as gen from "random-seed"; + +// these generators produce different numbers +let rand1 = gen.create(); // method 1 +let rand2 = gen(); // method 3 + +// these generators will produce +// the same sequence of numbers +let seed = 'My Secret String Value'; +let rand3 = gen.create(seed); +let rand4 = gen(seed); + +// API +rand1.addEntropy(); +rand1.random(); +rand1.range(100); +rand1.intBetween(0, 10); +rand1.floatBetween(0, 1); +rand1.seed("new seed"); diff --git a/random-seed/random-seed.d.ts b/random-seed/random-seed.d.ts new file mode 100644 index 0000000000..e459a89cf8 --- /dev/null +++ b/random-seed/random-seed.d.ts @@ -0,0 +1,33 @@ +// Type definitions for random-seed 0.3.0 +// Project: https://github.com/skratchdot/random-seed/ +// Definitions by: Endel Dreyer +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +declare module "random-seed" { + + interface RandomSeed { + range (range: number): number; + random (): number; + floatBetween (min: number, max: number): number; + intBetween (min: number, max: number): number; + + string (count: number): string; + seed (seed: string): void; + + cleanString (inStr: string): string; + hashString (inStr: string): string; + + addEntropy (...args: any[]): void; + initState (): void; + + done (): void; + } + + function create (seed?: string): RandomSeed; + + namespace create { + function create(seed?: string): RandomSeed; + } + + export = create; +} From bb55a1f2d04d7a4d976d9154818d54c4e5b6e711 Mon Sep 17 00:00:00 2001 From: Endel Dreyer Date: Sun, 16 Oct 2016 21:16:06 +0200 Subject: [PATCH 2/2] export interface and create method instead of default export --- random-seed/random-seed-tests.ts | 8 +++----- random-seed/random-seed.d.ts | 9 ++------- 2 files changed, 5 insertions(+), 12 deletions(-) diff --git a/random-seed/random-seed-tests.ts b/random-seed/random-seed-tests.ts index 9cbfda6766..de49c65e45 100644 --- a/random-seed/random-seed-tests.ts +++ b/random-seed/random-seed-tests.ts @@ -1,15 +1,13 @@ /// -import * as gen from "random-seed"; +import { RandomSeed, create } from "random-seed"; // these generators produce different numbers -let rand1 = gen.create(); // method 1 -let rand2 = gen(); // method 3 +let rand1: RandomSeed = create(); // method 1 // these generators will produce // the same sequence of numbers let seed = 'My Secret String Value'; -let rand3 = gen.create(seed); -let rand4 = gen(seed); +let rand2 = create(seed); // API rand1.addEntropy(); diff --git a/random-seed/random-seed.d.ts b/random-seed/random-seed.d.ts index e459a89cf8..2dcb02d1e6 100644 --- a/random-seed/random-seed.d.ts +++ b/random-seed/random-seed.d.ts @@ -5,7 +5,7 @@ declare module "random-seed" { - interface RandomSeed { + export interface RandomSeed { range (range: number): number; random (): number; floatBetween (min: number, max: number): number; @@ -23,11 +23,6 @@ declare module "random-seed" { done (): void; } - function create (seed?: string): RandomSeed; + export function create (seed?: string): RandomSeed; - namespace create { - function create(seed?: string): RandomSeed; - } - - export = create; }