mirror of
https://github.com/ReactiveX/RxSwift.git
synced 2024-10-04 22:17:41 +03:00
catchAndReturn
This commit is contained in:
parent
432740f0cc
commit
c8f066c24d
@ -19,7 +19,7 @@ extension ObservableConvertibleType {
|
||||
let source = self
|
||||
.asObservable()
|
||||
.observe(on:DriverSharingStrategy.scheduler)
|
||||
.catchJustReturn(onErrorJustReturn)
|
||||
.catchAndReturn(onErrorJustReturn)
|
||||
return Driver(source)
|
||||
}
|
||||
|
||||
|
@ -19,7 +19,7 @@ extension ObservableConvertibleType {
|
||||
let source = self
|
||||
.asObservable()
|
||||
.observe(on:S.scheduler)
|
||||
.catchJustReturn(onErrorJustReturn)
|
||||
.catchAndReturn(onErrorJustReturn)
|
||||
return SharedSequence(source)
|
||||
}
|
||||
|
||||
|
@ -19,7 +19,7 @@ extension ObservableConvertibleType {
|
||||
let source = self
|
||||
.asObservable()
|
||||
.observe(on: SignalSharingStrategy.scheduler)
|
||||
.catchJustReturn(onErrorJustReturn)
|
||||
.catchAndReturn(onErrorJustReturn)
|
||||
return Signal(source)
|
||||
}
|
||||
|
||||
|
@ -95,7 +95,7 @@ class GitHubDefaultAPI : GitHubAPI {
|
||||
.map { pair in
|
||||
return pair.response.statusCode == 404
|
||||
}
|
||||
.catchJustReturn(false)
|
||||
.catchAndReturn(false)
|
||||
}
|
||||
|
||||
func signup(_ username: String, password: String) -> Observable<Bool> {
|
||||
|
@ -67,7 +67,7 @@ class GithubSignupViewModel2 {
|
||||
driver automagically adds "shareReplay(1)" under the hood.
|
||||
|
||||
.observe(on:MainScheduler.instance)
|
||||
.catchJustReturn(.Failed(message: "Error contacting server"))
|
||||
.catchAndReturn(.Failed(message: "Error contacting server"))
|
||||
|
||||
... are squashed into single `.asDriver(onErrorJustReturn: .Failed(message: "Error contacting server"))`
|
||||
*/
|
||||
|
@ -66,7 +66,7 @@ class GithubSignupViewModel1 {
|
||||
.flatMapLatest { username in
|
||||
return validationService.validateUsername(username)
|
||||
.observe(on:MainScheduler.instance)
|
||||
.catchJustReturn(.failed(message: "Error contacting server"))
|
||||
.catchAndReturn(.failed(message: "Error contacting server"))
|
||||
}
|
||||
.share(replay: 1)
|
||||
|
||||
@ -88,7 +88,7 @@ class GithubSignupViewModel1 {
|
||||
.flatMapLatest { pair in
|
||||
return API.signup(pair.username, password: pair.password)
|
||||
.observe(on:MainScheduler.instance)
|
||||
.catchJustReturn(false)
|
||||
.catchAndReturn(false)
|
||||
.trackActivity(signingIn)
|
||||
}
|
||||
.flatMapLatest { loggedIn -> Observable<Bool> in
|
||||
|
@ -31,7 +31,7 @@ class DetailViewController: ViewController {
|
||||
UIImage(data: data)
|
||||
}
|
||||
.observe(on:`$`.mainScheduler)
|
||||
.catchJustReturn(nil)
|
||||
.catchAndReturn(nil)
|
||||
.subscribe(imageView.rx.image)
|
||||
.disposed(by: disposeBag)
|
||||
|
||||
|
@ -78,7 +78,7 @@ class TableViewWithEditingCommandsViewController: ViewController, UITableViewDel
|
||||
let loadFavoriteUsers = RandomUserAPI.sharedAPI
|
||||
.getExampleUserResultSet()
|
||||
.map(TableViewEditingCommand.setUsers)
|
||||
.catchJustReturn(TableViewEditingCommand.setUsers(users: []))
|
||||
.catchAndReturn(TableViewEditingCommand.setUsers(users: []))
|
||||
|
||||
let initialLoadCommand = Observable.just(TableViewEditingCommand.setFavoriteUsers(favoriteUsers: [superMan, watMan]))
|
||||
.concat(loadFavoriteUsers)
|
||||
|
@ -43,7 +43,7 @@ extension ObservableType {
|
||||
- parameter element: Last element in an observable sequence in case error occurs.
|
||||
- returns: An observable sequence containing the source sequence's elements, followed by the `element` in case an error occurred.
|
||||
*/
|
||||
public func catchJustReturn(_ element: Element)
|
||||
public func catchAndReturn(_ element: Element)
|
||||
-> Observable<Element> {
|
||||
Catch(source: self.asObservable(), handler: { _ in Observable.just(element) })
|
||||
}
|
||||
@ -56,10 +56,10 @@ extension ObservableType {
|
||||
- parameter element: Last element in an observable sequence in case error occurs.
|
||||
- returns: An observable sequence containing the source sequence's elements, followed by the `element` in case an error occurred.
|
||||
*/
|
||||
@available(*, deprecated, renamed: "catchJustReturn(_:)")
|
||||
@available(*, deprecated, renamed: "catchAndReturn(_:)")
|
||||
public func catchErrorJustReturn(_ element: Element)
|
||||
-> Observable<Element> {
|
||||
catchJustReturn(element)
|
||||
catchAndReturn(element)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -8,7 +8,7 @@
|
||||
|
||||
extension ObservableConvertibleType {
|
||||
func asInfallible(onErrorJustReturn element: Element) -> Infallible<Element> {
|
||||
Infallible(self.asObservable().catchJustReturn(element))
|
||||
Infallible(self.asObservable().catchAndReturn(element))
|
||||
}
|
||||
|
||||
func asInfallible(onErrorFallbackTo infallible: Infallible<Element>) -> Infallible<Element> {
|
||||
|
@ -324,9 +324,9 @@ extension PrimitiveSequenceType where Trait == MaybeTrait {
|
||||
- parameter element: Last element in an observable sequence in case error occurs.
|
||||
- returns: An observable sequence containing the source sequence's elements, followed by the `element` in case an error occurred.
|
||||
*/
|
||||
public func catchJustReturn(_ element: Element)
|
||||
public func catchAndReturn(_ element: Element)
|
||||
-> PrimitiveSequence<Trait, Element> {
|
||||
PrimitiveSequence(raw: self.primitiveSequence.source.catchJustReturn(element))
|
||||
PrimitiveSequence(raw: self.primitiveSequence.source.catchAndReturn(element))
|
||||
}
|
||||
|
||||
/**
|
||||
@ -337,9 +337,9 @@ extension PrimitiveSequenceType where Trait == MaybeTrait {
|
||||
- parameter element: Last element in an observable sequence in case error occurs.
|
||||
- returns: An observable sequence containing the source sequence's elements, followed by the `element` in case an error occurred.
|
||||
*/
|
||||
@available(*, deprecated, renamed: "catchJustReturn(_:)")
|
||||
@available(*, deprecated, renamed: "catchAndReturn(_:)")
|
||||
public func catchErrorJustReturn(_ element: Element)
|
||||
-> PrimitiveSequence<Trait, Element> {
|
||||
PrimitiveSequence(raw: self.primitiveSequence.source.catchJustReturn(element))
|
||||
PrimitiveSequence(raw: self.primitiveSequence.source.catchAndReturn(element))
|
||||
}
|
||||
}
|
||||
|
@ -331,9 +331,9 @@ extension PrimitiveSequenceType where Trait == SingleTrait {
|
||||
- parameter element: Last element in an observable sequence in case error occurs.
|
||||
- returns: An observable sequence containing the source sequence's elements, followed by the `element` in case an error occurred.
|
||||
*/
|
||||
public func catchJustReturn(_ element: Element)
|
||||
public func catchAndReturn(_ element: Element)
|
||||
-> PrimitiveSequence<Trait, Element> {
|
||||
PrimitiveSequence(raw: self.primitiveSequence.source.catchJustReturn(element))
|
||||
PrimitiveSequence(raw: self.primitiveSequence.source.catchAndReturn(element))
|
||||
}
|
||||
|
||||
/**
|
||||
@ -344,10 +344,10 @@ extension PrimitiveSequenceType where Trait == SingleTrait {
|
||||
- parameter element: Last element in an observable sequence in case error occurs.
|
||||
- returns: An observable sequence containing the source sequence's elements, followed by the `element` in case an error occurred.
|
||||
*/
|
||||
@available(*, deprecated, renamed: "catchJustReturn(_:)")
|
||||
@available(*, deprecated, renamed: "catchAndReturn(_:)")
|
||||
public func catchErrorJustReturn(_ element: Element)
|
||||
-> PrimitiveSequence<Trait, Element> {
|
||||
catchJustReturn(element)
|
||||
catchAndReturn(element)
|
||||
}
|
||||
|
||||
/// Converts `self` to `Maybe` trait.
|
||||
|
@ -33,7 +33,7 @@ extension ExampleTests {
|
||||
return .just([])
|
||||
}
|
||||
return searchGitHub(query)
|
||||
.catchJustReturn([])
|
||||
.catchAndReturn([])
|
||||
}
|
||||
.observe(on:MainScheduler.instance)
|
||||
|
||||
|
@ -359,11 +359,11 @@ extension MaybeTest {
|
||||
])
|
||||
}
|
||||
|
||||
func test_catchJustReturn() {
|
||||
func test_catchAndReturn() {
|
||||
let scheduler = TestScheduler(initialClock: 0)
|
||||
|
||||
let res = scheduler.start {
|
||||
Maybe.error(testError).catchJustReturn(2)
|
||||
Maybe.error(testError).catchAndReturn(2)
|
||||
}
|
||||
|
||||
XCTAssertEqual(res.events, [
|
||||
|
@ -296,11 +296,11 @@ extension SingleTest {
|
||||
])
|
||||
}
|
||||
|
||||
func test_catchJustReturn() {
|
||||
func test_catchAndReturn() {
|
||||
let scheduler = TestScheduler(initialClock: 0)
|
||||
|
||||
let res = scheduler.start {
|
||||
Single.error(testError).catchJustReturn(2)
|
||||
Single.error(testError).catchAndReturn(2)
|
||||
}
|
||||
|
||||
XCTAssertEqual(res.events, [
|
||||
|
Loading…
Reference in New Issue
Block a user