/** Продуктовый ключ активации (не путать с лицензионным токеном `base64.base64`). */ const TTRPG_PRODUCT_KEY_RE = /^TTRPG-[0-9A-F]{8}-(?:[0-9A-F]{4}-){3}[0-9A-F]{12}$/iu; const DND_PRODUCT_KEY_RE = /^DND-[0-9A-F]{8}-(?:[0-9A-F]{4}-){3}[0-9A-F]{12}$/iu; export function isProductKey(s: string): boolean { const t = s.trim(); return TTRPG_PRODUCT_KEY_RE.test(t) || DND_PRODUCT_KEY_RE.test(t); } /** @deprecated Используйте {@link isProductKey}. */ export function isDndProductKey(s: string): boolean { return isProductKey(s); }