UNPKG

@thinkeloquent/cli-progressor

Version:

Advanced CLI Progress Bar System with Strategy Pattern Architecture

40 lines (30 loc) 816 B
import { ProgressTracker } from "./main.mjs"; class MockProgressSystem { constructor() { this.progressEvents = []; } createMockProgress(total, description) { const tracker = new ProgressTracker(total, description); tracker.addObserver((progressData) => { this.progressEvents.push({ timestamp: Date.now(), ...progressData, }); }); return tracker; } getProgressEvents() { return this.progressEvents; } clearEvents() { this.progressEvents = []; } } // Usage in tests const mockSystem = new MockProgressSystem(); const tracker = mockSystem.createMockProgress(50, "Mock Test"); for (let i = 0; i < 50; i++) { tracker.increment(1); } const events = mockSystem.getProgressEvents(); console.log(`Captured ${events.length} progress events`);