dop-stick
Version:
Source control tooling for versionable-upgradeable smart contracts
54 lines • 2.41 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.DefaultValidationLogAdapter = void 0;
const terminal_1 = require("../core/terminal");
class DefaultValidationLogAdapter {
startBatchValidation(totalModules) {
terminal_1.Terminal.write('\nVALIDATING BATCHES');
terminal_1.Terminal.write('\n─────────────────');
}
logModuleValidation(moduleName, totalFunctions, missingCount, collisionCount, suggestedChanges) {
let status = '';
if (missingCount === 0 && collisionCount === 0) {
status = `${totalFunctions} functions`;
}
else {
const details = [];
if (missingCount > 0) {
details.push(`${totalFunctions - missingCount}/${totalFunctions} functions found`);
}
if (collisionCount > 0) {
details.push(`${collisionCount} collisions`);
}
if (suggestedChanges > 0) {
details.push(`${suggestedChanges} suggestions`);
}
status = details.join(', ');
}
terminal_1.Terminal.write(`\n• ${moduleName} → ${status}`);
}
completeBatchValidation(successCount, failureCount) {
const total = successCount + failureCount;
const status = this.getValidationStatus(successCount, failureCount);
terminal_1.Terminal.write('\n');
terminal_1.Terminal.write(`\n${terminal_1.Terminal.style('Batch Validation Complete', this.getStatusColor(status))}`);
terminal_1.Terminal.write(`\n${terminal_1.Terminal.style(`Processed ${total} modules: ${successCount} passed, ${failureCount} need review`, terminal_1.Terminal.colors.brightBlack)}`);
terminal_1.Terminal.write('\n');
}
getValidationStatus(successCount, failureCount) {
if (failureCount === 0)
return 'success';
if (successCount === 0)
return 'failed';
return 'partial';
}
getStatusColor(status) {
switch (status) {
case 'success': return terminal_1.Terminal.colors.success;
case 'partial': return terminal_1.Terminal.colors.warning;
case 'failed': return terminal_1.Terminal.colors.error;
}
}
}
exports.DefaultValidationLogAdapter = DefaultValidationLogAdapter;
//# sourceMappingURL=validationLogAdapter.js.map