Skip to content

Instantly share code, notes, and snippets.

@atimca
Created June 19, 2020 09:20
Show Gist options
  • Save atimca/12f6caafd770ea5c8f7443067ed0fca3 to your computer and use it in GitHub Desktop.
Save atimca/12f6caafd770ea5c8f7443067ed0fca3 to your computer and use it in GitHub Desktop.
class NewsStore {
@Published private(set) var state: NewsState
private let reducer: (NewsState, NewsEvent) -> NewsState
init(
initialState: NewsState,
reducer: @escaping (NewsState, NewsEvent) -> NewsState
) {
self.state = initialState
self.reducer = reducer
}
func accept(event: NewsEvent) {
state = reducer(state, event)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment