namespace AssemblyRemapper.Models;
///
/// Remap config
///
internal class AppSettings
{
public bool Debug { get; set; }
public bool SilentMode { get; set; }
public bool ScoringMode { get; set; }
public bool Publicize { get; set; }
public bool Unseal { get; set; }
public string AssemblyPath { get; set; }
public string OutputPath { get; set; }
public HashSet Remaps { get; set; } = [];
}
///
/// Object to store linq statements in inside of json to search and remap classes
///
internal class Remap
{
public string NewTypeName { get; set; } = string.Empty;
public string OldTypeName { get; set; } = string.Empty;
public bool UseDirectRename { get; set; }
public RemapSearchParams SearchParams { get; set; } = new();
}
///
/// Search filters to find types and remap them
///
internal class RemapSearchParams
{
public bool? IsPublic { get; set; } = null;
public bool? IsAbstract { get; set; } = null;
public bool? IsInterface { get; set; } = null;
public bool? IsEnum { get; set; } = null;
public bool? IsNested { get; set; } = null;
public string? ParentName { get; set; } = null;
public bool? IsSealed { get; set; } = null;
public bool? HasAttribute { get; set; } = null;
public bool? IsDerived { get; set; } = null;
public string? BaseClassName { get; set; } = null;
public bool? IsGeneric { get; set; } = null;
public HashSet MethodNamesToMatch { get; set; } = [];
public HashSet MethodNamesToIgnore { get; set; } = [];
public HashSet FieldNamesToMatch { get; set; } = [];
public HashSet FieldNamesToIgnore { get; set; } = [];
public HashSet PropertyNamesToMatch { get; set; } = [];
public HashSet PropertyNamesToIgnore { get; set; } = [];
public HashSet NestedTypesToMatch { get; set; } = [];
public HashSet NestedTypesToIgnore { get; set; } = [];
public RemapSearchParams()
{
}
}