From d449a5e5e2f107eda8339b6b8feec96b973499eb Mon Sep 17 00:00:00 2001 From: Michael Housh Date: Thu, 18 Dec 2025 22:00:37 -0500 Subject: [PATCH] WIP: More core models. --- .../ManualDCore/EffectiveLengthGroup.swift | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 Sources/ManualDCore/EffectiveLengthGroup.swift diff --git a/Sources/ManualDCore/EffectiveLengthGroup.swift b/Sources/ManualDCore/EffectiveLengthGroup.swift new file mode 100644 index 0000000..5e53553 --- /dev/null +++ b/Sources/ManualDCore/EffectiveLengthGroup.swift @@ -0,0 +1,30 @@ +import Foundation + +public struct EffectiveLengthGroup: Codable, Equatable { + public let group: Int + public let letter: String + public let effectiveLength: Int + public let category: Category + public var label: String { "\(group)\(letter.uppercased())" } + + public init( + group: Int, + letter: String, + effectiveLength: Int, + category: Category + ) { + self.group = group + self.letter = letter + self.effectiveLength = effectiveLength + self.category = category + } +} + +extension EffectiveLengthGroup { + + public enum Category: String, Codable, Equatable { + case supply + case `return` + } + +}