diff --git a/config.ts b/config.ts index 08e28fb..c0b3c2b 100644 --- a/config.ts +++ b/config.ts @@ -11,6 +11,10 @@ export default { distribution: "linear", }, }, + { + type: "integer", + name: "size", + }, // { // type: "ipv4", // name: "target", diff --git a/generators/index.ts b/generators/index.ts index c36223e..7d1ae0a 100644 --- a/generators/index.ts +++ b/generators/index.ts @@ -1,9 +1,10 @@ +import integer from "./integer.ts"; import ipv4 from "./ipv4.ts"; interface Generators { [index: string]: (config: any) => any; } -const generators: Generators = { ipv4 }; +const generators: Generators = { integer, ipv4 }; export default generators; diff --git a/generators/integer.ts b/generators/integer.ts new file mode 100644 index 0000000..bb77e0d --- /dev/null +++ b/generators/integer.ts @@ -0,0 +1,10 @@ +import { getInteger } from "../random/number.ts"; + +export default function* ( + { number = { min: 0, max: 256 }, distribution = "uniform" } = {}, +) { + while (true) { + const myNumber = getInteger(number); + yield myNumber; + } +}