namespace Alma.Configuration.Module; public class ModuleConfiguration { public string? Target { get; set; } public Dictionary? Links { get; set; } public string? Install { get; set; } public ModuleConfiguration(string? target, Dictionary? links, string? install) { Target = target; Links = links; Install = install; } public ModuleConfiguration Merge(ModuleConfiguration merge) { var mergedLinks = (Links ?? new Dictionary()) .Concat(merge.Links ?? new Dictionary()); return new ModuleConfiguration( merge.Target ?? Target, new Dictionary(mergedLinks), merge.Install ?? Install ); } public static ModuleConfiguration Empty() => new(null, new Dictionary(), null); }