From 2f8a3908a8c2e88ea10ca42c7dfad5dd43138299 Mon Sep 17 00:00:00 2001 From: Franz Knipp Date: Thu, 29 Oct 2020 15:47:51 +0000 Subject: [PATCH] Add a generator to pick an element from a list --- generators/element.ts | 10 ++++++++++ generators/index.ts | 3 ++- 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 generators/element.ts diff --git a/generators/element.ts b/generators/element.ts new file mode 100644 index 0000000..d1f197f --- /dev/null +++ b/generators/element.ts @@ -0,0 +1,10 @@ +import { getInteger } from "../random/number.ts"; + +export default function* ( + { list = ["A", "B", "C"] } = {}, +) { + while (true) { + const index = getInteger({ min: 0, max: list.length }); + yield list[index]; + } +} diff --git a/generators/index.ts b/generators/index.ts index 7d1ae0a..79f12c0 100644 --- a/generators/index.ts +++ b/generators/index.ts @@ -1,3 +1,4 @@ +import element from "./element.ts"; import integer from "./integer.ts"; import ipv4 from "./ipv4.ts"; @@ -5,6 +6,6 @@ interface Generators { [index: string]: (config: any) => any; } -const generators: Generators = { integer, ipv4 }; +const generators: Generators = { element, integer, ipv4 }; export default generators; -- 2.51.2