codigo_azul/pessoa_fisica.js

37 lines
629 B
JavaScript
Raw Permalink Normal View History

2024-05-28 01:48:24 +00:00
import Pessoa from './pessoa.js'
2024-05-29 00:04:17 +00:00
import { cpf } from 'brazilian-doc-validator';
2024-06-05 01:13:45 +00:00
import ErroCustomizado from "./erro_customizado.js";
2024-05-28 01:48:24 +00:00
class PessoaFisica extends Pessoa {
#_cpf
2024-05-30 00:12:33 +00:00
2024-05-28 01:48:24 +00:00
constructor(nome) {
super(nome)
}
2024-05-29 00:04:17 +00:00
set cpf(_cpf) {
2024-05-30 00:12:33 +00:00
try {
this.#_cpf = this.#validarCPF(_cpf)
} catch(erro){
2024-06-05 01:13:45 +00:00
console.log(erro)
2024-05-29 00:04:17 +00:00
}
2024-05-28 01:48:24 +00:00
}
get cpf() {
return this.#_cpf
}
2024-05-30 00:12:33 +00:00
#validarCPF(_cpf){
if (!cpf.validate(_cpf)){
2024-06-05 01:13:45 +00:00
throw new ErroCustomizado("CPF Inválido")
2024-05-30 00:12:33 +00:00
}
return _cpf
}
2024-05-28 01:48:24 +00:00
mostrarDados(){
return `Meus dados são: ${this.nome} e ${this.cpf}`
}
}
export default PessoaFisica