Skip to content

Instantly share code, notes, and snippets.

@jeanjmichel
Created December 22, 2021 16:10
Show Gist options
  • Save jeanjmichel/1711240d0e2078c3728ad413ec758d63 to your computer and use it in GitHub Desktop.
Save jeanjmichel/1711240d0e2078c3728ad413ec758d63 to your computer and use it in GitHub Desktop.
console.debug(`Criando um obj contaCorrente para iniciar o teste`)
const contaCorrente = {
numero: 123456,
cliente: 321,
saldo: 5000
};
const verificarTransacao = (tipoTransacao, contaCorrente, valorTransacao) => {
console.info(`verificarTransacao: Tipo de Transação = ${tipoTransacao} Conta Número = ${contaCorrente.numero} Cliente = ${contaCorrente.cliente} Saldo = ${contaCorrente.saldo} Valor Transação = ${valorTransacao}`)
let liberada
if(tipoTransacao === 'saque') {
liberada = contaCorrente.saldo > valorTransacao ? true : false
}
return liberada
}
const sacarDeContaCorrente = (contaCorrente, valor) => {
if(contaCorrente === null) {
console.error(`Conta Corrente não informada. Parâmetro contaCorrente = ${contaCorrente}`)
return false
}
console.info(`sacarDeContaCorrente: Número = ${contaCorrente.numero} Cliente = ${contaCorrente.cliente} Saldo = ${contaCorrente.saldo} Valor Saque = ${valor}`)
const liberada = verificarTransacao('saque', contaCorrente, valor)
if(!liberada)
console.warn(`A solicitação não será atendida liberada = ${liberada}`)
if(liberada) {
contaCorrente.saldo = contaCorrente.saldo - valor
return true
}
else {
return false
}
}
@jeanjmichel
Copy link
Author

Logs são fundamentais a qualquer aplicação, aqui está um exemplo muito simples que usei para um post a respeito do tema.

Experimente o código com as seguintes chamdas:

sacarDeContaCorrente(contaCorrente, 1000)
sacarDeContaCorrente(contaCorrente, 20000)
sacarDeContaCorrente(null, 1000)

Para ver as diferentes saídas.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment