From 010730127b2a5f5caac6dc4f7ec14b0959734be2 Mon Sep 17 00:00:00 2001 From: Chris Wanstrath Date: Sun, 28 Sep 2025 22:14:24 -0700 Subject: [PATCH] more random funcs --- app/src/shared/utils.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/app/src/shared/utils.ts b/app/src/shared/utils.ts index d8f30d1..9667b55 100644 --- a/app/src/shared/utils.ts +++ b/app/src/shared/utils.ts @@ -19,4 +19,16 @@ export function rng(min: number, max = 0) { min = Math.ceil(min) max = Math.floor(max) return Math.floor(Math.random() * (max - min + 1)) + min +} + +// randomElement([5, 7, 9]) #=> 7 +export function randomElement(list: T[]): T | undefined { + if (!list.length) return + return list[rng(0, list.length - 1)] +} + +// randomIndex([5, 7, 9]) #=> 1 +export function randomIndex(list: T[]): number | undefined { + if (!list.length) return + return rng(0, list.length - 1) } \ No newline at end of file