├── Cartfile
├── Carthage
├── Build
│ └── iOS
│ │ └── RxCocoa.framework
│ │ └── Headers
│ │ └── File
└── Checkouts
│ └── RxSwift
│ ├── assets
│ ├── CNAME.txt
│ └── Rx_Logo_M.png
│ ├── Sources
│ ├── RxSwift
│ │ ├── Rx.swift
│ │ ├── Errors.swift
│ │ ├── Event.swift
│ │ ├── AnyObserver.swift
│ │ ├── Bag.swift
│ │ ├── Cancelable.swift
│ │ ├── Disposable.swift
│ │ ├── Lock.swift
│ │ ├── Observable.swift
│ │ ├── ObserverType.swift
│ │ ├── RxMutableBox.swift
│ │ ├── ObservableType.swift
│ │ ├── Queue.swift
│ │ ├── SchedulerType.swift
│ │ ├── String+Rx.swift
│ │ ├── Variable.swift
│ │ ├── Amb.swift
│ │ ├── AsyncLock.swift
│ │ ├── DisposeBag.swift
│ │ ├── DisposeBase.swift
│ │ ├── Do.swift
│ │ ├── Map.swift
│ │ ├── ObserverBase.swift
│ │ ├── SubjectType.swift
│ │ ├── Zip.swift
│ │ ├── BehaviorSubject.swift
│ │ ├── Catch.swift
│ │ ├── Debug.swift
│ │ ├── Empty.swift
│ │ ├── Error.swift
│ │ ├── Just.swift
│ │ ├── LockOwnerType.swift
│ │ ├── MainScheduler.swift
│ │ ├── Merge.swift
│ │ ├── Never.swift
│ │ ├── NopDisposable.swift
│ │ ├── Platform.Darwin.swift
│ │ ├── Platform.Linux.swift
│ │ ├── PublishSubject.swift
│ │ ├── Range.swift
│ │ ├── ReplaySubject.swift
│ │ ├── Scan.swift
│ │ ├── Sink.swift
│ │ ├── Skip.swift
│ │ ├── Take.swift
│ │ ├── Timer.swift
│ │ ├── Using.swift
│ │ ├── AddRef.swift
│ │ ├── AnonymousObserver.swift
│ │ ├── BinaryDisposable.swift
│ │ ├── Buffer.swift
│ │ ├── Concat.swift
│ │ ├── Deferred.swift
│ │ ├── Filter.swift
│ │ ├── Generate.swift
│ │ ├── ImmediateSchedulerType.swift
│ │ ├── NAryDisposable.swift
│ │ ├── Observable+Debug.swift
│ │ ├── Observable+Extensions.swift
│ │ ├── Observable+Time.swift
│ │ ├── PriorityQueue.swift
│ │ ├── Producer.swift
│ │ ├── Reduce.swift
│ │ ├── RefCount.swift
│ │ ├── Repeat.swift
│ │ ├── Sample.swift
│ │ ├── Sequence.swift
│ │ ├── SerialDisposable.swift
│ │ ├── Switch.swift
│ │ ├── TailRecursiveSink.swift
│ │ ├── TakeLast.swift
│ │ ├── Throttle.swift
│ │ ├── Timeout.swift
│ │ ├── ToArray.swift
│ │ ├── Window.swift
│ │ ├── BooleanDisposable.swift
│ │ ├── ElementAt.swift
│ │ ├── HistoricalScheduler.swift
│ │ ├── ImmediateScheduler.swift
│ │ ├── InfiniteSequence.swift
│ │ ├── InvocableType.swift
│ │ ├── Multicast.swift
│ │ ├── Observable+Binding.swift
│ │ ├── Observable+Single.swift
│ │ ├── ObserveOn.swift
│ │ ├── RecursiveScheduler.swift
│ │ ├── RefCountDisposable.swift
│ │ ├── RetryWhen.swift
│ │ ├── ScheduledItem.swift
│ │ ├── SkipUntil.swift
│ │ ├── SkipWhile.swift
│ │ ├── StartWith.swift
│ │ ├── SynchronizedOnType.swift
│ │ ├── TakeUntil.swift
│ │ ├── TakeWhile.swift
│ │ ├── Zip+arity.swift
│ │ ├── AnonymousDisposable.swift
│ │ ├── CombineLatest.swift
│ │ ├── CompositeDisposable.swift
│ │ ├── ConnectableObservableType.swift
│ │ ├── Observable+Aggregate.swift
│ │ ├── Observable+Creation.swift
│ │ ├── Observable+Multiple.swift
│ │ ├── ObservableConvertibleType.swift
│ │ ├── ScheduledDisposable.swift
│ │ ├── ScheduledItemType.swift
│ │ ├── ShareReplay1.swift
│ │ ├── SingleAsync.swift
│ │ ├── SubscribeOn.swift
│ │ ├── VirtualTimeScheduler.swift
│ │ ├── AnonymousInvocable.swift
│ │ ├── ConcurrentMainScheduler.swift
│ │ ├── CurrentThreadScheduler.swift
│ │ ├── Observable+Concurrency.swift
│ │ ├── OperationQueueScheduler.swift
│ │ ├── SubscriptionDisposable.swift
│ │ ├── SynchronizedDisposeType.swift
│ │ ├── VirtualTimeConverterType.swift
│ │ ├── WithLatestFrom.swift
│ │ ├── DelaySubscription.swift
│ │ ├── DispatchQueueSchedulerQOS.swift
│ │ ├── InvocableScheduledItem.swift
│ │ ├── SingleAssignmentDisposable.swift
│ │ ├── StableCompositeDisposable.swift
│ │ ├── SynchronizedSubscribeType.swift
│ │ ├── Zip+CollectionType.swift
│ │ ├── AnonymousObservable.swift
│ │ ├── CombineLatest+arity.swift
│ │ ├── DistinctUntilChanged.swift
│ │ ├── SchedulerServices+Emulation.swift
│ │ ├── SerialDispatchQueueScheduler.swift
│ │ ├── SynchronizedUnsubscribeType.swift
│ │ ├── ConnectableObservable.swift
│ │ ├── ConcurrentDispatchQueueScheduler.swift
│ │ ├── HistoricalSchedulerTimeConverter.swift
│ │ ├── CombineLatest+CollectionType.swift
│ │ ├── Observable+StandardSequenceOperators.swift
│ │ ├── ObserveOnSerialDispatchQueue.swift
│ │ └── ShareReplay1WhileConnected.swift
│ ├── RxCocoa
│ │ └── RxCocoa.h
│ ├── AllTests
│ │ ├── RxTest.swift
│ │ ├── RxMutableBox.swift
│ │ ├── TestErrors.swift
│ │ ├── BagTest.swift
│ │ ├── QueueTests.swift
│ │ ├── Recorded+Timeless.swift
│ │ ├── XCTest+AllTests.swift
│ │ ├── ObserverTests.swift
│ │ ├── VariableTest.swift
│ │ ├── AssumptionsTest.swift
│ │ ├── DisposableTest.swift
│ │ ├── Foundation+Extensions.swift
│ │ ├── MainSchedulerTests.swift
│ │ ├── BehaviorSubjectTest.swift
│ │ ├── MySubject.swift
│ │ ├── Observable+TimeTest.swift
│ │ ├── ElementIndexPair.swift
│ │ ├── EquatableArray.swift
│ │ ├── Observable+BindingTest.swift
│ │ ├── Observable+BlockingTest.swift
│ │ ├── Observable+CreationTest.swift
│ │ ├── Observable+MultipleTest.swift
│ │ ├── Observable+SingleTest.swift
│ │ ├── SubjectConcurrencyTest.swift
│ │ ├── AnonymousObservable+Test.swift
│ │ ├── MockDisposable.swift
│ │ ├── Observable+AggregateTest.swift
│ │ ├── CurrentThreadSchedulerTest.swift
│ │ ├── Observable+ConcurrencyTest.swift
│ │ ├── Observable+Extensions.swift
│ │ ├── Observable+MultipleTest+Zip.swift
│ │ ├── Observable+SubscriptionTest.swift
│ │ ├── TestVirtualScheduler.swift
│ │ ├── Observable.Extensions.swift
│ │ ├── PrimitiveHotObservable.swift
│ │ ├── PrimitiveMockObserver.swift
│ │ ├── TestConnectableObservable.swift
│ │ ├── Observable+MultipleTest+CombineLatest.swift
│ │ ├── Observable+StandardSequenceOperatorsTest.swift
│ │ ├── MainThreadPrimitiveHotObservable.swift
│ │ └── BackgroundThreadPrimitiveHotObservable.swift
│ ├── RxTests
│ │ ├── RxTests.swift
│ │ ├── Recorded.swift
│ │ ├── XCTest+Rx.swift
│ │ ├── Subscription.swift
│ │ ├── Any+Equatable.swift
│ │ ├── ColdObservable.swift
│ │ ├── HotObservable.swift
│ │ ├── Event+Equatable.swift
│ │ ├── TestableObserver.swift
│ │ ├── TestScheduler.swift
│ │ ├── TestableObservable.swift
│ │ └── TestSchedulerVirtualTimeConverter.swift
│ └── RxBlocking
│ │ ├── RunLoopLock.swift
│ │ ├── BlockingObservable.swift
│ │ ├── BlockingObservable+Operators.swift
│ │ └── ObservableConvertibleType+Blocking.swift
│ ├── scripts
│ ├── validate-markdown.sh
│ ├── test-linux.sh
│ ├── automation-tests
│ │ ├── main.js
│ │ ├── 05_reactivePartialUpdates.js
│ │ ├── 02_searchWikipedia.js
│ │ ├── 01_githubSignUp.js
│ │ ├── 03_masterDetail.js
│ │ └── common.js
│ └── validate-playgrounds.sh
│ ├── Documentation
│ ├── Subjects.md
│ ├── Linux.md
│ └── MathBehindRx.md
│ ├── Tests
│ ├── RxCocoaTests
│ │ ├── RxTests-OSX-Bridging-Header.h
│ │ ├── RxTests-iOS-Bridging-Header.h
│ │ ├── RxTests-tvOS-Bridging-Header.h
│ │ ├── Driver+Extensions.swift
│ │ ├── NSControl+RxTests.swift
│ │ ├── UIView+RxTests.swift
│ │ └── NSView+RxTests.swift
│ ├── RxSwiftTests
│ │ └── TestImplementations
│ │ │ ├── Mocks
│ │ │ ├── Observable.Extensions.swift
│ │ │ ├── MainThreadPrimitiveHotObservable.swift
│ │ │ ├── MockDisposable.swift
│ │ │ ├── BackgroundThreadPrimitiveHotObservable.swift
│ │ │ ├── PrimitiveMockObserver.swift
│ │ │ └── TestConnectableObservable.swift
│ │ │ ├── EquatableArray.swift
│ │ │ ├── Observable+Extensions.swift
│ │ │ └── ElementIndexPair.swift
│ ├── Tests
│ │ ├── Foundation+Extensions.swift
│ │ ├── TestErrors.swift
│ │ ├── Recorded+Timeless.swift
│ │ └── Info.plist
│ └── PerformanceTests
│ │ └── Info.plist
│ ├── .travis.yml
│ ├── RxExample
│ ├── RxExample
│ │ ├── Images.xcassets
│ │ │ ├── AppIcon.appiconset
│ │ │ │ ├── Icon-40.png
│ │ │ │ ├── Icon-76.png
│ │ │ │ ├── Rx_Logo_M.png
│ │ │ │ ├── Icon-40@2x.png
│ │ │ │ ├── Icon-60@2x.png
│ │ │ │ ├── Icon-60@3x.png
│ │ │ │ ├── Icon-76@2x.png
│ │ │ │ ├── Icon-Small.png
│ │ │ │ ├── Icon-40@2x-1.png
│ │ │ │ ├── Icon-60@2x-1.png
│ │ │ │ ├── Icon-Small@3x.png
│ │ │ │ └── Icon-Small@2x-1.png
│ │ │ └── ReactiveExtensionsLogo.imageset
│ │ │ │ ├── ReactiveExtensionsLogo.png
│ │ │ │ ├── ReactiveExtensionsLogo-2.png
│ │ │ │ └── Contents.json
│ │ ├── RxExample.xcdatamodeld
│ │ │ ├── .xccurrentversion
│ │ │ └── RxExample.xcdatamodel
│ │ │ │ └── contents
│ │ ├── Examples
│ │ │ ├── TableViewWithEditingCommands
│ │ │ │ ├── String+extensions.swift
│ │ │ │ ├── UIImageView+Extensions.swift
│ │ │ │ ├── User.swift
│ │ │ │ └── DetailViewController.swift
│ │ │ ├── TableViewPartialUpdates
│ │ │ │ ├── NumberCell.swift
│ │ │ │ └── NumberSectionView.swift
│ │ │ ├── Calculator
│ │ │ │ ├── Operation.swift
│ │ │ │ └── CalculatorAction.swift
│ │ │ ├── WikipediaImageSearch
│ │ │ │ ├── WikipediaAPI
│ │ │ │ │ └── WikipediaPage.swift
│ │ │ │ └── Views
│ │ │ │ │ └── CollectionViewImageCell.swift
│ │ │ ├── Numbers
│ │ │ │ └── NumbersViewController.swift
│ │ │ ├── Dependencies.swift
│ │ │ ├── GitHubSignup
│ │ │ │ └── Protocols.swift
│ │ │ └── SimpleTableViewExample
│ │ │ │ └── SimpleTableViewExampleViewController.swift
│ │ ├── String+URL.swift
│ │ ├── Services
│ │ │ ├── DownloadableImage.swift
│ │ │ ├── UIImage+Extensions.swift
│ │ │ ├── PseudoRandomGenerator.swift
│ │ │ └── HtmlParsing.swift
│ │ ├── iOS
│ │ │ ├── AppDelegate.swift
│ │ │ └── RootViewController.swift
│ │ ├── OSX
│ │ │ └── AppDelegate.swift
│ │ ├── Operators.swift
│ │ ├── Info-OSX.plist
│ │ └── Example.swift
│ ├── RxDataSourceStarterKit
│ │ ├── SectionModelType.swift
│ │ ├── RxDataSourceStarterKit.swift
│ │ └── DataSources
│ │ │ ├── RxCollectionViewSectionedReloadDataSource.swift
│ │ │ └── RxTableViewSectionedReloadDataSource.swift
│ └── RxExample-iOSTests
│ │ ├── Mocks
│ │ ├── NotImplementedStubs.swift
│ │ ├── ValidationResult+Equatable.swift
│ │ ├── MockWireframe.swift
│ │ └── MockGitHubAPI.swift
│ │ └── Info.plist
│ ├── RxCocoa
│ ├── Common
│ │ ├── _RX.m
│ │ ├── Observables
│ │ │ ├── Implementations
│ │ │ │ ├── DeallocObservable.swift
│ │ │ │ └── KVOObserver.swift
│ │ │ └── NSNotificationCenter+Rx.swift
│ │ ├── _RXDelegateProxy.h
│ │ ├── Logging.swift
│ │ ├── CocoaUnits
│ │ │ └── Driver
│ │ │ │ ├── Variable+Driver.swift
│ │ │ │ ├── ControlEvent+Driver.swift
│ │ │ │ └── ControlProperty+Driver.swift
│ │ ├── SectionedViewDataSourceType.swift
│ │ ├── KVORepresentable.swift
│ │ ├── RxTarget.swift
│ │ ├── _RXKVOObserver.h
│ │ ├── Proxies
│ │ │ └── RxCLLocationManagerDelegateProxy.swift
│ │ └── NSLayoutConstraint+Rx.swift
│ ├── iOS
│ │ ├── Events
│ │ │ └── ItemEvents.swift
│ │ ├── UISwitch+Rx.swift
│ │ ├── UIStepper+Rx.swift
│ │ ├── UISlider+Rx.swift
│ │ ├── UIDatePicker+Rx.swift
│ │ ├── UITextField+Rx.swift
│ │ ├── UISegmentedControl+Rx.swift
│ │ ├── Protocols
│ │ │ ├── RxTableViewDataSourceType.swift
│ │ │ └── RxCollectionViewDataSourceType.swift
│ │ ├── UIButton+Rx.swift
│ │ ├── Proxies
│ │ │ ├── RxSearchBarDelegateProxy.swift
│ │ │ ├── RxTableViewDelegateProxy.swift
│ │ │ ├── RxCollectionViewDelegateProxy.swift
│ │ │ ├── RxTextStorageDelegateProxy.swift
│ │ │ └── RxImagePickerDelegateProxy.swift
│ │ └── UIActivityIndicatorView+Rx.swift
│ ├── RxCocoa.h
│ ├── OSX
│ │ ├── NSSlider+Rx.swift
│ │ └── NSButton+Rx.swift
│ └── Info.plist
│ ├── RxSwift
│ ├── Disposables
│ │ ├── NAryDisposable.tt
│ │ ├── NAryDisposable.swift
│ │ ├── StableCompositeDisposable.swift
│ │ ├── DisposeBase.swift
│ │ ├── SubscriptionDisposable.swift
│ │ ├── NopDisposable.swift
│ │ └── BooleanDisposable.swift
│ ├── Schedulers
│ │ ├── Internal
│ │ │ ├── ScheduledItemType.swift
│ │ │ ├── InvocableType.swift
│ │ │ ├── AnonymousInvocable.swift
│ │ │ ├── InvocableScheduledItem.swift
│ │ │ └── ScheduledItem.swift
│ │ ├── HistoricalScheduler.swift
│ │ └── ImmediateScheduler.swift
│ ├── Disposable.swift
│ ├── Concurrency
│ │ ├── SynchronizedUnsubscribeType.swift
│ │ ├── LockOwnerType.swift
│ │ ├── SynchronizedDisposeType.swift
│ │ ├── SynchronizedOnType.swift
│ │ └── SynchronizedSubscribeType.swift
│ ├── Observables
│ │ ├── Implementations
│ │ │ ├── Never.swift
│ │ │ ├── Empty.swift
│ │ │ ├── Error.swift
│ │ │ ├── StartWith.swift
│ │ │ ├── Producer.swift
│ │ │ ├── Repeat.swift
│ │ │ └── Sink.swift
│ │ └── Observable+Debug.swift
│ ├── Cancelable.swift
│ ├── Extensions
│ │ └── String+Rx.swift
│ ├── ObservableConvertibleType.swift
│ ├── DataStructures
│ │ └── InfiniteSequence.swift
│ ├── Subjects
│ │ └── SubjectType.swift
│ ├── RxMutableBox.swift
│ ├── ConnectableObservableType.swift
│ ├── Observers
│ │ ├── AnonymousObserver.swift
│ │ └── ObserverBase.swift
│ ├── Info.plist
│ ├── Rx.swift
│ └── Observable.swift
│ ├── RxTests
│ ├── RxTests.swift
│ ├── Info.plist
│ ├── TestableObserver.swift
│ ├── Any+Equatable.swift
│ ├── Recorded.swift
│ └── TestableObservable.swift
│ ├── RxBlocking
│ ├── README.md
│ ├── BlockingObservable.swift
│ ├── ObservableConvertibleType+Blocking.swift
│ ├── Info.plist
│ └── RunLoopLock.swift
│ ├── Rx.playground
│ ├── contents.xcplayground
│ ├── Sources
│ │ └── SupportCode.swift
│ └── Pages
│ │ └── Index.xcplaygroundpage
│ │ └── Contents.swift
│ ├── .gitignore
│ ├── LICENSE.md
│ ├── RxBlocking.podspec
│ └── RxCocoa.podspec
├── Cartfile.resolved
└── ViperPrototype
├── Modules
├── MovieDetail
│ ├── View
│ │ └── MovieDetailView.swift
│ └── Wireframe
│ │ └── MovieDetailWireframe.swift
├── MainMoviesList
│ ├── Interactor
│ │ └── MainMoviesListInteractor.swift
│ ├── View
│ │ └── MainMoviesListCell.swift
│ ├── Presenter
│ │ └── MainMoviesListPresenter.swift
│ └── Wireframe
│ │ └── MainMoviesListWireframe.swift
└── Configurations
│ ├── Interactor
│ └── ConfigurationsInteractor.swift
│ ├── View
│ └── ConfigurationsView.swift
│ └── Wireframe
│ └── ConfigurationsWireframe.swift
├── Assets.xcassets
└── AppIcon.appiconset
│ └── Contents.json
├── AppDelegate.swift
├── Configuration
├── AppConfiguration.swift
└── TmdbConfiguration.swift
└── Services
└── TmdbApiService.swift
/Cartfile:
--------------------------------------------------------------------------------
1 | github "ReactiveX/RxSwift" ~> 2.0
2 |
--------------------------------------------------------------------------------
/Carthage/Build/iOS/RxCocoa.framework/Headers/File:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Cartfile.resolved:
--------------------------------------------------------------------------------
1 | github "ReactiveX/RxSwift" "2.1.0"
2 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/assets/CNAME.txt:
--------------------------------------------------------------------------------
1 | reactivex.io
2 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Rx.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Rx.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxCocoa/RxCocoa.h:
--------------------------------------------------------------------------------
1 | ../../RxCocoa/RxCocoa.h
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/AllTests/RxTest.swift:
--------------------------------------------------------------------------------
1 | ../../Tests/RxTest.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Errors.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Errors.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Event.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Event.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxTests/RxTests.swift:
--------------------------------------------------------------------------------
1 | ../../RxTests/RxTests.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxTests/Recorded.swift:
--------------------------------------------------------------------------------
1 | ../../RxTests/Recorded.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxTests/XCTest+Rx.swift:
--------------------------------------------------------------------------------
1 | ../../RxTests/XCTest+Rx.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/AnyObserver.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/AnyObserver.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Bag.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/DataStructures/Bag.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Cancelable.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Cancelable.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Disposable.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Disposable.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Lock.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Concurrency/Lock.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Observable.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observable.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/ObserverType.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/ObserverType.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/RxMutableBox.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/RxMutableBox.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxTests/Subscription.swift:
--------------------------------------------------------------------------------
1 | ../../RxTests/Subscription.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/AllTests/RxMutableBox.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/RxMutableBox.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/AllTests/TestErrors.swift:
--------------------------------------------------------------------------------
1 | ../../Tests/Tests/TestErrors.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxBlocking/RunLoopLock.swift:
--------------------------------------------------------------------------------
1 | ../../RxBlocking/RunLoopLock.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/ObservableType.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/ObservableType.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Queue.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/DataStructures/Queue.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/SchedulerType.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/SchedulerType.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/String+Rx.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Extensions/String+Rx.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Variable.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Subjects/Variable.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxTests/Any+Equatable.swift:
--------------------------------------------------------------------------------
1 | ../../RxTests/Any+Equatable.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxTests/ColdObservable.swift:
--------------------------------------------------------------------------------
1 | ../../RxTests/ColdObservable.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxTests/HotObservable.swift:
--------------------------------------------------------------------------------
1 | ../../RxTests/HotObservable.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/AllTests/BagTest.swift:
--------------------------------------------------------------------------------
1 | ../../Tests/RxSwiftTests/Tests/BagTest.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Amb.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/Amb.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/AsyncLock.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Concurrency/AsyncLock.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/DisposeBag.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Disposables/DisposeBag.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/DisposeBase.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Disposables/DisposeBase.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Do.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/Do.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Map.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/Map.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/ObserverBase.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observers/ObserverBase.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/SubjectType.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Subjects/SubjectType.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Zip.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/Zip.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxTests/Event+Equatable.swift:
--------------------------------------------------------------------------------
1 | ../../RxTests/Event+Equatable.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxTests/TestableObserver.swift:
--------------------------------------------------------------------------------
1 | ../../RxTests/TestableObserver.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/AllTests/QueueTests.swift:
--------------------------------------------------------------------------------
1 | ../../Tests/RxSwiftTests/Tests/QueueTests.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/AllTests/Recorded+Timeless.swift:
--------------------------------------------------------------------------------
1 | ../../Tests/Tests/Recorded+Timeless.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/AllTests/XCTest+AllTests.swift:
--------------------------------------------------------------------------------
1 | ../../Tests/Tests/XCTest+AllTests.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/BehaviorSubject.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Subjects/BehaviorSubject.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Catch.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/Catch.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Debug.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/Debug.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Empty.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/Empty.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Error.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/Error.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Just.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/Just.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/LockOwnerType.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Concurrency/LockOwnerType.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/MainScheduler.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Schedulers/MainScheduler.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Merge.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/Merge.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Never.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/Never.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/NopDisposable.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Disposables/NopDisposable.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Platform.Darwin.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Platform/Platform.Darwin.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Platform.Linux.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Platform/Platform.Linux.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/PublishSubject.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Subjects/PublishSubject.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Range.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/Range.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/ReplaySubject.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Subjects/ReplaySubject.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Scan.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/Scan.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Sink.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/Sink.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Skip.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/Skip.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Take.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/Take.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Timer.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/Timer.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Using.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/Using.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxTests/TestScheduler.swift:
--------------------------------------------------------------------------------
1 | ../../RxTests/Schedulers/TestScheduler.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxTests/TestableObservable.swift:
--------------------------------------------------------------------------------
1 | ../../RxTests/TestableObservable.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/AllTests/ObserverTests.swift:
--------------------------------------------------------------------------------
1 | ../../Tests/RxSwiftTests/Tests/ObserverTests.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/AllTests/VariableTest.swift:
--------------------------------------------------------------------------------
1 | ../../Tests/RxSwiftTests/Tests/VariableTest.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxBlocking/BlockingObservable.swift:
--------------------------------------------------------------------------------
1 | ../../RxBlocking/BlockingObservable.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/AddRef.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/AddRef.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/AnonymousObserver.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observers/AnonymousObserver.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/BinaryDisposable.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Disposables/BinaryDisposable.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Buffer.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/Buffer.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Concat.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/Concat.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Deferred.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/Deferred.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Filter.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/Filter.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Generate.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/Generate.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/ImmediateSchedulerType.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/ImmediateSchedulerType.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/NAryDisposable.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Disposables/NAryDisposable.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Observable+Debug.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Observable+Debug.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Observable+Extensions.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observable+Extensions.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Observable+Time.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Observable+Time.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/PriorityQueue.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/DataStructures/PriorityQueue.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Producer.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/Producer.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Reduce.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/Reduce.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/RefCount.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/RefCount.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Repeat.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/Repeat.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Sample.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/Sample.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Sequence.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/Sequence.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/SerialDisposable.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Disposables/SerialDisposable.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Switch.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/Switch.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/TailRecursiveSink.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observers/TailRecursiveSink.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/TakeLast.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/TakeLast.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Throttle.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/Throttle.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Timeout.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/Timeout.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/ToArray.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/ToArray.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Window.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/Window.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/AllTests/AssumptionsTest.swift:
--------------------------------------------------------------------------------
1 | ../../Tests/RxSwiftTests/Tests/AssumptionsTest.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/AllTests/DisposableTest.swift:
--------------------------------------------------------------------------------
1 | ../../Tests/RxSwiftTests/Tests/DisposableTest.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/AllTests/Foundation+Extensions.swift:
--------------------------------------------------------------------------------
1 | ../../Tests/Tests/Foundation+Extensions.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/BooleanDisposable.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Disposables/BooleanDisposable.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/ElementAt.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/ElementAt.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/HistoricalScheduler.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Schedulers/HistoricalScheduler.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/ImmediateScheduler.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Schedulers/ImmediateScheduler.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/InfiniteSequence.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/DataStructures/InfiniteSequence.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/InvocableType.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Schedulers/Internal/InvocableType.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Multicast.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/Multicast.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Observable+Binding.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Observable+Binding.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Observable+Single.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Observable+Single.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/ObserveOn.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/ObserveOn.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/RecursiveScheduler.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Schedulers/RecursiveScheduler.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/RefCountDisposable.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Disposables/RefCountDisposable.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/RetryWhen.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/RetryWhen.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/ScheduledItem.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Schedulers/Internal/ScheduledItem.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/SkipUntil.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/SkipUntil.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/SkipWhile.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/SkipWhile.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/StartWith.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/StartWith.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/SynchronizedOnType.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Concurrency/SynchronizedOnType.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/TakeUntil.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/TakeUntil.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/TakeWhile.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/TakeWhile.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Zip+arity.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/Zip+arity.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/AllTests/MainSchedulerTests.swift:
--------------------------------------------------------------------------------
1 | ../../Tests/RxSwiftTests/Tests/MainSchedulerTests.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/AnonymousDisposable.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Disposables/AnonymousDisposable.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/CombineLatest.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/CombineLatest.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/CompositeDisposable.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Disposables/CompositeDisposable.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/ConnectableObservableType.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/ConnectableObservableType.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Observable+Aggregate.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Observable+Aggregate.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Observable+Creation.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Observable+Creation.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Observable+Multiple.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Observable+Multiple.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/ObservableConvertibleType.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/ObservableConvertibleType.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/ScheduledDisposable.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Disposables/ScheduledDisposable.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/ScheduledItemType.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Schedulers/Internal/ScheduledItemType.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/ShareReplay1.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/ShareReplay1.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/SingleAsync.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/SingleAsync.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/SubscribeOn.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/SubscribeOn.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/VirtualTimeScheduler.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Schedulers/VirtualTimeScheduler.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/AllTests/BehaviorSubjectTest.swift:
--------------------------------------------------------------------------------
1 | ../../Tests/RxSwiftTests/Tests/BehaviorSubjectTest.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/AllTests/MySubject.swift:
--------------------------------------------------------------------------------
1 | ../../Tests/RxSwiftTests/TestImplementations/Mocks/MySubject.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/AllTests/Observable+TimeTest.swift:
--------------------------------------------------------------------------------
1 | ../../Tests/RxSwiftTests/Tests/Observable+TimeTest.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/AnonymousInvocable.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Schedulers/Internal/AnonymousInvocable.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/ConcurrentMainScheduler.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Schedulers/ConcurrentMainScheduler.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/CurrentThreadScheduler.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Schedulers/CurrentThreadScheduler.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Observable+Concurrency.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Observable+Concurrency.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/OperationQueueScheduler.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Schedulers/OperationQueueScheduler.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/SubscriptionDisposable.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Disposables/SubscriptionDisposable.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/SynchronizedDisposeType.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Concurrency/SynchronizedDisposeType.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/VirtualTimeConverterType.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Schedulers/VirtualTimeConverterType.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/WithLatestFrom.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/WithLatestFrom.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/AllTests/ElementIndexPair.swift:
--------------------------------------------------------------------------------
1 | ../../Tests/RxSwiftTests/TestImplementations/ElementIndexPair.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/AllTests/EquatableArray.swift:
--------------------------------------------------------------------------------
1 | ../../Tests/RxSwiftTests/TestImplementations/EquatableArray.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/AllTests/Observable+BindingTest.swift:
--------------------------------------------------------------------------------
1 | ../../Tests/RxSwiftTests/Tests/Observable+BindingTest.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/AllTests/Observable+BlockingTest.swift:
--------------------------------------------------------------------------------
1 | ../../Tests/RxSwiftTests/Tests/Observable+BlockingTest.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/AllTests/Observable+CreationTest.swift:
--------------------------------------------------------------------------------
1 | ../../Tests/RxSwiftTests/Tests/Observable+CreationTest.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/AllTests/Observable+MultipleTest.swift:
--------------------------------------------------------------------------------
1 | ../../Tests/RxSwiftTests/Tests/Observable+MultipleTest.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/AllTests/Observable+SingleTest.swift:
--------------------------------------------------------------------------------
1 | ../../Tests/RxSwiftTests/Tests/Observable+SingleTest.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/AllTests/SubjectConcurrencyTest.swift:
--------------------------------------------------------------------------------
1 | ../../Tests/RxSwiftTests/Tests/SubjectConcurrencyTest.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxBlocking/BlockingObservable+Operators.swift:
--------------------------------------------------------------------------------
1 | ../../RxBlocking/BlockingObservable+Operators.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/DelaySubscription.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/DelaySubscription.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/DispatchQueueSchedulerQOS.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Schedulers/DispatchQueueSchedulerQOS.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/InvocableScheduledItem.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Schedulers/Internal/InvocableScheduledItem.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/SingleAssignmentDisposable.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Disposables/SingleAssignmentDisposable.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/StableCompositeDisposable.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Disposables/StableCompositeDisposable.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/SynchronizedSubscribeType.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Concurrency/SynchronizedSubscribeType.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Zip+CollectionType.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/Zip+CollectionType.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/AllTests/AnonymousObservable+Test.swift:
--------------------------------------------------------------------------------
1 | ../../Tests/RxSwiftTests/Tests/AnonymousObservable+Test.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/AllTests/MockDisposable.swift:
--------------------------------------------------------------------------------
1 | ../../Tests/RxSwiftTests/TestImplementations/Mocks/MockDisposable.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/AllTests/Observable+AggregateTest.swift:
--------------------------------------------------------------------------------
1 | ../../Tests/RxSwiftTests/Tests/Observable+AggregateTest.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/AnonymousObservable.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/AnonymousObservable.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/CombineLatest+arity.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/CombineLatest+arity.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/DistinctUntilChanged.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/DistinctUntilChanged.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/SchedulerServices+Emulation.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Schedulers/SchedulerServices+Emulation.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/SerialDispatchQueueScheduler.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Schedulers/SerialDispatchQueueScheduler.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/SynchronizedUnsubscribeType.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Concurrency/SynchronizedUnsubscribeType.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/AllTests/CurrentThreadSchedulerTest.swift:
--------------------------------------------------------------------------------
1 | ../../Tests/RxSwiftTests/Tests/CurrentThreadSchedulerTest.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/AllTests/Observable+ConcurrencyTest.swift:
--------------------------------------------------------------------------------
1 | ../../Tests/RxSwiftTests/Tests/Observable+ConcurrencyTest.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/AllTests/Observable+Extensions.swift:
--------------------------------------------------------------------------------
1 | ../../Tests/RxSwiftTests/TestImplementations/Observable+Extensions.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/AllTests/Observable+MultipleTest+Zip.swift:
--------------------------------------------------------------------------------
1 | ../../Tests/RxSwiftTests/Tests/Observable+MultipleTest+Zip.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/AllTests/Observable+SubscriptionTest.swift:
--------------------------------------------------------------------------------
1 | ../../Tests/RxSwiftTests/Tests/Observable+SubscriptionTest.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/AllTests/TestVirtualScheduler.swift:
--------------------------------------------------------------------------------
1 | ../../Tests/RxSwiftTests/TestImplementations/TestVirtualScheduler.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxBlocking/ObservableConvertibleType+Blocking.swift:
--------------------------------------------------------------------------------
1 | ../../RxBlocking/ObservableConvertibleType+Blocking.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/ConnectableObservable.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/ConnectableObservable.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/ConcurrentDispatchQueueScheduler.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Schedulers/ConcurrentDispatchQueueScheduler.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/HistoricalSchedulerTimeConverter.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Schedulers/HistoricalSchedulerTimeConverter.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxTests/TestSchedulerVirtualTimeConverter.swift:
--------------------------------------------------------------------------------
1 | ../../RxTests/Schedulers/TestSchedulerVirtualTimeConverter.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/AllTests/Observable.Extensions.swift:
--------------------------------------------------------------------------------
1 | ../../Tests/RxSwiftTests/TestImplementations/Mocks/Observable.Extensions.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/AllTests/PrimitiveHotObservable.swift:
--------------------------------------------------------------------------------
1 | ../../Tests/RxSwiftTests/TestImplementations/Mocks/PrimitiveHotObservable.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/AllTests/PrimitiveMockObserver.swift:
--------------------------------------------------------------------------------
1 | ../../Tests/RxSwiftTests/TestImplementations/Mocks/PrimitiveMockObserver.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/CombineLatest+CollectionType.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/CombineLatest+CollectionType.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/Observable+StandardSequenceOperators.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Observable+StandardSequenceOperators.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/ObserveOnSerialDispatchQueue.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/ObserveOnSerialDispatchQueue.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/RxSwift/ShareReplay1WhileConnected.swift:
--------------------------------------------------------------------------------
1 | ../../RxSwift/Observables/Implementations/ShareReplay1WhileConnected.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/assets/Rx_Logo_M.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amg1976/ViperPrototype/HEAD/Carthage/Checkouts/RxSwift/assets/Rx_Logo_M.png
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/AllTests/TestConnectableObservable.swift:
--------------------------------------------------------------------------------
1 | ../../Tests/RxSwiftTests/TestImplementations/Mocks/TestConnectableObservable.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/AllTests/Observable+MultipleTest+CombineLatest.swift:
--------------------------------------------------------------------------------
1 | ../../Tests/RxSwiftTests/Tests/Observable+MultipleTest+CombineLatest.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/scripts/validate-markdown.sh:
--------------------------------------------------------------------------------
1 | mdast -u mdast-slug -u mdast-validate-links ./*.md
2 | mdast -u mdast-slug -u mdast-validate-links ./**/*.md
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/AllTests/Observable+StandardSequenceOperatorsTest.swift:
--------------------------------------------------------------------------------
1 | ../../Tests/RxSwiftTests/Tests/Observable+StandardSequenceOperatorsTest.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/AllTests/MainThreadPrimitiveHotObservable.swift:
--------------------------------------------------------------------------------
1 | ../../Tests/RxSwiftTests/TestImplementations/Mocks/MainThreadPrimitiveHotObservable.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Sources/AllTests/BackgroundThreadPrimitiveHotObservable.swift:
--------------------------------------------------------------------------------
1 | ../../Tests/RxSwiftTests/TestImplementations/Mocks/BackgroundThreadPrimitiveHotObservable.swift
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Documentation/Subjects.md:
--------------------------------------------------------------------------------
1 | Subjects
2 | ========
3 |
4 | All of behave exactly the same like described [here](http://reactivex.io/documentation/subject.html)
5 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Tests/RxCocoaTests/RxTests-OSX-Bridging-Header.h:
--------------------------------------------------------------------------------
1 | //
2 | // Use this file to import your target's public headers that you would like to expose to Swift.
3 | //
4 |
5 | #import "RXObjCRuntime+Testing.h"
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Tests/RxCocoaTests/RxTests-iOS-Bridging-Header.h:
--------------------------------------------------------------------------------
1 | //
2 | // Use this file to import your target's public headers that you would like to expose to Swift.
3 | //
4 |
5 | #import "RXObjCRuntime+Testing.h"
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Tests/RxCocoaTests/RxTests-tvOS-Bridging-Header.h:
--------------------------------------------------------------------------------
1 | //
2 | // Use this file to import your target's public headers that you would like to expose to Swift.
3 | //
4 |
5 | #import "RXObjCRuntime+Testing.h"
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/.travis.yml:
--------------------------------------------------------------------------------
1 | language: objective-c
2 |
3 | osx_image: xcode7.2
4 |
5 | notifications:
6 | slack: rxswift:3ykt2Z61f8GkdvhCZTYPduOL
7 | email: false
8 |
9 | script: ./scripts/pre-release-tests.sh
10 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample/Images.xcassets/AppIcon.appiconset/Icon-40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amg1976/ViperPrototype/HEAD/Carthage/Checkouts/RxSwift/RxExample/RxExample/Images.xcassets/AppIcon.appiconset/Icon-40.png
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample/Images.xcassets/AppIcon.appiconset/Icon-76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amg1976/ViperPrototype/HEAD/Carthage/Checkouts/RxSwift/RxExample/RxExample/Images.xcassets/AppIcon.appiconset/Icon-76.png
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample/Images.xcassets/AppIcon.appiconset/Rx_Logo_M.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amg1976/ViperPrototype/HEAD/Carthage/Checkouts/RxSwift/RxExample/RxExample/Images.xcassets/AppIcon.appiconset/Rx_Logo_M.png
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxCocoa/Common/_RX.m:
--------------------------------------------------------------------------------
1 | //
2 | // _RX.m
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 7/12/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #import "_RX.h"
10 |
11 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample/Images.xcassets/AppIcon.appiconset/Icon-40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amg1976/ViperPrototype/HEAD/Carthage/Checkouts/RxSwift/RxExample/RxExample/Images.xcassets/AppIcon.appiconset/Icon-40@2x.png
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample/Images.xcassets/AppIcon.appiconset/Icon-60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amg1976/ViperPrototype/HEAD/Carthage/Checkouts/RxSwift/RxExample/RxExample/Images.xcassets/AppIcon.appiconset/Icon-60@2x.png
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample/Images.xcassets/AppIcon.appiconset/Icon-60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amg1976/ViperPrototype/HEAD/Carthage/Checkouts/RxSwift/RxExample/RxExample/Images.xcassets/AppIcon.appiconset/Icon-60@3x.png
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample/Images.xcassets/AppIcon.appiconset/Icon-76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amg1976/ViperPrototype/HEAD/Carthage/Checkouts/RxSwift/RxExample/RxExample/Images.xcassets/AppIcon.appiconset/Icon-76@2x.png
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample/Images.xcassets/AppIcon.appiconset/Icon-Small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amg1976/ViperPrototype/HEAD/Carthage/Checkouts/RxSwift/RxExample/RxExample/Images.xcassets/AppIcon.appiconset/Icon-Small.png
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample/Images.xcassets/AppIcon.appiconset/Icon-40@2x-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amg1976/ViperPrototype/HEAD/Carthage/Checkouts/RxSwift/RxExample/RxExample/Images.xcassets/AppIcon.appiconset/Icon-40@2x-1.png
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample/Images.xcassets/AppIcon.appiconset/Icon-60@2x-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amg1976/ViperPrototype/HEAD/Carthage/Checkouts/RxSwift/RxExample/RxExample/Images.xcassets/AppIcon.appiconset/Icon-60@2x-1.png
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample/Images.xcassets/AppIcon.appiconset/Icon-Small@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amg1976/ViperPrototype/HEAD/Carthage/Checkouts/RxSwift/RxExample/RxExample/Images.xcassets/AppIcon.appiconset/Icon-Small@3x.png
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/scripts/test-linux.sh:
--------------------------------------------------------------------------------
1 | set -e
2 |
3 | CONFIGURATIONS=(debug release)
4 |
5 | for configuration in ${CONFIGURATIONS[@]}
6 | do
7 | swift build -c ${configuration} && .build/${configuration}/AllTests
8 | done
9 |
10 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample/Images.xcassets/AppIcon.appiconset/Icon-Small@2x-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amg1976/ViperPrototype/HEAD/Carthage/Checkouts/RxSwift/RxExample/RxExample/Images.xcassets/AppIcon.appiconset/Icon-Small@2x-1.png
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxSwift/Disposables/NAryDisposable.tt:
--------------------------------------------------------------------------------
1 | //
2 | // NAryDisposable.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 8/20/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample/RxExample.xcdatamodeld/.xccurrentversion:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample/Images.xcassets/ReactiveExtensionsLogo.imageset/ReactiveExtensionsLogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amg1976/ViperPrototype/HEAD/Carthage/Checkouts/RxSwift/RxExample/RxExample/Images.xcassets/ReactiveExtensionsLogo.imageset/ReactiveExtensionsLogo.png
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample/Images.xcassets/ReactiveExtensionsLogo.imageset/ReactiveExtensionsLogo-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amg1976/ViperPrototype/HEAD/Carthage/Checkouts/RxSwift/RxExample/RxExample/Images.xcassets/ReactiveExtensionsLogo.imageset/ReactiveExtensionsLogo-2.png
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample/Examples/TableViewWithEditingCommands/String+extensions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // String+extensions.swift
3 | // RxExample
4 | //
5 | // Created by carlos on 28/5/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | extension String {
10 |
11 | }
12 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxTests/RxTests.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RxTests.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 12/19/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /**
12 | Virtual time type.
13 | */
14 | public typealias TestTime = Int
15 |
16 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Tests/RxSwiftTests/TestImplementations/Mocks/Observable.Extensions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Observable.Extensions.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 3/14/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import RxSwift
10 |
11 | extension Observable : Equatable {
12 |
13 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxSwift/Disposables/NAryDisposable.swift:
--------------------------------------------------------------------------------
1 | // This file is autogenerated. Take a look at `Preprocessor` target in RxSwift project
2 | //
3 | // NAryDisposable.swift
4 | // RxSwift
5 | //
6 | // Created by Krunoslav Zaher on 8/20/15.
7 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
8 | //
9 |
10 | import Foundation
11 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Tests/Tests/Foundation+Extensions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Foundation+Extensions.swift
3 | // Tests
4 | //
5 | // Created by Krunoslav Zaher on 12/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | func isMainThread() -> Bool {
12 | return NSThread.currentThread().isMainThread
13 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxCocoa/iOS/Events/ItemEvents.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ItemEvents.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 6/20/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import UIKit
11 |
12 | public typealias ItemMovedEvent = (sourceIndex: NSIndexPath, destinationIndex: NSIndexPath)
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxSwift/Schedulers/Internal/ScheduledItemType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ScheduledItemType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 11/7/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol ScheduledItemType
12 | : Cancelable
13 | , InvocableType {
14 | func invoke()
15 | }
16 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample/Examples/TableViewPartialUpdates/NumberCell.swift:
--------------------------------------------------------------------------------
1 | //
2 | // NumberCell.swift
3 | // RxExample
4 | //
5 | // Created by Krunoslav Zaher on 7/2/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import UIKit
11 |
12 | class NumberCell : UICollectionViewCell {
13 | @IBOutlet var value: UILabel?
14 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample/Examples/Calculator/Operation.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Operation.swift
3 | // RxExample
4 | //
5 | // Created by Krunoslav Zaher on 12/21/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | enum Operator {
12 | case Addition
13 | case Subtraction
14 | case Multiplication
15 | case Division
16 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxSwift/Disposable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Disposable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 2/8/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /**
12 | Respresents disposable resource.
13 | */
14 | public protocol Disposable {
15 | /**
16 | Dispose resource.
17 | */
18 | func dispose()
19 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample/Examples/TableViewPartialUpdates/NumberSectionView.swift:
--------------------------------------------------------------------------------
1 | //
2 | // NumberSectionView.swift
3 | // RxExample
4 | //
5 | // Created by Krunoslav Zaher on 7/2/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import UIKit
11 |
12 | class NumberSectionView : UICollectionReusableView {
13 | @IBOutlet weak var value: UILabel?
14 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample/RxExample.xcdatamodeld/RxExample.xcdatamodel/contents:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxSwift/Concurrency/SynchronizedUnsubscribeType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SynchronizedUnsubscribeType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol SynchronizedUnsubscribeType : class {
12 | typealias DisposeKey
13 |
14 | func synchronizedUnsubscribe(disposeKey: DisposeKey)
15 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxSwift/Schedulers/Internal/InvocableType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // InvocableType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 11/7/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol InvocableType {
12 | func invoke()
13 | }
14 |
15 | protocol InvocableWithValueType {
16 | typealias Value
17 |
18 | func invoke(value: Value)
19 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxDataSourceStarterKit/SectionModelType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SectionModelType.swift
3 | // RxExample
4 | //
5 | // Created by Krunoslav Zaher on 6/28/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | public protocol SectionModelType {
12 | typealias Item
13 |
14 | var items: [Item] { get }
15 |
16 | init(original: Self, items: [Item])
17 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample/String+URL.swift:
--------------------------------------------------------------------------------
1 | //
2 | // String+URL.swift
3 | // RxExample
4 | //
5 | // Created by Krunoslav Zaher on 12/28/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | extension String {
12 | var URLEscaped: String {
13 | return self.stringByAddingPercentEncodingWithAllowedCharacters(.URLHostAllowedCharacterSet()) ?? ""
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxSwift/Observables/Implementations/Never.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Never.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 8/30/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | class Never : Producer {
12 | override func subscribe(observer: O) -> Disposable {
13 | return NopDisposable.instance
14 | }
15 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxSwift/Cancelable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Cancelable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 3/12/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /**
12 | Represents disposable resource with state tracking.
13 | */
14 | public protocol Cancelable : Disposable {
15 | /**
16 | - returns: Was resource disposed.
17 | */
18 | var disposed: Bool { get }
19 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Tests/RxCocoaTests/Driver+Extensions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Driver+Extensions.swift
3 | // Tests
4 | //
5 | // Created by Krunoslav Zaher on 12/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import RxCocoa
11 |
12 | extension Driver : Equatable {
13 |
14 | }
15 |
16 | public func == (lhs: Driver, rhs: Driver) -> Bool {
17 | return lhs.asObservable() === rhs.asObservable()
18 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Tests/Tests/TestErrors.swift:
--------------------------------------------------------------------------------
1 | //
2 | // TestErrors.swift
3 | // Tests
4 | //
5 | // Created by Krunoslav Zaher on 12/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | let testError = NSError(domain: "dummyError", code: -232, userInfo: nil)
12 | let testError1 = NSError(domain: "dummyError1", code: -233, userInfo: nil)
13 | let testError2 = NSError(domain: "dummyError2", code: -234, userInfo: nil)
14 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample/Examples/Calculator/CalculatorAction.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CalculatorAction.swift
3 | // RxExample
4 | //
5 | // Created by Krunoslav Zaher on 12/21/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | enum Action {
12 | case Clear
13 | case ChangeSign
14 | case Percent
15 | case Operation(Operator)
16 | case Equal
17 | case AddNumber(Character)
18 | case AddDot
19 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxSwift/Observables/Implementations/Empty.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Empty.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 8/30/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | class Empty : Producer {
12 | override func subscribe(observer: O) -> Disposable {
13 | observer.on(.Completed)
14 | return NopDisposable.instance
15 | }
16 | }
--------------------------------------------------------------------------------
/ViperPrototype/Modules/MovieDetail/View/MovieDetailView.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MovieDetailView.swift
3 | // ViperPrototype
4 | //
5 | // Created by Adriano Goncalves on 13/02/2016.
6 | // Copyright © 2016 Adriano Goncalves. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | class MovieDetailView: UIViewController {
12 |
13 | override func viewWillAppear(animated: Bool) {
14 | super.viewWillAppear(animated)
15 | navigationController?.navigationBarHidden = false
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxSwift/Disposables/StableCompositeDisposable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // StableCompositeDisposable.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 6/12/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | public final class StableCompositeDisposable {
12 | public static func create(disposable1: Disposable, _ disposable2: Disposable) -> Disposable {
13 | return BinaryDisposable(disposable1, disposable2)
14 | }
15 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxSwift/Schedulers/Internal/AnonymousInvocable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AnonymousInvocable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 11/7/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct AnonymousInvocable : InvocableType {
12 | private let _action: () -> ()
13 |
14 | init(_ action: () -> ()) {
15 | _action = action
16 | }
17 |
18 | func invoke() {
19 | _action()
20 | }
21 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxSwift/Concurrency/LockOwnerType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // LockOwnerType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol LockOwnerType : class, Lock {
12 | var _lock: NSRecursiveLock { get }
13 | }
14 |
15 | extension LockOwnerType {
16 | func lock() {
17 | _lock.lock()
18 | }
19 |
20 | func unlock() {
21 | _lock.unlock()
22 | }
23 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample/Services/DownloadableImage.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DownloadableImage.swift
3 | // RxExample
4 | //
5 | // Created by Vodovozov Gleb on 10/31/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | #if !RX_NO_MODULE
11 | import RxSwift
12 | #endif
13 | #if os(iOS)
14 | import UIKit
15 | #elseif os(OSX)
16 | import Cocoa
17 | #endif
18 |
19 | enum DownloadableImage{
20 | case Content(image:Image)
21 | case OfflinePlaceholder
22 |
23 | }
24 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxDataSourceStarterKit/RxDataSourceStarterKit.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RxDataSourceStarterKit.swift
3 | // RxExample
4 | //
5 | // Created by Krunoslav Zaher on 8/29/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | #if !RX_NO_MODULE
12 | func bindingErrorToInterface(error: ErrorType) {
13 | let error = "Binding error to UI: \(error)"
14 | #if DEBUG
15 | fatalError(error)
16 | #else
17 | print(error)
18 | #endif
19 | }
20 |
21 | #endif
22 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/scripts/automation-tests/main.js:
--------------------------------------------------------------------------------
1 |
2 | #import "common.js"
3 | #import "01_githubSignUp.js"
4 | #import "02_searchWikipedia.js"
5 | #import "03_masterDetail.js"
6 | #import "04_controlsTests.js"
7 | #import "05_reactivePartialUpdates.js"
8 |
9 | var target = UIATarget.localTarget();
10 |
11 | // open all screens
12 | for (var i = 0; i < 12; ++i) {
13 | log(i);
14 | target.delay( 0.5 );
15 | target.frontMostApp().mainWindow().tableViews()[0].cells()[i].tap();
16 | target.frontMostApp().navigationBar().leftButton().tap();
17 | }
18 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample/Images.xcassets/ReactiveExtensionsLogo.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "scale" : "2x",
10 | "filename" : "ReactiveExtensionsLogo.png"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x",
15 | "filename" : "ReactiveExtensionsLogo-2.png"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxSwift/Concurrency/SynchronizedDisposeType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SynchronizedDisposeType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol SynchronizedDisposeType : class, Disposable, Lock {
12 | func _synchronized_dispose()
13 | }
14 |
15 | extension SynchronizedDisposeType {
16 | func synchronizedDispose() {
17 | lock(); defer { unlock() }
18 | _synchronized_dispose()
19 | }
20 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxSwift/Concurrency/SynchronizedOnType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SynchronizedOnType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol SynchronizedOnType : class, ObserverType, Lock {
12 | func _synchronized_on(event: Event)
13 | }
14 |
15 | extension SynchronizedOnType {
16 | func synchronizedOn(event: Event) {
17 | lock(); defer { unlock() }
18 | _synchronized_on(event)
19 | }
20 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxSwift/Disposables/DisposeBase.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DisposeBase.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 4/4/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /**
12 | Base class for all disposables.
13 | */
14 | public class DisposeBase {
15 | init() {
16 | #if TRACE_RESOURCES
17 | AtomicIncrement(&resourceCount)
18 | #endif
19 | }
20 |
21 | deinit {
22 | #if TRACE_RESOURCES
23 | AtomicDecrement(&resourceCount)
24 | #endif
25 | }
26 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxCocoa/RxCocoa.h:
--------------------------------------------------------------------------------
1 | //
2 | // RxCocoa.h
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 2/21/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "_RX.h"
11 | #import "_RXDelegateProxy.h"
12 | #import "_RXKVOObserver.h"
13 | #import "_RXObjCRuntime.h"
14 |
15 | //! Project version number for RxCocoa.
16 | FOUNDATION_EXPORT double RxCocoaVersionNumber;
17 |
18 | //! Project version string for RxCocoa.
19 | FOUNDATION_EXPORT const unsigned char RxCocoaVersionString[];
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxCocoa/Common/Observables/Implementations/DeallocObservable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DeallocObservable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 12/19/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | #if !RX_NO_MODULE
11 | import RxSwift
12 | #endif
13 |
14 | class DeallocObservable {
15 | let _subject = ReplaySubject.create(bufferSize: 1)
16 |
17 | init() {
18 | }
19 |
20 | deinit {
21 | _subject.on(.Next(()))
22 | _subject.on(.Completed)
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/scripts/automation-tests/05_reactivePartialUpdates.js:
--------------------------------------------------------------------------------
1 |
2 |
3 | test("----- reactivePartialUpdates -----", function (check, pass) {
4 | var target = UIATarget.localTarget()
5 |
6 | target.frontMostApp().mainWindow().tableViews()[0].cells()[10].tap();
7 |
8 | var rightButton = target.frontMostApp().navigationBar().rightButton();
9 | rightButton.tap();
10 | rightButton.tap();
11 | rightButton.tap();
12 | rightButton.tap();
13 | rightButton.tap();
14 | rightButton.tap();
15 | rightButton.tap();
16 |
17 | goBack()
18 |
19 | pass()
20 | });
21 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxBlocking/README.md:
--------------------------------------------------------------------------------
1 | RxBlocking
2 | ============================================================
3 |
4 | Set of blocking operators for easy unit testing.
5 |
6 | ***Don't use these operators in production apps. These operators are only meant for testing purposes.***
7 |
8 |
9 | ```swift
10 | extension ObservableType {
11 | public func toArray() throws -> [E] {}
12 | }
13 |
14 | extension ObservableType {
15 | public func first() throws -> E? {}
16 | }
17 |
18 | extension ObservableType {
19 | public func last() throws -> E? {}
20 | }
21 | ```
22 |
23 |
24 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/scripts/validate-playgrounds.sh:
--------------------------------------------------------------------------------
1 | . scripts/common.sh
2 |
3 | CONFIGURATIONS=(Release)
4 |
5 | # make sure osx builds
6 | for scheme in "RxSwift-OSX"
7 | do
8 | for configuration in ${CONFIGURATIONS[@]}
9 | do
10 | PAGES_PATH=${BUILD_DIRECTORY}/Build/Products/${configuration}/all-playground-pages.swift
11 | rx ${scheme} ${configuration} "" build
12 | cat Rx.playground/Sources/*.swift Rx.playground/Pages/**/*.swift > ${PAGES_PATH}
13 | swift -v -D NOT_IN_PLAYGROUND -F ${BUILD_DIRECTORY}/Build/Products/${configuration} ${PAGES_PATH}
14 | done
15 | done
16 |
17 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Tests/RxSwiftTests/TestImplementations/EquatableArray.swift:
--------------------------------------------------------------------------------
1 | //
2 | // EquatableArray.swift
3 | // RxTests
4 | //
5 | // Created by Krunoslav Zaher on 10/15/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct EquatableArray : Equatable {
12 | let elements: [Element]
13 | init(_ elements: [Element]) {
14 | self.elements = elements
15 | }
16 | }
17 |
18 | func == (lhs: EquatableArray, rhs: EquatableArray) -> Bool {
19 | return lhs.elements == rhs.elements
20 | }
21 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample/Services/UIImage+Extensions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIImage+Extensions.swift
3 | // RxExample
4 | //
5 | // Created by Krunoslav Zaher on 11/1/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | #if os(iOS)
11 | import UIKit
12 | #endif
13 |
14 | extension Image {
15 | func forceLazyImageDecompression() -> Image {
16 | #if os(iOS)
17 | UIGraphicsBeginImageContext(CGSizeMake(1, 1))
18 | self.drawAtPoint(CGPointZero)
19 | UIGraphicsEndImageContext()
20 | #endif
21 | return self
22 | }
23 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxSwift/Observables/Implementations/Error.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Error.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 8/30/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | class Error : Producer {
12 | private let _error: ErrorType
13 |
14 | init(error: ErrorType) {
15 | _error = error
16 | }
17 |
18 | override func subscribe(observer: O) -> Disposable {
19 | observer.on(.Error(_error))
20 | return NopDisposable.instance
21 | }
22 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxSwift/Schedulers/Internal/InvocableScheduledItem.swift:
--------------------------------------------------------------------------------
1 | //
2 | // InvocableScheduledItem.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 11/7/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct InvocableScheduledItem : InvocableType {
12 |
13 | let _invocable: I
14 | let _state: I.Value
15 |
16 | init(invocable: I, state: I.Value) {
17 | _invocable = invocable
18 | _state = state
19 | }
20 |
21 | func invoke() {
22 | _invocable.invoke(_state)
23 | }
24 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample/iOS/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.swift
3 | // Example
4 | //
5 | // Created by Krunoslav Zaher on 2/21/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | @UIApplicationMain
12 | class AppDelegate: UIResponder, UIApplicationDelegate {
13 |
14 | var window: UIWindow?
15 |
16 | func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
17 | // Override point for customization after application launch.
18 | return true
19 | }
20 | }
21 |
22 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxSwift/Disposables/SubscriptionDisposable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SubscriptionDisposable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct SubscriptionDisposable : Disposable {
12 | private let _key: T.DisposeKey
13 | private weak var _owner: T?
14 |
15 | init(owner: T, key: T.DisposeKey) {
16 | _owner = owner
17 | _key = key
18 | }
19 |
20 | func dispose() {
21 | _owner?.synchronizedUnsubscribe(_key)
22 | }
23 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample/Examples/TableViewWithEditingCommands/UIImageView+Extensions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIImageView+Extensions.swift
3 | // RxExample
4 | //
5 | // Created by carlos on 28/5/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | extension UIImageView {
12 |
13 | func makeRoundedCorners(radius: CGFloat) {
14 | self.layer.cornerRadius = self.frame.size.width / 2
15 | self.layer.borderColor = UIColor.darkGrayColor().CGColor
16 | self.layer.borderWidth = radius
17 | self.layer.masksToBounds = true
18 | }
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Tests/RxSwiftTests/TestImplementations/Observable+Extensions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Observable+Extensions.swift
3 | // RxTests
4 | //
5 | // Created by Krunoslav Zaher on 6/4/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import RxSwift
11 | import RxTests
12 |
13 | public func == (lhs: Observable, rhs: Observable) -> Bool {
14 | return lhs === rhs
15 | }
16 |
17 | extension TestableObservable : Equatable {
18 |
19 | }
20 |
21 | public func == (lhs: TestableObservable, rhs: TestableObservable) -> Bool {
22 | return lhs === rhs
23 | }
24 |
25 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Tests/Tests/Recorded+Timeless.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Recorded+Timeless.swift
3 | // Tests
4 | //
5 | // Created by Krunoslav Zaher on 12/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import RxTests
11 | import RxSwift
12 |
13 | func next(value: T) -> Recorded> {
14 | return Recorded(time: 0, event: .Next(value))
15 | }
16 |
17 | func completed() -> Recorded> {
18 | return Recorded(time: 0, event: .Completed)
19 | }
20 |
21 | func error(error: ErrorType) -> Recorded> {
22 | return Recorded(time: 0, event: .Error(error))
23 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxCocoa/Common/_RXDelegateProxy.h:
--------------------------------------------------------------------------------
1 | //
2 | // _RXDelegateProxy.h
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 7/4/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface _RXDelegateProxy : NSObject
12 |
13 | @property (nonatomic, assign, readonly) id _forwardToDelegate;
14 |
15 | -(void)_setForwardToDelegate:(id)forwardToDelegate retainDelegate:(BOOL)retainDelegate;
16 |
17 | -(BOOL)hasWiredImplementationForSelector:(SEL)selector;
18 |
19 | -(void)interceptedSelector:(SEL)selector withArguments:(NSArray*)arguments;
20 |
21 | @end
22 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Tests/RxSwiftTests/TestImplementations/Mocks/MainThreadPrimitiveHotObservable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MainThreadPrimitiveHotObservable.swift
3 | // RxTests
4 | //
5 | // Created by Krunoslav Zaher on 10/14/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import RxSwift
11 | import XCTest
12 |
13 | class MainThreadPrimitiveHotObservable : PrimitiveHotObservable {
14 | override func subscribe(observer: O) -> Disposable {
15 | XCTAssertTrue(isMainThread())
16 | return super.subscribe(observer)
17 | }
18 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxCocoa/Common/Logging.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Logging.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 4/3/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /**
12 | Simple logging settings for RxCocoa library.
13 | */
14 | public struct Logging {
15 | public typealias LogURLRequest = (NSURLRequest) -> Bool
16 |
17 | /**
18 | Log URL requests to standard output in curl format.
19 | */
20 | public static var URLRequests: LogURLRequest = { _ in
21 | #if DEBUG
22 | return true
23 | #else
24 | return false
25 | #endif
26 | }
27 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample/OSX/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.swift
3 | // RxExample
4 | //
5 | // Created by Krunoslav Zaher on 5/19/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Cocoa
10 |
11 | @NSApplicationMain
12 | class AppDelegate: NSObject, NSApplicationDelegate {
13 |
14 | func applicationDidFinishLaunching(aNotification: NSNotification) {
15 | // Insert code here to initialize your application
16 | }
17 |
18 | func applicationWillTerminate(aNotification: NSNotification) {
19 | // Insert code here to tear down your application
20 | }
21 |
22 |
23 | }
24 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Tests/RxSwiftTests/TestImplementations/Mocks/MockDisposable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MockDisposable.swift
3 | // RxTests
4 | //
5 | // Created by Yury Korolev on 10/17/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import RxSwift
11 | import RxTests
12 |
13 | class MockDisposable : Disposable
14 | {
15 | var ticks = [Int]()
16 | private let _scheduler: TestScheduler
17 |
18 | init(scheduler: TestScheduler) {
19 | _scheduler = scheduler
20 | ticks.append(_scheduler.clock)
21 | }
22 |
23 | func dispose() {
24 | ticks.append(_scheduler.clock)
25 | }
26 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Tests/RxSwiftTests/TestImplementations/Mocks/BackgroundThreadPrimitiveHotObservable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // BackgroundThreadPrimitiveHotObservable.swift
3 | // RxTests
4 | //
5 | // Created by Krunoslav Zaher on 10/19/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import RxSwift
11 | import XCTest
12 |
13 | class BackgroundThreadPrimitiveHotObservable : PrimitiveHotObservable {
14 | override func subscribe(observer: O) -> Disposable {
15 | XCTAssertTrue(!isMainThread())
16 | return super.subscribe(observer)
17 | }
18 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxSwift/Extensions/String+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // String+Rx.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 12/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | extension String {
12 | /**
13 | This is needed because on Linux Swift doesn't have `rangeOfString(..., options: .BackwardsSearch)`
14 | */
15 | func lastIndexOf(character: Character) -> Index? {
16 | var last: Index?
17 | for i in startIndex ..< endIndex {
18 | if self[i] == character {
19 | last = i
20 | }
21 | }
22 |
23 | return last
24 | }
25 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Tests/RxSwiftTests/TestImplementations/Mocks/PrimitiveMockObserver.swift:
--------------------------------------------------------------------------------
1 | //
2 | // PrimitiveMockObserver.swift
3 | // RxTests
4 | //
5 | // Created by Krunoslav Zaher on 6/4/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import RxSwift
11 | import RxTests
12 |
13 | class PrimitiveMockObserver : ObserverType {
14 | typealias Element = ElementType
15 |
16 | var events: [Recorded>]
17 |
18 | init() {
19 | self.events = []
20 | }
21 |
22 | func on(event: Event) {
23 | events.append(Recorded(time: 0, event: event))
24 | }
25 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxSwift/ObservableConvertibleType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ObservableConvertibleType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 9/17/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /**
12 | Type that can be converted to observable sequence (`Observer`).
13 | */
14 | public protocol ObservableConvertibleType {
15 | /**
16 | Type of elements in sequence.
17 | */
18 | typealias E
19 |
20 | /**
21 | Converts `self` to `Observable` sequence.
22 |
23 | - returns: Observable sequence that represents `self`.
24 | */
25 | func asObservable() -> Observable
26 | }
27 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Tests/RxSwiftTests/TestImplementations/ElementIndexPair.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ElementIndexPair.swift
3 | // RxTests
4 | //
5 | // Created by Krunoslav Zaher on 6/12/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct ElementIndexPair : Equatable {
12 | let element: E
13 | let index: I
14 |
15 | init(_ element: E, _ index: I) {
16 | self.element = element
17 | self.index = index
18 | }
19 | }
20 |
21 | func == (lhs: ElementIndexPair, rhs: ElementIndexPair) -> Bool {
22 | return lhs.element == rhs.element && lhs.index == rhs.index
23 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxSwift/Concurrency/SynchronizedSubscribeType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SynchronizedSubscribeType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol SynchronizedSubscribeType : class, ObservableType, Lock {
12 | func _synchronized_subscribe(observer: O) -> Disposable
13 | }
14 |
15 | extension SynchronizedSubscribeType {
16 | func synchronizedSubscribe(observer: O) -> Disposable {
17 | lock(); defer { unlock() }
18 | return _synchronized_subscribe(observer)
19 | }
20 | }
--------------------------------------------------------------------------------
/ViperPrototype/Modules/MovieDetail/Wireframe/MovieDetailWireframe.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MovieDetailWireframe.swift
3 | // ViperPrototype
4 | //
5 | // Created by Adriano Goncalves on 13/02/2016.
6 | // Copyright © 2016 Adriano Goncalves. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | struct MovieDetailWireframe {
12 |
13 | static func presentMovieDetailModule(window: UIWindow) {
14 | let controller = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("MovieDetailView")
15 | if let navController = window.rootViewController as? UINavigationController {
16 | navController.pushViewController(controller, animated: true)
17 | }
18 | }
19 |
20 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxCocoa/OSX/NSSlider+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // NSSlider+Rx.swift
3 | // RxCocoa
4 | //
5 | // Created by Junior B. on 24/05/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | #if !RX_NO_MODULE
11 | import RxSwift
12 | #endif
13 | import Cocoa
14 |
15 | extension NSSlider {
16 |
17 | /**
18 | Reactive wrapper for `value` property.
19 | */
20 | public var rx_value: ControlProperty {
21 | return rx_value(getter: { [weak self] in
22 | return self?.doubleValue ?? 0
23 | }, setter: { [weak self] value in
24 | self?.doubleValue = value
25 | })
26 | }
27 |
28 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample-iOSTests/Mocks/NotImplementedStubs.swift:
--------------------------------------------------------------------------------
1 | //
2 | // NotImplementedStubs.swift
3 | // RxExample
4 | //
5 | // Created by Krunoslav Zaher on 12/29/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import RxSwift
11 | import RxTests
12 |
13 | // MARK: Generic support code
14 |
15 |
16 | // MARK: Not implemented stubs
17 |
18 | func notImplemented() -> (T1) -> Observable {
19 | return { _ in
20 | fatalError()
21 | return Observable.empty()
22 | }
23 | }
24 |
25 | func notImplementedSync() -> (T1) -> Void {
26 | return { _ in
27 | fatalError()
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxSwift/Disposables/NopDisposable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // NopDisposable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 2/15/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /**
12 | Represents a disposable that does nothing on disposal.
13 |
14 | Nop = No Operation
15 | */
16 | public struct NopDisposable : Disposable {
17 |
18 | /**
19 | Singleton instance of `NopDisposable`.
20 | */
21 | public static let instance: Disposable = NopDisposable()
22 |
23 | init() {
24 |
25 | }
26 |
27 | /**
28 | Does nothing.
29 | */
30 | public func dispose() {
31 | }
32 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxCocoa/iOS/UISwitch+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UISwitch+Rx.swift
3 | // RxCocoa
4 | //
5 | // Created by Carlos García on 8/7/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS)
10 |
11 | import UIKit
12 | #if !RX_NO_MODULE
13 | import RxSwift
14 | #endif
15 |
16 |
17 | extension UISwitch {
18 |
19 | /**
20 | Reactive wrapper for `on` property.
21 | */
22 | public var rx_value: ControlProperty {
23 | return rx_value(getter: { [weak self] in
24 | self?.on ?? false
25 | }, setter: { [weak self] value in
26 | self?.on = value
27 | })
28 | }
29 |
30 | }
31 |
32 | #endif
33 |
34 |
--------------------------------------------------------------------------------
/ViperPrototype/Modules/MainMoviesList/Interactor/MainMoviesListInteractor.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MainMoviesListInteractor.swift
3 | // ViperPrototype
4 | //
5 | // Created by Adriano Goncalves on 13/02/2016.
6 | // Copyright © 2016 Adriano Goncalves. All rights reserved.
7 | //
8 |
9 | import UIKit
10 | import RxSwift
11 |
12 | struct MainMoviesListInteractor {
13 |
14 | private let apiDataManager: TmdbApiDataManager
15 | private let disposeBag = DisposeBag()
16 |
17 | init(apiDataManager: TmdbApiDataManager) {
18 | self.apiDataManager = apiDataManager
19 | }
20 |
21 | //MARK: Output
22 |
23 | func getAllMovies() -> Observable<[Movie]> {
24 | return apiDataManager.discoverMovies()
25 | }
26 |
27 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxCocoa/Common/CocoaUnits/Driver/Variable+Driver.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Variable+Driver.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 12/28/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | #if !RX_NO_MODULE
11 | import RxSwift
12 | #endif
13 |
14 | extension Variable {
15 | /**
16 | Converts `Variable` to `Driver` unit.
17 |
18 | - returns: Driving observable sequence.
19 | */
20 | @warn_unused_result(message="http://git.io/rxs.uo")
21 | public func asDriver() -> Driver {
22 | let source = self.asObservable()
23 | .observeOn(driverObserveOnScheduler)
24 | return Driver(source)
25 | }
26 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxBlocking/BlockingObservable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // BlockingObservable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/19/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | #if !RX_NO_MODULE
11 | import RxSwift
12 | #endif
13 |
14 | /**
15 | `BlockingObservable` is a variety of `Observable` that provides blocking operators.
16 |
17 | It can be useful for testing and demo purposes, but is generally inappropriate for production applications.
18 |
19 | If you think you need to use a `BlockingObservable` this is usually a sign that you should rethink your
20 | design.
21 | */
22 | public struct BlockingObservable {
23 | let source: Observable
24 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxCocoa/iOS/UIStepper+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIStepper+Rx.swift
3 | // RxCocoa
4 | //
5 | // Created by Yuta ToKoRo on 9/1/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS)
10 |
11 | import Foundation
12 | import UIKit
13 | #if !RX_NO_MODULE
14 | import RxSwift
15 | #endif
16 |
17 | extension UIStepper {
18 |
19 | /**
20 | Reactive wrapper for `value` property.
21 | */
22 | public var rx_value: ControlProperty {
23 | return rx_value(getter: { [weak self] in
24 | self?.value ?? 0
25 | }, setter: { [weak self] value in
26 | self?.value = value
27 | })
28 | }
29 |
30 | }
31 |
32 | #endif
33 |
34 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxCocoa/iOS/UISlider+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UISlider+Rx.swift
3 | // RxCocoa
4 | //
5 | // Created by Alexander van der Werff on 28/05/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS)
10 |
11 | import Foundation
12 | #if !RX_NO_MODULE
13 | import RxSwift
14 | #endif
15 | import UIKit
16 |
17 | extension UISlider {
18 |
19 | /**
20 | Reactive wrapper for `value` property.
21 | */
22 | public var rx_value: ControlProperty {
23 | return rx_value(getter: { [weak self] in
24 | self?.value ?? 0.0
25 | }, setter: { [weak self] value in
26 | self?.value = value
27 | })
28 | }
29 |
30 | }
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxCocoa/iOS/UIDatePicker+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIDatePicker+Rx.swift
3 | // RxCocoa
4 | //
5 | // Created by Daniel Tartaglia on 5/31/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS)
10 |
11 | import Foundation
12 | #if !RX_NO_MODULE
13 | import RxSwift
14 | #endif
15 | import UIKit
16 |
17 | extension UIDatePicker {
18 |
19 | /**
20 | Reactive wrapper for `date` property.
21 | */
22 | public var rx_date: ControlProperty {
23 | return rx_value(getter: { [weak self] in
24 | self?.date ?? NSDate()
25 | }, setter: { [weak self] value in
26 | self?.date = value
27 | })
28 | }
29 |
30 | }
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxCocoa/iOS/UITextField+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UITextField+Rx.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 2/21/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS) || os(tvOS)
10 |
11 | import Foundation
12 | #if !RX_NO_MODULE
13 | import RxSwift
14 | #endif
15 | import UIKit
16 |
17 | extension UITextField {
18 |
19 | /**
20 | Reactive wrapper for `text` property.
21 | */
22 | public var rx_text: ControlProperty {
23 | return rx_value(getter: { [weak self] in
24 | self?.text ?? ""
25 | }, setter: { [weak self] value in
26 | self?.text = value
27 | })
28 | }
29 |
30 | }
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Rx.playground/contents.xcplayground:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxBlocking/ObservableConvertibleType+Blocking.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ObservableConvertibleType+Blocking.swift
3 | // RxBlocking
4 | //
5 | // Created by Krunoslav Zaher on 7/12/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | #if !RX_NO_MODULE
11 | import RxSwift
12 | #endif
13 |
14 | extension ObservableConvertibleType {
15 | /**
16 | Converts an Observable into a `BlockingObservable` (an Observable with blocking operators).
17 |
18 | - returns: `BlockingObservable` version of `self`
19 | */
20 | @warn_unused_result(message="http://git.io/rxs.uo")
21 | public func toBlocking() -> BlockingObservable {
22 | return BlockingObservable(source: self.asObservable())
23 | }
24 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample-iOSTests/Mocks/ValidationResult+Equatable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ValidationResult+Equatable.swift
3 | // RxExample
4 | //
5 | // Created by Krunoslav Zaher on 12/29/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | // MARK: Equatable
12 |
13 | extension ValidationResult : Equatable {
14 |
15 | }
16 |
17 | func == (lhs: ValidationResult, rhs: ValidationResult) -> Bool {
18 | switch (lhs, rhs) {
19 | case (.OK, .OK):
20 | return true
21 | case (.Empty, .Empty):
22 | return true
23 | case (.Validating, .Validating):
24 | return true
25 | case (.Failed, .Failed):
26 | return true
27 | default:
28 | return false
29 | }
30 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxCocoa/Common/SectionedViewDataSourceType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SectionedViewDataSourceType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 1/10/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /**
12 | Data source with access to underlying sectioned model.
13 | */
14 | public protocol SectionedViewDataSourceType {
15 | /**
16 | Returns model at index path.
17 |
18 | In case data source doesn't contain any sections when this method is being called, `RxCocoaError.ItemsNotYetBound(object: self)` is thrown.
19 |
20 | - parameter indexPath: Model index path
21 | - returns: Model at index path.
22 | */
23 | func modelAtIndexPath(indexPath: NSIndexPath) throws -> Any
24 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Rx.playground/Sources/SupportCode.swift:
--------------------------------------------------------------------------------
1 |
2 | import Foundation
3 |
4 | public func example(description: String, action: () -> ()) {
5 | print("\n--- \(description) example ---")
6 | action()
7 | }
8 |
9 | public func delay(delay:Double, closure:()->()) {
10 | dispatch_after(
11 | dispatch_time(
12 | DISPATCH_TIME_NOW,
13 | Int64(delay * Double(NSEC_PER_SEC))
14 | ),
15 | dispatch_get_main_queue(), closure)
16 | }
17 |
18 | #if NOT_IN_PLAYGROUND
19 |
20 | public func playgroundShouldContinueIndefinitely() {
21 | }
22 |
23 | #else
24 |
25 | import XCPlayground
26 |
27 | public func playgroundShouldContinueIndefinitely() {
28 | XCPlaygroundPage.currentPage.needsIndefiniteExecution = true
29 | }
30 |
31 | #endif
32 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxCocoa/iOS/UISegmentedControl+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UISegmentedControl+Rx.swift
3 | // RxCocoa
4 | //
5 | // Created by Carlos García on 8/7/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS) || os(tvOS)
10 |
11 | import UIKit
12 | #if !RX_NO_MODULE
13 | import RxSwift
14 | #endif
15 |
16 |
17 | extension UISegmentedControl {
18 |
19 | /**
20 | Reactive wrapper for `selectedSegmentIndex` property.
21 | */
22 | public var rx_value: ControlProperty {
23 | return rx_value(getter: { [weak self] in
24 | self?.selectedSegmentIndex ?? 0
25 | }, setter: { [weak self] value in
26 | self?.selectedSegmentIndex = value
27 | })
28 | }
29 |
30 | }
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/ViperPrototype/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "iphone",
5 | "size" : "29x29",
6 | "scale" : "2x"
7 | },
8 | {
9 | "idiom" : "iphone",
10 | "size" : "29x29",
11 | "scale" : "3x"
12 | },
13 | {
14 | "idiom" : "iphone",
15 | "size" : "40x40",
16 | "scale" : "2x"
17 | },
18 | {
19 | "idiom" : "iphone",
20 | "size" : "40x40",
21 | "scale" : "3x"
22 | },
23 | {
24 | "idiom" : "iphone",
25 | "size" : "60x60",
26 | "scale" : "2x"
27 | },
28 | {
29 | "idiom" : "iphone",
30 | "size" : "60x60",
31 | "scale" : "3x"
32 | }
33 | ],
34 | "info" : {
35 | "version" : 1,
36 | "author" : "xcode"
37 | }
38 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxSwift/DataStructures/InfiniteSequence.swift:
--------------------------------------------------------------------------------
1 | //
2 | // InfiniteSequence.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 6/13/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /**
12 | Sequence that repeats `repeatedValue` infinite number of times.
13 | */
14 | struct InfiniteSequence : SequenceType {
15 | typealias Element = E
16 | typealias Generator = AnyGenerator
17 |
18 | private let _repeatedValue: E
19 |
20 | init(repeatedValue: E) {
21 | _repeatedValue = repeatedValue
22 | }
23 |
24 | func generate() -> Generator {
25 | let repeatedValue = _repeatedValue
26 | return anyGenerator {
27 | return repeatedValue
28 | }
29 | }
30 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxSwift/Observables/Implementations/StartWith.swift:
--------------------------------------------------------------------------------
1 | //
2 | // StartWith.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 4/6/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | class StartWith: Producer {
12 | let elements: [Element]
13 | let source: Observable
14 |
15 | init(source: Observable, elements: [Element]) {
16 | self.source = source
17 | self.elements = elements
18 | super.init()
19 | }
20 |
21 | override func run(observer: O) -> Disposable {
22 | for e in elements {
23 | observer.on(.Next(e))
24 | }
25 |
26 | return source.subscribe(observer)
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxSwift/Subjects/SubjectType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SubjectType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 3/1/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /**
12 | Represents an object that is both an observable sequence as well as an observer.
13 | */
14 | public protocol SubjectType : ObservableType {
15 | /**
16 | The type of the observer that represents this subject.
17 |
18 | Usually this type is type of subject itself, but it doesn't have to be.
19 | */
20 | typealias SubjectObserverType : ObserverType
21 |
22 | /**
23 | Returns observer interface for subject.
24 |
25 | - returns: Observer interface for subject.
26 | */
27 | func asObserver() -> SubjectObserverType
28 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxCocoa/OSX/NSButton+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // NSButton+Rx.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 5/17/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | #if !RX_NO_MODULE
11 | import RxSwift
12 | #endif
13 | import Cocoa
14 |
15 | extension NSButton {
16 |
17 | /**
18 | Reactive wrapper for control event.
19 | */
20 | public var rx_tap: ControlEvent {
21 | return rx_controlEvent
22 | }
23 |
24 | /**
25 | Reactive wrapper for `state` property`.
26 | */
27 | public var rx_state: ControlProperty {
28 | return rx_value(getter: { [weak self] in
29 | return self?.state ?? 0
30 | }, setter: { [weak self] state in
31 | self?.state = state
32 | })
33 | }
34 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample/iOS/RootViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RootViewController.swift
3 | // RxExample
4 | //
5 | // Created by Krunoslav Zaher on 4/6/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import UIKit
11 | #if !RX_NO_MODULE
12 | import RxSwift
13 | import RxCocoa
14 | #endif
15 |
16 | public class RootViewController : UITableViewController {
17 | public override func viewDidLoad() {
18 | super.viewDidLoad()
19 | // force load
20 | GitHubSearchRepositoriesAPI.sharedAPI.activityIndicator
21 | DefaultWikipediaAPI.sharedAPI
22 | DefaultImageService.sharedImageService
23 | DefaultWireframe.sharedInstance
24 | MainScheduler.instance
25 | ReachabilityService.sharedReachabilityService
26 | }
27 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Tests/RxSwiftTests/TestImplementations/Mocks/TestConnectableObservable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // TestConnectableObservable.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 4/19/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import RxSwift
11 |
12 | class TestConnectableObservable : ConnectableObservableType {
13 | typealias E = S.E
14 |
15 | let _o: ConnectableObservable
16 |
17 | init(o: Observable, s: S) {
18 | _o = o.multicast(s)
19 | }
20 |
21 | func connect() -> Disposable {
22 | return _o.connect()
23 | }
24 |
25 | func subscribe(observer: O) -> Disposable {
26 | return _o.subscribe(observer)
27 | }
28 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Tests/Tests/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | BNDL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1
23 |
24 |
25 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxSwift/Schedulers/HistoricalScheduler.swift:
--------------------------------------------------------------------------------
1 | //
2 | // HistoricalScheduler.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 12/27/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /**
12 | Provides a virtual time scheduler that uses `NSDate` for absolute time and `NSTimeInterval` for relative time.
13 | */
14 | public class HistoricalScheduler : VirtualTimeScheduler {
15 |
16 | /**
17 | Creates a new historical scheduler with initial clock value.
18 |
19 | - parameter initialClock: Initial value for virtual clock.
20 | */
21 | public init(initialClock: RxTime = NSDate(timeIntervalSince1970: 0)) {
22 | super.init(initialClock: initialClock, converter: HistoricalSchedulerTimeConverter())
23 | }
24 |
25 | }
--------------------------------------------------------------------------------
/ViperPrototype/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.swift
3 | // ViperPrototype
4 | //
5 | // Created by Adriano Goncalves on 13/02/2016.
6 | // Copyright © 2016 Adriano Goncalves. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | @UIApplicationMain
12 | class AppDelegate: UIResponder, UIApplicationDelegate {
13 |
14 | var window: UIWindow?
15 |
16 | func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
17 | self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
18 | if let window = window {
19 | window.rootViewController = UINavigationController(navigationBarClass: nil, toolbarClass: nil)
20 | ConfigurationsWireframe.presentConfigurationsModule(window)
21 | window.makeKeyAndVisible()
22 | }
23 | return true
24 | }
25 |
26 | }
27 |
28 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample-iOSTests/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | BNDL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1
23 |
24 |
25 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/scripts/automation-tests/02_searchWikipedia.js:
--------------------------------------------------------------------------------
1 |
2 |
3 | test("----- searchWikipedia -----", function (check, pass) {
4 |
5 | var target = UIATarget.localTarget()
6 |
7 | var width = target.frontMostApp().mainWindow().rect().size.width
8 |
9 | target.frontMostApp().mainWindow().tableViews()[0].cells()[11].tap();
10 |
11 | target.delay(2);
12 |
13 | var searchBar = target.frontMostApp().mainWindow().searchBars()[0];
14 |
15 | searchBar.tap()
16 | target.frontMostApp().keyboard().typeString("banana");
17 |
18 | target.delay(1);
19 |
20 | target.tap({x:width - 40, y:43});
21 |
22 | target.delay(1);
23 |
24 | searchBar.tap();
25 | target.delay(1);
26 |
27 | target.frontMostApp().keyboard().typeString("Yosemite");
28 | target.delay(1);
29 |
30 | target.tap({x:width - 40, y:43});
31 |
32 | goBack();
33 |
34 | pass();
35 | });
36 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxSwift/RxMutableBox.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RxMutableBox.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 5/22/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /**
12 | Creates mutable reference wrapper for any type.
13 | */
14 | class RxMutableBox : CustomDebugStringConvertible {
15 | /**
16 | Wrapped value
17 | */
18 | var value : T
19 |
20 | /**
21 | Creates reference wrapper for `value`.
22 |
23 | - parameter value: Value to wrap.
24 | */
25 | init (_ value: T) {
26 | self.value = value
27 | }
28 | }
29 |
30 | extension RxMutableBox {
31 | /**
32 | - returns: Box description.
33 | */
34 | var debugDescription: String {
35 | get {
36 | return "MutatingBox(\(self.value))"
37 | }
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxSwift/ConnectableObservableType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ConnectableObservableType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 3/1/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /**
12 | Represents an observable sequence wrapper that can be connected and disconnected from its underlying observable sequence.
13 | */
14 | public protocol ConnectableObservableType : ObservableType {
15 | /**
16 | Connects the observable wrapper to its source. All subscribed observers will receive values from the underlying observable sequence as long as the connection is established.
17 |
18 | - returns: Disposable used to disconnect the observable wrapper from its source, causing subscribed observer to stop receiving values from the underlying observable sequence.
19 | */
20 | func connect() -> Disposable
21 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Tests/RxCocoaTests/NSControl+RxTests.swift:
--------------------------------------------------------------------------------
1 | //
2 | // NSControl+RxTests.swift
3 | // Tests
4 | //
5 | // Created by mrahmiao on 1/1/16.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import RxSwift
11 | import RxCocoa
12 | import Cocoa
13 | import XCTest
14 |
15 | class NSControlTests : RxTest {
16 | }
17 |
18 | extension NSControlTests {
19 | func testEnabled_False() {
20 | let subject = NSButton(frame: CGRectMake(0, 0, 1, 1))
21 | Observable.just(false).subscribe(subject.rx_enabled).dispose()
22 |
23 | XCTAssertTrue(subject.enabled == false)
24 | }
25 |
26 | func testEnabled_True() {
27 | let subject = NSButton(frame: CGRectMake(0, 0, 1, 1))
28 | Observable.just(true).subscribe(subject.rx_enabled).dispose()
29 |
30 | XCTAssertTrue(subject.enabled == true)
31 | }
32 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxCocoa/Common/KVORepresentable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // KVORepresentable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 11/14/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /**
12 | Type that is KVO representable (KVO mechanism can be used to observe it).
13 | */
14 | public protocol KVORepresentable {
15 | /**
16 | Associated KVO type.
17 | */
18 | typealias KVOType
19 |
20 | /**
21 | Constructs `Self` using KVO value.
22 | */
23 | init?(KVOValue: KVOType)
24 | }
25 |
26 | extension KVORepresentable {
27 | /**
28 | Initializes `KVORepresentable` with optional value.
29 | */
30 | init?(KVOValue: KVOType?) {
31 | guard let KVOValue = KVOValue else {
32 | return nil
33 | }
34 |
35 | self.init(KVOValue: KVOValue)
36 | }
37 | }
38 |
39 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxSwift/Observables/Implementations/Producer.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Producer.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 2/20/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | class Producer : Observable {
12 | override init() {
13 | super.init()
14 | }
15 |
16 | override func subscribe(observer: O) -> Disposable {
17 | if !CurrentThreadScheduler.isScheduleRequired {
18 | return run(observer)
19 | }
20 | else {
21 | return CurrentThreadScheduler.instance.schedule(()) { _ in
22 | return self.run(observer)
23 | }
24 | }
25 | }
26 |
27 | func run(observer: O) -> Disposable {
28 | abstractMethod()
29 | }
30 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxSwift/Observers/AnonymousObserver.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AnonymousObserver.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 2/8/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | class AnonymousObserver : ObserverBase {
12 | typealias Element = ElementType
13 |
14 | typealias EventHandler = Event -> Void
15 |
16 | private let _eventHandler : EventHandler
17 |
18 | init(_ eventHandler: EventHandler) {
19 | #if TRACE_RESOURCES
20 | AtomicIncrement(&resourceCount)
21 | #endif
22 | _eventHandler = eventHandler
23 | }
24 |
25 | override func onCore(event: Event) {
26 | return _eventHandler(event)
27 | }
28 |
29 | #if TRACE_RESOURCES
30 | deinit {
31 | AtomicDecrement(&resourceCount)
32 | }
33 | #endif
34 | }
35 |
--------------------------------------------------------------------------------
/ViperPrototype/Configuration/AppConfiguration.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppConfiguration.swift
3 | // ViperPrototype
4 | //
5 | // Created by Adriano Goncalves on 13/02/2016.
6 | // Copyright © 2016 Adriano Goncalves. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | class AppConfiguration {
12 |
13 | private (set) var tmdbConfiguration: TmdbConfiguration?
14 |
15 | static let sharedInstance = AppConfiguration()
16 |
17 | var posterBasePath: String {
18 | return tmdbConfiguration!.imagesBaseUrl + tmdbConfiguration!.posterSizes[tmdbConfiguration!.posterSizes.count-2]
19 | }
20 |
21 | var backdropBasePath: String {
22 | return tmdbConfiguration!.imagesBaseUrl + tmdbConfiguration!.backdropSizes[tmdbConfiguration!.backdropSizes.count-2]
23 | }
24 |
25 | func setTmdbConfiguration(configuration: TmdbConfiguration) {
26 | tmdbConfiguration = configuration
27 | }
28 |
29 | }
--------------------------------------------------------------------------------
/ViperPrototype/Configuration/TmdbConfiguration.swift:
--------------------------------------------------------------------------------
1 | //
2 | // TmdbConfiguration.swift
3 | // ViperPrototype
4 | //
5 | // Created by Adriano Goncalves on 13/02/2016.
6 | // Copyright © 2016 Adriano Goncalves. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct TmdbConfiguration {
12 |
13 | let imagesBaseUrl: String
14 | let posterSizes: [String]
15 | let backdropSizes: [String]
16 |
17 | init?(jsonDictionary: [NSObject: AnyObject]) {
18 |
19 | guard let images = jsonDictionary["images"] as? [NSObject: AnyObject],
20 | baseUrl = images["base_url"] as? String,
21 | posterSizes = images["poster_sizes"] as? [String],
22 | backdropSizes = images["backdrop_sizes"] as? [String] else { return nil }
23 |
24 | self.imagesBaseUrl = baseUrl
25 | self.posterSizes = posterSizes
26 | self.backdropSizes = backdropSizes
27 |
28 | }
29 |
30 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample/Services/PseudoRandomGenerator.swift:
--------------------------------------------------------------------------------
1 | //
2 | // PseudoRandomGenerator.swift
3 | // RxExample
4 | //
5 | // Created by Krunoslav Zaher on 6/28/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 |
12 | // https://en.wikipedia.org/wiki/Random_number_generation
13 | class PseudoRandomGenerator {
14 | var m_w: UInt32 /* must not be zero, nor 0x464fffff */
15 | var m_z: UInt32 /* must not be zero, nor 0x9068ffff */
16 |
17 | init(_ m_w: UInt32, _ m_z: UInt32) {
18 | self.m_w = m_w
19 | self.m_z = m_z
20 | }
21 |
22 | func get_random() -> Int {
23 | m_z = 36969 &* (m_z & 65535) &+ (m_z >> 16);
24 | m_w = 18000 &* (m_w & 65535) &+ (m_w >> 16);
25 | let val = ((m_z << 16) &+ m_w)
26 | return Int(val % (1 << 30)) /* 32-bit result */
27 | }
28 | }
29 |
30 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxCocoa/Common/CocoaUnits/Driver/ControlEvent+Driver.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ControlEvent+Driver.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 9/19/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | #if !RX_NO_MODULE
11 | import RxSwift
12 | #endif
13 |
14 | extension ControlEvent {
15 | /**
16 | Converts `ControlEvent` to `Driver` unit.
17 |
18 | `ControlEvent` already can't fail, so no special case needs to be handled.
19 | */
20 | @warn_unused_result(message="http://git.io/rxs.uo")
21 | public func asDriver() -> Driver {
22 | return self.asDriver { (error) -> Driver in
23 | #if DEBUG
24 | rxFatalError("Somehow driver received error from a source that shouldn't fail.")
25 | #else
26 | return Driver.empty()
27 | #endif
28 | }
29 | }
30 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxBlocking/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 2.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | $(CURRENT_PROJECT_VERSION)
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxCocoa/Common/CocoaUnits/Driver/ControlProperty+Driver.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ControlProperty+Driver.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 9/19/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | #if !RX_NO_MODULE
11 | import RxSwift
12 | #endif
13 |
14 | extension ControlProperty {
15 | /**
16 | Converts `ControlProperty` to `Driver` unit.
17 |
18 | `ControlProperty` already can't fail, so no special case needs to be handled.
19 | */
20 | @warn_unused_result(message="http://git.io/rxs.uo")
21 | public func asDriver() -> Driver {
22 | return self.asDriver { (error) -> Driver in
23 | #if DEBUG
24 | rxFatalError("Somehow driver received error from a source that shouldn't fail.")
25 | #else
26 | return Driver.empty()
27 | #endif
28 | }
29 | }
30 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxCocoa/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 2.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | $(CURRENT_PROJECT_VERSION)
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxSwift/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 2.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | $(CURRENT_PROJECT_VERSION)
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxTests/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 2.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | $(CURRENT_PROJECT_VERSION)
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample/Operators.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Operators.swift
3 | // RxExample
4 | //
5 | // Created by Krunoslav Zaher on 12/6/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | #if !RX_NO_MODULE
11 | import RxSwift
12 | import RxCocoa
13 | #endif
14 |
15 | // Two way binding operator between control property and variable, that's all it takes {
16 |
17 | infix operator <-> {
18 | }
19 |
20 | func <-> (property: ControlProperty, variable: Variable) -> Disposable {
21 | let bindToUIDisposable = variable.asObservable()
22 | .bindTo(property)
23 | let bindToVariable = property
24 | .subscribe(onNext: { n in
25 | variable.value = n
26 | }, onCompleted: {
27 | bindToUIDisposable.dispose()
28 | })
29 |
30 | return StableCompositeDisposable.create(bindToUIDisposable, bindToVariable)
31 | }
32 |
33 | // }
34 |
35 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxSwift/Observers/ObserverBase.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ObserverBase.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 2/15/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | class ObserverBase : Disposable, ObserverType {
12 | typealias E = ElementType
13 |
14 | private var _isStopped: AtomicInt = 0
15 |
16 | func on(event: Event) {
17 | switch event {
18 | case .Next:
19 | if _isStopped == 0 {
20 | onCore(event)
21 | }
22 | case .Error, .Completed:
23 |
24 | if !AtomicCompareAndSwap(0, 1, &_isStopped) {
25 | return
26 | }
27 |
28 | onCore(event)
29 | }
30 | }
31 |
32 | func onCore(event: Event) {
33 | abstractMethod()
34 | }
35 |
36 | func dispose() {
37 | _isStopped = 1
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxSwift/Schedulers/Internal/ScheduledItem.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ScheduledItem.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 9/2/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct ScheduledItem
12 | : ScheduledItemType
13 | , InvocableType {
14 | typealias Action = T -> Disposable
15 |
16 | private let _action: Action
17 | private let _state: T
18 |
19 | private let _disposable = SingleAssignmentDisposable()
20 |
21 | var disposed: Bool {
22 | get {
23 | return _disposable.disposed
24 | }
25 | }
26 |
27 | init(action: Action, state: T) {
28 | _action = action
29 | _state = state
30 | }
31 |
32 | func invoke() {
33 | _disposable.disposable = _action(_state)
34 | }
35 |
36 | func dispose() {
37 | _disposable.dispose()
38 | }
39 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxCocoa/Common/RxTarget.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RxTarget.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 7/12/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | #if !RX_NO_MODULE
11 | import RxSwift
12 | #endif
13 |
14 | class RxTarget : NSObject
15 | , Disposable {
16 |
17 | private var retainSelf: RxTarget?
18 |
19 | override init() {
20 | super.init()
21 | self.retainSelf = self
22 |
23 | #if TRACE_RESOURCES
24 | OSAtomicIncrement32(&resourceCount)
25 | #endif
26 |
27 | #if DEBUG
28 | MainScheduler.ensureExecutingOnScheduler()
29 | #endif
30 | }
31 |
32 | func dispose() {
33 | #if DEBUG
34 | MainScheduler.ensureExecutingOnScheduler()
35 | #endif
36 | self.retainSelf = nil
37 | }
38 |
39 | #if TRACE_RESOURCES
40 | deinit {
41 | OSAtomicDecrement32(&resourceCount)
42 | }
43 | #endif
44 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Rx.playground/Pages/Index.xcplaygroundpage/Contents.swift:
--------------------------------------------------------------------------------
1 |
2 | /*:
3 | > # IMPORTANT: To use `RxSamples`, please:
4 |
5 | 1. Open `Rx.xcworkspace`
6 | 2. Build `RxSwift-OSX` scheme
7 | 3. And then open `Rx` playground in `Rx.xcworkspace` tree view.
8 | 4. Choose `View > Show Debug Area`
9 | */
10 |
11 | /*:
12 | ## Index:
13 |
14 | 1. [Introduction](Introduction)
15 | 1. [Subjects](Subjects)
16 | 1. [Transforming Observables](Transforming_Observables)
17 | 1. [Filtering Observables](Filtering_Observables)
18 | 1. [Combining Observables](Combining_Observables)
19 | 1. [Error Handling Operators](Error_Handling_Operators)
20 | 1. [Observable Utility Operators](Observable_Utility_Operators)
21 | 1. [Conditional and Boolean Operators](Conditional_and_Boolean_Operators)
22 | 1. [Mathematical and Aggregate Operators](Mathematical_and_Aggregate_Operators)
23 | 1. [Connectable Observable Operators](Connectable_Observable_Operators)
24 |
25 | */
26 |
27 | //: [Index](Index) - [Next >>](@next)
28 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxCocoa/Common/_RXKVOObserver.h:
--------------------------------------------------------------------------------
1 | //
2 | // _RXKVOObserver.h
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 7/11/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | /**
12 | ################################################################################
13 | This file is part of RX private API
14 | ################################################################################
15 | */
16 |
17 | typedef void (^KVOCallback)(id);
18 |
19 | // Exists because if written in Swift, reading unowned is disabled during dealloc process
20 | @interface _RXKVOObserver : NSObject
21 |
22 | -(instancetype)initWithTarget:(id)target
23 | retainTarget:(BOOL)retainTarget
24 | keyPath:(NSString*)keyPath
25 | options:(NSKeyValueObservingOptions)options
26 | callback:(KVOCallback)callback;
27 |
28 | -(void)dispose;
29 |
30 | @end
31 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample-iOSTests/Mocks/MockWireframe.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MockWireframe.swift
3 | // RxExample
4 | //
5 | // Created by Krunoslav Zaher on 12/29/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import RxSwift
11 |
12 | class MockWireframe : Wireframe {
13 | let _openURL: (NSURL) -> ()
14 | let _promptFor: (String, Any, [Any]) -> Observable
15 |
16 | init(openURL: (NSURL) -> () = notImplementedSync(),
17 | promptFor: (String, Any, [Any]) -> Observable = notImplemented()) {
18 | _openURL = openURL
19 | _promptFor = promptFor
20 | }
21 |
22 | func openURL(URL: NSURL) {
23 | _openURL(URL)
24 | }
25 |
26 | func promptFor(message: String, cancelAction: Action, actions: [Action]) -> Observable {
27 | return _promptFor(message, cancelAction, actions.map { $0 as Any }).map { $0 as! Action }
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample/Examples/TableViewWithEditingCommands/User.swift:
--------------------------------------------------------------------------------
1 | //
2 | // User.swift
3 | // RxExample
4 | //
5 | // Created by Krunoslav Zaher on 12/29/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct User: Equatable, CustomDebugStringConvertible {
12 |
13 | var firstName: String
14 | var lastName: String
15 | var imageURL: String
16 |
17 | init(firstName: String, lastName: String, imageURL: String) {
18 | self.firstName = firstName
19 | self.lastName = lastName
20 | self.imageURL = imageURL
21 | }
22 | }
23 |
24 | extension User {
25 | var debugDescription: String {
26 | get {
27 | return firstName + " " + lastName
28 | }
29 | }
30 | }
31 |
32 | func ==(lhs: User, rhs:User) -> Bool {
33 | return lhs.firstName == rhs.firstName &&
34 | lhs.lastName == rhs.lastName &&
35 | lhs.imageURL == rhs.imageURL
36 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/.gitignore:
--------------------------------------------------------------------------------
1 | # Xcode
2 | #
3 | build/
4 | Build/
5 | *.pbxuser
6 | !default.pbxuser
7 | *.mode1v3
8 | !default.mode1v3
9 | *.mode2v3
10 | !default.mode2v3
11 | *.perspectivev3
12 | !default.perspectivev3
13 | xcuserdata
14 | *.xccheckout
15 | *.moved-aside
16 | DerivedData
17 | *.hmap
18 | *.ipa
19 | *.xcuserstate
20 |
21 | timeline.xctimeline
22 |
23 | # CocoaPods
24 | #
25 | # We recommend against adding the Pods directory to your .gitignore. However
26 | # you should judge for yourself, the pros and cons are mentioned at:
27 | # http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control
28 | #
29 | # Pods/
30 |
31 | # Carthage
32 | #
33 | # Add this line if you want to avoid checking in source code from Carthage dependencies.
34 | # Carthage/Checkouts
35 |
36 | Carthage/Build
37 |
38 |
39 | # Various
40 |
41 | .DS_Store
42 |
43 |
44 | # Linux
45 |
46 | *.swp
47 | *.swo
48 |
49 | # Swift Package Manager
50 |
51 | .build/
52 | Packages/
53 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxCocoa/iOS/Protocols/RxTableViewDataSourceType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RxTableViewDataSourceType.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 6/26/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS) || os(tvOS)
10 |
11 | import Foundation
12 | import UIKit
13 | #if !RX_NO_MODULE
14 | import RxSwift
15 | #endif
16 |
17 | /**
18 | Marks data source as `UITableView` reactive data source enabling it to be used with one of the `bindTo` methods.
19 | */
20 | public protocol RxTableViewDataSourceType /*: UITableViewDataSource*/ {
21 |
22 | /**
23 | Type of elements that can be bound to table view.
24 | */
25 | typealias Element
26 |
27 | /**
28 | New observable sequence event observed.
29 |
30 | - parameter tableView: Bound table view.
31 | - parameter observedEvent: Event
32 | */
33 | func tableView(tableView: UITableView, observedEvent: Event) -> Void
34 | }
35 |
36 | #endif
37 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxCocoa/iOS/UIButton+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIButton+Rx.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 3/28/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS)
10 |
11 | import Foundation
12 | #if !RX_NO_MODULE
13 | import RxSwift
14 | #endif
15 | import UIKit
16 |
17 | extension UIButton {
18 |
19 | /**
20 | Reactive wrapper for `TouchUpInside` control event.
21 | */
22 | public var rx_tap: ControlEvent {
23 | return rx_controlEvent(.TouchUpInside)
24 | }
25 |
26 | }
27 |
28 | #endif
29 |
30 | #if os(tvOS)
31 |
32 | import Foundation
33 | #if !RX_NO_MODULE
34 | import RxSwift
35 | #endif
36 | import UIKit
37 |
38 | extension UIButton {
39 |
40 | /**
41 | Reactive wrapper for `PrimaryActionTriggered` control event.
42 | */
43 | public var rx_primaryAction: ControlEvent {
44 | return rx_controlEvent(.PrimaryActionTriggered)
45 | }
46 | }
47 |
48 | #endif
49 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample/Info-OSX.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | BNDL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1
23 | NSMainStoryboardFile
24 | Main
25 | NSPrincipalClass
26 | NSApplication
27 |
28 |
29 |
--------------------------------------------------------------------------------
/ViperPrototype/Modules/Configurations/Interactor/ConfigurationsInteractor.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ConfigurationsInteractor.swift
3 | // ViperPrototype
4 | //
5 | // Created by Adriano Goncalves on 13/02/2016.
6 | // Copyright © 2016 Adriano Goncalves. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import RxSwift
11 |
12 | struct ConfigurationsInteractor {
13 |
14 | private let disposeBag = DisposeBag()
15 | private let dataManager: TmdbApiDataManager
16 |
17 | init(dataManager: TmdbApiDataManager) {
18 | self.dataManager = dataManager
19 | }
20 |
21 | func getConfigurations() -> Observable {
22 |
23 | return Observable.create { observer in
24 |
25 | self.dataManager.configurations().subscribeNext { (configuration) -> Void in
26 | observer.onNext(configuration.imagesBaseUrl != "")
27 | }.addDisposableTo(self.disposeBag)
28 |
29 | return AnonymousDisposable {}
30 |
31 | }
32 |
33 | }
34 |
35 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxCocoa/iOS/Proxies/RxSearchBarDelegateProxy.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RxSearchBarDelegateProxy.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 7/4/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS) || os(tvOS)
10 |
11 | import Foundation
12 | import UIKit
13 | #if !RX_NO_MODULE
14 | import RxSwift
15 | #endif
16 |
17 | class RxSearchBarDelegateProxy : DelegateProxy
18 | , UISearchBarDelegate
19 | , DelegateProxyType {
20 |
21 | class func currentDelegateFor(object: AnyObject) -> AnyObject? {
22 | let searchBar: UISearchBar = castOrFatalError(object)
23 | return searchBar.delegate
24 | }
25 |
26 | class func setCurrentDelegate(delegate: AnyObject?, toObject object: AnyObject) {
27 | let searchBar: UISearchBar = castOrFatalError(object)
28 | searchBar.delegate = castOptionalOrFatalError(delegate)
29 | }
30 | }
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample-iOSTests/Mocks/MockGitHubAPI.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MockGitHubAPI.swift
3 | // RxExample
4 | //
5 | // Created by Krunoslav Zaher on 12/29/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import RxSwift
11 |
12 | class MockGitHubAPI : GitHubAPI {
13 | let _usernameAvailable: String -> Observable
14 | let _signup: (String, String) -> Observable
15 |
16 | init(
17 | usernameAvailable: (String) -> Observable = notImplemented(),
18 | signup: (String, String) -> Observable = notImplemented()
19 | ) {
20 | _usernameAvailable = usernameAvailable
21 | _signup = signup
22 | }
23 |
24 | func usernameAvailable(username: String) -> Observable {
25 | return _usernameAvailable(username)
26 | }
27 |
28 | func signup(username: String, password: String) -> Observable {
29 | return _signup(username, password)
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxCocoa/Common/Proxies/RxCLLocationManagerDelegateProxy.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RxCLLocationManagerDelegateProxy.swift
3 | // RxCocoa
4 | //
5 | // Created by Carlos García on 8/7/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import CoreLocation
10 | #if !RX_NO_MODULE
11 | import RxSwift
12 | #endif
13 |
14 | class RxCLLocationManagerDelegateProxy : DelegateProxy
15 | , CLLocationManagerDelegate
16 | , DelegateProxyType {
17 |
18 | class func currentDelegateFor(object: AnyObject) -> AnyObject? {
19 | let locationManager: CLLocationManager = castOrFatalError(object)
20 | return locationManager.delegate
21 | }
22 |
23 | class func setCurrentDelegate(delegate: AnyObject?, toObject object: AnyObject) {
24 | let locationManager: CLLocationManager = castOrFatalError(object)
25 | locationManager.delegate = castOptionalOrFatalError(delegate)
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxTests/TestableObserver.swift:
--------------------------------------------------------------------------------
1 | //
2 | // TestableObserver.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 2/15/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import RxSwift
11 |
12 | /**
13 | Observer that records events together with virtual time when they were received.
14 | */
15 | public class TestableObserver
16 | : ObserverType {
17 | public typealias Element = ElementType
18 |
19 | private let _scheduler: TestScheduler
20 |
21 | /**
22 | Recorded events.
23 | */
24 | public private(set) var events = [Recorded>]()
25 |
26 | init(scheduler: TestScheduler) {
27 | _scheduler = scheduler
28 | }
29 |
30 | /**
31 | Notify observer about sequence event.
32 |
33 | - parameter event: Event that occured.
34 | */
35 | public func on(event: Event) {
36 | events.append(Recorded(time: _scheduler.clock, event: event))
37 | }
38 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample/Examples/WikipediaImageSearch/WikipediaAPI/WikipediaPage.swift:
--------------------------------------------------------------------------------
1 | //
2 | // WikipediaPage.swift
3 | // Example
4 | //
5 | // Created by Krunoslav Zaher on 3/28/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | #if !RX_NO_MODULE
11 | import RxSwift
12 | #endif
13 |
14 | struct WikipediaPage {
15 | let title: String
16 | let text: String
17 |
18 | init(title: String, text: String) {
19 | self.title = title
20 | self.text = text
21 | }
22 |
23 | // tedious parsing part
24 | static func parseJSON(json: NSDictionary) throws -> WikipediaPage {
25 | guard let title = json.valueForKey("parse")?.valueForKey("title") as? String,
26 | let text = json.valueForKey("parse")?.valueForKey("text")?.valueForKey("*") as? String else {
27 | throw apiError("Error parsing page content")
28 | }
29 |
30 | return WikipediaPage(title: title, text: text)
31 | }
32 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxCocoa/iOS/Protocols/RxCollectionViewDataSourceType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RxCollectionViewDataSourceType.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 6/29/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS) || os(tvOS)
10 |
11 | import Foundation
12 | import UIKit
13 | #if !RX_NO_MODULE
14 | import RxSwift
15 | #endif
16 |
17 | /**
18 | Marks data source as `UICollectionView` reactive data source enabling it to be used with one of the `bindTo` methods.
19 | */
20 | public protocol RxCollectionViewDataSourceType /*: UICollectionViewDataSource*/ {
21 |
22 | /**
23 | Type of elements that can be bound to collection view.
24 | */
25 | typealias Element
26 |
27 | /**
28 | New observable sequence event observed.
29 |
30 | - parameter collectionView: Bound collection view.
31 | - parameter observedEvent: Event
32 | */
33 | func collectionView(collectionView: UICollectionView, observedEvent: Event) -> Void
34 | }
35 |
36 | #endif
37 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxCocoa/iOS/Proxies/RxTableViewDelegateProxy.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RxTableViewDelegateProxy.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 6/15/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS) || os(tvOS)
10 |
11 | import Foundation
12 | import UIKit
13 | #if !RX_NO_MODULE
14 | import RxSwift
15 | #endif
16 |
17 | /**
18 | For more information take a look at `DelegateProxyType`.
19 | */
20 | public class RxTableViewDelegateProxy
21 | : RxScrollViewDelegateProxy
22 | , UITableViewDelegate {
23 |
24 |
25 | /**
26 | Typed parent object.
27 | */
28 | public weak private(set) var tableView: UITableView?
29 |
30 | /**
31 | Initializes `RxTableViewDelegateProxy`
32 |
33 | - parameter parentObject: Parent object for delegate proxy.
34 | */
35 | public required init(parentObject: AnyObject) {
36 | self.tableView = (parentObject as! UITableView)
37 | super.init(parentObject: parentObject)
38 | }
39 | }
40 |
41 | #endif
42 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/scripts/automation-tests/01_githubSignUp.js:
--------------------------------------------------------------------------------
1 |
2 |
3 | test("----- githubSignUp -----", function (check, pass) {
4 |
5 | var target = UIATarget.localTarget();
6 |
7 | UIATarget.onAlert = function(alert){
8 | var okButton = UIATarget.localTarget().frontMostApp().alert().cancelButton().tap();
9 |
10 | sleep(1)
11 | goBack()
12 |
13 | pass()
14 | return false;
15 | }
16 |
17 | target.frontMostApp().mainWindow().tableViews()[0].cells()[2].tap();
18 |
19 | target.frontMostApp().mainWindow().textFields()[0].tap();
20 | target.frontMostApp().keyboard().typeString("rxrevolution")
21 |
22 | target.frontMostApp().mainWindow().secureTextFields()[0].tap();
23 | target.frontMostApp().keyboard().typeString("mypassword")
24 |
25 | target.frontMostApp().mainWindow().secureTextFields()[1].tap();
26 | target.frontMostApp().keyboard().typeString("mypassword")
27 |
28 | UIATarget.localTarget().tap({x:14.50, y:80.00});
29 | target.frontMostApp().mainWindow().buttons()["Sign up"].tap();
30 |
31 | sleep(2)
32 | });
33 |
--------------------------------------------------------------------------------
/ViperPrototype/Modules/MainMoviesList/View/MainMoviesListCell.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MainMoviesListCell.swift
3 | // ViperPrototype
4 | //
5 | // Created by Adriano Goncalves on 13/02/2016.
6 | // Copyright © 2016 Adriano Goncalves. All rights reserved.
7 | //
8 |
9 | import UIKit
10 | import RxSwift
11 |
12 | class MainMoviesListCell: UICollectionViewCell {
13 |
14 | private let disposeBag = DisposeBag()
15 |
16 | static var identifier: String { return String(self) }
17 |
18 | @IBOutlet weak private var backgroundImage: UIImageView!
19 | @IBOutlet weak private var titleLabel: UILabel!
20 | @IBOutlet weak private var releaseDateLabel: UILabel!
21 |
22 | func updateUI(model: MainMoviesListViewItem) {
23 | backgroundImage.image = nil
24 | titleLabel.text = model.movieTitle
25 | releaseDateLabel.text = model.movieReleaseDate
26 | model.backdropImage?.asDriver(onErrorJustReturn: UIImage()).driveNext({ (image) -> Void in
27 | self.backgroundImage.image = image
28 | }).addDisposableTo(disposeBag)
29 | }
30 |
31 | }
32 |
--------------------------------------------------------------------------------
/ViperPrototype/Services/TmdbApiService.swift:
--------------------------------------------------------------------------------
1 | //
2 | // TmdbApiService.swift
3 | // ViperPrototype
4 | //
5 | // Created by Adriano Goncalves on 13/02/2016.
6 | // Copyright © 2016 Adriano Goncalves. All rights reserved.
7 | //
8 |
9 | import UIKit
10 | import RxSwift
11 |
12 | struct TmdbApiService {
13 |
14 | private let apiKey = "dac7d87953c93d4b13c689999e59fd8e"
15 | private let disposeBag = DisposeBag()
16 |
17 | private let urlSession: NSURLSession
18 |
19 | init(urlSession: NSURLSession = NSURLSession(configuration: NSURLSessionConfiguration.defaultSessionConfiguration())) {
20 | self.urlSession = urlSession
21 | }
22 |
23 | func discoverMovies() -> Observable {
24 | return urlSession.rx_JSON(NSURLRequest(URL: NSURL(string: "https://api.themoviedb.org/3/discover/movie?api_key=\(apiKey)")!))
25 | }
26 |
27 | func configurations() -> Observable {
28 | return urlSession.rx_JSON(NSURLRequest(URL: NSURL(string: "https://api.themoviedb.org/3/configuration?api_key=\(apiKey)")!))
29 | }
30 |
31 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxCocoa/Common/NSLayoutConstraint+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // NSLayoutConstraint+Rx.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 12/6/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | #if os(OSX)
12 | import Cocoa
13 | #else
14 | import UIKit
15 | #endif
16 |
17 | #if !RX_NO_MODULE
18 | import RxSwift
19 | #endif
20 |
21 | #if os(iOS) || os(OSX) || os(tvOS)
22 | extension NSLayoutConstraint {
23 | /**
24 | Bindable sink for `constant` property.
25 | */
26 | public var rx_constant: AnyObserver {
27 | return AnyObserver { [weak self] event in
28 | MainScheduler.ensureExecutingOnScheduler()
29 |
30 | switch event {
31 | case .Next(let value):
32 | self?.constant = value
33 | case .Error(let error):
34 | bindingErrorToInterface(error)
35 | break
36 | case .Completed:
37 | break
38 | }
39 | }
40 | }
41 | }
42 |
43 | #endif
44 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxSwift/Observables/Observable+Debug.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Observable+Debug.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 5/2/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | // MARK: debug
12 |
13 | extension ObservableType {
14 |
15 | /**
16 | Prints received events for all observers on standard output.
17 |
18 | - seealso: [do operator on reactivex.io](http://reactivex.io/documentation/operators/do.html)
19 |
20 | - parameter identifier: Identifier that is printed together with event description to standard output.
21 | - returns: An observable sequence whose events are printed to standard output.
22 | */
23 | @warn_unused_result(message="http://git.io/rxs.uo")
24 | public func debug(identifier: String? = nil, file: String = __FILE__, line: UInt = __LINE__, function: String = __FUNCTION__)
25 | -> Observable {
26 | return Debug(source: self.asObservable(), identifier: identifier, file: file, line: line, function: function)
27 | }
28 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Documentation/Linux.md:
--------------------------------------------------------------------------------
1 | Linux
2 | =====
3 |
4 | We've made a proof of concept for Linux.
5 |
6 | To test it, create `Package.swift` in your test directory with the following content:
7 |
8 | ```
9 | import PackageDescription
10 |
11 | let package = Package(
12 | name: "MyShinyUnicornCat",
13 | dependencies: [
14 | .Package(url: "https://github.com/ReactiveX/RxSwift.git", Version(2, 0, 0))
15 | ]
16 | )
17 | ```
18 |
19 | What does work:
20 | * Distribution using Swift Package Manager
21 | * Single Threaded mode (CurrentThreadScheduler)
22 | * Half of unit tests are passing.
23 | * Projects that can be compiled and "used":
24 | * RxSwift
25 | * RxBlocking
26 | * RxTests
27 |
28 | What doesn't work:
29 | * Schedulers - because they are dependent on https://github.com/apple/swift-corelibs-libdispatch and it still hasn't been released
30 | * Multithreading - still no access to c11 locks
31 | * For some reason it looks like Swift compiler generates wrong code when using `ErrorType` on `Linux`, so don't use errors, otherwise you can get weird crashes.
32 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxDataSourceStarterKit/DataSources/RxCollectionViewSectionedReloadDataSource.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RxCollectionViewSectionedReloadDataSource.swift
3 | // RxExample
4 | //
5 | // Created by Krunoslav Zaher on 7/2/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import UIKit
11 | #if !RX_NO_MODULE
12 | import RxSwift
13 | import RxCocoa
14 | #endif
15 |
16 | class RxCollectionViewSectionedReloadDataSource : RxCollectionViewSectionedDataSource
17 | , RxCollectionViewDataSourceType {
18 | typealias Element = [S]
19 |
20 | func collectionView(collectionView: UICollectionView, observedEvent: Event) {
21 | switch observedEvent {
22 | case .Next(let element):
23 | setSections(element)
24 | collectionView.reloadData()
25 | case .Error(let error):
26 | bindingErrorToInterface(error)
27 | case .Completed:
28 | break
29 | }
30 | }
31 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample/Examples/Numbers/NumbersViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // NumbersViewController.swift
3 | // RxExample
4 | //
5 | // Created by Krunoslav Zaher on 12/6/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import UIKit
11 | #if !RX_NO_MODULE
12 | import RxSwift
13 | import RxCocoa
14 | #endif
15 |
16 | class NumbersViewController: ViewController {
17 | @IBOutlet weak var number1: UITextField!
18 | @IBOutlet weak var number2: UITextField!
19 | @IBOutlet weak var number3: UITextField!
20 |
21 | @IBOutlet weak var result: UILabel!
22 |
23 | override func viewDidLoad() {
24 | super.viewDidLoad()
25 |
26 | Observable.combineLatest(number1.rx_text, number2.rx_text, number3.rx_text) { textValue1, textValue2, textValue3 -> Int in
27 | return (Int(textValue1) ?? 0) + (Int(textValue2) ?? 0) + (Int(textValue3) ?? 0)
28 | }
29 | .map { $0.description }
30 | .bindTo(result.rx_text)
31 | .addDisposableTo(disposeBag)
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxCocoa/iOS/UIActivityIndicatorView+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIActivityIndicatorView+Rx.swift
3 | // Rx
4 | //
5 | // Created by Ivan Persidskiy on 02/12/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS) || os(tvOS)
10 | import UIKit
11 |
12 | #if !RX_NO_MODULE
13 | import RxSwift
14 | #endif
15 |
16 | extension UIActivityIndicatorView {
17 |
18 | /**
19 | Bindable sink for `startAnimating()`, `stopAnimating()` methods.
20 | */
21 | public var rx_animating: AnyObserver {
22 | return AnyObserver {event in
23 | MainScheduler.ensureExecutingOnScheduler()
24 |
25 | switch (event) {
26 | case .Next(let value):
27 | if value {
28 | self.startAnimating()
29 | } else {
30 | self.stopAnimating()
31 | }
32 | case .Error(let error):
33 | bindingErrorToInterface(error)
34 | case .Completed:
35 | break
36 | }
37 | }
38 | }
39 |
40 | }
41 |
42 | #endif
43 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxTests/Any+Equatable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Any+Equatable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 12/19/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /**
12 | A way to use built in XCTest methods with objects that are partially equatable.
13 |
14 | If this can be done simpler, PRs are welcome :)
15 | */
16 | struct AnyEquatable
17 | : Equatable
18 | , CustomDebugStringConvertible
19 | , CustomStringConvertible {
20 | typealias Comparer = (Target, Target) -> Bool
21 |
22 | let _target: Target
23 | let _comparer: Comparer
24 |
25 | init(target: Target, comparer: Comparer) {
26 | _target = target
27 | _comparer = comparer
28 | }
29 | }
30 |
31 | func == (lhs: AnyEquatable, rhs: AnyEquatable) -> Bool {
32 | return lhs._comparer(lhs._target, rhs._target)
33 | }
34 |
35 | extension AnyEquatable {
36 | var description: String {
37 | return "\(_target)"
38 | }
39 |
40 | var debugDescription: String {
41 | return "\(_target)"
42 | }
43 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/LICENSE.md:
--------------------------------------------------------------------------------
1 | **The MIT License**
2 | **Copyright © 2015 Krunoslav Zaher**
3 | **All rights reserved.**
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6 |
7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8 |
9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxBlocking.podspec:
--------------------------------------------------------------------------------
1 | Pod::Spec.new do |s|
2 | s.name = "RxBlocking"
3 | s.version = "2.1.0"
4 | s.summary = "RxSwift Blocking operatos"
5 | s.description = <<-DESC
6 | Set of blocking operators for RxSwift. These operators are mostly intended for unit/integration tests
7 | with a couple of other special scenarios where they could be useful.
8 |
9 | E.g.
10 |
11 | Waiting for observable sequence to complete before exiting command line application.
12 | DESC
13 | s.homepage = "https://github.com/ReactiveX/RxSwift"
14 | s.license = 'MIT'
15 | s.author = { "Krunoslav Zaher" => "krunoslav.zaher@gmail.com" }
16 | s.source = { :git => "https://github.com/ReactiveX/RxSwift.git", :tag => s.version.to_s }
17 |
18 | s.requires_arc = true
19 |
20 | s.ios.deployment_target = '8.0'
21 | s.osx.deployment_target = '10.9'
22 | s.watchos.deployment_target = '2.0'
23 | s.tvos.deployment_target = '9.0'
24 |
25 | s.source_files = 'RxBlocking/**/*.swift'
26 |
27 | s.dependency 'RxSwift', '~> 2.0'
28 | end
29 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxCocoa/iOS/Proxies/RxCollectionViewDelegateProxy.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RxCollectionViewDelegateProxy.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 6/29/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS) || os(tvOS)
10 |
11 | import Foundation
12 | import UIKit
13 | #if !RX_NO_MODULE
14 | import RxSwift
15 | #endif
16 |
17 | /**
18 | For more information take a look at `DelegateProxyType`.
19 | */
20 | public class RxCollectionViewDelegateProxy
21 | : RxScrollViewDelegateProxy
22 | , UICollectionViewDelegate
23 | , UICollectionViewDelegateFlowLayout {
24 |
25 | /**
26 | Typed parent object.
27 | */
28 | public weak private(set) var collectionView: UICollectionView?
29 |
30 | /**
31 | Initializes `RxCollectionViewDelegateProxy`
32 |
33 | - parameter parentObject: Parent object for delegate proxy.
34 | */
35 | public required init(parentObject: AnyObject) {
36 | self.collectionView = (parentObject as! UICollectionView)
37 | super.init(parentObject: parentObject)
38 | }
39 | }
40 |
41 | #endif
42 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Tests/PerformanceTests/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIconFile
10 |
11 | CFBundleIdentifier
12 | $(PRODUCT_BUNDLE_IDENTIFIER)
13 | CFBundleInfoDictionaryVersion
14 | 6.0
15 | CFBundleName
16 | $(PRODUCT_NAME)
17 | CFBundlePackageType
18 | APPL
19 | CFBundleShortVersionString
20 | 1.0
21 | CFBundleSignature
22 | ????
23 | CFBundleVersion
24 | 1
25 | LSMinimumSystemVersion
26 | $(MACOSX_DEPLOYMENT_TARGET)
27 | NSMainNibFile
28 | MainMenu
29 | NSPrincipalClass
30 | NSApplication
31 |
32 |
33 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample/Examples/Dependencies.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Dependencies.swift
3 | // WikipediaImageSearch
4 | //
5 | // Created by carlos on 13/5/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | #if !RX_NO_MODULE
11 | import RxSwift
12 | #endif
13 |
14 | class Dependencies {
15 |
16 | static let sharedDependencies = Dependencies() // Singleton
17 |
18 | let URLSession = NSURLSession.sharedSession()
19 | let backgroundWorkScheduler: ImmediateSchedulerType
20 | let mainScheduler: SerialDispatchQueueScheduler
21 | let wireframe: Wireframe
22 |
23 | private init() {
24 | wireframe = DefaultWireframe()
25 |
26 | let operationQueue = NSOperationQueue()
27 | operationQueue.maxConcurrentOperationCount = 2
28 | #if !RX_NO_MODULE
29 | operationQueue.qualityOfService = NSQualityOfService.UserInitiated
30 | #endif
31 | backgroundWorkScheduler = OperationQueueScheduler(operationQueue: operationQueue)
32 |
33 | mainScheduler = MainScheduler.instance
34 | }
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxCocoa.podspec:
--------------------------------------------------------------------------------
1 | Pod::Spec.new do |s|
2 | s.name = "RxCocoa"
3 | s.version = "2.1.0"
4 | s.summary = "RxSwift Cocoa extensions"
5 | s.description = <<-DESC
6 | * UI extensions
7 | * NSURL extensions
8 | * KVO extensions
9 | DESC
10 | s.homepage = "https://github.com/ReactiveX/RxSwift"
11 | s.license = 'MIT'
12 | s.author = { "Krunoslav Zaher" => "krunoslav.zaher@gmail.com" }
13 | s.source = { :git => "https://github.com/ReactiveX/RxSwift.git", :tag => s.version.to_s }
14 |
15 | s.requires_arc = true
16 |
17 | s.ios.deployment_target = '8.0'
18 | s.osx.deployment_target = '10.9'
19 | s.watchos.deployment_target = '2.0'
20 | s.tvos.deployment_target = '9.0'
21 |
22 | s.source_files = 'RxCocoa/RxCocoa.h', 'RxCocoa/Common/**/*.{swift,h,m}'
23 | s.ios.source_files = 'RxCocoa/iOS/**/*.swift'
24 | s.osx.source_files = 'RxCocoa/OSX/**/*.swift'
25 | s.watchos.source_files = 'RxCocoa/iOS/**/*.swift'
26 | s.tvos.source_files = 'RxCocoa/iOS/**/*.swift'
27 |
28 | s.dependency 'RxSwift', '~> 2.0'
29 | end
30 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxDataSourceStarterKit/DataSources/RxTableViewSectionedReloadDataSource.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RxTableViewSectionedReloadDataSource.swift
3 | // RxExample
4 | //
5 | // Created by Krunoslav Zaher on 6/27/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import UIKit
11 | #if !RX_NO_MODULE
12 | import RxSwift
13 | import RxCocoa
14 | #endif
15 |
16 | /**
17 | Code for reactive data sources is packed in [RxDataSources](https://github.com/RxSwiftCommunity/RxDataSources) project.
18 | */
19 | class RxTableViewSectionedReloadDataSource : RxTableViewSectionedDataSource
20 | , RxTableViewDataSourceType {
21 | typealias Element = [S]
22 |
23 | func tableView(tableView: UITableView, observedEvent: Event) {
24 | switch observedEvent {
25 | case .Next(let element):
26 | setSections(element)
27 | tableView.reloadData()
28 | case .Error(let error):
29 | bindingErrorToInterface(error)
30 | case .Completed:
31 | break
32 | }
33 | }
34 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/scripts/automation-tests/03_masterDetail.js:
--------------------------------------------------------------------------------
1 |
2 |
3 | test("----- masterDetail -----", function (check, pass) {
4 |
5 | function yOffset (pixels) {
6 | return pixels / UIATarget.localTarget().frontMostApp().mainWindow().rect().size.height
7 | }
8 |
9 | var target = UIATarget.localTarget()
10 |
11 | target.frontMostApp().mainWindow().tableViews()[0].cells()[9].tap();
12 | target.frontMostApp().navigationBar().rightButton().tap();
13 | target.frontMostApp().mainWindow().dragInsideWithOptions({startOffset:{x:0.93, y:yOffset(300)}, endOffset:{x:0.95, y:yOffset(200)}, duration:1.5});
14 | target.frontMostApp().mainWindow().dragInsideWithOptions({startOffset:{x:0.93, y:yOffset(300)}, endOffset:{x:0.95, y:yOffset(100)}, duration:1.5});
15 |
16 | var firstCell = UIATarget.localTarget().frontMostApp().mainWindow().tableViews()[0].cells()[1]
17 |
18 | firstCell.buttons()[0].tap();
19 |
20 | firstCell.buttons()["Delete"].tap();
21 |
22 | target.delay( 3 );
23 |
24 | target.frontMostApp().navigationBar().rightButton().tap();
25 | target.frontMostApp().mainWindow().tableViews()[0].cells()[1].tap();
26 | goBack();
27 | goBack();
28 |
29 | pass()
30 | });
31 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/scripts/automation-tests/common.js:
--------------------------------------------------------------------------------
1 | var goBack = function() {
2 | UIATarget.localTarget().frontMostApp().navigationBar().leftButton().tap()
3 | }
4 |
5 | var typeString = function(value) {
6 | UIATarget.localTarget().frontMostApp().keyboard().typeString(value)
7 | }
8 |
9 | function test(testName, callback) {
10 |
11 | function pass() {
12 | UIALogger.logPass( testName );
13 | }
14 |
15 | function fail() {
16 | UIALogger.logFail( testName );
17 | }
18 |
19 | function check(f) {
20 | if (f()){
21 | pass()
22 | }
23 | else {
24 | fail()
25 | }
26 | }
27 |
28 | sleep(1)
29 | UIALogger.logStart( testName );
30 | callback(check, pass)
31 | }
32 |
33 | function log(element) {
34 | UIALogger.logMessage(element.toString())
35 | }
36 |
37 | function debug(element) {
38 | UIALogger.logDebug(element.toString())
39 | }
40 |
41 | function logElement(element) {
42 | UIALogger.logDebug(element.toString())
43 | }
44 |
45 | function error(string) {
46 | UIALogger.logError(string)
47 | }
48 |
49 | function warning(string) {
50 | UIALogger.logWarning(string)
51 | }
52 |
53 | function sleep(time) {
54 | UIATarget.localTarget().delay(time);
55 | }
--------------------------------------------------------------------------------
/ViperPrototype/Modules/Configurations/View/ConfigurationsView.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ConfigurationsView.swift
3 | // ViperPrototype
4 | //
5 | // Created by Adriano Goncalves on 13/02/2016.
6 | // Copyright © 2016 Adriano Goncalves. All rights reserved.
7 | //
8 |
9 | import UIKit
10 | import RxSwift
11 |
12 | class ConfigurationsView: UIViewController {
13 |
14 | private let disposeBag = DisposeBag()
15 |
16 | var presenter: ConfigurationsPresenter?
17 |
18 | override func viewDidLoad() {
19 | super.viewDidLoad()
20 |
21 | if let presenter = presenter {
22 | presenter.gotConfigurations().subscribeNext({ (result) -> Void in
23 | if !result {
24 | self.showError()
25 | }
26 | }).addDisposableTo(disposeBag)
27 | }
28 |
29 | }
30 |
31 | private func showError() {
32 | let alertController = UIAlertController(title: "Configuration error", message: "Unable to retrieve configurations", preferredStyle: UIAlertControllerStyle.Alert)
33 | alertController.addAction(UIAlertAction(title: "Ok", style: .Default, handler: nil))
34 | presentViewController(alertController, animated: true, completion: nil)
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxCocoa/iOS/Proxies/RxTextStorageDelegateProxy.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RxTextStorageDelegateProxy.swift
3 | // Rx
4 | //
5 | // Created by Segii Shulga on 12/30/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS) || os(tvOS)
10 |
11 | import Foundation
12 | #if !RX_NO_MODULE
13 | import RxSwift
14 | #endif
15 | import UIKit
16 |
17 | public class RxTextStorageDelegateProxy
18 | : DelegateProxy
19 | , DelegateProxyType
20 | , NSTextStorageDelegate {
21 |
22 |
23 | /**
24 | For more information take a look at `DelegateProxyType`.
25 | */
26 | public class func setCurrentDelegate(delegate: AnyObject?, toObject object: AnyObject) {
27 | let textStorage: NSTextStorage = castOrFatalError(object)
28 | textStorage.delegate = castOptionalOrFatalError(delegate)
29 | }
30 |
31 | /**
32 | For more information take a look at `DelegateProxyType`.
33 | */
34 | public class func currentDelegateFor(object: AnyObject) -> AnyObject? {
35 | let textStorage: NSTextStorage = castOrFatalError(object)
36 | return textStorage.delegate
37 | }
38 |
39 |
40 | }
41 | #endif
42 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample/Examples/WikipediaImageSearch/Views/CollectionViewImageCell.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CollectionViewImageCell.swift
3 | // Example
4 | //
5 | // Created by Krunoslav Zaher on 4/4/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import UIKit
11 | #if !RX_NO_MODULE
12 | import RxSwift
13 | import RxCocoa
14 | #endif
15 |
16 | public class CollectionViewImageCell: UICollectionViewCell {
17 | @IBOutlet var imageOutlet: UIImageView!
18 |
19 | var disposeBag: DisposeBag!
20 |
21 | var downloadableImage: Observable?{
22 | didSet{
23 | let disposeBag = DisposeBag()
24 |
25 | self.downloadableImage?
26 | .asDriver(onErrorJustReturn: DownloadableImage.OfflinePlaceholder)
27 | .drive(imageOutlet.rxex_downloadableImageAnimated(kCATransitionFade))
28 | .addDisposableTo(disposeBag)
29 |
30 | self.disposeBag = disposeBag
31 | }
32 | }
33 |
34 | override public func prepareForReuse() {
35 | super.prepareForReuse()
36 |
37 | disposeBag = nil
38 | }
39 |
40 | deinit {
41 | }
42 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Documentation/MathBehindRx.md:
--------------------------------------------------------------------------------
1 | Math Behind Rx
2 | ==============
3 |
4 | ## Duality between Observer and Iterator / Enumerator / Generator / Sequences
5 |
6 | There is a duality between observer and generator pattern. That's what enables transition from async callback world to synchronous world of sequence transformations.
7 |
8 | In short, enumerator and observer pattern both describe sequences. It's pretty obvious why does enumerator defined sequence, but what about observer.
9 |
10 | There is also a pretty simple explanation that doesn't include a lot of math. Assume that you are observing mouse movements. Every received mouse movement is an element of a sequence of mouse movements over time.
11 |
12 | In short, there are two basic ways elements of a sequence can be accessed.
13 |
14 | * Push interface - Observer (observed elements over time make a sequence)
15 | * Pull interface - Iterator / Enumerator / Generator
16 |
17 | To learn more about this, these videos should help
18 |
19 | You can also see a more formal explanation explained in a fun way in this video:
20 |
21 | [Expert to Expert: Brian Beckman and Erik Meijer - Inside the .NET Reactive Framework (Rx) (video)](https://www.youtube.com/watch?v=looJcaeboBY)
22 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample/Examples/TableViewWithEditingCommands/DetailViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DetailViewController.swift
3 | // RxExample
4 | //
5 | // Created by carlos on 26/5/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import UIKit
10 | #if !RX_NO_MODULE
11 | import RxSwift
12 | #endif
13 |
14 | class DetailViewController: ViewController {
15 |
16 | var user: User!
17 |
18 | let $ = Dependencies.sharedDependencies
19 |
20 | @IBOutlet weak var imageView: UIImageView!
21 | @IBOutlet weak var label: UILabel!
22 |
23 | override func viewDidLoad() {
24 | super.viewDidLoad()
25 |
26 | imageView.makeRoundedCorners(5)
27 |
28 | let url = NSURL(string: user.imageURL)!
29 | let request = NSURLRequest(URL: url)
30 |
31 | NSURLSession.sharedSession().rx_data(request)
32 | .map { data in
33 | UIImage(data: data)
34 | }
35 | .observeOn($.mainScheduler)
36 | .subscribe(imageView.rx_image)
37 | .addDisposableTo(disposeBag)
38 |
39 | label.text = user.firstName + " " + user.lastName
40 | }
41 |
42 | }
43 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxBlocking/RunLoopLock.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RunLoopLock.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 11/5/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | #if !RX_NO_MODULE
11 | import RxSwift
12 | #endif
13 |
14 | class RunLoopLock {
15 | let currentRunLoop: CFRunLoopRef
16 |
17 | init() {
18 | currentRunLoop = CFRunLoopGetCurrent()
19 | }
20 |
21 | func dispatch(action: () -> ()) {
22 | CFRunLoopPerformBlock(currentRunLoop, kCFRunLoopDefaultMode) {
23 | if CurrentThreadScheduler.isScheduleRequired {
24 | CurrentThreadScheduler.instance.schedule(()) { _ in
25 | action()
26 | return NopDisposable.instance
27 | }
28 | }
29 | else {
30 | action()
31 | }
32 | }
33 | CFRunLoopWakeUp(currentRunLoop)
34 | }
35 |
36 | func stop() {
37 | CFRunLoopPerformBlock(currentRunLoop, kCFRunLoopDefaultMode) {
38 | CFRunLoopStop(self.currentRunLoop)
39 | }
40 | CFRunLoopWakeUp(currentRunLoop)
41 | }
42 |
43 | func run() {
44 | CFRunLoopRun()
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxCocoa/Common/Observables/NSNotificationCenter+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // NSNotificationCenter+Rx.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 5/2/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | #if !RX_NO_MODULE
11 | import RxSwift
12 | #endif
13 |
14 | extension NSNotificationCenter {
15 | /**
16 | Transforms notifications posted to notification center to observable sequence of notifications.
17 |
18 | - parameter name: Filter notifications by name.
19 | - parameter object: Optional object used to filter notifications.
20 | - returns: Observable sequence of posted notifications.
21 | */
22 | @warn_unused_result(message="http://git.io/rxs.uo")
23 | public func rx_notification(name: String, object: AnyObject? = nil) -> Observable {
24 | return Observable.create { [weak object] observer in
25 | let nsObserver = self.addObserverForName(name, object: object, queue: nil) { notification in
26 | observer.on(.Next(notification))
27 | }
28 |
29 | return AnonymousDisposable {
30 | self.removeObserver(nsObserver)
31 | }
32 | }
33 | }
34 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample/Examples/GitHubSignup/Protocols.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Protocols.swift
3 | // RxExample
4 | //
5 | // Created by Krunoslav Zaher on 12/6/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | #if !RX_NO_MODULE
11 | import RxSwift
12 | import RxCocoa
13 | #endif
14 |
15 | enum ValidationResult {
16 | case OK(message: String)
17 | case Empty
18 | case Validating
19 | case Failed(message: String)
20 | }
21 |
22 | enum SignupState {
23 | case SignedUp(signedUp: Bool)
24 | }
25 |
26 | protocol GitHubAPI {
27 | func usernameAvailable(username: String) -> Observable
28 | func signup(username: String, password: String) -> Observable
29 | }
30 |
31 | protocol GitHubValidationService {
32 | func validateUsername(username: String) -> Observable
33 | func validatePassword(password: String) -> ValidationResult
34 | func validateRepeatedPassword(password: String, repeatedPassword: String) -> ValidationResult
35 | }
36 |
37 | extension ValidationResult {
38 | var isValid: Bool {
39 | switch self {
40 | case .OK:
41 | return true
42 | default:
43 | return false
44 | }
45 | }
46 | }
47 |
48 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxSwift/Disposables/BooleanDisposable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // BooleanDisposable.swift
3 | // Rx
4 | //
5 | // Created by Junior B. on 10/29/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /**
12 | Represents a disposable resource that can be checked for disposal status.
13 | */
14 | public class BooleanDisposable : Disposable, Cancelable {
15 |
16 | internal static let BooleanDisposableTrue = BooleanDisposable(disposed: true)
17 | private var _disposed = false
18 |
19 | /**
20 | Initializes a new instance of the `BooleanDisposable` class
21 | */
22 | public init() {
23 | }
24 |
25 | /**
26 | Initializes a new instance of the `BooleanDisposable` class with given value
27 | */
28 | public init(disposed: Bool) {
29 | self._disposed = disposed
30 | }
31 |
32 | /**
33 | - returns: Was resource disposed.
34 | */
35 | public var disposed: Bool {
36 | get {
37 | return _disposed
38 | }
39 | }
40 |
41 | /**
42 | Sets the status to disposed, which can be observer through the `disposed` property.
43 | */
44 | public func dispose() {
45 | _disposed = true
46 | }
47 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample/Services/HtmlParsing.swift:
--------------------------------------------------------------------------------
1 | //
2 | // HtmlParsing.swift
3 | // Example
4 | //
5 | // Created by Krunoslav Zaher on 3/28/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | func parseImageURLsfromHTML(html: NSString) throws -> [NSURL] {
12 | let regularExpression = try NSRegularExpression(pattern: "
]*src=\"([^\"]+)\"[^>]*>", options: [])
13 |
14 | let matches = regularExpression.matchesInString(html as String, options: [], range: NSMakeRange(0, html.length))
15 |
16 | return matches.map { match -> NSURL? in
17 | if match.numberOfRanges != 2 {
18 | return nil
19 | }
20 |
21 | let url = html.substringWithRange(match.rangeAtIndex(1))
22 |
23 | var absoluteURLString = url
24 | if url.hasPrefix("//") {
25 | absoluteURLString = "http:" + url
26 | }
27 |
28 | return NSURL(string: absoluteURLString)
29 | }.filter { $0 != nil }.map { $0! }
30 | }
31 |
32 | func parseImageURLsfromHTMLSuitableForDisplay(html: NSString) throws -> [NSURL] {
33 | return try parseImageURLsfromHTML(html).filter {
34 | return $0.absoluteString.rangeOfString(".svg.") == nil
35 | }
36 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxCocoa/iOS/Proxies/RxImagePickerDelegateProxy.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RxImagePickerDelegateProxy.swift
3 | // Rx
4 | //
5 | // Created by Segii Shulga on 1/4/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS)
10 |
11 | import Foundation
12 | #if !RX_NO_MODULE
13 | import RxSwift
14 | #endif
15 | import UIKit
16 |
17 | public class RxImagePickerDelegateProxy
18 | : DelegateProxy
19 | , DelegateProxyType
20 | , UIImagePickerControllerDelegate
21 | , UINavigationControllerDelegate {
22 |
23 | /**
24 | For more information take a look at `DelegateProxyType`.
25 | */
26 | public class func setCurrentDelegate(delegate: AnyObject?, toObject object: AnyObject) {
27 | let imagePickerController: UIImagePickerController = castOrFatalError(object)
28 | imagePickerController.delegate = castOptionalOrFatalError(delegate)
29 | }
30 |
31 | /**
32 | For more information take a look at `DelegateProxyType`.
33 | */
34 | public class func currentDelegateFor(object: AnyObject) -> AnyObject? {
35 | let imagePickerController: UIImagePickerController = castOrFatalError(object)
36 | return imagePickerController.delegate
37 | }
38 |
39 | }
40 |
41 | #endif
42 |
--------------------------------------------------------------------------------
/ViperPrototype/Modules/MainMoviesList/Presenter/MainMoviesListPresenter.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MainMoviesListPresenter.swift
3 | // ViperPrototype
4 | //
5 | // Created by Adriano Goncalves on 13/02/2016.
6 | // Copyright © 2016 Adriano Goncalves. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import RxSwift
11 | import RxCocoa
12 |
13 | struct MainMoviesListPresenter {
14 |
15 | private let disposeBag = DisposeBag()
16 | private let interactor: MainMoviesListInteractor
17 | private let wireframe: MainMoviesListWireframe
18 |
19 | init(interactor: MainMoviesListInteractor, wireframe: MainMoviesListWireframe) {
20 | self.interactor = interactor
21 | self.wireframe = wireframe
22 | }
23 |
24 | //MARK: Input
25 |
26 | //MARK: Output
27 |
28 | func gotAllMovies() -> Observable {
29 |
30 | return Observable.create { observer in
31 |
32 | self.interactor.getAllMovies().subscribeNext({ (movies) -> Void in
33 |
34 | let viewModel = MainMoviesListViewModel(movies: movies)
35 | observer.onNext(viewModel)
36 |
37 | }).addDisposableTo(self.disposeBag)
38 |
39 | return AnonymousDisposable {}
40 |
41 | }
42 |
43 | }
44 |
45 | }
46 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample/Examples/SimpleTableViewExample/SimpleTableViewExampleViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SimpleTableViewExampleViewController.swift
3 | // RxExample
4 | //
5 | // Created by Krunoslav Zaher on 12/6/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import UIKit
11 | #if !RX_NO_MODULE
12 | import RxSwift
13 | import RxCocoa
14 | #endif
15 |
16 | class SimpleTableViewExampleViewController : ViewController {
17 | @IBOutlet weak var tableView: UITableView!
18 |
19 | override func viewDidLoad() {
20 | super.viewDidLoad()
21 |
22 | let items = Observable.just([
23 | "First Item",
24 | "Second Item",
25 | "Third Item"
26 | ])
27 |
28 | items
29 | .bindTo(tableView.rx_itemsWithCellIdentifier("Cell", cellType: UITableViewCell.self)) { (row, element, cell) in
30 | cell.textLabel?.text = "\(element) @ row \(row)"
31 | }
32 | .addDisposableTo(disposeBag)
33 |
34 |
35 | tableView
36 | .rx_modelSelected(String)
37 | .subscribeNext { value in
38 | DefaultWireframe.presentAlert("Tapped `\(value)`")
39 | }
40 | .addDisposableTo(disposeBag)
41 | }
42 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxCocoa/Common/Observables/Implementations/KVOObserver.swift:
--------------------------------------------------------------------------------
1 | //
2 | // KVOObserver.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 7/12/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | #if !RX_NO_MODULE
11 | import RxSwift
12 | #endif
13 |
14 | protocol KVOObservableProtocol {
15 | var target: AnyObject { get }
16 | var keyPath: String { get }
17 | var retainTarget: Bool { get }
18 | var options: NSKeyValueObservingOptions { get }
19 | }
20 |
21 | class KVOObserver : _RXKVOObserver
22 | , Disposable {
23 | typealias Callback = (AnyObject?) -> Void
24 |
25 | var retainSelf: KVOObserver? = nil
26 |
27 | init(parent: KVOObservableProtocol, callback: Callback) {
28 | #if TRACE_RESOURCES
29 | OSAtomicIncrement32(&resourceCount)
30 | #endif
31 |
32 | super.init(target: parent.target, retainTarget: parent.retainTarget, keyPath: parent.keyPath, options: parent.options, callback: callback)
33 | self.retainSelf = self
34 | }
35 |
36 | override func dispose() {
37 | super.dispose()
38 | self.retainSelf = nil
39 | }
40 |
41 | deinit {
42 | #if TRACE_RESOURCES
43 | OSAtomicDecrement32(&resourceCount)
44 | #endif
45 | }
46 | }
--------------------------------------------------------------------------------
/ViperPrototype/Modules/Configurations/Wireframe/ConfigurationsWireframe.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ConfigurationsWireframe.swift
3 | // ViperPrototype
4 | //
5 | // Created by Adriano Goncalves on 13/02/2016.
6 | // Copyright © 2016 Adriano Goncalves. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | struct ConfigurationsWireframe {
12 |
13 | static func presentConfigurationsModule(window: UIWindow) {
14 |
15 | let vc = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("ConfigurationsViewController") as! ConfigurationsView
16 |
17 | let apiService = TmdbApiService()
18 | let apiDataManager = TmdbApiDataManager(apiService: apiService)
19 | let interactor = ConfigurationsInteractor(dataManager: apiDataManager)
20 | let presenter = ConfigurationsPresenter(interactor: interactor, wireframe: ConfigurationsWireframe())
21 |
22 | if let navController = window.rootViewController as? UINavigationController {
23 | vc.presenter = presenter
24 | navController.navigationBarHidden = true
25 | navController.pushViewController(vc, animated: false)
26 | }
27 |
28 | }
29 |
30 | func showMainMoviesList() {
31 | MainMoviesListWireframe.presentMainMoviesListModule(UIApplication.sharedApplication().keyWindow!)
32 | }
33 |
34 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxSwift/Observables/Implementations/Repeat.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Repeat.swift
3 | // RxExample
4 | //
5 | // Created by Krunoslav Zaher on 9/13/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | class RepeatElement : Producer {
12 | private let _element: Element
13 | private let _scheduler: ImmediateSchedulerType
14 |
15 | init(element: Element, scheduler: ImmediateSchedulerType) {
16 | _element = element
17 | _scheduler = scheduler
18 | }
19 |
20 | override func run(observer: O) -> Disposable {
21 | let sink = RepeatElementSink(parent: self, observer: observer)
22 | sink.disposable = sink.run()
23 |
24 | return sink
25 | }
26 | }
27 |
28 | class RepeatElementSink : Sink {
29 | typealias Parent = RepeatElement
30 |
31 | private let _parent: Parent
32 |
33 | init(parent: Parent, observer: O) {
34 | _parent = parent
35 | super.init(observer: observer)
36 | }
37 |
38 | func run() -> Disposable {
39 | return _parent._scheduler.scheduleRecursive(_parent._element) { e, recurse in
40 | self.forwardOn(.Next(e))
41 | recurse(e)
42 | }
43 | }
44 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxSwift/Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Rx.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 2/14/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | #if TRACE_RESOURCES
12 | /**
13 | Counts internal Rx resources (Observables, Observers, Disposables ...).
14 |
15 | It provides a really simple way to detect leaks early during development.
16 | */
17 | public var resourceCount: AtomicInt = 0
18 | #endif
19 |
20 | // Swift doesn't have a concept of abstract metods.
21 | // This function is being used as a runtime check that abstract methods aren't being called.
22 | @noreturn func abstractMethod() -> Void {
23 | rxFatalError("Abstract method")
24 | }
25 |
26 | @noreturn func rxFatalError(lastMessage: String) {
27 | // The temptation to comment this line is great, but please don't, it's for your own good. The choice is yours.
28 | fatalError(lastMessage)
29 | }
30 |
31 | func incrementChecked(inout i: Int) throws -> Int {
32 | if i == Int.max {
33 | throw RxError.Overflow
34 | }
35 | let result = i
36 | i += 1
37 | return result
38 | }
39 |
40 | func decrementChecked(inout i: Int) throws -> Int {
41 | if i == Int.min {
42 | throw RxError.Overflow
43 | }
44 | let result = i
45 | i -= 1
46 | return result
47 | }
48 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Tests/RxCocoaTests/UIView+RxTests.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIView+RxTests.swift
3 | // RxTests
4 | //
5 | // Created by Krunoslav Zaher on 12/6/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | import RxSwift
12 | import RxCocoa
13 | import UIKit
14 | import XCTest
15 |
16 | class UIViewTests : RxTest {
17 | }
18 |
19 | extension UIViewTests {
20 | func testHidden_True() {
21 | let subject = UIView(frame: CGRect.zero)
22 | Observable.just(true).subscribe(subject.rx_hidden).dispose()
23 |
24 | XCTAssertTrue(subject.hidden == true)
25 | }
26 |
27 | func testEnabled_False() {
28 | let subject = UIView(frame: CGRect.zero)
29 | Observable.just(false).subscribe(subject.rx_hidden).dispose()
30 |
31 | XCTAssertTrue(subject.hidden == false)
32 | }
33 | }
34 |
35 | extension UIViewTests {
36 | func testAlpha_0() {
37 | let subject = UIView(frame: CGRect.zero)
38 | Observable.just(0).subscribe(subject.rx_alpha).dispose()
39 |
40 | XCTAssertTrue(subject.alpha == 0.0)
41 | }
42 |
43 | func testAlpha_1() {
44 | let subject = UIView(frame: CGRect.zero)
45 | Observable.just(1).subscribe(subject.rx_alpha).dispose()
46 |
47 | XCTAssertTrue(subject.alpha == 1.0)
48 | }
49 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxSwift/Observable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Observable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 2/8/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /**
12 | A type-erased `ObservableType`.
13 |
14 | It represents a push style sequence.
15 | */
16 | public class Observable : ObservableType {
17 | /**
18 | Type of elements in sequence.
19 | */
20 | public typealias E = Element
21 |
22 | init() {
23 | #if TRACE_RESOURCES
24 | OSAtomicIncrement32(&resourceCount)
25 | #endif
26 | }
27 |
28 | public func subscribe(observer: O) -> Disposable {
29 | abstractMethod()
30 | }
31 |
32 | public func asObservable() -> Observable {
33 | return self
34 | }
35 |
36 | deinit {
37 | #if TRACE_RESOURCES
38 | AtomicDecrement(&resourceCount)
39 | #endif
40 | }
41 |
42 | // this is kind of ugly I know :(
43 | // Swift compiler reports "Not supported yet" when trying to override protocol extensions, so ¯\_(ツ)_/¯
44 |
45 | /**
46 | Optimizations for map operator
47 | */
48 | internal func composeMap(selector: Element throws -> R) -> Observable {
49 | return Map(source: self, selector: selector)
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxTests/Recorded.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Recorded.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 2/14/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import RxSwift
11 | import Swift
12 |
13 | /**
14 | Record of a value including the virtual time it was produced on.
15 | */
16 | public struct Recorded
17 | : CustomDebugStringConvertible {
18 |
19 | /**
20 | Gets the virtual time the value was produced on.
21 | */
22 | public let time: TestTime
23 |
24 | /**
25 | Gets the recorded value.
26 | */
27 | public let value: Element
28 |
29 | public init(time: TestTime, event: Element) {
30 | self.time = time
31 | self.value = event
32 | }
33 | }
34 |
35 | extension Recorded {
36 | /**
37 | A textual representation of `self`, suitable for debugging.
38 | */
39 | public var debugDescription: String {
40 | get {
41 | return "\(value) @ \(time)"
42 | }
43 | }
44 | }
45 |
46 | func == (lhs: Recorded, rhs: Recorded) -> Bool {
47 | return lhs.time == rhs.time && lhs.value == rhs.value
48 | }
49 |
50 | func == (lhs: Recorded>, rhs: Recorded>) -> Bool {
51 | return lhs.time == rhs.time && lhs.value == rhs.value
52 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/Tests/RxCocoaTests/NSView+RxTests.swift:
--------------------------------------------------------------------------------
1 | //
2 | // NSView+RxTests.swift
3 | // RxTests
4 | //
5 | // Created by Krunoslav Zaher on 12/6/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import RxSwift
11 | import RxCocoa
12 | import Cocoa
13 | import XCTest
14 |
15 | class NSViewTests : RxTest {
16 | }
17 |
18 | extension NSViewTests {
19 | func testHidden_True() {
20 | let subject = NSView(frame: CGRect.zero)
21 | Observable.just(true).subscribe(subject.rx_hidden).dispose()
22 |
23 | XCTAssertTrue(subject.hidden == true)
24 | }
25 |
26 | func testHidden_False() {
27 | let subject = NSView(frame: CGRect.zero)
28 | Observable.just(false).subscribe(subject.rx_hidden).dispose()
29 |
30 | XCTAssertTrue(subject.hidden == false)
31 | }
32 | }
33 |
34 | extension NSViewTests {
35 | func testAlpha_0() {
36 | let subject = NSView(frame: CGRect.zero)
37 | Observable.just(0).subscribe(subject.rx_alpha).dispose()
38 |
39 | XCTAssertTrue(subject.alphaValue == 0.0)
40 | }
41 |
42 | func testAlpha_1() {
43 | let subject = NSView(frame: CGRect.zero)
44 | Observable.just(1).subscribe(subject.rx_alpha).dispose()
45 |
46 | XCTAssertTrue(subject.alphaValue == 1.0)
47 | }
48 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxExample/RxExample/Example.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Example.swift
3 | // Example
4 | //
5 | // Created by Krunoslav Zaher on 3/28/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | #if os(iOS)
12 | import UIKit
13 | typealias Image = UIImage
14 | #elseif os(OSX)
15 | import Cocoa
16 | import AppKit
17 | typealias Image = NSImage
18 | #endif
19 |
20 | let MB = 1024 * 1024
21 |
22 | func exampleError(error: String, location: String = "\(__FILE__):\(__LINE__)") -> NSError {
23 | return NSError(domain: "ExampleError", code: -1, userInfo: [NSLocalizedDescriptionKey: "\(location): \(error)"])
24 | }
25 |
26 | extension String {
27 | func toFloat() -> Float? {
28 | let numberFormatter = NSNumberFormatter()
29 | return numberFormatter.numberFromString(self)?.floatValue
30 | }
31 |
32 | func toDouble() -> Double? {
33 | let numberFormatter = NSNumberFormatter()
34 | return numberFormatter.numberFromString(self)?.doubleValue
35 | }
36 | }
37 |
38 | func showAlert(message: String) {
39 | #if os(iOS)
40 | UIAlertView(title: "RxExample", message: message, delegate: nil, cancelButtonTitle: "OK").show()
41 | #elseif os(OSX)
42 | let alert = NSAlert()
43 | alert.messageText = message
44 | alert.runModal()
45 | #endif
46 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxTests/TestableObservable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // TestableObservable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 12/28/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import RxSwift
11 |
12 | /**
13 | Observable sequence that records subscription lifetimes and timestamped events sent to observers.
14 | */
15 | public class TestableObservable
16 | : ObservableType {
17 | public typealias E = Element
18 | /**
19 | Subscriptions recorded during observable lifetime.
20 | */
21 | public internal(set) var subscriptions: [Subscription]
22 |
23 | /**
24 | List of events to replay for all subscribers.
25 |
26 | Event times represent absolute `TestScheduler` time.
27 | */
28 | public internal(set) var recordedEvents: [Recorded>]
29 |
30 | /**
31 | Parent test scheduler.
32 | */
33 | internal let testScheduler: TestScheduler
34 |
35 | init(testScheduler: TestScheduler, recordedEvents: [Recorded>]) {
36 | self.testScheduler = testScheduler
37 | self.recordedEvents = recordedEvents
38 | self.subscriptions = []
39 | }
40 |
41 | public func subscribe(observer: O) -> Disposable {
42 | fatalError("Abstract method")
43 | }
44 | }
--------------------------------------------------------------------------------
/ViperPrototype/Modules/MainMoviesList/Wireframe/MainMoviesListWireframe.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MainMoviesListWireframe.swift
3 | // ViperPrototype
4 | //
5 | // Created by Adriano Goncalves on 13/02/2016.
6 | // Copyright © 2016 Adriano Goncalves. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | struct MainMoviesListWireframe {
12 |
13 | static func presentMainMoviesListModule(window: UIWindow) {
14 |
15 | let mainMoviesListView = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("MainMoviesListView") as! MainMoviesListView
16 |
17 | let apiService = TmdbApiService()
18 | let apiDataManager = TmdbApiDataManager(apiService: apiService)
19 |
20 | let mainMoviesListInteractor = MainMoviesListInteractor(apiDataManager: apiDataManager)
21 | mainMoviesListView.presenter = MainMoviesListPresenter(interactor: mainMoviesListInteractor, wireframe: MainMoviesListWireframe())
22 |
23 | if let navigationController = window.rootViewController as? UINavigationController {
24 | dispatch_async(dispatch_get_main_queue(), { () -> Void in
25 | navigationController.pushViewController(mainMoviesListView, animated: true)
26 | })
27 | }
28 |
29 | }
30 |
31 | func showDetail() {
32 | MovieDetailWireframe.presentMovieDetailModule(UIApplication.sharedApplication().keyWindow!)
33 | }
34 |
35 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxSwift/Observables/Implementations/Sink.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Sink.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 2/19/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | class Sink : SingleAssignmentDisposable {
12 | private let _observer: O
13 |
14 | init(observer: O) {
15 | #if TRACE_RESOURCES
16 | AtomicIncrement(&resourceCount)
17 | #endif
18 | _observer = observer
19 | }
20 |
21 | final func forwardOn(event: Event) {
22 | if disposed {
23 | return
24 | }
25 | _observer.on(event)
26 | }
27 |
28 | final func forwarder() -> SinkForward {
29 | return SinkForward(forward: self)
30 | }
31 |
32 | deinit {
33 | #if TRACE_RESOURCES
34 | AtomicDecrement(&resourceCount)
35 | #endif
36 | }
37 | }
38 |
39 | class SinkForward: ObserverType {
40 | typealias E = O.E
41 |
42 | private let _forward: Sink
43 |
44 | init(forward: Sink) {
45 | _forward = forward
46 | }
47 |
48 | func on(event: Event) {
49 | switch event {
50 | case .Next:
51 | _forward._observer.on(event)
52 | case .Error, .Completed:
53 | _forward._observer.on(event)
54 | _forward.dispose()
55 | }
56 | }
57 | }
--------------------------------------------------------------------------------
/Carthage/Checkouts/RxSwift/RxSwift/Schedulers/ImmediateScheduler.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ImmediateScheduler.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/17/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /**
12 | Represents an object that schedules units of work to run immediately on the current thread.
13 | */
14 | private class ImmediateScheduler : ImmediateSchedulerType {
15 |
16 | private let _asyncLock = AsyncLock()
17 |
18 | /**
19 | Schedules an action to be executed immediatelly.
20 |
21 | In case `schedule` is called recursively from inside of `action` callback, scheduled `action` will be enqueued
22 | and executed after current `action`. (`AsyncLock` behavior)
23 |
24 | - parameter state: State passed to the action to be executed.
25 | - parameter action: Action to be executed.
26 | - returns: The disposable object used to cancel the scheduled action (best effort).
27 | */
28 | func schedule(state: StateType, action: (StateType) -> Disposable) -> Disposable {
29 | let disposable = SingleAssignmentDisposable()
30 | _asyncLock.invoke(AnonymousInvocable {
31 | if disposable.disposed {
32 | return
33 | }
34 | disposable.disposable = action(state)
35 | })
36 |
37 | return disposable
38 | }
39 | }
--------------------------------------------------------------------------------