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