import Combine import Foundation final class MessagesMiddleware { static let shared = MessagesMiddleware() func middleware(state _: AppState, action: AppAction) -> AnyPublisher { switch action { case .messagesAction(.currentConversationMessagesUpdated(let messages)): return Just(.conversationAction(.messagesUpdated(messages: messages))) .eraseToAnyPublisher() default: return Empty().eraseToAnyPublisher() } } }