func container()

in Sources/StructuredFieldValues/Decoder/StructuredFieldValueDecoder.swift [150:166]


    func container<Key>(keyedBy type: Key.Type) throws -> KeyedDecodingContainer<Key> where Key: CodingKey {
        switch self.currentElement! {
        case .dictionary(let dictionary):
            return KeyedDecodingContainer(DictionaryKeyedContainer(dictionary, decoder: self))
        case .item(let item):
            return KeyedDecodingContainer(KeyedItemDecoder(item, decoder: self))
        case .list(let list):
            return KeyedDecodingContainer(KeyedTopLevelListDecoder(list, decoder: self))
        case .innerList(let innerList):
            return KeyedDecodingContainer(KeyedInnerListDecoder(innerList, decoder: self))
        case .parameters(let parameters):
            return KeyedDecodingContainer(ParametersDecoder(parameters, decoder: self))
        case .bareItem, .bareInnerList:
            // No keyed container for these types.
            throw StructuredHeaderError.invalidTypeForItem
        }
    }