From 9fd4c1f71d455a4beced098b9d5d9e5ce0b696d5 Mon Sep 17 00:00:00 2001 From: Tom Hicks Date: Thu, 25 Mar 2021 01:21:45 -0700 Subject: [PATCH] Makes the SizeType initializer prefer proper case but fall back to case insensitive. --- iOS/MonsterCards/Models/Enums/SizeType.swift | 22 ++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/iOS/MonsterCards/Models/Enums/SizeType.swift b/iOS/MonsterCards/Models/Enums/SizeType.swift index 98d227d..3d482c2 100644 --- a/iOS/MonsterCards/Models/Enums/SizeType.swift +++ b/iOS/MonsterCards/Models/Enums/SizeType.swift @@ -27,4 +27,26 @@ enum SizeType: String, CaseIterable, Identifiable { case .gargantuan: return "gargantuan" } } + + init?(rawValue: String) { + var match: SizeType? = nil + + for size in SizeType.allCases { + if (size.rawValue == rawValue) { + match = size + } + } + + for size in SizeType.allCases { + if (size.rawValue.lowercased() == rawValue.lowercased()) { + match = size + } + } + + if (match == nil) { + return nil + } else { + self = match! + } + } }