UNPKG

@magic-mustard/sqlsync

Version:

SQLSync simplifies database schema evolution by allowing a declarative approach to table management

55 lines (54 loc) 1.6 kB
"use strict"; /** * Debug utility for SQLSync * Controls debug output based on environment */ Object.defineProperty(exports, "__esModule", { value: true }); exports.configureDebug = configureDebug; exports.debug = debug; exports.isDebugEnabled = isDebugEnabled; exports.setDebugEnabled = setDebugEnabled; // Check for debug mode from environment const DEBUG_ENV = process.env.SQLSYNC_DEBUG || process.env.NODE_ENV === 'development'; // Default configuration const defaultConfig = { enabled: DEBUG_ENV ? true : false, level: DEBUG_ENV ? 'verbose' : 'none', }; // Current configuration let currentConfig = Object.assign({}, defaultConfig); /** * Configure debug settings * @param config Debug configuration */ function configureDebug(config) { currentConfig = Object.assign(Object.assign({}, currentConfig), config); } /** * Log debug message if debugging is enabled * @param message Debug message * @param level Minimum level required to show this message */ function debug(message, level = 'basic') { if (!currentConfig.enabled) return; if (level === 'verbose' && currentConfig.level !== 'verbose') return; console.log(`[DEBUG] ${message}`); } /** * Check if debugging is enabled * @returns True if debugging is enabled */ function isDebugEnabled() { return currentConfig.enabled; } /** * Enable or disable debugging * @param enabled Whether debugging should be enabled * @param level Debug level */ function setDebugEnabled(enabled, level = 'basic') { currentConfig.enabled = enabled; currentConfig.level = enabled ? level : 'none'; }