UNPKG

@designliquido/lincones-postgresql

Version:
56 lines 2.86 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ClientePostgreSQL = void 0; const pg_1 = require("pg"); class ClientePostgreSQL { constructor(configuracao) { var _a, _b, _c, _d, _e, _f, _g; let enderecoHost = (_b = (_a = configuracao === null || configuracao === void 0 ? void 0 : configuracao.host) !== null && _a !== void 0 ? _a : process.env.ENDERECO) !== null && _b !== void 0 ? _b : 'localhost'; let nomeBanco = (_d = (_c = configuracao === null || configuracao === void 0 ? void 0 : configuracao.banco) !== null && _c !== void 0 ? _c : process.env.NOME_BASE_DADOS) !== null && _d !== void 0 ? _d : ''; let porta = (_e = configuracao === null || configuracao === void 0 ? void 0 : configuracao.porta) !== null && _e !== void 0 ? _e : Number(process.env.PORTA || 5432); if (!(configuracao === null || configuracao === void 0 ? void 0 : configuracao.host) && (configuracao === null || configuracao === void 0 ? void 0 : configuracao.caminho)) { const [parteHost, parteBanco] = configuracao.caminho.split('/'); const [hostSemPorta, partePorta] = parteHost.split(':'); enderecoHost = hostSemPorta || enderecoHost; nomeBanco = parteBanco !== null && parteBanco !== void 0 ? parteBanco : nomeBanco; if (partePorta) { const portaConvertida = Number(partePorta); if (!isNaN(portaConvertida)) { porta = portaConvertida; } } } this.origemDados = { host: enderecoHost, port: porta, database: nomeBanco, user: (_f = configuracao === null || configuracao === void 0 ? void 0 : configuracao.usuario) !== null && _f !== void 0 ? _f : process.env.USUARIO, password: (_g = configuracao === null || configuracao === void 0 ? void 0 : configuracao.senha) !== null && _g !== void 0 ? _g : process.env.SENHA }; this.instanciaBancoDeDados = new pg_1.Client(this.origemDados); } async abrir() { return new Promise((resolve, reject) => { this.instanciaBancoDeDados.connect((erro) => { if (erro) { return reject(erro.stack); } ; resolve('Conectado ao banco de dados PostgreSQL.'); }); }); } async executarComando(comando) { return new Promise((resolve, reject) => { this.instanciaBancoDeDados.query(comando, (erro, resultado) => { if (erro) { return reject(erro.stack); } ; resolve(resultado); }); }); } } exports.ClientePostgreSQL = ClientePostgreSQL; //# sourceMappingURL=cliente-postgresql.js.map