Files
midi_ios/TUIKit/TUIRoomKit/Source/Store/ConferenceStore.swift

28 lines
847 B
Swift
Raw Normal View History

2025-08-14 10:07:49 +08:00
//
// ConferenceStore.swift
// TUIRoomKit
//
// Created by CY zhao on 2024/6/12.
//
import Foundation
import Combine
protocol ActionDispatcher {
func dispatch(action: Action)
}
protocol ConferenceStore: ActionDispatcher {
var errorSubject: PassthroughSubject<RoomError, Never> { get }
var toastSubject: PassthroughSubject<ToastInfo, Never> { get }
var scheduleActionSubject: PassthroughSubject<IdentifiableAction, Never> { get }
func select<Value:Equatable>(_ selector: Selector<OperationState, Value>) -> AnyPublisher<Value, Never>
func selectCurrent<Value>(_ selector: Selector<OperationState, Value>) -> Value
func select<Value:Equatable>(_ selector: Selector<ViewState, Value>) -> AnyPublisher<Value, Never>
func selectCurrent<Value>(_ selector: Selector<ViewState, Value>) -> Value
}