INNER CODE UNIT · TypeScript
generateUniqueCode
Hash-Studios/Prism · infra/cloudflare/worker/src/index.ts:704
async function generateUniqueCode(env: Env): Promise<string> {
for (let i = 0; i < 10; i += 1) {
const code = generateCode(8);
const existing = await env.LINKS_KV.get(code);
if (existing == null) {
return code;
}
}
return `${Date.now().toString(36)}${generateCode(2)}`.slice(0, 10);
}
function generateCode(length: number): string {
const alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
const bytes = crypto.getRandomValues(new Uint8Array(length));
let out = '';
for (let i = 0; i < bytes.length; i += 1) {
out += alphabet[bytes[i] % alphabet.length];
}