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-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){
|
|
|
|
console.log(erro.message)
|
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)){
|
|
|
|
throw new Error("CPF Inválido")
|
|
|
|
}
|
|
|
|
|
|
|
|
return _cpf
|
|
|
|
}
|
|
|
|
|
2024-05-28 01:48:24 +00:00
|
|
|
mostrarDados(){
|
|
|
|
return `Meus dados são: ${this.nome} e ${this.cpf}`
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
export default PessoaFisica
|