UNPKG

2.05 kBSource Map (JSON)View Raw
1{"version":3,"file":"is-valid-cpf.cjs.production.min.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","cpf","numericCPF","onlyNumbers","test","indexOf","taxId","every","index","mod","generateChecksum","slice","split","reduce","a","b","String","isChecksumValid"],"mappings":"sMAAaA,EAAmB,CAC9B,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,eAKWC,EAAuB,CAAC,EAAG,6BCYLC,OAC5BA,EAAK,OAAO,MAEXC,EAAaC,EAAYF,SAxBxB,iCAAiCG,KA2BxBH,MAvBTF,EAAiBM,QAuBYH,IAvBM,IAG5C,SAAyBI,UAChBN,EAAqBO,MAAM,SAAAC,OAC1BC,EACJC,EACEJ,EACGK,MAAM,EAAGH,GACTI,MAAM,IACNC,OAAO,SAACC,EAAGC,UAAMD,EAAIC,GAAG,IAC3BP,EAAQ,GACN,UACCF,EAAME,KAAWQ,OAAOP,EAAM,EAAI,EAAI,GAAKA,KAUDQ,CAAgBf"}
\No newline at end of file