From 85e82fd0cb7f4e05b6e5055355f108bc2cf81a42 Mon Sep 17 00:00:00 2001 From: David Langley Date: Thu, 9 Sep 2021 10:50:39 +0100 Subject: [PATCH] Make reducer static, pass viewState directly to reducer, log reducer. --- .../ViewModel/TemplateUserProfileViewModel.swift | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/RiotSwiftUI/Modules/Template/SimpleUserProfileExample/ViewModel/TemplateUserProfileViewModel.swift b/RiotSwiftUI/Modules/Template/SimpleUserProfileExample/ViewModel/TemplateUserProfileViewModel.swift index 38e0dde21..6976d1004 100644 --- a/RiotSwiftUI/Modules/Template/SimpleUserProfileExample/ViewModel/TemplateUserProfileViewModel.swift +++ b/RiotSwiftUI/Modules/Template/SimpleUserProfileExample/ViewModel/TemplateUserProfileViewModel.swift @@ -64,19 +64,19 @@ class TemplateUserProfileViewModel: ObservableObject, TemplateUserProfileViewMod Send state actions to mutate the state. */ private func dispatch(action: TemplateUserProfileStateAction) { - var newState = self.viewState - reducer(state: &newState, action: action) - self.viewState = newState + Self.reducer(state: &self.viewState, action: action) } /** A redux style reducer, all modifications to state happen here. Recieves a state and a state action and produces a new state. */ - private func reducer(state: inout TemplateUserProfileViewState, action: TemplateUserProfileStateAction) { + private static func reducer(state: inout TemplateUserProfileViewState, action: TemplateUserProfileStateAction) { switch action { case .updatePresence(let presence): state.presence = presence } +// TODO: Uncomment when we have an abstract logger for RiotSwiftUI +// MXLog.debug("[TemplateUserProfileViewModel] reducer with action \(action) produced state: \(state)") } private func done() {