Skip to content

Instantly share code, notes, and snippets.

@malcommac
Created February 4, 2017 11:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save malcommac/ad54a737af3e6fb0cf8aaeb8677a26c7 to your computer and use it in GitHub Desktop.
Save malcommac/ad54a737af3e6fb0cf8aaeb8677a26c7 to your computer and use it in GitHub Desktop.
Hydra_Internals_4.swift
private func set(state newState: State<Value>) {
self.stateQueue.sync {
guard self.state.isPending else {
return
}
self.state = newState // change state
self.observers.forEach { observer in
switch (state, observer) {
case (.resolved(let value), .onResolve(_,_)):
observer.call(andResolve: value)
case (.rejected(let error), .onReject(_,_)):
observer.call(andReject: error)
default:
break
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment