Files
UUVPN/iOS-SwiftUI-Code/GRDB.swift-6.29.3/GRDB/Utils/CaseInsensitiveIdentifier.swift
T
2025-01-28 12:28:03 +08:00

20 lines
568 B
Swift

/// A case-preserving, case-insensitive identifier
/// that matches the ASCII version of sqlite3_stricmp
struct CaseInsensitiveIdentifier: Hashable {
private let lowercased: String
let rawValue: String
init(rawValue: String) {
self.lowercased = rawValue.lowercased()
self.rawValue = rawValue
}
static func == (lhs: CaseInsensitiveIdentifier, rhs: CaseInsensitiveIdentifier) -> Bool {
lhs.lowercased == rhs.lowercased
}
func hash(into hasher: inout Hasher) {
hasher.combine(lowercased)
}
}