UNPKG

zs-core-db

Version:

Servicios generales de acceso a bases de datos

57 lines (46 loc) 1.21 kB
//@ts-check const separator = require("path").sep; const caller = () => { const stack = new Error().stack?.split("\n")[3]?.trim(); const script = stack?.split(separator).reverse()[0].split(":")[0]; const caller = stack?.split("at ")[1].split(" ")[0]; return `${caller} at ${script}:`; }; const parsedMessage = (...msg) => { const messages = msg.join(" "); return messages.startsWith("Error: ") ? messages.substring(7) : messages; }; /** * @param {...any} msg */ const log = (...msg) => console.log(new Date(), caller(), ...msg); /** * @param {...any} msg */ const info = (...msg) => console.info(new Date(), ...msg); /** * @param {...any} msg */ const warn = (...msg) => console.warn(new Date(), "WARNING:", caller(), ...msg); /** * @param {...any} msg */ const error = (...msg) => console.error(new Date(), "ERROR:", caller(), parsedMessage(...msg)); /** * @param {...any} msg */ const raise = (...msg) => { const err = new Error(msg.join(" ")); Error.captureStackTrace(err, this.raise); const stack = err.stack?.split("\n"); stack?.splice(1, 1); throw err && parsedMessage(stack?.join("\n")); }; module.exports = { log, info, warn, error, raise, };