in Sources/StructuredFieldValues/Encoder/StructuredFieldValueEncoder.swift [898:923]
mutating func appendBareItem(_ bareItem: BareItem) throws {
switch self {
case .listHeader:
self = .list([.item(Item(bareItem: bareItem, parameters: [:]))])
case .list(var list):
list.append(.item(Item(bareItem: bareItem, parameters: [:])))
self = .list(list)
case .innerList(var list):
list.bareInnerList.append(Item(bareItem: bareItem, parameters: [:]))
self = .innerList(list)
case .bareInnerList(var list):
list.append(Item(bareItem: bareItem, parameters: [:]))
self = .bareInnerList(list)
case .itemOrInnerList(let params):
// This is an inner list.
self = .innerList(InnerList(bareInnerList: [Item(bareItem: bareItem, parameters: [:])], parameters: params))
case .dictionaryHeader, .dictionary, .itemHeader, .item,
.parameters:
throw StructuredHeaderError.invalidTypeForItem
}
}