UNPKG

2.63 kBSource Map (JSON)View Raw
1{"version":3,"file":"is-valid-cpf.esm.js","sources":["../src/constants.ts","../src/index.ts"],"sourcesContent":["export const RESERVED_ENTRIES = [\n '00000000000',\n '11111111111',\n '22222222222',\n '33333333333',\n '44444444444',\n '55555555555',\n '66666666666',\n '77777777777',\n '88888888888',\n '99999999999',\n];\n\nexport const TAXID_LENGTH = 11;\n\nexport const VERIFICATION_INDEXES = [9, 10];\n","import onlyNumbers from '@brazilian-utils/helper-only-numbers';\nimport generateChecksum from '@brazilian-utils/helper-generate-checksum';\n\nimport { RESERVED_ENTRIES, VERIFICATION_INDEXES } from './constants';\n\nfunction isFormatValid(taxId: string): boolean {\n return /^\\d{3}\\.?\\d{3}\\.?\\d{3}-?\\d{2}$/.test(taxId);\n}\n\nfunction isReserved(taxId: string): boolean {\n return RESERVED_ENTRIES.indexOf(taxId) >= 0;\n}\n\nfunction isChecksumValid(taxId: string): boolean {\n return VERIFICATION_INDEXES.every(index => {\n const mod =\n generateChecksum(\n taxId\n .slice(0, index)\n .split('')\n .reduce((a, b) => a + b, ''),\n index + 1\n ) % 11;\n return taxId[index] === String(mod < 2 ? 0 : 11 - mod);\n });\n}\n\nexport default function isValidCpf(cpf: string) {\n if (!cpf) return false;\n\n const numericCPF = onlyNumbers(cpf);\n\n return (\n isFormatValid(cpf) && !isReserved(numericCPF) && isChecksumValid(numericCPF)\n );\n}\n"],"names":["RESERVED_ENTRIES","VERIFICATION_INDEXES","isFormatValid","taxId","test","isReserved","indexOf","isChecksumValid","every","index","mod","generateChecksum","slice","split","reduce","a","b","String","isValidCpf","cpf","numericCPF","onlyNumbers"],"mappings":";;;AAAO,IAAMA,gBAAgB,GAAG,CAC9B,aAD8B,EAE9B,aAF8B,EAG9B,aAH8B,EAI9B,aAJ8B,EAK9B,aAL8B,EAM9B,aAN8B,EAO9B,aAP8B,EAQ9B,aAR8B,EAS9B,aAT8B,EAU9B,aAV8B,CAAzB;AAaP,AAEO,IAAMC,oBAAoB,GAAG,CAAC,CAAD,EAAI,EAAJ,CAA7B;;ACVP,SAASC,aAAT,CAAuBC,KAAvB;SACS,iCAAiCC,IAAjC,CAAsCD,KAAtC,CAAP;;;AAGF,SAASE,UAAT,CAAoBF,KAApB;SACSH,gBAAgB,CAACM,OAAjB,CAAyBH,KAAzB,KAAmC,CAA1C;;;AAGF,SAASI,eAAT,CAAyBJ,KAAzB;SACSF,oBAAoB,CAACO,KAArB,CAA2B,UAAAC,KAAK;QAC/BC,GAAG,GACPC,gBAAgB,CACdR,KAAK,CACFS,KADH,CACS,CADT,EACYH,KADZ,EAEGI,KAFH,CAES,EAFT,EAGGC,MAHH,CAGU,UAACC,CAAD,EAAIC,CAAJ;aAAUD,CAAC,GAAGC,CAAd;KAHV,EAG2B,EAH3B,CADc,EAKdP,KAAK,GAAG,CALM,CAAhB,GAMI,EAPN;WAQON,KAAK,CAACM,KAAD,CAAL,KAAiBQ,MAAM,CAACP,GAAG,GAAG,CAAN,GAAU,CAAV,GAAc,KAAKA,GAApB,CAA9B;GATK,CAAP;;;AAaF,SAAwBQ,WAAWC;MAC7B,CAACA,GAAL,EAAU,OAAO,KAAP;MAEJC,UAAU,GAAGC,WAAW,CAACF,GAAD,CAA9B;SAGEjB,aAAa,CAACiB,GAAD,CAAb,IAAsB,CAACd,UAAU,CAACe,UAAD,CAAjC,IAAiDb,eAAe,CAACa,UAAD,CADlE;;;;;"}
\No newline at end of file