37 lines
629 B
JavaScript
Executable File
37 lines
629 B
JavaScript
Executable File
import Pessoa from './pessoa.js'
|
|
import { cpf } from 'brazilian-doc-validator';
|
|
import ErroCustomizado from "./erro_customizado.js";
|
|
|
|
class PessoaFisica extends Pessoa {
|
|
#_cpf
|
|
|
|
constructor(nome) {
|
|
super(nome)
|
|
}
|
|
|
|
set cpf(_cpf) {
|
|
try {
|
|
this.#_cpf = this.#validarCPF(_cpf)
|
|
} catch(erro){
|
|
console.log(erro)
|
|
}
|
|
}
|
|
|
|
get cpf() {
|
|
return this.#_cpf
|
|
}
|
|
|
|
#validarCPF(_cpf){
|
|
if (!cpf.validate(_cpf)){
|
|
throw new ErroCustomizado("CPF Inválido")
|
|
}
|
|
|
|
return _cpf
|
|
}
|
|
|
|
mostrarDados(){
|
|
return `Meus dados são: ${this.nome} e ${this.cpf}`
|
|
}
|
|
}
|
|
|
|
export default PessoaFisica |