From 4aa420a79356049ea07306830a2bfc4aefaa0cf4 Mon Sep 17 00:00:00 2001 From: cdricms <36056008+cdricms@users.noreply.github.com> Date: Sat, 27 Sep 2025 18:58:26 +0200 Subject: [PATCH] Better init unit from raw --- Sources/Units/Units.swift | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Sources/Units/Units.swift b/Sources/Units/Units.swift index 6962c08..077bf6f 100644 --- a/Sources/Units/Units.swift +++ b/Sources/Units/Units.swift @@ -108,6 +108,16 @@ public enum Unit: String, CaseIterable, CustomStringConvertible, Codable, case kilocalorie = "kcal" case kilojoule = "kJ" + public init?(rawValue: String) { + if let unit = Unit.allCases.first(where: { + $0.rawValue.lowercased() == rawValue + }) { + self = unit + return + } + return nil + } + public var category: UnitCategory { switch self { case .kilogram, .gram, .milligram, .microgram, .pound, .ounce,