From a905b6bdc75bc0f6fa2d3cb316f00cfeef765536 Mon Sep 17 00:00:00 2001 From: Krunoslav Zaher Date: Mon, 21 Dec 2015 21:39:25 +0100 Subject: [PATCH] Factory methods for `Driver` are moved from `Drive` to `Driver`. --- RxCocoa/Common/CocoaUnits/Driver/Driver.swift | 42 ++++++++++++++++--- 1 file changed, 37 insertions(+), 5 deletions(-) diff --git a/RxCocoa/Common/CocoaUnits/Driver/Driver.swift b/RxCocoa/Common/CocoaUnits/Driver/Driver.swift index 5393a385..821031a8 100644 --- a/RxCocoa/Common/CocoaUnits/Driver/Driver.swift +++ b/RxCocoa/Common/CocoaUnits/Driver/Driver.swift @@ -81,7 +81,8 @@ public struct Driver : DriverConvertibleType { } } -public struct Drive { + +extension Driver { /** Returns an empty observable sequence, using the specified scheduler to send out the single `Completed` message. @@ -89,7 +90,7 @@ public struct Drive { - returns: An observable sequence with no elements. */ @warn_unused_result(message="http://git.io/rxs.uo") - public static func empty() -> Driver { + public static func empty() -> Driver { return Driver(raw: Observable.empty().subscribeOn(ConcurrentMainScheduler.sharedInstance)) } @@ -99,7 +100,7 @@ public struct Drive { - returns: An observable sequence whose observers will never get called. */ @warn_unused_result(message="http://git.io/rxs.uo") - public static func never() -> Driver { + public static func never() -> Driver { return Driver(raw: Observable.never().subscribeOn(ConcurrentMainScheduler.sharedInstance)) } @@ -110,7 +111,7 @@ public struct Drive { - returns: An observable sequence containing the single specified element. */ @warn_unused_result(message="http://git.io/rxs.uo") - public static func just(element: E) -> Driver { + public static func just(element: E) -> Driver { return Driver(raw: Observable.just(element).subscribeOn(ConcurrentMainScheduler.sharedInstance)) } @@ -121,12 +122,43 @@ public struct Drive { - returns: An observable sequence whose observers trigger an invocation of the given observable factory function. */ @warn_unused_result(message="http://git.io/rxs.uo") - public static func deferred(observableFactory: () -> Driver) + public static func deferred(observableFactory: () -> Driver) -> Driver { return Driver(Observable.deferred { observableFactory().asObservable() }) } @warn_unused_result(message="http://git.io/rxs.uo") + public static func of(elements: E ...) -> Driver { + let source = elements.toObservable().subscribeOn(ConcurrentMainScheduler.sharedInstance) + return Driver(raw: source) + } + +} + +public struct Drive { + + @available(*, deprecated=2.0.0, message="Please use `Driver.empty` (`r` at the end).") + public static func empty() -> Driver { + return Driver(raw: Observable.empty().subscribeOn(ConcurrentMainScheduler.sharedInstance)) + } + + @available(*, deprecated=2.0.0, message="Please use `Driver.never` (`r` at the end).") + public static func never() -> Driver { + return Driver(raw: Observable.never().subscribeOn(ConcurrentMainScheduler.sharedInstance)) + } + + @available(*, deprecated=2.0.0, message="Please use `Driver.just` (`r` at the end).") + public static func just(element: E) -> Driver { + return Driver(raw: Observable.just(element).subscribeOn(ConcurrentMainScheduler.sharedInstance)) + } + + @available(*, deprecated=2.0.0, message="Please use `Driver.deferred` (`r` at the end).") + public static func deferred(observableFactory: () -> Driver) + -> Driver { + return Driver(Observable.deferred { observableFactory().asObservable() }) + } + + @available(*, deprecated=2.0.0, message="Please use `Driver.of` (`r` at the end).") public static func sequenceOf(elements: E ...) -> Driver { let source = elements.toObservable().subscribeOn(ConcurrentMainScheduler.sharedInstance) return Driver(raw: source)