Merge branch 'develop' into rx_text_bug_#333
# Conflicts: # Rx.xcodeproj/project.pbxproj # Rx.xcworkspace/contents.xcworkspacedata # RxExample/RxExample.xcodeproj/project.pbxproj
This commit is contained in:
commit
fdce3558f0
|
|
@ -12,8 +12,11 @@ All notable changes to this project will be documented in this file.
|
|||
* use cases like `cell.rx_sentMessage("prepareForReuse")` are now supported.
|
||||
* Linux support (proof of concept, but single threaded mode works)
|
||||
* more info in [Documentation/Linux.md](https://github.com/ReactiveX/RxSwift/blob/master/Documentation/Linux.md)
|
||||
* Initial support for `Swift Package Manager` (works on `Linux`, still can't compile `RxCocoa` on `OSX`)
|
||||
* Initial support for `Swift Package Manager`
|
||||
* works on `Linux` (`RxSwift`, `RxBlocking`, `RxTests`)
|
||||
* doesn't work on OSX because it can't compile `RxCocoa` and `RxTests` (because of inclusion of `XCTest` extensions), but OSX has two other package managers and manual method.
|
||||
* Project content is linked to `Sources` automagically using custom tool
|
||||
* more info in [Documentation/Linux.md](https://github.com/ReactiveX/RxSwift/blob/master/Documentation/Linux.md)
|
||||
* Adds `VirtualTimeScheduler` to `RxSwift`
|
||||
* Adds `HistoricalScheduler` to `RxSwift`
|
||||
* Improves performance of virtual schedulers using priority queue.
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ Examples
|
|||
1. [Simple UI bindings](#simple-ui-bindings)
|
||||
1. [Autocomplete](#autocomplete)
|
||||
1. [more examples](../RxExample)
|
||||
1. [Playgrounds](../Rx.Playground)
|
||||
1. [Playgrounds](../README.md#playgrounds)
|
||||
|
||||
## Calculated variable
|
||||
|
||||
|
|
|
|||
|
|
@ -5,13 +5,15 @@ We've made a proof of concept for Linux.
|
|||
|
||||
To test it, create `Package.swift` in your test directory with the following content:
|
||||
|
||||
**This will start to work once we release 2.0.0 because it looks like spm has some issues dealing with prerelease versions. Running `swift build` inside RxSwift repository will work on Linux.**
|
||||
|
||||
```
|
||||
import PackageDescription
|
||||
|
||||
let package = Package(
|
||||
name: "MyShinyUnicornCat",
|
||||
dependencies: [
|
||||
.Package(url: "https://github.com/ReactiveX/RxSwift.git", Version(2, 0, 0, prereleaseIdentifiers: ["rc", "0"]))
|
||||
.Package(url: "https://github.com/ReactiveX/RxSwift.git", Version(2, 0, 0))
|
||||
]
|
||||
)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -1,7 +1,13 @@
|
|||
import PackageDescription
|
||||
|
||||
#if os(OSX)
|
||||
let package = Package(
|
||||
name: "RxSwift",
|
||||
exclude: [
|
||||
"Sources/RxCocoa",
|
||||
"Sources/RxTests",
|
||||
"Sources/AllTests"
|
||||
],
|
||||
targets: [
|
||||
Target(
|
||||
name: "RxSwift"
|
||||
|
|
@ -28,9 +34,36 @@ let package = Package(
|
|||
)
|
||||
]
|
||||
)
|
||||
#if os(OSX)
|
||||
package.exclude = ["Sources/RxCocoa", "Sources/RxTests", "Sources/AllTests"]
|
||||
#elseif os(Linux)
|
||||
package.exclude = ["Sources/RxCocoa"]
|
||||
#else
|
||||
let package = Package(
|
||||
name: "RxSwift",
|
||||
exclude: [
|
||||
"Sources/RxCocoa",
|
||||
],
|
||||
targets: [
|
||||
Target(
|
||||
name: "RxSwift"
|
||||
),
|
||||
Target(
|
||||
name: "RxTests",
|
||||
dependencies: [
|
||||
.Target(name: "RxSwift")
|
||||
]
|
||||
),
|
||||
Target(
|
||||
name: "RxBlocking",
|
||||
dependencies: [
|
||||
.Target(name: "RxSwift")
|
||||
]
|
||||
),
|
||||
Target(
|
||||
name: "AllTests",
|
||||
dependencies: [
|
||||
.Target(name: "RxSwift"),
|
||||
.Target(name: "RxBlocking"),
|
||||
.Target(name: "RxTests")
|
||||
]
|
||||
)
|
||||
]
|
||||
)
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -44,8 +44,9 @@ example("flatMap") {
|
|||
let sequenceString = Observable.of("A", "B", "C", "D", "E", "F", "--")
|
||||
|
||||
_ = sequenceInt
|
||||
.flatMap { int in
|
||||
sequenceString
|
||||
.flatMap { (x:Int) -> Observable<String> in
|
||||
print("from sequenceInt \(x)")
|
||||
return sequenceString
|
||||
}
|
||||
.subscribe {
|
||||
print($0)
|
||||
|
|
|
|||
|
|
@ -13,6 +13,10 @@
|
|||
84C225A31C33F00B008724EC /* RxTextStorageDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84C225A21C33F00B008724EC /* RxTextStorageDelegateProxy.swift */; };
|
||||
84C225A41C33F00B008724EC /* RxTextStorageDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84C225A21C33F00B008724EC /* RxTextStorageDelegateProxy.swift */; };
|
||||
84C225A51C33F00B008724EC /* RxTextStorageDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84C225A21C33F00B008724EC /* RxTextStorageDelegateProxy.swift */; };
|
||||
79E9DE891C3417FD009970AF /* DispatchQueueSchedulerQOS.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79E9DE881C3417FD009970AF /* DispatchQueueSchedulerQOS.swift */; };
|
||||
79E9DE8A1C3417FD009970AF /* DispatchQueueSchedulerQOS.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79E9DE881C3417FD009970AF /* DispatchQueueSchedulerQOS.swift */; };
|
||||
79E9DE8B1C3417FD009970AF /* DispatchQueueSchedulerQOS.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79E9DE881C3417FD009970AF /* DispatchQueueSchedulerQOS.swift */; };
|
||||
79E9DE8C1C3417FD009970AF /* DispatchQueueSchedulerQOS.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79E9DE881C3417FD009970AF /* DispatchQueueSchedulerQOS.swift */; };
|
||||
9BA1CBD31C0F7D550044B50A /* UIActivityIndicatorView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9BA1CBD11C0F7C0A0044B50A /* UIActivityIndicatorView+Rx.swift */; };
|
||||
9BA1CBFD1C0F84A10044B50A /* UIActivityIndicatorView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9BA1CBD11C0F7C0A0044B50A /* UIActivityIndicatorView+Rx.swift */; };
|
||||
9BA1CBFE1C0F84C40044B50A /* UIActivityIndicatorView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9BA1CBD11C0F7C0A0044B50A /* UIActivityIndicatorView+Rx.swift */; };
|
||||
|
|
@ -61,8 +65,6 @@
|
|||
C8093CE61B8A72BE0088E94D /* NopDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C5C1B8A72BE0088E94D /* NopDisposable.swift */; };
|
||||
C8093CE71B8A72BE0088E94D /* ScheduledDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C5D1B8A72BE0088E94D /* ScheduledDisposable.swift */; };
|
||||
C8093CE81B8A72BE0088E94D /* ScheduledDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C5D1B8A72BE0088E94D /* ScheduledDisposable.swift */; };
|
||||
C8093CE91B8A72BE0088E94D /* ScopedDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C5E1B8A72BE0088E94D /* ScopedDisposable.swift */; };
|
||||
C8093CEA1B8A72BE0088E94D /* ScopedDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C5E1B8A72BE0088E94D /* ScopedDisposable.swift */; };
|
||||
C8093CEB1B8A72BE0088E94D /* SerialDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C5F1B8A72BE0088E94D /* SerialDisposable.swift */; };
|
||||
C8093CEC1B8A72BE0088E94D /* SerialDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C5F1B8A72BE0088E94D /* SerialDisposable.swift */; };
|
||||
C8093CED1B8A72BE0088E94D /* SingleAssignmentDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C601B8A72BE0088E94D /* SingleAssignmentDisposable.swift */; };
|
||||
|
|
@ -175,8 +177,6 @@
|
|||
C8093D741B8A72BE0088E94D /* ObserverBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CA61B8A72BE0088E94D /* ObserverBase.swift */; };
|
||||
C8093D791B8A72BE0088E94D /* TailRecursiveSink.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CA91B8A72BE0088E94D /* TailRecursiveSink.swift */; };
|
||||
C8093D7A1B8A72BE0088E94D /* TailRecursiveSink.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CA91B8A72BE0088E94D /* TailRecursiveSink.swift */; };
|
||||
C8093D7B1B8A72BE0088E94D /* ObserverType+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CAA1B8A72BE0088E94D /* ObserverType+Extensions.swift */; };
|
||||
C8093D7C1B8A72BE0088E94D /* ObserverType+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CAA1B8A72BE0088E94D /* ObserverType+Extensions.swift */; };
|
||||
C8093D7D1B8A72BE0088E94D /* ObserverType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CAB1B8A72BE0088E94D /* ObserverType.swift */; };
|
||||
C8093D7E1B8A72BE0088E94D /* ObserverType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CAB1B8A72BE0088E94D /* ObserverType.swift */; };
|
||||
C8093D851B8A72BE0088E94D /* Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CAF1B8A72BE0088E94D /* Rx.swift */; };
|
||||
|
|
@ -187,8 +187,6 @@
|
|||
C8093D8E1B8A72BE0088E94D /* SchedulerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CB31B8A72BE0088E94D /* SchedulerType.swift */; };
|
||||
C8093D8F1B8A72BE0088E94D /* ConcurrentDispatchQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CB51B8A72BE0088E94D /* ConcurrentDispatchQueueScheduler.swift */; };
|
||||
C8093D901B8A72BE0088E94D /* ConcurrentDispatchQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CB51B8A72BE0088E94D /* ConcurrentDispatchQueueScheduler.swift */; };
|
||||
C8093D911B8A72BE0088E94D /* DispatchQueueSchedulerPriority.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CB61B8A72BE0088E94D /* DispatchQueueSchedulerPriority.swift */; };
|
||||
C8093D921B8A72BE0088E94D /* DispatchQueueSchedulerPriority.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CB61B8A72BE0088E94D /* DispatchQueueSchedulerPriority.swift */; };
|
||||
C8093D931B8A72BE0088E94D /* MainScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CB71B8A72BE0088E94D /* MainScheduler.swift */; };
|
||||
C8093D941B8A72BE0088E94D /* MainScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CB71B8A72BE0088E94D /* MainScheduler.swift */; };
|
||||
C8093D951B8A72BE0088E94D /* OperationQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CB81B8A72BE0088E94D /* OperationQueueScheduler.swift */; };
|
||||
|
|
@ -234,8 +232,6 @@
|
|||
C8093EF01B8A732E0088E94D /* KVOObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093E941B8A732E0088E94D /* KVOObserver.swift */; };
|
||||
C8093EF11B8A732E0088E94D /* NSNotificationCenter+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093E951B8A732E0088E94D /* NSNotificationCenter+Rx.swift */; };
|
||||
C8093EF21B8A732E0088E94D /* NSNotificationCenter+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093E951B8A732E0088E94D /* NSNotificationCenter+Rx.swift */; };
|
||||
C8093EF31B8A732E0088E94D /* NSObject+Rx+CoreGraphics.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093E961B8A732E0088E94D /* NSObject+Rx+CoreGraphics.swift */; };
|
||||
C8093EF41B8A732E0088E94D /* NSObject+Rx+CoreGraphics.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093E961B8A732E0088E94D /* NSObject+Rx+CoreGraphics.swift */; };
|
||||
C8093EF51B8A732E0088E94D /* NSObject+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093E971B8A732E0088E94D /* NSObject+Rx.swift */; };
|
||||
C8093EF61B8A732E0088E94D /* NSObject+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093E971B8A732E0088E94D /* NSObject+Rx.swift */; };
|
||||
C8093EF71B8A732E0088E94D /* NSURLSession+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093E981B8A732E0088E94D /* NSURLSession+Rx.swift */; };
|
||||
|
|
@ -381,8 +377,6 @@
|
|||
C88254181B8A752B00B02D69 /* ItemEvents.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88253F41B8A752B00B02D69 /* ItemEvents.swift */; };
|
||||
C882541A1B8A752B00B02D69 /* RxCollectionViewDataSourceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88253F71B8A752B00B02D69 /* RxCollectionViewDataSourceType.swift */; };
|
||||
C882541B1B8A752B00B02D69 /* RxTableViewDataSourceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88253F81B8A752B00B02D69 /* RxTableViewDataSourceType.swift */; };
|
||||
C882541C1B8A752B00B02D69 /* RxActionSheetDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88253FA1B8A752B00B02D69 /* RxActionSheetDelegateProxy.swift */; };
|
||||
C882541D1B8A752B00B02D69 /* RxAlertViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88253FB1B8A752B00B02D69 /* RxAlertViewDelegateProxy.swift */; };
|
||||
C882541E1B8A752B00B02D69 /* RxCollectionViewDataSourceProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88253FC1B8A752B00B02D69 /* RxCollectionViewDataSourceProxy.swift */; };
|
||||
C882541F1B8A752B00B02D69 /* RxCollectionViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88253FD1B8A752B00B02D69 /* RxCollectionViewDelegateProxy.swift */; };
|
||||
C88254201B8A752B00B02D69 /* RxScrollViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88253FE1B8A752B00B02D69 /* RxScrollViewDelegateProxy.swift */; };
|
||||
|
|
@ -390,8 +384,6 @@
|
|||
C88254221B8A752B00B02D69 /* RxTableViewDataSourceProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254001B8A752B00B02D69 /* RxTableViewDataSourceProxy.swift */; };
|
||||
C88254231B8A752B00B02D69 /* RxTableViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254011B8A752B00B02D69 /* RxTableViewDelegateProxy.swift */; };
|
||||
C88254241B8A752B00B02D69 /* RxTextViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254021B8A752B00B02D69 /* RxTextViewDelegateProxy.swift */; };
|
||||
C88254251B8A752B00B02D69 /* UIActionSheet+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254031B8A752B00B02D69 /* UIActionSheet+Rx.swift */; };
|
||||
C88254261B8A752B00B02D69 /* UIAlertView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254041B8A752B00B02D69 /* UIAlertView+Rx.swift */; };
|
||||
C88254271B8A752B00B02D69 /* UIBarButtonItem+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254051B8A752B00B02D69 /* UIBarButtonItem+Rx.swift */; };
|
||||
C88254281B8A752B00B02D69 /* UIButton+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254061B8A752B00B02D69 /* UIButton+Rx.swift */; };
|
||||
C88254291B8A752B00B02D69 /* UICollectionView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254071B8A752B00B02D69 /* UICollectionView+Rx.swift */; };
|
||||
|
|
@ -446,14 +438,14 @@
|
|||
C8BCD3F51C14B6D1005F1280 /* NSLayoutConstraint+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8BCD3F31C14B6D1005F1280 /* NSLayoutConstraint+Rx.swift */; };
|
||||
C8BCD3F61C14B6D1005F1280 /* NSLayoutConstraint+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8BCD3F31C14B6D1005F1280 /* NSLayoutConstraint+Rx.swift */; };
|
||||
C8BCD3F71C14B6D1005F1280 /* NSLayoutConstraint+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8BCD3F31C14B6D1005F1280 /* NSLayoutConstraint+Rx.swift */; };
|
||||
C8BF34CB1C2E426800416CAE /* Darwin.Platform.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8BF34C91C2E426800416CAE /* Darwin.Platform.swift */; };
|
||||
C8BF34CC1C2E426800416CAE /* Darwin.Platform.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8BF34C91C2E426800416CAE /* Darwin.Platform.swift */; };
|
||||
C8BF34CD1C2E426800416CAE /* Darwin.Platform.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8BF34C91C2E426800416CAE /* Darwin.Platform.swift */; };
|
||||
C8BF34CE1C2E426800416CAE /* Darwin.Platform.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8BF34C91C2E426800416CAE /* Darwin.Platform.swift */; };
|
||||
C8BF34CF1C2E426800416CAE /* Linux.Platform.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8BF34CA1C2E426800416CAE /* Linux.Platform.swift */; };
|
||||
C8BF34D01C2E426800416CAE /* Linux.Platform.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8BF34CA1C2E426800416CAE /* Linux.Platform.swift */; };
|
||||
C8BF34D11C2E426800416CAE /* Linux.Platform.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8BF34CA1C2E426800416CAE /* Linux.Platform.swift */; };
|
||||
C8BF34D21C2E426800416CAE /* Linux.Platform.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8BF34CA1C2E426800416CAE /* Linux.Platform.swift */; };
|
||||
C8BF34CB1C2E426800416CAE /* Platform.Darwin.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8BF34C91C2E426800416CAE /* Platform.Darwin.swift */; };
|
||||
C8BF34CC1C2E426800416CAE /* Platform.Darwin.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8BF34C91C2E426800416CAE /* Platform.Darwin.swift */; };
|
||||
C8BF34CD1C2E426800416CAE /* Platform.Darwin.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8BF34C91C2E426800416CAE /* Platform.Darwin.swift */; };
|
||||
C8BF34CE1C2E426800416CAE /* Platform.Darwin.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8BF34C91C2E426800416CAE /* Platform.Darwin.swift */; };
|
||||
C8BF34CF1C2E426800416CAE /* Platform.Linux.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8BF34CA1C2E426800416CAE /* Platform.Linux.swift */; };
|
||||
C8BF34D01C2E426800416CAE /* Platform.Linux.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8BF34CA1C2E426800416CAE /* Platform.Linux.swift */; };
|
||||
C8BF34D11C2E426800416CAE /* Platform.Linux.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8BF34CA1C2E426800416CAE /* Platform.Linux.swift */; };
|
||||
C8BF34D21C2E426800416CAE /* Platform.Linux.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8BF34CA1C2E426800416CAE /* Platform.Linux.swift */; };
|
||||
C8C3D9FE1B935EDF004D233E /* Zip+CollectionType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8C3D9FD1B935EDF004D233E /* Zip+CollectionType.swift */; };
|
||||
C8C3D9FF1B935EDF004D233E /* Zip+CollectionType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8C3D9FD1B935EDF004D233E /* Zip+CollectionType.swift */; };
|
||||
C8C3DA031B9390C4004D233E /* Just.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8C3DA021B9390C4004D233E /* Just.swift */; };
|
||||
|
|
@ -577,7 +569,6 @@
|
|||
C8F0BFB61BBBFB8B001B112F /* BinaryDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C551B8A72BE0088E94D /* BinaryDisposable.swift */; };
|
||||
C8F0BFB71BBBFB8B001B112F /* ObserveOn.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C801B8A72BE0088E94D /* ObserveOn.swift */; };
|
||||
C8F0BFB81BBBFB8B001B112F /* Sample.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C861B8A72BE0088E94D /* Sample.swift */; };
|
||||
C8F0BFB91BBBFB8B001B112F /* ScopedDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C5E1B8A72BE0088E94D /* ScopedDisposable.swift */; };
|
||||
C8F0BFBA1BBBFB8B001B112F /* Multicast.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C7E1B8A72BE0088E94D /* Multicast.swift */; };
|
||||
C8F0BFBB1BBBFB8B001B112F /* CurrentThreadScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8C3DA0E1B939767004D233E /* CurrentThreadScheduler.swift */; };
|
||||
C8F0BFBC1BBBFB8B001B112F /* Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CAF1B8A72BE0088E94D /* Rx.swift */; };
|
||||
|
|
@ -591,7 +582,6 @@
|
|||
C8F0BFC41BBBFB8B001B112F /* SchedulerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CB31B8A72BE0088E94D /* SchedulerType.swift */; };
|
||||
C8F0BFC51BBBFB8B001B112F /* Variable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CC21B8A72BE0088E94D /* Variable.swift */; };
|
||||
C8F0BFC61BBBFB8B001B112F /* OperationQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CB81B8A72BE0088E94D /* OperationQueueScheduler.swift */; };
|
||||
C8F0BFC71BBBFB8B001B112F /* DispatchQueueSchedulerPriority.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CB61B8A72BE0088E94D /* DispatchQueueSchedulerPriority.swift */; };
|
||||
C8F0BFC81BBBFB8B001B112F /* CombineLatest+arity.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C6F1B8A72BE0088E94D /* CombineLatest+arity.swift */; };
|
||||
C8F0BFC91BBBFB8B001B112F /* DisposeBag.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C581B8A72BE0088E94D /* DisposeBag.swift */; };
|
||||
C8F0BFCA1BBBFB8B001B112F /* RecursiveScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CB91B8A72BE0088E94D /* RecursiveScheduler.swift */; };
|
||||
|
|
@ -638,7 +628,6 @@
|
|||
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 */; };
|
||||
C8F0BFF81BBBFB8B001B112F /* ObserverType+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CAA1B8A72BE0088E94D /* ObserverType+Extensions.swift */; };
|
||||
C8F0BFF91BBBFB8B001B112F /* Event.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C641B8A72BE0088E94D /* Event.swift */; };
|
||||
C8F0BFFA1BBBFB8B001B112F /* Zip.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C941B8A72BE0088E94D /* Zip.swift */; };
|
||||
C8F0C0061BBBFBB9001B112F /* UISlider+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254101B8A752B00B02D69 /* UISlider+Rx.swift */; };
|
||||
|
|
@ -655,28 +644,23 @@
|
|||
C8F0C0111BBBFBB9001B112F /* UIStepper+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = F31F35AF1BB4FED800961002 /* UIStepper+Rx.swift */; };
|
||||
C8F0C0121BBBFBB9001B112F /* UIImageView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C882540B1B8A752B00B02D69 /* UIImageView+Rx.swift */; };
|
||||
C8F0C0131BBBFBB9001B112F /* ControlEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = C80D33931B922FB00014629D /* ControlEvent.swift */; };
|
||||
C8F0C0141BBBFBB9001B112F /* NSObject+Rx+CoreGraphics.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093E961B8A732E0088E94D /* NSObject+Rx+CoreGraphics.swift */; };
|
||||
C8F0C0151BBBFBB9001B112F /* UIControl+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254081B8A752B00B02D69 /* UIControl+Rx.swift */; };
|
||||
C8F0C0161BBBFBB9001B112F /* UITableView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254121B8A752B00B02D69 /* UITableView+Rx.swift */; };
|
||||
C8F0C0171BBBFBB9001B112F /* RxCollectionViewReactiveArrayDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88253F11B8A752B00B02D69 /* RxCollectionViewReactiveArrayDataSource.swift */; };
|
||||
C8F0C0181BBBFBB9001B112F /* KVOObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093E941B8A732E0088E94D /* KVOObserver.swift */; };
|
||||
C8F0C0191BBBFBB9001B112F /* UIAlertView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254041B8A752B00B02D69 /* UIAlertView+Rx.swift */; };
|
||||
C8F0C01A1BBBFBB9001B112F /* RxCollectionViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88253FD1B8A752B00B02D69 /* RxCollectionViewDelegateProxy.swift */; };
|
||||
C8F0C01B1BBBFBB9001B112F /* RxScrollViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88253FE1B8A752B00B02D69 /* RxScrollViewDelegateProxy.swift */; };
|
||||
C8F0C01C1BBBFBB9001B112F /* UILabel+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C882540C1B8A752B00B02D69 /* UILabel+Rx.swift */; };
|
||||
C8F0C01D1BBBFBB9001B112F /* RxSearchBarDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88253FF1B8A752B00B02D69 /* RxSearchBarDelegateProxy.swift */; };
|
||||
C8F0C01E1BBBFBB9001B112F /* RxAlertViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88253FB1B8A752B00B02D69 /* RxAlertViewDelegateProxy.swift */; };
|
||||
C8F0C01F1BBBFBB9001B112F /* Observable+Bind.swift in Sources */ = {isa = PBXBuildFile; fileRef = C80D338E1B91EF9E0014629D /* Observable+Bind.swift */; };
|
||||
C8F0C0201BBBFBB9001B112F /* UISegmentedControl+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C882540F1B8A752B00B02D69 /* UISegmentedControl+Rx.swift */; };
|
||||
C8F0C0211BBBFBB9001B112F /* KVOObservable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093E931B8A732E0088E94D /* KVOObservable.swift */; };
|
||||
C8F0C0221BBBFBB9001B112F /* UIButton+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254061B8A752B00B02D69 /* UIButton+Rx.swift */; };
|
||||
C8F0C0231BBBFBB9001B112F /* CLLocationManager+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093E8A1B8A732E0088E94D /* CLLocationManager+Rx.swift */; };
|
||||
C8F0C0251BBBFBB9001B112F /* RxActionSheetDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88253FA1B8A752B00B02D69 /* RxActionSheetDelegateProxy.swift */; };
|
||||
C8F0C0261BBBFBB9001B112F /* _RXDelegateProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = C8093E851B8A732E0088E94D /* _RXDelegateProxy.m */; };
|
||||
C8F0C0271BBBFBB9001B112F /* NSObject+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093E971B8A732E0088E94D /* NSObject+Rx.swift */; };
|
||||
C8F0C0281BBBFBB9001B112F /* RxTextViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254021B8A752B00B02D69 /* RxTextViewDelegateProxy.swift */; };
|
||||
C8F0C0291BBBFBB9001B112F /* UIBarButtonItem+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254051B8A752B00B02D69 /* UIBarButtonItem+Rx.swift */; };
|
||||
C8F0C02A1BBBFBB9001B112F /* UIActionSheet+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254031B8A752B00B02D69 /* UIActionSheet+Rx.swift */; };
|
||||
C8F0C02B1BBBFBB9001B112F /* ControlProperty.swift in Sources */ = {isa = PBXBuildFile; fileRef = C80D33941B922FB00014629D /* ControlProperty.swift */; };
|
||||
C8F0C02C1BBBFBB9001B112F /* UIDatePicker+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254091B8A752B00B02D69 /* UIDatePicker+Rx.swift */; };
|
||||
C8F0C02D1BBBFBB9001B112F /* RxTableViewDataSourceProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254001B8A752B00B02D69 /* RxTableViewDataSourceProxy.swift */; };
|
||||
|
|
@ -749,8 +733,6 @@
|
|||
D203C4F51BB9C52900D02D00 /* ItemEvents.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88253F41B8A752B00B02D69 /* ItemEvents.swift */; };
|
||||
D203C4F61BB9C52E00D02D00 /* RxCollectionViewDataSourceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88253F71B8A752B00B02D69 /* RxCollectionViewDataSourceType.swift */; };
|
||||
D203C4F71BB9C53100D02D00 /* RxTableViewDataSourceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88253F81B8A752B00B02D69 /* RxTableViewDataSourceType.swift */; };
|
||||
D203C4F81BB9C53700D02D00 /* RxActionSheetDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88253FA1B8A752B00B02D69 /* RxActionSheetDelegateProxy.swift */; };
|
||||
D203C4F91BB9C53700D02D00 /* RxAlertViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88253FB1B8A752B00B02D69 /* RxAlertViewDelegateProxy.swift */; };
|
||||
D203C4FA1BB9C53700D02D00 /* RxCollectionViewDataSourceProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88253FC1B8A752B00B02D69 /* RxCollectionViewDataSourceProxy.swift */; };
|
||||
D203C4FB1BB9C53700D02D00 /* RxCollectionViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88253FD1B8A752B00B02D69 /* RxCollectionViewDelegateProxy.swift */; };
|
||||
D203C4FC1BB9C53700D02D00 /* RxScrollViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88253FE1B8A752B00B02D69 /* RxScrollViewDelegateProxy.swift */; };
|
||||
|
|
@ -758,8 +740,6 @@
|
|||
D203C4FE1BB9C53700D02D00 /* RxTableViewDataSourceProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254001B8A752B00B02D69 /* RxTableViewDataSourceProxy.swift */; };
|
||||
D203C4FF1BB9C53700D02D00 /* RxTableViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254011B8A752B00B02D69 /* RxTableViewDelegateProxy.swift */; };
|
||||
D203C5001BB9C53700D02D00 /* RxTextViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254021B8A752B00B02D69 /* RxTextViewDelegateProxy.swift */; };
|
||||
D203C5011BB9C53E00D02D00 /* UIActionSheet+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254031B8A752B00B02D69 /* UIActionSheet+Rx.swift */; };
|
||||
D203C5021BB9C53E00D02D00 /* UIAlertView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254041B8A752B00B02D69 /* UIAlertView+Rx.swift */; };
|
||||
D203C5031BB9C53E00D02D00 /* UIBarButtonItem+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254051B8A752B00B02D69 /* UIBarButtonItem+Rx.swift */; };
|
||||
D203C5051BB9C53E00D02D00 /* UICollectionView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254071B8A752B00B02D69 /* UICollectionView+Rx.swift */; };
|
||||
D203C5061BB9C53E00D02D00 /* UIControl+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88254081B8A752B00B02D69 /* UIControl+Rx.swift */; };
|
||||
|
|
@ -794,7 +774,6 @@
|
|||
D2138C911BB9BED600339B5C /* KVOObservable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093E931B8A732E0088E94D /* KVOObservable.swift */; };
|
||||
D2138C921BB9BED600339B5C /* KVOObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093E941B8A732E0088E94D /* KVOObserver.swift */; };
|
||||
D2138C931BB9BEDA00339B5C /* NSNotificationCenter+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093E951B8A732E0088E94D /* NSNotificationCenter+Rx.swift */; };
|
||||
D2138C941BB9BEDA00339B5C /* NSObject+Rx+CoreGraphics.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093E961B8A732E0088E94D /* NSObject+Rx+CoreGraphics.swift */; };
|
||||
D2138C951BB9BEDA00339B5C /* NSObject+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093E971B8A732E0088E94D /* NSObject+Rx.swift */; };
|
||||
D2138C961BB9BEDA00339B5C /* NSURLSession+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093E981B8A732E0088E94D /* NSURLSession+Rx.swift */; };
|
||||
D2138C971BB9BEE700339B5C /* RxCLLocationManagerDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093E9A1B8A732E0088E94D /* RxCLLocationManagerDelegateProxy.swift */; };
|
||||
|
|
@ -824,7 +803,6 @@
|
|||
D2EBEAE41BB9B697003A27DC /* ObservableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C9E1B8A72BE0088E94D /* ObservableType.swift */; };
|
||||
D2EBEAE51BB9B697003A27DC /* AnyObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CA01B8A72BE0088E94D /* AnyObserver.swift */; };
|
||||
D2EBEAE61BB9B697003A27DC /* ObserverType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CAB1B8A72BE0088E94D /* ObserverType.swift */; };
|
||||
D2EBEAE71BB9B697003A27DC /* ObserverType+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CAA1B8A72BE0088E94D /* ObserverType+Extensions.swift */; };
|
||||
D2EBEAE81BB9B697003A27DC /* Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CAF1B8A72BE0088E94D /* Rx.swift */; };
|
||||
D2EBEAE91BB9B697003A27DC /* RxMutableBox.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CB01B8A72BE0088E94D /* RxMutableBox.swift */; };
|
||||
D2EBEAEA1BB9B697003A27DC /* SchedulerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CB31B8A72BE0088E94D /* SchedulerType.swift */; };
|
||||
|
|
@ -841,7 +819,6 @@
|
|||
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 */; };
|
||||
D2EBEAF81BB9B6B2003A27DC /* ScopedDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C5E1B8A72BE0088E94D /* ScopedDisposable.swift */; };
|
||||
D2EBEAF91BB9B6B2003A27DC /* SerialDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C5F1B8A72BE0088E94D /* SerialDisposable.swift */; };
|
||||
D2EBEAFA1BB9B6B2003A27DC /* SingleAssignmentDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C601B8A72BE0088E94D /* SingleAssignmentDisposable.swift */; };
|
||||
D2EBEAFB1BB9B6B2003A27DC /* StableCompositeDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093C611B8A72BE0088E94D /* StableCompositeDisposable.swift */; };
|
||||
|
|
@ -903,7 +880,6 @@
|
|||
D2EBEB351BB9B6D2003A27DC /* ObserverBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CA61B8A72BE0088E94D /* ObserverBase.swift */; };
|
||||
D2EBEB361BB9B6D2003A27DC /* TailRecursiveSink.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CA91B8A72BE0088E94D /* TailRecursiveSink.swift */; };
|
||||
D2EBEB381BB9B6D8003A27DC /* ConcurrentDispatchQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CB51B8A72BE0088E94D /* ConcurrentDispatchQueueScheduler.swift */; };
|
||||
D2EBEB391BB9B6D8003A27DC /* DispatchQueueSchedulerPriority.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CB61B8A72BE0088E94D /* DispatchQueueSchedulerPriority.swift */; };
|
||||
D2EBEB3A1BB9B6D8003A27DC /* MainScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CB71B8A72BE0088E94D /* MainScheduler.swift */; };
|
||||
D2EBEB3B1BB9B6D8003A27DC /* OperationQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CB81B8A72BE0088E94D /* OperationQueueScheduler.swift */; };
|
||||
D2EBEB3C1BB9B6D8003A27DC /* RecursiveScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8093CB91B8A72BE0088E94D /* RecursiveScheduler.swift */; };
|
||||
|
|
@ -1012,6 +988,7 @@
|
|||
/* Begin PBXFileReference section */
|
||||
842A5A281C357F7D003568D5 /* NSTextStorage+Rx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSTextStorage+Rx.swift"; sourceTree = "<group>"; };
|
||||
84C225A21C33F00B008724EC /* RxTextStorageDelegateProxy.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RxTextStorageDelegateProxy.swift; sourceTree = "<group>"; };
|
||||
79E9DE881C3417FD009970AF /* DispatchQueueSchedulerQOS.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DispatchQueueSchedulerQOS.swift; sourceTree = "<group>"; };
|
||||
9BA1CBD11C0F7C0A0044B50A /* UIActivityIndicatorView+Rx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIActivityIndicatorView+Rx.swift"; sourceTree = "<group>"; };
|
||||
A111CE961B91C97C00D0DCEE /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
B1B7C3BC1BDD39DB0076934E /* TakeLast.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TakeLast.swift; sourceTree = "<group>"; };
|
||||
|
|
@ -1038,7 +1015,6 @@
|
|||
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>"; };
|
||||
C8093C5E1B8A72BE0088E94D /* ScopedDisposable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ScopedDisposable.swift; sourceTree = "<group>"; };
|
||||
C8093C5F1B8A72BE0088E94D /* SerialDisposable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SerialDisposable.swift; sourceTree = "<group>"; };
|
||||
C8093C601B8A72BE0088E94D /* SingleAssignmentDisposable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SingleAssignmentDisposable.swift; sourceTree = "<group>"; };
|
||||
C8093C611B8A72BE0088E94D /* StableCompositeDisposable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StableCompositeDisposable.swift; sourceTree = "<group>"; };
|
||||
|
|
@ -1098,13 +1074,11 @@
|
|||
C8093CA21B8A72BE0088E94D /* AnonymousObserver.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AnonymousObserver.swift; sourceTree = "<group>"; };
|
||||
C8093CA61B8A72BE0088E94D /* ObserverBase.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ObserverBase.swift; sourceTree = "<group>"; };
|
||||
C8093CA91B8A72BE0088E94D /* TailRecursiveSink.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TailRecursiveSink.swift; sourceTree = "<group>"; };
|
||||
C8093CAA1B8A72BE0088E94D /* ObserverType+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "ObserverType+Extensions.swift"; sourceTree = "<group>"; };
|
||||
C8093CAB1B8A72BE0088E94D /* ObserverType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ObserverType.swift; sourceTree = "<group>"; };
|
||||
C8093CAF1B8A72BE0088E94D /* Rx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Rx.swift; sourceTree = "<group>"; };
|
||||
C8093CB01B8A72BE0088E94D /* RxMutableBox.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RxMutableBox.swift; sourceTree = "<group>"; };
|
||||
C8093CB31B8A72BE0088E94D /* SchedulerType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SchedulerType.swift; sourceTree = "<group>"; };
|
||||
C8093CB51B8A72BE0088E94D /* ConcurrentDispatchQueueScheduler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConcurrentDispatchQueueScheduler.swift; sourceTree = "<group>"; };
|
||||
C8093CB61B8A72BE0088E94D /* DispatchQueueSchedulerPriority.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DispatchQueueSchedulerPriority.swift; sourceTree = "<group>"; };
|
||||
C8093CB71B8A72BE0088E94D /* MainScheduler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MainScheduler.swift; sourceTree = "<group>"; };
|
||||
C8093CB81B8A72BE0088E94D /* OperationQueueScheduler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OperationQueueScheduler.swift; sourceTree = "<group>"; };
|
||||
C8093CB91B8A72BE0088E94D /* RecursiveScheduler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RecursiveScheduler.swift; sourceTree = "<group>"; };
|
||||
|
|
@ -1129,7 +1103,6 @@
|
|||
C8093E931B8A732E0088E94D /* KVOObservable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KVOObservable.swift; sourceTree = "<group>"; };
|
||||
C8093E941B8A732E0088E94D /* KVOObserver.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KVOObserver.swift; sourceTree = "<group>"; };
|
||||
C8093E951B8A732E0088E94D /* NSNotificationCenter+Rx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSNotificationCenter+Rx.swift"; sourceTree = "<group>"; };
|
||||
C8093E961B8A732E0088E94D /* NSObject+Rx+CoreGraphics.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSObject+Rx+CoreGraphics.swift"; sourceTree = "<group>"; };
|
||||
C8093E971B8A732E0088E94D /* NSObject+Rx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSObject+Rx.swift"; sourceTree = "<group>"; };
|
||||
C8093E981B8A732E0088E94D /* NSURLSession+Rx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSURLSession+Rx.swift"; sourceTree = "<group>"; };
|
||||
C8093E9A1B8A732E0088E94D /* RxCLLocationManagerDelegateProxy.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RxCLLocationManagerDelegateProxy.swift; sourceTree = "<group>"; };
|
||||
|
|
@ -1183,8 +1156,6 @@
|
|||
C88253F41B8A752B00B02D69 /* ItemEvents.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ItemEvents.swift; sourceTree = "<group>"; };
|
||||
C88253F71B8A752B00B02D69 /* RxCollectionViewDataSourceType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RxCollectionViewDataSourceType.swift; sourceTree = "<group>"; };
|
||||
C88253F81B8A752B00B02D69 /* RxTableViewDataSourceType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RxTableViewDataSourceType.swift; sourceTree = "<group>"; };
|
||||
C88253FA1B8A752B00B02D69 /* RxActionSheetDelegateProxy.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RxActionSheetDelegateProxy.swift; sourceTree = "<group>"; };
|
||||
C88253FB1B8A752B00B02D69 /* RxAlertViewDelegateProxy.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RxAlertViewDelegateProxy.swift; sourceTree = "<group>"; };
|
||||
C88253FC1B8A752B00B02D69 /* RxCollectionViewDataSourceProxy.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RxCollectionViewDataSourceProxy.swift; sourceTree = "<group>"; };
|
||||
C88253FD1B8A752B00B02D69 /* RxCollectionViewDelegateProxy.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RxCollectionViewDelegateProxy.swift; sourceTree = "<group>"; };
|
||||
C88253FE1B8A752B00B02D69 /* RxScrollViewDelegateProxy.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RxScrollViewDelegateProxy.swift; sourceTree = "<group>"; };
|
||||
|
|
@ -1192,8 +1163,6 @@
|
|||
C88254001B8A752B00B02D69 /* RxTableViewDataSourceProxy.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RxTableViewDataSourceProxy.swift; sourceTree = "<group>"; };
|
||||
C88254011B8A752B00B02D69 /* RxTableViewDelegateProxy.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RxTableViewDelegateProxy.swift; sourceTree = "<group>"; };
|
||||
C88254021B8A752B00B02D69 /* RxTextViewDelegateProxy.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RxTextViewDelegateProxy.swift; sourceTree = "<group>"; };
|
||||
C88254031B8A752B00B02D69 /* UIActionSheet+Rx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIActionSheet+Rx.swift"; sourceTree = "<group>"; };
|
||||
C88254041B8A752B00B02D69 /* UIAlertView+Rx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIAlertView+Rx.swift"; sourceTree = "<group>"; };
|
||||
C88254051B8A752B00B02D69 /* UIBarButtonItem+Rx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; lineEnding = 0; path = "UIBarButtonItem+Rx.swift"; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.swift; };
|
||||
C88254061B8A752B00B02D69 /* UIButton+Rx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIButton+Rx.swift"; sourceTree = "<group>"; };
|
||||
C88254071B8A752B00B02D69 /* UICollectionView+Rx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UICollectionView+Rx.swift"; sourceTree = "<group>"; };
|
||||
|
|
@ -1226,8 +1195,8 @@
|
|||
C8BCD3EC1C14B5FB005F1280 /* UIView+Rx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIView+Rx.swift"; sourceTree = "<group>"; };
|
||||
C8BCD3F11C14B62B005F1280 /* NSView+Rx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSView+Rx.swift"; sourceTree = "<group>"; };
|
||||
C8BCD3F31C14B6D1005F1280 /* NSLayoutConstraint+Rx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSLayoutConstraint+Rx.swift"; sourceTree = "<group>"; };
|
||||
C8BF34C91C2E426800416CAE /* Darwin.Platform.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Darwin.Platform.swift; sourceTree = "<group>"; };
|
||||
C8BF34CA1C2E426800416CAE /* Linux.Platform.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Linux.Platform.swift; sourceTree = "<group>"; };
|
||||
C8BF34C91C2E426800416CAE /* Platform.Darwin.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Platform.Darwin.swift; sourceTree = "<group>"; };
|
||||
C8BF34CA1C2E426800416CAE /* Platform.Linux.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Platform.Linux.swift; sourceTree = "<group>"; };
|
||||
C8C3D9FD1B935EDF004D233E /* Zip+CollectionType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Zip+CollectionType.swift"; sourceTree = "<group>"; };
|
||||
C8C3DA021B9390C4004D233E /* Just.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Just.swift; sourceTree = "<group>"; };
|
||||
C8C3DA051B9393AC004D233E /* Empty.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Empty.swift; sourceTree = "<group>"; };
|
||||
|
|
@ -1411,7 +1380,6 @@
|
|||
C8093C9E1B8A72BE0088E94D /* ObservableType.swift */,
|
||||
C8093CA01B8A72BE0088E94D /* AnyObserver.swift */,
|
||||
C8093CAB1B8A72BE0088E94D /* ObserverType.swift */,
|
||||
C8093CAA1B8A72BE0088E94D /* ObserverType+Extensions.swift */,
|
||||
C8093CAF1B8A72BE0088E94D /* Rx.swift */,
|
||||
C8093CB01B8A72BE0088E94D /* RxMutableBox.swift */,
|
||||
C8093CB31B8A72BE0088E94D /* SchedulerType.swift */,
|
||||
|
|
@ -1468,7 +1436,6 @@
|
|||
C8093C5C1B8A72BE0088E94D /* NopDisposable.swift */,
|
||||
CB883B3F1BE24C15000AC2EE /* RefCountDisposable.swift */,
|
||||
C8093C5D1B8A72BE0088E94D /* ScheduledDisposable.swift */,
|
||||
C8093C5E1B8A72BE0088E94D /* ScopedDisposable.swift */,
|
||||
C8093C5F1B8A72BE0088E94D /* SerialDisposable.swift */,
|
||||
C8093C601B8A72BE0088E94D /* SingleAssignmentDisposable.swift */,
|
||||
C8093C611B8A72BE0088E94D /* StableCompositeDisposable.swift */,
|
||||
|
|
@ -1579,7 +1546,7 @@
|
|||
C8093CB51B8A72BE0088E94D /* ConcurrentDispatchQueueScheduler.swift */,
|
||||
C8B144FA1BD2D44500267DCE /* ConcurrentMainScheduler.swift */,
|
||||
C8C3DA0E1B939767004D233E /* CurrentThreadScheduler.swift */,
|
||||
C8093CB61B8A72BE0088E94D /* DispatchQueueSchedulerPriority.swift */,
|
||||
79E9DE881C3417FD009970AF /* DispatchQueueSchedulerQOS.swift */,
|
||||
C8B144FF1BD2D80100267DCE /* ImmediateScheduler.swift */,
|
||||
C8093CB71B8A72BE0088E94D /* MainScheduler.swift */,
|
||||
C8093CB81B8A72BE0088E94D /* OperationQueueScheduler.swift */,
|
||||
|
|
@ -1652,7 +1619,6 @@
|
|||
children = (
|
||||
C8093E8F1B8A732E0088E94D /* Implementations */,
|
||||
C8093E951B8A732E0088E94D /* NSNotificationCenter+Rx.swift */,
|
||||
C8093E961B8A732E0088E94D /* NSObject+Rx+CoreGraphics.swift */,
|
||||
C8093E971B8A732E0088E94D /* NSObject+Rx.swift */,
|
||||
C8F6A1441BF0B9B1007DF367 /* NSObject+Rx+RawRepresentable.swift */,
|
||||
C8DB96821BF754C80084BD53 /* NSObject+Rx+KVORepresentable.swift */,
|
||||
|
|
@ -1760,8 +1726,6 @@
|
|||
C88253F31B8A752B00B02D69 /* Events */,
|
||||
C88253F61B8A752B00B02D69 /* Protocols */,
|
||||
C88253F91B8A752B00B02D69 /* Proxies */,
|
||||
C88254031B8A752B00B02D69 /* UIActionSheet+Rx.swift */,
|
||||
C88254041B8A752B00B02D69 /* UIAlertView+Rx.swift */,
|
||||
C88254051B8A752B00B02D69 /* UIBarButtonItem+Rx.swift */,
|
||||
C88254061B8A752B00B02D69 /* UIButton+Rx.swift */,
|
||||
C88254071B8A752B00B02D69 /* UICollectionView+Rx.swift */,
|
||||
|
|
@ -1815,8 +1779,6 @@
|
|||
C88253F91B8A752B00B02D69 /* Proxies */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
C88253FA1B8A752B00B02D69 /* RxActionSheetDelegateProxy.swift */,
|
||||
C88253FB1B8A752B00B02D69 /* RxAlertViewDelegateProxy.swift */,
|
||||
C88253FC1B8A752B00B02D69 /* RxCollectionViewDataSourceProxy.swift */,
|
||||
C88253FD1B8A752B00B02D69 /* RxCollectionViewDelegateProxy.swift */,
|
||||
C88253FE1B8A752B00B02D69 /* RxScrollViewDelegateProxy.swift */,
|
||||
|
|
@ -1866,8 +1828,8 @@
|
|||
C8BF34C81C2E426800416CAE /* Platform */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
C8BF34C91C2E426800416CAE /* Darwin.Platform.swift */,
|
||||
C8BF34CA1C2E426800416CAE /* Linux.Platform.swift */,
|
||||
C8BF34C91C2E426800416CAE /* Platform.Darwin.swift */,
|
||||
C8BF34CA1C2E426800416CAE /* Platform.Linux.swift */,
|
||||
);
|
||||
path = Platform;
|
||||
sourceTree = "<group>";
|
||||
|
|
@ -2532,7 +2494,6 @@
|
|||
F31F35B01BB4FED800961002 /* UIStepper+Rx.swift in Sources */,
|
||||
C882542D1B8A752B00B02D69 /* UIImageView+Rx.swift in Sources */,
|
||||
C80D33981B922FB00014629D /* ControlEvent.swift in Sources */,
|
||||
C8093EF31B8A732E0088E94D /* NSObject+Rx+CoreGraphics.swift in Sources */,
|
||||
C882542A1B8A752B00B02D69 /* UIControl+Rx.swift in Sources */,
|
||||
C8F6A1451BF0B9B1007DF367 /* NSObject+Rx+RawRepresentable.swift in Sources */,
|
||||
C8DB967E1BF7496C0084BD53 /* KVORepresentable.swift in Sources */,
|
||||
|
|
@ -2541,12 +2502,10 @@
|
|||
C88254161B8A752B00B02D69 /* RxCollectionViewReactiveArrayDataSource.swift in Sources */,
|
||||
C8C4B4A91C17722400828BD5 /* _RXObjCRuntime.m in Sources */,
|
||||
C8093EEF1B8A732E0088E94D /* KVOObserver.swift in Sources */,
|
||||
C88254261B8A752B00B02D69 /* UIAlertView+Rx.swift in Sources */,
|
||||
C882541F1B8A752B00B02D69 /* RxCollectionViewDelegateProxy.swift in Sources */,
|
||||
C88254201B8A752B00B02D69 /* RxScrollViewDelegateProxy.swift in Sources */,
|
||||
C882542E1B8A752B00B02D69 /* UILabel+Rx.swift in Sources */,
|
||||
C88254211B8A752B00B02D69 /* RxSearchBarDelegateProxy.swift in Sources */,
|
||||
C882541D1B8A752B00B02D69 /* RxAlertViewDelegateProxy.swift in Sources */,
|
||||
C80DDEA71BCE69BA006A1832 /* ObservableConvertibleType+Driver.swift in Sources */,
|
||||
C80DDE9F1BCE69BA006A1832 /* Driver+Subscription.swift in Sources */,
|
||||
C811C89D1C24D80100A2DDD4 /* DeallocObservable.swift in Sources */,
|
||||
|
|
@ -2559,14 +2518,12 @@
|
|||
C88254281B8A752B00B02D69 /* UIButton+Rx.swift in Sources */,
|
||||
C8093EDF1B8A732E0088E94D /* CLLocationManager+Rx.swift in Sources */,
|
||||
C80DDEA31BCE69BA006A1832 /* Driver.swift in Sources */,
|
||||
C882541C1B8A752B00B02D69 /* RxActionSheetDelegateProxy.swift in Sources */,
|
||||
C8093ED51B8A732E0088E94D /* _RXDelegateProxy.m in Sources */,
|
||||
C8093EF51B8A732E0088E94D /* NSObject+Rx.swift in Sources */,
|
||||
9BA1CBD31C0F7D550044B50A /* UIActivityIndicatorView+Rx.swift in Sources */,
|
||||
842A5A2C1C357F92003568D5 /* NSTextStorage+Rx.swift in Sources */,
|
||||
C88254241B8A752B00B02D69 /* RxTextViewDelegateProxy.swift in Sources */,
|
||||
C88254271B8A752B00B02D69 /* UIBarButtonItem+Rx.swift in Sources */,
|
||||
C88254251B8A752B00B02D69 /* UIActionSheet+Rx.swift in Sources */,
|
||||
C8C4B4C21C17727000828BD5 /* MessageSentObserver.swift in Sources */,
|
||||
C80D339A1B922FB00014629D /* ControlProperty.swift in Sources */,
|
||||
C882542B1B8A752B00B02D69 /* UIDatePicker+Rx.swift in Sources */,
|
||||
|
|
@ -2611,7 +2568,6 @@
|
|||
C80DDEA81BCE69BA006A1832 /* ObservableConvertibleType+Driver.swift in Sources */,
|
||||
C80D339B1B922FB00014629D /* ControlProperty.swift in Sources */,
|
||||
C8BCD3F51C14B6D1005F1280 /* NSLayoutConstraint+Rx.swift in Sources */,
|
||||
C8093EF41B8A732E0088E94D /* NSObject+Rx+CoreGraphics.swift in Sources */,
|
||||
C8093EF01B8A732E0088E94D /* KVOObserver.swift in Sources */,
|
||||
C8093EEE1B8A732E0088E94D /* KVOObservable.swift in Sources */,
|
||||
C8F6A1461BF0B9B2007DF367 /* NSObject+Rx+RawRepresentable.swift in Sources */,
|
||||
|
|
@ -2711,7 +2667,7 @@
|
|||
C8093D741B8A72BE0088E94D /* ObserverBase.swift in Sources */,
|
||||
C85106891C2D550E0075150C /* String+Rx.swift in Sources */,
|
||||
C8093D121B8A72BE0088E94D /* ConnectableObservable.swift in Sources */,
|
||||
C8BF34D01C2E426800416CAE /* Linux.Platform.swift in Sources */,
|
||||
C8BF34D01C2E426800416CAE /* Platform.Linux.swift in Sources */,
|
||||
C8093D621B8A72BE0088E94D /* Observable+StandardSequenceOperators.swift in Sources */,
|
||||
C8093D1A1B8A72BE0088E94D /* DistinctUntilChanged.swift in Sources */,
|
||||
C8093D561B8A72BE0088E94D /* Observable+Binding.swift in Sources */,
|
||||
|
|
@ -2730,7 +2686,6 @@
|
|||
C84CC54F1BDCF48200E06A64 /* LockOwnerType.swift in Sources */,
|
||||
D2752D621BC5551A0070C418 /* SkipUntil.swift in Sources */,
|
||||
C84CC5541BDCF49300E06A64 /* SynchronizedOnType.swift in Sources */,
|
||||
C8093CEA1B8A72BE0088E94D /* ScopedDisposable.swift in Sources */,
|
||||
C8093D261B8A72BE0088E94D /* Multicast.swift in Sources */,
|
||||
C8C3DA101B939767004D233E /* CurrentThreadScheduler.swift in Sources */,
|
||||
C8093D861B8A72BE0088E94D /* Rx.swift in Sources */,
|
||||
|
|
@ -2747,7 +2702,6 @@
|
|||
C8093DA81B8A72BE0088E94D /* Variable.swift in Sources */,
|
||||
C84CC5631BDD037900E06A64 /* SynchronizedDisposeType.swift in Sources */,
|
||||
C8093D961B8A72BE0088E94D /* OperationQueueScheduler.swift in Sources */,
|
||||
C8093D921B8A72BE0088E94D /* DispatchQueueSchedulerPriority.swift in Sources */,
|
||||
C8093D081B8A72BE0088E94D /* CombineLatest+arity.swift in Sources */,
|
||||
C8093CDE1B8A72BE0088E94D /* DisposeBag.swift in Sources */,
|
||||
C8093D981B8A72BE0088E94D /* RecursiveScheduler.swift in Sources */,
|
||||
|
|
@ -2782,6 +2736,7 @@
|
|||
C84CC5591BDCF51200E06A64 /* SynchronizedSubscribeType.swift in Sources */,
|
||||
C8093D321B8A72BE0088E94D /* Reduce.swift in Sources */,
|
||||
C8640A041BA5B12A00D3C4E8 /* Repeat.swift in Sources */,
|
||||
79E9DE8A1C3417FD009970AF /* DispatchQueueSchedulerQOS.swift in Sources */,
|
||||
C8093CF41B8A72BE0088E94D /* Errors.swift in Sources */,
|
||||
C8093D141B8A72BE0088E94D /* Debug.swift in Sources */,
|
||||
CB883B4B1BE369AA000AC2EE /* AddRef.swift in Sources */,
|
||||
|
|
@ -2789,7 +2744,7 @@
|
|||
C8093CCE1B8A72BE0088E94D /* Bag.swift in Sources */,
|
||||
C8093D301B8A72BE0088E94D /* Producer.swift in Sources */,
|
||||
C8093CF81B8A72BE0088E94D /* ImmediateSchedulerType.swift in Sources */,
|
||||
C8BF34CC1C2E426800416CAE /* Darwin.Platform.swift in Sources */,
|
||||
C8BF34CC1C2E426800416CAE /* Platform.Darwin.swift in Sources */,
|
||||
C8093CC61B8A72BE0088E94D /* Cancelable.swift in Sources */,
|
||||
C8093CE81B8A72BE0088E94D /* ScheduledDisposable.swift in Sources */,
|
||||
C8093D1E1B8A72BE0088E94D /* Filter.swift in Sources */,
|
||||
|
|
@ -2803,7 +2758,6 @@
|
|||
C8093CE21B8A72BE0088E94D /* NAryDisposable.swift in Sources */,
|
||||
C8093CEC1B8A72BE0088E94D /* SerialDisposable.swift in Sources */,
|
||||
C8C3DA0D1B93959F004D233E /* Never.swift in Sources */,
|
||||
C8093D7C1B8A72BE0088E94D /* ObserverType+Extensions.swift in Sources */,
|
||||
C84CC5681BDD08A500E06A64 /* SubscriptionDisposable.swift in Sources */,
|
||||
C8093CF61B8A72BE0088E94D /* Event.swift in Sources */,
|
||||
C83D73C51C1DBAEE003DC470 /* ScheduledItem.swift in Sources */,
|
||||
|
|
@ -2934,7 +2888,7 @@
|
|||
C8093D731B8A72BE0088E94D /* ObserverBase.swift in Sources */,
|
||||
C85106881C2D550E0075150C /* String+Rx.swift in Sources */,
|
||||
C8093D111B8A72BE0088E94D /* ConnectableObservable.swift in Sources */,
|
||||
C8BF34CF1C2E426800416CAE /* Linux.Platform.swift in Sources */,
|
||||
C8BF34CF1C2E426800416CAE /* Platform.Linux.swift in Sources */,
|
||||
C8093D611B8A72BE0088E94D /* Observable+StandardSequenceOperators.swift in Sources */,
|
||||
C8093D191B8A72BE0088E94D /* DistinctUntilChanged.swift in Sources */,
|
||||
C8093D551B8A72BE0088E94D /* Observable+Binding.swift in Sources */,
|
||||
|
|
@ -2953,7 +2907,6 @@
|
|||
C8FA89151C30405400CD3A17 /* VirtualTimeScheduler.swift in Sources */,
|
||||
D285BAC41BC0231000B3F602 /* SkipUntil.swift in Sources */,
|
||||
C84CC5531BDCF49300E06A64 /* SynchronizedOnType.swift in Sources */,
|
||||
C8093CE91B8A72BE0088E94D /* ScopedDisposable.swift in Sources */,
|
||||
C8093D251B8A72BE0088E94D /* Multicast.swift in Sources */,
|
||||
C8C3DA0F1B939767004D233E /* CurrentThreadScheduler.swift in Sources */,
|
||||
C8093D851B8A72BE0088E94D /* Rx.swift in Sources */,
|
||||
|
|
@ -2971,7 +2924,6 @@
|
|||
C8093DA71B8A72BE0088E94D /* Variable.swift in Sources */,
|
||||
C84CC5621BDD037900E06A64 /* SynchronizedDisposeType.swift in Sources */,
|
||||
C8093D951B8A72BE0088E94D /* OperationQueueScheduler.swift in Sources */,
|
||||
C8093D911B8A72BE0088E94D /* DispatchQueueSchedulerPriority.swift in Sources */,
|
||||
C8093D071B8A72BE0088E94D /* CombineLatest+arity.swift in Sources */,
|
||||
C8093CDD1B8A72BE0088E94D /* DisposeBag.swift in Sources */,
|
||||
C8093D971B8A72BE0088E94D /* RecursiveScheduler.swift in Sources */,
|
||||
|
|
@ -3006,13 +2958,14 @@
|
|||
C84CC5581BDCF51200E06A64 /* SynchronizedSubscribeType.swift in Sources */,
|
||||
C8093D311B8A72BE0088E94D /* Reduce.swift in Sources */,
|
||||
C8640A031BA5B12A00D3C4E8 /* Repeat.swift in Sources */,
|
||||
79E9DE891C3417FD009970AF /* DispatchQueueSchedulerQOS.swift in Sources */,
|
||||
C8093CF31B8A72BE0088E94D /* Errors.swift in Sources */,
|
||||
C8093D131B8A72BE0088E94D /* Debug.swift in Sources */,
|
||||
CB883B4A1BE369AA000AC2EE /* AddRef.swift in Sources */,
|
||||
C8093CCD1B8A72BE0088E94D /* Bag.swift in Sources */,
|
||||
C8093D2F1B8A72BE0088E94D /* Producer.swift in Sources */,
|
||||
C8093CF71B8A72BE0088E94D /* ImmediateSchedulerType.swift in Sources */,
|
||||
C8BF34CB1C2E426800416CAE /* Darwin.Platform.swift in Sources */,
|
||||
C8BF34CB1C2E426800416CAE /* Platform.Darwin.swift in Sources */,
|
||||
C8093CC51B8A72BE0088E94D /* Cancelable.swift in Sources */,
|
||||
C8093CE71B8A72BE0088E94D /* ScheduledDisposable.swift in Sources */,
|
||||
C8093D1D1B8A72BE0088E94D /* Filter.swift in Sources */,
|
||||
|
|
@ -3027,7 +2980,6 @@
|
|||
C8093CE11B8A72BE0088E94D /* NAryDisposable.swift in Sources */,
|
||||
C8093CEB1B8A72BE0088E94D /* SerialDisposable.swift in Sources */,
|
||||
C8C3DA0C1B93959F004D233E /* Never.swift in Sources */,
|
||||
C8093D7B1B8A72BE0088E94D /* ObserverType+Extensions.swift in Sources */,
|
||||
C84CC5671BDD08A500E06A64 /* SubscriptionDisposable.swift in Sources */,
|
||||
C8093CF51B8A72BE0088E94D /* Event.swift in Sources */,
|
||||
C83D73C41C1DBAEE003DC470 /* ScheduledItem.swift in Sources */,
|
||||
|
|
@ -3083,7 +3035,7 @@
|
|||
C8F0BFAF1BBBFB8B001B112F /* ObserverBase.swift in Sources */,
|
||||
C851068B1C2D550E0075150C /* String+Rx.swift in Sources */,
|
||||
C8F0BFB01BBBFB8B001B112F /* ConnectableObservable.swift in Sources */,
|
||||
C8BF34D21C2E426800416CAE /* Linux.Platform.swift in Sources */,
|
||||
C8BF34D21C2E426800416CAE /* Platform.Linux.swift in Sources */,
|
||||
C8F0BFB11BBBFB8B001B112F /* Observable+StandardSequenceOperators.swift in Sources */,
|
||||
C8F0BFB21BBBFB8B001B112F /* DistinctUntilChanged.swift in Sources */,
|
||||
C8F0BFB31BBBFB8B001B112F /* Observable+Binding.swift in Sources */,
|
||||
|
|
@ -3102,7 +3054,6 @@
|
|||
C84CC5511BDCF48200E06A64 /* LockOwnerType.swift in Sources */,
|
||||
D21C29311BC6A1C300448E70 /* SkipUntil.swift in Sources */,
|
||||
C84CC5561BDCF49300E06A64 /* SynchronizedOnType.swift in Sources */,
|
||||
C8F0BFB91BBBFB8B001B112F /* ScopedDisposable.swift in Sources */,
|
||||
C8F0BFBA1BBBFB8B001B112F /* Multicast.swift in Sources */,
|
||||
C8F0BFBB1BBBFB8B001B112F /* CurrentThreadScheduler.swift in Sources */,
|
||||
C8F0BFBC1BBBFB8B001B112F /* Rx.swift in Sources */,
|
||||
|
|
@ -3119,7 +3070,6 @@
|
|||
C8F0BFC51BBBFB8B001B112F /* Variable.swift in Sources */,
|
||||
C84CC5651BDD037900E06A64 /* SynchronizedDisposeType.swift in Sources */,
|
||||
C8F0BFC61BBBFB8B001B112F /* OperationQueueScheduler.swift in Sources */,
|
||||
C8F0BFC71BBBFB8B001B112F /* DispatchQueueSchedulerPriority.swift in Sources */,
|
||||
C8F0BFC81BBBFB8B001B112F /* CombineLatest+arity.swift in Sources */,
|
||||
C8F0BFC91BBBFB8B001B112F /* DisposeBag.swift in Sources */,
|
||||
C8F0BFCA1BBBFB8B001B112F /* RecursiveScheduler.swift in Sources */,
|
||||
|
|
@ -3154,6 +3104,7 @@
|
|||
C84CC55B1BDCF51200E06A64 /* SynchronizedSubscribeType.swift in Sources */,
|
||||
C8F0BFE51BBBFB8B001B112F /* Reduce.swift in Sources */,
|
||||
C8F0BFE71BBBFB8B001B112F /* Repeat.swift in Sources */,
|
||||
79E9DE8C1C3417FD009970AF /* DispatchQueueSchedulerQOS.swift in Sources */,
|
||||
C8F0BFE81BBBFB8B001B112F /* Errors.swift in Sources */,
|
||||
C8F0BFE91BBBFB8B001B112F /* Debug.swift in Sources */,
|
||||
CB883B4D1BE369AA000AC2EE /* AddRef.swift in Sources */,
|
||||
|
|
@ -3161,7 +3112,7 @@
|
|||
C8F0BFEA1BBBFB8B001B112F /* Bag.swift in Sources */,
|
||||
C8F0BFEB1BBBFB8B001B112F /* Producer.swift in Sources */,
|
||||
C8F0BFEC1BBBFB8B001B112F /* ImmediateSchedulerType.swift in Sources */,
|
||||
C8BF34CE1C2E426800416CAE /* Darwin.Platform.swift in Sources */,
|
||||
C8BF34CE1C2E426800416CAE /* Platform.Darwin.swift in Sources */,
|
||||
C8F0BFED1BBBFB8B001B112F /* Cancelable.swift in Sources */,
|
||||
C8F0BFEE1BBBFB8B001B112F /* ScheduledDisposable.swift in Sources */,
|
||||
C8F0BFEF1BBBFB8B001B112F /* Filter.swift in Sources */,
|
||||
|
|
@ -3175,7 +3126,6 @@
|
|||
C8F0BFF51BBBFB8B001B112F /* NAryDisposable.swift in Sources */,
|
||||
C8F0BFF61BBBFB8B001B112F /* SerialDisposable.swift in Sources */,
|
||||
C8F0BFF71BBBFB8B001B112F /* Never.swift in Sources */,
|
||||
C8F0BFF81BBBFB8B001B112F /* ObserverType+Extensions.swift in Sources */,
|
||||
C84CC56A1BDD08A500E06A64 /* SubscriptionDisposable.swift in Sources */,
|
||||
C8F0BFF91BBBFB8B001B112F /* Event.swift in Sources */,
|
||||
C83D73C71C1DBAEE003DC470 /* ScheduledItem.swift in Sources */,
|
||||
|
|
@ -3205,7 +3155,6 @@
|
|||
C8F0C0111BBBFBB9001B112F /* UIStepper+Rx.swift in Sources */,
|
||||
C8F0C0121BBBFBB9001B112F /* UIImageView+Rx.swift in Sources */,
|
||||
C8F0C0131BBBFBB9001B112F /* ControlEvent.swift in Sources */,
|
||||
C8F0C0141BBBFBB9001B112F /* NSObject+Rx+CoreGraphics.swift in Sources */,
|
||||
C8F0C0151BBBFBB9001B112F /* UIControl+Rx.swift in Sources */,
|
||||
C8F6A1481BF0B9B2007DF367 /* NSObject+Rx+RawRepresentable.swift in Sources */,
|
||||
C8DB96811BF7496C0084BD53 /* KVORepresentable.swift in Sources */,
|
||||
|
|
@ -3214,12 +3163,10 @@
|
|||
C8F0C0171BBBFBB9001B112F /* RxCollectionViewReactiveArrayDataSource.swift in Sources */,
|
||||
C8C4B4AC1C17722400828BD5 /* _RXObjCRuntime.m in Sources */,
|
||||
C8F0C0181BBBFBB9001B112F /* KVOObserver.swift in Sources */,
|
||||
C8F0C0191BBBFBB9001B112F /* UIAlertView+Rx.swift in Sources */,
|
||||
C8F0C01A1BBBFBB9001B112F /* RxCollectionViewDelegateProxy.swift in Sources */,
|
||||
C8F0C01B1BBBFBB9001B112F /* RxScrollViewDelegateProxy.swift in Sources */,
|
||||
C8F0C01C1BBBFBB9001B112F /* UILabel+Rx.swift in Sources */,
|
||||
C8F0C01D1BBBFBB9001B112F /* RxSearchBarDelegateProxy.swift in Sources */,
|
||||
C8F0C01E1BBBFBB9001B112F /* RxAlertViewDelegateProxy.swift in Sources */,
|
||||
C80DDEAA1BCE69BA006A1832 /* ObservableConvertibleType+Driver.swift in Sources */,
|
||||
C80DDEA21BCE69BA006A1832 /* Driver+Subscription.swift in Sources */,
|
||||
C811C8A01C24D80100A2DDD4 /* DeallocObservable.swift in Sources */,
|
||||
|
|
@ -3232,14 +3179,12 @@
|
|||
C8F0C0221BBBFBB9001B112F /* UIButton+Rx.swift in Sources */,
|
||||
C8F0C0231BBBFBB9001B112F /* CLLocationManager+Rx.swift in Sources */,
|
||||
C80DDEA61BCE69BA006A1832 /* Driver.swift in Sources */,
|
||||
C8F0C0251BBBFBB9001B112F /* RxActionSheetDelegateProxy.swift in Sources */,
|
||||
C8F0C0261BBBFBB9001B112F /* _RXDelegateProxy.m in Sources */,
|
||||
C8F0C0271BBBFBB9001B112F /* NSObject+Rx.swift in Sources */,
|
||||
9BA1CBFE1C0F84C40044B50A /* UIActivityIndicatorView+Rx.swift in Sources */,
|
||||
842A5A2E1C357F94003568D5 /* NSTextStorage+Rx.swift in Sources */,
|
||||
C8F0C0281BBBFBB9001B112F /* RxTextViewDelegateProxy.swift in Sources */,
|
||||
C8F0C0291BBBFBB9001B112F /* UIBarButtonItem+Rx.swift in Sources */,
|
||||
C8F0C02A1BBBFBB9001B112F /* UIActionSheet+Rx.swift in Sources */,
|
||||
C8C4B4C51C17727000828BD5 /* MessageSentObserver.swift in Sources */,
|
||||
C8F0C02B1BBBFBB9001B112F /* ControlProperty.swift in Sources */,
|
||||
C8F0C02C1BBBFBB9001B112F /* UIDatePicker+Rx.swift in Sources */,
|
||||
|
|
@ -3280,7 +3225,6 @@
|
|||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
D203C4F71BB9C53100D02D00 /* RxTableViewDataSourceType.swift in Sources */,
|
||||
D203C5021BB9C53E00D02D00 /* UIAlertView+Rx.swift in Sources */,
|
||||
D203C50E1BB9C53E00D02D00 /* UISlider+Rx.swift in Sources */,
|
||||
C80DDE9D1BCE69BA006A1832 /* Driver+Operators.swift in Sources */,
|
||||
D2138C8C1BB9BECA00339B5C /* ControlEvent.swift in Sources */,
|
||||
|
|
@ -3298,7 +3242,6 @@
|
|||
D2138C881BB9BEBE00339B5C /* DelegateProxy.swift in Sources */,
|
||||
D203C5101BB9C53E00D02D00 /* UISwitch+Rx.swift in Sources */,
|
||||
D203C5121BB9C53E00D02D00 /* UITextField+Rx.swift in Sources */,
|
||||
D203C4F91BB9C53700D02D00 /* RxAlertViewDelegateProxy.swift in Sources */,
|
||||
C8F6A1471BF0B9B2007DF367 /* NSObject+Rx+RawRepresentable.swift in Sources */,
|
||||
C8DB96801BF7496C0084BD53 /* KVORepresentable.swift in Sources */,
|
||||
C849EF8D1C3195950048AC4A /* Variable+Driver.swift in Sources */,
|
||||
|
|
@ -3323,14 +3266,12 @@
|
|||
D203C5061BB9C53E00D02D00 /* UIControl+Rx.swift in Sources */,
|
||||
D203C5111BB9C53E00D02D00 /* UITableView+Rx.swift in Sources */,
|
||||
C80DDEA51BCE69BA006A1832 /* Driver.swift in Sources */,
|
||||
D203C4F81BB9C53700D02D00 /* RxActionSheetDelegateProxy.swift in Sources */,
|
||||
D2138C961BB9BEDA00339B5C /* NSURLSession+Rx.swift in Sources */,
|
||||
D203C5051BB9C53E00D02D00 /* UICollectionView+Rx.swift in Sources */,
|
||||
D2138C8D1BB9BECD00339B5C /* ControlProperty.swift in Sources */,
|
||||
9BA1CBFD1C0F84A10044B50A /* UIActivityIndicatorView+Rx.swift in Sources */,
|
||||
842A5A2D1C357F93003568D5 /* NSTextStorage+Rx.swift in Sources */,
|
||||
D203C5071BB9C53E00D02D00 /* UIDatePicker+Rx.swift in Sources */,
|
||||
D2138C941BB9BEDA00339B5C /* NSObject+Rx+CoreGraphics.swift in Sources */,
|
||||
D203C50D1BB9C53E00D02D00 /* UISegmentedControl+Rx.swift in Sources */,
|
||||
C8C4B4C41C17727000828BD5 /* MessageSentObserver.swift in Sources */,
|
||||
D2138C861BB9BEBE00339B5C /* Observable+Bind.swift in Sources */,
|
||||
|
|
@ -3350,7 +3291,6 @@
|
|||
9D71C4D21BF08191006E8F59 /* UIButton+Rx.swift in Sources */,
|
||||
D203C4FD1BB9C53700D02D00 /* RxSearchBarDelegateProxy.swift in Sources */,
|
||||
D2138C8A1BB9BEBE00339B5C /* Logging.swift in Sources */,
|
||||
D203C5011BB9C53E00D02D00 /* UIActionSheet+Rx.swift in Sources */,
|
||||
C8DB968A1BF756F40084BD53 /* KVORepresentable+CoreGraphics.swift in Sources */,
|
||||
D203C50F1BB9C53E00D02D00 /* UIStepper+Rx.swift in Sources */,
|
||||
);
|
||||
|
|
@ -3376,7 +3316,6 @@
|
|||
C8B144FD1BD2D44500267DCE /* ConcurrentMainScheduler.swift in Sources */,
|
||||
D2EBEB1B1BB9B6C1003A27DC /* Repeat.swift in Sources */,
|
||||
D2245A1D1BD63C4700E7146F /* WithLatestFrom.swift in Sources */,
|
||||
D2EBEAF81BB9B6B2003A27DC /* ScopedDisposable.swift in Sources */,
|
||||
CB883B3D1BE24355000AC2EE /* Window.swift in Sources */,
|
||||
C8FA89191C30409900CD3A17 /* HistoricalScheduler.swift in Sources */,
|
||||
D2EBEAEA1BB9B697003A27DC /* SchedulerType.swift in Sources */,
|
||||
|
|
@ -3404,7 +3343,7 @@
|
|||
D2EBEB071BB9B6C1003A27DC /* Deferred.swift in Sources */,
|
||||
C851068A1C2D550E0075150C /* String+Rx.swift in Sources */,
|
||||
D2EBEB2C1BB9B6CA003A27DC /* Observable+Binding.swift in Sources */,
|
||||
C8BF34D11C2E426800416CAE /* Linux.Platform.swift in Sources */,
|
||||
C8BF34D11C2E426800416CAE /* Platform.Linux.swift in Sources */,
|
||||
D2EBEB041BB9B6C1003A27DC /* Concat.swift in Sources */,
|
||||
D2EBEB3A1BB9B6D8003A27DC /* MainScheduler.swift in Sources */,
|
||||
D2EBEB101BB9B6C1003A27DC /* Just.swift in Sources */,
|
||||
|
|
@ -3428,7 +3367,6 @@
|
|||
D2EBEB0F1BB9B6C1003A27DC /* Generate.swift in Sources */,
|
||||
D2EBEB1F1BB9B6C1003A27DC /* Skip.swift in Sources */,
|
||||
D2EBEB321BB9B6CA003A27DC /* Observable+StandardSequenceOperators.swift in Sources */,
|
||||
D2EBEB391BB9B6D8003A27DC /* DispatchQueueSchedulerPriority.swift in Sources */,
|
||||
C84CC5421BDC3B3E00E06A64 /* ElementAt.swift in Sources */,
|
||||
D2EBEB081BB9B6C1003A27DC /* DelaySubscription.swift in Sources */,
|
||||
D2EBEADE1BB9B697003A27DC /* Disposable.swift in Sources */,
|
||||
|
|
@ -3468,13 +3406,13 @@
|
|||
D2EBEB121BB9B6C1003A27DC /* Merge.swift in Sources */,
|
||||
D2EBEAEF1BB9B6A4003A27DC /* Queue.swift in Sources */,
|
||||
D2EBEB301BB9B6CA003A27DC /* Observable+Multiple.swift in Sources */,
|
||||
D2EBEAE71BB9B697003A27DC /* ObserverType+Extensions.swift in Sources */,
|
||||
D2EBEB2B1BB9B6CA003A27DC /* Observable+Aggregate.swift in Sources */,
|
||||
D2EBEB291BB9B6C1003A27DC /* Zip+arity.swift in Sources */,
|
||||
D2EBEB241BB9B6C1003A27DC /* TakeUntil.swift in Sources */,
|
||||
C84CC55A1BDCF51200E06A64 /* SynchronizedSubscribeType.swift in Sources */,
|
||||
D2EBEB3B1BB9B6D8003A27DC /* OperationQueueScheduler.swift in Sources */,
|
||||
D2EBEAE51BB9B697003A27DC /* AnyObserver.swift in Sources */,
|
||||
79E9DE8B1C3417FD009970AF /* DispatchQueueSchedulerQOS.swift in Sources */,
|
||||
D2EBEB3D1BB9B6D8003A27DC /* SchedulerServices+Emulation.swift in Sources */,
|
||||
D2EBEB1C1BB9B6C1003A27DC /* Sample.swift in Sources */,
|
||||
D2EBEAFD1BB9B6BA003A27DC /* AnonymousObservable.swift in Sources */,
|
||||
|
|
@ -3482,7 +3420,7 @@
|
|||
CB883B4C1BE369AA000AC2EE /* AddRef.swift in Sources */,
|
||||
D2EBEAFA1BB9B6B2003A27DC /* SingleAssignmentDisposable.swift in Sources */,
|
||||
D2EBEAF31BB9B6AE003A27DC /* DisposeBag.swift in Sources */,
|
||||
C8BF34CD1C2E426800416CAE /* Darwin.Platform.swift in Sources */,
|
||||
C8BF34CD1C2E426800416CAE /* Platform.Darwin.swift in Sources */,
|
||||
D2EBEAED1BB9B6A4003A27DC /* Bag.swift in Sources */,
|
||||
D2EBEB1A1BB9B6C1003A27DC /* RefCount.swift in Sources */,
|
||||
D2EBEB141BB9B6C1003A27DC /* Never.swift in Sources */,
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "group:Package.swift">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:LICENSE.md">
|
||||
</FileRef>
|
||||
|
|
@ -61,14 +64,26 @@
|
|||
location = "group:common.sh">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:playgrounds.sh">
|
||||
location = "group:/Users/kzaher/Projects/RxSwift/scripts/package-spm.swift">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:pre-release-tests.sh">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:test-linux.sh">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:validate-headers.swift">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:validate-playgrounds.sh">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:validate-podspec.sh">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:validate-markdown.sh">
|
||||
</FileRef>
|
||||
</Group>
|
||||
<Group
|
||||
location = "group:Documentation"
|
||||
|
|
@ -106,6 +121,9 @@
|
|||
<FileRef
|
||||
location = "group:Warnings.md">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:Linux.md">
|
||||
</FileRef>
|
||||
</Group>
|
||||
<FileRef
|
||||
location = "group:Rx.playground">
|
||||
|
|
|
|||
|
|
@ -16,16 +16,6 @@ import RxSwift
|
|||
|
||||
// 2
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Driver.zip`")
|
||||
public func zip<O1: DriverConvertibleType, O2: DriverConvertibleType, R>
|
||||
(source1: O1, _ source2: O2, resultSelector: (O1.E, O2.E) throws -> R)
|
||||
-> Driver<R> {
|
||||
return Driver.zip(
|
||||
source1, source2,
|
||||
resultSelector: resultSelector
|
||||
)
|
||||
}
|
||||
|
||||
extension Driver {
|
||||
/**
|
||||
Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.
|
||||
|
|
@ -46,16 +36,6 @@ extension Driver {
|
|||
}
|
||||
}
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Driver.combineLatest`")
|
||||
public func combineLatest<O1: DriverConvertibleType, O2: DriverConvertibleType, R>
|
||||
(source1: O1, _ source2: O2, resultSelector: (O1.E, O2.E) throws -> R)
|
||||
-> Driver<R> {
|
||||
return Driver.combineLatest(
|
||||
source1, source2,
|
||||
resultSelector: resultSelector
|
||||
)
|
||||
}
|
||||
|
||||
extension Driver {
|
||||
/**
|
||||
Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
|
||||
|
|
@ -80,16 +60,6 @@ extension Driver {
|
|||
|
||||
// 3
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Driver.zip`")
|
||||
public func zip<O1: DriverConvertibleType, O2: DriverConvertibleType, O3: DriverConvertibleType, R>
|
||||
(source1: O1, _ source2: O2, _ source3: O3, resultSelector: (O1.E, O2.E, O3.E) throws -> R)
|
||||
-> Driver<R> {
|
||||
return Driver.zip(
|
||||
source1, source2, source3,
|
||||
resultSelector: resultSelector
|
||||
)
|
||||
}
|
||||
|
||||
extension Driver {
|
||||
/**
|
||||
Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.
|
||||
|
|
@ -110,16 +80,6 @@ extension Driver {
|
|||
}
|
||||
}
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Driver.combineLatest`")
|
||||
public func combineLatest<O1: DriverConvertibleType, O2: DriverConvertibleType, O3: DriverConvertibleType, R>
|
||||
(source1: O1, _ source2: O2, _ source3: O3, resultSelector: (O1.E, O2.E, O3.E) throws -> R)
|
||||
-> Driver<R> {
|
||||
return Driver.combineLatest(
|
||||
source1, source2, source3,
|
||||
resultSelector: resultSelector
|
||||
)
|
||||
}
|
||||
|
||||
extension Driver {
|
||||
/**
|
||||
Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
|
||||
|
|
@ -144,16 +104,6 @@ extension Driver {
|
|||
|
||||
// 4
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Driver.zip`")
|
||||
public func zip<O1: DriverConvertibleType, O2: DriverConvertibleType, O3: DriverConvertibleType, O4: DriverConvertibleType, R>
|
||||
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, resultSelector: (O1.E, O2.E, O3.E, O4.E) throws -> R)
|
||||
-> Driver<R> {
|
||||
return Driver.zip(
|
||||
source1, source2, source3, source4,
|
||||
resultSelector: resultSelector
|
||||
)
|
||||
}
|
||||
|
||||
extension Driver {
|
||||
/**
|
||||
Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.
|
||||
|
|
@ -174,16 +124,6 @@ extension Driver {
|
|||
}
|
||||
}
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Driver.combineLatest`")
|
||||
public func combineLatest<O1: DriverConvertibleType, O2: DriverConvertibleType, O3: DriverConvertibleType, O4: DriverConvertibleType, R>
|
||||
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, resultSelector: (O1.E, O2.E, O3.E, O4.E) throws -> R)
|
||||
-> Driver<R> {
|
||||
return Driver.combineLatest(
|
||||
source1, source2, source3, source4,
|
||||
resultSelector: resultSelector
|
||||
)
|
||||
}
|
||||
|
||||
extension Driver {
|
||||
/**
|
||||
Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
|
||||
|
|
@ -208,16 +148,6 @@ extension Driver {
|
|||
|
||||
// 5
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Driver.zip`")
|
||||
public func zip<O1: DriverConvertibleType, O2: DriverConvertibleType, O3: DriverConvertibleType, O4: DriverConvertibleType, O5: DriverConvertibleType, R>
|
||||
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E) throws -> R)
|
||||
-> Driver<R> {
|
||||
return Driver.zip(
|
||||
source1, source2, source3, source4, source5,
|
||||
resultSelector: resultSelector
|
||||
)
|
||||
}
|
||||
|
||||
extension Driver {
|
||||
/**
|
||||
Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.
|
||||
|
|
@ -238,16 +168,6 @@ extension Driver {
|
|||
}
|
||||
}
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Driver.combineLatest`")
|
||||
public func combineLatest<O1: DriverConvertibleType, O2: DriverConvertibleType, O3: DriverConvertibleType, O4: DriverConvertibleType, O5: DriverConvertibleType, R>
|
||||
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E) throws -> R)
|
||||
-> Driver<R> {
|
||||
return Driver.combineLatest(
|
||||
source1, source2, source3, source4, source5,
|
||||
resultSelector: resultSelector
|
||||
)
|
||||
}
|
||||
|
||||
extension Driver {
|
||||
/**
|
||||
Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
|
||||
|
|
@ -272,16 +192,6 @@ extension Driver {
|
|||
|
||||
// 6
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Driver.zip`")
|
||||
public func zip<O1: DriverConvertibleType, O2: DriverConvertibleType, O3: DriverConvertibleType, O4: DriverConvertibleType, O5: DriverConvertibleType, O6: DriverConvertibleType, R>
|
||||
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, _ source6: O6, resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E, O6.E) throws -> R)
|
||||
-> Driver<R> {
|
||||
return Driver.zip(
|
||||
source1, source2, source3, source4, source5, source6,
|
||||
resultSelector: resultSelector
|
||||
)
|
||||
}
|
||||
|
||||
extension Driver {
|
||||
/**
|
||||
Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.
|
||||
|
|
@ -302,16 +212,6 @@ extension Driver {
|
|||
}
|
||||
}
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Driver.combineLatest`")
|
||||
public func combineLatest<O1: DriverConvertibleType, O2: DriverConvertibleType, O3: DriverConvertibleType, O4: DriverConvertibleType, O5: DriverConvertibleType, O6: DriverConvertibleType, R>
|
||||
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, _ source6: O6, resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E, O6.E) throws -> R)
|
||||
-> Driver<R> {
|
||||
return Driver.combineLatest(
|
||||
source1, source2, source3, source4, source5, source6,
|
||||
resultSelector: resultSelector
|
||||
)
|
||||
}
|
||||
|
||||
extension Driver {
|
||||
/**
|
||||
Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
|
||||
|
|
@ -336,16 +236,6 @@ extension Driver {
|
|||
|
||||
// 7
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Driver.zip`")
|
||||
public func zip<O1: DriverConvertibleType, O2: DriverConvertibleType, O3: DriverConvertibleType, O4: DriverConvertibleType, O5: DriverConvertibleType, O6: DriverConvertibleType, O7: DriverConvertibleType, R>
|
||||
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, _ source6: O6, _ source7: O7, resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E, O6.E, O7.E) throws -> R)
|
||||
-> Driver<R> {
|
||||
return Driver.zip(
|
||||
source1, source2, source3, source4, source5, source6, source7,
|
||||
resultSelector: resultSelector
|
||||
)
|
||||
}
|
||||
|
||||
extension Driver {
|
||||
/**
|
||||
Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.
|
||||
|
|
@ -366,16 +256,6 @@ extension Driver {
|
|||
}
|
||||
}
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Driver.combineLatest`")
|
||||
public func combineLatest<O1: DriverConvertibleType, O2: DriverConvertibleType, O3: DriverConvertibleType, O4: DriverConvertibleType, O5: DriverConvertibleType, O6: DriverConvertibleType, O7: DriverConvertibleType, R>
|
||||
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, _ source6: O6, _ source7: O7, resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E, O6.E, O7.E) throws -> R)
|
||||
-> Driver<R> {
|
||||
return Driver.combineLatest(
|
||||
source1, source2, source3, source4, source5, source6, source7,
|
||||
resultSelector: resultSelector
|
||||
)
|
||||
}
|
||||
|
||||
extension Driver {
|
||||
/**
|
||||
Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
|
||||
|
|
@ -400,16 +280,6 @@ extension Driver {
|
|||
|
||||
// 8
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Driver.zip`")
|
||||
public func zip<O1: DriverConvertibleType, O2: DriverConvertibleType, O3: DriverConvertibleType, O4: DriverConvertibleType, O5: DriverConvertibleType, O6: DriverConvertibleType, O7: DriverConvertibleType, O8: DriverConvertibleType, R>
|
||||
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, _ source6: O6, _ source7: O7, _ source8: O8, resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E, O6.E, O7.E, O8.E) throws -> R)
|
||||
-> Driver<R> {
|
||||
return Driver.zip(
|
||||
source1, source2, source3, source4, source5, source6, source7, source8,
|
||||
resultSelector: resultSelector
|
||||
)
|
||||
}
|
||||
|
||||
extension Driver {
|
||||
/**
|
||||
Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.
|
||||
|
|
@ -430,16 +300,6 @@ extension Driver {
|
|||
}
|
||||
}
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Driver.combineLatest`")
|
||||
public func combineLatest<O1: DriverConvertibleType, O2: DriverConvertibleType, O3: DriverConvertibleType, O4: DriverConvertibleType, O5: DriverConvertibleType, O6: DriverConvertibleType, O7: DriverConvertibleType, O8: DriverConvertibleType, R>
|
||||
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, _ source6: O6, _ source7: O7, _ source8: O8, resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E, O6.E, O7.E, O8.E) throws -> R)
|
||||
-> Driver<R> {
|
||||
return Driver.combineLatest(
|
||||
source1, source2, source3, source4, source5, source6, source7, source8,
|
||||
resultSelector: resultSelector
|
||||
)
|
||||
}
|
||||
|
||||
extension Driver {
|
||||
/**
|
||||
Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
|
||||
|
|
|
|||
|
|
@ -15,16 +15,6 @@ import RxSwift
|
|||
|
||||
// <%= i %>
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Driver.zip`")
|
||||
public func zip<<%= (Array(1...i).map { "O\($0): DriverConvertibleType" }).joinWithSeparator(", ") %>, R>
|
||||
(<%= (Array(1...i).map { "source\($0): O\($0)" }).joinWithSeparator(", _ ") %>, resultSelector: (<%= (Array(1...i).map { "O\($0).E" }).joinWithSeparator(", ") %>) throws -> R)
|
||||
-> Driver<R> {
|
||||
return Driver.zip(
|
||||
<%= (Array(1...i).map { "source\($0)" }).joinWithSeparator(", ") %>,
|
||||
resultSelector: resultSelector
|
||||
)
|
||||
}
|
||||
|
||||
extension Driver {
|
||||
/**
|
||||
Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.
|
||||
|
|
@ -45,16 +35,6 @@ extension Driver {
|
|||
}
|
||||
}
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Driver.combineLatest`")
|
||||
public func combineLatest<<%= (Array(1...i).map { "O\($0): DriverConvertibleType" }).joinWithSeparator(", ") %>, R>
|
||||
(<%= (Array(1...i).map { "source\($0): O\($0)" }).joinWithSeparator(", _ ") %>, resultSelector: (<%= (Array(1...i).map { "O\($0).E" }).joinWithSeparator(", ") %>) throws -> R)
|
||||
-> Driver<R> {
|
||||
return Driver.combineLatest(
|
||||
<%= (Array(1...i).map { "source\($0)" }).joinWithSeparator(", ") %>,
|
||||
resultSelector: resultSelector
|
||||
)
|
||||
}
|
||||
|
||||
extension Driver {
|
||||
/**
|
||||
Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
|
||||
|
|
|
|||
|
|
@ -284,15 +284,6 @@ extension DriverConvertibleType {
|
|||
return Driver(source)
|
||||
}
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use version without scheduler parameter.")
|
||||
public func throttle(dueTime: RxTimeInterval, _ scheduler: SchedulerType)
|
||||
-> Driver<E> {
|
||||
let source = self.asObservable()
|
||||
.throttle(dueTime, scheduler: scheduler)
|
||||
|
||||
return Driver(source)
|
||||
}
|
||||
|
||||
/**
|
||||
Ignores elements from an observable sequence which are followed by another element within a specified relative time duration, using the specified scheduler to run throttling timers.
|
||||
|
||||
|
|
@ -309,15 +300,6 @@ extension DriverConvertibleType {
|
|||
|
||||
return Driver(source)
|
||||
}
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use version without scheduler parameter.")
|
||||
public func debounce(dueTime: RxTimeInterval, _ scheduler: SchedulerType)
|
||||
-> Driver<E> {
|
||||
let source = self.asObservable()
|
||||
.debounce(dueTime, scheduler: scheduler)
|
||||
|
||||
return Driver(source)
|
||||
}
|
||||
}
|
||||
|
||||
// scan
|
||||
|
|
@ -350,7 +332,7 @@ extension SequenceType where Generator.Element : DriverConvertibleType {
|
|||
@warn_unused_result(message="http://git.io/rxs.uo")
|
||||
public func concat()
|
||||
-> Driver<Generator.Element.E> {
|
||||
let source: Observable<Generator.Element.E> = self.lazy.map { $0.asDriver() }.concat()
|
||||
let source = self.lazy.map { $0.asDriver().asObservable() }.concat()
|
||||
return Driver<Generator.Element.E>(source)
|
||||
}
|
||||
}
|
||||
|
|
@ -365,7 +347,7 @@ extension CollectionType where Generator.Element : DriverConvertibleType {
|
|||
@warn_unused_result(message="http://git.io/rxs.uo")
|
||||
public func concat()
|
||||
-> Driver<Generator.Element.E> {
|
||||
let source: Observable<Generator.Element.E> = self.map { $0.asDriver() }.concat()
|
||||
let source = self.map { $0.asDriver().asObservable() }.concat()
|
||||
return Driver<Generator.Element.E>(source)
|
||||
}
|
||||
}
|
||||
|
|
@ -380,7 +362,7 @@ extension CollectionType where Generator.Element : DriverConvertibleType {
|
|||
*/
|
||||
@warn_unused_result(message="http://git.io/rxs.uo")
|
||||
public func zip<R>(resultSelector: [Generator.Element.E] throws -> R) -> Driver<R> {
|
||||
let source: Observable<R> = self.map { $0.asDriver() }.zip(resultSelector)
|
||||
let source = self.map { $0.asDriver().asObservable() }.zip(resultSelector)
|
||||
return Driver<R>(source)
|
||||
}
|
||||
}
|
||||
|
|
@ -395,7 +377,7 @@ extension CollectionType where Generator.Element : DriverConvertibleType {
|
|||
*/
|
||||
@warn_unused_result(message="http://git.io/rxs.uo")
|
||||
public func combineLatest<R>(resultSelector: [Generator.Element.E] throws -> R) -> Driver<R> {
|
||||
let source : Observable<R> = self.map { $0.asDriver() }.combineLatest(resultSelector)
|
||||
let source = self.map { $0.asDriver().asObservable() }.combineLatest(resultSelector)
|
||||
return Driver<R>(source)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -143,37 +143,6 @@ extension Driver {
|
|||
|
||||
}
|
||||
|
||||
public struct Drive {
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Driver.empty` (`r` at the end).")
|
||||
public static func empty<E>() -> Driver<E> {
|
||||
return Driver(raw: Observable.empty().subscribeOn(driverSubscribeOnScheduler))
|
||||
}
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Driver.never` (`r` at the end).")
|
||||
public static func never<E>() -> Driver<E> {
|
||||
return Driver(raw: Observable.never().subscribeOn(driverSubscribeOnScheduler))
|
||||
}
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Driver.just` (`r` at the end).")
|
||||
public static func just<E>(element: E) -> Driver<E> {
|
||||
return Driver(raw: Observable.just(element).subscribeOn(driverSubscribeOnScheduler))
|
||||
}
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Driver.deferred` (`r` at the end).")
|
||||
public static func deferred<E>(observableFactory: () -> Driver<E>)
|
||||
-> Driver<E> {
|
||||
return Driver(Observable.deferred { observableFactory().asObservable() })
|
||||
}
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Driver.of` (`r` at the end).")
|
||||
public static func sequenceOf<E>(elements: E ...) -> Driver<E> {
|
||||
let source = elements.toObservable().subscribeOn(driverSubscribeOnScheduler)
|
||||
return Driver(raw: source)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
This method can be used in unit tests to ensure that driver is using mock schedulers instead of
|
||||
maind schedulers.
|
||||
|
|
|
|||
|
|
@ -193,11 +193,6 @@ public func proxyForObject<P: DelegateProxyType>(type: P.Type, _ object: AnyObje
|
|||
return proxy
|
||||
}
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use version that takes type as first argument.")
|
||||
public func proxyForObject<P: DelegateProxyType>(object: AnyObject) -> P {
|
||||
return proxyForObject(P.self, object)
|
||||
}
|
||||
|
||||
func installDelegate<P: DelegateProxyType>(proxy: P, delegate: AnyObject, retainDelegate: Bool, onProxyForObject object: AnyObject) -> Disposable {
|
||||
weak var weakDelegate: AnyObject? = delegate
|
||||
|
||||
|
|
|
|||
|
|
@ -1,97 +0,0 @@
|
|||
//
|
||||
// NSObject+Rx+CoreGraphics.swift
|
||||
// RxCocoa
|
||||
//
|
||||
// Created by Krunoslav Zaher on 7/30/15.
|
||||
// Copyright © 2015 Krunoslav Zaher. All rights reserved.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
#if !RX_NO_MODULE
|
||||
import RxSwift
|
||||
#endif
|
||||
import CoreGraphics
|
||||
|
||||
// MARK: Deprecated, CGPoint, CGRect, CGSize are now KVORepresentable
|
||||
|
||||
extension NSObject {
|
||||
/**
|
||||
Specialization of generic `rx_observe` method.
|
||||
|
||||
For more information take a look at `rx_observe` method.
|
||||
*/
|
||||
@warn_unused_result(message="http://git.io/rxs.uo")
|
||||
@available(*, deprecated=2.0.0, message="Please use version that takes type as first argument.")
|
||||
public func rx_observe(keyPath: String, options: NSKeyValueObservingOptions = [.New, .Initial], retainSelf: Bool = true) -> Observable<CGRect?> {
|
||||
return rx_observe(NSValue.self, keyPath, options: options, retainSelf: retainSelf)
|
||||
.map(CGRect.init)
|
||||
}
|
||||
|
||||
/**
|
||||
Specialization of generic `rx_observe` method.
|
||||
|
||||
For more information take a look at `rx_observe` method.
|
||||
*/
|
||||
@warn_unused_result(message="http://git.io/rxs.uo")
|
||||
@available(*, deprecated=2.0.0, message="Please use version that takes type as first argument.")
|
||||
public func rx_observe(keyPath: String, options: NSKeyValueObservingOptions = [.New, .Initial], retainSelf: Bool = true) -> Observable<CGSize?> {
|
||||
return rx_observe(NSValue.self, keyPath, options: options, retainSelf: retainSelf)
|
||||
.map(CGSize.init)
|
||||
}
|
||||
|
||||
/**
|
||||
Specialization of generic `rx_observe` method.
|
||||
|
||||
For more information take a look at `rx_observe` method.
|
||||
*/
|
||||
@warn_unused_result(message="http://git.io/rxs.uo")
|
||||
@available(*, deprecated=2.0.0, message="Please use version that takes type as first argument.")
|
||||
public func rx_observe(keyPath: String, options: NSKeyValueObservingOptions = [.New, .Initial], retainSelf: Bool = true) -> Observable<CGPoint?> {
|
||||
return rx_observe(NSValue.self, keyPath, options: options, retainSelf: retainSelf)
|
||||
.map(CGPoint.init)
|
||||
}
|
||||
}
|
||||
|
||||
#if !DISABLE_SWIZZLING
|
||||
|
||||
// rx_observeWeakly + CoreGraphics
|
||||
extension NSObject {
|
||||
|
||||
/**
|
||||
Specialization of generic `rx_observeWeakly` method.
|
||||
|
||||
For more information take a look at `rx_observeWeakly` method.
|
||||
*/
|
||||
@warn_unused_result(message="http://git.io/rxs.uo")
|
||||
@available(*, deprecated=2.0.0, message="Please use version that takes type as first argument.")
|
||||
public func rx_observeWeakly(keyPath: String, options: NSKeyValueObservingOptions = [.New, .Initial]) -> Observable<CGRect?> {
|
||||
return rx_observeWeakly(NSValue.self, keyPath, options: options)
|
||||
.map(CGRect.init)
|
||||
}
|
||||
|
||||
/**
|
||||
Specialization of generic `rx_observeWeakly` method.
|
||||
|
||||
For more information take a look at `rx_observeWeakly` method.
|
||||
*/
|
||||
@warn_unused_result(message="http://git.io/rxs.uo")
|
||||
@available(*, deprecated=2.0.0, message="Please use version that takes type as first argument.")
|
||||
public func rx_observeWeakly(keyPath: String, options: NSKeyValueObservingOptions = [.New, .Initial]) -> Observable<CGSize?> {
|
||||
return rx_observeWeakly(NSValue.self, keyPath, options: options)
|
||||
.map(CGSize.init)
|
||||
}
|
||||
|
||||
/**
|
||||
Specialization of generic `rx_observeWeakly` method.
|
||||
|
||||
For more information take a look at `rx_observeWeakly` method.
|
||||
*/
|
||||
@warn_unused_result(message="http://git.io/rxs.uo")
|
||||
@available(*, deprecated=2.0.0, message="Please use version that takes type as first argument.")
|
||||
public func rx_observeWeakly(keyPath: String, options: NSKeyValueObservingOptions = [.New, .Initial]) -> Observable<CGPoint?> {
|
||||
return rx_observeWeakly(NSValue.self, keyPath, options: options)
|
||||
.map(CGPoint.init)
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
@ -62,31 +62,6 @@ extension NSObject {
|
|||
public func rx_observe<E>(type: E.Type, _ keyPath: String, options: NSKeyValueObservingOptions = [.New, .Initial], retainSelf: Bool = true) -> Observable<E?> {
|
||||
return KVOObservable(object: self, keyPath: keyPath, options: options, retainTarget: retainSelf).asObservable()
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
Observes values on `keyPath` starting from `self` with `options` and retains `self` if `retainSelf` is set.
|
||||
|
||||
`rx_observe` is just a simple and performant wrapper around KVO mechanism.
|
||||
|
||||
* it can be used to observe paths starting from `self` or from ancestors in ownership graph (`retainSelf = false`)
|
||||
* it can be used to observe paths starting from descendants in ownership graph (`retainSelf = true`)
|
||||
* the paths have to consist only of `strong` properties, otherwise you are risking crashing the system by not unregistering KVO observer before dealloc.
|
||||
|
||||
If support for weak properties is needed or observing arbitrary or unknown relationships in the
|
||||
ownership tree, `rx_observeWeakly` is the preferred option.
|
||||
|
||||
- parameter keyPath: Key path of property names to observe.
|
||||
- parameter options: KVO mechanism notification options.
|
||||
- parameter retainSelf: Retains self during observation if set `true`.
|
||||
- returns: Observable sequence of objects on `keyPath`.
|
||||
*/
|
||||
@warn_unused_result(message="http://git.io/rxs.uo")
|
||||
@available(*, deprecated=2.0.0, message="Please use version that takes type as first argument `rx_observe<Element>(type: Element.Type, _ keyPath: String, options: NSKeyValueObservingOptions = [.New, .Initial], retainSelf: Bool = true) -> Observable<Element?>`")
|
||||
public func rx_observe<Element>(keyPath: String, options: NSKeyValueObservingOptions = [.New, .Initial], retainSelf: Bool = true) -> Observable<Element?> {
|
||||
return KVOObservable(object: self, keyPath: keyPath, options: options, retainTarget: retainSelf).asObservable()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#if !DISABLE_SWIZZLING
|
||||
|
|
@ -113,29 +88,6 @@ extension NSObject {
|
|||
return n as? E
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
Observes values on `keyPath` starting from `self` with `options` and doesn't retain `self`.
|
||||
|
||||
It can be used in all cases where `rx_observe` can be used and additionally
|
||||
|
||||
* because it won't retain observed target, it can be used to observe arbitrary object graph whose ownership relation is unknown
|
||||
* it can be used to observe `weak` properties
|
||||
|
||||
**Since it needs to intercept object deallocation process it needs to perform swizzling of `dealloc` method on observed object.**
|
||||
|
||||
- parameter keyPath: Key path of property names to observe.
|
||||
- parameter options: KVO mechanism notification options.
|
||||
- returns: Observable sequence of objects on `keyPath`.
|
||||
*/
|
||||
@available(*, deprecated=2.0.0, message="Please use version that takes type as first argument `rx_observeWeakly<Element>(type: Element.Type, keyPath: String, options: NSKeyValueObservingOptions = [.New, .Initial]) -> Observable<Element?>`")
|
||||
@warn_unused_result(message="http://git.io/rxs.uo")
|
||||
public func rx_observeWeakly<Element>(keyPath: String, options: NSKeyValueObservingOptions = [.New, .Initial]) -> Observable<Element?> {
|
||||
return observeWeaklyKeyPathFor(self, keyPath: keyPath, options: options)
|
||||
.map { n in
|
||||
return n as? Element
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -18,6 +18,6 @@ extension NSButton {
|
|||
Reactive wrapper for control event.
|
||||
*/
|
||||
public var rx_tap: ControlEvent<Void> {
|
||||
return rx_controlEvents
|
||||
return rx_controlEvent
|
||||
}
|
||||
}
|
||||
|
|
@ -17,11 +17,6 @@ var rx_control_events_key: UInt8 = 0
|
|||
|
||||
extension NSControl {
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use rx_controlEvent.")
|
||||
public var rx_controlEvents: ControlEvent<Void> {
|
||||
return rx_controlEvent
|
||||
}
|
||||
|
||||
/**
|
||||
Reactive wrapper for control event.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -1,32 +0,0 @@
|
|||
//
|
||||
// RxActionSheetDelegateProxy.swift
|
||||
// RxCocoa
|
||||
//
|
||||
// Created by Carlos García on 8/7/15.
|
||||
// Copyright © 2015 Krunoslav Zaher. All rights reserved.
|
||||
//
|
||||
|
||||
#if os(iOS)
|
||||
|
||||
import UIKit
|
||||
#if !RX_NO_MODULE
|
||||
import RxSwift
|
||||
#endif
|
||||
|
||||
@available(*, deprecated=2.0.0, message="This class is deprecated by Apple. Removing official support.")
|
||||
class RxActionSheetDelegateProxy : DelegateProxy
|
||||
, UIActionSheetDelegate
|
||||
, DelegateProxyType {
|
||||
|
||||
class func currentDelegateFor(object: AnyObject) -> AnyObject? {
|
||||
let actionSheet: UIActionSheet = castOrFatalError(object)
|
||||
return actionSheet.delegate
|
||||
}
|
||||
|
||||
class func setCurrentDelegate(delegate: AnyObject?, toObject object: AnyObject) {
|
||||
let actionSheet: UIActionSheet = castOrFatalError(object)
|
||||
actionSheet.delegate = castOptionalOrFatalError(delegate)
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
//
|
||||
// RxAlertViewDelegateProxy.swift
|
||||
// RxCocoa
|
||||
//
|
||||
// Created by Carlos García on 8/7/15.
|
||||
// Copyright © 2015 Krunoslav Zaher. All rights reserved.
|
||||
//
|
||||
|
||||
#if os(iOS)
|
||||
|
||||
import UIKit
|
||||
#if !RX_NO_MODULE
|
||||
import RxSwift
|
||||
#endif
|
||||
|
||||
@available(*, deprecated=2.0.0, message="This class is deprecated by Apple. Removing official support.")
|
||||
class RxAlertViewDelegateProxy : DelegateProxy
|
||||
, UIAlertViewDelegate
|
||||
, DelegateProxyType {
|
||||
|
||||
class func currentDelegateFor(object: AnyObject) -> AnyObject? {
|
||||
let alertView: UIAlertView = castOrFatalError(object)
|
||||
return alertView.delegate
|
||||
}
|
||||
|
||||
class func setCurrentDelegate(delegate: AnyObject?, toObject object: AnyObject) {
|
||||
let alertView: UIAlertView = castOrFatalError(object)
|
||||
alertView.delegate = castOptionalOrFatalError(delegate)
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
|
@ -1,69 +0,0 @@
|
|||
//
|
||||
// UIActionSheet+Rx.swift
|
||||
// RxCocoa
|
||||
//
|
||||
// Created by Carlos García on 8/7/15.
|
||||
// Copyright © 2015 Krunoslav Zaher. All rights reserved.
|
||||
//
|
||||
|
||||
#if os(iOS)
|
||||
|
||||
import UIKit
|
||||
#if !RX_NO_MODULE
|
||||
import RxSwift
|
||||
#endif
|
||||
|
||||
|
||||
extension UIActionSheet {
|
||||
|
||||
/**
|
||||
Reactive wrapper for `delegate`.
|
||||
|
||||
For more information take a look at `DelegateProxyType` protocol documentation.
|
||||
*/
|
||||
@available(*, deprecated=2.0.0, message="This class is deprecated by Apple. Removing official support.")
|
||||
public var rx_delegate: DelegateProxy {
|
||||
return proxyForObject(RxActionSheetDelegateProxy.self, self)
|
||||
}
|
||||
|
||||
/**
|
||||
Reactive wrapper for `delegate` message.
|
||||
*/
|
||||
@available(*, deprecated=2.0.0, message="This class is deprecated by Apple. Removing official support.")
|
||||
public var rx_clickedButtonAtIndex: ControlEvent<Int> {
|
||||
let source = rx_delegate.observe("actionSheet:clickedButtonAtIndex:")
|
||||
.map { a in
|
||||
return a[1] as! Int
|
||||
}
|
||||
|
||||
return ControlEvent(events: source)
|
||||
}
|
||||
|
||||
/**
|
||||
Reactive wrapper for `delegate` message.
|
||||
*/
|
||||
@available(*, deprecated=2.0.0, message="This class is deprecated by Apple. Removing official support.")
|
||||
public var rx_willDismissWithButtonIndex: ControlEvent<Int> {
|
||||
let source = rx_delegate.observe("actionSheet:willDismissWithButtonIndex:")
|
||||
.map { a in
|
||||
return a[1] as! Int
|
||||
}
|
||||
|
||||
return ControlEvent(events: source)
|
||||
}
|
||||
|
||||
/**
|
||||
Reactive wrapper for `delegate` message.
|
||||
*/
|
||||
@available(*, deprecated=2.0.0, message="This class is deprecated by Apple. Removing official support.")
|
||||
public var rx_didDismissWithButtonIndex: ControlEvent<Int> {
|
||||
let source = rx_delegate.observe("actionSheet:didDismissWithButtonIndex:")
|
||||
.map { a in
|
||||
return a[1] as! Int
|
||||
}
|
||||
|
||||
return ControlEvent(events: source)
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
@ -1,68 +0,0 @@
|
|||
//
|
||||
// UIAlertView+Rx.swift
|
||||
// RxCocoa
|
||||
//
|
||||
// Created by Carlos García on 8/7/15.
|
||||
// Copyright © 2015 Krunoslav Zaher. All rights reserved.
|
||||
//
|
||||
|
||||
#if os(iOS)
|
||||
|
||||
import UIKit
|
||||
#if !RX_NO_MODULE
|
||||
import RxSwift
|
||||
#endif
|
||||
|
||||
extension UIAlertView {
|
||||
|
||||
/**
|
||||
Reactive wrapper for `delegate`.
|
||||
|
||||
For more information take a look at `DelegateProxyType` protocol documentation.
|
||||
*/
|
||||
@available(*, deprecated=2.0.0, message="This class is deprecated by Apple. Removing official support.")
|
||||
public var rx_delegate: DelegateProxy {
|
||||
return proxyForObject(RxAlertViewDelegateProxy.self, self)
|
||||
}
|
||||
|
||||
/**
|
||||
Reactive wrapper for `delegate` message.
|
||||
*/
|
||||
@available(*, deprecated=2.0.0, message="This class is deprecated by Apple. Removing official support.")
|
||||
public var rx_clickedButtonAtIndex: ControlEvent<Int> {
|
||||
let source = rx_delegate.observe("alertView:clickedButtonAtIndex:")
|
||||
.map { a in
|
||||
return a[1] as! Int
|
||||
}
|
||||
|
||||
return ControlEvent(events: source)
|
||||
}
|
||||
|
||||
/**
|
||||
Reactive wrapper for `delegate` message.
|
||||
*/
|
||||
@available(*, deprecated=2.0.0, message="This class is deprecated by Apple. Removing official support.")
|
||||
public var rx_willDismissWithButtonIndex: ControlEvent<Int> {
|
||||
let source = rx_delegate.observe("alertView:willDismissWithButtonIndex:")
|
||||
.map { a in
|
||||
return a[1] as! Int
|
||||
}
|
||||
|
||||
return ControlEvent(events: source)
|
||||
}
|
||||
|
||||
/**
|
||||
Reactive wrapper for `delegate` message.
|
||||
*/
|
||||
@available(*, deprecated=2.0.0, message="This class is deprecated by Apple. Removing official support.")
|
||||
public var rx_didDismissWithButtonIndex: ControlEvent<Int> {
|
||||
let source = rx_delegate.observe("alertView:didDismissWithButtonIndex:")
|
||||
.map { a in
|
||||
return a[1] as! Int
|
||||
}
|
||||
|
||||
return ControlEvent(events: source)
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
@ -166,11 +166,6 @@ extension UICollectionView {
|
|||
|
||||
return ControlEvent(events: source)
|
||||
}
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use version that takes type as first argument.")
|
||||
public func rx_modelSelected<T>() -> ControlEvent<T> {
|
||||
return rx_modelSelected(T.self)
|
||||
}
|
||||
|
||||
/**
|
||||
Syncronous helper method for retrieving a model at indexPath through a reactive data source
|
||||
|
|
|
|||
|
|
@ -62,11 +62,6 @@ extension UIControl {
|
|||
return ControlEvent(events: source)
|
||||
}
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use rx_controlEvent.")
|
||||
public func rx_controlEvents(controlEvents: UIControlEvents) -> ControlEvent<Void> {
|
||||
return rx_controlEvent(controlEvents)
|
||||
}
|
||||
|
||||
func rx_value<T: Equatable>(getter getter: () -> T, setter: T -> Void) -> ControlProperty<T> {
|
||||
let source: Observable<T> = Observable.create { [weak self] observer in
|
||||
guard let control = self else {
|
||||
|
|
|
|||
|
|
@ -212,11 +212,6 @@ extension UITableView {
|
|||
}
|
||||
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use version that takes type as first argument.")
|
||||
public func rx_modelSelected<T>() -> ControlEvent<T> {
|
||||
return rx_modelSelected(T.self)
|
||||
}
|
||||
|
||||
/**
|
||||
Synchronous helper method for retrieving a model at indexPath through a reactive data source
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -116,6 +116,9 @@
|
|||
C83D73E01C1DBC2A003DC470 /* InvocableType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C83D73DB1C1DBC2A003DC470 /* InvocableType.swift */; };
|
||||
C83D73E11C1DBC2A003DC470 /* ScheduledItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = C83D73DC1C1DBC2A003DC470 /* ScheduledItem.swift */; };
|
||||
C83D73E21C1DBC2A003DC470 /* ScheduledItemType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C83D73DD1C1DBC2A003DC470 /* ScheduledItemType.swift */; };
|
||||
C84015751C34353D009D2E77 /* DispatchQueueSchedulerQOS.swift in Sources */ = {isa = PBXBuildFile; fileRef = C84015741C34353D009D2E77 /* DispatchQueueSchedulerQOS.swift */; };
|
||||
C84015881C343595009D2E77 /* Platform.Darwin.swift in Sources */ = {isa = PBXBuildFile; fileRef = C84015861C343595009D2E77 /* Platform.Darwin.swift */; };
|
||||
C84015891C343595009D2E77 /* Platform.Linux.swift in Sources */ = {isa = PBXBuildFile; fileRef = C84015871C343595009D2E77 /* Platform.Linux.swift */; };
|
||||
C843A08E1C1CE39900CBA4BD /* GitHubSearchRepositoriesAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = C843A08C1C1CE39900CBA4BD /* GitHubSearchRepositoriesAPI.swift */; };
|
||||
C843A08F1C1CE39900CBA4BD /* GitHubSearchRepositoriesAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = C843A08C1C1CE39900CBA4BD /* GitHubSearchRepositoriesAPI.swift */; };
|
||||
C843A0901C1CE39900CBA4BD /* GitHubSearchRepositoriesViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C843A08D1C1CE39900CBA4BD /* GitHubSearchRepositoriesViewController.swift */; };
|
||||
|
|
@ -213,7 +216,6 @@
|
|||
C89464AC1BC6C2B00055219D /* NAryDisposable.tt in Resources */ = {isa = PBXBuildFile; fileRef = C89464391BC6C2B00055219D /* NAryDisposable.tt */; };
|
||||
C89464AD1BC6C2B00055219D /* NopDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C894643A1BC6C2B00055219D /* NopDisposable.swift */; };
|
||||
C89464AE1BC6C2B00055219D /* ScheduledDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C894643B1BC6C2B00055219D /* ScheduledDisposable.swift */; };
|
||||
C89464AF1BC6C2B00055219D /* ScopedDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C894643C1BC6C2B00055219D /* ScopedDisposable.swift */; };
|
||||
C89464B01BC6C2B00055219D /* SerialDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C894643D1BC6C2B00055219D /* SerialDisposable.swift */; };
|
||||
C89464B11BC6C2B00055219D /* SingleAssignmentDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C894643E1BC6C2B00055219D /* SingleAssignmentDisposable.swift */; };
|
||||
C89464B21BC6C2B00055219D /* StableCompositeDisposable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C894643F1BC6C2B00055219D /* StableCompositeDisposable.swift */; };
|
||||
|
|
@ -285,7 +287,6 @@
|
|||
C89464F61BC6C2B00055219D /* AnonymousObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C89464861BC6C2B00055219D /* AnonymousObserver.swift */; };
|
||||
C89464F71BC6C2B00055219D /* ObserverBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = C89464871BC6C2B00055219D /* ObserverBase.swift */; };
|
||||
C89464F81BC6C2B00055219D /* TailRecursiveSink.swift in Sources */ = {isa = PBXBuildFile; fileRef = C89464881BC6C2B00055219D /* TailRecursiveSink.swift */; };
|
||||
C89464F91BC6C2B00055219D /* ObserverType+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C89464891BC6C2B00055219D /* ObserverType+Extensions.swift */; };
|
||||
C89464FA1BC6C2B00055219D /* ObserverType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C894648A1BC6C2B00055219D /* ObserverType.swift */; };
|
||||
C89464FB1BC6C2B00055219D /* Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C894648B1BC6C2B00055219D /* Rx.swift */; };
|
||||
C89464FC1BC6C2B00055219D /* RxMutableBox.swift in Sources */ = {isa = PBXBuildFile; fileRef = C894648C1BC6C2B00055219D /* RxMutableBox.swift */; };
|
||||
|
|
@ -309,7 +310,6 @@
|
|||
C89465751BC6C2BC0055219D /* KVOObservable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C89465291BC6C2BC0055219D /* KVOObservable.swift */; };
|
||||
C89465761BC6C2BC0055219D /* KVOObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C894652A1BC6C2BC0055219D /* KVOObserver.swift */; };
|
||||
C89465771BC6C2BC0055219D /* NSNotificationCenter+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C894652B1BC6C2BC0055219D /* NSNotificationCenter+Rx.swift */; };
|
||||
C89465781BC6C2BC0055219D /* NSObject+Rx+CoreGraphics.swift in Sources */ = {isa = PBXBuildFile; fileRef = C894652C1BC6C2BC0055219D /* NSObject+Rx+CoreGraphics.swift */; };
|
||||
C89465791BC6C2BC0055219D /* NSObject+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C894652D1BC6C2BC0055219D /* NSObject+Rx.swift */; };
|
||||
C894657A1BC6C2BC0055219D /* NSURLSession+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C894652E1BC6C2BC0055219D /* NSURLSession+Rx.swift */; };
|
||||
C894657B1BC6C2BC0055219D /* RxCLLocationManagerDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C89465301BC6C2BC0055219D /* RxCLLocationManagerDelegateProxy.swift */; };
|
||||
|
|
@ -321,8 +321,6 @@
|
|||
C89465811BC6C2BC0055219D /* ItemEvents.swift in Sources */ = {isa = PBXBuildFile; fileRef = C89465391BC6C2BC0055219D /* ItemEvents.swift */; };
|
||||
C89465821BC6C2BC0055219D /* RxCollectionViewDataSourceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C894653B1BC6C2BC0055219D /* RxCollectionViewDataSourceType.swift */; };
|
||||
C89465831BC6C2BC0055219D /* RxTableViewDataSourceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C894653C1BC6C2BC0055219D /* RxTableViewDataSourceType.swift */; };
|
||||
C89465841BC6C2BC0055219D /* RxActionSheetDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C894653E1BC6C2BC0055219D /* RxActionSheetDelegateProxy.swift */; };
|
||||
C89465851BC6C2BC0055219D /* RxAlertViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C894653F1BC6C2BC0055219D /* RxAlertViewDelegateProxy.swift */; };
|
||||
C89465861BC6C2BC0055219D /* RxCollectionViewDataSourceProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C89465401BC6C2BC0055219D /* RxCollectionViewDataSourceProxy.swift */; };
|
||||
C89465871BC6C2BC0055219D /* RxCollectionViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C89465411BC6C2BC0055219D /* RxCollectionViewDelegateProxy.swift */; };
|
||||
C89465881BC6C2BC0055219D /* RxScrollViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C89465421BC6C2BC0055219D /* RxScrollViewDelegateProxy.swift */; };
|
||||
|
|
@ -330,8 +328,6 @@
|
|||
C894658A1BC6C2BC0055219D /* RxTableViewDataSourceProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C89465441BC6C2BC0055219D /* RxTableViewDataSourceProxy.swift */; };
|
||||
C894658B1BC6C2BC0055219D /* RxTableViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C89465451BC6C2BC0055219D /* RxTableViewDelegateProxy.swift */; };
|
||||
C894658C1BC6C2BC0055219D /* RxTextViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C89465461BC6C2BC0055219D /* RxTextViewDelegateProxy.swift */; };
|
||||
C894658D1BC6C2BC0055219D /* UIActionSheet+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C89465471BC6C2BC0055219D /* UIActionSheet+Rx.swift */; };
|
||||
C894658E1BC6C2BC0055219D /* UIAlertView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C89465481BC6C2BC0055219D /* UIAlertView+Rx.swift */; };
|
||||
C894658F1BC6C2BC0055219D /* UIBarButtonItem+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C89465491BC6C2BC0055219D /* UIBarButtonItem+Rx.swift */; };
|
||||
C89465901BC6C2BC0055219D /* UIButton+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C894654A1BC6C2BC0055219D /* UIButton+Rx.swift */; };
|
||||
C89465911BC6C2BC0055219D /* UICollectionView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C894654B1BC6C2BC0055219D /* UICollectionView+Rx.swift */; };
|
||||
|
|
@ -378,8 +374,6 @@
|
|||
C8BCD3EB1C14B02A005F1280 /* SimpleValidationViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8BCD3E91C14B02A005F1280 /* SimpleValidationViewController.swift */; };
|
||||
C8BCD4021C14BFB7005F1280 /* NSLayoutConstraint+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8BCD4011C14BFB7005F1280 /* NSLayoutConstraint+Rx.swift */; };
|
||||
C8BCD4041C14BFCA005F1280 /* UIView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8BCD4031C14BFCA005F1280 /* UIView+Rx.swift */; };
|
||||
C8BF34D61C2E4A2F00416CAE /* Darwin.Platform.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8BF34D41C2E4A2F00416CAE /* Darwin.Platform.swift */; };
|
||||
C8BF34D71C2E4A2F00416CAE /* Linux.Platform.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8BF34D51C2E4A2F00416CAE /* Linux.Platform.swift */; };
|
||||
C8C46DA81B47F7110020D71E /* CollectionViewImageCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8C46DA31B47F7110020D71E /* CollectionViewImageCell.swift */; };
|
||||
C8C46DA91B47F7110020D71E /* WikipediaImageCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = C8C46DA41B47F7110020D71E /* WikipediaImageCell.xib */; };
|
||||
C8C46DAA1B47F7110020D71E /* WikipediaSearchCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8C46DA51B47F7110020D71E /* WikipediaSearchCell.swift */; };
|
||||
|
|
@ -400,7 +394,6 @@
|
|||
C8F6A12B1BEF9DA3007DF367 /* ConcurrentDispatchQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = C894648E1BC6C2B00055219D /* ConcurrentDispatchQueueScheduler.swift */; };
|
||||
C8F6A12C1BEF9DA3007DF367 /* ConcurrentMainScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8B145051BD2E45200267DCE /* ConcurrentMainScheduler.swift */; };
|
||||
C8F6A12D1BEF9DA3007DF367 /* CurrentThreadScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = C894648F1BC6C2B00055219D /* CurrentThreadScheduler.swift */; };
|
||||
C8F6A12E1BEF9DA3007DF367 /* DispatchQueueSchedulerPriority.swift in Sources */ = {isa = PBXBuildFile; fileRef = C89464901BC6C2B00055219D /* DispatchQueueSchedulerPriority.swift */; };
|
||||
C8F6A12F1BEF9DA3007DF367 /* ImmediateScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8B145041BD2E45200267DCE /* ImmediateScheduler.swift */; };
|
||||
C8F6A1301BEF9DA3007DF367 /* MainScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = C89464911BC6C2B00055219D /* MainScheduler.swift */; };
|
||||
C8F6A1311BEF9DA3007DF367 /* OperationQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = C89464921BC6C2B00055219D /* OperationQueueScheduler.swift */; };
|
||||
|
|
@ -634,6 +627,9 @@
|
|||
C83D73DB1C1DBC2A003DC470 /* InvocableType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = InvocableType.swift; sourceTree = "<group>"; };
|
||||
C83D73DC1C1DBC2A003DC470 /* ScheduledItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ScheduledItem.swift; sourceTree = "<group>"; };
|
||||
C83D73DD1C1DBC2A003DC470 /* ScheduledItemType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ScheduledItemType.swift; sourceTree = "<group>"; };
|
||||
C84015741C34353D009D2E77 /* DispatchQueueSchedulerQOS.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DispatchQueueSchedulerQOS.swift; sourceTree = "<group>"; };
|
||||
C84015861C343595009D2E77 /* Platform.Darwin.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Platform.Darwin.swift; sourceTree = "<group>"; };
|
||||
C84015871C343595009D2E77 /* Platform.Linux.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Platform.Linux.swift; sourceTree = "<group>"; };
|
||||
C843A08C1C1CE39900CBA4BD /* GitHubSearchRepositoriesAPI.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GitHubSearchRepositoriesAPI.swift; sourceTree = "<group>"; };
|
||||
C843A08D1C1CE39900CBA4BD /* GitHubSearchRepositoriesViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GitHubSearchRepositoriesViewController.swift; sourceTree = "<group>"; };
|
||||
C843A0921C1CE58700CBA4BD /* UINavigationController+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UINavigationController+Extensions.swift"; sourceTree = "<group>"; };
|
||||
|
|
@ -698,7 +694,6 @@
|
|||
C89464391BC6C2B00055219D /* NAryDisposable.tt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = NAryDisposable.tt; sourceTree = "<group>"; };
|
||||
C894643A1BC6C2B00055219D /* NopDisposable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NopDisposable.swift; sourceTree = "<group>"; };
|
||||
C894643B1BC6C2B00055219D /* ScheduledDisposable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ScheduledDisposable.swift; sourceTree = "<group>"; };
|
||||
C894643C1BC6C2B00055219D /* ScopedDisposable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ScopedDisposable.swift; sourceTree = "<group>"; };
|
||||
C894643D1BC6C2B00055219D /* SerialDisposable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SerialDisposable.swift; sourceTree = "<group>"; };
|
||||
C894643E1BC6C2B00055219D /* SingleAssignmentDisposable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SingleAssignmentDisposable.swift; sourceTree = "<group>"; };
|
||||
C894643F1BC6C2B00055219D /* StableCompositeDisposable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StableCompositeDisposable.swift; sourceTree = "<group>"; };
|
||||
|
|
@ -770,13 +765,11 @@
|
|||
C89464861BC6C2B00055219D /* AnonymousObserver.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AnonymousObserver.swift; sourceTree = "<group>"; };
|
||||
C89464871BC6C2B00055219D /* ObserverBase.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ObserverBase.swift; sourceTree = "<group>"; };
|
||||
C89464881BC6C2B00055219D /* TailRecursiveSink.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TailRecursiveSink.swift; sourceTree = "<group>"; };
|
||||
C89464891BC6C2B00055219D /* ObserverType+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "ObserverType+Extensions.swift"; sourceTree = "<group>"; };
|
||||
C894648A1BC6C2B00055219D /* ObserverType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ObserverType.swift; sourceTree = "<group>"; };
|
||||
C894648B1BC6C2B00055219D /* Rx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Rx.swift; sourceTree = "<group>"; };
|
||||
C894648C1BC6C2B00055219D /* RxMutableBox.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RxMutableBox.swift; sourceTree = "<group>"; };
|
||||
C894648E1BC6C2B00055219D /* ConcurrentDispatchQueueScheduler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConcurrentDispatchQueueScheduler.swift; sourceTree = "<group>"; };
|
||||
C894648F1BC6C2B00055219D /* CurrentThreadScheduler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CurrentThreadScheduler.swift; sourceTree = "<group>"; };
|
||||
C89464901BC6C2B00055219D /* DispatchQueueSchedulerPriority.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DispatchQueueSchedulerPriority.swift; sourceTree = "<group>"; };
|
||||
C89464911BC6C2B00055219D /* MainScheduler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MainScheduler.swift; sourceTree = "<group>"; };
|
||||
C89464921BC6C2B00055219D /* OperationQueueScheduler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OperationQueueScheduler.swift; sourceTree = "<group>"; };
|
||||
C89464931BC6C2B00055219D /* RecursiveScheduler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RecursiveScheduler.swift; sourceTree = "<group>"; };
|
||||
|
|
@ -805,7 +798,6 @@
|
|||
C89465291BC6C2BC0055219D /* KVOObservable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KVOObservable.swift; sourceTree = "<group>"; };
|
||||
C894652A1BC6C2BC0055219D /* KVOObserver.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KVOObserver.swift; sourceTree = "<group>"; };
|
||||
C894652B1BC6C2BC0055219D /* NSNotificationCenter+Rx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSNotificationCenter+Rx.swift"; sourceTree = "<group>"; };
|
||||
C894652C1BC6C2BC0055219D /* NSObject+Rx+CoreGraphics.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSObject+Rx+CoreGraphics.swift"; sourceTree = "<group>"; };
|
||||
C894652D1BC6C2BC0055219D /* NSObject+Rx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSObject+Rx.swift"; sourceTree = "<group>"; };
|
||||
C894652E1BC6C2BC0055219D /* NSURLSession+Rx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSURLSession+Rx.swift"; sourceTree = "<group>"; };
|
||||
C89465301BC6C2BC0055219D /* RxCLLocationManagerDelegateProxy.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RxCLLocationManagerDelegateProxy.swift; sourceTree = "<group>"; };
|
||||
|
|
@ -817,8 +809,6 @@
|
|||
C89465391BC6C2BC0055219D /* ItemEvents.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ItemEvents.swift; sourceTree = "<group>"; };
|
||||
C894653B1BC6C2BC0055219D /* RxCollectionViewDataSourceType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RxCollectionViewDataSourceType.swift; sourceTree = "<group>"; };
|
||||
C894653C1BC6C2BC0055219D /* RxTableViewDataSourceType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RxTableViewDataSourceType.swift; sourceTree = "<group>"; };
|
||||
C894653E1BC6C2BC0055219D /* RxActionSheetDelegateProxy.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RxActionSheetDelegateProxy.swift; sourceTree = "<group>"; };
|
||||
C894653F1BC6C2BC0055219D /* RxAlertViewDelegateProxy.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RxAlertViewDelegateProxy.swift; sourceTree = "<group>"; };
|
||||
C89465401BC6C2BC0055219D /* RxCollectionViewDataSourceProxy.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RxCollectionViewDataSourceProxy.swift; sourceTree = "<group>"; };
|
||||
C89465411BC6C2BC0055219D /* RxCollectionViewDelegateProxy.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RxCollectionViewDelegateProxy.swift; sourceTree = "<group>"; };
|
||||
C89465421BC6C2BC0055219D /* RxScrollViewDelegateProxy.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RxScrollViewDelegateProxy.swift; sourceTree = "<group>"; };
|
||||
|
|
@ -826,8 +816,6 @@
|
|||
C89465441BC6C2BC0055219D /* RxTableViewDataSourceProxy.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RxTableViewDataSourceProxy.swift; sourceTree = "<group>"; };
|
||||
C89465451BC6C2BC0055219D /* RxTableViewDelegateProxy.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RxTableViewDelegateProxy.swift; sourceTree = "<group>"; };
|
||||
C89465461BC6C2BC0055219D /* RxTextViewDelegateProxy.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RxTextViewDelegateProxy.swift; sourceTree = "<group>"; };
|
||||
C89465471BC6C2BC0055219D /* UIActionSheet+Rx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIActionSheet+Rx.swift"; sourceTree = "<group>"; };
|
||||
C89465481BC6C2BC0055219D /* UIAlertView+Rx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIAlertView+Rx.swift"; sourceTree = "<group>"; };
|
||||
C89465491BC6C2BC0055219D /* UIBarButtonItem+Rx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; lineEnding = 0; path = "UIBarButtonItem+Rx.swift"; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.swift; };
|
||||
C894654A1BC6C2BC0055219D /* UIButton+Rx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIButton+Rx.swift"; sourceTree = "<group>"; };
|
||||
C894654B1BC6C2BC0055219D /* UICollectionView+Rx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UICollectionView+Rx.swift"; sourceTree = "<group>"; };
|
||||
|
|
@ -869,8 +857,6 @@
|
|||
C8BCD3E91C14B02A005F1280 /* SimpleValidationViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SimpleValidationViewController.swift; sourceTree = "<group>"; };
|
||||
C8BCD4011C14BFB7005F1280 /* NSLayoutConstraint+Rx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSLayoutConstraint+Rx.swift"; sourceTree = "<group>"; };
|
||||
C8BCD4031C14BFCA005F1280 /* UIView+Rx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIView+Rx.swift"; sourceTree = "<group>"; };
|
||||
C8BF34D41C2E4A2F00416CAE /* Darwin.Platform.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Darwin.Platform.swift; sourceTree = "<group>"; };
|
||||
C8BF34D51C2E4A2F00416CAE /* Linux.Platform.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Linux.Platform.swift; sourceTree = "<group>"; };
|
||||
C8C46DA31B47F7110020D71E /* CollectionViewImageCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionViewImageCell.swift; sourceTree = "<group>"; };
|
||||
C8C46DA41B47F7110020D71E /* WikipediaImageCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = WikipediaImageCell.xib; sourceTree = "<group>"; };
|
||||
C8C46DA51B47F7110020D71E /* WikipediaSearchCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WikipediaSearchCell.swift; sourceTree = "<group>"; };
|
||||
|
|
@ -1297,7 +1283,6 @@
|
|||
C89464831BC6C2B00055219D /* ObservableType.swift */,
|
||||
C89464841BC6C2B00055219D /* AnyObserver.swift */,
|
||||
C89464851BC6C2B00055219D /* Observers */,
|
||||
C89464891BC6C2B00055219D /* ObserverType+Extensions.swift */,
|
||||
C894648A1BC6C2B00055219D /* ObserverType.swift */,
|
||||
C894648B1BC6C2B00055219D /* Rx.swift */,
|
||||
C894648C1BC6C2B00055219D /* RxMutableBox.swift */,
|
||||
|
|
@ -1349,7 +1334,6 @@
|
|||
C894643A1BC6C2B00055219D /* NopDisposable.swift */,
|
||||
CB883B4F1BE3AC54000AC2EE /* RefCountDisposable.swift */,
|
||||
C894643B1BC6C2B00055219D /* ScheduledDisposable.swift */,
|
||||
C894643C1BC6C2B00055219D /* ScopedDisposable.swift */,
|
||||
C894643D1BC6C2B00055219D /* SerialDisposable.swift */,
|
||||
C894643E1BC6C2B00055219D /* SingleAssignmentDisposable.swift */,
|
||||
C894643F1BC6C2B00055219D /* StableCompositeDisposable.swift */,
|
||||
|
|
@ -1456,6 +1440,7 @@
|
|||
C894648D1BC6C2B00055219D /* Schedulers */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
C84015741C34353D009D2E77 /* DispatchQueueSchedulerQOS.swift */,
|
||||
C80DA33C1C30B23600C588B9 /* HistoricalScheduler.swift */,
|
||||
C80DA33D1C30B23600C588B9 /* HistoricalSchedulerTimeConverter.swift */,
|
||||
C80DA33E1C30B23600C588B9 /* VirtualTimeConverterType.swift */,
|
||||
|
|
@ -1464,7 +1449,6 @@
|
|||
C894648E1BC6C2B00055219D /* ConcurrentDispatchQueueScheduler.swift */,
|
||||
C8B145051BD2E45200267DCE /* ConcurrentMainScheduler.swift */,
|
||||
C894648F1BC6C2B00055219D /* CurrentThreadScheduler.swift */,
|
||||
C89464901BC6C2B00055219D /* DispatchQueueSchedulerPriority.swift */,
|
||||
C8B145041BD2E45200267DCE /* ImmediateScheduler.swift */,
|
||||
C89464911BC6C2B00055219D /* MainScheduler.swift */,
|
||||
C89464921BC6C2B00055219D /* OperationQueueScheduler.swift */,
|
||||
|
|
@ -1545,7 +1529,6 @@
|
|||
C83974221BF77413004F02CC /* NSObject+Rx+RawRepresentable.swift */,
|
||||
C89465251BC6C2BC0055219D /* Implementations */,
|
||||
C894652B1BC6C2BC0055219D /* NSNotificationCenter+Rx.swift */,
|
||||
C894652C1BC6C2BC0055219D /* NSObject+Rx+CoreGraphics.swift */,
|
||||
C894652D1BC6C2BC0055219D /* NSObject+Rx.swift */,
|
||||
C894652E1BC6C2BC0055219D /* NSURLSession+Rx.swift */,
|
||||
);
|
||||
|
|
@ -1580,8 +1563,6 @@
|
|||
C894653A1BC6C2BC0055219D /* Protocols */,
|
||||
C894653D1BC6C2BC0055219D /* Proxies */,
|
||||
C8BCD4031C14BFCA005F1280 /* UIView+Rx.swift */,
|
||||
C89465471BC6C2BC0055219D /* UIActionSheet+Rx.swift */,
|
||||
C89465481BC6C2BC0055219D /* UIAlertView+Rx.swift */,
|
||||
C89465491BC6C2BC0055219D /* UIBarButtonItem+Rx.swift */,
|
||||
C894654A1BC6C2BC0055219D /* UIButton+Rx.swift */,
|
||||
C894654B1BC6C2BC0055219D /* UICollectionView+Rx.swift */,
|
||||
|
|
@ -1686,8 +1667,8 @@
|
|||
C8BF34D31C2E4A2F00416CAE /* Platform */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
C8BF34D41C2E4A2F00416CAE /* Darwin.Platform.swift */,
|
||||
C8BF34D51C2E4A2F00416CAE /* Linux.Platform.swift */,
|
||||
C84015861C343595009D2E77 /* Platform.Darwin.swift */,
|
||||
C84015871C343595009D2E77 /* Platform.Linux.swift */,
|
||||
);
|
||||
path = Platform;
|
||||
sourceTree = "<group>";
|
||||
|
|
@ -2011,6 +1992,7 @@
|
|||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
C83D73DE1C1DBC2A003DC470 /* AnonymousInvocable.swift in Sources */,
|
||||
C84015751C34353D009D2E77 /* DispatchQueueSchedulerQOS.swift in Sources */,
|
||||
C84CC58B1BDD486300E06A64 /* LockOwnerType.swift in Sources */,
|
||||
C89465971BC6C2BC0055219D /* UIScrollView+Rx.swift in Sources */,
|
||||
9B4612951C106CF100BBBB4E /* UIActivityIndicatorView+Rx.swift in Sources */,
|
||||
|
|
@ -2034,7 +2016,6 @@
|
|||
C8BCD3E71C14A95E005F1280 /* NumbersViewController.swift in Sources */,
|
||||
C89464A51BC6C2B00055219D /* Disposable.swift in Sources */,
|
||||
C843A0911C1CE39900CBA4BD /* GitHubSearchRepositoriesViewController.swift in Sources */,
|
||||
C89464F91BC6C2B00055219D /* ObserverType+Extensions.swift in Sources */,
|
||||
C84CC58D1BDD486300E06A64 /* SynchronizedOnType.swift in Sources */,
|
||||
C83974121BF77406004F02CC /* KVORepresentable.swift in Sources */,
|
||||
C89464DC1BC6C2B00055219D /* Scan.swift in Sources */,
|
||||
|
|
@ -2043,7 +2024,6 @@
|
|||
C89464B51BC6C2B00055219D /* ImmediateSchedulerType.swift in Sources */,
|
||||
C8297E321B6CF905000589EA /* HtmlParsing.swift in Sources */,
|
||||
C8297E331B6CF905000589EA /* NumberCell.swift in Sources */,
|
||||
C894658D1BC6C2BC0055219D /* UIActionSheet+Rx.swift in Sources */,
|
||||
C89464EA1BC6C2B00055219D /* Zip.swift in Sources */,
|
||||
C89464E51BC6C2B00055219D /* Throttle.swift in Sources */,
|
||||
C83974241BF77413004F02CC /* NSObject+Rx+RawRepresentable.swift in Sources */,
|
||||
|
|
@ -2053,6 +2033,7 @@
|
|||
C89464DA1BC6C2B00055219D /* Repeat.swift in Sources */,
|
||||
C89465651BC6C2BC0055219D /* CLLocationManager+Rx.swift in Sources */,
|
||||
C80DDED81BCE9046006A1832 /* Driver.swift in Sources */,
|
||||
C84015881C343595009D2E77 /* Platform.Darwin.swift in Sources */,
|
||||
C80DDED71BCE9046006A1832 /* Driver+Subscription.swift in Sources */,
|
||||
C8F6A1321BEF9DA3007DF367 /* RecursiveScheduler.swift in Sources */,
|
||||
07A5C3DC1B70B703001EFE5C /* CalculatorViewController.swift in Sources */,
|
||||
|
|
@ -2089,7 +2070,6 @@
|
|||
C894649E1BC6C2B00055219D /* Cancelable.swift in Sources */,
|
||||
C89464E01BC6C2B00055219D /* SubscribeOn.swift in Sources */,
|
||||
C89465801BC6C2BC0055219D /* RxTableViewReactiveArrayDataSource.swift in Sources */,
|
||||
C89464AF1BC6C2B00055219D /* ScopedDisposable.swift in Sources */,
|
||||
C89464FA1BC6C2B00055219D /* ObserverType.swift in Sources */,
|
||||
C89464F01BC6C2B00055219D /* Observable+Multiple.swift in Sources */,
|
||||
C891A2C91C07160C00DDD09D /* Timeout.swift in Sources */,
|
||||
|
|
@ -2118,7 +2098,6 @@
|
|||
C89464CC1BC6C2B00055219D /* Filter.swift in Sources */,
|
||||
C864BAE01C3332F10083833C /* UIImageView+Extensions.swift in Sources */,
|
||||
C80DDED31BCE9046006A1832 /* ControlProperty+Driver.swift in Sources */,
|
||||
C8F6A12E1BEF9DA3007DF367 /* DispatchQueueSchedulerPriority.swift in Sources */,
|
||||
C89464C11BC6C2B00055219D /* CombineLatest+CollectionType.swift in Sources */,
|
||||
C89465671BC6C2BC0055219D /* ControlEvent.swift in Sources */,
|
||||
C89464A61BC6C2B00055219D /* AnonymousDisposable.swift in Sources */,
|
||||
|
|
@ -2127,10 +2106,8 @@
|
|||
C89464EE1BC6C2B00055219D /* Observable+Creation.swift in Sources */,
|
||||
C894659A1BC6C2BC0055219D /* UISlider+Rx.swift in Sources */,
|
||||
C89465891BC6C2BC0055219D /* RxSearchBarDelegateProxy.swift in Sources */,
|
||||
C8BF34D71C2E4A2F00416CAE /* Linux.Platform.swift in Sources */,
|
||||
C89464C21BC6C2B00055219D /* CombineLatest.swift in Sources */,
|
||||
C89464E71BC6C2B00055219D /* Zip+arity.swift in Sources */,
|
||||
C8BF34D61C2E4A2F00416CAE /* Darwin.Platform.swift in Sources */,
|
||||
B1604CC21BE5B895002E1279 /* ReachabilityService.swift in Sources */,
|
||||
C89464DE1BC6C2B00055219D /* Skip.swift in Sources */,
|
||||
C89464DB1BC6C2B00055219D /* Sample.swift in Sources */,
|
||||
|
|
@ -2175,7 +2152,6 @@
|
|||
C89465611BC6C2BC0055219D /* _RX.m in Sources */,
|
||||
CB30D9EE1BF106260084C1C0 /* SingleAsync.swift in Sources */,
|
||||
C80DDED41BCE9046006A1832 /* Driver+Operators+arity.swift in Sources */,
|
||||
C89465841BC6C2BC0055219D /* RxActionSheetDelegateProxy.swift in Sources */,
|
||||
C89464F51BC6C2B00055219D /* AnyObserver.swift in Sources */,
|
||||
C89464D71BC6C2B00055219D /* Range.swift in Sources */,
|
||||
C84CC52E1BDC344100E06A64 /* ElementAt.swift in Sources */,
|
||||
|
|
@ -2188,7 +2164,6 @@
|
|||
C89464D51BC6C2B00055219D /* ObserveOnSerialDispatchQueue.swift in Sources */,
|
||||
842A5A271C357F63003568D5 /* NSTextStorage+Rx.swift in Sources */,
|
||||
C843A08F1C1CE39900CBA4BD /* GitHubSearchRepositoriesAPI.swift in Sources */,
|
||||
C894658E1BC6C2BC0055219D /* UIAlertView+Rx.swift in Sources */,
|
||||
C83974231BF77413004F02CC /* NSObject+Rx+KVORepresentable.swift in Sources */,
|
||||
C8297E461B6CF905000589EA /* Example.swift in Sources */,
|
||||
C89465081BC6C2B00055219D /* PublishSubject.swift in Sources */,
|
||||
|
|
@ -2254,7 +2229,6 @@
|
|||
C8297E521B6CF905000589EA /* Dependencies.swift in Sources */,
|
||||
C80DDED91BCE9046006A1832 /* ObservableConvertibleType+Driver.swift in Sources */,
|
||||
C89464E11BC6C2B00055219D /* Switch.swift in Sources */,
|
||||
C89465851BC6C2BC0055219D /* RxAlertViewDelegateProxy.swift in Sources */,
|
||||
C89464A11BC6C2B00055219D /* ConnectableObservableType.swift in Sources */,
|
||||
C864BAD81C3332F10083833C /* DetailViewController.swift in Sources */,
|
||||
C89464C41BC6C2B00055219D /* ConnectableObservable.swift in Sources */,
|
||||
|
|
@ -2262,7 +2236,6 @@
|
|||
C8297E531B6CF905000589EA /* WikipediaAPI.swift in Sources */,
|
||||
C89465071BC6C2B00055219D /* BehaviorSubject.swift in Sources */,
|
||||
C89465911BC6C2BC0055219D /* UICollectionView+Rx.swift in Sources */,
|
||||
C89465781BC6C2BC0055219D /* NSObject+Rx+CoreGraphics.swift in Sources */,
|
||||
C89464D01BC6C2B00055219D /* Map.swift in Sources */,
|
||||
C8297E541B6CF905000589EA /* AppDelegate.swift in Sources */,
|
||||
C894659D1BC6C2BC0055219D /* UITableView+Rx.swift in Sources */,
|
||||
|
|
@ -2287,6 +2260,7 @@
|
|||
C89464B41BC6C2B00055219D /* Event.swift in Sources */,
|
||||
C89465691BC6C2BC0055219D /* ControlProperty.swift in Sources */,
|
||||
C89465061BC6C2B00055219D /* SchedulerType.swift in Sources */,
|
||||
C84015891C343595009D2E77 /* Platform.Linux.swift in Sources */,
|
||||
C8C4B4BF1C17724A00828BD5 /* _RXObjCRuntime.m in Sources */,
|
||||
C83D73E11C1DBC2A003DC470 /* ScheduledItem.swift in Sources */,
|
||||
C849EF871C3195180048AC4A /* GitHubSignupViewController2.swift in Sources */,
|
||||
|
|
@ -2434,7 +2408,7 @@
|
|||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
INFOPLIST_FILE = "RxExample/Info-iOS.plist";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 7.0;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
OTHER_LDFLAGS = "-objc_loadall";
|
||||
OTHER_SWIFT_FLAGS = "$(inherited) -D RX_NO_MODULE";
|
||||
|
|
@ -2449,7 +2423,7 @@
|
|||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
INFOPLIST_FILE = "RxExample/Info-iOS.plist";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 7.0;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
OTHER_LDFLAGS = "-objc_loadall";
|
||||
OTHER_SWIFT_FLAGS = "$(inherited) -D RX_NO_MODULE";
|
||||
|
|
@ -2464,7 +2438,7 @@
|
|||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
INFOPLIST_FILE = "RxExample/Info-iOS.plist";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 7.0;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
OTHER_LDFLAGS = "-objc_loadall";
|
||||
OTHER_SWIFT_FLAGS = "$(inherited) -D RX_NO_MODULE";
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@
|
|||
</AdditionalOptions>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Debug"
|
||||
buildConfiguration = "Release"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
launchStyle = "0"
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@
|
|||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Release-Tests"
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
|
|
@ -52,7 +52,7 @@
|
|||
</AdditionalOptions>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Debug"
|
||||
buildConfiguration = "Release"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
launchStyle = "0"
|
||||
|
|
|
|||
|
|
@ -60,70 +60,6 @@ class APIWrappersViewController: ViewController {
|
|||
|
||||
datePicker.date = NSDate(timeIntervalSince1970: 0)
|
||||
|
||||
let ash = UIActionSheet(title: "Title", delegate: nil, cancelButtonTitle: "Cancel", destructiveButtonTitle: "OK")
|
||||
let av = UIAlertView(title: "Title", message: "The message", delegate: nil, cancelButtonTitle: "Cancel", otherButtonTitles: "OK", "Two", "Three", "Four", "Five")
|
||||
|
||||
openActionSheet.rx_tap
|
||||
.subscribeNext { [weak self] x in
|
||||
if let view = self?.view {
|
||||
ash.showInView(view)
|
||||
}
|
||||
}
|
||||
.addDisposableTo(disposeBag)
|
||||
|
||||
openAlertView.rx_tap
|
||||
.subscribeNext { x in
|
||||
av.show()
|
||||
}
|
||||
.addDisposableTo(disposeBag)
|
||||
|
||||
// MARK: UIActionSheet
|
||||
|
||||
ash.rx_clickedButtonAtIndex
|
||||
.subscribeNext { [weak self] x in
|
||||
self?.debug("UIActionSheet clickedButtonAtIndex \(x)")
|
||||
}
|
||||
.addDisposableTo(disposeBag)
|
||||
|
||||
ash.rx_willDismissWithButtonIndex
|
||||
.subscribeNext { [weak self] x in
|
||||
self?.debug("UIActionSheet willDismissWithButtonIndex \(x)")
|
||||
}
|
||||
.addDisposableTo(disposeBag)
|
||||
|
||||
ash.rx_didDismissWithButtonIndex
|
||||
.subscribeNext { [weak self] x in
|
||||
self?.debug("UIActionSheet didDismissWithButtonIndex \(x)")
|
||||
}
|
||||
.addDisposableTo(disposeBag)
|
||||
|
||||
|
||||
// MARK: UIAlertView
|
||||
|
||||
av.rx_clickedButtonAtIndex
|
||||
.subscribeNext { [weak self] x in
|
||||
self?.debug("UIAlertView clickedButtonAtIndex \(x)")
|
||||
}
|
||||
.addDisposableTo(disposeBag)
|
||||
|
||||
av.rx_willDismissWithButtonIndex
|
||||
.subscribeNext { [weak self] x in
|
||||
self?.debug("UIAlertView willDismissWithButtonIndex \(x)")
|
||||
}
|
||||
.addDisposableTo(disposeBag)
|
||||
|
||||
av.rx_didDismissWithButtonIndex
|
||||
.subscribeNext { [weak self] x in
|
||||
self?.debug("UIAlertView didDismissWithButtonIndex \(x)")
|
||||
}
|
||||
.addDisposableTo(disposeBag)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// MARK: UIBarButtonItem
|
||||
|
||||
bbitem.rx_tap
|
||||
|
|
|
|||
|
|
@ -27,8 +27,6 @@ class GitHubSearchRepositoriesViewController: ViewController, UITableViewDelegat
|
|||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
|
||||
let $: Dependencies = Dependencies.sharedDependencies
|
||||
|
||||
let tableView = self.tableView
|
||||
let searchBar = self.searchBar
|
||||
|
||||
|
|
|
|||
|
|
@ -78,11 +78,11 @@ class PartialUpdatesViewController : ViewController {
|
|||
skinTableViewDataSource(tvAnimatedDataSource)
|
||||
skinTableViewDataSource(reloadDataSource)
|
||||
|
||||
self.sections
|
||||
self.sections.asObservable()
|
||||
.bindTo(partialUpdatesTableViewOutlet.rx_itemsAnimatedWithDataSource(tvAnimatedDataSource))
|
||||
.addDisposableTo(disposeBag)
|
||||
|
||||
self.sections
|
||||
self.sections.asObservable()
|
||||
.bindTo(reloadTableViewOutlet.rx_itemsWithDataSource(reloadDataSource))
|
||||
.addDisposableTo(disposeBag)
|
||||
|
||||
|
|
@ -108,7 +108,7 @@ class PartialUpdatesViewController : ViewController {
|
|||
#else
|
||||
let cvReloadDataSource = RxCollectionViewSectionedReloadDataSource<NumberSection>()
|
||||
skinCollectionViewDataSource(cvReloadDataSource)
|
||||
self.sections
|
||||
self.sections.asObservable()
|
||||
.bindTo(partialUpdatesCollectionViewOutlet.rx_itemsWithDataSource(cvReloadDataSource))
|
||||
.addDisposableTo(disposeBag)
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -43,7 +43,6 @@ class WikipediaSearchViewController: ViewController {
|
|||
resultsTableView.rowHeight = 194
|
||||
|
||||
let API = DefaultWikipediaAPI.sharedAPI
|
||||
let scheduler = MainScheduler.instance
|
||||
|
||||
searchBar.rx_text
|
||||
.asDriver()
|
||||
|
|
|
|||
|
|
@ -39,51 +39,40 @@ class DefaultWireframe: Wireframe {
|
|||
#endif
|
||||
}
|
||||
|
||||
#if os(iOS)
|
||||
private static func rootViewController() -> UIViewController {
|
||||
// cheating, I know
|
||||
return UIApplication.sharedApplication().keyWindow!.rootViewController!
|
||||
}
|
||||
#endif
|
||||
|
||||
static func presentAlert(message: String) {
|
||||
#if os(iOS)
|
||||
let alertView = UIAlertView(
|
||||
title: "RxExample",
|
||||
message: message,
|
||||
delegate: nil,
|
||||
cancelButtonTitle: "OK"
|
||||
)
|
||||
|
||||
alertView.show()
|
||||
let alertView = UIAlertController(title: "RxExample", message: message, preferredStyle: .Alert)
|
||||
alertView.addAction(UIAlertAction(title: "OK", style: .Cancel) { _ in
|
||||
})
|
||||
rootViewController().presentViewController(alertView, animated: true, completion: nil)
|
||||
#endif
|
||||
}
|
||||
|
||||
func promptFor<Action : CustomStringConvertible>(message: String, cancelAction: Action, actions: [Action]) -> Observable<Action> {
|
||||
#if os(iOS)
|
||||
return Observable.create { observer in
|
||||
let alertView = UIAlertView(
|
||||
title: "RxExample",
|
||||
message: message,
|
||||
delegate: nil,
|
||||
cancelButtonTitle: cancelAction.description
|
||||
)
|
||||
let alertView = UIAlertController(title: "RxExample", message: message, preferredStyle: .Alert)
|
||||
alertView.addAction(UIAlertAction(title: cancelAction.description, style: .Cancel) { _ in
|
||||
observer.on(.Next(cancelAction))
|
||||
})
|
||||
|
||||
for action in actions {
|
||||
alertView.addButtonWithTitle(action.description)
|
||||
alertView.addAction(UIAlertAction(title: action.description, style: .Default) { _ in
|
||||
observer.on(.Next(action))
|
||||
})
|
||||
}
|
||||
|
||||
alertView.show()
|
||||
|
||||
observer.on(.Next(alertView))
|
||||
DefaultWireframe.rootViewController().presentViewController(alertView, animated: true, completion: nil)
|
||||
|
||||
return AnonymousDisposable {
|
||||
alertView.dismissWithClickedButtonIndex(-1, animated: true)
|
||||
}
|
||||
}.flatMap { (alertView: UIAlertView) -> Observable<Action> in
|
||||
return alertView.rx_didDismissWithButtonIndex.flatMap { index -> Observable<Action> in
|
||||
if index < 0 {
|
||||
return Observable.empty()
|
||||
}
|
||||
|
||||
if index == 0 {
|
||||
return Observable.just(cancelAction)
|
||||
}
|
||||
|
||||
return Observable.just(actions[index - 1])
|
||||
alertView.dismissViewControllerAnimated(false, completion: nil)
|
||||
}
|
||||
}
|
||||
#elseif os(OSX)
|
||||
|
|
|
|||
|
|
@ -1,59 +0,0 @@
|
|||
//
|
||||
// ScopedDisposable.swift
|
||||
// RxSwift
|
||||
//
|
||||
// Created by Krunoslav Zaher on 5/2/15.
|
||||
// Copyright © 2015 Krunoslav Zaher. All rights reserved.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
||||
extension Disposable {
|
||||
/**
|
||||
Returns `ScopedDispose` that will dispose `self` when execution exits current block.
|
||||
|
||||
**If the reference to returned instance isn't named, it will be deallocated
|
||||
immediately and subscription will be immediately disposed.**
|
||||
|
||||
Example usage:
|
||||
|
||||
let disposeOnExit = disposable.scopedDispose()
|
||||
|
||||
- returns: `ScopedDisposable` that will dispose `self` on `deinit`.
|
||||
*/
|
||||
@available(*, deprecated=2.0.0, message="Please use `DisposeBag` and `addDisposableTo`")
|
||||
public func scopedDispose() -> ScopedDisposable {
|
||||
return ScopedDisposable(disposable: self)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
`ScopedDisposable` will dispose `disposable` on `deinit`.
|
||||
|
||||
This returns ARC (RAII) like resource management to `RxSwift`.
|
||||
*/
|
||||
@available(*, deprecated=2.0.0, message="Please use `DisposeBag` and `addDisposableTo`")
|
||||
public class ScopedDisposable : DisposeBase {
|
||||
private var _disposable: Disposable?
|
||||
|
||||
/**
|
||||
Initializes new instance with a single disposable.
|
||||
|
||||
- parameter disposable: `Disposable` that will be disposed on scope exit.
|
||||
*/
|
||||
public init(disposable: Disposable) {
|
||||
_disposable = disposable
|
||||
}
|
||||
|
||||
/**
|
||||
This is intentionally private.
|
||||
*/
|
||||
func dispose() {
|
||||
_disposable?.dispose()
|
||||
}
|
||||
|
||||
deinit {
|
||||
dispose()
|
||||
}
|
||||
}
|
||||
|
|
@ -13,16 +13,6 @@ import Foundation
|
|||
|
||||
// 2
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Observable.combineLatest`")
|
||||
public func combineLatest<O1: ObservableType, O2: ObservableType, R>
|
||||
(source1: O1, _ source2: O2, resultSelector: (O1.E, O2.E) throws -> R)
|
||||
-> Observable<R> {
|
||||
return Observable.combineLatest(
|
||||
source1, source2,
|
||||
resultSelector: resultSelector
|
||||
)
|
||||
}
|
||||
|
||||
extension Observable {
|
||||
/**
|
||||
Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
|
||||
|
|
@ -104,16 +94,6 @@ class CombineLatest2<E1, E2, R> : Producer<R> {
|
|||
|
||||
// 3
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Observable.combineLatest`")
|
||||
public func combineLatest<O1: ObservableType, O2: ObservableType, O3: ObservableType, R>
|
||||
(source1: O1, _ source2: O2, _ source3: O3, resultSelector: (O1.E, O2.E, O3.E) throws -> R)
|
||||
-> Observable<R> {
|
||||
return Observable.combineLatest(
|
||||
source1, source2, source3,
|
||||
resultSelector: resultSelector
|
||||
)
|
||||
}
|
||||
|
||||
extension Observable {
|
||||
/**
|
||||
Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
|
||||
|
|
@ -202,16 +182,6 @@ class CombineLatest3<E1, E2, E3, R> : Producer<R> {
|
|||
|
||||
// 4
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Observable.combineLatest`")
|
||||
public func combineLatest<O1: ObservableType, O2: ObservableType, O3: ObservableType, O4: ObservableType, R>
|
||||
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, resultSelector: (O1.E, O2.E, O3.E, O4.E) throws -> R)
|
||||
-> Observable<R> {
|
||||
return Observable.combineLatest(
|
||||
source1, source2, source3, source4,
|
||||
resultSelector: resultSelector
|
||||
)
|
||||
}
|
||||
|
||||
extension Observable {
|
||||
/**
|
||||
Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
|
||||
|
|
@ -307,16 +277,6 @@ class CombineLatest4<E1, E2, E3, E4, R> : Producer<R> {
|
|||
|
||||
// 5
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Observable.combineLatest`")
|
||||
public func combineLatest<O1: ObservableType, O2: ObservableType, O3: ObservableType, O4: ObservableType, O5: ObservableType, R>
|
||||
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E) throws -> R)
|
||||
-> Observable<R> {
|
||||
return Observable.combineLatest(
|
||||
source1, source2, source3, source4, source5,
|
||||
resultSelector: resultSelector
|
||||
)
|
||||
}
|
||||
|
||||
extension Observable {
|
||||
/**
|
||||
Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
|
||||
|
|
@ -419,16 +379,6 @@ class CombineLatest5<E1, E2, E3, E4, E5, R> : Producer<R> {
|
|||
|
||||
// 6
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Observable.combineLatest`")
|
||||
public func combineLatest<O1: ObservableType, O2: ObservableType, O3: ObservableType, O4: ObservableType, O5: ObservableType, O6: ObservableType, R>
|
||||
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, _ source6: O6, resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E, O6.E) throws -> R)
|
||||
-> Observable<R> {
|
||||
return Observable.combineLatest(
|
||||
source1, source2, source3, source4, source5, source6,
|
||||
resultSelector: resultSelector
|
||||
)
|
||||
}
|
||||
|
||||
extension Observable {
|
||||
/**
|
||||
Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
|
||||
|
|
@ -538,16 +488,6 @@ class CombineLatest6<E1, E2, E3, E4, E5, E6, R> : Producer<R> {
|
|||
|
||||
// 7
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Observable.combineLatest`")
|
||||
public func combineLatest<O1: ObservableType, O2: ObservableType, O3: ObservableType, O4: ObservableType, O5: ObservableType, O6: ObservableType, O7: ObservableType, R>
|
||||
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, _ source6: O6, _ source7: O7, resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E, O6.E, O7.E) throws -> R)
|
||||
-> Observable<R> {
|
||||
return Observable.combineLatest(
|
||||
source1, source2, source3, source4, source5, source6, source7,
|
||||
resultSelector: resultSelector
|
||||
)
|
||||
}
|
||||
|
||||
extension Observable {
|
||||
/**
|
||||
Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
|
||||
|
|
@ -664,16 +604,6 @@ class CombineLatest7<E1, E2, E3, E4, E5, E6, E7, R> : Producer<R> {
|
|||
|
||||
// 8
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Observable.combineLatest`")
|
||||
public func combineLatest<O1: ObservableType, O2: ObservableType, O3: ObservableType, O4: ObservableType, O5: ObservableType, O6: ObservableType, O7: ObservableType, O8: ObservableType, R>
|
||||
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, _ source6: O6, _ source7: O7, _ source8: O8, resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E, O6.E, O7.E, O8.E) throws -> R)
|
||||
-> Observable<R> {
|
||||
return Observable.combineLatest(
|
||||
source1, source2, source3, source4, source5, source6, source7, source8,
|
||||
resultSelector: resultSelector
|
||||
)
|
||||
}
|
||||
|
||||
extension Observable {
|
||||
/**
|
||||
Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
|
||||
|
|
|
|||
|
|
@ -12,16 +12,6 @@ import Foundation
|
|||
|
||||
// <%= i %>
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Observable.combineLatest`")
|
||||
public func combineLatest<<%= (Array(1...i).map { "O\($0): ObservableType" }).joinWithSeparator(", ") %>, R>
|
||||
(<%= (Array(1...i).map { "source\($0): O\($0)" }).joinWithSeparator(", _ ") %>, resultSelector: (<%= (Array(1...i).map { "O\($0).E" }).joinWithSeparator(", ") %>) throws -> R)
|
||||
-> Observable<R> {
|
||||
return Observable.combineLatest(
|
||||
<%= (Array(1...i).map { "source\($0)" }).joinWithSeparator(", ") %>,
|
||||
resultSelector: resultSelector
|
||||
)
|
||||
}
|
||||
|
||||
extension Observable {
|
||||
/**
|
||||
Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
|
||||
|
|
|
|||
|
|
@ -13,16 +13,6 @@ import Foundation
|
|||
|
||||
// 2
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Observable.zip`")
|
||||
public func zip<O1: ObservableType, O2: ObservableType, R>
|
||||
(source1: O1, _ source2: O2, resultSelector: (O1.E, O2.E) throws -> R)
|
||||
-> Observable<R> {
|
||||
return Observable.zip(
|
||||
source1, source2,
|
||||
resultSelector: resultSelector
|
||||
)
|
||||
}
|
||||
|
||||
extension Observable {
|
||||
/**
|
||||
Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.
|
||||
|
|
@ -116,16 +106,6 @@ class Zip2<E1, E2, R> : Producer<R> {
|
|||
|
||||
// 3
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Observable.zip`")
|
||||
public func zip<O1: ObservableType, O2: ObservableType, O3: ObservableType, R>
|
||||
(source1: O1, _ source2: O2, _ source3: O3, resultSelector: (O1.E, O2.E, O3.E) throws -> R)
|
||||
-> Observable<R> {
|
||||
return Observable.zip(
|
||||
source1, source2, source3,
|
||||
resultSelector: resultSelector
|
||||
)
|
||||
}
|
||||
|
||||
extension Observable {
|
||||
/**
|
||||
Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.
|
||||
|
|
@ -227,16 +207,6 @@ class Zip3<E1, E2, E3, R> : Producer<R> {
|
|||
|
||||
// 4
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Observable.zip`")
|
||||
public func zip<O1: ObservableType, O2: ObservableType, O3: ObservableType, O4: ObservableType, R>
|
||||
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, resultSelector: (O1.E, O2.E, O3.E, O4.E) throws -> R)
|
||||
-> Observable<R> {
|
||||
return Observable.zip(
|
||||
source1, source2, source3, source4,
|
||||
resultSelector: resultSelector
|
||||
)
|
||||
}
|
||||
|
||||
extension Observable {
|
||||
/**
|
||||
Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.
|
||||
|
|
@ -346,16 +316,6 @@ class Zip4<E1, E2, E3, E4, R> : Producer<R> {
|
|||
|
||||
// 5
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Observable.zip`")
|
||||
public func zip<O1: ObservableType, O2: ObservableType, O3: ObservableType, O4: ObservableType, O5: ObservableType, R>
|
||||
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E) throws -> R)
|
||||
-> Observable<R> {
|
||||
return Observable.zip(
|
||||
source1, source2, source3, source4, source5,
|
||||
resultSelector: resultSelector
|
||||
)
|
||||
}
|
||||
|
||||
extension Observable {
|
||||
/**
|
||||
Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.
|
||||
|
|
@ -473,16 +433,6 @@ class Zip5<E1, E2, E3, E4, E5, R> : Producer<R> {
|
|||
|
||||
// 6
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Observable.zip`")
|
||||
public func zip<O1: ObservableType, O2: ObservableType, O3: ObservableType, O4: ObservableType, O5: ObservableType, O6: ObservableType, R>
|
||||
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, _ source6: O6, resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E, O6.E) throws -> R)
|
||||
-> Observable<R> {
|
||||
return Observable.zip(
|
||||
source1, source2, source3, source4, source5, source6,
|
||||
resultSelector: resultSelector
|
||||
)
|
||||
}
|
||||
|
||||
extension Observable {
|
||||
/**
|
||||
Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.
|
||||
|
|
@ -608,16 +558,6 @@ class Zip6<E1, E2, E3, E4, E5, E6, R> : Producer<R> {
|
|||
|
||||
// 7
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Observable.zip`")
|
||||
public func zip<O1: ObservableType, O2: ObservableType, O3: ObservableType, O4: ObservableType, O5: ObservableType, O6: ObservableType, O7: ObservableType, R>
|
||||
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, _ source6: O6, _ source7: O7, resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E, O6.E, O7.E) throws -> R)
|
||||
-> Observable<R> {
|
||||
return Observable.zip(
|
||||
source1, source2, source3, source4, source5, source6, source7,
|
||||
resultSelector: resultSelector
|
||||
)
|
||||
}
|
||||
|
||||
extension Observable {
|
||||
/**
|
||||
Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.
|
||||
|
|
@ -751,16 +691,6 @@ class Zip7<E1, E2, E3, E4, E5, E6, E7, R> : Producer<R> {
|
|||
|
||||
// 8
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Observable.zip`")
|
||||
public func zip<O1: ObservableType, O2: ObservableType, O3: ObservableType, O4: ObservableType, O5: ObservableType, O6: ObservableType, O7: ObservableType, O8: ObservableType, R>
|
||||
(source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, _ source6: O6, _ source7: O7, _ source8: O8, resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E, O6.E, O7.E, O8.E) throws -> R)
|
||||
-> Observable<R> {
|
||||
return Observable.zip(
|
||||
source1, source2, source3, source4, source5, source6, source7, source8,
|
||||
resultSelector: resultSelector
|
||||
)
|
||||
}
|
||||
|
||||
extension Observable {
|
||||
/**
|
||||
Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.
|
||||
|
|
|
|||
|
|
@ -12,16 +12,6 @@ import Foundation
|
|||
|
||||
// <%= i %>
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Observable.zip`")
|
||||
public func zip<<%= (Array(1...i).map { "O\($0): ObservableType" }).joinWithSeparator(", ") %>, R>
|
||||
(<%= (Array(1...i).map { "source\($0): O\($0)" }).joinWithSeparator(", _ ") %>, resultSelector: (<%= (Array(1...i).map { "O\($0).E" }).joinWithSeparator(", ") %>) throws -> R)
|
||||
-> Observable<R> {
|
||||
return Observable.zip(
|
||||
<%= (Array(1...i).map { "source\($0)" }).joinWithSeparator(", ") %>,
|
||||
resultSelector: resultSelector
|
||||
)
|
||||
}
|
||||
|
||||
extension Observable {
|
||||
/**
|
||||
Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.
|
||||
|
|
|
|||
|
|
@ -30,12 +30,6 @@ extension ObservableType {
|
|||
return Reduce(source: self.asObservable(), seed: seed, accumulator: accumulator, mapResult: mapResult)
|
||||
}
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use version with named accumulator parameter.")
|
||||
public func reduce<A, R>(seed: A, _ accumulator: (A, E) throws -> A, mapResult: (A) throws -> R)
|
||||
-> Observable<R> {
|
||||
return Reduce(source: self.asObservable(), seed: seed, accumulator: accumulator, mapResult: mapResult)
|
||||
}
|
||||
|
||||
/**
|
||||
Applies an `accumulator` function over an observable sequence, returning the result of the aggregation as a single element in the result sequence. The specified `seed` value is used as the initial accumulator value.
|
||||
|
||||
|
|
|
|||
|
|
@ -8,66 +8,6 @@
|
|||
|
||||
import Foundation
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Observable.create`")
|
||||
public func create<E>(subscribe: (AnyObserver<E>) -> Disposable) -> Observable<E> {
|
||||
return Observable.create(subscribe)
|
||||
}
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Observable.empty`")
|
||||
public func empty<E>(type: E.Type = E.self) -> Observable<E> {
|
||||
return Observable.empty()
|
||||
}
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Observable.never`")
|
||||
public func never<E>(type: E.Type = E.self) -> Observable<E> {
|
||||
return Observable.never()
|
||||
}
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Observable.just`")
|
||||
public func just<E>(element: E) -> Observable<E> {
|
||||
return Observable.just(element)
|
||||
}
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Observable.just`")
|
||||
public func just<E>(element: E, scheduler: ImmediateSchedulerType) -> Observable<E> {
|
||||
return Observable.just(element, scheduler: scheduler)
|
||||
}
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Observable.error`")
|
||||
public func failWith<E>(error: ErrorType, _ type: E.Type = E.self) -> Observable<E> {
|
||||
return Observable.error(error)
|
||||
}
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Observable.of`")
|
||||
public func sequenceOf<E>(elements: E ..., scheduler: ImmediateSchedulerType? = nil) -> Observable<E> {
|
||||
return Sequence(elements: elements, scheduler: scheduler)
|
||||
}
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Observable.deferred`")
|
||||
public func deferred<E>(observableFactory: () throws -> Observable<E>) -> Observable<E> {
|
||||
return Observable.deferred(observableFactory)
|
||||
}
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Observable.generate` with named initialState parameter.")
|
||||
public func generate<E>(initialState: E, condition: E throws -> Bool, scheduler: ImmediateSchedulerType = CurrentThreadScheduler.instance, iterate: E throws -> E) -> Observable<E> {
|
||||
return Observable.generate(initialState: initialState, condition: condition, scheduler: scheduler, iterate: iterate)
|
||||
}
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Observable.range` with named start, count, scheduler parameters.")
|
||||
public func range(start: Int, _ count: Int, _ scheduler: ImmediateSchedulerType = CurrentThreadScheduler.instance) -> Observable<Int> {
|
||||
return Observable.range(start: start, count: count, scheduler: scheduler)
|
||||
}
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Observable.repeatElement` with named scheduler parameter.")
|
||||
public func repeatElement<E>(element: E, _ scheduler: ImmediateSchedulerType) -> Observable<E> {
|
||||
return Observable.repeatElement(element, scheduler: scheduler)
|
||||
}
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `Observable.using`.")
|
||||
public func using<S, R: Disposable>(resourceFactory: () throws -> R, observableFactory: R throws -> Observable<S>) -> Observable<S> {
|
||||
return Observable.using(resourceFactory, observableFactory: observableFactory)
|
||||
}
|
||||
|
||||
extension Observable {
|
||||
// MARK: create
|
||||
|
||||
|
|
@ -256,19 +196,6 @@ extension SequenceType {
|
|||
|
||||
- seealso: [from operator on reactivex.io](http://reactivex.io/documentation/operators/from.html)
|
||||
|
||||
- returns: The observable sequence whose elements are pulled from the given enumerable sequence.
|
||||
*/
|
||||
@warn_unused_result(message="http://git.io/rxs.uo")
|
||||
@available(*, deprecated=2.0.0, message="Please use toObservable extension.")
|
||||
public func asObservable() -> Observable<Generator.Element> {
|
||||
return Sequence(elements: Array(self), scheduler: nil)
|
||||
}
|
||||
|
||||
/**
|
||||
Converts a sequence to an observable sequence.
|
||||
|
||||
- seealso: [from operator on reactivex.io](http://reactivex.io/documentation/operators/from.html)
|
||||
|
||||
- returns: The observable sequence whose elements are pulled from the given enumerable sequence.
|
||||
*/
|
||||
@warn_unused_result(message="http://git.io/rxs.uo")
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ import Foundation
|
|||
|
||||
// MARK: combineLatest
|
||||
|
||||
extension CollectionType where Generator.Element : ObservableConvertibleType {
|
||||
extension CollectionType where Generator.Element : ObservableType {
|
||||
|
||||
/**
|
||||
Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
|
||||
|
|
@ -28,7 +28,7 @@ extension CollectionType where Generator.Element : ObservableConvertibleType {
|
|||
|
||||
// MARK: zip
|
||||
|
||||
extension CollectionType where Generator.Element : ObservableConvertibleType {
|
||||
extension CollectionType where Generator.Element : ObservableType {
|
||||
|
||||
/**
|
||||
Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.
|
||||
|
|
@ -83,7 +83,7 @@ extension ObservableType {
|
|||
}
|
||||
}
|
||||
|
||||
extension SequenceType where Generator.Element : ObservableConvertibleType {
|
||||
extension SequenceType where Generator.Element : ObservableType {
|
||||
|
||||
/**
|
||||
Concatenates all observable sequences in the given sequence, as long as the previous observable sequence terminated successfully.
|
||||
|
|
@ -105,7 +105,7 @@ extension SequenceType where Generator.Element : ObservableConvertibleType {
|
|||
}
|
||||
}
|
||||
|
||||
extension CollectionType where Generator.Element : ObservableConvertibleType {
|
||||
extension CollectionType where Generator.Element : ObservableType {
|
||||
|
||||
/**
|
||||
Concatenates all observable sequences in the given sequence, as long as the previous observable sequence terminated successfully.
|
||||
|
|
@ -208,7 +208,7 @@ extension ObservableType {
|
|||
|
||||
}
|
||||
|
||||
extension SequenceType where Generator.Element : ObservableConvertibleType {
|
||||
extension SequenceType where Generator.Element : ObservableType {
|
||||
/**
|
||||
Continues an observable sequence that is terminated by an error with the next observable sequence.
|
||||
|
||||
|
|
@ -281,7 +281,7 @@ extension ObservableType {
|
|||
}
|
||||
}
|
||||
|
||||
extension SequenceType where Generator.Element : ObservableConvertibleType {
|
||||
extension SequenceType where Generator.Element : ObservableType {
|
||||
|
||||
/**
|
||||
Propagates the observable sequence that reacts first.
|
||||
|
|
|
|||
|
|
@ -28,13 +28,6 @@ extension ObservableType {
|
|||
return Throttle(source: self.asObservable(), dueTime: dueTime, scheduler: scheduler)
|
||||
}
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use version with named scheduler parameter.")
|
||||
public func throttle(dueTime: RxTimeInterval, _ scheduler: SchedulerType)
|
||||
-> Observable<E> {
|
||||
return Throttle(source: self.asObservable(), dueTime: dueTime, scheduler: scheduler)
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
Ignores elements from an observable sequence which are followed by another element within a specified relative time duration, using the specified scheduler to run throttling timers.
|
||||
|
||||
|
|
@ -51,12 +44,6 @@ extension ObservableType {
|
|||
-> Observable<E> {
|
||||
return Throttle(source: self.asObservable(), dueTime: dueTime, scheduler: scheduler)
|
||||
}
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use version with named scheduler parameter.")
|
||||
public func debounce(dueTime: RxTimeInterval, _ scheduler: SchedulerType)
|
||||
-> Observable<E> {
|
||||
return Throttle(source: self.asObservable(), dueTime: dueTime, scheduler: scheduler)
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: sample
|
||||
|
|
@ -80,23 +67,6 @@ extension ObservableType {
|
|||
-> Observable<E> {
|
||||
return Sample(source: self.asObservable(), sampler: sampler.asObservable(), onlyNew: true)
|
||||
}
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `withLatestFrom`.")
|
||||
public func sampleLatest<O: ObservableType>(sampler: O)
|
||||
-> Observable<E> {
|
||||
return Sample(source: self.asObservable(), sampler: sampler.asObservable(), onlyNew: false)
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: interval
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use version `Observable<Int64>.interval`.")
|
||||
public func interval(period: RxTimeInterval, _ scheduler: SchedulerType)
|
||||
-> Observable<Int64> {
|
||||
return Timer(dueTime: period,
|
||||
period: period,
|
||||
scheduler: scheduler
|
||||
)
|
||||
}
|
||||
|
||||
extension Observable where Element : SignedIntegerType {
|
||||
|
|
@ -121,16 +91,6 @@ extension Observable where Element : SignedIntegerType {
|
|||
|
||||
// MARK: timer
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use version `Observable<Int64>.timer`.")
|
||||
public func timer(dueTime: RxTimeInterval, _ period: RxTimeInterval, _ scheduler: SchedulerType)
|
||||
-> Observable<Int64> {
|
||||
return Timer(
|
||||
dueTime: dueTime,
|
||||
period: period,
|
||||
scheduler: scheduler
|
||||
)
|
||||
}
|
||||
|
||||
extension Observable where Element: SignedIntegerType {
|
||||
/**
|
||||
Returns an observable sequence that periodically produces a value after the specified initial relative due time has elapsed, using the specified scheduler to run timers.
|
||||
|
|
@ -153,16 +113,6 @@ extension Observable where Element: SignedIntegerType {
|
|||
}
|
||||
}
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use version with named scheduler parameter.")
|
||||
public func timer(dueTime: RxTimeInterval, _ scheduler: SchedulerType)
|
||||
-> Observable<Int64> {
|
||||
return Timer(
|
||||
dueTime: dueTime,
|
||||
period: nil,
|
||||
scheduler: scheduler
|
||||
)
|
||||
}
|
||||
|
||||
extension Observable where Element: SignedIntegerType {
|
||||
/**
|
||||
Returns an observable sequence that produces a single value at the specified absolute due time, using the specified scheduler to run the timer.
|
||||
|
|
@ -202,12 +152,6 @@ extension ObservableType {
|
|||
-> Observable<E> {
|
||||
return TakeTime(source: self.asObservable(), duration: duration, scheduler: scheduler)
|
||||
}
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use version with named scheduler parameter.")
|
||||
public func take(duration: RxTimeInterval, _ scheduler: SchedulerType)
|
||||
-> Observable<E> {
|
||||
return TakeTime(source: self.asObservable(), duration: duration, scheduler: scheduler)
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: skip
|
||||
|
|
@ -228,12 +172,6 @@ extension ObservableType {
|
|||
-> Observable<E> {
|
||||
return SkipTime(source: self.asObservable(), duration: duration, scheduler: scheduler)
|
||||
}
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use version with named scheduler parameter.")
|
||||
public func skip(duration: RxTimeInterval, _ scheduler: SchedulerType)
|
||||
-> Observable<E> {
|
||||
return SkipTime(source: self.asObservable(), duration: duration, scheduler: scheduler)
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: ignoreElements
|
||||
|
|
@ -274,12 +212,6 @@ extension ObservableType {
|
|||
-> Observable<E> {
|
||||
return DelaySubscription(source: self.asObservable(), dueTime: dueTime, scheduler: scheduler)
|
||||
}
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use version with named scheduler parameter.")
|
||||
public func delaySubscription(dueTime: RxTimeInterval, _ scheduler: SchedulerType)
|
||||
-> Observable<E> {
|
||||
return DelaySubscription(source: self.asObservable(), dueTime: dueTime, scheduler: scheduler)
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: buffer
|
||||
|
|
@ -345,12 +277,6 @@ extension ObservableType {
|
|||
return Timeout(source: self.asObservable(), dueTime: dueTime, other: Observable.error(RxError.Timeout), scheduler: scheduler)
|
||||
}
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use version with named scheduler parameter.")
|
||||
public func timeout(dueTime: RxTimeInterval, _ scheduler: SchedulerType)
|
||||
-> Observable<E> {
|
||||
return Timeout(source: self.asObservable(), dueTime: dueTime, other: Observable.error(RxError.Timeout), scheduler: scheduler)
|
||||
}
|
||||
|
||||
/**
|
||||
Applies a timeout policy for each element in the observable sequence, using the specified scheduler to run timeout timers. If the next element isn't received within the specified timeout duration starting from its predecessor, the other observable sequence is used to produce future messages from that point on.
|
||||
|
||||
|
|
@ -366,10 +292,4 @@ extension ObservableType {
|
|||
-> Observable<E> {
|
||||
return Timeout(source: self.asObservable(), dueTime: dueTime, other: other.asObservable(), scheduler: scheduler)
|
||||
}
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use version with named scheduler parameter.")
|
||||
public func timeout<O: ObservableConvertibleType where E == O.E>(dueTime: RxTimeInterval, other: O, _ scheduler: SchedulerType)
|
||||
-> Observable<E> {
|
||||
return Timeout(source: self.asObservable(), dueTime: dueTime, other: other.asObservable(), scheduler: scheduler)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,29 +0,0 @@
|
|||
//
|
||||
// ObserverType+Extensions.swift
|
||||
// RxSwift
|
||||
//
|
||||
// Created by Krunoslav Zaher on 6/13/15.
|
||||
// Copyright © 2015 Krunoslav Zaher. All rights reserved.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use observer.on(event)")
|
||||
public func send<O: ObserverType>(observer: O, _ event: Event<O.E>) {
|
||||
observer.on(event)
|
||||
}
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use observer.on(.Next(element))")
|
||||
public func sendNext<O: ObserverType>(observer: O, _ element: O.E) {
|
||||
observer.on(.Next(element))
|
||||
}
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use observer.on(.Error(error))")
|
||||
public func sendError<O: ObserverType>(observer: O, _ error: ErrorType) {
|
||||
observer.on(.Error(error))
|
||||
}
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use observer.on(.Completed)")
|
||||
public func sendCompleted<O: ObserverType>(observer: O) {
|
||||
observer.on(.Completed)
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
//
|
||||
// Darwin.Platform.swift
|
||||
// Benchmark
|
||||
// Platform.Darwin.swift
|
||||
// Rx
|
||||
//
|
||||
// Created by Krunoslav Zaher on 12/29/15.
|
||||
// Copyright © 2015 Krunoslav Zaher. All rights reserved.
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
//
|
||||
// Linux.Platform.swift
|
||||
// Benchmark
|
||||
// Platform.Linux.swift
|
||||
// Rx
|
||||
//
|
||||
// Created by Krunoslav Zaher on 12/29/15.
|
||||
// Copyright © 2015 Krunoslav Zaher. All rights reserved.
|
||||
|
|
@ -136,6 +136,7 @@
|
|||
public typealias dispatch_object_t = Int
|
||||
public typealias dispatch_block_t = () -> ()
|
||||
public typealias dispatch_queue_attr_t = Int
|
||||
public typealias qos_class_t = Int
|
||||
|
||||
public let DISPATCH_QUEUE_SERIAL = 0
|
||||
|
||||
|
|
@ -143,6 +144,12 @@
|
|||
public let DISPATCH_QUEUE_PRIORITY_DEFAULT = 2
|
||||
public let DISPATCH_QUEUE_PRIORITY_LOW = 3
|
||||
|
||||
public let QOS_CLASS_USER_INTERACTIVE = 0
|
||||
public let QOS_CLASS_USER_INITIATED = 1
|
||||
public let QOS_CLASS_DEFAULT = 2
|
||||
public let QOS_CLASS_UTILITY = 3
|
||||
public let QOS_CLASS_BACKGROUND = 4
|
||||
|
||||
public let DISPATCH_SOURCE_TYPE_TIMER = 0
|
||||
public let DISPATCH_TIME_FOREVER = 1 as UInt64
|
||||
public let NSEC_PER_SEC = 1
|
||||
|
|
@ -9,12 +9,12 @@
|
|||
import Foundation
|
||||
|
||||
/**
|
||||
Type that represents time interval in the context of this scheduler.
|
||||
Type that represents time interval in the context of RxSwift.
|
||||
*/
|
||||
public typealias RxTimeInterval = NSTimeInterval
|
||||
|
||||
/**
|
||||
Type that represents absolute time in the context of this scheduler.
|
||||
Type that represents absolute time in the context of RxSwift.
|
||||
*/
|
||||
public typealias RxTime = NSDate
|
||||
|
||||
|
|
|
|||
|
|
@ -38,22 +38,28 @@ public class ConcurrentDispatchQueueScheduler: SchedulerType {
|
|||
}
|
||||
|
||||
/**
|
||||
Convenience init for scheduler that wraps one of the global concurrent dispatch queues.
|
||||
|
||||
- parameter globalConcurrentQueuePriority: Target global dispatch queue.
|
||||
*/
|
||||
public convenience init(globalConcurrentQueuePriority: DispatchQueueSchedulerPriority) {
|
||||
var priority: Int = 0
|
||||
switch globalConcurrentQueuePriority {
|
||||
case .High:
|
||||
priority = DISPATCH_QUEUE_PRIORITY_HIGH
|
||||
Convenience init for scheduler that wraps one of the global concurrent dispatch queues.
|
||||
|
||||
- parameter globalConcurrentQueueQOS: Target global dispatch queue, by quality of service class.
|
||||
*/
|
||||
@available(iOS 8, OSX 10.10, *)
|
||||
public convenience init(globalConcurrentQueueQOS: DispatchQueueSchedulerQOS) {
|
||||
let priority: qos_class_t
|
||||
switch globalConcurrentQueueQOS {
|
||||
case .UserInteractive:
|
||||
priority = QOS_CLASS_USER_INTERACTIVE
|
||||
case .UserInitiated:
|
||||
priority = QOS_CLASS_USER_INITIATED
|
||||
case .Default:
|
||||
priority = DISPATCH_QUEUE_PRIORITY_DEFAULT
|
||||
case .Low:
|
||||
priority = DISPATCH_QUEUE_PRIORITY_LOW
|
||||
priority = QOS_CLASS_DEFAULT
|
||||
case .Utility:
|
||||
priority = QOS_CLASS_UTILITY
|
||||
case .Background:
|
||||
priority = QOS_CLASS_BACKGROUND
|
||||
}
|
||||
self.init(queue: dispatch_get_global_queue(priority, UInt(0)))
|
||||
}
|
||||
|
||||
|
||||
class func convertTimeIntervalToDispatchInterval(timeInterval: NSTimeInterval) -> Int64 {
|
||||
return Int64(timeInterval * Double(NSEC_PER_SEC))
|
||||
|
|
|
|||
|
|
@ -35,9 +35,6 @@ public final class ConcurrentMainScheduler : SchedulerType {
|
|||
_mainScheduler = mainScheduler
|
||||
}
|
||||
|
||||
@available(*, deprecated=2.0.0, message="Please use `ConcurrentMainScheduler.instance`")
|
||||
public static let sharedInstance = ConcurrentMainScheduler(mainScheduler: MainScheduler.instance)
|
||||
|
||||
/**
|
||||
Singleton instance of `ConcurrentMainScheduler`
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -1,30 +0,0 @@
|
|||
//
|
||||
// DispatchQueueSchedulerPriority.swift
|
||||
// RxSwift
|
||||
//
|
||||
// Created by Krunoslav Zaher on 7/5/15.
|
||||
// Copyright © 2015 Krunoslav Zaher. All rights reserved.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
||||
/**
|
||||
Identifies one of the global concurrent dispatch queues with specified priority.
|
||||
*/
|
||||
public enum DispatchQueueSchedulerPriority {
|
||||
|
||||
/**
|
||||
Identifies global dispatch queue with `DISPATCH_QUEUE_PRIORITY_HIGH`
|
||||
*/
|
||||
case High
|
||||
|
||||
/**
|
||||
Identifies global dispatch queue with `DISPATCH_QUEUE_PRIORITY_DEFAULT`
|
||||
*/
|
||||
case Default
|
||||
|
||||
/**
|
||||
Identifies global dispatch queue with `DISPATCH_QUEUE_PRIORITY_LOW`
|
||||
*/
|
||||
case Low
|
||||
}
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
//
|
||||
// DispatchQueueSchedulerQOS.swift
|
||||
// RxSwift
|
||||
//
|
||||
// Created by John C. "Hsoi" Daub on 12/30/15.
|
||||
// Copyright © 2015 Krunoslav Zaher. All rights reserved.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
||||
/**
|
||||
Identifies one of the global concurrent dispatch queues with specified quality of service class.
|
||||
*/
|
||||
public enum DispatchQueueSchedulerQOS {
|
||||
|
||||
/**
|
||||
Identifies global dispatch queue with `QOS_CLASS_USER_INTERACTIVE`
|
||||
*/
|
||||
case UserInteractive
|
||||
|
||||
/**
|
||||
Identifies global dispatch queue with `QOS_CLASS_USER_INITIATED`
|
||||
*/
|
||||
case UserInitiated
|
||||
|
||||
/**
|
||||
Identifies global dispatch queue with `QOS_CLASS_DEFAULT`
|
||||
*/
|
||||
case Default
|
||||
|
||||
/**
|
||||
Identifies global dispatch queue with `QOS_CLASS_UTILITY`
|
||||
*/
|
||||
case Utility
|
||||
|
||||
/**
|
||||
Identifies global dispatch queue with `QOS_CLASS_BACKGROUND`
|
||||
*/
|
||||
case Background
|
||||
}
|
||||
|
|
@ -8,10 +8,17 @@
|
|||
|
||||
import Foundation
|
||||
|
||||
/**
|
||||
Provides a virtual time scheduler that uses `NSDate` for absolute time and `NSTimeInterval` for relative time.
|
||||
*/
|
||||
public class HistoricalScheduler : VirtualTimeScheduler<HistoricalSchedulerTimeConverter> {
|
||||
|
||||
/**
|
||||
Creates a new historical scheduler with initial clock value.
|
||||
|
||||
- parameter initialClock: Initial value for virtual clock.
|
||||
*/
|
||||
public init(initialClock: RxTime = NSDate(timeIntervalSince1970: 0)) {
|
||||
//print(initialClock)
|
||||
super.init(initialClock: initialClock, converter: HistoricalSchedulerTimeConverter())
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -8,30 +8,68 @@
|
|||
|
||||
import Foundation
|
||||
|
||||
/**
|
||||
Converts historial virtual time into real time.
|
||||
|
||||
Since historical virtual time is also measured in `NSDate`, this converter is identity function.
|
||||
*/
|
||||
public struct HistoricalSchedulerTimeConverter : VirtualTimeConverterType {
|
||||
/**
|
||||
Virtual time unit used that represents ticks of virtual clock.
|
||||
*/
|
||||
public typealias VirtualTimeUnit = RxTime
|
||||
|
||||
/**
|
||||
Virtual time unit used to represent differences of virtual times.
|
||||
*/
|
||||
public typealias VirtualTimeIntervalUnit = RxTimeInterval
|
||||
|
||||
/**
|
||||
Returns identical value of argument passed because historical virtual time is equal to real time, just
|
||||
decoupled from local machine clock.
|
||||
*/
|
||||
public func convertFromVirtualTime(virtualTime: VirtualTimeUnit) -> RxTime {
|
||||
return virtualTime
|
||||
}
|
||||
|
||||
/**
|
||||
Returns identical value of argument passed because historical virtual time is equal to real time, just
|
||||
decoupled from local machine clock.
|
||||
*/
|
||||
public func convertToVirtualTime(time: RxTime) -> VirtualTimeUnit {
|
||||
return time
|
||||
}
|
||||
|
||||
/**
|
||||
Returns identical value of argument passed because historical virtual time is equal to real time, just
|
||||
decoupled from local machine clock.
|
||||
*/
|
||||
public func convertFromVirtualTimeInterval(virtualTimeInterval: VirtualTimeIntervalUnit) -> RxTimeInterval {
|
||||
return virtualTimeInterval
|
||||
}
|
||||
|
||||
/**
|
||||
Returns identical value of argument passed because historical virtual time is equal to real time, just
|
||||
decoupled from local machine clock.
|
||||
*/
|
||||
public func convertToVirtualTimeInterval(timeInterval: RxTimeInterval) -> VirtualTimeIntervalUnit {
|
||||
return timeInterval
|
||||
}
|
||||
|
||||
public func addVirtualTimeAndTimeInterval(time time: VirtualTimeUnit, timeInterval: VirtualTimeIntervalUnit) -> VirtualTimeUnit {
|
||||
return time.dateByAddingTimeInterval(timeInterval)
|
||||
/**
|
||||
Offsets `NSDate` by time interval.
|
||||
|
||||
- parameter time: Time.
|
||||
- parameter timeInterval: Time interval offset.
|
||||
- returns: Time offsetted by time interval.
|
||||
*/
|
||||
public func offsetVirtualTime(time time: VirtualTimeUnit, offset: VirtualTimeIntervalUnit) -> VirtualTimeUnit {
|
||||
return time.dateByAddingTimeInterval(offset)
|
||||
}
|
||||
|
||||
/**
|
||||
Compares two `NSDate`s.
|
||||
*/
|
||||
public func compareVirtualTime(lhs: VirtualTimeUnit, _ rhs: VirtualTimeUnit) -> VirtualTimeComparison {
|
||||
switch lhs.compare(rhs) {
|
||||
case .OrderedAscending:
|
||||
|
|
|
|||
|
|
@ -29,12 +29,6 @@ public final class MainScheduler : SerialDispatchQueueScheduler {
|
|||
super.init(serialQueue: _mainQueue)
|
||||
}
|
||||
|
||||
/**
|
||||
Singleton instance of `MainScheduler`
|
||||
*/
|
||||
@available(*, deprecated=2.0.0, message="Please use `MainScheduler.instance`")
|
||||
public static let sharedInstance = MainScheduler()
|
||||
|
||||
/**
|
||||
Singleton instance of `MainScheduler`
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -74,24 +74,29 @@ public class SerialDispatchQueueScheduler: SchedulerType {
|
|||
}
|
||||
|
||||
/**
|
||||
Constructs new `SerialDispatchQueueScheduler` that wraps on of the global concurrent dispatch queues.
|
||||
|
||||
- parameter globalConcurrentQueuePriority: Identifier for global dispatch queue with specified priority.
|
||||
- parameter internalSerialQueueName: Custom name for internal serial dispatch queue proxy.
|
||||
*/
|
||||
public convenience init(globalConcurrentQueuePriority: DispatchQueueSchedulerPriority, internalSerialQueueName: String = "rx.global_dispatch_queue.serial") {
|
||||
var priority: Int = 0
|
||||
switch globalConcurrentQueuePriority {
|
||||
case .High:
|
||||
priority = DISPATCH_QUEUE_PRIORITY_HIGH
|
||||
Constructs new `SerialDispatchQueueScheduler` that wraps on of the global concurrent dispatch queues.
|
||||
|
||||
- parameter globalConcurrentQueueQOS: Identifier for global dispatch queue with specified quality of service class.
|
||||
- parameter internalSerialQueueName: Custom name for internal serial dispatch queue proxy.
|
||||
*/
|
||||
@available(iOS 8, OSX 10.10, *)
|
||||
public convenience init(globalConcurrentQueueQOS: DispatchQueueSchedulerQOS, internalSerialQueueName: String = "rx.global_dispatch_queue.serial") {
|
||||
let priority: qos_class_t
|
||||
switch globalConcurrentQueueQOS {
|
||||
case .UserInteractive:
|
||||
priority = QOS_CLASS_USER_INTERACTIVE
|
||||
case .UserInitiated:
|
||||
priority = QOS_CLASS_USER_INITIATED
|
||||
case .Default:
|
||||
priority = DISPATCH_QUEUE_PRIORITY_DEFAULT
|
||||
case .Low:
|
||||
priority = DISPATCH_QUEUE_PRIORITY_LOW
|
||||
priority = QOS_CLASS_DEFAULT
|
||||
case .Utility:
|
||||
priority = QOS_CLASS_UTILITY
|
||||
case .Background:
|
||||
priority = QOS_CLASS_BACKGROUND
|
||||
}
|
||||
self.init(queue: dispatch_get_global_queue(priority, UInt(0)), internalSerialQueueName: internalSerialQueueName)
|
||||
}
|
||||
|
||||
|
||||
class func convertTimeIntervalToDispatchInterval(timeInterval: NSTimeInterval) -> Int64 {
|
||||
return Int64(timeInterval * Double(NSEC_PER_SEC))
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,17 +8,60 @@
|
|||
|
||||
import Foundation
|
||||
|
||||
/**
|
||||
Parametrization for virtual time used by `VirtualTimeScheduler`s.
|
||||
*/
|
||||
public protocol VirtualTimeConverterType {
|
||||
/**
|
||||
Virtual time unit used that represents ticks of virtual clock.
|
||||
*/
|
||||
typealias VirtualTimeUnit
|
||||
|
||||
/**
|
||||
Virtual time unit used to represent differences of virtual times.
|
||||
*/
|
||||
typealias VirtualTimeIntervalUnit
|
||||
|
||||
/**
|
||||
Converts virtual time to real time.
|
||||
|
||||
- parameter virtualTime: Virtual time to convert to `NSDate`.
|
||||
- returns: `NSDate` corresponding to virtual time.
|
||||
*/
|
||||
func convertFromVirtualTime(virtualTime: VirtualTimeUnit) -> RxTime
|
||||
|
||||
/**
|
||||
Converts real time to virtual time.
|
||||
|
||||
- parameter time: `NSDate` to convert to virtual time.
|
||||
- returns: Virtual time corresponding to `NSDate`.
|
||||
*/
|
||||
func convertToVirtualTime(time: RxTime) -> VirtualTimeUnit
|
||||
|
||||
/**
|
||||
Converts from virtual time interval to `NSTimeInterval`.
|
||||
|
||||
- parameter virtualTimeInterval: Virtual time interval to convert to `NSTimeInterval`.
|
||||
- returns: `NSTimeInterval` corresponding to virtual time interval.
|
||||
*/
|
||||
func convertFromVirtualTimeInterval(virtualTimeInterval: VirtualTimeIntervalUnit) -> RxTimeInterval
|
||||
|
||||
/**
|
||||
Converts from virtual time interval to `NSTimeInterval`.
|
||||
|
||||
- parameter timeInterval: `NSTimeInterval` to convert to virtual time interval.
|
||||
- returns: Virtual time interval corresponding to time interval.
|
||||
*/
|
||||
func convertToVirtualTimeInterval(timeInterval: RxTimeInterval) -> VirtualTimeIntervalUnit
|
||||
|
||||
func addVirtualTimeAndTimeInterval(time time: VirtualTimeUnit, timeInterval: VirtualTimeIntervalUnit) -> VirtualTimeUnit
|
||||
/**
|
||||
Offsets virtual time by virtual time interval.
|
||||
|
||||
- parameter time: Virtual time.
|
||||
- parameter offset: Virtual time interval.
|
||||
- returns: Time corresponding to time offsetted by virtual time interval.
|
||||
*/
|
||||
func offsetVirtualTime(time time: VirtualTimeUnit, offset: VirtualTimeIntervalUnit) -> VirtualTimeUnit
|
||||
|
||||
/**
|
||||
This is aditional abstraction because `NSDate` is unfortunately not comparable.
|
||||
|
|
@ -46,7 +89,9 @@ public enum VirtualTimeComparison {
|
|||
lhs > rhs.
|
||||
*/
|
||||
case GreaterThan
|
||||
}
|
||||
|
||||
extension VirtualTimeComparison {
|
||||
/**
|
||||
lhs < rhs.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -102,7 +102,7 @@ public class VirtualTimeScheduler<Converter: VirtualTimeConverterType>
|
|||
- returns: The disposable object used to cancel the scheduled action (best effort).
|
||||
*/
|
||||
public func scheduleRelativeVirtual<StateType>(state: StateType, dueTime: VirtualTimeInterval, action: StateType -> Disposable) -> Disposable {
|
||||
let time = _converter.addVirtualTimeAndTimeInterval(time: self.clock, timeInterval: dueTime)
|
||||
let time = _converter.offsetVirtualTime(time: self.clock, offset: dueTime)
|
||||
return scheduleAbsoluteVirtual(state, time: time, action: action)
|
||||
}
|
||||
|
||||
|
|
@ -220,7 +220,7 @@ public class VirtualTimeScheduler<Converter: VirtualTimeConverterType>
|
|||
public func sleep(virtualInterval: VirtualTimeInterval) {
|
||||
MainScheduler.ensureExecutingOnScheduler()
|
||||
|
||||
let sleepTo = _converter.addVirtualTimeAndTimeInterval(time: clock, timeInterval: virtualInterval)
|
||||
let sleepTo = _converter.offsetVirtualTime(time: clock, offset: virtualInterval)
|
||||
if _converter.compareVirtualTime(sleepTo, clock).lessThen {
|
||||
fatalError("Can't sleep to past.")
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,9 +14,7 @@ Variable is a wrapper for `BehaviorSubject`.
|
|||
Unlike `BehaviorSubject` it can't terminate with error, and when variable is deallocated
|
||||
it will complete it's observable sequence (`asObservable`).
|
||||
*/
|
||||
@available(*, deprecated=2.0.0, message="Variable will remain in the 2.0.0 API, but just use `variable.asObservable()` because it won't be `ObservableType` (no way to warn about deprecated interface implementation). Just do, `variable.asObservable().map { _ in ...}` and ignore this warning.")
|
||||
public class Variable<Element>
|
||||
: ObservableType { // << -- this part and subscribe method will be deprecated
|
||||
public class Variable<Element> {
|
||||
|
||||
public typealias E = Element
|
||||
|
||||
|
|
@ -58,19 +56,6 @@ public class Variable<Element>
|
|||
_subject = BehaviorSubject(value: value)
|
||||
}
|
||||
|
||||
/**
|
||||
Subscribes an observer to sequence of variable values.
|
||||
|
||||
Immediately upon subscription current value is sent to the observer.
|
||||
|
||||
- parameter observer: Observer to subscribe to variable values.
|
||||
- returns: Disposable object that can be used to unsubscribe the observer from the variable.
|
||||
*/
|
||||
@warn_unused_result(message="http://git.io/rxs.ud")
|
||||
public func subscribe<O: ObserverType where O.E == E>(observer: O) -> Disposable {
|
||||
return _subject.subscribe(observer)
|
||||
}
|
||||
|
||||
/**
|
||||
- returns: Canonical interface for push style sequence
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -9,8 +9,18 @@
|
|||
import Foundation
|
||||
import RxSwift
|
||||
|
||||
/**
|
||||
Converter from virtual time and time interval measured in `Int`s to `NSDate` and `NSTimeInterval`.
|
||||
*/
|
||||
public struct TestSchedulerVirtualTimeConverter : VirtualTimeConverterType {
|
||||
/**
|
||||
Virtual time unit used that represents ticks of virtual clock.
|
||||
*/
|
||||
public typealias VirtualTimeUnit = Int
|
||||
|
||||
/**
|
||||
Virtual time unit used to represent differences of virtual times.
|
||||
*/
|
||||
public typealias VirtualTimeIntervalUnit = Int
|
||||
|
||||
private let _resolution: Double
|
||||
|
|
@ -19,26 +29,61 @@ public struct TestSchedulerVirtualTimeConverter : VirtualTimeConverterType {
|
|||
_resolution = resolution
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
Converts virtual time to real time.
|
||||
|
||||
- parameter virtualTime: Virtual time to convert to `NSDate`.
|
||||
- returns: `NSDate` corresponding to virtual time.
|
||||
*/
|
||||
public func convertFromVirtualTime(virtualTime: VirtualTimeUnit) -> RxTime {
|
||||
return NSDate(timeIntervalSince1970: RxTimeInterval(virtualTime) * _resolution)
|
||||
}
|
||||
|
||||
/**
|
||||
Converts real time to virtual time.
|
||||
|
||||
- parameter time: `NSDate` to convert to virtual time.
|
||||
- returns: Virtual time corresponding to `NSDate`.
|
||||
*/
|
||||
public func convertToVirtualTime(time: RxTime) -> VirtualTimeUnit {
|
||||
return VirtualTimeIntervalUnit(time.timeIntervalSince1970 / _resolution + 0.5)
|
||||
}
|
||||
|
||||
/**
|
||||
Converts from virtual time interval to `NSTimeInterval`.
|
||||
|
||||
- parameter virtualTimeInterval: Virtual time interval to convert to `NSTimeInterval`.
|
||||
- returns: `NSTimeInterval` corresponding to virtual time interval.
|
||||
*/
|
||||
public func convertFromVirtualTimeInterval(virtualTimeInterval: VirtualTimeIntervalUnit) -> RxTimeInterval {
|
||||
return RxTimeInterval(virtualTimeInterval) * _resolution
|
||||
}
|
||||
|
||||
/**
|
||||
Converts from virtual time interval to `NSTimeInterval`.
|
||||
|
||||
- parameter timeInterval: `NSTimeInterval` to convert to virtual time interval.
|
||||
- returns: Virtual time interval corresponding to time interval.
|
||||
*/
|
||||
public func convertToVirtualTimeInterval(timeInterval: RxTimeInterval) -> VirtualTimeIntervalUnit {
|
||||
return VirtualTimeIntervalUnit(timeInterval / _resolution + 0.5)
|
||||
}
|
||||
|
||||
public func addVirtualTimeAndTimeInterval(time time: VirtualTimeUnit, timeInterval: VirtualTimeIntervalUnit) -> VirtualTimeUnit {
|
||||
return time + timeInterval
|
||||
/**
|
||||
Adds virtual time and virtual time interval.
|
||||
|
||||
- parameter time: Virtual time.
|
||||
- parameter offset: Virtual time interval.
|
||||
- returns: Time corresponding to time offsetted by virtual time interval.
|
||||
*/
|
||||
public func offsetVirtualTime(time time: VirtualTimeUnit, offset: VirtualTimeIntervalUnit) -> VirtualTimeUnit {
|
||||
return time + offset
|
||||
}
|
||||
|
||||
/**
|
||||
Compares virtual times.
|
||||
*/
|
||||
public func compareVirtualTime(lhs: VirtualTimeUnit, _ rhs: VirtualTimeUnit) -> VirtualTimeComparison {
|
||||
if lhs < rhs {
|
||||
return .LessThan
|
||||
|
|
|
|||
|
|
@ -1 +0,0 @@
|
|||
../../RxSwift/Platform/Darwin.Platform.swift
|
||||
|
|
@ -1 +0,0 @@
|
|||
../../RxSwift/Schedulers/DispatchQueueSchedulerPriority.swift
|
||||
|
|
@ -0,0 +1 @@
|
|||
../../RxSwift/Schedulers/DispatchQueueSchedulerQOS.swift
|
||||
|
|
@ -1 +0,0 @@
|
|||
../../RxSwift/Platform/Linux.Platform.swift
|
||||
|
|
@ -1 +0,0 @@
|
|||
../../RxSwift/ObserverType+Extensions.swift
|
||||
|
|
@ -0,0 +1 @@
|
|||
../../RxSwift/Platform/Platform.Darwin.swift
|
||||
|
|
@ -0,0 +1 @@
|
|||
../../RxSwift/Platform/Platform.Linux.swift
|
||||
|
|
@ -1 +0,0 @@
|
|||
../../RxSwift/Disposables/ScopedDisposable.swift
|
||||
|
|
@ -179,7 +179,7 @@ extension ControlTests {
|
|||
func testLabel_NextElementsSetsValue() {
|
||||
let subject = UILabel()
|
||||
let attributedTextSequence = Variable<NSAttributedString?>(nil)
|
||||
let disposable = attributedTextSequence.subscribe(subject.rx_attributedText)
|
||||
let disposable = attributedTextSequence.asObservable().bindTo(subject.rx_attributedText)
|
||||
defer { disposable.dispose() }
|
||||
|
||||
attributedTextSequence.value = NSAttributedString(string: "Hello!")
|
||||
|
|
@ -354,7 +354,7 @@ extension ControlTests {
|
|||
let subject = UIActivityIndicatorView()
|
||||
let boolSequence = Variable<Bool>(false)
|
||||
|
||||
let disposable = boolSequence.subscribe(subject.rx_animating)
|
||||
let disposable = boolSequence.asObservable().bindTo(subject.rx_animating)
|
||||
defer { disposable.dispose() }
|
||||
|
||||
boolSequence.value = true
|
||||
|
|
@ -368,26 +368,6 @@ extension ControlTests {
|
|||
|
||||
#if os(iOS)
|
||||
|
||||
// UIActionSheet
|
||||
extension ControlTests {
|
||||
func testActionSheet_DelegateEventCompletesOnDealloc() {
|
||||
let createActionSheet: () -> UIActionSheet = { UIActionSheet(title: "", delegate: nil, cancelButtonTitle: "", destructiveButtonTitle: "") }
|
||||
ensureEventDeallocated(createActionSheet) { (view: UIActionSheet) in view.rx_clickedButtonAtIndex }
|
||||
ensureEventDeallocated(createActionSheet) { (view: UIActionSheet) in view.rx_didDismissWithButtonIndex }
|
||||
ensureEventDeallocated(createActionSheet) { (view: UIActionSheet) in view.rx_willDismissWithButtonIndex }
|
||||
}
|
||||
}
|
||||
|
||||
// UIAlertView
|
||||
extension ControlTests {
|
||||
func testAlertView_DelegateEventCompletesOnDealloc() {
|
||||
let createAlertView: () -> UIAlertView = { UIAlertView(title: "", message: "", delegate: nil, cancelButtonTitle: nil) }
|
||||
ensureEventDeallocated(createAlertView) { (view: UIAlertView) in view.rx_clickedButtonAtIndex }
|
||||
ensureEventDeallocated(createAlertView) { (view: UIAlertView) in view.rx_didDismissWithButtonIndex }
|
||||
ensureEventDeallocated(createAlertView) { (view: UIAlertView) in view.rx_willDismissWithButtonIndex }
|
||||
}
|
||||
}
|
||||
|
||||
// UIDatePicker
|
||||
extension ControlTests {
|
||||
func testDatePicker_DelegateEventCompletesOnDealloc() {
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ import XCTest
|
|||
import RxTests
|
||||
|
||||
class DriverTest : RxTest {
|
||||
var backgroundScheduler = SerialDispatchQueueScheduler(globalConcurrentQueuePriority: .Default)
|
||||
var backgroundScheduler = SerialDispatchQueueScheduler(globalConcurrentQueueQOS: .Default)
|
||||
|
||||
override func tearDown() {
|
||||
super.tearDown()
|
||||
|
|
|
|||
|
|
@ -1582,214 +1582,3 @@ extension KVOObservableTests {
|
|||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
// MARK: Deprecated
|
||||
extension KVOObservableTests {
|
||||
func testObserve_deprecated_ObserveCGRect() {
|
||||
var root: HasStrongProperty! = HasStrongProperty()
|
||||
|
||||
var latest: CGRect? = nil
|
||||
|
||||
XCTAssertTrue(latest == nil)
|
||||
|
||||
let d = root.rx_observe("frame")
|
||||
.subscribeNext { (n: CGRect?) in
|
||||
latest = n
|
||||
}
|
||||
|
||||
defer {
|
||||
d.dispose()
|
||||
}
|
||||
|
||||
XCTAssertTrue(latest == root.frame)
|
||||
|
||||
root.frame = CGRectMake(-2, 0, 0, 1)
|
||||
|
||||
XCTAssertTrue(latest == CGRectMake(-2, 0, 0, 1))
|
||||
|
||||
var rootDeallocated = false
|
||||
|
||||
_ = root
|
||||
.rx_deallocated
|
||||
.subscribeCompleted {
|
||||
rootDeallocated = true
|
||||
}
|
||||
|
||||
root = nil
|
||||
|
||||
XCTAssertTrue(latest == CGRectMake(-2, 0, 0, 1))
|
||||
XCTAssertTrue(!rootDeallocated)
|
||||
}
|
||||
|
||||
func testObserve_deprecated_ObserveCGSize() {
|
||||
var root: HasStrongProperty! = HasStrongProperty()
|
||||
|
||||
var latest: CGSize? = nil
|
||||
|
||||
XCTAssertTrue(latest == nil)
|
||||
|
||||
let d = root.rx_observe("size")
|
||||
.subscribeNext { (n: CGSize?) in
|
||||
latest = n
|
||||
}
|
||||
|
||||
defer {
|
||||
d.dispose()
|
||||
}
|
||||
|
||||
XCTAssertTrue(latest == root.size)
|
||||
|
||||
root.size = CGSizeMake(56, 1)
|
||||
|
||||
XCTAssertTrue(latest == CGSizeMake(56, 1))
|
||||
|
||||
var rootDeallocated = false
|
||||
|
||||
_ = root
|
||||
.rx_deallocated
|
||||
.subscribeCompleted {
|
||||
rootDeallocated = true
|
||||
}
|
||||
|
||||
root = nil
|
||||
|
||||
XCTAssertTrue(latest == CGSizeMake(56, 1))
|
||||
XCTAssertTrue(!rootDeallocated)
|
||||
}
|
||||
|
||||
func testObserve_deprecated_ObserveCGPoint() {
|
||||
var root: HasStrongProperty! = HasStrongProperty()
|
||||
|
||||
var latest: CGPoint? = nil
|
||||
|
||||
XCTAssertTrue(latest == nil)
|
||||
|
||||
let d = root.rx_observe("point")
|
||||
.subscribeNext { (n: CGPoint?) in
|
||||
latest = n
|
||||
}
|
||||
defer {
|
||||
d.dispose()
|
||||
}
|
||||
|
||||
XCTAssertTrue(latest == root.point)
|
||||
|
||||
root.point = CGPoint(x: -100, y: 1)
|
||||
|
||||
XCTAssertTrue(latest == CGPoint(x: -100, y: 1))
|
||||
|
||||
var rootDeallocated = false
|
||||
|
||||
_ = root
|
||||
.rx_deallocated
|
||||
.subscribeCompleted {
|
||||
rootDeallocated = true
|
||||
}
|
||||
|
||||
root = nil
|
||||
|
||||
XCTAssertTrue(latest == CGPoint(x: -100, y: 1))
|
||||
XCTAssertTrue(!rootDeallocated)
|
||||
}
|
||||
}
|
||||
|
||||
#if !DISABLE_SWIZZLING
|
||||
extension KVOObservableTests {
|
||||
func testObserveWeak_deprecated_ObserveCGRect() {
|
||||
var root: HasStrongProperty! = HasStrongProperty()
|
||||
|
||||
var latest: CGRect? = nil
|
||||
|
||||
XCTAssertTrue(latest == nil)
|
||||
|
||||
_ = root
|
||||
.rx_observeWeakly("frame")
|
||||
.subscribeNext { (n: CGRect?) in
|
||||
latest = n
|
||||
}
|
||||
XCTAssertTrue(latest == root.frame)
|
||||
|
||||
root.frame = CGRectMake(-2, 0, 0, 1)
|
||||
|
||||
XCTAssertTrue(latest == CGRectMake(-2, 0, 0, 1))
|
||||
|
||||
var rootDeallocated = false
|
||||
|
||||
_ = root
|
||||
.rx_deallocated
|
||||
.subscribeCompleted {
|
||||
rootDeallocated = true
|
||||
}
|
||||
|
||||
root = nil
|
||||
|
||||
XCTAssertTrue(latest == nil)
|
||||
XCTAssertTrue(rootDeallocated)
|
||||
}
|
||||
|
||||
func testObserveWeak_deprecated_ObserveCGSize() {
|
||||
var root: HasStrongProperty! = HasStrongProperty()
|
||||
|
||||
var latest: CGSize? = nil
|
||||
|
||||
XCTAssertTrue(latest == nil)
|
||||
|
||||
_ = root
|
||||
.rx_observeWeakly("size")
|
||||
.subscribeNext { (n: CGSize?) in
|
||||
latest = n
|
||||
}
|
||||
XCTAssertTrue(latest == root.size)
|
||||
|
||||
root.size = CGSizeMake(56, 1)
|
||||
|
||||
XCTAssertTrue(latest == CGSizeMake(56, 1))
|
||||
|
||||
var rootDeallocated = false
|
||||
|
||||
_ = root
|
||||
.rx_deallocated
|
||||
.subscribeCompleted {
|
||||
rootDeallocated = true
|
||||
}
|
||||
|
||||
root = nil
|
||||
|
||||
XCTAssertTrue(latest == nil)
|
||||
XCTAssertTrue(rootDeallocated)
|
||||
}
|
||||
|
||||
func testObserveWeak_deprecated_ObserveCGPoint() {
|
||||
var root: HasStrongProperty! = HasStrongProperty()
|
||||
|
||||
var latest: CGPoint? = nil
|
||||
|
||||
XCTAssertTrue(latest == nil)
|
||||
|
||||
_ = root
|
||||
.rx_observeWeakly("point")
|
||||
.subscribeNext { (n: CGPoint?) in
|
||||
latest = n
|
||||
}
|
||||
|
||||
XCTAssertTrue(latest == root.point)
|
||||
|
||||
root.point = CGPoint(x: -100, y: 1)
|
||||
|
||||
XCTAssertTrue(latest == CGPoint(x: -100, y: 1))
|
||||
|
||||
var rootDeallocated = false
|
||||
|
||||
_ = root
|
||||
.rx_deallocated
|
||||
.subscribeCompleted {
|
||||
rootDeallocated = true
|
||||
}
|
||||
|
||||
root = nil
|
||||
|
||||
XCTAssertTrue(latest == nil)
|
||||
XCTAssertTrue(rootDeallocated)
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -41,8 +41,8 @@ struct TestVirtualSchedulerVirtualTimeConverter : VirtualTimeConverterType {
|
|||
return Int(timeInterval / 10.0)
|
||||
}
|
||||
|
||||
func addVirtualTimeAndTimeInterval(time time: VirtualTimeUnit, timeInterval: VirtualTimeIntervalUnit) -> VirtualTimeUnit {
|
||||
return time + timeInterval
|
||||
func offsetVirtualTime(time time: VirtualTimeUnit, offset: VirtualTimeIntervalUnit) -> VirtualTimeUnit {
|
||||
return time + offset
|
||||
}
|
||||
|
||||
func compareVirtualTime(lhs: VirtualTimeUnit, _ rhs: VirtualTimeUnit) -> VirtualTimeComparison {
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ extension ObservableBlockingTest {
|
|||
}
|
||||
|
||||
func testToArray_withRealScheduler() {
|
||||
let scheduler = ConcurrentDispatchQueueScheduler(globalConcurrentQueuePriority: .Default)
|
||||
let scheduler = ConcurrentDispatchQueueScheduler(globalConcurrentQueueQOS: .Default)
|
||||
|
||||
let array = try! Observable<Int64>.interval(0.001, scheduler: scheduler)
|
||||
.take(10)
|
||||
|
|
@ -77,7 +77,7 @@ extension ObservableBlockingTest {
|
|||
}
|
||||
|
||||
func testFirst_withRealScheduler() {
|
||||
let scheduler = ConcurrentDispatchQueueScheduler(globalConcurrentQueuePriority: .Default)
|
||||
let scheduler = ConcurrentDispatchQueueScheduler(globalConcurrentQueueQOS: .Default)
|
||||
|
||||
let array = try! Observable<Int64>.interval(0.001, scheduler: scheduler)
|
||||
.take(10)
|
||||
|
|
@ -114,7 +114,7 @@ extension ObservableBlockingTest {
|
|||
}
|
||||
|
||||
func testLast_withRealScheduler() {
|
||||
let scheduler = ConcurrentDispatchQueueScheduler(globalConcurrentQueuePriority: .Default)
|
||||
let scheduler = ConcurrentDispatchQueueScheduler(globalConcurrentQueueQOS: .Default)
|
||||
|
||||
let array = try! Observable<Int64>.interval(0.001, scheduler: scheduler)
|
||||
.take(10)
|
||||
|
|
@ -174,7 +174,7 @@ extension ObservableBlockingTest {
|
|||
}
|
||||
|
||||
func testSingle_withRealScheduler() {
|
||||
let scheduler = ConcurrentDispatchQueueScheduler(globalConcurrentQueuePriority: .Default)
|
||||
let scheduler = ConcurrentDispatchQueueScheduler(globalConcurrentQueueQOS: .Default)
|
||||
|
||||
let array = try! Observable<Int64>.interval(0.001, scheduler: scheduler)
|
||||
.take(1)
|
||||
|
|
@ -271,7 +271,7 @@ extension ObservableBlockingTest {
|
|||
}
|
||||
|
||||
func testSingle_predicate_withRealScheduler() {
|
||||
let scheduler = ConcurrentDispatchQueueScheduler(globalConcurrentQueuePriority: .Default)
|
||||
let scheduler = ConcurrentDispatchQueueScheduler(globalConcurrentQueueQOS: .Default)
|
||||
|
||||
let array = try! Observable<Int64>.interval(0.001, scheduler: scheduler)
|
||||
.take(4)
|
||||
|
|
|
|||
|
|
@ -564,7 +564,7 @@ class ObservableConcurrentSchedulerConcurrencyTest: ObservableConcurrencyTestBas
|
|||
|
||||
class ObservableConcurrentSchedulerConcurrencyTest2 : ObservableConcurrentSchedulerConcurrencyTest {
|
||||
override func createScheduler() -> ImmediateSchedulerType {
|
||||
return ConcurrentDispatchQueueScheduler(globalConcurrentQueuePriority: .Default)
|
||||
return ConcurrentDispatchQueueScheduler(globalConcurrentQueueQOS: .Default)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -257,7 +257,7 @@ extension ObservableTimeTest {
|
|||
}
|
||||
|
||||
func test_ThrottleWithRealScheduler() {
|
||||
let scheduler = ConcurrentDispatchQueueScheduler(globalConcurrentQueuePriority: .Default)
|
||||
let scheduler = ConcurrentDispatchQueueScheduler(globalConcurrentQueueQOS: .Default)
|
||||
|
||||
let start = NSDate()
|
||||
|
||||
|
|
@ -536,7 +536,7 @@ extension ObservableTimeTest {
|
|||
}
|
||||
|
||||
func testInterval_TimeSpan_Zero_DefaultScheduler() {
|
||||
let scheduler = SerialDispatchQueueScheduler(globalConcurrentQueuePriority: .Default)
|
||||
let scheduler = SerialDispatchQueueScheduler(globalConcurrentQueueQOS: .Default)
|
||||
|
||||
let observer = PrimitiveMockObserver<Int64>()
|
||||
|
||||
|
|
@ -586,7 +586,7 @@ extension ObservableTimeTest {
|
|||
}
|
||||
|
||||
func test_IntervalWithRealScheduler() {
|
||||
let scheduler = ConcurrentDispatchQueueScheduler(globalConcurrentQueuePriority: .Default)
|
||||
let scheduler = ConcurrentDispatchQueueScheduler(globalConcurrentQueueQOS: .Default)
|
||||
|
||||
let start = NSDate()
|
||||
|
||||
|
|
@ -1093,7 +1093,7 @@ extension ObservableTimeTest {
|
|||
}
|
||||
|
||||
func testBufferWithTimeOrCount_Default() {
|
||||
let backgroundScheduler = SerialDispatchQueueScheduler(globalConcurrentQueuePriority: .Default)
|
||||
let backgroundScheduler = SerialDispatchQueueScheduler(globalConcurrentQueueQOS: .Default)
|
||||
|
||||
let result = try! Observable.range(start: 1, count: 10, scheduler: backgroundScheduler)
|
||||
.buffer(timeSpan: 1000, count: 3, scheduler: backgroundScheduler)
|
||||
|
|
@ -1293,7 +1293,7 @@ extension ObservableTimeTest {
|
|||
}*/
|
||||
|
||||
func windowWithTimeOrCount_Default() {
|
||||
let backgroundScheduler = SerialDispatchQueueScheduler(globalConcurrentQueuePriority: .Default)
|
||||
let backgroundScheduler = SerialDispatchQueueScheduler(globalConcurrentQueueQOS: .Default)
|
||||
|
||||
let result = try! Observable.range(start: 1, count: 10, scheduler: backgroundScheduler)
|
||||
.window(timeSpan: 1000, count: 3, scheduler: backgroundScheduler)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#!/usr/bin/swift
|
||||
//
|
||||
// package-swift-manager.swift
|
||||
// package-spm.swift
|
||||
// scripts
|
||||
//
|
||||
// Created by Krunoslav Zaher on 12/26/15.
|
||||
|
|
@ -9,6 +9,17 @@
|
|||
|
||||
import Foundation
|
||||
|
||||
/**
|
||||
This script packages normal Rx* structure into `Sources` directory.
|
||||
|
||||
* creates and updates links to normal project structure
|
||||
* builds unit tests `main.swift`
|
||||
|
||||
Unfortunately, Swift support for Linux, libdispatch and package manager are still quite unstable,
|
||||
so certain class of unit tests is excluded for now.
|
||||
|
||||
*/
|
||||
|
||||
// It is kind of ironic that we need to additionally package for package manager :/
|
||||
|
||||
let fileManager = NSFileManager.defaultManager()
|
||||
|
|
@ -18,7 +29,7 @@ let allowedExtensions = [
|
|||
".h",
|
||||
".m",
|
||||
]
|
||||
// Those tests are dependant on conditional compilation logic and it's hard to handle them automatically
|
||||
// Those tests are dependent on conditional compilation logic and it's hard to handle them automatically
|
||||
// They usually test some internal state, so it should be ok to exclude them for now.
|
||||
let excludedTests = [
|
||||
"testConcat_TailRecursionCollection",
|
||||
|
|
@ -204,4 +215,4 @@ try packageRelativePath([
|
|||
"Tests/HistoricalSchedulerTest.swift"
|
||||
])
|
||||
|
||||
try buildAllTestsTarget("Sources/AllTests")
|
||||
try buildAllTestsTarget("Sources/AllTests")
|
||||
|
|
@ -14,6 +14,12 @@ if [ "$1" == "r" ]; then
|
|||
fi
|
||||
|
||||
./scripts/validate-headers.swift
|
||||
./scripts/package-spm.swift > /dev/null
|
||||
|
||||
if [ `git ls-files -o -d --exclude-standard | wc -l` -gt 0 ]; then
|
||||
echo "Package for Swift package manager isn't updated, please run ./scripts/package-spm.swift and commit the changes"
|
||||
exit -1
|
||||
fi
|
||||
|
||||
# ios 7 sim
|
||||
#if [ `xcrun simctl list | grep "${DEFAULT_IOS7_SIMULATOR}" | wc -l` == 0 ]; then
|
||||
|
|
@ -117,8 +123,6 @@ done
|
|||
. scripts/validate-playgrounds.sh
|
||||
|
||||
if [ "${RELEASE_TEST}" -eq 1 ]; then
|
||||
mdast -u mdast-slug -u mdast-validate-links ./*.md
|
||||
mdast -u mdast-slug -u mdast-validate-links ./**/*.md
|
||||
|
||||
scripts/validate-markdown.sh
|
||||
scripts/validate-podspec.sh
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -9,7 +9,19 @@
|
|||
|
||||
import Foundation
|
||||
|
||||
// It is kind of ironic that we need to additionally package for package manager :/
|
||||
/**
|
||||
Validates that all headers are in this standard form
|
||||
|
||||
//
|
||||
// {file}.swift
|
||||
// Project
|
||||
//
|
||||
// Created by {Author} on 2/14/15.
|
||||
// Copyright (c) 2015 Krunoslav Zaher. All rights reserved.
|
||||
//
|
||||
|
||||
Only Project is not checked yet, but it will be soon.
|
||||
*/
|
||||
|
||||
let fileManager = NSFileManager.defaultManager()
|
||||
|
||||
|
|
@ -37,19 +49,6 @@ func isExtensionIncluded(path: String) -> Bool {
|
|||
|
||||
let whitespace = NSCharacterSet.whitespaceAndNewlineCharacterSet()
|
||||
|
||||
/**
|
||||
Validates header in this form
|
||||
|
||||
//
|
||||
// {file}.swift
|
||||
// Project
|
||||
//
|
||||
// Created by {Author} on 2/14/15.
|
||||
// Copyright (c) 2015 Krunoslav Zaher. All rights reserved.
|
||||
//
|
||||
|
||||
*/
|
||||
|
||||
let identifier = "(?:\\w|\\+|\\_|\\.|-)+"
|
||||
|
||||
let fileLine = try NSRegularExpression(pattern: "// (\(identifier))", options: [])
|
||||
|
|
|
|||
|
|
@ -0,0 +1,2 @@
|
|||
mdast -u mdast-slug -u mdast-validate-links ./*.md
|
||||
mdast -u mdast-slug -u mdast-validate-links ./**/*.md
|
||||
|
|
@ -3,6 +3,9 @@
|
|||
|
||||
set -e
|
||||
|
||||
BRANCH=$(git rev-parse --abbrev-ref HEAD)
|
||||
ESCAPED_SOURCE=$(pwd | sed -E "s/\//\\\\\//g")
|
||||
|
||||
function cleanup {
|
||||
pushd ~/.cocoapods/repos/master
|
||||
git clean -d -f
|
||||
|
|
@ -22,8 +25,6 @@ do
|
|||
done
|
||||
popd
|
||||
|
||||
BRANCH=develop
|
||||
|
||||
for TARGET in ${TARGETS[@]}
|
||||
do
|
||||
|
||||
|
|
@ -31,13 +32,13 @@ do
|
|||
rm ~/.cocoapods/repos/master/Specs/${TARGET}/${VERSION}/* || echo
|
||||
|
||||
cat $TARGET.podspec |
|
||||
sed -E "s/s.source[^\}]+\}/s.source = { :git => '\/Users\/kzaher\/Projects\/RxSwift', :branch => \'${BRANCH}\' }/" > ~/.cocoapods/repos/master/Specs/${TARGET}/${VERSION}/${TARGET}.podspec
|
||||
sed -E "s/s.source[^\}]+\}/s.source = { :git => '${ESCAPED_SOURCE}', :branch => \'${BRANCH}\' }/" > ~/.cocoapods/repos/master/Specs/${TARGET}/${VERSION}/${TARGET}.podspec
|
||||
done
|
||||
|
||||
function validate() {
|
||||
local PODSPEC=$1
|
||||
|
||||
pod lib lint $PODSPEC --verbose --no-clean
|
||||
pod lib lint $PODSPEC --verbose --no-clean --allow-warnings # temporary allow warning because of deprecated API in rc
|
||||
}
|
||||
|
||||
for TARGET in ${TARGETS[@]}
|
||||
|
|
|
|||
Loading…
Reference in New Issue