add aime card utils

This commit is contained in:
ppc
2024-08-07 18:18:44 +01:00
parent aaf737af59
commit 0cbbc30ecb
+20
View File
@@ -0,0 +1,20 @@
/**
* Generates a random Aime card id.
*/
export function generateAimeCardId(): string {
let id: string;
do {
id = Math.floor(Math.random() * 1e20).toString().padStart(20, '0');
} while (id[0] === '3'); // https://gitea.tendokyu.moe/Dniel97/segatools/src/commit/37c26ecadb2ce4d2cb3a61ce96c2c931ba2fc346/aimeio/aimeio.c#L191
return id;
}
/**
* Validates the provided card id by known parameters
* @param id The card id to validate
*/
export function validateAimeCardId(id: string): boolean {
return id[0] !== '3' && /^[0-9A-F]{20}$/i.test(id);
}