UNPKG

@deepbrainspace/nx-surrealdb

Version:

NX plugin for SurrealDB migrations with modular architecture

125 lines â€ĸ 3.73 kB
"use strict"; /** * Centralized debug utility for nx-surrealdb-migrations * Provides consistent debug logging across all generators and executors */ Object.defineProperty(exports, "__esModule", { value: true }); exports.Debug = void 0; class Debug { /** * Enable debug mode */ static enable() { Debug.isEnabled = true; } /** * Disable debug mode */ static disable() { Debug.isEnabled = false; } /** * Check if debug mode is enabled */ static get enabled() { return Debug.isEnabled; } /** * Set debug mode based on boolean value */ static setEnabled(enabled) { Debug.isEnabled = enabled; } /** * Log debug message with 🔍 prefix */ static log(message, ...args) { if (Debug.isEnabled) { console.log(`🔍 DEBUG: ${message}`, ...args); } } /** * Log debug error with ❌ prefix */ static error(message, error) { if (Debug.isEnabled) { console.error(`🔍 DEBUG ERROR: ${message}`, error); } } /** * Log debug warning with âš ī¸ prefix */ static warn(message, ...args) { if (Debug.isEnabled) { console.warn(`🔍 DEBUG WARNING: ${message}`, ...args); } } /** * Log debug info with â„šī¸ prefix */ static info(message, ...args) { if (Debug.isEnabled) { console.info(`🔍 DEBUG INFO: ${message}`, ...args); } } /** * Log debug object/data with proper formatting */ static data(label, data) { if (Debug.isEnabled) { console.log(`🔍 DEBUG DATA [${label}]:`, JSON.stringify(data, null, 2)); } } /** * Log debug table for array data */ static table(label, data) { if (Debug.isEnabled) { console.log(`🔍 DEBUG TABLE [${label}]:`); console.table(data); } } static time(label, fn) { if (!Debug.isEnabled) { return fn(); } const start = Date.now(); console.log(`🔍 DEBUG TIMER: Starting ${label}`); const result = fn(); if (result instanceof Promise) { return result .then(value => { const duration = Date.now() - start; console.log(`🔍 DEBUG TIMER: ${label} completed in ${duration}ms`); return value; }) .catch(error => { const duration = Date.now() - start; console.log(`🔍 DEBUG TIMER: ${label} failed after ${duration}ms`); throw error; }); } else { const duration = Date.now() - start; console.log(`🔍 DEBUG TIMER: ${label} completed in ${duration}ms`); return result; } } /** * Create a scoped debug instance for a specific module */ static scope(moduleName) { return { log: (message, ...args) => Debug.log(`[${moduleName}] ${message}`, ...args), error: (message, error) => Debug.error(`[${moduleName}] ${message}`, error), warn: (message, ...args) => Debug.warn(`[${moduleName}] ${message}`, ...args), info: (message, ...args) => Debug.info(`[${moduleName}] ${message}`, ...args), data: (label, data) => Debug.data(`${moduleName}:${label}`, data), table: (label, data) => Debug.table(`${moduleName}:${label}`, data), time: (label, fn) => Debug.time(`${moduleName}:${label}`, fn), }; } } exports.Debug = Debug; Debug.isEnabled = false; //# sourceMappingURL=debug.js.map