I have this object below that I receive via API, but sometimes the SimplesNacional property comes as null.
How do I destructure(??) it only when it's not null
, since it has some nested properties that break my program in the destructuration?
This is the object:
const {
Retorno: {
ReceitaPJ: {
NumeroInscricao: numeroInscricao,
Matriz: matriz,
DataAbertura: dataAbertura,
NomeEmpresarial: nomeEmpresarial,
NomeFantasia: nomeFantasia,
NaturezaJuridica: naturezaJuridica,
SituacaoCadastral: situacaoCadastral,
},
SimplesNacional: {
SituacaoSimplesNacional: situacaoSimplesNacional,
SituacaoSIMEI: situacaoSIMEI,
SimplesNacionalPeriodosAnteriores: simplesNacionalPeriodosAnteriores,
SIMEIPeriodosAnteriores,
DataConsulta: dataConsulta,
},
CadastroPJ: {
Telefones: telefones,
Enderecos: enderecos,
Emails: emails,
Socios: socios,
},
},
} = response;
This is the usage:
result.data = {
cadastroPJ: {
numeroInscricao,
matriz,
dataAbertura,
nomeEmpresarial,
nomeFantasia,
naturezaJuridica,
situacaoCadastral,
},
simplesNacional: {
nomeEmpresarial,
situacaoSimplesNacional,
situacaoSIMEI,
simplesNacionalPeriodosAnteriores,
SIMEIPeriodosAnteriores,
dataConsulta,
},
telefones: telefones.map((x) => ({
numero: x.TelefoneComDDD,
})),
enderecos: enderecos.map((x) => ({
logradouro: x.Logradouro,
numero: x.Numero,
bairro: x.Bairro,
cidade: x.Cidade,
uf: x.UF,
cep: x.CEP,
})),
emails: emails.map((x) => ({
endereco: x.EnderecoEmail,
})),
socios: socios.map((x) => ({
documento: x.Documento,
nome: x.Nome,
percentualParticipacao: x.PercentualParticipacao,
dataEntrada: x.DataEntrada,
})),
};
Visual Studio Code terminal says:
Cannot destructure property
SituacaoSimplesNacional
ofundefined
ornull
.
because the property SimplesNacional
is null
.
const {
Retorno: {
ReceitaPJ: {
NumeroInscricao: numeroInscricao,
Matriz: matriz,
DataAbertura: dataAbertura,
NomeEmpresarial: nomeEmpresarial,
NomeFantasia: nomeFantasia,
NaturezaJuridica: naturezaJuridica,
SituacaoCadastral: situacaoCadastral,
},
SimplesNacional,
CadastroPJ: {
Telefones: telefones,
Enderecos: enderecos,
Emails: emails,
Socios: socios,
},
},
} = response
if (SimplesNacional) {
var {
SituacaoSimplesNacional: situacaoSimplesNacional,
SituacaoSIMEI: situacaoSIMEI,
SimplesNacionalPeriodosAnteriores: simplesNacionalPeriodosAnteriores,
SIMEIPeriodosAnteriores,
DataConsulta: dataConsulta,
} = SimplesNacional
}
Just make it in two steps
EDIT: if you want use const...
const {
SituacaoSimplesNacional: situacaoSimplesNacional,
SituacaoSIMEI: situacaoSIMEI,
SimplesNacionalPeriodosAnteriores: simplesNacionalPeriodosAnteriores,
SIMEIPeriodosAnteriores,
DataConsulta: dataConsulta,
} = (SimplesNacional || {})
but anyway, deep in object will throw an error later...