Skip to content

Instantly share code, notes, and snippets.

@cartant
Last active August 18, 2017 07:39
Show Gist options
  • Save cartant/96949b2ecf96b4688ec1fe9f66210978 to your computer and use it in GitHub Desktop.
Save cartant/96949b2ecf96b4688ec1fe9f66210978 to your computer and use it in GitHub Desktop.
function defaultObservableIfEmpty<T>(
defaultObservable: Observable<T>
): (source: Observable<T>) => Observable<T> {
return source => source.publish(shared => shared.merge(
shared.isEmpty().mergeMap(empty => empty ?
defaultObservable :
Observable.empty<T>()
)
));
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment