Skip to content

Instantly share code, notes, and snippets.

@atimca
Created July 8, 2020 16:21
Show Gist options
  • Select an option

  • Save atimca/d9bdb0e2a1699c8e0e8cc895449468a4 to your computer and use it in GitHub Desktop.

Select an option

Save atimca/d9bdb0e2a1699c8e0e8cc895449468a4 to your computer and use it in GitHub Desktop.
enum State {
case initial
case loading
case loaded(data: [String])
}
enum Event {
case dataLoaded(data: [String])
case loadData
}
extension State {
static func reduce(state: State, event: Event) -> State {
var state = state
switch event {
case .dataLoaded(let data):
state = .loaded(data: data)
case .loadData:
state = .loading
}
return state
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment