{"version":3,"sources":["../../src/lib/token.ts"],"names":[],"mappings":"AACO,MAAM,cAAA,GAAiB;AAEvB,SAAS,aAAA,CAAc,MAAM,CAAA,EAAW;AAC7C,EAAA,IAAI,GAAA,GAAM,EAAA;AACV,EAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,GAAA,EAAK,CAAA,EAAA,EAAK;AAC5B,IAAA,GAAA,IAAO,cAAA,CAAe,KAAK,KAAA,CAAM,IAAA,CAAK,QAAO,GAAI,cAAA,CAAe,MAAM,CAAC,CAAA;AAAA,EACzE;AACA,EAAA,OAAO,GAAA;AACT;AAEO,MAAM,mBAAA,GAAsB;AAC5B,MAAM,mBAAA,GAAsB;AAE5B,SAAS,mBAAmB,GAAA,EAAqB;AACtD,EAAA,OAAO,IAAI,OAAA,CAAQ,mBAAA,EAAqB,EAAE,CAAA,CAAE,KAAA,CAAM,GAAG,EAAE,CAAA;AACzD","file":"token.mjs","sourcesContent":["// Confusable characters (0/O/I/L/1) excluded so tokens stay legible when shared verbally.\nexport const TOKEN_ALPHABET = 'ABCDEFGHJKMNPQRSTUVWXYZ23456789';\n\nexport function generateToken(len = 6): string {\n  let out = '';\n  for (let i = 0; i < len; i++) {\n    out += TOKEN_ALPHABET[Math.floor(Math.random() * TOKEN_ALPHABET.length)];\n  }\n  return out;\n}\n\nexport const TOKEN_INPUT_PATTERN = /[^a-zA-Z0-9]/g;\nexport const TOKEN_VALID_PATTERN = /^[a-zA-Z0-9]{4,32}$/;\n\nexport function sanitizeTokenInput(raw: string): string {\n  return raw.replace(TOKEN_INPUT_PATTERN, '').slice(0, 32);\n}\n"]}