philips-software/cogito

View on GitHub
workspaces/cogito-ios-app/Cogito/Dialog presenter/DialogPresenterReducer.swift

Summary

Maintainability
A
0 mins
Test Coverage
A
100%
import ReSwift

func dialogPresenterReducer(action: Action,
                            state: DialogPresenterState?) -> DialogPresenterState {
    let state = state ?? initialDialogPresenterState
    switch action {
    case _ as DialogPresenterActions.DidDismissAlert:
        var newState = state
        newState.requestedAlerts.removeFirst()
        return newState
    case let action as DialogPresenterActions.RequestAlert:
        var newState = state
        newState.requestedAlerts.append(action.requestedAlert)
        return newState
    default:
        return state
    }
}