Slide 68
Slide 68 text
Sample code (Login flow)
// 1. switch-case pattern matching
let mapping: NextMapping = { fromState, input in
switch (fromState, input) {
case (.loggedOut, .login):
return (.loggingIn, loginOKProducer)
case (.loggingIn, .loginOK):
return (.loggedIn, .empty)
case (.loggedIn, .logout):
return (.loggingOut, logoutOKProducer)
case (.loggingOut, .logoutOK):
return (.loggedOut, .empty)
case (.loggingIn, .forceLogout), (.loggedIn, .forceLogout):
return (.loggingOut, forceLogoutOKProducer)
default:
return nil
}
}