123456789101112131415161718192021222324252627282930 |
- import RxSwift
- public class Stub<Reactor: ReactorKit.Reactor> {
- private unowned var reactor: Reactor
- private let disposeBag: DisposeBag
- public var isEnabled: Bool = false
- public let state: StateRelay<Reactor.State>
- public let action: ActionSubject<Reactor.Action>
- public private(set) var actions: [Reactor.Action] = []
- public init(reactor: Reactor, disposeBag: DisposeBag) {
- self.reactor = reactor
- self.disposeBag = disposeBag
- self.state = .init(value: reactor.initialState)
- self.state.asObservable()
- .subscribe(onNext: { [weak reactor] state in
- reactor?.currentState = state
- })
- .disposed(by: disposeBag)
- self.action = .init()
- self.action
- .subscribe(onNext: { [weak self] action in
- self?.actions.append(action)
- })
- .disposed(by: self.disposeBag)
- }
- }
|