implementado typescript 7

This commit is contained in:
Luiz Silva 2026-08-03 16:48:50 -03:00
parent cd4ea4d36b
commit e9a323f18c
80 changed files with 5711 additions and 2455 deletions

View file

@ -1,85 +1,81 @@
"use strict";
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var eLog_exports = {};
__export(eLog_exports, {
NivelLog: () => NivelLog,
NivelLogDetalhes: () => NivelLogDetalhes,
iniciarELog: () => iniciarELog
});
module.exports = __toCommonJS(eLog_exports);
var NivelLog = /* @__PURE__ */ ((NivelLog2) => {
NivelLog2["RASTREAMENTO"] = "RASTREAMENTO";
NivelLog2["DEPURACAO"] = "DEPURACAO";
NivelLog2["INFORMACAO"] = "INFORMACAO";
NivelLog2["AVISO"] = "AVISO";
NivelLog2["ERRO"] = "ERRO";
NivelLog2["CRITICO"] = "CRITICO";
return NivelLog2;
})(NivelLog || {});
const NivelLogDetalhes = {
["RASTREAMENTO" /* RASTREAMENTO */]: { peso: 1, rotulo: "Rastreamento", emoji: "\u{1F50D}", metodo: "debug" },
["DEPURACAO" /* DEPURACAO */]: { peso: 2, rotulo: "Depura\xE7\xE3o", emoji: "\u{1F41B}", metodo: "debug" },
["INFORMACAO" /* INFORMACAO */]: { peso: 3, rotulo: "Informa\xE7\xE3o", emoji: "\u2139\uFE0F", metodo: "info" },
["AVISO" /* AVISO */]: { peso: 4, rotulo: "Aviso", emoji: "\u26A0\uFE0F", metodo: "warn" },
["ERRO" /* ERRO */]: { peso: 5, rotulo: "Erro", emoji: "\u274C", metodo: "error" },
["CRITICO" /* CRITICO */]: { peso: 6, rotulo: "Cr\xEDtico", emoji: "\u{1F525}", metodo: "error" }
Object.defineProperty(exports, "__esModule", { value: true });
exports.iniciarELog = exports.NivelLogDetalhes = exports.NivelLog = void 0;
/** Níveis de severidade para o sistema de log estruturado. */
var NivelLog;
(function (NivelLog) {
/** O mais baixo nível, ideal para rastreamento detalhado de fluxo e execução. */
NivelLog["RASTREAMENTO"] = "RASTREAMENTO";
/** Usado para informações que ajudam a entender o estado do sistema durante a execução. */
NivelLog["DEPURACAO"] = "DEPURACAO";
/** Informações gerais e eventos do sistema. */
NivelLog["INFORMACAO"] = "INFORMACAO";
/** Eventos inesperados, mas que não impedem o funcionamento do sistema. */
NivelLog["AVISO"] = "AVISO";
/** Erros que impactam o funcionamento do sistema, mas que podem ser recuperados. */
NivelLog["ERRO"] = "ERRO";
/** O nível mais alto de severidade, indicando falhas que requerem atenção imediata. */
NivelLog["CRITICO"] = "CRITICO";
})(NivelLog || (exports.NivelLog = NivelLog = {}));
/** Detalhes de cada nível de log — peso para filtragem, emoji e método do console. */
exports.NivelLogDetalhes = {
[NivelLog.RASTREAMENTO]: { peso: 1, rotulo: "Rastreamento", emoji: "🔍", metodo: "debug" },
[NivelLog.DEPURACAO]: { peso: 2, rotulo: "Depuração", emoji: "🐛", metodo: "debug" },
[NivelLog.INFORMACAO]: { peso: 3, rotulo: "Informação", emoji: "ℹ️", metodo: "info" },
[NivelLog.AVISO]: { peso: 4, rotulo: "Aviso", emoji: "⚠️", metodo: "warn" },
[NivelLog.ERRO]: { peso: 5, rotulo: "Erro", emoji: "❌", metodo: "error" },
[NivelLog.CRITICO]: { peso: 6, rotulo: "Crítico", emoji: "🔥", metodo: "error" },
};
/**
* Inicializa o sistema de log estruturado.
*
* @param opcoes.app - Identificador da aplicação/instância (ex: `"front:e-licencie:12345"`)
* @param opcoes.nivelMinimo - Nível mínimo para exibição no console (padrão: INFORMACAO)
* @param opcoes.arquivamento - Callback opcional para persistir/enviar as entradas de log
*
* @example
* ```ts
* const log = iniciarELog({ app: "front:e-licencie:12345" })
*
* log.info({ origem: "criarUsuario()", mensagem: "Usuário criado", dados: { id: "abc-123" } })
* // → ℹ️ [Informação] [front:e-licencie:12345] [criarUsuario()] Usuário criado
* ```
*/
const iniciarELog = (opcoes) => {
const nivel = opcoes.nivelMinimo ?? "INFORMACAO" /* INFORMACAO */;
const pesoMinimo = NivelLogDetalhes[nivel].peso;
const emitir = (nivelLog, pr) => {
const config = NivelLogDetalhes[nivelLog];
if (config.peso < pesoMinimo) return;
const entrada = {
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
nivel: nivelLog,
app: opcoes.app,
origem: pr.origem,
mensagem: pr.mensagem,
...pr.dados !== void 0 ? { dados: pr.dados } : {}
const nivel = opcoes.nivelMinimo ?? NivelLog.INFORMACAO;
const pesoMinimo = exports.NivelLogDetalhes[nivel].peso;
const emitir = (nivelLog, pr) => {
const config = exports.NivelLogDetalhes[nivelLog];
if (config.peso < pesoMinimo)
return;
const entrada = {
timestamp: new Date().toISOString(),
nivel: nivelLog,
app: opcoes.app,
origem: pr.origem,
mensagem: pr.mensagem,
...(pr.dados !== undefined ? { dados: pr.dados } : {}),
};
console[config.metodo](`${config.emoji} [${config.rotulo}] [${opcoes.app}] [${pr.origem}] ${pr.mensagem}`, pr.dados !== undefined ? pr.dados : "");
if (opcoes.arquivamento) {
opcoes.arquivamento(entrada, { app: opcoes.app, nivelMinimo: nivel });
}
};
return {
rastreamento: (pr) => emitir(NivelLog.RASTREAMENTO, pr),
depuracao: (pr) => emitir(NivelLog.DEPURACAO, pr),
info: (pr) => emitir(NivelLog.INFORMACAO, pr),
aviso: (pr) => emitir(NivelLog.AVISO, pr),
erro: (pr) => emitir(NivelLog.ERRO, pr),
critico: (pr) => emitir(NivelLog.CRITICO, pr),
};
console[config.metodo](
`${config.emoji} [${config.rotulo}] [${opcoes.app}] [${pr.origem}] ${pr.mensagem}`,
pr.dados !== void 0 ? pr.dados : ""
);
if (opcoes.arquivamento) {
opcoes.arquivamento(entrada, { app: opcoes.app, nivelMinimo: nivel });
}
};
return {
rastreamento: (pr) => emitir("RASTREAMENTO" /* RASTREAMENTO */, pr),
depuracao: (pr) => emitir("DEPURACAO" /* DEPURACAO */, pr),
info: (pr) => emitir("INFORMACAO" /* INFORMACAO */, pr),
aviso: (pr) => emitir("AVISO" /* AVISO */, pr),
erro: (pr) => emitir("ERRO" /* ERRO */, pr),
critico: (pr) => emitir("CRITICO" /* CRITICO */, pr)
};
};
const _log = iniciarELog({
app: "testando",
nivelMinimo: "INFORMACAO" /* INFORMACAO */,
arquivamento: () => {
}
});
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
NivelLog,
NivelLogDetalhes,
iniciarELog
exports.iniciarELog = iniciarELog;
const _log = (0, exports.iniciarELog)({
app: "testando",
nivelMinimo: NivelLog.INFORMACAO,
arquivamento: () => {
//
},
});
//log.aviso({ origem: "teste", mensagem: "teste" })