• Extract reading statistics from Kenmei data.

    Parameters

    Returns {
        totalChapters: number;
        totalVolumes: number;
        completedManga: number;
        inProgressManga: number;
        statusBreakdown: Record<string, number>;
    }

    Reading statistics.

    export function extractReadingStats(manga: KenmeiManga[]): {
    totalChapters: number;
    totalVolumes: number;
    completedManga: number;
    inProgressManga: number;
    statusBreakdown: Record<string, number>;
    } {
    let totalChapters = 0;
    let totalVolumes = 0;
    let completedManga = 0;
    let inProgressManga = 0;
    const statusBreakdown: Record<string, number> = {};

    for (const entry of manga) {
    totalChapters += entry.chapters_read ?? 0;
    totalVolumes += entry.volumes_read ?? 0;

    if (entry.status === "completed") {
    completedManga++;
    }
    if (entry.status === "reading") {
    inProgressManga++;
    }

    statusBreakdown[entry.status] = (statusBreakdown[entry.status] || 0) + 1;
    }

    return {
    totalChapters,
    totalVolumes,
    completedManga,
    inProgressManga,
    statusBreakdown,
    };
    }