Skip to content

Instantly share code, notes, and snippets.

@ncreated
Created August 10, 2017 16:11
Show Gist options
  • Save ncreated/87ed8e38bf447fad09c8def068af6f74 to your computer and use it in GitHub Desktop.
Save ncreated/87ed8e38bf447fad09c8def068af6f74 to your computer and use it in GitHub Desktop.
Medium blogpost snippet
func manage(change: Observable<Bool>) -> (value: Driver<ToggleValue>, isBusy: Driver<Bool>) {
// ...
let storage = self.storage
let valueAfterSaving = change
.flatMap { valueToSave -> Observable<ToggleValue> in
storage
.save(value: valueToSave)
.map { ToggleValue.updated(valueToSave) }
.catchErrorJustReturn(ToggleValue.fallback(!valueToSave))
}
// ...
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment