DEV Community

Manuel Felipe Arias Pineda
Manuel Felipe Arias Pineda

Posted on

ðŸ‡đ🇭 āļ›āļĢāļ°āđ€āļ—āļĻāđ„āļ—āļĒ devs: Add āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™ to the AI identity standard — Soulprint open source (30 min PR)

AI agents āļ•āļąāļ”āļŠāļīāļ™āđƒāļˆāđāļ—āļ™āđ€āļĢāļēāļ—āļļāļāļ§āļąāļ™ Soulprint — ZK Proofs āļ—āļģāļ‡āļēāļ™āļšāļ™āļ­āļļāļ›āļāļĢāļ“āđŒ MIT āļŸāļĢāļĩ

ðŸ‡đ🇭 āļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™āđ„āļ—āļĒāļĒāļąāļ‡āđ„āļĄāđˆāļ­āļĒāļđāđˆāđƒāļ™ Soulprint āđ€āļžāļīāđˆāļĄāđ„āļ”āđ‰āđƒāļ™ 30 āļ™āļēāļ—āļĩ

āļĢāļđāļ›āđāļšāļšāļšāļąāļ•āļĢāļ›āļĢāļ°āļŠāļēāļŠāļ™

13 āļŦāļĨāļąāļ āļŦāļĨāļąāļāđāļĢāļ = āļ›āļĢāļ°āđ€āļ āļ— (1-8) āļŦāļĨāļąāļāļŠāļļāļ”āļ—āđ‰āļēāļĒ = check digit (āļāļĢāļ°āļšāļ§āļ™āļāļēāļĢ mod-10 āđāļšāļšāļ–āđˆāļ§āļ‡āļ™āđ‰āļģāļŦāļ™āļąāļ)

const TH: CountryVerifier = {
  countryCode: "TH", countryName: "Thailand",
  documentTypes: ["national_id"],
  parse(ocrText: string): DocumentResult {
    const id = ocrText.match(/(\d{13})/)?.[1] ?? "";
    return { valid: !!id, doc_number: id, country: "TH" };
  },
  validate(docNumber: string): NumberValidation {
    if(!/^\d{13}$/.test(docNumber)) return {valid:false};
    const sum=docNumber.slice(0,12).split("").reduce((s,d,i)=>s+Number(d)*(13-i),0);
    return { valid: (11-(sum%11))%10 === Number(docNumber[12]) };
  },
};
export default TH;
Enter fullscreen mode Exit fullscreen mode

ðŸ’ŧ GitHub · āļŦāļ™āļķāđˆāļ‡ PR āļŦāļ™āļķāđˆāļ‡āļ›āļĢāļ°āđ€āļ—āļĻ

Top comments (0)