Merge pull request #828 from mohsenr/swift-3.0-disposables-rebased
[Swift 3.0] Collect all immutable Disposable constructors in `Disposables` type
This commit is contained in:
commit
55f4bb3b65
|
|
@ -293,7 +293,7 @@ func myJust<E>(element: E) -> Observable<E> {
|
|||
return Observable.create { observer in
|
||||
observer.on(.Next(element))
|
||||
observer.on(.Completed)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -329,7 +329,7 @@ func myFrom<E>(sequence: [E]) -> Observable<E> {
|
|||
}
|
||||
|
||||
observer.on(.Completed)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -382,7 +382,7 @@ func myInterval(interval: NSTimeInterval) -> Observable<Int> {
|
|||
var next = 0
|
||||
|
||||
dispatch_source_set_timer(timer, 0, UInt64(interval * Double(NSEC_PER_SEC)), 0)
|
||||
let cancel = AnonymousDisposable {
|
||||
let cancel = Disposables.create {
|
||||
print("Disposed")
|
||||
dispatch_source_cancel(timer)
|
||||
}
|
||||
|
|
@ -574,7 +574,7 @@ extension NSURLSession {
|
|||
|
||||
task.resume()
|
||||
|
||||
return AnonymousDisposable {
|
||||
return Disposables.create {
|
||||
task.cancel()
|
||||
}
|
||||
}
|
||||
|
|
@ -831,7 +831,7 @@ extension ObservableType {
|
|||
observer.on(.Completed)
|
||||
}
|
||||
}
|
||||
return AnonymousDisposable {
|
||||
return Disposables.create {
|
||||
print("disposing \(identifier)")
|
||||
subscription.dispose()
|
||||
}
|
||||
|
|
|
|||
|
|
@ -102,7 +102,7 @@ example("create") {
|
|||
return Observable.create { observer in
|
||||
observer.on(.next(element))
|
||||
observer.on(.completed)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -170,7 +170,7 @@ example("deferred") {
|
|||
observer.onNext("🐶")
|
||||
observer.onNext("🐱")
|
||||
observer.onNext("🐵")
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ example("debug") {
|
|||
observer.onNext("🐭")
|
||||
observer.onCompleted()
|
||||
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
sequenceThatErrors
|
||||
|
|
|
|||
|
|
@ -85,7 +85,7 @@ example("retry") {
|
|||
observer.onNext("🐭")
|
||||
observer.onCompleted()
|
||||
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
sequenceThatErrors
|
||||
|
|
@ -119,7 +119,7 @@ example("retry maxAttemptCount") {
|
|||
observer.onNext("🐭")
|
||||
observer.onCompleted()
|
||||
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
sequenceThatErrors
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ example("Observable with no subscribers") {
|
|||
print("This will never be printed")
|
||||
observerOfString.on(.next("😬"))
|
||||
observerOfString.on(.completed)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
}
|
||||
/*:
|
||||
|
|
@ -70,7 +70,7 @@ example("Observable with subscriber") {
|
|||
print("Observable created")
|
||||
observerOfString.on(.next("😉"))
|
||||
observerOfString.on(.completed)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
.subscribe { event in
|
||||
print(event)
|
||||
|
|
|
|||
|
|
@ -121,8 +121,6 @@
|
|||
C8093CDE1B8A72BE0088E94D /* DisposeBag.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C581B8A72BE0088E94D /* DisposeBag.swift */; };
|
||||
C8093CDF1B8A72BE0088E94D /* DisposeBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C591B8A72BE0088E94D /* DisposeBase.swift */; };
|
||||
C8093CE01B8A72BE0088E94D /* DisposeBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C591B8A72BE0088E94D /* DisposeBase.swift */; };
|
||||
C8093CE11B8A72BE0088E94D /* NAryDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C5A1B8A72BE0088E94D /* NAryDisposable.swift */; };
|
||||
C8093CE21B8A72BE0088E94D /* NAryDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C5A1B8A72BE0088E94D /* NAryDisposable.swift */; };
|
||||
C8093CE51B8A72BE0088E94D /* NopDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C5C1B8A72BE0088E94D /* NopDisposable.swift */; };
|
||||
C8093CE61B8A72BE0088E94D /* NopDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C5C1B8A72BE0088E94D /* NopDisposable.swift */; };
|
||||
C8093CE71B8A72BE0088E94D /* ScheduledDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C5D1B8A72BE0088E94D /* ScheduledDisposable.swift */; };
|
||||
|
|
@ -907,7 +905,6 @@
|
|||
C8F0BFF21BBBFB8B001B112F /* ObserverType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CAB1B8A72BE0088E94D /* ObserverType.swift */; };
|
||||
C8F0BFF31BBBFB8B001B112F /* SubscribeOn.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C8B1B8A72BE0088E94D /* SubscribeOn.swift */; };
|
||||
C8F0BFF41BBBFB8B001B112F /* Observable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C681B8A72BE0088E94D /* Observable.swift */; };
|
||||
C8F0BFF51BBBFB8B001B112F /* NAryDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C5A1B8A72BE0088E94D /* NAryDisposable.swift */; };
|
||||
C8F0BFF61BBBFB8B001B112F /* SerialDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C5F1B8A72BE0088E94D /* SerialDisposable.swift */; };
|
||||
C8F0BFF71BBBFB8B001B112F /* Never.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8C3DA0B1B93959F004D233E /* Never.swift */; };
|
||||
C8F0BFF91BBBFB8B001B112F /* Event.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C641B8A72BE0088E94D /* Event.swift */; };
|
||||
|
|
@ -1018,6 +1015,10 @@
|
|||
CBEE77201BD649A000AD584C /* ToArray.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBEE771E1BD649A000AD584C /* ToArray.swift */; };
|
||||
CBEE77211BD649A000AD584C /* ToArray.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBEE771E1BD649A000AD584C /* ToArray.swift */; };
|
||||
CBEE77221BD649A000AD584C /* ToArray.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBEE771E1BD649A000AD584C /* ToArray.swift */; };
|
||||
CDDEF16A1D4FB40000CA8546 /* Disposables.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDDEF1691D4FB40000CA8546 /* Disposables.swift */; };
|
||||
CDDEF16B1D4FB40000CA8546 /* Disposables.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDDEF1691D4FB40000CA8546 /* Disposables.swift */; };
|
||||
CDDEF16C1D4FB40000CA8546 /* Disposables.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDDEF1691D4FB40000CA8546 /* Disposables.swift */; };
|
||||
CDDEF16D1D4FB40000CA8546 /* Disposables.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDDEF1691D4FB40000CA8546 /* Disposables.swift */; };
|
||||
D203C4F31BB9C4CA00D02D00 /* RxCollectionViewReactiveArrayDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88253F11B8A752B00B02D69 /* RxCollectionViewReactiveArrayDataSource.swift */; };
|
||||
D203C4F41BB9C52400D02D00 /* RxTableViewReactiveArrayDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88253F21B8A752B00B02D69 /* RxTableViewReactiveArrayDataSource.swift */; };
|
||||
D203C4F51BB9C52900D02D00 /* ItemEvents.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88253F41B8A752B00B02D69 /* ItemEvents.swift */; };
|
||||
|
|
@ -1106,7 +1107,6 @@
|
|||
D2EBEAF21BB9B6AE003A27DC /* CompositeDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C571B8A72BE0088E94D /* CompositeDisposable.swift */; };
|
||||
D2EBEAF31BB9B6AE003A27DC /* DisposeBag.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C581B8A72BE0088E94D /* DisposeBag.swift */; };
|
||||
D2EBEAF41BB9B6AE003A27DC /* DisposeBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C591B8A72BE0088E94D /* DisposeBase.swift */; };
|
||||
D2EBEAF51BB9B6AE003A27DC /* NAryDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C5A1B8A72BE0088E94D /* NAryDisposable.swift */; };
|
||||
D2EBEAF61BB9B6B2003A27DC /* NopDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C5C1B8A72BE0088E94D /* NopDisposable.swift */; };
|
||||
D2EBEAF71BB9B6B2003A27DC /* ScheduledDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C5D1B8A72BE0088E94D /* ScheduledDisposable.swift */; };
|
||||
D2EBEAF91BB9B6B2003A27DC /* SerialDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C5F1B8A72BE0088E94D /* SerialDisposable.swift */; };
|
||||
|
|
@ -1443,8 +1443,6 @@
|
|||
C8093C571B8A72BE0088E94D /* CompositeDisposable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CompositeDisposable.swift; sourceTree = "<group>"; };
|
||||
C8093C581B8A72BE0088E94D /* DisposeBag.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DisposeBag.swift; sourceTree = "<group>"; };
|
||||
C8093C591B8A72BE0088E94D /* DisposeBase.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DisposeBase.swift; sourceTree = "<group>"; };
|
||||
C8093C5A1B8A72BE0088E94D /* NAryDisposable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NAryDisposable.swift; sourceTree = "<group>"; };
|
||||
C8093C5B1B8A72BE0088E94D /* NAryDisposable.tt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = NAryDisposable.tt; sourceTree = "<group>"; };
|
||||
C8093C5C1B8A72BE0088E94D /* NopDisposable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NopDisposable.swift; sourceTree = "<group>"; };
|
||||
C8093C5D1B8A72BE0088E94D /* ScheduledDisposable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ScheduledDisposable.swift; sourceTree = "<group>"; };
|
||||
C8093C5F1B8A72BE0088E94D /* SerialDisposable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SerialDisposable.swift; sourceTree = "<group>"; };
|
||||
|
|
@ -1763,6 +1761,7 @@
|
|||
CB883B441BE256D4000AC2EE /* BooleanDisposable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BooleanDisposable.swift; sourceTree = "<group>"; };
|
||||
CB883B491BE369AA000AC2EE /* AddRef.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AddRef.swift; sourceTree = "<group>"; };
|
||||
CBEE771E1BD649A000AD584C /* ToArray.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ToArray.swift; sourceTree = "<group>"; };
|
||||
CDDEF1691D4FB40000CA8546 /* Disposables.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Disposables.swift; sourceTree = "<group>"; };
|
||||
D2138C751BB9BE9800339B5C /* RxCocoa.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RxCocoa.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
D2245A1A1BD5657300E7146F /* WithLatestFrom.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WithLatestFrom.swift; sourceTree = "<group>"; };
|
||||
D22B6D251BC8504A00BCE0AB /* SkipWhile.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SkipWhile.swift; sourceTree = "<group>"; };
|
||||
|
|
@ -1988,14 +1987,13 @@
|
|||
C8093C581B8A72BE0088E94D /* DisposeBag.swift */,
|
||||
C8093C591B8A72BE0088E94D /* DisposeBase.swift */,
|
||||
C84CC5661BDD08A500E06A64 /* SubscriptionDisposable.swift */,
|
||||
C8093C5A1B8A72BE0088E94D /* NAryDisposable.swift */,
|
||||
C8093C5B1B8A72BE0088E94D /* NAryDisposable.tt */,
|
||||
C8093C5C1B8A72BE0088E94D /* NopDisposable.swift */,
|
||||
CB883B3F1BE24C15000AC2EE /* RefCountDisposable.swift */,
|
||||
C8093C5D1B8A72BE0088E94D /* ScheduledDisposable.swift */,
|
||||
C8093C5F1B8A72BE0088E94D /* SerialDisposable.swift */,
|
||||
C8093C601B8A72BE0088E94D /* SingleAssignmentDisposable.swift */,
|
||||
C8093C611B8A72BE0088E94D /* StableCompositeDisposable.swift */,
|
||||
CDDEF1691D4FB40000CA8546 /* Disposables.swift */,
|
||||
);
|
||||
path = Disposables;
|
||||
sourceTree = "<group>";
|
||||
|
|
@ -3919,6 +3917,7 @@
|
|||
C8093D9E1B8A72BE0088E94D /* SerialDispatchQueueScheduler.swift in Sources */,
|
||||
C8093D341B8A72BE0088E94D /* RefCount.swift in Sources */,
|
||||
C8093D0E1B8A72BE0088E94D /* Concat.swift in Sources */,
|
||||
CDDEF16B1D4FB40000CA8546 /* Disposables.swift in Sources */,
|
||||
C8093CCA1B8A72BE0088E94D /* Lock.swift in Sources */,
|
||||
C8093D441B8A72BE0088E94D /* Take.swift in Sources */,
|
||||
C84CC5591BDCF51200E06A64 /* SynchronizedSubscribeType.swift in Sources */,
|
||||
|
|
@ -3943,7 +3942,6 @@
|
|||
CBEE77201BD649A000AD584C /* ToArray.swift in Sources */,
|
||||
C8093CFE1B8A72BE0088E94D /* Observable.swift in Sources */,
|
||||
C84CC55E1BDD010800E06A64 /* SynchronizedUnsubscribeType.swift in Sources */,
|
||||
C8093CE21B8A72BE0088E94D /* NAryDisposable.swift in Sources */,
|
||||
C8093CEC1B8A72BE0088E94D /* SerialDisposable.swift in Sources */,
|
||||
C8C3DA0D1B93959F004D233E /* Never.swift in Sources */,
|
||||
C84CC5681BDD08A500E06A64 /* SubscriptionDisposable.swift in Sources */,
|
||||
|
|
@ -4142,6 +4140,7 @@
|
|||
C8093D9D1B8A72BE0088E94D /* SerialDispatchQueueScheduler.swift in Sources */,
|
||||
C8093D331B8A72BE0088E94D /* RefCount.swift in Sources */,
|
||||
C8093D0D1B8A72BE0088E94D /* Concat.swift in Sources */,
|
||||
CDDEF16A1D4FB40000CA8546 /* Disposables.swift in Sources */,
|
||||
C8093CC91B8A72BE0088E94D /* Lock.swift in Sources */,
|
||||
C8093D431B8A72BE0088E94D /* Take.swift in Sources */,
|
||||
C84CC5581BDCF51200E06A64 /* SynchronizedSubscribeType.swift in Sources */,
|
||||
|
|
@ -4166,7 +4165,6 @@
|
|||
CBEE771F1BD649A000AD584C /* ToArray.swift in Sources */,
|
||||
C8093CFD1B8A72BE0088E94D /* Observable.swift in Sources */,
|
||||
C84CC55D1BDD010800E06A64 /* SynchronizedUnsubscribeType.swift in Sources */,
|
||||
C8093CE11B8A72BE0088E94D /* NAryDisposable.swift in Sources */,
|
||||
C8093CEB1B8A72BE0088E94D /* SerialDisposable.swift in Sources */,
|
||||
C8C3DA0C1B93959F004D233E /* Never.swift in Sources */,
|
||||
C84CC5671BDD08A500E06A64 /* SubscriptionDisposable.swift in Sources */,
|
||||
|
|
@ -4289,6 +4287,7 @@
|
|||
C8F0BFE01BBBFB8B001B112F /* SerialDispatchQueueScheduler.swift in Sources */,
|
||||
C8F0BFE11BBBFB8B001B112F /* RefCount.swift in Sources */,
|
||||
C8F0BFE21BBBFB8B001B112F /* Concat.swift in Sources */,
|
||||
CDDEF16D1D4FB40000CA8546 /* Disposables.swift in Sources */,
|
||||
C8F0BFE31BBBFB8B001B112F /* Lock.swift in Sources */,
|
||||
C8F0BFE41BBBFB8B001B112F /* Take.swift in Sources */,
|
||||
C84CC55B1BDCF51200E06A64 /* SynchronizedSubscribeType.swift in Sources */,
|
||||
|
|
@ -4313,7 +4312,6 @@
|
|||
CBEE77221BD649A000AD584C /* ToArray.swift in Sources */,
|
||||
C8F0BFF41BBBFB8B001B112F /* Observable.swift in Sources */,
|
||||
C84CC5601BDD010800E06A64 /* SynchronizedUnsubscribeType.swift in Sources */,
|
||||
C8F0BFF51BBBFB8B001B112F /* NAryDisposable.swift in Sources */,
|
||||
C8F0BFF61BBBFB8B001B112F /* SerialDisposable.swift in Sources */,
|
||||
C8F0BFF71BBBFB8B001B112F /* Never.swift in Sources */,
|
||||
C84CC56A1BDD08A500E06A64 /* SubscriptionDisposable.swift in Sources */,
|
||||
|
|
@ -4607,7 +4605,6 @@
|
|||
D2EBEAF61BB9B6B2003A27DC /* NopDisposable.swift in Sources */,
|
||||
CB30D9EB1BF0E3500084C1C0 /* SingleAsync.swift in Sources */,
|
||||
D2EBEAFF1BB9B6BA003A27DC /* Buffer.swift in Sources */,
|
||||
D2EBEAF51BB9B6AE003A27DC /* NAryDisposable.swift in Sources */,
|
||||
D2EBEB1D1BB9B6C1003A27DC /* Scan.swift in Sources */,
|
||||
D2EBEB261BB9B6C1003A27DC /* Throttle.swift in Sources */,
|
||||
D2EBEAE81BB9B697003A27DC /* Rx.swift in Sources */,
|
||||
|
|
@ -4631,6 +4628,7 @@
|
|||
D2EBEB2B1BB9B6CA003A27DC /* Observable+Aggregate.swift in Sources */,
|
||||
D2EBEB291BB9B6C1003A27DC /* Zip+arity.swift in Sources */,
|
||||
D2EBEB241BB9B6C1003A27DC /* TakeUntil.swift in Sources */,
|
||||
CDDEF16C1D4FB40000CA8546 /* Disposables.swift in Sources */,
|
||||
C84CC55A1BDCF51200E06A64 /* SynchronizedSubscribeType.swift in Sources */,
|
||||
D2EBEB3B1BB9B6D8003A27DC /* OperationQueueScheduler.swift in Sources */,
|
||||
D2EBEAE51BB9B697003A27DC /* AnyObserver.swift in Sources */,
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ class RunLoopLock {
|
|||
if CurrentThreadScheduler.isScheduleRequired {
|
||||
_ = CurrentThreadScheduler.instance.schedule(()) { _ in
|
||||
action()
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
|
|
|||
|
|
@ -228,7 +228,7 @@ extension DelegateProxyType {
|
|||
|
||||
assert(proxy.forwardToDelegate() === forwardDelegate, "Setting of delegate failed")
|
||||
|
||||
return AnonymousDisposable {
|
||||
return Disposables.create {
|
||||
MainScheduler.ensureExecutingOnScheduler()
|
||||
|
||||
let delegate: AnyObject? = weakForwardDelegate
|
||||
|
|
@ -273,6 +273,6 @@ extension ObservableType {
|
|||
}
|
||||
}
|
||||
|
||||
return CompositeDisposable(subscription, disposable)
|
||||
return Disposables.create(subscription, disposable)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ class KVOObservable<Element>
|
|||
observer.on(.next(value as? Element))
|
||||
}
|
||||
|
||||
return AnonymousDisposable(observer.dispose)
|
||||
return Disposables.create(with: observer.dispose)
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ extension NotificationCenter {
|
|||
observer.on(.next(notification))
|
||||
}
|
||||
|
||||
return AnonymousDisposable {
|
||||
return Disposables.create {
|
||||
self.removeObserver(nsObserver)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -155,7 +155,7 @@ extension URLSession {
|
|||
let t = task
|
||||
t.resume()
|
||||
|
||||
return AnonymousDisposable(task.cancel)
|
||||
return Disposables.create(with: task.cancel)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ extension NSControl {
|
|||
|
||||
guard let control = self else {
|
||||
observer.on(.completed)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
let observer = ControlTarget(control: control) { control in
|
||||
|
|
@ -54,7 +54,7 @@ extension NSControl {
|
|||
return Observable.create { [weak weakControl = control] (observer: AnyObserver<T>) in
|
||||
guard let control = weakControl else {
|
||||
observer.on(.completed)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
observer.on(.next(getter(control)))
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ extension UIBarButtonItem {
|
|||
Observable.create { [weak self] observer in
|
||||
guard let control = self else {
|
||||
observer.on(.completed)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
let target = BarButtonItemTarget(barButtonItem: control) {
|
||||
observer.on(.next())
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ extension UIControl {
|
|||
|
||||
guard let control = self else {
|
||||
observer.on(.completed)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
let controlTarget = ControlTarget(control: control, controlEvents: controlEvents) {
|
||||
|
|
@ -53,7 +53,7 @@ extension UIControl {
|
|||
observer.on(.next())
|
||||
}
|
||||
|
||||
return AnonymousDisposable(controlTarget.dispose)
|
||||
return Disposables.create(with: controlTarget.dispose)
|
||||
}.takeUntil(rx_deallocated)
|
||||
|
||||
return ControlEvent(events: source)
|
||||
|
|
@ -67,7 +67,7 @@ extension UIControl {
|
|||
let source: Observable<T> = Observable.create { [weak weakControl = control] observer in
|
||||
guard let control = weakControl else {
|
||||
observer.on(.completed)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
observer.on(.next(getter(control)))
|
||||
|
|
@ -78,7 +78,7 @@ extension UIControl {
|
|||
}
|
||||
}
|
||||
|
||||
return AnonymousDisposable(controlTarget.dispose)
|
||||
return Disposables.create(with: controlTarget.dispose)
|
||||
}
|
||||
.takeUntil((control as! NSObject).rx_deallocated)
|
||||
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ extension Reactive where Self: UIGestureRecognizer {
|
|||
|
||||
guard let control = self else {
|
||||
observer.on(.completed)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
let observer = GestureTarget(control) {
|
||||
|
|
|
|||
|
|
@ -150,13 +150,13 @@ extension TestScheduler {
|
|||
let scheduledEvents = events[attemptCount].map { event in
|
||||
return self.scheduleRelative((), dueTime: resolution * TimeInterval(event.time)) { _ in
|
||||
observer.on(event.value)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
}
|
||||
|
||||
attemptCount += 1
|
||||
|
||||
return CompositeDisposable(disposables: scheduledEvents)
|
||||
return Disposables.create(scheduledEvents)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -45,18 +45,18 @@ extension UIImagePickerController {
|
|||
}
|
||||
catch let error {
|
||||
observer.on(.error(error))
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
guard let parent = parent else {
|
||||
observer.on(.completed)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
parent.present(imagePicker, animated: animated, completion: nil)
|
||||
observer.on(.next(imagePicker))
|
||||
|
||||
return CompositeDisposable(dismissDisposable, AnonymousDisposable {
|
||||
return Disposables.create(dismissDisposable, Disposables.create {
|
||||
dismissViewController(imagePicker, animated: animated)
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@ func <-> (textInput: RxTextInput, variable: Variable<String>) -> Disposable {
|
|||
bindToUIDisposable.dispose()
|
||||
})
|
||||
|
||||
return StableCompositeDisposable.create(bindToUIDisposable, bindToVariable)
|
||||
return Disposables.create(bindToUIDisposable, bindToVariable)
|
||||
}
|
||||
|
||||
func <-> <T>(property: ControlProperty<T>, variable: Variable<T>) -> Disposable {
|
||||
|
|
@ -92,7 +92,7 @@ func <-> <T>(property: ControlProperty<T>, variable: Variable<T>) -> Disposable
|
|||
bindToUIDisposable.dispose()
|
||||
})
|
||||
|
||||
return StableCompositeDisposable.create(bindToUIDisposable, bindToVariable)
|
||||
return Disposables.create(bindToUIDisposable, bindToVariable)
|
||||
}
|
||||
|
||||
// }
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ private struct ActivityToken<E> : ObservableConvertibleType, Disposable {
|
|||
|
||||
init(source: Observable<E>, disposeAction: () -> ()) {
|
||||
_source = source
|
||||
_dispose = AnonymousDisposable(disposeAction)
|
||||
_dispose = Disposables.create(with: disposeAction)
|
||||
}
|
||||
|
||||
func dispose() {
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ class DefaultWireframe: Wireframe {
|
|||
|
||||
DefaultWireframe.rootViewController().present(alertView, animated: true, completion: nil)
|
||||
|
||||
return AnonymousDisposable {
|
||||
return Disposables.create {
|
||||
alertView.dismiss(animated:false, completion: nil)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,11 +31,18 @@ public final class AnonymousDisposable : DisposeBase, Cancelable {
|
|||
|
||||
- parameter disposeAction: Disposal action which will be run upon calling `dispose`.
|
||||
*/
|
||||
@available(*, deprecated, renamed: "Disposables.create")
|
||||
public init(_ disposeAction: DisposeAction) {
|
||||
_disposeAction = disposeAction
|
||||
super.init()
|
||||
}
|
||||
|
||||
|
||||
// Non-deprecated version of the constructor, used by `Disposables.create(with:)`
|
||||
private init(disposeAction: DisposeAction) {
|
||||
_disposeAction = disposeAction
|
||||
super.init()
|
||||
}
|
||||
|
||||
/**
|
||||
Calls the disposal action if and only if the current instance hasn't been disposed yet.
|
||||
|
||||
|
|
@ -52,3 +59,16 @@ public final class AnonymousDisposable : DisposeBase, Cancelable {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
public extension Disposables {
|
||||
|
||||
/**
|
||||
Constructs a new disposable with the given action used for disposal.
|
||||
|
||||
- parameter dispose: Disposal action which will be run upon calling `dispose`.
|
||||
*/
|
||||
static func create(with dispose: () -> ()) -> Cancelable {
|
||||
return AnonymousDisposable(disposeAction: dispose)
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ import Foundation
|
|||
/**
|
||||
Represents two disposable resources that are disposed together.
|
||||
*/
|
||||
final class BinaryDisposable : DisposeBase, Cancelable {
|
||||
private final class BinaryDisposable : DisposeBase, Cancelable {
|
||||
|
||||
private var _isDisposed: AtomicInt = 0
|
||||
|
||||
|
|
@ -52,3 +52,14 @@ final class BinaryDisposable : DisposeBase, Cancelable {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
public extension Disposables {
|
||||
|
||||
/**
|
||||
Creates a disposable with the given disposables.
|
||||
*/
|
||||
static func create(_ disposable1: Disposable, _ disposable2: Disposable) -> Cancelable {
|
||||
return BinaryDisposable(disposable1, disposable2)
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ import Foundation
|
|||
/**
|
||||
Represents a disposable resource that can be checked for disposal status.
|
||||
*/
|
||||
public class BooleanDisposable : Disposable, Cancelable {
|
||||
public final class BooleanDisposable : Disposable, Cancelable {
|
||||
|
||||
internal static let BooleanDisposableTrue = BooleanDisposable(isDisposed: true)
|
||||
private var _isDisposed = false
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ import Foundation
|
|||
/**
|
||||
Represents a group of disposable resources that are disposed together.
|
||||
*/
|
||||
public class CompositeDisposable : DisposeBase, Disposable, Cancelable {
|
||||
public final class CompositeDisposable : DisposeBase, Disposable, Cancelable {
|
||||
public typealias DisposeKey = Bag<Disposable>.KeyType
|
||||
|
||||
private var _lock = SpinLock()
|
||||
|
|
|
|||
|
|
@ -0,0 +1,61 @@
|
|||
//
|
||||
// Disposables.swift
|
||||
// Rx
|
||||
//
|
||||
// Created by Mohsen Ramezanpoor on 01/08/2016.
|
||||
// Copyright © 2016 Mohsen Ramezanpoor. All rights reserved.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
||||
/**
|
||||
A collection of utility methods for common disposable operations.
|
||||
*/
|
||||
public struct Disposables {
|
||||
|
||||
private init() {}
|
||||
|
||||
}
|
||||
|
||||
public extension Disposables {
|
||||
|
||||
private static let noOp: Disposable = NopDisposable()
|
||||
|
||||
/**
|
||||
Creates a disposable that does nothing on disposal.
|
||||
*/
|
||||
static func create() -> Disposable {
|
||||
return noOp
|
||||
}
|
||||
|
||||
/**
|
||||
Creates a disposable with the given disposables.
|
||||
*/
|
||||
static func create(_ disposable1: Disposable, _ disposable2: Disposable, _ disposable3: Disposable) -> Cancelable {
|
||||
return CompositeDisposable(disposable1, disposable2, disposable3)
|
||||
}
|
||||
|
||||
/**
|
||||
Creates a disposable with the given disposables.
|
||||
*/
|
||||
static func create(_ disposable1: Disposable, _ disposable2: Disposable, _ disposable3: Disposable, _ disposables: Disposable ...) -> Cancelable {
|
||||
var disposables = disposables
|
||||
disposables.append(disposable1)
|
||||
disposables.append(disposable2)
|
||||
disposables.append(disposable3)
|
||||
return CompositeDisposable(disposables: disposables)
|
||||
}
|
||||
|
||||
/**
|
||||
Creates a disposable with the given disposables.
|
||||
*/
|
||||
static func create(_ disposables: [Disposable]) -> Cancelable {
|
||||
switch disposables.count {
|
||||
case 2:
|
||||
return Disposables.create(disposables[0], disposables[1])
|
||||
default:
|
||||
return CompositeDisposable(disposables: disposables)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -31,7 +31,7 @@ or create a new one in its place.
|
|||
|
||||
In case explicit disposal is necessary, there is also `CompositeDisposable`.
|
||||
*/
|
||||
public class DisposeBag: DisposeBase {
|
||||
public final class DisposeBag: DisposeBase {
|
||||
|
||||
private var _lock = SpinLock()
|
||||
|
||||
|
|
|
|||
|
|
@ -1,10 +0,0 @@
|
|||
// This file is autogenerated. Take a look at `Preprocessor` target in RxSwift project
|
||||
//
|
||||
// NAryDisposable.swift
|
||||
// RxSwift
|
||||
//
|
||||
// Created by Krunoslav Zaher on 8/20/15.
|
||||
// Copyright © 2015 Krunoslav Zaher. All rights reserved.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
//
|
||||
// NAryDisposable.swift
|
||||
// RxSwift
|
||||
//
|
||||
// Created by Krunoslav Zaher on 8/20/15.
|
||||
// Copyright © 2015 Krunoslav Zaher. All rights reserved.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
|
@ -18,6 +18,7 @@ public struct NopDisposable : Disposable {
|
|||
/**
|
||||
Singleton instance of `NopDisposable`.
|
||||
*/
|
||||
@available(*, deprecated, renamed: "Disposables.empty()")
|
||||
public static let instance: Disposable = NopDisposable()
|
||||
|
||||
init() {
|
||||
|
|
@ -29,4 +30,4 @@ public struct NopDisposable : Disposable {
|
|||
*/
|
||||
public func dispose() {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ import Foundation
|
|||
/**
|
||||
Represents a disposable resource that only disposes its underlying disposable resource when all dependent disposable objects have been disposed.
|
||||
*/
|
||||
public class RefCountDisposable : DisposeBase, Cancelable {
|
||||
public final class RefCountDisposable : DisposeBase, Cancelable {
|
||||
private var _lock = SpinLock()
|
||||
private var _disposable = nil as Disposable?
|
||||
private var _primaryDisposed = false
|
||||
|
|
@ -50,7 +50,7 @@ public class RefCountDisposable : DisposeBase, Cancelable {
|
|||
|
||||
return RefCountInnerDisposable(self)
|
||||
} else {
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,13 +10,13 @@ import Foundation
|
|||
|
||||
private let disposeScheduledDisposable: (ScheduledDisposable) -> Disposable = { sd in
|
||||
sd.disposeInner()
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
/**
|
||||
Represents a disposable resource whose disposal invocation will be scheduled on the specified scheduler.
|
||||
*/
|
||||
public class ScheduledDisposable : Cancelable {
|
||||
public final class ScheduledDisposable : Cancelable {
|
||||
public let scheduler: ImmediateSchedulerType
|
||||
|
||||
private var _isDisposed: AtomicInt = 0
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ import Foundation
|
|||
/**
|
||||
Represents a disposable resource whose underlying disposable resource can be replaced by another disposable resource, causing automatic disposal of the previous underlying disposable resource.
|
||||
*/
|
||||
public class SerialDisposable : DisposeBase, Cancelable {
|
||||
public final class SerialDisposable : DisposeBase, Cancelable {
|
||||
private var _lock = SpinLock()
|
||||
|
||||
// state
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ public class SingleAssignmentDisposable : DisposeBase, Disposable, Cancelable {
|
|||
public var disposable: Disposable {
|
||||
get {
|
||||
_lock.lock(); defer { _lock.unlock() }
|
||||
return _disposable ?? NopDisposable.instance
|
||||
return _disposable ?? Disposables.create()
|
||||
}
|
||||
set {
|
||||
_setDisposable(newValue)?.dispose()
|
||||
|
|
|
|||
|
|
@ -9,7 +9,8 @@
|
|||
import Foundation
|
||||
|
||||
public final class StableCompositeDisposable {
|
||||
@available(*, deprecated, renamed: "Disposables.create")
|
||||
public static func create(_ disposable1: Disposable, _ disposable2: Disposable) -> Disposable {
|
||||
return BinaryDisposable(disposable1, disposable2)
|
||||
return Disposables.create(disposable1, disposable2)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,6 +35,6 @@ extension ImmediateSchedulerType {
|
|||
|
||||
recursiveScheduler.schedule(state)
|
||||
|
||||
return AnonymousDisposable(recursiveScheduler.dispose)
|
||||
return Disposables.create(with: recursiveScheduler.dispose)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -42,10 +42,10 @@ extension ObservableType {
|
|||
let disposable: Disposable
|
||||
|
||||
if let disposed = onDisposed {
|
||||
disposable = AnonymousDisposable(disposed)
|
||||
disposable = Disposables.create(with: disposed)
|
||||
}
|
||||
else {
|
||||
disposable = NopDisposable.instance
|
||||
disposable = Disposables.create()
|
||||
}
|
||||
|
||||
let observer = AnonymousObserver<E> { e in
|
||||
|
|
@ -65,7 +65,7 @@ extension ObservableType {
|
|||
disposable.dispose()
|
||||
}
|
||||
}
|
||||
return BinaryDisposable(
|
||||
return Disposables.create(
|
||||
self.subscribeSafe(observer),
|
||||
disposable
|
||||
)
|
||||
|
|
@ -88,10 +88,10 @@ extension ObservableType {
|
|||
let disposable: Disposable
|
||||
|
||||
if let disposed = onDisposed {
|
||||
disposable = AnonymousDisposable(disposed)
|
||||
disposable = Disposables.create(with: disposed)
|
||||
}
|
||||
else {
|
||||
disposable = NopDisposable.instance
|
||||
disposable = Disposables.create()
|
||||
}
|
||||
|
||||
let observer = AnonymousObserver<E> { e in
|
||||
|
|
@ -106,7 +106,7 @@ extension ObservableType {
|
|||
disposable.dispose()
|
||||
}
|
||||
}
|
||||
return BinaryDisposable(
|
||||
return Disposables.create(
|
||||
self.subscribeSafe(observer),
|
||||
disposable
|
||||
)
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ class AddRef<Element> : Producer<Element> {
|
|||
override func run<O: ObserverType where O.E == Element>(_ observer: O) -> Disposable {
|
||||
let releaseDisposable = _refCount.retain()
|
||||
let sink = AddRefSink(observer: observer)
|
||||
sink.disposable = StableCompositeDisposable.create(releaseDisposable, _source.subscribeSafe(sink))
|
||||
sink.disposable = Disposables.create(releaseDisposable, _source.subscribeSafe(sink))
|
||||
|
||||
return sink
|
||||
}
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ class AmbSink<ElementType, O: ObserverType where O.E == ElementType> : Sink<O> {
|
|||
func run() -> Disposable {
|
||||
let subscription1 = SingleAssignmentDisposable()
|
||||
let subscription2 = SingleAssignmentDisposable()
|
||||
let disposeAll = StableCompositeDisposable.create(subscription1, subscription2)
|
||||
let disposeAll = Disposables.create(subscription1, subscription2)
|
||||
|
||||
let forwardEvent = { (o: AmbObserverType, event: Event<ElementType>) -> Void in
|
||||
self.forwardOn(event)
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ class BufferTimeCountSink<Element, O: ObserverType where O.E == [Element]>
|
|||
|
||||
func run() -> Disposable {
|
||||
createTimer(_windowID)
|
||||
return StableCompositeDisposable.create(_timerD, _parent._source.subscribe(self))
|
||||
return Disposables.create(_timerD, _parent._source.subscribe(self))
|
||||
}
|
||||
|
||||
func startNewWindowAndSendCurrentOne() {
|
||||
|
|
@ -113,7 +113,7 @@ class BufferTimeCountSink<Element, O: ObserverType where O.E == [Element]>
|
|||
self.startNewWindowAndSendCurrentOne()
|
||||
}
|
||||
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -100,7 +100,7 @@ class CombineLatestCollectionTypeSink<C: Collection, R, O: ObserverType where C.
|
|||
j += 1
|
||||
}
|
||||
|
||||
return CompositeDisposable(disposables: _subscriptions.map { $0 })
|
||||
return Disposables.create(_subscriptions)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ class CombineLatestSink2_<E1, E2, O: ObserverType> : CombineLatestSink<O> {
|
|||
subscription1.disposable = _parent._source1.subscribe(observer1)
|
||||
subscription2.disposable = _parent._source2.subscribe(observer2)
|
||||
|
||||
return CompositeDisposable(disposables: [
|
||||
return Disposables.create([
|
||||
subscription1,
|
||||
subscription2
|
||||
])
|
||||
|
|
@ -142,7 +142,7 @@ class CombineLatestSink3_<E1, E2, E3, O: ObserverType> : CombineLatestSink<O> {
|
|||
subscription2.disposable = _parent._source2.subscribe(observer2)
|
||||
subscription3.disposable = _parent._source3.subscribe(observer3)
|
||||
|
||||
return CompositeDisposable(disposables: [
|
||||
return Disposables.create([
|
||||
subscription1,
|
||||
subscription2,
|
||||
subscription3
|
||||
|
|
@ -234,7 +234,7 @@ class CombineLatestSink4_<E1, E2, E3, E4, O: ObserverType> : CombineLatestSink<O
|
|||
subscription3.disposable = _parent._source3.subscribe(observer3)
|
||||
subscription4.disposable = _parent._source4.subscribe(observer4)
|
||||
|
||||
return CompositeDisposable(disposables: [
|
||||
return Disposables.create([
|
||||
subscription1,
|
||||
subscription2,
|
||||
subscription3,
|
||||
|
|
@ -333,7 +333,7 @@ class CombineLatestSink5_<E1, E2, E3, E4, E5, O: ObserverType> : CombineLatestSi
|
|||
subscription4.disposable = _parent._source4.subscribe(observer4)
|
||||
subscription5.disposable = _parent._source5.subscribe(observer5)
|
||||
|
||||
return CompositeDisposable(disposables: [
|
||||
return Disposables.create([
|
||||
subscription1,
|
||||
subscription2,
|
||||
subscription3,
|
||||
|
|
@ -439,7 +439,7 @@ class CombineLatestSink6_<E1, E2, E3, E4, E5, E6, O: ObserverType> : CombineLate
|
|||
subscription5.disposable = _parent._source5.subscribe(observer5)
|
||||
subscription6.disposable = _parent._source6.subscribe(observer6)
|
||||
|
||||
return CompositeDisposable(disposables: [
|
||||
return Disposables.create([
|
||||
subscription1,
|
||||
subscription2,
|
||||
subscription3,
|
||||
|
|
@ -552,7 +552,7 @@ class CombineLatestSink7_<E1, E2, E3, E4, E5, E6, E7, O: ObserverType> : Combine
|
|||
subscription6.disposable = _parent._source6.subscribe(observer6)
|
||||
subscription7.disposable = _parent._source7.subscribe(observer7)
|
||||
|
||||
return CompositeDisposable(disposables: [
|
||||
return Disposables.create([
|
||||
subscription1,
|
||||
subscription2,
|
||||
subscription3,
|
||||
|
|
@ -672,7 +672,7 @@ class CombineLatestSink8_<E1, E2, E3, E4, E5, E6, E7, E8, O: ObserverType> : Com
|
|||
subscription7.disposable = _parent._source7.subscribe(observer7)
|
||||
subscription8.disposable = _parent._source8.subscribe(observer8)
|
||||
|
||||
return CompositeDisposable(disposables: [
|
||||
return Disposables.create([
|
||||
subscription1,
|
||||
subscription2,
|
||||
subscription3,
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@ class CombineLatestSink<%= i %>_<<%= (Array(1...i).map { "E\($0)" }).joined(sepa
|
|||
" subscription\($0).disposable = _parent._source\($0).subscribe(observer\($0))"
|
||||
}).joined(separator: "\n") %>
|
||||
|
||||
return CompositeDisposable(disposables: [
|
||||
return Disposables.create([
|
||||
<%= (Array(1...i).map { " subscription\($0)" }).joined(separator: ",\n") %>
|
||||
])
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ class DeferredSink<S: ObservableType, O: ObserverType where S.E == O.E> : Sink<O
|
|||
catch let e {
|
||||
forwardOn(.error(e))
|
||||
dispose()
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -11,6 +11,6 @@ import Foundation
|
|||
class Empty<Element> : Producer<Element> {
|
||||
override func subscribe<O : ObserverType where O.E == Element>(_ observer: O) -> Disposable {
|
||||
observer.on(.completed)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,6 +17,6 @@ class Error<Element> : Producer<Element> {
|
|||
|
||||
override func subscribe<O : ObserverType where O.E == Element>(_ observer: O) -> Disposable {
|
||||
observer.on(.error(_error))
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ class JustScheduledSink<O: ObserverType> : Sink<O> {
|
|||
self.forwardOn(.next(element))
|
||||
return scheduler.schedule(()) { _ in
|
||||
self.forwardOn(.completed)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -56,6 +56,6 @@ class Just<Element> : Producer<Element> {
|
|||
override func subscribe<O : ObserverType where O.E == Element>(_ observer: O) -> Disposable {
|
||||
observer.on(.next(_element))
|
||||
observer.on(.completed)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,12 +30,12 @@ class MulticastSink<S: SubjectType, O: ObserverType>: Sink<O>, ObserverType {
|
|||
let subscription = observable.subscribe(self)
|
||||
let connection = connectable.connect()
|
||||
|
||||
return BinaryDisposable(subscription, connection)
|
||||
return Disposables.create(subscription, connection)
|
||||
}
|
||||
catch let e {
|
||||
forwardOn(.error(e))
|
||||
dispose()
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -10,6 +10,6 @@ import Foundation
|
|||
|
||||
class Never<Element> : Producer<Element> {
|
||||
override func subscribe<O : ObserverType where O.E == Element>(_ observer: O) -> Disposable {
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ class ObserveOnSerialDispatchQueueSink<O: ObserverType> : ObserverBase<O.E> {
|
|||
sink.dispose()
|
||||
}
|
||||
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ class RefCountSink<CO: ConnectableObservableType, O: ObserverType where CO.E ==
|
|||
}
|
||||
// }
|
||||
|
||||
return AnonymousDisposable {
|
||||
return Disposables.create {
|
||||
subscription.dispose()
|
||||
self._parent._lock.lock(); defer { self._parent._lock.unlock() } // {
|
||||
if self._parent._count == 1 {
|
||||
|
|
|
|||
|
|
@ -127,7 +127,7 @@ class RetryWhenSequenceSink<S: Sequence, O: ObserverType, TriggerObservable: Obs
|
|||
override func run(_ sources: SequenceGenerator) -> Disposable {
|
||||
let triggerSubscription = _handler.subscribe(_notifier.asObserver())
|
||||
let superSubscription = super.run(sources)
|
||||
return StableCompositeDisposable.create(superSubscription, triggerSubscription)
|
||||
return Disposables.create(superSubscription, triggerSubscription)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@ class SampleSequenceSink<O: ObserverType, SampleType>
|
|||
_sourceSubscription.disposable = _parent._source.subscribe(self)
|
||||
let samplerSubscription = _parent._sampler.subscribe(SamplerSink(parent: self))
|
||||
|
||||
return StableCompositeDisposable.create(_sourceSubscription, samplerSubscription)
|
||||
return Disposables.create(_sourceSubscription, samplerSubscription)
|
||||
}
|
||||
|
||||
func on(_ event: Event<Element>) {
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ final class ShareReplay1<Element>
|
|||
|
||||
if let stopEvent = self._stopEvent {
|
||||
observer.on(stopEvent)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
let initialCount = self._observers.count
|
||||
|
|
|
|||
|
|
@ -100,12 +100,12 @@ class SkipTimeSink<ElementType, O: ObserverType where O.E == ElementType> : Sink
|
|||
func run() -> Disposable {
|
||||
let disposeTimer = parent.scheduler.scheduleRelative((), dueTime: self.parent.duration) {
|
||||
self.tick()
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
let disposeSubscription = parent.source.subscribe(self)
|
||||
|
||||
return BinaryDisposable(disposeTimer, disposeSubscription)
|
||||
return Disposables.create(disposeTimer, disposeSubscription)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -103,7 +103,7 @@ class SkipUntilSink<ElementType, Other, O: ObserverType where O.E == ElementType
|
|||
_sourceSubscription.disposable = sourceSubscription
|
||||
otherObserver._subscription.disposable = otherSubscription
|
||||
|
||||
return StableCompositeDisposable.create(_sourceSubscription, otherObserver._subscription)
|
||||
return Disposables.create(_sourceSubscription, otherObserver._subscription)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ class SubscribeOnSink<Ob: ObservableType, O: ObserverType where Ob.E == O.E> : S
|
|||
cancelSchedule.disposable = parent.scheduler.schedule(()) { (_) -> Disposable in
|
||||
let subscription = self.parent.source.subscribe(self)
|
||||
disposeEverything.disposable = ScheduledDisposable(scheduler: self.parent.scheduler, disposable: subscription)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
return disposeEverything
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ class SwitchSink<SourceType, S: ObservableConvertibleType, O: ObserverType where
|
|||
func run(_ source: Observable<SourceType>) -> Disposable {
|
||||
let subscription = source.subscribe(self)
|
||||
_subscriptions.disposable = subscription
|
||||
return StableCompositeDisposable.create(_subscriptions, _innerSubscription)
|
||||
return Disposables.create(_subscriptions, _innerSubscription)
|
||||
}
|
||||
|
||||
func on(_ event: Event<E>) {
|
||||
|
|
|
|||
|
|
@ -114,12 +114,12 @@ class TakeTimeSink<ElementType, O: ObserverType where O.E == ElementType>
|
|||
func run() -> Disposable {
|
||||
let disposeTimer = _parent._scheduler.scheduleRelative((), dueTime: _parent._duration) {
|
||||
self.tick()
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
let disposeSubscription = _parent._source.subscribe(self)
|
||||
|
||||
return BinaryDisposable(disposeTimer, disposeSubscription)
|
||||
return Disposables.create(disposeTimer, disposeSubscription)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -98,7 +98,7 @@ class TakeUntilSink<ElementType, Other, O: ObserverType where O.E == ElementType
|
|||
otherObserver._subscription.disposable = otherSubscription
|
||||
let sourceSubscription = _parent._source.subscribe(self)
|
||||
|
||||
return StableCompositeDisposable.create(sourceSubscription, otherObserver._subscription)
|
||||
return Disposables.create(sourceSubscription, otherObserver._subscription)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ class ThrottleSink<O: ObserverType>
|
|||
func run() -> Disposable {
|
||||
let subscription = _parent._source.subscribe(self)
|
||||
|
||||
return StableCompositeDisposable.create(subscription, cancellable)
|
||||
return Disposables.create(subscription, cancellable)
|
||||
}
|
||||
|
||||
func on(_ event: Event<Element>) {
|
||||
|
|
@ -79,7 +79,7 @@ class ThrottleSink<O: ObserverType>
|
|||
forwardOn(.next(value))
|
||||
}
|
||||
// }
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ class TimeoutSink<ElementType, O: ObserverType where O.E == ElementType>: Sink<O
|
|||
|
||||
original.disposable = _parent._source.subscribeSafe(self)
|
||||
|
||||
return StableCompositeDisposable.create(_subscription, _timerD)
|
||||
return Disposables.create(_subscription, _timerD)
|
||||
}
|
||||
|
||||
func on(_ event: Event<E>) {
|
||||
|
|
@ -92,7 +92,7 @@ class TimeoutSink<ElementType, O: ObserverType where O.E == ElementType>: Sink<O
|
|||
self._subscription.disposable = self._parent._other.subscribeSafe(self.forwarder())
|
||||
}
|
||||
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ class TimerOneOffSink<O: ObserverType where O.E : SignedInteger> : Sink<O> {
|
|||
self.forwardOn(.next(0))
|
||||
self.forwardOn(.completed)
|
||||
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,19 +21,19 @@ class UsingSink<SourceType, ResourceType: Disposable, O: ObserverType where O.E
|
|||
}
|
||||
|
||||
func run() -> Disposable {
|
||||
var disposable = NopDisposable.instance
|
||||
var disposable = Disposables.create()
|
||||
|
||||
do {
|
||||
let resource = try _parent._resourceFactory()
|
||||
disposable = resource
|
||||
let source = try _parent._observableFactory(resource)
|
||||
|
||||
return StableCompositeDisposable.create(
|
||||
return Disposables.create(
|
||||
source.subscribe(self),
|
||||
disposable
|
||||
)
|
||||
} catch let error {
|
||||
return StableCompositeDisposable.create(
|
||||
return Disposables.create(
|
||||
Observable.error(error).subscribe(self),
|
||||
disposable
|
||||
)
|
||||
|
|
|
|||
|
|
@ -125,7 +125,7 @@ class WindowTimeCountSink<Element, O: ObserverType where O.E == Observable<Eleme
|
|||
|
||||
self.createTimer(newId)
|
||||
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ class WithLatestFromSink<FirstType, SecondType, ResultType, O: ObserverType wher
|
|||
sndSubscription.disposable = _parent._second.subscribe(sndO)
|
||||
let fstSubscription = _parent._first.subscribe(self)
|
||||
|
||||
return StableCompositeDisposable.create(fstSubscription, sndSubscription)
|
||||
return Disposables.create(fstSubscription, sndSubscription)
|
||||
}
|
||||
|
||||
func on(_ event: Event<E>) {
|
||||
|
|
|
|||
|
|
@ -112,7 +112,7 @@ class ZipCollectionTypeSink<C: Collection, R, O: ObserverType where C.Iterator.E
|
|||
j += 1
|
||||
}
|
||||
|
||||
return CompositeDisposable(disposables: _subscriptions.map { $0 })
|
||||
return Disposables.create(_subscriptions)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@ class ZipSink2_<E1, E2, O: ObserverType> : ZipSink<O> {
|
|||
subscription1.disposable = _parent.source1.subscribe(observer1)
|
||||
subscription2.disposable = _parent.source2.subscribe(observer2)
|
||||
|
||||
return CompositeDisposable(disposables: [
|
||||
return Disposables.create([
|
||||
subscription1,
|
||||
subscription2
|
||||
])
|
||||
|
|
@ -167,7 +167,7 @@ class ZipSink3_<E1, E2, E3, O: ObserverType> : ZipSink<O> {
|
|||
subscription2.disposable = _parent.source2.subscribe(observer2)
|
||||
subscription3.disposable = _parent.source3.subscribe(observer3)
|
||||
|
||||
return CompositeDisposable(disposables: [
|
||||
return Disposables.create([
|
||||
subscription1,
|
||||
subscription2,
|
||||
subscription3
|
||||
|
|
@ -273,7 +273,7 @@ class ZipSink4_<E1, E2, E3, E4, O: ObserverType> : ZipSink<O> {
|
|||
subscription3.disposable = _parent.source3.subscribe(observer3)
|
||||
subscription4.disposable = _parent.source4.subscribe(observer4)
|
||||
|
||||
return CompositeDisposable(disposables: [
|
||||
return Disposables.create([
|
||||
subscription1,
|
||||
subscription2,
|
||||
subscription3,
|
||||
|
|
@ -387,7 +387,7 @@ class ZipSink5_<E1, E2, E3, E4, E5, O: ObserverType> : ZipSink<O> {
|
|||
subscription4.disposable = _parent.source4.subscribe(observer4)
|
||||
subscription5.disposable = _parent.source5.subscribe(observer5)
|
||||
|
||||
return CompositeDisposable(disposables: [
|
||||
return Disposables.create([
|
||||
subscription1,
|
||||
subscription2,
|
||||
subscription3,
|
||||
|
|
@ -509,7 +509,7 @@ class ZipSink6_<E1, E2, E3, E4, E5, E6, O: ObserverType> : ZipSink<O> {
|
|||
subscription5.disposable = _parent.source5.subscribe(observer5)
|
||||
subscription6.disposable = _parent.source6.subscribe(observer6)
|
||||
|
||||
return CompositeDisposable(disposables: [
|
||||
return Disposables.create([
|
||||
subscription1,
|
||||
subscription2,
|
||||
subscription3,
|
||||
|
|
@ -639,7 +639,7 @@ class ZipSink7_<E1, E2, E3, E4, E5, E6, E7, O: ObserverType> : ZipSink<O> {
|
|||
subscription6.disposable = _parent.source6.subscribe(observer6)
|
||||
subscription7.disposable = _parent.source7.subscribe(observer7)
|
||||
|
||||
return CompositeDisposable(disposables: [
|
||||
return Disposables.create([
|
||||
subscription1,
|
||||
subscription2,
|
||||
subscription3,
|
||||
|
|
@ -777,7 +777,7 @@ class ZipSink8_<E1, E2, E3, E4, E5, E6, E7, E8, O: ObserverType> : ZipSink<O> {
|
|||
subscription7.disposable = _parent.source7.subscribe(observer7)
|
||||
subscription8.disposable = _parent.source8.subscribe(observer8)
|
||||
|
||||
return CompositeDisposable(disposables: [
|
||||
return Disposables.create([
|
||||
subscription1,
|
||||
subscription2,
|
||||
subscription3,
|
||||
|
|
|
|||
|
|
@ -72,7 +72,7 @@ class ZipSink<%= i %>_<<%= (Array(1...i).map { "E\($0)" }).joined(separator: ",
|
|||
" subscription\($0).disposable = _parent.source\($0).subscribe(observer\($0))" }).joined(separator: "\n")
|
||||
%>
|
||||
|
||||
return CompositeDisposable(disposables: [
|
||||
return Disposables.create([
|
||||
<%= (Array(1...i).map { " subscription\($0)" }).joined(separator: ",\n") %>
|
||||
])
|
||||
}
|
||||
|
|
|
|||
|
|
@ -73,6 +73,6 @@ extension SchedulerType {
|
|||
|
||||
scheduler.schedule(state, dueTime: dueTime)
|
||||
|
||||
return AnonymousDisposable(scheduler.dispose)
|
||||
return Disposables.create(with: scheduler.dispose)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -145,6 +145,6 @@ public class CurrentThreadScheduler : ImmediateSchedulerType {
|
|||
|
||||
// In Xcode 7.3, `return scheduledItem` causes segmentation fault 11 on release build.
|
||||
// To workaround this compiler issue, returns AnonymousDisposable that disposes scheduledItem.
|
||||
return AnonymousDisposable(scheduledItem.dispose)
|
||||
return Disposables.create(with: scheduledItem.dispose)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ extension DispatchQueueConfiguration {
|
|||
// It looks like just setting timer to fire and not holding a reference to it
|
||||
// until deadline causes timer cancellation.
|
||||
var timerReference: DispatchSourceTimer? = timer
|
||||
let cancelTimer = AnonymousDisposable {
|
||||
let cancelTimer = Disposables.create {
|
||||
timerReference?.cancel()
|
||||
timerReference = nil
|
||||
}
|
||||
|
|
@ -85,7 +85,7 @@ extension DispatchQueueConfiguration {
|
|||
// It looks like just setting timer to fire and not holding a reference to it
|
||||
// until deadline causes timer cancellation.
|
||||
var timerReference: DispatchSourceTimer? = timer
|
||||
let cancelTimer = AnonymousDisposable {
|
||||
let cancelTimer = Disposables.create {
|
||||
timerReference?.cancel()
|
||||
timerReference = nil
|
||||
}
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ public class OperationQueueScheduler: ImmediateSchedulerType {
|
|||
|
||||
self.operationQueue.addOperation(operation)
|
||||
|
||||
let _ = compositeDisposable.insert(AnonymousDisposable(operation.cancel))
|
||||
let _ = compositeDisposable.insert(Disposables.create(with: operation.cancel))
|
||||
|
||||
return compositeDisposable
|
||||
}
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ class AnyRecursiveScheduler<State> {
|
|||
let d = _scheduler.scheduleRelative(state, dueTime: dueTime) { (state) -> Disposable in
|
||||
// best effort
|
||||
if self._group.isDisposed {
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
let action = self._lock.calculateLocked { () -> Action? in
|
||||
|
|
@ -60,7 +60,7 @@ class AnyRecursiveScheduler<State> {
|
|||
action(state: state, scheduler: self)
|
||||
}
|
||||
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
_lock.performLocked {
|
||||
|
|
@ -85,7 +85,7 @@ class AnyRecursiveScheduler<State> {
|
|||
let d = _scheduler.schedule(state) { (state) -> Disposable in
|
||||
// best effort
|
||||
if self._group.isDisposed {
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
let action = self._lock.calculateLocked { () -> Action? in
|
||||
|
|
@ -103,7 +103,7 @@ class AnyRecursiveScheduler<State> {
|
|||
action(state: state, scheduler: self)
|
||||
}
|
||||
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
_lock.performLocked {
|
||||
|
|
@ -155,7 +155,7 @@ class RecursiveImmediateScheduler<State> {
|
|||
let d = _scheduler.schedule(state) { (state) -> Disposable in
|
||||
// best effort
|
||||
if self._group.isDisposed {
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
let action = self._lock.calculateLocked { () -> Action? in
|
||||
|
|
@ -173,7 +173,7 @@ class RecursiveImmediateScheduler<State> {
|
|||
action(state: state, recurse: self.schedule)
|
||||
}
|
||||
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
_lock.performLocked {
|
||||
|
|
|
|||
|
|
@ -114,12 +114,12 @@ public final class BehaviorSubject<Element>
|
|||
func _synchronized_subscribe<O : ObserverType where O.E == E>(_ observer: O) -> Disposable {
|
||||
if _isDisposed {
|
||||
observer.on(.error(RxError.disposed(object: self)))
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
if let stoppedEvent = _stoppedEvent {
|
||||
observer.on(stoppedEvent)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
let key = _observers.insert(observer.asObserver())
|
||||
|
|
|
|||
|
|
@ -95,12 +95,12 @@ final public class PublishSubject<Element>
|
|||
func _synchronized_subscribe<O : ObserverType where O.E == E>(_ observer: O) -> Disposable {
|
||||
if let stoppedEvent = _stoppedEvent {
|
||||
observer.on(stoppedEvent)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
if _isDisposed {
|
||||
observer.on(.error(RxError.disposed(object: self)))
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
let key = _observers.insert(observer.asObserver())
|
||||
|
|
|
|||
|
|
@ -139,7 +139,7 @@ class ReplayBufferBase<Element>
|
|||
func _synchronized_subscribe<O : ObserverType where O.E == E>(_ observer: O) -> Disposable {
|
||||
if _isDisposed {
|
||||
observer.on(.error(RxError.disposed(object: self)))
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
let AnyObserver = observer.asObserver()
|
||||
|
|
@ -147,7 +147,7 @@ class ReplayBufferBase<Element>
|
|||
replayBuffer(AnyObserver)
|
||||
if let stoppedEvent = _stoppedEvent {
|
||||
observer.on(stoppedEvent)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
else {
|
||||
let key = _observers.insert(AnyObserver)
|
||||
|
|
|
|||
|
|
@ -33,11 +33,11 @@ class ColdObservable<Element>
|
|||
for recordedEvent in recordedEvents {
|
||||
_ = testScheduler.scheduleRelativeVirtual((), dueTime: recordedEvent.time, action: { (_) in
|
||||
observer.on(recordedEvent.value)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
})
|
||||
}
|
||||
|
||||
return AnonymousDisposable {
|
||||
return Disposables.create {
|
||||
let existing = self.subscriptions[i]
|
||||
self.subscriptions[i] = Subscription(existing.subscribe, self.testScheduler.clock)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ class HotObservable<Element>
|
|||
|
||||
let i = self.subscriptions.count - 1
|
||||
|
||||
return AnonymousDisposable {
|
||||
return Disposables.create {
|
||||
let removed = self._observers.removeKey(key)
|
||||
assert(removed != nil)
|
||||
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@ public class TestScheduler : VirtualTimeScheduler<TestSchedulerVirtualTimeConver
|
|||
public func scheduleAt(_ time: TestTime, action: () -> Void) {
|
||||
_ = self.scheduleAbsoluteVirtual((), time: time, action: { () -> Disposable in
|
||||
action()
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
})
|
||||
}
|
||||
|
||||
|
|
@ -111,17 +111,17 @@ public class TestScheduler : VirtualTimeScheduler<TestSchedulerVirtualTimeConver
|
|||
|
||||
_ = self.scheduleAbsoluteVirtual((), time: created) {
|
||||
source = create()
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
_ = self.scheduleAbsoluteVirtual((), time: subscribed) {
|
||||
subscription = source!.subscribe(observer)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
_ = self.scheduleAbsoluteVirtual((), time: disposed) {
|
||||
subscription!.dispose()
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
start()
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ compareTwoImplementations(benchmarkTime: true, benchmarkMemory: false, first: {
|
|||
for i in 0..<100 {
|
||||
o.on(.Next(i))
|
||||
}
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}*/
|
||||
//.retryWhen { $0 }
|
||||
.shareReplay(1)
|
||||
|
|
|
|||
|
|
@ -75,10 +75,10 @@ extension DriverTest {
|
|||
// subscription because of serial nature of main scheduler.
|
||||
_ = MainScheduler.instance.schedule(()) { _ in
|
||||
subscribeFinished.fulfill()
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
waitForExpectations(timeout: 1.0) { error in
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ extension RxTest {
|
|||
}
|
||||
|
||||
func ensureEventDeallocated<C, T where C: NSObject>(_ createControl: () -> C, _ eventSelector: (C) -> ControlEvent<T>) {
|
||||
return ensureEventDeallocated({ () -> (C, Disposable) in (createControl(), NopDisposable.instance) }, eventSelector)
|
||||
return ensureEventDeallocated({ () -> (C, Disposable) in (createControl(), Disposables.create()) }, eventSelector)
|
||||
}
|
||||
|
||||
func ensureEventDeallocated<C, T where C: NSObject>(_ createControl: () -> (C, Disposable), _ eventSelector: (C) -> ControlEvent<T>) {
|
||||
|
|
|
|||
|
|
@ -1063,7 +1063,7 @@ extension SentMessageTest {
|
|||
let t = T.createInstance()
|
||||
//let disposable = (t as! NSObject).rx_observe(NSArray.self, "messages").publish().connect()
|
||||
(t as! NSObject).addObserver(self, forKeyPath: "messages", options: [], context: nil)
|
||||
return (t, [AnonymousDisposable { (t as! NSObject).removeObserver(self, forKeyPath: "messages") }])
|
||||
return (t, [Disposables.create { (t as! NSObject).removeObserver(self, forKeyPath: "messages") }])
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ class MySubject<Element where Element : Hashable> : SubjectType, ObserverType {
|
|||
_subscribeCount += 1
|
||||
_observer = AnyObserver(observer)
|
||||
|
||||
return AnonymousDisposable {
|
||||
return Disposables.create {
|
||||
self._observer = AnyObserver { _ -> Void in () }
|
||||
self._isDisposed = true
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ class PrimitiveHotObservable<ElementType> : ObservableType {
|
|||
|
||||
let i = self.subscriptions.count - 1
|
||||
|
||||
return AnonymousDisposable {
|
||||
return Disposables.create {
|
||||
self.lock.lock()
|
||||
defer { self.lock.unlock() }
|
||||
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ extension AnonymousObservableTests {
|
|||
var observer: AnyObserver<Int>!
|
||||
let a = Observable.create { o in
|
||||
observer = o
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
} as Observable<Int>
|
||||
|
||||
var elements = [Int]()
|
||||
|
|
@ -43,7 +43,7 @@ extension AnonymousObservableTests {
|
|||
var observer: AnyObserver<Int>!
|
||||
let a = Observable.create { o in
|
||||
observer = o
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
} as Observable<Int>
|
||||
|
||||
var elements = [Int]()
|
||||
|
|
@ -67,7 +67,7 @@ extension AnonymousObservableTests {
|
|||
var observer: AnyObserver<Int>!
|
||||
let a = Observable.create { o in
|
||||
observer = o
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
} as Observable<Int>
|
||||
|
||||
var elements = [Int]()
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ extension BagTest {
|
|||
)
|
||||
numberOfActionsAfter(i,
|
||||
deletionsFromStart: j,
|
||||
createNew: { () -> Disposable in AnonymousDisposable { numberDisposables += 1 } },
|
||||
createNew: { () -> Disposable in Disposables.create { numberDisposables += 1 } },
|
||||
bagAction: { (bag: RxMutableBox<Bag<Disposable>>) in disposeAll(in: bag.value); XCTAssertTrue(bag.value.count == i - j) }
|
||||
)
|
||||
|
||||
|
|
@ -103,7 +103,7 @@ extension BagTest {
|
|||
)
|
||||
numberOfActionsAfter(i,
|
||||
deletionsFromStart: j,
|
||||
createNew: { () -> Disposable in AnonymousDisposable { numberDisposables += 1 } },
|
||||
createNew: { () -> Disposable in Disposables.create { numberDisposables += 1 } },
|
||||
bagAction: { (bag: RxMutableBox<Bag<Disposable>>) in disposeAll(in: bag.value); XCTAssertTrue(bag.value.count == i - j) }
|
||||
)
|
||||
|
||||
|
|
@ -137,7 +137,7 @@ extension BagTest {
|
|||
}
|
||||
increment2 += 1
|
||||
})
|
||||
_ = bag3.value.insert(AnonymousDisposable { _ in
|
||||
_ = bag3.value.insert(Disposables.create { _ in
|
||||
if increment3 == breakAt {
|
||||
bag3.value.removeAll()
|
||||
}
|
||||
|
|
@ -176,7 +176,7 @@ extension BagTest {
|
|||
)
|
||||
numberOfActionsAfter(100,
|
||||
deletionsFromStart: 0,
|
||||
createNew: { () -> Disposable in AnonymousDisposable { numberDisposables += 1 } },
|
||||
createNew: { () -> Disposable in Disposables.create { numberDisposables += 1 } },
|
||||
bagAction: { (bag: RxMutableBox<Bag<Disposable>>) in bag.value.removeAll(); disposeAll(in: bag.value); }
|
||||
)
|
||||
|
||||
|
|
@ -194,7 +194,7 @@ extension BagTest {
|
|||
|
||||
var keys: [Bag<Disposable>.KeyType] = []
|
||||
for _ in 0..<limit {
|
||||
keys.append(bag.insert(AnonymousDisposable { increment += 1 }))
|
||||
keys.append(bag.insert(Disposables.create { increment += 1 }))
|
||||
}
|
||||
|
||||
for i in 0..<limit {
|
||||
|
|
@ -211,7 +211,7 @@ extension BagTest {
|
|||
|
||||
var keys: [Bag<Disposable>.KeyType] = []
|
||||
for _ in 0..<limit {
|
||||
keys.append(bag.insert(AnonymousDisposable { increment += 1 }))
|
||||
keys.append(bag.insert(Disposables.create { increment += 1 }))
|
||||
}
|
||||
|
||||
for i in 0..<limit {
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ extension CurrentThreadSchedulerTest {
|
|||
_ = CurrentThreadScheduler.instance.schedule(()) { s in
|
||||
executed = true
|
||||
XCTAssertTrue(!CurrentThreadScheduler.isScheduleRequired)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
XCTAssertTrue(executed)
|
||||
|
|
@ -40,13 +40,13 @@ extension CurrentThreadSchedulerTest {
|
|||
messages.append(3)
|
||||
_ = CurrentThreadScheduler.instance.schedule(()) {
|
||||
messages.append(5)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
messages.append(4)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
messages.append(2)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
XCTAssertEqual(messages, [1, 2, 3, 4, 5])
|
||||
|
|
@ -63,7 +63,7 @@ extension CurrentThreadSchedulerTest {
|
|||
messages.append(3)
|
||||
let disposable = CurrentThreadScheduler.instance.schedule(()) {
|
||||
messages.append(5)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
disposable.dispose()
|
||||
messages.append(4)
|
||||
|
|
@ -87,7 +87,7 @@ extension CurrentThreadSchedulerTest {
|
|||
messages.append(3)
|
||||
let disposable = CurrentThreadScheduler.instance.schedule(()) {
|
||||
messages.append(5)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
messages.append(4)
|
||||
return disposable
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ class DisposableTest : RxTest {
|
|||
func testActionDisposable() {
|
||||
var counter = 0
|
||||
|
||||
let disposable = AnonymousDisposable {
|
||||
let disposable = Disposables.create {
|
||||
counter = counter + 1
|
||||
}
|
||||
|
||||
|
|
@ -73,11 +73,11 @@ class DisposableTest : RxTest {
|
|||
var numberDisposed = 0
|
||||
let compositeDisposable = CompositeDisposable()
|
||||
|
||||
let result1 = compositeDisposable.insert(AnonymousDisposable {
|
||||
let result1 = compositeDisposable.insert(Disposables.create {
|
||||
numberDisposed += 1
|
||||
})
|
||||
|
||||
_ = compositeDisposable.insert(AnonymousDisposable {
|
||||
_ = compositeDisposable.insert(Disposables.create {
|
||||
numberDisposed += 1
|
||||
})
|
||||
|
||||
|
|
@ -89,7 +89,7 @@ class DisposableTest : RxTest {
|
|||
XCTAssertEqual(numberDisposed, 2)
|
||||
XCTAssertEqual(compositeDisposable.count, 0)
|
||||
|
||||
let result = compositeDisposable.insert(AnonymousDisposable {
|
||||
let result = compositeDisposable.insert(Disposables.create {
|
||||
numberDisposed += 1
|
||||
})
|
||||
|
||||
|
|
@ -101,19 +101,19 @@ class DisposableTest : RxTest {
|
|||
func testCompositeDisposable_TestInitWithNumberOfDisposables() {
|
||||
var numberDisposed = 0
|
||||
|
||||
let disposable1 = AnonymousDisposable {
|
||||
let disposable1 = Disposables.create {
|
||||
numberDisposed += 1
|
||||
}
|
||||
let disposable2 = AnonymousDisposable {
|
||||
let disposable2 = Disposables.create {
|
||||
numberDisposed += 1
|
||||
}
|
||||
let disposable3 = AnonymousDisposable {
|
||||
let disposable3 = Disposables.create {
|
||||
numberDisposed += 1
|
||||
}
|
||||
let disposable4 = AnonymousDisposable {
|
||||
let disposable4 = Disposables.create {
|
||||
numberDisposed += 1
|
||||
}
|
||||
let disposable5 = AnonymousDisposable {
|
||||
let disposable5 = Disposables.create {
|
||||
numberDisposed += 1
|
||||
}
|
||||
|
||||
|
|
@ -131,11 +131,11 @@ class DisposableTest : RxTest {
|
|||
var numberDisposed = 0
|
||||
let compositeDisposable = CompositeDisposable()
|
||||
|
||||
let result1 = compositeDisposable.insert(AnonymousDisposable {
|
||||
let result1 = compositeDisposable.insert(Disposables.create {
|
||||
numberDisposed += 1
|
||||
})
|
||||
|
||||
let result2 = compositeDisposable.insert(AnonymousDisposable {
|
||||
let result2 = compositeDisposable.insert(Disposables.create {
|
||||
numberDisposed += 1
|
||||
})
|
||||
|
||||
|
|
@ -154,6 +154,33 @@ class DisposableTest : RxTest {
|
|||
XCTAssertEqual(compositeDisposable.count, 0)
|
||||
}
|
||||
|
||||
func testDisposables_TestCreateWithNumberOfDisposables() {
|
||||
var numberDisposed = 0
|
||||
|
||||
let disposable1 = Disposables.create {
|
||||
numberDisposed += 1
|
||||
}
|
||||
let disposable2 = Disposables.create {
|
||||
numberDisposed += 1
|
||||
}
|
||||
let disposable3 = Disposables.create {
|
||||
numberDisposed += 1
|
||||
}
|
||||
let disposable4 = Disposables.create {
|
||||
numberDisposed += 1
|
||||
}
|
||||
let disposable5 = Disposables.create {
|
||||
numberDisposed += 1
|
||||
}
|
||||
|
||||
let disposable = Disposables.create(disposable1, disposable2, disposable3, disposable4, disposable5)
|
||||
|
||||
XCTAssertEqual(numberDisposed, 0)
|
||||
|
||||
disposable.dispose()
|
||||
XCTAssertEqual(numberDisposed, 5)
|
||||
}
|
||||
|
||||
func testRefCountDisposable_RefCounting() {
|
||||
let d = BooleanDisposable()
|
||||
let r = RefCountDisposable(disposable: d)
|
||||
|
|
|
|||
|
|
@ -30,11 +30,11 @@ extension HistoricalSchedulerTest {
|
|||
times.append(scheduler.now)
|
||||
_ = scheduler.scheduleRelative((), dueTime: 20.0) { _ in
|
||||
times.append(scheduler.now)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
return scheduler.schedule(()) { _ in
|
||||
times.append(scheduler.now)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -56,16 +56,16 @@ extension HistoricalSchedulerTest {
|
|||
times.append(scheduler.now)
|
||||
let d = scheduler.scheduleRelative((), dueTime: 20.0) { _ in
|
||||
times.append(scheduler.now)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
let d2 = scheduler.schedule(()) { _ in
|
||||
times.append(scheduler.now)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
d2.dispose()
|
||||
d.dispose()
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
scheduler.start()
|
||||
|
|
@ -84,11 +84,11 @@ extension HistoricalSchedulerTest {
|
|||
times.append(scheduler.now)
|
||||
_ = scheduler.scheduleRelative((), dueTime: 20.0) { _ in
|
||||
times.append(scheduler.now)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
return scheduler.schedule(()) { _ in
|
||||
times.append(scheduler.now)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -110,11 +110,11 @@ extension HistoricalSchedulerTest {
|
|||
times.append(scheduler!.now)
|
||||
_ = scheduler!.scheduleRelative((), dueTime: 20.0) { _ in
|
||||
times.append(scheduler!.now)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
return scheduler!.schedule(()) { _ in
|
||||
times.append(scheduler!.now)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -135,16 +135,16 @@ extension HistoricalSchedulerTest {
|
|||
times.append(scheduler!.now)
|
||||
let d1 = scheduler!.scheduleRelative((), dueTime: 20.0) { _ in
|
||||
times.append(scheduler!.now)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
let d2 = scheduler!.schedule(()) { _ in
|
||||
times.append(scheduler!.now)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
d1.dispose()
|
||||
d2.dispose()
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
scheduler.advanceTo(Date(timeIntervalSince1970: 200.0))
|
||||
|
|
@ -163,16 +163,16 @@ extension HistoricalSchedulerTest {
|
|||
times.append(scheduler!.now)
|
||||
_ = scheduler!.scheduleRelative((), dueTime: 20.0) { _ in
|
||||
times.append(scheduler!.now)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
_ = scheduler!.schedule(()) { _ in
|
||||
times.append(scheduler!.now)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
scheduler!.stop()
|
||||
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
scheduler.start()
|
||||
|
|
@ -193,15 +193,15 @@ extension HistoricalSchedulerTest {
|
|||
_ = scheduler!.sleep(100)
|
||||
_ = scheduler!.scheduleRelative((), dueTime: 20.0) { _ in
|
||||
times.append(scheduler!.now)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
_ = scheduler!.schedule(()) { _ in
|
||||
times.append(scheduler!.now)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
scheduler.start()
|
||||
|
|
|
|||
|
|
@ -41,13 +41,13 @@ extension MainSchedulerTest {
|
|||
messages.append(3)
|
||||
_ = MainScheduler.instance.schedule(()) {
|
||||
messages.append(5)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
messages.append(4)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
messages.append(2)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
XCTAssertTrue(executedImmediatelly)
|
||||
|
|
@ -66,7 +66,7 @@ extension MainSchedulerTest {
|
|||
messages.append(3)
|
||||
let disposable = MainScheduler.instance.schedule(()) {
|
||||
messages.append(5)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
disposable.dispose()
|
||||
messages.append(4)
|
||||
|
|
@ -90,7 +90,7 @@ extension MainSchedulerTest {
|
|||
messages.append(3)
|
||||
let disposable = MainScheduler.instance.schedule(()) {
|
||||
messages.append(5)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
messages.append(4)
|
||||
return disposable
|
||||
|
|
|
|||
|
|
@ -305,7 +305,7 @@ extension ObservableBindingTest {
|
|||
let xs: Observable<Int> = Observable.deferred {
|
||||
count += 1
|
||||
return Observable.create { obs in
|
||||
return AnonymousDisposable {
|
||||
return Disposables.create {
|
||||
disconnected = true
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ extension ObservableConcurrencyTest {
|
|||
|
||||
_ = scheduler.schedule(()) { s in
|
||||
expectation.fulfill()
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
waitForExpectations(timeout: 1.0) { e in
|
||||
|
|
@ -95,7 +95,7 @@ extension ObservableConcurrencyTest {
|
|||
.observeOn(scheduler)
|
||||
XCTAssertTrue(a == a) // shut up swift compiler :(, we only need to keep this in memory
|
||||
XCTAssert(numberOfSerialDispatchQueueObservables == 1)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
XCTAssert(numberOfSerialDispatchQueueObservables == 0)
|
||||
|
|
@ -111,11 +111,11 @@ extension ObservableConcurrencyTest {
|
|||
self.sleep(0.1) // should be enough to block the queue, so if it's concurrent, it will fail
|
||||
XCTAssert(OSAtomicDecrement32(&numberOfConcurrentEvents) == 0)
|
||||
OSAtomicIncrement32(&numberOfExecutions)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
_ = scheduler.schedule((), action: action)
|
||||
_ = scheduler.schedule((), action: action)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
XCTAssert(numberOfSerialDispatchQueueObservables == 0)
|
||||
|
|
@ -179,7 +179,7 @@ extension ObservableConcurrencyTest {
|
|||
])
|
||||
xs.on(.next(1))
|
||||
xs.on(.next(2))
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
},
|
||||
{ scheduler in
|
||||
XCTAssertEqual(observer.events, [
|
||||
|
|
@ -189,7 +189,7 @@ extension ObservableConcurrencyTest {
|
|||
])
|
||||
XCTAssert(xs.subscriptions == [SubscribedToHotObservable])
|
||||
xs.on(.completed)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
},
|
||||
{ scheduler in
|
||||
XCTAssertEqual(observer.events, [
|
||||
|
|
@ -199,7 +199,7 @@ extension ObservableConcurrencyTest {
|
|||
completed()
|
||||
])
|
||||
XCTAssert(xs.subscriptions == [UnsunscribedFromHotObservable])
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
},
|
||||
])
|
||||
}
|
||||
|
|
@ -220,7 +220,7 @@ extension ObservableConcurrencyTest {
|
|||
completed()
|
||||
])
|
||||
XCTAssert(xs.subscriptions == [UnsunscribedFromHotObservable])
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
])
|
||||
}
|
||||
|
|
@ -243,7 +243,7 @@ extension ObservableConcurrencyTest {
|
|||
])
|
||||
xs.on(.next(1))
|
||||
xs.on(.next(2))
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
},
|
||||
{ scheduler in
|
||||
XCTAssertEqual(observer.events, [
|
||||
|
|
@ -253,7 +253,7 @@ extension ObservableConcurrencyTest {
|
|||
])
|
||||
XCTAssert(xs.subscriptions == [SubscribedToHotObservable])
|
||||
xs.on(.error(testError))
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
},
|
||||
{ scheduler in
|
||||
XCTAssertEqual(observer.events, [
|
||||
|
|
@ -263,7 +263,7 @@ extension ObservableConcurrencyTest {
|
|||
error(testError)
|
||||
])
|
||||
XCTAssert(xs.subscriptions == [UnsunscribedFromHotObservable])
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
},
|
||||
])
|
||||
}
|
||||
|
|
@ -292,14 +292,14 @@ extension ObservableConcurrencyTest {
|
|||
|
||||
xs.on(.error(testError))
|
||||
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
},
|
||||
{ scheduler in
|
||||
XCTAssertEqual(observer.events, [
|
||||
next(0),
|
||||
])
|
||||
XCTAssert(xs.subscriptions == [UnsunscribedFromHotObservable])
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
])
|
||||
}
|
||||
|
|
@ -364,7 +364,7 @@ class ObservableConcurrentSchedulerConcurrencyTest: ObservableConcurrencyTestBas
|
|||
|
||||
stop.on(.completed)
|
||||
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
_ = scheduler.schedule((), action: concurrent)
|
||||
|
|
@ -579,7 +579,7 @@ extension ObservableConcurrencyTest {
|
|||
|
||||
let xs: Observable<Int> = Observable.create { observer in
|
||||
scheduled = scheduler.clock
|
||||
return AnonymousDisposable {
|
||||
return Disposables.create {
|
||||
disposed = scheduler.clock
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4263,7 +4263,7 @@ extension ObservableMultipleTest {
|
|||
])
|
||||
|
||||
let r: Observable<Int> = Observable.create { o in
|
||||
return AnonymousDisposable {
|
||||
return Disposables.create {
|
||||
isDisposed = true
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -985,7 +985,7 @@ extension ObservableSingleTest {
|
|||
observer.on(.next(5))
|
||||
observer.on(.completed)
|
||||
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
_ = sequenceSendingImmediateError
|
||||
|
|
@ -1377,7 +1377,7 @@ extension ObservableSingleTest {
|
|||
observer.on(.next(5))
|
||||
observer.on(.completed)
|
||||
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
_ = sequenceSendingImmediateError
|
||||
|
|
|
|||
|
|
@ -560,7 +560,7 @@ extension ObservableTimeTest {
|
|||
|
||||
_ = scheduler.schedule(()) { _ in
|
||||
cleanResources.fulfill()
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
waitForExpectations(timeout: 1.0) { e in
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ extension ObserverTests {
|
|||
var observer: AnyObserver<Int>!
|
||||
let a: Observable<Int> = Observable.create { o in
|
||||
observer = o
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
var elements = [Int]()
|
||||
|
|
@ -38,7 +38,7 @@ extension ObserverTests {
|
|||
var observer: AnyObserver<Int>!
|
||||
let a: Observable<Int> = Observable.create { o in
|
||||
observer = o
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
var elements = [Int]()
|
||||
|
|
@ -67,7 +67,7 @@ extension ObserverTests {
|
|||
var observer: AnyObserver<Int>!
|
||||
let a: Observable<Int> = Observable.create { o in
|
||||
observer = o
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
var elements = [Int]()
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ extension ConcurrentDispatchQueueSchedulerTests {
|
|||
_ = scheduler.scheduleRelative(1, dueTime: 0.5) { (_) -> Disposable in
|
||||
interval = Date().timeIntervalSince(start)
|
||||
expectScheduling.fulfill()
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
waitForExpectations(timeout: 1.0) { error in
|
||||
|
|
@ -58,7 +58,7 @@ extension ConcurrentDispatchQueueSchedulerTests {
|
|||
let disposable = scheduler.scheduleRelative(1, dueTime: 0.1) { (_) -> Disposable in
|
||||
interval = Date().timeIntervalSince(start)
|
||||
expectScheduling.fulfill()
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
disposable.dispose()
|
||||
|
||||
|
|
|
|||
|
|
@ -33,11 +33,11 @@ extension VirtualSchedulerTest {
|
|||
times.append(scheduler.clock)
|
||||
_ = scheduler.scheduleRelative((), dueTime: 20.0) { _ in
|
||||
times.append(scheduler.clock)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
return scheduler.schedule(()) { _ in
|
||||
times.append(scheduler.clock)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -59,16 +59,16 @@ extension VirtualSchedulerTest {
|
|||
times.append(scheduler.clock)
|
||||
let d = scheduler.scheduleRelative((), dueTime: 20.0) { _ in
|
||||
times.append(scheduler.clock)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
let d2 = scheduler.schedule(()) { _ in
|
||||
times.append(scheduler.clock)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
d2.dispose()
|
||||
d.dispose()
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
scheduler.start()
|
||||
|
|
@ -87,11 +87,11 @@ extension VirtualSchedulerTest {
|
|||
times.append(scheduler.clock)
|
||||
_ = scheduler.scheduleRelative((), dueTime: 20.0) { _ in
|
||||
times.append(scheduler.clock)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
return scheduler.schedule(()) { _ in
|
||||
times.append(scheduler.clock)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -113,11 +113,11 @@ extension VirtualSchedulerTest {
|
|||
times.append(scheduler!.clock)
|
||||
_ = scheduler!.scheduleRelative((), dueTime: 20.0) { _ in
|
||||
times.append(scheduler!.clock)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
return scheduler!.schedule(()) { _ in
|
||||
times.append(scheduler!.clock)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -138,16 +138,16 @@ extension VirtualSchedulerTest {
|
|||
times.append(scheduler!.clock)
|
||||
let d1 = scheduler!.scheduleRelative((), dueTime: 20.0) { _ in
|
||||
times.append(scheduler!.clock)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
let d2 = scheduler!.schedule(()) { _ in
|
||||
times.append(scheduler!.clock)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
d1.dispose()
|
||||
d2.dispose()
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
scheduler.advanceTo(20)
|
||||
|
|
@ -166,16 +166,16 @@ extension VirtualSchedulerTest {
|
|||
times.append(scheduler!.clock)
|
||||
_ = scheduler!.scheduleRelative((), dueTime: 20.0) { _ in
|
||||
times.append(scheduler!.clock)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
_ = scheduler!.schedule(()) { _ in
|
||||
times.append(scheduler!.clock)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
scheduler!.stop()
|
||||
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
scheduler.start()
|
||||
|
|
@ -195,14 +195,14 @@ extension VirtualSchedulerTest {
|
|||
scheduler!.sleep(10)
|
||||
_ = scheduler!.scheduleRelative((), dueTime: 20.0) { _ in
|
||||
times.append(scheduler!.clock)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
_ = scheduler!.schedule(()) { _ in
|
||||
times.append(scheduler!.clock)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
|
||||
scheduler.start()
|
||||
|
|
@ -224,7 +224,7 @@ extension VirtualSchedulerTest {
|
|||
times.append(random)
|
||||
_ = scheduler.scheduleRelative((), dueTime: RxTimeInterval(10 * random)) { [weak scheduler] _ in
|
||||
ticks.append(scheduler!.clock)
|
||||
return NopDisposable.instance
|
||||
return Disposables.create()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue