import Foundation public struct RDEPUBCFITextAssertion: Codable, Equatable, Hashable { public var prefix: String? public var exact: String? public var suffix: String? public init(prefix: String? = nil, exact: String? = nil, suffix: String? = nil) { self.prefix = Self.trimmedOrNil(prefix) self.exact = Self.trimmedOrNil(exact) self.suffix = Self.trimmedOrNil(suffix) } private static func trimmedOrNil(_ value: String?) -> String? { guard let value else { return nil } let trimmed = value.trimmingCharacters(in: .whitespacesAndNewlines) return trimmed.isEmpty ? nil : trimmed } }