using System.Collections.ObjectModel; using System.Text.Json.Serialization; namespace Adaptation.FileHandlers.RsM; internal record Line8 { [JsonConstructor] public Line8(string numProbePoints, string singleOrDualProbeConfig, string numberActPrbPts, string rsens, string idrvMx, string vinGain, string dataRejectSigma, string meritThreshold, string prbChgNumber, string prbName) { NumProbePoints = numProbePoints; SingleOrDualProbeConfig = singleOrDualProbeConfig; NumberActPrbPts = numberActPrbPts; Rsens = rsens; IdrvMx = idrvMx; VinGain = vinGain; DataRejectSigma = dataRejectSigma; MeritThreshold = meritThreshold; PrbChgNumber = prbChgNumber; PrbName = prbName; } [JsonPropertyName("NumProbePoints")] public string NumProbePoints { get; } [JsonPropertyName("SingleOrDualProbeConfig")] public string SingleOrDualProbeConfig { get; } [JsonPropertyName("#ActPrbPts")] public string NumberActPrbPts { get; } [JsonPropertyName("Rsens")] public string Rsens { get; } [JsonPropertyName("IdrvMx")] public string IdrvMx { get; } [JsonPropertyName("VinGain")] public string VinGain { get; } [JsonPropertyName("DataRejectSigma")] public string DataRejectSigma { get; } [JsonPropertyName("MeritThreshold")] public string MeritThreshold { get; } [JsonPropertyName("PrbChg#")] public string PrbChgNumber { get; } [JsonPropertyName("PrbName")] public string PrbName { get; } internal static Line8 Get(string[] segments) { Line8 result; ReadOnlyCollection collection = Complete.GetCollection(segments); result = new(collection.Count < 1 ? string.Empty : collection[0], collection.Count < 2 ? string.Empty : collection[1], collection.Count < 3 ? string.Empty : collection[2], collection.Count < 4 ? string.Empty : collection[3], collection.Count < 5 ? string.Empty : collection[4], collection.Count < 6 ? string.Empty : collection[5], collection.Count < 7 ? string.Empty : collection[6], collection.Count < 8 ? string.Empty : collection[7], collection.Count < 9 ? string.Empty : collection[8], collection.Count < 10 ? string.Empty : collection[9]); return result; } } [JsonSourceGenerationOptions(WriteIndented = true)] [JsonSerializable(typeof(Line8))] internal partial class Line8SourceGenerationContext : JsonSerializerContext { }