dop-stick
Version:
Source control tooling for versionable-upgradeable smart contracts
80 lines • 3.78 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.TimelineLogAdapter = void 0;
const logger_1 = require("../core/logger");
const terminal_1 = require("../core/terminal");
class TimelineLogAdapter {
constructor() {
this.currentSection = '';
this.startTime = Date.now();
}
startSection(name) {
this.currentSection = name;
const timestamp = new Date().toLocaleTimeString('en-US', {
hour12: false,
hour: '2-digit',
minute: '2-digit',
second: '2-digit'
});
logger_1.Logger.writeLine(`\n⭐ ${terminal_1.Terminal.colors.muted}[${timestamp}]${terminal_1.Terminal.colors.reset} 【 ${name} 】`);
logger_1.Logger.writeLine('│');
}
logStep(message, indent = 0, color) {
const prefix = indent === 0 ? '├─' : '│ '.repeat(indent) + '•';
const formattedMessage = color ? `${color}${message}${terminal_1.Terminal.colors.reset}` : message;
logger_1.Logger.writeLine(`${prefix} ${formattedMessage}`);
}
logArrowStep(message, indent = 0, color) {
const prefix = indent === 0 ? '├─' : '│ '.repeat(indent) + '→';
const formattedMessage = color ? `${color}${message}${terminal_1.Terminal.colors.reset}` : message;
logger_1.Logger.writeLine(`${prefix} ${formattedMessage}`);
}
logInnerStep(message, indent = 0, color) {
const prefix = indent === 0 ? '├─' : '│ ';
const formattedMessage = color ? `${color}${message}${terminal_1.Terminal.colors.reset}` : message;
logger_1.Logger.writeLine(`${prefix} ${formattedMessage}`);
}
logArrowInnerStep(message, indent = 0, color) {
const prefix = indent === 0 ? '├─' : '│ ';
const formattedMessage = color ? `${color}${message}${terminal_1.Terminal.colors.reset}` : message;
logger_1.Logger.writeLine(`${prefix} ${formattedMessage}`);
}
logEmptyStep() {
const prefix = '│ ';
logger_1.Logger.writeLine(`${prefix} ${' '}`);
}
logSummarySection() {
this.logStep('Summary');
}
logSummaryItem(message, indent = 1) {
this.logStep(message, indent);
}
logTimeElapsed(indent = 1) {
const prefix = '│ '.repeat(indent);
logger_1.Logger.writeLine(`${prefix}${terminal_1.Terminal.colors.muted}Time elapsed: ${this.getElapsedTime()}${terminal_1.Terminal.colors.reset}`);
}
logColoredStep(message, indent, color) {
const prefix = indent === 0 ? '├─' : '│ '.repeat(indent) + '•';
logger_1.Logger.writeLine(`${prefix} ${color}${message}${terminal_1.Terminal.colors.reset}`);
}
logInnerColoredStep(message, indent, color) {
const prefix = indent === 0 ? '├─' : '│ ';
logger_1.Logger.writeLine(`${prefix} ${color}${message}${terminal_1.Terminal.colors.reset}`);
}
logSuccess(message) {
logger_1.Logger.writeLine(`✓ ${terminal_1.Terminal.colors.success}${message}${terminal_1.Terminal.colors.reset}\n`);
}
logError(message) {
logger_1.Logger.writeLine(`✖ ${terminal_1.Terminal.colors.error}${message}${terminal_1.Terminal.colors.reset}\n`);
}
getElapsedTime() {
const elapsed = (Date.now() - this.startTime) / 1000;
return elapsed.toFixed(1) + 's';
}
logSuccessWithTime(message) {
const elapsedTime = this.getElapsedTime();
logger_1.Logger.writeLine(`✓ ${terminal_1.Terminal.colors.success}${message}${terminal_1.Terminal.colors.reset} ${terminal_1.Terminal.colors.muted}in ${elapsedTime}${terminal_1.Terminal.colors.reset}\n`);
}
}
exports.TimelineLogAdapter = TimelineLogAdapter;
//# sourceMappingURL=timelineLogAdapter.js.map