using OF_DL.Services;
using Spectre.Console;

namespace OF_DL.CLI;

/// <summary>
///     Implementation of IProgressReporter that uses Spectre.Console's ProgressTask for CLI output.
/// </summary>
public class SpectreProgressReporter(ProgressTask task) : IProgressReporter
{
    private readonly ProgressTask _task = task ?? throw new ArgumentNullException(nameof(task));

    public void ReportProgress(long increment) => _task.Increment(increment);
}
