UNPKG

@paulstinchcombe/kami721c-sdk

Version:

SDK for interacting with KAMI721C NFT contracts

79 lines (78 loc) 3.32 kB
"use strict"; /** * Console color utility - provides functions for colorized terminal output */ Object.defineProperty(exports, "__esModule", { value: true }); exports.colorLog = exports.logStyles = exports.colors = void 0; exports.formatKeyValue = formatKeyValue; // Define ANSI color code constants exports.colors = { // Text colors reset: '\x1b[0m', black: '\x1b[30m', red: '\x1b[31m', green: '\x1b[32m', yellow: '\x1b[33m', blue: '\x1b[34m', magenta: '\x1b[35m', cyan: '\x1b[36m', white: '\x1b[37m', // Bright text colors brightRed: '\x1b[91m', brightGreen: '\x1b[92m', brightYellow: '\x1b[93m', brightBlue: '\x1b[94m', brightMagenta: '\x1b[95m', brightCyan: '\x1b[96m', brightWhite: '\x1b[97m', // Background colors (can be combined with text colors) bgBlack: '\x1b[40m', bgRed: '\x1b[41m', bgGreen: '\x1b[42m', bgYellow: '\x1b[43m', bgBlue: '\x1b[44m', bgMagenta: '\x1b[45m', bgCyan: '\x1b[46m', bgWhite: '\x1b[47m', // Text styles bold: '\x1b[1m', dim: '\x1b[2m', italic: '\x1b[3m', underline: '\x1b[4m', }; // Helper functions for common log types exports.logStyles = { info: (text) => `${exports.colors.cyan}${text}${exports.colors.reset}`, success: (text) => `${exports.colors.green}${text}${exports.colors.reset}`, warning: (text) => `${exports.colors.yellow}${text}${exports.colors.reset}`, error: (text) => `${exports.colors.red}${text}${exports.colors.reset}`, highlight: (text) => `${exports.colors.bold}${exports.colors.brightYellow}${text}${exports.colors.reset}`, important: (text) => `${exports.colors.bold}${exports.colors.magenta}${text}${exports.colors.reset}`, transaction: (text) => `${exports.colors.brightBlue}${text}${exports.colors.reset}`, hash: (hash) => `${exports.colors.dim}${hash.substring(0, 10)}...${hash.substring(58)}${exports.colors.reset}`, address: (address) => `${exports.colors.cyan}${address.substring(0, 6)}...${address.substring(38)}${exports.colors.reset}`, title: (text) => `${exports.colors.bold}${exports.colors.brightWhite}${text}${exports.colors.reset}`, section: (text) => `\n${exports.colors.bold}${exports.colors.brightCyan}=== ${text} ===${exports.colors.reset}\n`, value: (text) => `${exports.colors.brightGreen}${text}${exports.colors.reset}`, label: (text) => `${exports.colors.brightWhite}${text}${exports.colors.reset}`, }; // Simple colorized logging functions exports.colorLog = { info: (message) => console.log(exports.logStyles.info(message)), success: (message) => console.log(exports.logStyles.success(message)), warning: (message) => console.log(exports.logStyles.warning(message)), error: (message) => console.error(exports.logStyles.error(message)), transaction: (message, hash) => { if (hash) { console.log(`${exports.logStyles.transaction(message)} ${exports.logStyles.hash(hash)}`); } else { console.log(exports.logStyles.transaction(message)); } }, section: (title) => console.log(exports.logStyles.section(title)), }; // Format a key-value pair for logging function formatKeyValue(key, value) { return `${exports.logStyles.label(key)}: ${exports.logStyles.value(value)}`; }