INNER CODE UNIT · TypeScript
secureRandomIndex
aws-devtools-labs/aws-blocks · native/swift/Demo/typescript-demo/src/index.ts:311
function secureRandomIndex(maxExclusive: number): number {
if (!Number.isInteger(maxExclusive) || maxExclusive <= 0 || maxExclusive > 256) {
throw new Error('maxExclusive must be an integer between 1 and 256');
}
const limit = 256 - (256 % maxExclusive);
const bytes = new Uint8Array(1);
while (true) {
crypto.getRandomValues(bytes);
const value = bytes[0];
if (value < limit) {
return value % maxExclusive;
}
}
}
const myColor = COLORS[secureRandomIndex(COLORS.length)];
const realtimeArea = document.getElementById('realtime-area')!;