UNPKG

@phroun/paged-buffer

Version:

High-performance buffer system for editing massive files with intelligent memory management and undo/redo capabilities

79 lines 1.95 kB
"use strict"; /** * @fileoverview Simple logger utility with debug toggle * @description Provides console logging with optional debug output control * @author Jeffrey R. Day * @version 1.0.0 */ Object.defineProperty(exports, "__esModule", { value: true }); exports.logger = exports.isDebugEnabled = exports.setDebug = exports.info = exports.error = exports.warn = exports.debug = void 0; let debugOutputEnabled = false; /** * Logs messages to the console if debugging is enabled. * Behaves like console.log, accepting multiple arguments. */ function debug(...args) { if (debugOutputEnabled) { // eslint-disable-next-line no-console console.log(...args); } } exports.debug = debug; /** * Logs warning messages to the console if debugging is enabled. * Alias for debug function to maintain compatibility. */ function warn(...args) { if (debugOutputEnabled) { // eslint-disable-next-line no-console console.warn(...args); } } exports.warn = warn; /** * Logs error messages to the console (always enabled). */ function error(...args) { // eslint-disable-next-line no-console console.error(...args); } exports.error = error; /** * Logs info messages to the console if debugging is enabled. */ function info(...args) { if (debugOutputEnabled) { // eslint-disable-next-line no-console console.info(...args); } } exports.info = info; /** * Enables or disables debug output. */ function setDebug(enable) { debugOutputEnabled = enable; } exports.setDebug = setDebug; /** * Gets the current debug state. */ function isDebugEnabled() { return debugOutputEnabled; } exports.isDebugEnabled = isDebugEnabled; /** * Default logger instance */ const logger = { debug, warn, error, info, setDebug, isDebugEnabled }; exports.logger = logger; // Default export for compatibility exports.default = logger; //# sourceMappingURL=logger.js.map