diff --git a/Sources/LoggerMiddleware/LoggerMiddleware.swift b/Sources/LoggerMiddleware/LoggerMiddleware.swift index 38f2f95..69356c2 100644 --- a/Sources/LoggerMiddleware/LoggerMiddleware.swift +++ b/Sources/LoggerMiddleware/LoggerMiddleware.swift @@ -28,7 +28,6 @@ public final class LoggerMiddleware: MiddlewareProtoco public typealias StateType = State private let queue: DispatchQueue - private var getState: GetState? private let actionTransform: ActionTransform private let actionPrinter: ActionLogger private let actionFilter: (InputActionType) -> Bool @@ -53,12 +52,13 @@ public final class LoggerMiddleware: MiddlewareProtoco public func handle(action: Action, from dispatcher: ActionSource, state: @escaping GetState) -> IO { guard actionFilter(action) else { return .pure() } - let stateBefore = getState?() + let stateBefore = state() return IO { [weak self] _ in - guard let self = self, - let stateAfter = self.getState?() else { return } + guard let self = self else { return } + let stateAfter = state() + self.queue.async { let actionMessage = self.actionTransform.transform(action: action, source: dispatcher) self.actionPrinter.log(action: actionMessage)