using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Text.Json.Serialization; namespace Adaptation.FileHandlers.pcl; #nullable enable internal class Complete { public Complete(Header header, Wafer[] wafers) { Header = header; Wafers = wafers; } public Header Header { get; } public Wafer[] Wafers { get; } internal static Complete? Get(string headerFileName, Dictionary pages, Constant constant) { Complete? result; Header? header = Header.Get(headerFileName, pages, constant); if (header is null) result = null; else { ReadOnlyCollection wafers = Wafer.Get(headerFileName, pages, constant); if (wafers.Count == 0) result = null; else result = new(header, wafers.ToArray()); } return result; } } [JsonSourceGenerationOptions(WriteIndented = true)] [JsonSerializable(typeof(Complete))] internal partial class CompleteSourceGenerationContext : JsonSerializerContext { }