mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-03-29 17:08:21 +08:00
Add typings for seedrandom 2.4.2
This commit is contained in:
25
seedrandom/seedrandom-tests.ts
Normal file
25
seedrandom/seedrandom-tests.ts
Normal file
@@ -0,0 +1,25 @@
|
||||
import seedrandom = require("seedrandom");
|
||||
|
||||
var rng = seedrandom("hello.");
|
||||
var n = rng();
|
||||
|
||||
seedrandom("hello.", {global: true});
|
||||
n = Math.random();
|
||||
|
||||
rng = seedrandom();
|
||||
n = rng();
|
||||
|
||||
rng = seedrandom('added entropy.', { entropy: true });
|
||||
n = rng();
|
||||
|
||||
var rng2 = seedrandom.xor4096('hello.');
|
||||
n = rng2();
|
||||
|
||||
n = rng.quick();
|
||||
n = rng.int32();
|
||||
n = rng.double();
|
||||
|
||||
var saveable = seedrandom("secret-seed", {state: true});
|
||||
for (var j = 0; j < 1e5; ++j) saveable();
|
||||
var saved = saveable.state();
|
||||
var replica = seedrandom("", {state: saved});
|
||||
43
seedrandom/seedrandom.d.ts
vendored
Normal file
43
seedrandom/seedrandom.d.ts
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
// Type definitions for seedrandom 2.4.2
|
||||
// Project: https://github.com/davidbau/seedrandom
|
||||
// Definitions by: Kern Handa <https://github.com/kernhanda>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
|
||||
declare type seedrandomStateType = boolean | (() => prng);
|
||||
|
||||
interface prng {
|
||||
new(seed?: string, options?: seedRandomOptions, callback?: any): prng;
|
||||
(): number;
|
||||
quick(): number;
|
||||
int32(): number;
|
||||
double(): number;
|
||||
state(): () => prng;
|
||||
}
|
||||
|
||||
interface seedrandom_prng {
|
||||
(seed?: string, options?: seedRandomOptions, callback?: any): prng;
|
||||
alea: (seed?: string, options?: seedRandomOptions, callback?: seedrandomCallback) => prng;
|
||||
xor128: (seed?: string, options?: seedRandomOptions, callback?: seedrandomCallback) => prng;
|
||||
tychei: (seed?: string, options?: seedRandomOptions, callback?: seedrandomCallback) => prng;
|
||||
xorwow: (seed?: string, options?: seedRandomOptions, callback?: seedrandomCallback) => prng;
|
||||
xor4096: (seed?: string, options?: seedRandomOptions, callback?: seedrandomCallback) => prng;
|
||||
xorshift7: (seed?: string, options?: seedRandomOptions, callback?: seedrandomCallback) => prng;
|
||||
quick: (seed?: string, options?: seedRandomOptions, callback?: seedrandomCallback) => prng;
|
||||
}
|
||||
|
||||
interface seedrandomCallback {
|
||||
(prng?: prng, shortseed?: string, global?: boolean, state?: seedrandomStateType): prng;
|
||||
}
|
||||
|
||||
interface seedRandomOptions {
|
||||
entropy?: boolean;
|
||||
'global'?: boolean;
|
||||
state?: seedrandomStateType;
|
||||
pass?: seedrandomCallback;
|
||||
}
|
||||
|
||||
declare var seedrandom: seedrandom_prng;
|
||||
|
||||
declare module "seedrandom" {
|
||||
export = seedrandom;
|
||||
}
|
||||
Reference in New Issue
Block a user