Made StateStoreViewModel state mutable and removed the reducer for all the features using it.

This commit is contained in:
Stefan Ceriu
2022-01-28 12:58:31 +02:00
committed by Stefan Ceriu
parent fc9e95aee8
commit 313b05485a
42 changed files with 324 additions and 431 deletions

View File

@@ -18,7 +18,7 @@ import SwiftUI
@available(iOS 14, *)
typealias TemplateSimpleScreenViewModelType = StateStoreViewModel<TemplateSimpleScreenViewState,
TemplateSimpleScreenStateAction,
Never,
TemplateSimpleScreenViewAction>
@available(iOS 14, *)
class TemplateSimpleScreenViewModel: TemplateSimpleScreenViewModelType, TemplateSimpleScreenViewModelProtocol {
@@ -45,23 +45,10 @@ class TemplateSimpleScreenViewModel: TemplateSimpleScreenViewModelType, Template
completion?(.accept)
case .cancel:
completion?(.cancel)
case .incrementCount, .decrementCount:
dispatch(action: .viewAction(viewAction))
case .incrementCount:
state.count += 1
case .decrementCount:
state.count -= 1
}
}
override class func reducer(state: inout TemplateSimpleScreenViewState, action: TemplateSimpleScreenStateAction) {
switch action {
case .viewAction(let viewAction):
switch viewAction {
case .incrementCount:
state.count += 1
case .decrementCount:
state.count -= 1
case .accept, .cancel:
break
}
}
UILog.debug("[TemplateSimpleScreenViewModel] reducer with action \(action) produced state: \(state)")
}
}