using LightlessSync.API.Data.Enum;
using LightlessSync.Services.CharaData.Models;
using System.Collections.Immutable;
namespace LightlessSync.Services.CharaData;

public sealed class CharacterAnalysisSummary
{
    public static CharacterAnalysisSummary Empty { get; } =
        new(ImmutableDictionary<ObjectKind, CharacterAnalysisObjectSummary>.Empty);

    internal CharacterAnalysisSummary(IImmutableDictionary<ObjectKind, CharacterAnalysisObjectSummary> objects)
    {
        Objects = objects;
    }

    public IImmutableDictionary<ObjectKind, CharacterAnalysisObjectSummary> Objects { get; }

    public bool HasData => Objects.Any(kvp => kvp.Value.HasEntries);
}