Скорее всего, я бы написал такой код (я все еще делаю здесь несколько предположений):
let items = cart
.map { [unowned self] in self.sortModelItemPerSection(items: $0.items) }
.map { cartItemsPerSuppliers in
cartItemsPerSuppliers.map { CartProductSection.cartItemModel(from: $0) }
}
return Output(items: items)
Выше предполагается, что нечто подобное существует:
extension CartProductSection {
static func cartItemModel(from supplier: CartItemsPerSupplier) -> CartProductSection {
return cartItemModel(title: supplier.companyName, items: supplier.cartItems.map { CartProductSectionItem.cartItem(viewModel: CartItemViewModel(with: $0)) })
}
}