import DocumentDetector

public struct AllowedPassportListDeserializer: Decodable {
    private let allowedPassportList: [DDCountryCodes]?
    
    private enum CodingKeys: String, CodingKey {
        case allowedPassportList
    }
    
    public init(from decoder: Decoder) throws {
        let container = try decoder.container(keyedBy: CodingKeys.self)
        
        
        if let allowedPassportListValues = try container.decodeIfPresent([String].self, forKey: .allowedPassportList) {
            allowedPassportList = allowedPassportListValues.compactMap { DDCountryCodes(rawValue: $0) }
        } else {
            allowedPassportList = nil
        }
    }
    
    var getAllowedPassportList: [DDCountryCodes]? {
        allowedPassportList
    }
}
