blob: 46454f01def6b906555bc5eddd08cab8f1d92089 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
import "dotenv/config";
import Prando from 'prando';
import { Gen } from "./property";
let genint: Gen<number> = (rng: Prando) =>
(size: number) =>
rng.nextInt(-size, size);
function genlist<A>(gen: Gen<A>): Gen<A[]> {
return (rng: Prando) => {
let g = gen(rng);
return (size: number) => {
let result = [];
for (let i = 0; i < size; i++) {
result.push(g(size));
}
return result;
};
};
}
function generate<A>(gen: Gen<A>): A {
let rng = new Prando(Math.random() * 1000);
return gen(rng)(100);
}
async function main() {
console.log('list: ' + generate(genlist(genint)));
}
main();
|