|
| 1 | +import { color, log, red, green, cyan, cyanBright, whiteBright, white, whiteBG, bgWhite, bgYellowBright, bgCyanBright, blueBright, yellow, magenta } from 'console-log-colors'; |
| 2 | +type LogLevel = 'ERROR' | 'WARN' | 'INFO' | 'DEBUG'; |
| 3 | +type ColorFn = (input: string) => string; |
| 4 | +/** |
| 5 | + * Funzione di esempio per mostrare l'utilizzo delle funzioni di colorazione. |
| 6 | + * Stampa un oggetto JSON formattato con chiavi colorate. |
| 7 | + */ |
| 8 | +declare const usage: () => void; |
| 9 | +/** |
| 10 | + * Funzione per colorare e formattare il JSON come stringa con chiavi e valori personalizzati. |
| 11 | + * |
| 12 | + * @param {Object} obj - Oggetto JSON da formattare e colorare. |
| 13 | + * @param {Function} keyColor - Funzione di colore applicata alle chiavi. |
| 14 | + * @param {Function} valueColor - Funzione di colore applicata ai valori. |
| 15 | + * @param {Function|null} bgColor - Funzione per il colore di sfondo delle chiavi. |
| 16 | + * @param {Function|null} textDecoration - Funzione per decorazione testo (es. bold, italic). |
| 17 | + * @param {number} indent - Livello di indentazione iniziale. |
| 18 | + * @returns {string} - Stringa JSON formattata con chiavi e valori colorati. |
| 19 | + */ |
| 20 | +declare const colorizeKeysAsString: (obj: Record<string, any>, keyColor?: ColorFn, valueColor?: ColorFn, bgColor?: ColorFn | null, textDecoration?: ColorFn | null, indent?: number) => string; |
| 21 | +/** |
| 22 | + * Variante di `colorizeKeysAsString` con indentazione specifica per ogni livello e valori colorati. |
| 23 | + * |
| 24 | + * @param {Object} obj - Oggetto JSON da formattare e colorare. |
| 25 | + * @param {Function} keyColor - Funzione di colore applicata alle chiavi. |
| 26 | + * Default: `color.magenta`. |
| 27 | + * @param {Function} valueColor - Funzione di colore applicata ai valori. |
| 28 | + * Default: `color.green`. |
| 29 | + * @param {Function|null} bgColor - Colore di sfondo delle chiavi (opzionale). Default: `null`. |
| 30 | + * @param {Function|null} textDecoration - Decorazione testo delle chiavi (opzionale). Default: `null`. |
| 31 | + * |
| 32 | + * @returns {string} - JSON formattato con indentazione e chiavi colorate. |
| 33 | + */ |
| 34 | +declare const colorizeKeysAsStringIndent: (obj: Record<string, any>, keyColor?: ColorFn, valueColor?: ColorFn, bgColor?: ColorFn | null, textDecoration?: ColorFn | null, indent?: number) => string; |
| 35 | +/** |
| 36 | + * Funzione per logging generico con supporto per oggetti JSON. |
| 37 | + * |
| 38 | + * @param {string} level - Livello del log (INFO, DEBUG, WARN, ERROR). |
| 39 | + * @param {string} context - Contesto del log (es. nome del modulo o funzione). |
| 40 | + * @param {string|Error|Object} message - Messaggio da loggare (stringa, errore o JSON). |
| 41 | + * @param {string|null} [subContext=null] - Contesto secondario opzionale. |
| 42 | + * @param {Function|null} [messageColor=null] - Colore personalizzato per il messaggio (opzionale). |
| 43 | + */ |
| 44 | +declare const logMessage: (level: LogLevel, context: string, message: unknown, subContext?: string | null, messageColor?: ColorFn | null) => void; |
| 45 | +/** |
| 46 | + * Funzione per logging degli errori. |
| 47 | + */ |
| 48 | +declare const logError: (context: string, error: unknown, subContext?: string, messageColor?: ColorFn | null) => void; |
| 49 | +/** |
| 50 | + * Funzione per logging dei warning. |
| 51 | + */ |
| 52 | +declare const logWarn: (context: string, message: unknown, subContext?: string, messageColor?: ColorFn | null) => void; |
| 53 | +/** |
| 54 | + * Funzione per logging informativo. |
| 55 | + */ |
| 56 | +declare const logInfo: (context: string, message: unknown, subContext?: string, messageColor?: ColorFn | null) => void; |
| 57 | +/** |
| 58 | + * Funzione per logging di debug. |
| 59 | + */ |
| 60 | +declare const logDebug: (context: string, message: unknown, subContext?: string, messageColor?: ColorFn | null) => void; |
| 61 | +/** |
| 62 | + * Logger centralizzato per il debug delle informazioni utente e degli aggiornamenti del database. |
| 63 | + * |
| 64 | + * @param {string} label - Etichetta per il log (es. "Matched Servers JSON" o "mainPrisma User Updated result"). |
| 65 | + * @param {string} context - Contesto del log (es. "handleAuthentication"). |
| 66 | + * @param {string} fusername - Nome utente in fase di autenticazione. |
| 67 | + * @param {Object} data - Dati da loggare (es. `matchedServers` o `updatedMainPrisma`). |
| 68 | + * @param {number} verbosityLevel - Livello di verbosità richiesto per il log. |
| 69 | + * @param {number} requiredVerbosity - Livello minimo di verbosità per stampare il log. |
| 70 | + * @param {Function|null} [messageColor=null] - Colore personalizzato per il messaggio (opzionale). |
| 71 | + * |
| 72 | + * @example |
| 73 | + * // Log dei server associati |
| 74 | + * logDebugData( |
| 75 | + * 'Matched Servers JSON', |
| 76 | + * 'handleAuthentication', |
| 77 | + * fusername, |
| 78 | + * matchedServers, |
| 79 | + * AUTH_VERBOSITY, |
| 80 | + * 1, |
| 81 | + * color.cyan |
| 82 | + * ); |
| 83 | + */ |
| 84 | +declare const logDebugData: (label: string, context: string, fusername: string, data: Record<string, any>, verbosityLevel: number, requiredVerbosity: number, messageColor?: ColorFn | null) => void; |
| 85 | +/** |
| 86 | + * Recupera il nome della prima funzione chiamante esterna significativa, |
| 87 | + * saltando frame interni e quelli anonimi. |
| 88 | + * |
| 89 | + * @returns {string} - Nome della funzione chiamante o 'anonymous' se non identificabile. |
| 90 | + */ |
| 91 | +declare const getFunctionName: () => string; |
| 92 | +export { color, log, whiteBG, bgWhite, bgYellowBright, bgCyanBright, cyanBright, whiteBright, white, blueBright, red, green, cyan, yellow, magenta, usage, colorizeKeysAsString, colorizeKeysAsStringIndent, logError, logDebug, logInfo, logMessage, logWarn, logDebugData, getFunctionName }; |
0 commit comments