ContactCard.swift
34 lignes · 1105 octets
import Foundation struct ContactCard: Equatable { var fullName: String? = nil var firstName: String? = nil var lastName: String? = nil var company: String? = nil var jobTitle: String? = nil var phones: [String] = [] var emails: [String] = [] var website: String? = nil var address: String? = nil var note: String? = nil /// Fields with low OCR confidence (keys: fullName, company, jobTitle, address). var champsDouteux: Set<String> = [] func displayName() -> String { if let fullName = fullName?.nilIfBlank { return fullName } let joined = [firstName, lastName].compactMap { $0 }.joined(separator: " ") if joined.isNotBlank { return joined } return company ?? "" } func hasAnyField() -> Bool { displayName().isNotBlank || company?.isNotBlank == true || jobTitle?.isNotBlank == true || !phones.isEmpty || !emails.isEmpty || website?.isNotBlank == true || address?.isNotBlank == true || note?.isNotBlank == true } }
GitRust