using System;
#nullable enable
namespace StardewModdingAPI.Toolkit.Framework.Clients.Wiki
{
/// The data overrides to apply to matching mods.
public class WikiDataOverrideEntry
{
/*********
** Accessors
*********/
/// The unique mod IDs for the mods to override.
public string[] Ids { get; set; } = Array.Empty();
/// Maps local versions to a semantic version for update checks.
public ChangeDescriptor? ChangeLocalVersions { get; set; }
/// Maps remote versions to a semantic version for update checks.
public ChangeDescriptor? ChangeRemoteVersions { get; set; }
/// Update keys to add (optionally prefixed by '+'), remove (prefixed by '-'), or replace.
public ChangeDescriptor? ChangeUpdateKeys { get; set; }
/// Whether the entry has any changes.
public bool HasChanges =>
this.ChangeLocalVersions?.HasChanges == true
|| this.ChangeRemoteVersions?.HasChanges == true
|| this.ChangeUpdateKeys?.HasChanges == true;
}
}