├── .gitignore
├── README.md
├── build.gradle.kts
├── gradle.properties
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── ios
├── Podfile
├── Podfile.lock
├── Pods
│ ├── Local Podspecs
│ │ └── shared.podspec.json
│ ├── Manifest.lock
│ ├── Pods.xcodeproj
│ │ ├── project.pbxproj
│ │ └── xcuserdata
│ │ │ └── russell.xcuserdatad
│ │ │ └── xcschemes
│ │ │ ├── Pods-SwiftCoroutines.xcscheme
│ │ │ ├── Pods-SwiftCoroutinesTests.xcscheme
│ │ │ ├── RxBlocking.xcscheme
│ │ │ ├── RxCocoa.xcscheme
│ │ │ ├── RxRelay.xcscheme
│ │ │ ├── RxSwift.xcscheme
│ │ │ ├── RxTest.xcscheme
│ │ │ ├── shared.xcscheme
│ │ │ └── xcschememanagement.plist
│ ├── RxBlocking
│ │ ├── LICENSE.md
│ │ ├── Platform
│ │ │ ├── AtomicInt.swift
│ │ │ ├── DataStructures
│ │ │ │ ├── Bag.swift
│ │ │ │ ├── InfiniteSequence.swift
│ │ │ │ ├── PriorityQueue.swift
│ │ │ │ └── Queue.swift
│ │ │ ├── DispatchQueue+Extensions.swift
│ │ │ ├── Platform.Darwin.swift
│ │ │ ├── Platform.Linux.swift
│ │ │ └── RecursiveLock.swift
│ │ ├── README.md
│ │ └── RxBlocking
│ │ │ ├── BlockingObservable+Operators.swift
│ │ │ ├── BlockingObservable.swift
│ │ │ ├── ObservableConvertibleType+Blocking.swift
│ │ │ ├── Resources.swift
│ │ │ └── RunLoopLock.swift
│ ├── RxCocoa
│ │ ├── LICENSE.md
│ │ ├── Platform
│ │ │ ├── DataStructures
│ │ │ │ ├── Bag.swift
│ │ │ │ ├── InfiniteSequence.swift
│ │ │ │ ├── PriorityQueue.swift
│ │ │ │ └── Queue.swift
│ │ │ ├── DispatchQueue+Extensions.swift
│ │ │ ├── Platform.Darwin.swift
│ │ │ ├── Platform.Linux.swift
│ │ │ └── RecursiveLock.swift
│ │ ├── README.md
│ │ └── RxCocoa
│ │ │ ├── Common
│ │ │ ├── Binder.swift
│ │ │ ├── ControlTarget.swift
│ │ │ ├── DelegateProxy.swift
│ │ │ ├── DelegateProxyType.swift
│ │ │ ├── KeyPathBinder.swift
│ │ │ ├── NSLayoutConstraint+Rx.swift
│ │ │ ├── Observable+Bind.swift
│ │ │ ├── RxCocoaObjCRuntimeError+Extensions.swift
│ │ │ ├── RxTarget.swift
│ │ │ ├── SectionedViewDataSourceType.swift
│ │ │ └── TextInput.swift
│ │ │ ├── Deprecated.swift
│ │ │ ├── Foundation
│ │ │ ├── KVORepresentable+CoreGraphics.swift
│ │ │ ├── KVORepresentable+Swift.swift
│ │ │ ├── KVORepresentable.swift
│ │ │ ├── Logging.swift
│ │ │ ├── NSObject+Rx+KVORepresentable.swift
│ │ │ ├── NSObject+Rx+RawRepresentable.swift
│ │ │ ├── NSObject+Rx.swift
│ │ │ ├── NotificationCenter+Rx.swift
│ │ │ └── URLSession+Rx.swift
│ │ │ ├── Runtime
│ │ │ ├── _RX.m
│ │ │ ├── _RXDelegateProxy.m
│ │ │ ├── _RXKVOObserver.m
│ │ │ ├── _RXObjCRuntime.m
│ │ │ └── include
│ │ │ │ ├── RxCocoaRuntime.h
│ │ │ │ ├── _RX.h
│ │ │ │ ├── _RXDelegateProxy.h
│ │ │ │ ├── _RXKVOObserver.h
│ │ │ │ └── _RXObjCRuntime.h
│ │ │ ├── RxCocoa.h
│ │ │ ├── RxCocoa.swift
│ │ │ ├── Traits
│ │ │ ├── ControlEvent.swift
│ │ │ ├── ControlProperty.swift
│ │ │ ├── Driver
│ │ │ │ ├── BehaviorRelay+Driver.swift
│ │ │ │ ├── ControlEvent+Driver.swift
│ │ │ │ ├── ControlProperty+Driver.swift
│ │ │ │ ├── Driver+Subscription.swift
│ │ │ │ ├── Driver.swift
│ │ │ │ └── ObservableConvertibleType+Driver.swift
│ │ │ ├── SharedSequence
│ │ │ │ ├── ObservableConvertibleType+SharedSequence.swift
│ │ │ │ ├── SchedulerType+SharedSequence.swift
│ │ │ │ ├── SharedSequence+Operators+arity.swift
│ │ │ │ ├── SharedSequence+Operators.swift
│ │ │ │ └── SharedSequence.swift
│ │ │ └── Signal
│ │ │ │ ├── ControlEvent+Signal.swift
│ │ │ │ ├── ObservableConvertibleType+Signal.swift
│ │ │ │ ├── PublishRelay+Signal.swift
│ │ │ │ ├── Signal+Subscription.swift
│ │ │ │ └── Signal.swift
│ │ │ ├── iOS
│ │ │ ├── DataSources
│ │ │ │ ├── RxCollectionViewReactiveArrayDataSource.swift
│ │ │ │ ├── RxPickerViewAdapter.swift
│ │ │ │ └── RxTableViewReactiveArrayDataSource.swift
│ │ │ ├── Events
│ │ │ │ └── ItemEvents.swift
│ │ │ ├── NSTextStorage+Rx.swift
│ │ │ ├── Protocols
│ │ │ │ ├── RxCollectionViewDataSourceType.swift
│ │ │ │ ├── RxPickerViewDataSourceType.swift
│ │ │ │ └── RxTableViewDataSourceType.swift
│ │ │ ├── Proxies
│ │ │ │ ├── RxCollectionViewDataSourcePrefetchingProxy.swift
│ │ │ │ ├── RxCollectionViewDataSourceProxy.swift
│ │ │ │ ├── RxCollectionViewDelegateProxy.swift
│ │ │ │ ├── RxNavigationControllerDelegateProxy.swift
│ │ │ │ ├── RxPickerViewDataSourceProxy.swift
│ │ │ │ ├── RxPickerViewDelegateProxy.swift
│ │ │ │ ├── RxScrollViewDelegateProxy.swift
│ │ │ │ ├── RxSearchBarDelegateProxy.swift
│ │ │ │ ├── RxSearchControllerDelegateProxy.swift
│ │ │ │ ├── RxTabBarControllerDelegateProxy.swift
│ │ │ │ ├── RxTabBarDelegateProxy.swift
│ │ │ │ ├── RxTableViewDataSourcePrefetchingProxy.swift
│ │ │ │ ├── RxTableViewDataSourceProxy.swift
│ │ │ │ ├── RxTableViewDelegateProxy.swift
│ │ │ │ ├── RxTextStorageDelegateProxy.swift
│ │ │ │ ├── RxTextViewDelegateProxy.swift
│ │ │ │ └── RxWKNavigationDelegateProxy.swift
│ │ │ ├── UIActivityIndicatorView+Rx.swift
│ │ │ ├── UIAlertAction+Rx.swift
│ │ │ ├── UIApplication+Rx.swift
│ │ │ ├── UIBarButtonItem+Rx.swift
│ │ │ ├── UIButton+Rx.swift
│ │ │ ├── UICollectionView+Rx.swift
│ │ │ ├── UIControl+Rx.swift
│ │ │ ├── UIDatePicker+Rx.swift
│ │ │ ├── UIGestureRecognizer+Rx.swift
│ │ │ ├── UIImageView+Rx.swift
│ │ │ ├── UILabel+Rx.swift
│ │ │ ├── UINavigationController+Rx.swift
│ │ │ ├── UINavigationItem+Rx.swift
│ │ │ ├── UIPageControl+Rx.swift
│ │ │ ├── UIPickerView+Rx.swift
│ │ │ ├── UIProgressView+Rx.swift
│ │ │ ├── UIRefreshControl+Rx.swift
│ │ │ ├── UIScrollView+Rx.swift
│ │ │ ├── UISearchBar+Rx.swift
│ │ │ ├── UISearchController+Rx.swift
│ │ │ ├── UISegmentedControl+Rx.swift
│ │ │ ├── UISlider+Rx.swift
│ │ │ ├── UIStepper+Rx.swift
│ │ │ ├── UISwitch+Rx.swift
│ │ │ ├── UITabBar+Rx.swift
│ │ │ ├── UITabBarController+Rx.swift
│ │ │ ├── UITabBarItem+Rx.swift
│ │ │ ├── UITableView+Rx.swift
│ │ │ ├── UITextField+Rx.swift
│ │ │ ├── UITextView+Rx.swift
│ │ │ ├── UIView+Rx.swift
│ │ │ ├── UIViewController+Rx.swift
│ │ │ └── WKWebView+Rx.swift
│ │ │ └── macOS
│ │ │ ├── NSButton+Rx.swift
│ │ │ ├── NSControl+Rx.swift
│ │ │ ├── NSImageView+Rx.swift
│ │ │ ├── NSSlider+Rx.swift
│ │ │ ├── NSTextField+Rx.swift
│ │ │ ├── NSTextView+Rx.swift
│ │ │ └── NSView+Rx.swift
│ ├── RxRelay
│ │ ├── LICENSE.md
│ │ ├── README.md
│ │ └── RxRelay
│ │ │ ├── BehaviorRelay.swift
│ │ │ ├── Observable+Bind.swift
│ │ │ ├── PublishRelay.swift
│ │ │ └── Utils.swift
│ ├── RxSwift
│ │ ├── LICENSE.md
│ │ ├── Platform
│ │ │ ├── AtomicInt.swift
│ │ │ ├── DataStructures
│ │ │ │ ├── Bag.swift
│ │ │ │ ├── InfiniteSequence.swift
│ │ │ │ ├── PriorityQueue.swift
│ │ │ │ └── Queue.swift
│ │ │ ├── DispatchQueue+Extensions.swift
│ │ │ ├── Platform.Darwin.swift
│ │ │ ├── Platform.Linux.swift
│ │ │ └── RecursiveLock.swift
│ │ ├── README.md
│ │ └── RxSwift
│ │ │ ├── AnyObserver.swift
│ │ │ ├── Cancelable.swift
│ │ │ ├── Concurrency
│ │ │ ├── AsyncLock.swift
│ │ │ ├── Lock.swift
│ │ │ ├── LockOwnerType.swift
│ │ │ ├── SynchronizedDisposeType.swift
│ │ │ ├── SynchronizedOnType.swift
│ │ │ └── SynchronizedUnsubscribeType.swift
│ │ │ ├── ConnectableObservableType.swift
│ │ │ ├── Date+Dispatch.swift
│ │ │ ├── Deprecated.swift
│ │ │ ├── Disposable.swift
│ │ │ ├── Disposables
│ │ │ ├── AnonymousDisposable.swift
│ │ │ ├── BinaryDisposable.swift
│ │ │ ├── BooleanDisposable.swift
│ │ │ ├── CompositeDisposable.swift
│ │ │ ├── Disposables.swift
│ │ │ ├── DisposeBag.swift
│ │ │ ├── DisposeBase.swift
│ │ │ ├── NopDisposable.swift
│ │ │ ├── RefCountDisposable.swift
│ │ │ ├── ScheduledDisposable.swift
│ │ │ ├── SerialDisposable.swift
│ │ │ ├── SingleAssignmentDisposable.swift
│ │ │ └── SubscriptionDisposable.swift
│ │ │ ├── Errors.swift
│ │ │ ├── Event.swift
│ │ │ ├── Extensions
│ │ │ └── Bag+Rx.swift
│ │ │ ├── GroupedObservable.swift
│ │ │ ├── ImmediateSchedulerType.swift
│ │ │ ├── Observable.swift
│ │ │ ├── ObservableConvertibleType.swift
│ │ │ ├── ObservableType+Extensions.swift
│ │ │ ├── ObservableType.swift
│ │ │ ├── Observables
│ │ │ ├── AddRef.swift
│ │ │ ├── Amb.swift
│ │ │ ├── AsMaybe.swift
│ │ │ ├── AsSingle.swift
│ │ │ ├── Buffer.swift
│ │ │ ├── Catch.swift
│ │ │ ├── CombineLatest+Collection.swift
│ │ │ ├── CombineLatest+arity.swift
│ │ │ ├── CombineLatest.swift
│ │ │ ├── CompactMap.swift
│ │ │ ├── Concat.swift
│ │ │ ├── Create.swift
│ │ │ ├── Debounce.swift
│ │ │ ├── Debug.swift
│ │ │ ├── DefaultIfEmpty.swift
│ │ │ ├── Deferred.swift
│ │ │ ├── Delay.swift
│ │ │ ├── DelaySubscription.swift
│ │ │ ├── Dematerialize.swift
│ │ │ ├── DistinctUntilChanged.swift
│ │ │ ├── Do.swift
│ │ │ ├── ElementAt.swift
│ │ │ ├── Empty.swift
│ │ │ ├── Enumerated.swift
│ │ │ ├── Error.swift
│ │ │ ├── Filter.swift
│ │ │ ├── First.swift
│ │ │ ├── Generate.swift
│ │ │ ├── GroupBy.swift
│ │ │ ├── Just.swift
│ │ │ ├── Map.swift
│ │ │ ├── Materialize.swift
│ │ │ ├── Merge.swift
│ │ │ ├── Multicast.swift
│ │ │ ├── Never.swift
│ │ │ ├── ObserveOn.swift
│ │ │ ├── Optional.swift
│ │ │ ├── Producer.swift
│ │ │ ├── Range.swift
│ │ │ ├── Reduce.swift
│ │ │ ├── Repeat.swift
│ │ │ ├── RetryWhen.swift
│ │ │ ├── Sample.swift
│ │ │ ├── Scan.swift
│ │ │ ├── Sequence.swift
│ │ │ ├── ShareReplayScope.swift
│ │ │ ├── SingleAsync.swift
│ │ │ ├── Sink.swift
│ │ │ ├── Skip.swift
│ │ │ ├── SkipUntil.swift
│ │ │ ├── SkipWhile.swift
│ │ │ ├── StartWith.swift
│ │ │ ├── SubscribeOn.swift
│ │ │ ├── Switch.swift
│ │ │ ├── SwitchIfEmpty.swift
│ │ │ ├── Take.swift
│ │ │ ├── TakeLast.swift
│ │ │ ├── TakeUntil.swift
│ │ │ ├── TakeWhile.swift
│ │ │ ├── Throttle.swift
│ │ │ ├── Timeout.swift
│ │ │ ├── Timer.swift
│ │ │ ├── ToArray.swift
│ │ │ ├── Using.swift
│ │ │ ├── Window.swift
│ │ │ ├── WithLatestFrom.swift
│ │ │ ├── Zip+Collection.swift
│ │ │ ├── Zip+arity.swift
│ │ │ └── Zip.swift
│ │ │ ├── ObserverType.swift
│ │ │ ├── Observers
│ │ │ ├── AnonymousObserver.swift
│ │ │ ├── ObserverBase.swift
│ │ │ └── TailRecursiveSink.swift
│ │ │ ├── Reactive.swift
│ │ │ ├── Rx.swift
│ │ │ ├── RxMutableBox.swift
│ │ │ ├── SchedulerType.swift
│ │ │ ├── Schedulers
│ │ │ ├── ConcurrentDispatchQueueScheduler.swift
│ │ │ ├── ConcurrentMainScheduler.swift
│ │ │ ├── CurrentThreadScheduler.swift
│ │ │ ├── HistoricalScheduler.swift
│ │ │ ├── HistoricalSchedulerTimeConverter.swift
│ │ │ ├── Internal
│ │ │ │ ├── DispatchQueueConfiguration.swift
│ │ │ │ ├── InvocableScheduledItem.swift
│ │ │ │ ├── InvocableType.swift
│ │ │ │ ├── ScheduledItem.swift
│ │ │ │ └── ScheduledItemType.swift
│ │ │ ├── MainScheduler.swift
│ │ │ ├── OperationQueueScheduler.swift
│ │ │ ├── RecursiveScheduler.swift
│ │ │ ├── SchedulerServices+Emulation.swift
│ │ │ ├── SerialDispatchQueueScheduler.swift
│ │ │ ├── VirtualTimeConverterType.swift
│ │ │ └── VirtualTimeScheduler.swift
│ │ │ ├── Subjects
│ │ │ ├── AsyncSubject.swift
│ │ │ ├── BehaviorSubject.swift
│ │ │ ├── PublishSubject.swift
│ │ │ ├── ReplaySubject.swift
│ │ │ └── SubjectType.swift
│ │ │ ├── SwiftSupport
│ │ │ └── SwiftSupport.swift
│ │ │ └── Traits
│ │ │ ├── Completable+AndThen.swift
│ │ │ ├── Completable.swift
│ │ │ ├── Maybe.swift
│ │ │ ├── ObservableType+PrimitiveSequence.swift
│ │ │ ├── PrimitiveSequence+Zip+arity.swift
│ │ │ ├── PrimitiveSequence.swift
│ │ │ └── Single.swift
│ ├── RxTest
│ │ ├── LICENSE.md
│ │ ├── Platform
│ │ │ ├── AtomicInt.swift
│ │ │ ├── DataStructures
│ │ │ │ ├── Bag.swift
│ │ │ │ ├── InfiniteSequence.swift
│ │ │ │ ├── PriorityQueue.swift
│ │ │ │ └── Queue.swift
│ │ │ ├── DispatchQueue+Extensions.swift
│ │ │ ├── Platform.Darwin.swift
│ │ │ ├── Platform.Linux.swift
│ │ │ └── RecursiveLock.swift
│ │ ├── README.md
│ │ └── RxTest
│ │ │ ├── Any+Equatable.swift
│ │ │ ├── ColdObservable.swift
│ │ │ ├── Deprecated.swift
│ │ │ ├── Event+Equatable.swift
│ │ │ ├── HotObservable.swift
│ │ │ ├── Recorded+Event.swift
│ │ │ ├── Recorded.swift
│ │ │ ├── RxTest.swift
│ │ │ ├── Schedulers
│ │ │ ├── TestScheduler.swift
│ │ │ └── TestSchedulerVirtualTimeConverter.swift
│ │ │ ├── Subscription.swift
│ │ │ ├── TestableObservable.swift
│ │ │ ├── TestableObserver.swift
│ │ │ └── XCTest+Rx.swift
│ └── Target Support Files
│ │ ├── Pods-SwiftCoroutines
│ │ ├── Pods-SwiftCoroutines-Info.plist
│ │ ├── Pods-SwiftCoroutines-acknowledgements.markdown
│ │ ├── Pods-SwiftCoroutines-acknowledgements.plist
│ │ ├── Pods-SwiftCoroutines-dummy.m
│ │ ├── Pods-SwiftCoroutines-frameworks-Debug-input-files.xcfilelist
│ │ ├── Pods-SwiftCoroutines-frameworks-Debug-output-files.xcfilelist
│ │ ├── Pods-SwiftCoroutines-frameworks-Release-input-files.xcfilelist
│ │ ├── Pods-SwiftCoroutines-frameworks-Release-output-files.xcfilelist
│ │ ├── Pods-SwiftCoroutines-frameworks.sh
│ │ ├── Pods-SwiftCoroutines-umbrella.h
│ │ ├── Pods-SwiftCoroutines.debug.xcconfig
│ │ ├── Pods-SwiftCoroutines.modulemap
│ │ └── Pods-SwiftCoroutines.release.xcconfig
│ │ ├── Pods-SwiftCoroutinesTests
│ │ ├── Pods-SwiftCoroutinesTests-Info.plist
│ │ ├── Pods-SwiftCoroutinesTests-acknowledgements.markdown
│ │ ├── Pods-SwiftCoroutinesTests-acknowledgements.plist
│ │ ├── Pods-SwiftCoroutinesTests-dummy.m
│ │ ├── Pods-SwiftCoroutinesTests-frameworks-Debug-input-files.xcfilelist
│ │ ├── Pods-SwiftCoroutinesTests-frameworks-Debug-output-files.xcfilelist
│ │ ├── Pods-SwiftCoroutinesTests-frameworks-Release-input-files.xcfilelist
│ │ ├── Pods-SwiftCoroutinesTests-frameworks-Release-output-files.xcfilelist
│ │ ├── Pods-SwiftCoroutinesTests-frameworks.sh
│ │ ├── Pods-SwiftCoroutinesTests-umbrella.h
│ │ ├── Pods-SwiftCoroutinesTests.debug.xcconfig
│ │ ├── Pods-SwiftCoroutinesTests.modulemap
│ │ └── Pods-SwiftCoroutinesTests.release.xcconfig
│ │ ├── RxBlocking
│ │ ├── RxBlocking-Info.plist
│ │ ├── RxBlocking-dummy.m
│ │ ├── RxBlocking-prefix.pch
│ │ ├── RxBlocking-umbrella.h
│ │ ├── RxBlocking.debug.xcconfig
│ │ ├── RxBlocking.modulemap
│ │ └── RxBlocking.release.xcconfig
│ │ ├── RxCocoa
│ │ ├── RxCocoa-Info.plist
│ │ ├── RxCocoa-dummy.m
│ │ ├── RxCocoa-prefix.pch
│ │ ├── RxCocoa-umbrella.h
│ │ ├── RxCocoa.debug.xcconfig
│ │ ├── RxCocoa.modulemap
│ │ └── RxCocoa.release.xcconfig
│ │ ├── RxRelay
│ │ ├── RxRelay-Info.plist
│ │ ├── RxRelay-dummy.m
│ │ ├── RxRelay-prefix.pch
│ │ ├── RxRelay-umbrella.h
│ │ ├── RxRelay.debug.xcconfig
│ │ ├── RxRelay.modulemap
│ │ └── RxRelay.release.xcconfig
│ │ ├── RxSwift
│ │ ├── RxSwift-Info.plist
│ │ ├── RxSwift-dummy.m
│ │ ├── RxSwift-prefix.pch
│ │ ├── RxSwift-umbrella.h
│ │ ├── RxSwift.debug.xcconfig
│ │ ├── RxSwift.modulemap
│ │ └── RxSwift.release.xcconfig
│ │ ├── RxTest
│ │ ├── RxTest-Info.plist
│ │ ├── RxTest-dummy.m
│ │ ├── RxTest-prefix.pch
│ │ ├── RxTest-umbrella.h
│ │ ├── RxTest.debug.xcconfig
│ │ ├── RxTest.modulemap
│ │ └── RxTest.release.xcconfig
│ │ └── shared
│ │ ├── shared-copy-dsyms-input-files.xcfilelist
│ │ ├── shared-copy-dsyms-output-files.xcfilelist
│ │ ├── shared-copy-dsyms.sh
│ │ ├── shared.debug.xcconfig
│ │ └── shared.release.xcconfig
├── SwiftCoroutines.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ │ └── IDEWorkspaceChecks.plist
│ └── xcuserdata
│ │ └── russell.xcuserdatad
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
├── SwiftCoroutines.xcworkspace
│ ├── contents.xcworkspacedata
│ ├── xcshareddata
│ │ ├── IDEWorkspaceChecks.plist
│ │ └── xcschemes
│ │ │ ├── SwiftCoroutines.xcscheme
│ │ │ └── SwiftCoroutinesTests.xcscheme
│ └── xcuserdata
│ │ └── russell.xcuserdatad
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
├── SwiftCoroutines
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ └── Contents.json
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── CombineWrappers.swift
│ ├── Info.plist
│ ├── KotlinError.swift
│ ├── RxSwiftWrappers.swift
│ ├── SceneDelegate.swift
│ ├── SwiftUIDemo.swift
│ ├── ThingRepositoryCombine.swift
│ ├── ThingRepositoryRxSwift.swift
│ └── ThingRepositorySwiftCallbacks.swift
└── SwiftCoroutinesTests
│ ├── CombineWrappersTests.swift
│ ├── Info.plist
│ ├── RxSwiftWrappersTests.swift
│ ├── SwiftCoroutines.xctestplan
│ └── TestPlan.xctestplan
├── settings.gradle.kts
└── shared
├── build.gradle.kts
├── shared.podspec
└── src
├── commonMain
└── kotlin
│ └── ThingRepository.kt
└── iosMain
└── kotlin
├── ThingRepositoryIos.kt
└── co
└── touchlab
└── swiftcoroutines
└── SwiftCoroutines.kt
/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | .gradle
3 | /local.properties
4 | /.idea
5 | .DS_Store
6 | **/build
7 | /buildSrc/build
8 | /captures
9 | .externalNativeBuild
10 | .cxx
11 | *.xcuserstate
12 | *.xcbkptlist
13 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ### Swift/Coroutines interop
2 |
3 | This is the code associated
4 | with [this updated blog post](https://dev.to/touchlab/kotlin-coroutines-and-swift-revisited-j5h) on Coroutines and
5 | Swift interop. If you can here from
6 | the [first version](https://dev.to/touchlab/working-with-kotlin-coroutines-and-rxswift-24fa), you can find the original
7 | sample code on the [v1 branch](https://github.com/touchlab/SwiftCoroutines/tree/v1)
8 |
9 | The `shared` directory contains Kotlin code, including a `ThingRepository` in common and a wrapper `ThingRespositoryIos`
10 | in the ios sources, which makes use of interop utilities in `SwiftCoroutines.kt`.
11 |
12 | The Kotlin code is consumed by an Xcode project in the `ios` directory. In there, `RxSwiftWrappers.swift` defines the
13 | RxSwift linkages to the coroutine wrappers in `SwiftCoroutines.kt`, and makes a demo call in `SceneDelegate.swift`.
14 | Additionally, `CombineWrappers.swift` defines equivalent Combine functions, with a demo call in `SceneDelegate.swift`
15 | as well as SwiftUI consumtion in `SwiftUIDemo.swift`. There are also unit tests in `RxSwiftWrappersTests.swift` and
16 | `CombineWrappersTests` which, while not exhaustive, verify most of the workings of the interop code, including checking
17 | multithreaded usage and cancellation.
18 |
--------------------------------------------------------------------------------
/build.gradle.kts:
--------------------------------------------------------------------------------
1 | buildscript {
2 | repositories {
3 | mavenCentral()
4 | }
5 | dependencies {
6 | classpath(kotlin("gradle-plugin", "1.5.10"))
7 | }
8 | }
9 |
10 | allprojects {
11 | repositories {
12 | mavenCentral()
13 | }
14 | }
15 |
16 | tasks.register("clean", Delete::class) {
17 | delete(rootProject.buildDir)
18 | }
19 |
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
1 | kotlin.mpp.enableGranularSourceSetsMetadata=true
2 | kotlin.native.enableDependencyPropagation=false
3 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/touchlab/SwiftCoroutines/80b5f2494d2487333b900194817800e766018d6f/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.1-all.zip
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 |
--------------------------------------------------------------------------------
/ios/Podfile:
--------------------------------------------------------------------------------
1 | use_frameworks!
2 |
3 | platform :ios, '13.0'
4 |
5 | install! 'cocoapods', :deterministic_uuids => false
6 |
7 | target 'SwiftCoroutines' do
8 | pod 'shared', :path => '../shared/'
9 | pod 'RxSwift', '~> 5'
10 | pod 'RxCocoa', '~> 5'
11 | end
12 | target 'SwiftCoroutinesTests' do
13 | pod 'shared', :path => '../shared/'
14 | pod 'RxSwift', '~> 5'
15 | pod 'RxCocoa', '~> 5'
16 |
17 | pod 'RxBlocking', '~> 5'
18 | pod 'RxTest', '~> 5'
19 | end
20 |
--------------------------------------------------------------------------------
/ios/Podfile.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - RxBlocking (5.1.1):
3 | - RxSwift (~> 5)
4 | - RxCocoa (5.1.1):
5 | - RxRelay (~> 5)
6 | - RxSwift (~> 5)
7 | - RxRelay (5.1.1):
8 | - RxSwift (~> 5)
9 | - RxSwift (5.1.1)
10 | - RxTest (5.1.1):
11 | - RxSwift (~> 5)
12 | - shared (0.0.1)
13 |
14 | DEPENDENCIES:
15 | - RxBlocking (~> 5)
16 | - RxCocoa (~> 5)
17 | - RxSwift (~> 5)
18 | - RxTest (~> 5)
19 | - shared (from `../shared/`)
20 |
21 | SPEC REPOS:
22 | trunk:
23 | - RxBlocking
24 | - RxCocoa
25 | - RxRelay
26 | - RxSwift
27 | - RxTest
28 |
29 | EXTERNAL SOURCES:
30 | shared:
31 | :path: "../shared/"
32 |
33 | SPEC CHECKSUMS:
34 | RxBlocking: 5f700a78cad61ce253ebd37c9a39b5ccc76477b4
35 | RxCocoa: 32065309a38d29b5b0db858819b5bf9ef038b601
36 | RxRelay: d77f7d771495f43c556cbc43eebd1bb54d01e8e9
37 | RxSwift: 81470a2074fa8780320ea5fe4102807cb7118178
38 | RxTest: 711632d5644dffbeb62c936a521b5b008a1e1faa
39 | shared: 8d428a1643ae80deba717d78029c4997fe4eb9ff
40 |
41 | PODFILE CHECKSUM: 9b59e9477f5920f5f81827ad2b0142682922e085
42 |
43 | COCOAPODS: 1.10.1
44 |
--------------------------------------------------------------------------------
/ios/Pods/Local Podspecs/shared.podspec.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "shared",
3 | "version": "0.0.1",
4 | "homepage": "https://touchlab.co",
5 | "source": {
6 | "git": "Not Published",
7 | "tag": "Cocoapods/shared/0.0.1"
8 | },
9 | "authors": "",
10 | "license": "",
11 | "summary": "Swift Coroutine interop tests",
12 | "static_framework": true,
13 | "vendored_frameworks": "build/cocoapods/framework/shared.framework",
14 | "libraries": "c++",
15 | "module_name": "shared_umbrella",
16 | "pod_target_xcconfig": {
17 | "KOTLIN_TARGET[sdk=iphonesimulator*]": "ios_x64",
18 | "KOTLIN_TARGET[sdk=iphoneos*]": "ios_arm",
19 | "KOTLIN_TARGET[sdk=watchsimulator*]": "watchos_x64",
20 | "KOTLIN_TARGET[sdk=watchos*]": "watchos_arm",
21 | "KOTLIN_TARGET[sdk=appletvsimulator*]": "tvos_x64",
22 | "KOTLIN_TARGET[sdk=appletvos*]": "tvos_arm64",
23 | "KOTLIN_TARGET[sdk=macosx*]": "macos_x64"
24 | },
25 | "script_phases": [
26 | {
27 | "name": "Build shared",
28 | "execution_position": "before_compile",
29 | "shell_path": "/bin/sh",
30 | "script": " set -ev\n REPO_ROOT=\"$PODS_TARGET_SRCROOT\"\n \"$REPO_ROOT/../gradlew\" -p \"$REPO_ROOT\" :shared:syncFramework -Pkotlin.native.cocoapods.target=$KOTLIN_TARGET -Pkotlin.native.cocoapods.configuration=$CONFIGURATION -Pkotlin.native.cocoapods.cflags=\"$OTHER_CFLAGS\" -Pkotlin.native.cocoapods.paths.headers=\"$HEADER_SEARCH_PATHS\" -Pkotlin.native.cocoapods.paths.frameworks=\"$FRAMEWORK_SEARCH_PATHS\"\n"
31 | }
32 | ],
33 | "platforms": {
34 | "osx": null,
35 | "ios": null,
36 | "tvos": null,
37 | "watchos": null
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/ios/Pods/Manifest.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - RxBlocking (5.1.1):
3 | - RxSwift (~> 5)
4 | - RxCocoa (5.1.1):
5 | - RxRelay (~> 5)
6 | - RxSwift (~> 5)
7 | - RxRelay (5.1.1):
8 | - RxSwift (~> 5)
9 | - RxSwift (5.1.1)
10 | - RxTest (5.1.1):
11 | - RxSwift (~> 5)
12 | - shared (0.0.1)
13 |
14 | DEPENDENCIES:
15 | - RxBlocking (~> 5)
16 | - RxCocoa (~> 5)
17 | - RxSwift (~> 5)
18 | - RxTest (~> 5)
19 | - shared (from `../shared/`)
20 |
21 | SPEC REPOS:
22 | trunk:
23 | - RxBlocking
24 | - RxCocoa
25 | - RxRelay
26 | - RxSwift
27 | - RxTest
28 |
29 | EXTERNAL SOURCES:
30 | shared:
31 | :path: "../shared/"
32 |
33 | SPEC CHECKSUMS:
34 | RxBlocking: 5f700a78cad61ce253ebd37c9a39b5ccc76477b4
35 | RxCocoa: 32065309a38d29b5b0db858819b5bf9ef038b601
36 | RxRelay: d77f7d771495f43c556cbc43eebd1bb54d01e8e9
37 | RxSwift: 81470a2074fa8780320ea5fe4102807cb7118178
38 | RxTest: 711632d5644dffbeb62c936a521b5b008a1e1faa
39 | shared: 8d428a1643ae80deba717d78029c4997fe4eb9ff
40 |
41 | PODFILE CHECKSUM: 9b59e9477f5920f5f81827ad2b0142682922e085
42 |
43 | COCOAPODS: 1.10.1
44 |
--------------------------------------------------------------------------------
/ios/Pods/Pods.xcodeproj/xcuserdata/russell.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | Pods-SwiftCoroutines.xcscheme
8 |
9 | isShown
10 |
11 | orderHint
12 | 1
13 |
14 | Pods-SwiftCoroutinesTests.xcscheme
15 |
16 | isShown
17 |
18 | orderHint
19 | 2
20 |
21 | RxBlocking.xcscheme
22 |
23 | isShown
24 |
25 | orderHint
26 | 3
27 |
28 | RxCocoa.xcscheme
29 |
30 | isShown
31 |
32 | orderHint
33 | 4
34 |
35 | RxRelay.xcscheme
36 |
37 | isShown
38 |
39 | orderHint
40 | 5
41 |
42 | RxSwift.xcscheme
43 |
44 | isShown
45 |
46 | orderHint
47 | 6
48 |
49 | RxTest.xcscheme
50 |
51 | isShown
52 |
53 | orderHint
54 | 7
55 |
56 | shared.xcscheme
57 |
58 | isShown
59 |
60 | orderHint
61 | 8
62 |
63 |
64 | SuppressBuildableAutocreation
65 |
66 |
67 |
68 |
--------------------------------------------------------------------------------
/ios/Pods/RxBlocking/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
6 | documentation files (the "Software"), to deal in the Software without restriction, including without limitation the
7 | rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit
8 | persons to whom the Software is furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
11 | Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
14 | WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
15 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
16 | OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
17 |
--------------------------------------------------------------------------------
/ios/Pods/RxBlocking/Platform/AtomicInt.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AtomicInt.swift
3 | // Platform
4 | //
5 | // Created by Krunoslav Zaher on 10/28/18.
6 | // Copyright © 2018 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import class Foundation.NSLock
10 |
11 | final class AtomicInt: NSLock {
12 | fileprivate var value: Int32
13 | public init(_ value: Int32 = 0) {
14 | self.value = value
15 | }
16 | }
17 |
18 | @discardableResult
19 | @inline(__always)
20 | func add(_ this: AtomicInt, _ value: Int32) -> Int32 {
21 | this.lock()
22 | let oldValue = this.value
23 | this.value += value
24 | this.unlock()
25 | return oldValue
26 | }
27 |
28 | @discardableResult
29 | @inline(__always)
30 | func sub(_ this: AtomicInt, _ value: Int32) -> Int32 {
31 | this.lock()
32 | let oldValue = this.value
33 | this.value -= value
34 | this.unlock()
35 | return oldValue
36 | }
37 |
38 | @discardableResult
39 | @inline(__always)
40 | func fetchOr(_ this: AtomicInt, _ mask: Int32) -> Int32 {
41 | this.lock()
42 | let oldValue = this.value
43 | this.value |= mask
44 | this.unlock()
45 | return oldValue
46 | }
47 |
48 | @inline(__always)
49 | func load(_ this: AtomicInt) -> Int32 {
50 | this.lock()
51 | let oldValue = this.value
52 | this.unlock()
53 | return oldValue
54 | }
55 |
56 | @discardableResult
57 | @inline(__always)
58 | func increment(_ this: AtomicInt) -> Int32 {
59 | return add(this, 1)
60 | }
61 |
62 | @discardableResult
63 | @inline(__always)
64 | func decrement(_ this: AtomicInt) -> Int32 {
65 | return sub(this, 1)
66 | }
67 |
68 | @inline(__always)
69 | func isFlagSet(_ this: AtomicInt, _ mask: Int32) -> Bool {
70 | return (load(this) & mask) != 0
71 | }
72 |
--------------------------------------------------------------------------------
/ios/Pods/RxBlocking/Platform/DataStructures/InfiniteSequence.swift:
--------------------------------------------------------------------------------
1 | //
2 | // InfiniteSequence.swift
3 | // Platform
4 | //
5 | // Created by Krunoslav Zaher on 6/13/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | /// Sequence that repeats `repeatedValue` infinite number of times.
10 | struct InfiniteSequence : Sequence {
11 | typealias Iterator = AnyIterator
12 |
13 | private let _repeatedValue: Element
14 |
15 | init(repeatedValue: Element) {
16 | _repeatedValue = repeatedValue
17 | }
18 |
19 | func makeIterator() -> Iterator {
20 | let repeatedValue = _repeatedValue
21 | return AnyIterator {
22 | return repeatedValue
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/ios/Pods/RxBlocking/Platform/DispatchQueue+Extensions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DispatchQueue+Extensions.swift
3 | // Platform
4 | //
5 | // Created by Krunoslav Zaher on 10/22/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Dispatch
10 |
11 | extension DispatchQueue {
12 | private static var token: DispatchSpecificKey<()> = {
13 | let key = DispatchSpecificKey<()>()
14 | DispatchQueue.main.setSpecific(key: key, value: ())
15 | return key
16 | }()
17 |
18 | static var isMain: Bool {
19 | return DispatchQueue.getSpecific(key: token) != nil
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/ios/Pods/RxBlocking/Platform/Platform.Darwin.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Platform.Darwin.swift
3 | // Platform
4 | //
5 | // Created by Krunoslav Zaher on 12/29/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(macOS) || os(iOS) || os(tvOS) || os(watchOS)
10 |
11 | import Darwin
12 | import class Foundation.Thread
13 | import protocol Foundation.NSCopying
14 |
15 | extension Thread {
16 | static func setThreadLocalStorageValue(_ value: T?, forKey key: NSCopying) {
17 | let currentThread = Thread.current
18 | let threadDictionary = currentThread.threadDictionary
19 |
20 | if let newValue = value {
21 | threadDictionary[key] = newValue
22 | }
23 | else {
24 | threadDictionary[key] = nil
25 | }
26 | }
27 |
28 | static func getThreadLocalStorageValueForKey(_ key: NSCopying) -> T? {
29 | let currentThread = Thread.current
30 | let threadDictionary = currentThread.threadDictionary
31 |
32 | return threadDictionary[key] as? T
33 | }
34 | }
35 |
36 | #endif
37 |
--------------------------------------------------------------------------------
/ios/Pods/RxBlocking/Platform/Platform.Linux.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Platform.Linux.swift
3 | // Platform
4 | //
5 | // Created by Krunoslav Zaher on 12/29/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(Linux)
10 |
11 | import class Foundation.Thread
12 |
13 | extension Thread {
14 |
15 | static func setThreadLocalStorageValue(_ value: T?, forKey key: String) {
16 | if let newValue = value {
17 | Thread.current.threadDictionary[key] = newValue
18 | }
19 | else {
20 | Thread.current.threadDictionary[key] = nil
21 | }
22 | }
23 |
24 | static func getThreadLocalStorageValueForKey(_ key: String) -> T? {
25 | let currentThread = Thread.current
26 | let threadDictionary = currentThread.threadDictionary
27 |
28 | return threadDictionary[key] as? T
29 | }
30 | }
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/ios/Pods/RxBlocking/Platform/RecursiveLock.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RecursiveLock.swift
3 | // Platform
4 | //
5 | // Created by Krunoslav Zaher on 12/18/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import class Foundation.NSRecursiveLock
10 |
11 | #if TRACE_RESOURCES
12 | class RecursiveLock: NSRecursiveLock {
13 | override init() {
14 | _ = Resources.incrementTotal()
15 | super.init()
16 | }
17 |
18 | override func lock() {
19 | super.lock()
20 | _ = Resources.incrementTotal()
21 | }
22 |
23 | override func unlock() {
24 | super.unlock()
25 | _ = Resources.decrementTotal()
26 | }
27 |
28 | deinit {
29 | _ = Resources.decrementTotal()
30 | }
31 | }
32 | #else
33 | typealias RecursiveLock = NSRecursiveLock
34 | #endif
35 |
--------------------------------------------------------------------------------
/ios/Pods/RxBlocking/RxBlocking/BlockingObservable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // BlockingObservable.swift
3 | // RxBlocking
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 |
12 | /**
13 | `BlockingObservable` is a variety of `Observable` that provides blocking operators.
14 |
15 | It can be useful for testing and demo purposes, but is generally inappropriate for production applications.
16 |
17 | If you think you need to use a `BlockingObservable` this is usually a sign that you should rethink your
18 | design.
19 | */
20 | public struct BlockingObservable {
21 | let timeout: TimeInterval?
22 | let source: Observable
23 | }
24 |
--------------------------------------------------------------------------------
/ios/Pods/RxBlocking/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 RxSwift
10 | import Foundation
11 |
12 | extension ObservableConvertibleType {
13 | /// Converts an Observable into a `BlockingObservable` (an Observable with blocking operators).
14 | ///
15 | /// - parameter timeout: Maximal time interval BlockingObservable can block without throwing `RxError.timeout`.
16 | /// - returns: `BlockingObservable` version of `self`
17 | public func toBlocking(timeout: TimeInterval? = nil) -> BlockingObservable {
18 | return BlockingObservable(timeout: timeout, source: self.asObservable())
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/ios/Pods/RxBlocking/RxBlocking/Resources.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Resources.swift
3 | // RxBlocking
4 | //
5 | // Created by Krunoslav Zaher on 1/21/17.
6 | // Copyright © 2017 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import RxSwift
10 |
11 | #if TRACE_RESOURCES
12 | struct Resources {
13 | static func incrementTotal() -> Int32 {
14 | return RxSwift.Resources.incrementTotal()
15 | }
16 |
17 | static func decrementTotal() -> Int32 {
18 | return RxSwift.Resources.decrementTotal()
19 | }
20 |
21 | static var numberOfSerialDispatchQueueObservables: Int32 {
22 | return RxSwift.Resources.numberOfSerialDispatchQueueObservables
23 | }
24 |
25 | static var total: Int32 {
26 | return RxSwift.Resources.total
27 | }
28 | }
29 | #endif
30 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/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
6 | documentation files (the "Software"), to deal in the Software without restriction, including without limitation the
7 | rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit
8 | persons to whom the Software is furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
11 | Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
14 | WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
15 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
16 | OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
17 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/Platform/DataStructures/InfiniteSequence.swift:
--------------------------------------------------------------------------------
1 | //
2 | // InfiniteSequence.swift
3 | // Platform
4 | //
5 | // Created by Krunoslav Zaher on 6/13/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | /// Sequence that repeats `repeatedValue` infinite number of times.
10 | struct InfiniteSequence : Sequence {
11 | typealias Iterator = AnyIterator
12 |
13 | private let _repeatedValue: Element
14 |
15 | init(repeatedValue: Element) {
16 | _repeatedValue = repeatedValue
17 | }
18 |
19 | func makeIterator() -> Iterator {
20 | let repeatedValue = _repeatedValue
21 | return AnyIterator {
22 | return repeatedValue
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/Platform/DispatchQueue+Extensions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DispatchQueue+Extensions.swift
3 | // Platform
4 | //
5 | // Created by Krunoslav Zaher on 10/22/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Dispatch
10 |
11 | extension DispatchQueue {
12 | private static var token: DispatchSpecificKey<()> = {
13 | let key = DispatchSpecificKey<()>()
14 | DispatchQueue.main.setSpecific(key: key, value: ())
15 | return key
16 | }()
17 |
18 | static var isMain: Bool {
19 | return DispatchQueue.getSpecific(key: token) != nil
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/Platform/Platform.Darwin.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Platform.Darwin.swift
3 | // Platform
4 | //
5 | // Created by Krunoslav Zaher on 12/29/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(macOS) || os(iOS) || os(tvOS) || os(watchOS)
10 |
11 | import Darwin
12 | import class Foundation.Thread
13 | import protocol Foundation.NSCopying
14 |
15 | extension Thread {
16 | static func setThreadLocalStorageValue(_ value: T?, forKey key: NSCopying) {
17 | let currentThread = Thread.current
18 | let threadDictionary = currentThread.threadDictionary
19 |
20 | if let newValue = value {
21 | threadDictionary[key] = newValue
22 | }
23 | else {
24 | threadDictionary[key] = nil
25 | }
26 | }
27 |
28 | static func getThreadLocalStorageValueForKey(_ key: NSCopying) -> T? {
29 | let currentThread = Thread.current
30 | let threadDictionary = currentThread.threadDictionary
31 |
32 | return threadDictionary[key] as? T
33 | }
34 | }
35 |
36 | #endif
37 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/Platform/Platform.Linux.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Platform.Linux.swift
3 | // Platform
4 | //
5 | // Created by Krunoslav Zaher on 12/29/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(Linux)
10 |
11 | import class Foundation.Thread
12 |
13 | extension Thread {
14 |
15 | static func setThreadLocalStorageValue(_ value: T?, forKey key: String) {
16 | if let newValue = value {
17 | Thread.current.threadDictionary[key] = newValue
18 | }
19 | else {
20 | Thread.current.threadDictionary[key] = nil
21 | }
22 | }
23 |
24 | static func getThreadLocalStorageValueForKey(_ key: String) -> T? {
25 | let currentThread = Thread.current
26 | let threadDictionary = currentThread.threadDictionary
27 |
28 | return threadDictionary[key] as? T
29 | }
30 | }
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/Platform/RecursiveLock.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RecursiveLock.swift
3 | // Platform
4 | //
5 | // Created by Krunoslav Zaher on 12/18/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import class Foundation.NSRecursiveLock
10 |
11 | #if TRACE_RESOURCES
12 | class RecursiveLock: NSRecursiveLock {
13 | override init() {
14 | _ = Resources.incrementTotal()
15 | super.init()
16 | }
17 |
18 | override func lock() {
19 | super.lock()
20 | _ = Resources.incrementTotal()
21 | }
22 |
23 | override func unlock() {
24 | super.unlock()
25 | _ = Resources.decrementTotal()
26 | }
27 |
28 | deinit {
29 | _ = Resources.decrementTotal()
30 | }
31 | }
32 | #else
33 | typealias RecursiveLock = NSRecursiveLock
34 | #endif
35 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/RxCocoa/Common/KeyPathBinder.swift:
--------------------------------------------------------------------------------
1 | //
2 | // KeyPathBinder.swift
3 | // RxCocoa
4 | //
5 | // Created by Ryo Aoyama on 2/7/18.
6 | // Copyright © 2018 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import RxSwift
10 |
11 | extension Reactive where Base: AnyObject {
12 |
13 | /// Bindable sink for arbitrary property using the given key path.
14 | /// Binding runs on the MainScheduler.
15 | ///
16 | /// - parameter keyPath: Key path to write to the property.
17 | public subscript(keyPath: ReferenceWritableKeyPath) -> Binder {
18 | return Binder(self.base) { base, value in
19 | base[keyPath: keyPath] = value
20 | }
21 | }
22 |
23 | /// Bindable sink for arbitrary property using the given key path.
24 | /// Binding runs on the specified scheduler.
25 | ///
26 | /// - parameter keyPath: Key path to write to the property.
27 | /// - parameter scheduler: Scheduler to run bindings on.
28 | public subscript(keyPath: ReferenceWritableKeyPath, on scheduler: ImmediateSchedulerType) -> Binder {
29 | return Binder(self.base, scheduler: scheduler) { base, value in
30 | base[keyPath: keyPath] = value
31 | }
32 | }
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/RxCocoa/Common/NSLayoutConstraint+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // NSLayoutConstraint+Rx.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 12/6/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if !os(Linux)
10 |
11 | #if os(macOS)
12 | import Cocoa
13 | #else
14 | import UIKit
15 | #endif
16 |
17 | import RxSwift
18 |
19 | #if os(iOS) || os(macOS) || os(tvOS)
20 | extension Reactive where Base: NSLayoutConstraint {
21 | /// Bindable sink for `constant` property.
22 | public var constant: Binder {
23 | return Binder(self.base) { constraint, constant in
24 | constraint.constant = constant
25 | }
26 | }
27 |
28 | /// Bindable sink for `active` property.
29 | @available(iOS 8, OSX 10.10, *)
30 | public var active: Binder {
31 | return Binder(self.base) { constraint, value in
32 | constraint.isActive = value
33 | }
34 | }
35 | }
36 |
37 | #endif
38 |
39 | #endif
40 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/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 class Foundation.NSObject
10 |
11 | import RxSwift
12 |
13 | class RxTarget : NSObject
14 | , Disposable {
15 |
16 | private var retainSelf: RxTarget?
17 |
18 | override init() {
19 | super.init()
20 | self.retainSelf = self
21 |
22 | #if TRACE_RESOURCES
23 | _ = Resources.incrementTotal()
24 | #endif
25 |
26 | #if DEBUG
27 | MainScheduler.ensureRunningOnMainThread()
28 | #endif
29 | }
30 |
31 | func dispose() {
32 | #if DEBUG
33 | MainScheduler.ensureRunningOnMainThread()
34 | #endif
35 | self.retainSelf = nil
36 | }
37 |
38 | #if TRACE_RESOURCES
39 | deinit {
40 | _ = Resources.decrementTotal()
41 | }
42 | #endif
43 | }
44 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/RxCocoa/Common/SectionedViewDataSourceType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SectionedViewDataSourceType.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 1/10/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import struct Foundation.IndexPath
10 |
11 | /// Data source with access to underlying sectioned model.
12 | public protocol SectionedViewDataSourceType {
13 | /// Returns model at index path.
14 | ///
15 | /// In case data source doesn't contain any sections when this method is being called, `RxCocoaError.ItemsNotYetBound(object: self)` is thrown.
16 |
17 | /// - parameter indexPath: Model index path
18 | /// - returns: Model at index path.
19 | func model(at indexPath: IndexPath) throws -> Any
20 | }
21 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/RxCocoa/Foundation/KVORepresentable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // KVORepresentable.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 11/14/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | /// Type that is KVO representable (KVO mechanism can be used to observe it).
10 | public protocol KVORepresentable {
11 | /// Associated KVO type.
12 | associatedtype KVOType
13 |
14 | /// Constructs `Self` using KVO value.
15 | init?(KVOValue: KVOType)
16 | }
17 |
18 | extension KVORepresentable {
19 | /// Initializes `KVORepresentable` with optional value.
20 | init?(KVOValue: KVOType?) {
21 | guard let KVOValue = KVOValue else {
22 | return nil
23 | }
24 |
25 | self.init(KVOValue: KVOValue)
26 | }
27 | }
28 |
29 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/RxCocoa/Foundation/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 | #if canImport(FoundationNetworking)
10 | import struct FoundationNetworking.URLRequest
11 | #else
12 | import struct Foundation.URLRequest
13 | #endif
14 |
15 | /// Simple logging settings for RxCocoa library.
16 | public struct Logging {
17 | public typealias LogURLRequest = (URLRequest) -> Bool
18 |
19 | /// Log URL requests to standard output in curl format.
20 | public static var URLRequests: LogURLRequest = { _ in
21 | #if DEBUG
22 | return true
23 | #else
24 | return false
25 | #endif
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/RxCocoa/Foundation/NotificationCenter+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // NotificationCenter+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 class Foundation.NotificationCenter
10 | import struct Foundation.Notification
11 |
12 | import RxSwift
13 |
14 | extension Reactive where Base: NotificationCenter {
15 | /**
16 | Transforms notifications posted to notification center to observable sequence of notifications.
17 |
18 | - parameter name: Optional name used to filter notifications.
19 | - parameter object: Optional object used to filter notifications.
20 | - returns: Observable sequence of posted notifications.
21 | */
22 | public func notification(_ name: Notification.Name?, object: AnyObject? = nil) -> Observable {
23 | return Observable.create { [weak object] observer in
24 | let nsObserver = self.base.addObserver(forName: name, object: object, queue: nil) { notification in
25 | observer.on(.next(notification))
26 | }
27 |
28 | return Disposables.create {
29 | self.base.removeObserver(nsObserver)
30 | }
31 | }
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/RxCocoa/Runtime/_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 "include/_RX.h"
10 |
11 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/RxCocoa/Runtime/_RXKVOObserver.m:
--------------------------------------------------------------------------------
1 | //
2 | // _RXKVOObserver.m
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 7/11/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #import "include/_RXKVOObserver.h"
10 |
11 | @interface _RXKVOObserver ()
12 |
13 | @property (nonatomic, unsafe_unretained) id target;
14 | @property (nonatomic, strong ) id retainedTarget;
15 | @property (nonatomic, copy ) NSString *keyPath;
16 | @property (nonatomic, copy ) void (^callback)(id);
17 |
18 | @end
19 |
20 | @implementation _RXKVOObserver
21 |
22 | -(instancetype)initWithTarget:(id)target
23 | retainTarget:(BOOL)retainTarget
24 | keyPath:(NSString*)keyPath
25 | options:(NSKeyValueObservingOptions)options
26 | callback:(void (^)(id))callback {
27 | self = [super init];
28 | if (!self) return nil;
29 |
30 | self.target = target;
31 | if (retainTarget) {
32 | self.retainedTarget = target;
33 | }
34 | self.keyPath = keyPath;
35 | self.callback = callback;
36 |
37 | [self.target addObserver:self forKeyPath:self.keyPath options:options context:nil];
38 |
39 | return self;
40 | }
41 |
42 | -(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
43 | @synchronized(self) {
44 | self.callback(change[NSKeyValueChangeNewKey]);
45 | }
46 | }
47 |
48 | -(void)dispose {
49 | [self.target removeObserver:self forKeyPath:self.keyPath context:nil];
50 | self.target = nil;
51 | self.retainedTarget = nil;
52 | }
53 |
54 | @end
55 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/RxCocoa/Runtime/include/RxCocoaRuntime.h:
--------------------------------------------------------------------------------
1 | //
2 | // RxCocoaRuntime.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[];
20 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/RxCocoa/Runtime/include/_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 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface _RXDelegateProxy : NSObject
14 |
15 | @property (nonatomic, weak, readonly) id _forwardToDelegate;
16 |
17 | -(void)_setForwardToDelegate:(id __nullable)forwardToDelegate retainDelegate:(BOOL)retainDelegate NS_SWIFT_NAME(_setForwardToDelegate(_:retainDelegate:)) ;
18 |
19 | -(BOOL)hasWiredImplementationForSelector:(SEL)selector;
20 | -(BOOL)voidDelegateMethodsContain:(SEL)selector;
21 |
22 | -(void)_sentMessage:(SEL)selector withArguments:(NSArray*)arguments;
23 | -(void)_methodInvoked:(SEL)selector withArguments:(NSArray*)arguments;
24 |
25 | @end
26 |
27 | NS_ASSUME_NONNULL_END
28 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/RxCocoa/Runtime/include/_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 | // Exists because if written in Swift, reading unowned is disabled during dealloc process
18 | @interface _RXKVOObserver : NSObject
19 |
20 | -(instancetype)initWithTarget:(id)target
21 | retainTarget:(BOOL)retainTarget
22 | keyPath:(NSString*)keyPath
23 | options:(NSKeyValueObservingOptions)options
24 | callback:(void (^)(id))callback;
25 |
26 | -(void)dispose;
27 |
28 | @end
29 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/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[];
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/RxCocoa/Traits/Driver/BehaviorRelay+Driver.swift:
--------------------------------------------------------------------------------
1 | //
2 | // BehaviorRelay+Driver.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 10/7/17.
6 | // Copyright © 2017 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import RxSwift
10 | import RxRelay
11 |
12 | extension BehaviorRelay {
13 | /// Converts `BehaviorRelay` to `Driver`.
14 | ///
15 | /// - returns: Observable sequence.
16 | public func asDriver() -> Driver {
17 | let source = self.asObservable()
18 | .observeOn(DriverSharingStrategy.scheduler)
19 | return SharedSequence(source)
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/RxCocoa/Traits/Driver/ControlEvent+Driver.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ControlEvent+Driver.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 9/19/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import RxSwift
10 |
11 | extension ControlEvent {
12 | /// Converts `ControlEvent` to `Driver` trait.
13 | ///
14 | /// `ControlEvent` already can't fail, so no special case needs to be handled.
15 | public func asDriver() -> Driver {
16 | return self.asDriver { _ -> Driver in
17 | #if DEBUG
18 | rxFatalError("Somehow driver received error from a source that shouldn't fail.")
19 | #else
20 | return Driver.empty()
21 | #endif
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/RxCocoa/Traits/Driver/ControlProperty+Driver.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ControlProperty+Driver.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 9/19/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import RxSwift
10 |
11 | extension ControlProperty {
12 | /// Converts `ControlProperty` to `Driver` trait.
13 | ///
14 | /// `ControlProperty` already can't fail, so no special case needs to be handled.
15 | public func asDriver() -> Driver {
16 | return self.asDriver { _ -> Driver in
17 | #if DEBUG
18 | rxFatalError("Somehow driver received error from a source that shouldn't fail.")
19 | #else
20 | return Driver.empty()
21 | #endif
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/RxCocoa/Traits/Signal/ControlEvent+Signal.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ControlEvent+Signal.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 11/1/17.
6 | // Copyright © 2017 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import RxSwift
10 |
11 | extension ControlEvent {
12 | /// Converts `ControlEvent` to `Signal` trait.
13 | ///
14 | /// `ControlEvent` already can't fail, so no special case needs to be handled.
15 | public func asSignal() -> Signal {
16 | return self.asSignal { _ -> Signal in
17 | #if DEBUG
18 | rxFatalError("Somehow signal received error from a source that shouldn't fail.")
19 | #else
20 | return Signal.empty()
21 | #endif
22 | }
23 | }
24 | }
25 |
26 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/RxCocoa/Traits/Signal/PublishRelay+Signal.swift:
--------------------------------------------------------------------------------
1 | //
2 | // PublishRelay+Signal.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 12/28/15.
6 | // Copyright © 2017 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import RxSwift
10 | import RxRelay
11 |
12 | extension PublishRelay {
13 | /// Converts `PublishRelay` to `Signal`.
14 | ///
15 | /// - returns: Observable sequence.
16 | public func asSignal() -> Signal {
17 | let source = self.asObservable()
18 | .observeOn(SignalSharingStrategy.scheduler)
19 | return SharedSequence(source)
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/RxCocoa/Traits/Signal/Signal.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Signal.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 9/26/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import RxSwift
10 |
11 | /**
12 | Trait that represents observable sequence with following properties:
13 |
14 | - it never fails
15 | - it delivers events on `MainScheduler.instance`
16 | - `share(scope: .whileConnected)` sharing strategy
17 |
18 | Additional explanation:
19 | - all observers share sequence computation resources
20 | - there is no replaying of sequence elements on new observer subscription
21 | - computation of elements is reference counted with respect to the number of observers
22 | - if there are no subscribers, it will release sequence computation resources
23 |
24 | In case trait that models state propagation is required, please check `Driver`.
25 |
26 | `Signal` can be considered a builder pattern for observable sequences that model imperative events part of the application.
27 |
28 | To find out more about units and how to use them, please visit `Documentation/Traits.md`.
29 | */
30 | public typealias Signal = SharedSequence
31 |
32 | public struct SignalSharingStrategy: SharingStrategyProtocol {
33 | public static var scheduler: SchedulerType { return SharingScheduler.make() }
34 |
35 | public static func share(_ source: Observable) -> Observable {
36 | return source.share(scope: .whileConnected)
37 | }
38 | }
39 |
40 | extension SharedSequenceConvertibleType where SharingStrategy == SignalSharingStrategy {
41 | /// Adds `asPublisher` to `SharingSequence` with `PublishSharingStrategy`.
42 | public func asSignal() -> Signal {
43 | return self.asSharedSequence()
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/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 | #if os(iOS) || os(tvOS)
10 | import UIKit
11 |
12 | public typealias ItemMovedEvent = (sourceIndex: IndexPath, destinationIndex: IndexPath)
13 | public typealias WillDisplayCellEvent = (cell: UITableViewCell, indexPath: IndexPath)
14 | public typealias DidEndDisplayingCellEvent = (cell: UITableViewCell, indexPath: IndexPath)
15 | #endif
16 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/RxCocoa/iOS/NSTextStorage+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // NSTextStorage+Rx.swift
3 | // RxCocoa
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 | import RxSwift
11 | import UIKit
12 |
13 | extension Reactive where Base: NSTextStorage {
14 |
15 | /// Reactive wrapper for `delegate`.
16 | ///
17 | /// For more information take a look at `DelegateProxyType` protocol documentation.
18 | public var delegate: DelegateProxy {
19 | return RxTextStorageDelegateProxy.proxy(for: base)
20 | }
21 |
22 | /// Reactive wrapper for `delegate` message.
23 | public var didProcessEditingRangeChangeInLength: Observable<(editedMask: NSTextStorage.EditActions, editedRange: NSRange, delta: Int)> {
24 | return delegate
25 | .methodInvoked(#selector(NSTextStorageDelegate.textStorage(_:didProcessEditing:range:changeInLength:)))
26 | .map { a in
27 | let editedMask = NSTextStorage.EditActions(rawValue: try castOrThrow(UInt.self, a[1]) )
28 | let editedRange = try castOrThrow(NSValue.self, a[2]).rangeValue
29 | let delta = try castOrThrow(Int.self, a[3])
30 |
31 | return (editedMask, editedRange, delta)
32 | }
33 | }
34 | }
35 | #endif
36 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/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 UIKit
12 | import RxSwift
13 |
14 | /// Marks data source as `UICollectionView` reactive data source enabling it to be used with one of the `bindTo` methods.
15 | public protocol RxCollectionViewDataSourceType /*: UICollectionViewDataSource*/ {
16 |
17 | /// Type of elements that can be bound to collection view.
18 | associatedtype Element
19 |
20 | /// New observable sequence event observed.
21 | ///
22 | /// - parameter collectionView: Bound collection view.
23 | /// - parameter observedEvent: Event
24 | func collectionView(_ collectionView: UICollectionView, observedEvent: Event)
25 | }
26 |
27 | #endif
28 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/RxCocoa/iOS/Protocols/RxPickerViewDataSourceType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RxPickerViewDataSourceType.swift
3 | // RxCocoa
4 | //
5 | // Created by Sergey Shulga on 05/07/2017.
6 | // Copyright © 2017 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS)
10 |
11 | import UIKit
12 | import RxSwift
13 |
14 | /// Marks data source as `UIPickerView` reactive data source enabling it to be used with one of the `bindTo` methods.
15 | public protocol RxPickerViewDataSourceType {
16 | /// Type of elements that can be bound to picker view.
17 | associatedtype Element
18 |
19 | /// New observable sequence event observed.
20 | ///
21 | /// - parameter pickerView: Bound picker view.
22 | /// - parameter observedEvent: Event
23 | func pickerView(_ pickerView: UIPickerView, observedEvent: Event)
24 | }
25 |
26 | #endif
27 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/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 UIKit
12 | import RxSwift
13 |
14 | /// Marks data source as `UITableView` reactive data source enabling it to be used with one of the `bindTo` methods.
15 | public protocol RxTableViewDataSourceType /*: UITableViewDataSource*/ {
16 |
17 | /// Type of elements that can be bound to table view.
18 | associatedtype Element
19 |
20 | /// New observable sequence event observed.
21 | ///
22 | /// - parameter tableView: Bound table view.
23 | /// - parameter observedEvent: Event
24 | func tableView(_ tableView: UITableView, observedEvent: Event)
25 | }
26 |
27 | #endif
28 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/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 UIKit
12 | import RxSwift
13 |
14 | /// For more information take a look at `DelegateProxyType`.
15 | open class RxCollectionViewDelegateProxy
16 | : RxScrollViewDelegateProxy
17 | , UICollectionViewDelegate
18 | , UICollectionViewDelegateFlowLayout {
19 |
20 | /// Typed parent object.
21 | public weak private(set) var collectionView: UICollectionView?
22 |
23 | /// Initializes `RxCollectionViewDelegateProxy`
24 | ///
25 | /// - parameter collectionView: Parent object for delegate proxy.
26 | public init(collectionView: UICollectionView) {
27 | self.collectionView = collectionView
28 | super.init(scrollView: collectionView)
29 | }
30 | }
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxNavigationControllerDelegateProxy.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RxNavigationControllerDelegateProxy.swift
3 | // RxCocoa
4 | //
5 | // Created by Diogo on 13/04/17.
6 | // Copyright © 2017 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS) || os(tvOS)
10 |
11 | import UIKit
12 | import RxSwift
13 |
14 | extension UINavigationController: HasDelegate {
15 | public typealias Delegate = UINavigationControllerDelegate
16 | }
17 |
18 | /// For more information take a look at `DelegateProxyType`.
19 | open class RxNavigationControllerDelegateProxy
20 | : DelegateProxy
21 | , DelegateProxyType
22 | , UINavigationControllerDelegate {
23 |
24 | /// Typed parent object.
25 | public weak private(set) var navigationController: UINavigationController?
26 |
27 | /// - parameter navigationController: Parent object for delegate proxy.
28 | public init(navigationController: ParentObject) {
29 | self.navigationController = navigationController
30 | super.init(parentObject: navigationController, delegateProxy: RxNavigationControllerDelegateProxy.self)
31 | }
32 |
33 | // Register known implementations
34 | public static func registerKnownImplementations() {
35 | self.register { RxNavigationControllerDelegateProxy(navigationController: $0) }
36 | }
37 | }
38 | #endif
39 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxPickerViewDelegateProxy.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RxPickerViewDelegateProxy.swift
3 | // RxCocoa
4 | //
5 | // Created by Segii Shulga on 5/12/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS)
10 |
11 | import RxSwift
12 | import UIKit
13 |
14 | extension UIPickerView: HasDelegate {
15 | public typealias Delegate = UIPickerViewDelegate
16 | }
17 |
18 | open class RxPickerViewDelegateProxy
19 | : DelegateProxy
20 | , DelegateProxyType
21 | , UIPickerViewDelegate {
22 |
23 | /// Typed parent object.
24 | public weak private(set) var pickerView: UIPickerView?
25 |
26 | /// - parameter pickerView: Parent object for delegate proxy.
27 | public init(pickerView: ParentObject) {
28 | self.pickerView = pickerView
29 | super.init(parentObject: pickerView, delegateProxy: RxPickerViewDelegateProxy.self)
30 | }
31 |
32 | // Register known implementationss
33 | public static func registerKnownImplementations() {
34 | self.register { RxPickerViewDelegateProxy(pickerView: $0) }
35 | }
36 | }
37 | #endif
38 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/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 UIKit
12 | import RxSwift
13 |
14 | extension UISearchBar: HasDelegate {
15 | public typealias Delegate = UISearchBarDelegate
16 | }
17 |
18 | /// For more information take a look at `DelegateProxyType`.
19 | open class RxSearchBarDelegateProxy
20 | : DelegateProxy
21 | , DelegateProxyType
22 | , UISearchBarDelegate {
23 |
24 | /// Typed parent object.
25 | public weak private(set) var searchBar: UISearchBar?
26 |
27 | /// - parameter searchBar: Parent object for delegate proxy.
28 | public init(searchBar: ParentObject) {
29 | self.searchBar = searchBar
30 | super.init(parentObject: searchBar, delegateProxy: RxSearchBarDelegateProxy.self)
31 | }
32 |
33 | // Register known implementations
34 | public static func registerKnownImplementations() {
35 | self.register { RxSearchBarDelegateProxy(searchBar: $0) }
36 | }
37 | }
38 |
39 | #endif
40 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxSearchControllerDelegateProxy.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RxSearchControllerDelegateProxy.swift
3 | // RxCocoa
4 | //
5 | // Created by Segii Shulga on 3/17/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS)
10 |
11 | import RxSwift
12 | import UIKit
13 |
14 | extension UISearchController: HasDelegate {
15 | public typealias Delegate = UISearchControllerDelegate
16 | }
17 |
18 | /// For more information take a look at `DelegateProxyType`.
19 | @available(iOS 8.0, *)
20 | open class RxSearchControllerDelegateProxy
21 | : DelegateProxy
22 | , DelegateProxyType
23 | , UISearchControllerDelegate {
24 |
25 | /// Typed parent object.
26 | public weak private(set) var searchController: UISearchController?
27 |
28 | /// - parameter searchController: Parent object for delegate proxy.
29 | public init(searchController: UISearchController) {
30 | self.searchController = searchController
31 | super.init(parentObject: searchController, delegateProxy: RxSearchControllerDelegateProxy.self)
32 | }
33 |
34 | // Register known implementations
35 | public static func registerKnownImplementations() {
36 | self.register { RxSearchControllerDelegateProxy(searchController: $0) }
37 | }
38 | }
39 |
40 | #endif
41 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxTabBarControllerDelegateProxy.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RxTabBarControllerDelegateProxy.swift
3 | // RxCocoa
4 | //
5 | // Created by Yusuke Kita on 2016/12/07.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS) || os(tvOS)
10 |
11 | import UIKit
12 | import RxSwift
13 |
14 | extension UITabBarController: HasDelegate {
15 | public typealias Delegate = UITabBarControllerDelegate
16 | }
17 |
18 | /// For more information take a look at `DelegateProxyType`.
19 | open class RxTabBarControllerDelegateProxy
20 | : DelegateProxy
21 | , DelegateProxyType
22 | , UITabBarControllerDelegate {
23 |
24 | /// Typed parent object.
25 | public weak private(set) var tabBar: UITabBarController?
26 |
27 | /// - parameter tabBar: Parent object for delegate proxy.
28 | public init(tabBar: ParentObject) {
29 | self.tabBar = tabBar
30 | super.init(parentObject: tabBar, delegateProxy: RxTabBarControllerDelegateProxy.self)
31 | }
32 |
33 | // Register known implementations
34 | public static func registerKnownImplementations() {
35 | self.register { RxTabBarControllerDelegateProxy(tabBar: $0) }
36 | }
37 | }
38 |
39 | #endif
40 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxTabBarDelegateProxy.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RxTabBarDelegateProxy.swift
3 | // RxCocoa
4 | //
5 | // Created by Jesse Farless on 5/14/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS) || os(tvOS)
10 |
11 | import UIKit
12 | import RxSwift
13 |
14 | extension UITabBar: HasDelegate {
15 | public typealias Delegate = UITabBarDelegate
16 | }
17 |
18 | /// For more information take a look at `DelegateProxyType`.
19 | open class RxTabBarDelegateProxy
20 | : DelegateProxy
21 | , DelegateProxyType
22 | , UITabBarDelegate {
23 |
24 | /// Typed parent object.
25 | public weak private(set) var tabBar: UITabBar?
26 |
27 | /// - parameter tabBar: Parent object for delegate proxy.
28 | public init(tabBar: ParentObject) {
29 | self.tabBar = tabBar
30 | super.init(parentObject: tabBar, delegateProxy: RxTabBarDelegateProxy.self)
31 | }
32 |
33 | // Register known implementations
34 | public static func registerKnownImplementations() {
35 | self.register { RxTabBarDelegateProxy(tabBar: $0) }
36 | }
37 |
38 | /// For more information take a look at `DelegateProxyType`.
39 | open class func currentDelegate(for object: ParentObject) -> UITabBarDelegate? {
40 | return object.delegate
41 | }
42 |
43 | /// For more information take a look at `DelegateProxyType`.
44 | open class func setCurrentDelegate(_ delegate: UITabBarDelegate?, to object: ParentObject) {
45 | object.delegate = delegate
46 | }
47 | }
48 |
49 | #endif
50 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/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 UIKit
12 | import RxSwift
13 |
14 | /// For more information take a look at `DelegateProxyType`.
15 | open class RxTableViewDelegateProxy
16 | : RxScrollViewDelegateProxy
17 | , UITableViewDelegate {
18 |
19 | /// Typed parent object.
20 | public weak private(set) var tableView: UITableView?
21 |
22 | /// - parameter tableView: Parent object for delegate proxy.
23 | public init(tableView: UITableView) {
24 | self.tableView = tableView
25 | super.init(scrollView: tableView)
26 | }
27 |
28 | }
29 |
30 | #endif
31 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxTextStorageDelegateProxy.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RxTextStorageDelegateProxy.swift
3 | // RxCocoa
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 RxSwift
12 | import UIKit
13 |
14 | extension NSTextStorage: HasDelegate {
15 | public typealias Delegate = NSTextStorageDelegate
16 | }
17 |
18 | open class RxTextStorageDelegateProxy
19 | : DelegateProxy
20 | , DelegateProxyType
21 | , NSTextStorageDelegate {
22 |
23 | /// Typed parent object.
24 | public weak private(set) var textStorage: NSTextStorage?
25 |
26 | /// - parameter textStorage: Parent object for delegate proxy.
27 | public init(textStorage: NSTextStorage) {
28 | self.textStorage = textStorage
29 | super.init(parentObject: textStorage, delegateProxy: RxTextStorageDelegateProxy.self)
30 | }
31 |
32 | // Register known implementations
33 | public static func registerKnownImplementations() {
34 | self.register { RxTextStorageDelegateProxy(textStorage: $0) }
35 | }
36 | }
37 | #endif
38 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxTextViewDelegateProxy.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RxTextViewDelegateProxy.swift
3 | // RxCocoa
4 | //
5 | // Created by Yuta ToKoRo on 7/19/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS) || os(tvOS)
10 |
11 | import UIKit
12 | import RxSwift
13 |
14 | /// For more information take a look at `DelegateProxyType`.
15 | open class RxTextViewDelegateProxy
16 | : RxScrollViewDelegateProxy
17 | , UITextViewDelegate {
18 |
19 | /// Typed parent object.
20 | public weak private(set) var textView: UITextView?
21 |
22 | /// - parameter textview: Parent object for delegate proxy.
23 | public init(textView: UITextView) {
24 | self.textView = textView
25 | super.init(scrollView: textView)
26 | }
27 |
28 | // MARK: delegate methods
29 |
30 | /// For more information take a look at `DelegateProxyType`.
31 | @objc open func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
32 | /**
33 | We've had some issues with observing text changes. This is here just in case we need the same hack in future and that
34 | we wouldn't need to change the public interface.
35 | */
36 | let forwardToDelegate = self.forwardToDelegate() as? UITextViewDelegate
37 | return forwardToDelegate?.textView?(textView,
38 | shouldChangeTextIn: range,
39 | replacementText: text) ?? true
40 | }
41 | }
42 |
43 | #endif
44 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxWKNavigationDelegateProxy.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RxWKNavigationDelegateProxy.swift
3 | // RxCocoa
4 | //
5 | // Created by Giuseppe Lanza on 14/02/2020.
6 | // Copyright © 2020 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS) || os(macOS)
10 |
11 | import RxSwift
12 | import WebKit
13 |
14 | @available(iOS 8.0, OSX 10.10, OSXApplicationExtension 10.10, *)
15 | open class RxWKNavigationDelegateProxy
16 | : DelegateProxy
17 | , DelegateProxyType
18 | , WKNavigationDelegate {
19 |
20 | /// Typed parent object.
21 | public weak private(set) var webView: WKWebView?
22 |
23 | /// - parameter webView: Parent object for delegate proxy.
24 | public init(webView: ParentObject) {
25 | self.webView = webView
26 | super.init(parentObject: webView, delegateProxy: RxWKNavigationDelegateProxy.self)
27 | }
28 |
29 | // Register known implementations
30 | public static func registerKnownImplementations() {
31 | self.register { RxWKNavigationDelegateProxy(webView: $0) }
32 | }
33 |
34 | public static func currentDelegate(for object: WKWebView) -> WKNavigationDelegate? {
35 | object.navigationDelegate
36 | }
37 |
38 | public static func setCurrentDelegate(_ delegate: WKNavigationDelegate?, to object: WKWebView) {
39 | object.navigationDelegate = delegate
40 | }
41 | }
42 |
43 | #endif
44 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/RxCocoa/iOS/UIActivityIndicatorView+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIActivityIndicatorView+Rx.swift
3 | // RxCocoa
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 |
11 | import UIKit
12 | import RxSwift
13 |
14 | extension Reactive where Base: UIActivityIndicatorView {
15 |
16 | /// Bindable sink for `startAnimating()`, `stopAnimating()` methods.
17 | public var isAnimating: Binder {
18 | return Binder(self.base) { activityIndicator, active in
19 | if active {
20 | activityIndicator.startAnimating()
21 | } else {
22 | activityIndicator.stopAnimating()
23 | }
24 | }
25 | }
26 |
27 | }
28 |
29 | #endif
30 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/RxCocoa/iOS/UIAlertAction+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIAlertAction+Rx.swift
3 | // RxCocoa
4 | //
5 | // Created by Andrew Breckenridge on 5/7/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS) || os(tvOS)
10 |
11 | import UIKit
12 | import RxSwift
13 |
14 | extension Reactive where Base: UIAlertAction {
15 |
16 | /// Bindable sink for `enabled` property.
17 | public var isEnabled: Binder {
18 | return Binder(self.base) { alertAction, value in
19 | alertAction.isEnabled = value
20 | }
21 | }
22 |
23 | }
24 |
25 | #endif
26 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/RxCocoa/iOS/UIApplication+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIApplication+Rx.swift
3 | // RxCocoa
4 | //
5 | // Created by Mads Bøgeskov on 18/01/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS)
10 |
11 | import UIKit
12 | import RxSwift
13 |
14 | extension Reactive where Base: UIApplication {
15 |
16 | /// Bindable sink for `networkActivityIndicatorVisible`.
17 | public var isNetworkActivityIndicatorVisible: Binder {
18 | return Binder(self.base) { application, active in
19 | application.isNetworkActivityIndicatorVisible = active
20 | }
21 | }
22 | }
23 | #endif
24 |
25 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/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 RxSwift
12 | import UIKit
13 |
14 | extension Reactive where Base: UIDatePicker {
15 | /// Reactive wrapper for `date` property.
16 | public var date: ControlProperty {
17 | return value
18 | }
19 |
20 | /// Reactive wrapper for `date` property.
21 | public var value: ControlProperty {
22 | return base.rx.controlPropertyWithDefaultEvents(
23 | getter: { datePicker in
24 | datePicker.date
25 | }, setter: { datePicker, value in
26 | datePicker.date = value
27 | }
28 | )
29 | }
30 |
31 | /// Reactive wrapper for `countDownDuration` property.
32 | public var countDownDuration: ControlProperty {
33 | return base.rx.controlPropertyWithDefaultEvents(
34 | getter: { datePicker in
35 | datePicker.countDownDuration
36 | }, setter: { datePicker, value in
37 | datePicker.countDownDuration = value
38 | }
39 | )
40 | }
41 | }
42 |
43 | #endif
44 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/RxCocoa/iOS/UIImageView+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIImageView+Rx.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 4/1/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS) || os(tvOS)
10 |
11 | import RxSwift
12 | import UIKit
13 |
14 | extension Reactive where Base: UIImageView {
15 |
16 | /// Bindable sink for `image` property.
17 | public var image: Binder {
18 | return Binder(base) { imageView, image in
19 | imageView.image = image
20 | }
21 | }
22 | }
23 |
24 | #endif
25 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/RxCocoa/iOS/UILabel+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UILabel+Rx.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 4/1/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS) || os(tvOS)
10 |
11 | import RxSwift
12 | import UIKit
13 |
14 | extension Reactive where Base: UILabel {
15 |
16 | /// Bindable sink for `text` property.
17 | public var text: Binder {
18 | return Binder(self.base) { label, text in
19 | label.text = text
20 | }
21 | }
22 |
23 | /// Bindable sink for `attributedText` property.
24 | public var attributedText: Binder {
25 | return Binder(self.base) { label, text in
26 | label.attributedText = text
27 | }
28 | }
29 |
30 | }
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/RxCocoa/iOS/UINavigationItem+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UINavigationItem+Rx.swift
3 | // RxCocoa
4 | //
5 | // Created by kumapo on 2016/05/09.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS) || os(tvOS)
10 |
11 | import UIKit
12 | import RxSwift
13 |
14 | extension Reactive where Base: UINavigationItem {
15 |
16 | /// Bindable sink for `title` property.
17 | public var title: Binder {
18 | return Binder(self.base) { navigationItem, text in
19 | navigationItem.title = text
20 | }
21 | }
22 |
23 | }
24 |
25 | #endif
26 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/RxCocoa/iOS/UIPageControl+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIPageControl+Rx.swift
3 | // RxCocoa
4 | //
5 | // Created by Francesco Puntillo on 14/04/2016.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS) || os(tvOS)
10 |
11 | import RxSwift
12 | import UIKit
13 |
14 | extension Reactive where Base: UIPageControl {
15 |
16 | /// Bindable sink for `currentPage` property.
17 | public var currentPage: Binder {
18 | return Binder(self.base) { controller, page in
19 | controller.currentPage = page
20 | }
21 | }
22 |
23 | /// Bindable sink for `numberOfPages` property.
24 | public var numberOfPages: Binder {
25 | return Binder(self.base) { controller, page in
26 | controller.numberOfPages = page
27 | }
28 | }
29 |
30 | }
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/RxCocoa/iOS/UIProgressView+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIProgressView+Rx.swift
3 | // RxCocoa
4 | //
5 | // Created by Samuel Bae on 2/27/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS) || os(tvOS)
10 |
11 | import RxSwift
12 | import UIKit
13 |
14 | extension Reactive where Base: UIProgressView {
15 |
16 | /// Bindable sink for `progress` property
17 | public var progress: Binder {
18 | return Binder(self.base) { progressView, progress in
19 | progressView.progress = progress
20 | }
21 | }
22 |
23 | }
24 |
25 | #endif
26 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/RxCocoa/iOS/UIRefreshControl+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIRefreshControl+Rx.swift
3 | // RxCocoa
4 | //
5 | // Created by Yosuke Ishikawa on 1/31/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS)
10 |
11 | import UIKit
12 | import RxSwift
13 |
14 | extension Reactive where Base: UIRefreshControl {
15 | /// Bindable sink for `beginRefreshing()`, `endRefreshing()` methods.
16 | public var isRefreshing: Binder {
17 | return Binder(self.base) { refreshControl, refresh in
18 | if refresh {
19 | refreshControl.beginRefreshing()
20 | } else {
21 | refreshControl.endRefreshing()
22 | }
23 | }
24 | }
25 |
26 | }
27 |
28 | #endif
29 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/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 | import RxSwift
13 |
14 | extension Reactive where Base: UISegmentedControl {
15 | /// Reactive wrapper for `selectedSegmentIndex` property.
16 | public var selectedSegmentIndex: ControlProperty {
17 | return value
18 | }
19 |
20 | /// Reactive wrapper for `selectedSegmentIndex` property.
21 | public var value: ControlProperty {
22 | return base.rx.controlPropertyWithDefaultEvents(
23 | getter: { segmentedControl in
24 | segmentedControl.selectedSegmentIndex
25 | }, setter: { segmentedControl, value in
26 | segmentedControl.selectedSegmentIndex = value
27 | }
28 | )
29 | }
30 |
31 | /// Reactive wrapper for `setEnabled(_:forSegmentAt:)`
32 | public func enabledForSegment(at index: Int) -> Binder {
33 | return Binder(self.base) { segmentedControl, segmentEnabled -> Void in
34 | segmentedControl.setEnabled(segmentEnabled, forSegmentAt: index)
35 | }
36 | }
37 |
38 | /// Reactive wrapper for `setTitle(_:forSegmentAt:)`
39 | public func titleForSegment(at index: Int) -> Binder {
40 | return Binder(self.base) { segmentedControl, title -> Void in
41 | segmentedControl.setTitle(title, forSegmentAt: index)
42 | }
43 | }
44 |
45 | /// Reactive wrapper for `setImage(_:forSegmentAt:)`
46 | public func imageForSegment(at index: Int) -> Binder {
47 | return Binder(self.base) { segmentedControl, image -> Void in
48 | segmentedControl.setImage(image, forSegmentAt: index)
49 | }
50 | }
51 |
52 | }
53 |
54 | #endif
55 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/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 RxSwift
12 | import UIKit
13 |
14 | extension Reactive where Base: UISlider {
15 |
16 | /// Reactive wrapper for `value` property.
17 | public var value: ControlProperty {
18 | return base.rx.controlPropertyWithDefaultEvents(
19 | getter: { slider in
20 | slider.value
21 | }, setter: { slider, value in
22 | slider.value = value
23 | }
24 | )
25 | }
26 |
27 | }
28 |
29 | #endif
30 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/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 UIKit
12 | import RxSwift
13 |
14 | extension Reactive where Base: UIStepper {
15 |
16 | /// Reactive wrapper for `value` property.
17 | public var value: ControlProperty {
18 | return base.rx.controlPropertyWithDefaultEvents(
19 | getter: { stepper in
20 | stepper.value
21 | }, setter: { stepper, value in
22 | stepper.value = value
23 | }
24 | )
25 | }
26 |
27 | /// Reactive wrapper for `stepValue` property.
28 | public var stepValue: Binder {
29 | return Binder(self.base) { stepper, value in
30 | stepper.stepValue = value
31 | }
32 | }
33 |
34 | }
35 |
36 | #endif
37 |
38 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/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 | import RxSwift
13 |
14 | extension Reactive where Base: UISwitch {
15 |
16 | /// Reactive wrapper for `isOn` property.
17 | public var isOn: ControlProperty {
18 | return value
19 | }
20 |
21 | /// Reactive wrapper for `isOn` property.
22 | ///
23 | /// ⚠️ Versions prior to iOS 10.2 were leaking `UISwitch`'s, so on those versions
24 | /// underlying observable sequence won't complete when nothing holds a strong reference
25 | /// to `UISwitch`.
26 | public var value: ControlProperty {
27 | return base.rx.controlPropertyWithDefaultEvents(
28 | getter: { uiSwitch in
29 | uiSwitch.isOn
30 | }, setter: { uiSwitch, value in
31 | uiSwitch.isOn = value
32 | }
33 | )
34 | }
35 |
36 | }
37 |
38 | #endif
39 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/RxCocoa/iOS/UITabBarItem+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UITabBarItem+Rx.swift
3 | // RxCocoa
4 | //
5 | // Created by Mateusz Derks on 04/03/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS) || os(tvOS)
10 |
11 | import UIKit
12 | import RxSwift
13 |
14 | extension Reactive where Base: UITabBarItem {
15 |
16 | /// Bindable sink for `badgeValue` property.
17 | public var badgeValue: Binder {
18 | return Binder(self.base) { tabBarItem, badgeValue in
19 | tabBarItem.badgeValue = badgeValue
20 | }
21 | }
22 |
23 | }
24 |
25 | #endif
26 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/RxCocoa/iOS/UIView+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIView+Rx.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 12/6/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS) || os(tvOS)
10 |
11 | import UIKit
12 | import RxSwift
13 |
14 | extension Reactive where Base: UIView {
15 | /// Bindable sink for `hidden` property.
16 | public var isHidden: Binder {
17 | return Binder(self.base) { view, hidden in
18 | view.isHidden = hidden
19 | }
20 | }
21 |
22 | /// Bindable sink for `alpha` property.
23 | public var alpha: Binder {
24 | return Binder(self.base) { view, alpha in
25 | view.alpha = alpha
26 | }
27 | }
28 |
29 | /// Bindable sink for `backgroundColor` property.
30 | public var backgroundColor: Binder {
31 | return Binder(self.base) { view, color in
32 | view.backgroundColor = color
33 | }
34 | }
35 |
36 | /// Bindable sink for `isUserInteractionEnabled` property.
37 | public var isUserInteractionEnabled: Binder {
38 | return Binder(self.base) { view, userInteractionEnabled in
39 | view.isUserInteractionEnabled = userInteractionEnabled
40 | }
41 | }
42 |
43 | }
44 |
45 | #endif
46 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/RxCocoa/iOS/UIViewController+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIViewController+Rx.swift
3 | // RxCocoa
4 | //
5 | // Created by Kyle Fuller on 27/05/2016.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS) || os(tvOS)
10 |
11 | import UIKit
12 | import RxSwift
13 |
14 | extension Reactive where Base: UIViewController {
15 |
16 | /// Bindable sink for `title`.
17 | public var title: Binder {
18 | return Binder(self.base) { viewController, title in
19 | viewController.title = title
20 | }
21 | }
22 |
23 | }
24 | #endif
25 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/RxCocoa/macOS/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 | #if os(macOS)
10 |
11 | import RxSwift
12 | import Cocoa
13 |
14 | extension Reactive where Base: NSButton {
15 |
16 | /// Reactive wrapper for control event.
17 | public var tap: ControlEvent {
18 | return self.controlEvent
19 | }
20 |
21 | /// Reactive wrapper for `state` property`.
22 | public var state: ControlProperty {
23 | return self.base.rx.controlProperty(
24 | getter: { control in
25 | return control.state
26 | }, setter: { (control: NSButton, state: NSControl.StateValue) in
27 | control.state = state
28 | }
29 | )
30 | }
31 | }
32 |
33 | #endif
34 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/RxCocoa/macOS/NSImageView+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // NSImageView+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 | #if os(macOS)
10 |
11 | import RxSwift
12 | import Cocoa
13 |
14 | extension Reactive where Base: NSImageView {
15 |
16 | /// Bindable sink for `image` property.
17 | public var image: Binder {
18 | return Binder(self.base) { imageView, image in
19 | imageView.image = image
20 | }
21 | }
22 | }
23 |
24 | #endif
25 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/RxCocoa/macOS/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 | #if os(macOS)
10 |
11 | import RxSwift
12 | import Cocoa
13 |
14 | extension Reactive where Base: NSSlider {
15 |
16 | /// Reactive wrapper for `value` property.
17 | public var value: ControlProperty {
18 | return self.base.rx.controlProperty(
19 | getter: { control -> Double in
20 | return control.doubleValue
21 | },
22 | setter: { control, value in
23 | control.doubleValue = value
24 | }
25 | )
26 | }
27 |
28 | }
29 |
30 | #endif
31 |
--------------------------------------------------------------------------------
/ios/Pods/RxCocoa/RxCocoa/macOS/NSView+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // NSView+Rx.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 12/6/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(macOS)
10 |
11 | import Cocoa
12 | import RxSwift
13 |
14 | extension Reactive where Base: NSView {
15 | /// Bindable sink for `hidden` property.
16 | public var isHidden: Binder {
17 | return Binder(self.base) { view, value in
18 | view.isHidden = value
19 | }
20 | }
21 |
22 | /// Bindable sink for `alphaValue` property.
23 | public var alpha: Binder {
24 | return Binder(self.base) { view, value in
25 | view.alphaValue = value
26 | }
27 | }
28 | }
29 |
30 | #endif
31 |
--------------------------------------------------------------------------------
/ios/Pods/RxRelay/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
6 | documentation files (the "Software"), to deal in the Software without restriction, including without limitation the
7 | rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit
8 | persons to whom the Software is furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
11 | Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
14 | WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
15 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
16 | OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
17 |
--------------------------------------------------------------------------------
/ios/Pods/RxRelay/RxRelay/BehaviorRelay.swift:
--------------------------------------------------------------------------------
1 | //
2 | // BehaviorRelay.swift
3 | // RxRelay
4 | //
5 | // Created by Krunoslav Zaher on 10/7/17.
6 | // Copyright © 2017 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import RxSwift
10 |
11 | /// BehaviorRelay is a wrapper for `BehaviorSubject`.
12 | ///
13 | /// Unlike `BehaviorSubject` it can't terminate with error or completed.
14 | public final class BehaviorRelay: ObservableType {
15 | private let _subject: BehaviorSubject
16 |
17 | /// Accepts `event` and emits it to subscribers
18 | public func accept(_ event: Element) {
19 | self._subject.onNext(event)
20 | }
21 |
22 | /// Current value of behavior subject
23 | public var value: Element {
24 | // this try! is ok because subject can't error out or be disposed
25 | return try! self._subject.value()
26 | }
27 |
28 | /// Initializes behavior relay with initial value.
29 | public init(value: Element) {
30 | self._subject = BehaviorSubject(value: value)
31 | }
32 |
33 | /// Subscribes observer
34 | public func subscribe(_ observer: Observer) -> Disposable where Observer.Element == Element {
35 | return self._subject.subscribe(observer)
36 | }
37 |
38 | /// - returns: Canonical interface for push style sequence
39 | public func asObservable() -> Observable {
40 | return self._subject.asObservable()
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/ios/Pods/RxRelay/RxRelay/PublishRelay.swift:
--------------------------------------------------------------------------------
1 | //
2 | // PublishRelay.swift
3 | // RxRelay
4 | //
5 | // Created by Krunoslav Zaher on 3/28/15.
6 | // Copyright © 2017 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import RxSwift
10 |
11 | /// PublishRelay is a wrapper for `PublishSubject`.
12 | ///
13 | /// Unlike `PublishSubject` it can't terminate with error or completed.
14 | public final class PublishRelay: ObservableType {
15 | private let _subject: PublishSubject
16 |
17 | // Accepts `event` and emits it to subscribers
18 | public func accept(_ event: Element) {
19 | self._subject.onNext(event)
20 | }
21 |
22 | /// Initializes with internal empty subject.
23 | public init() {
24 | self._subject = PublishSubject()
25 | }
26 |
27 | /// Subscribes observer
28 | public func subscribe(_ observer: Observer) -> Disposable where Observer.Element == Element {
29 | return self._subject.subscribe(observer)
30 | }
31 |
32 | /// - returns: Canonical interface for push style sequence
33 | public func asObservable() -> Observable {
34 | return self._subject.asObservable()
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/ios/Pods/RxRelay/RxRelay/Utils.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Utils.swift
3 | // RxRelay
4 | //
5 | // Created by Shai Mishali on 09/04/2019.
6 | // Copyright © 2019 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | func rxFatalErrorInDebug(_ lastMessage: @autoclosure () -> String, file: StaticString = #file, line: UInt = #line) {
12 | #if DEBUG
13 | fatalError(lastMessage(), file: file, line: line)
14 | #else
15 | print("\(file):\(line): \(lastMessage())")
16 | #endif
17 | }
18 |
--------------------------------------------------------------------------------
/ios/Pods/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
6 | documentation files (the "Software"), to deal in the Software without restriction, including without limitation the
7 | rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit
8 | persons to whom the Software is furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
11 | Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
14 | WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
15 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
16 | OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
17 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/Platform/AtomicInt.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AtomicInt.swift
3 | // Platform
4 | //
5 | // Created by Krunoslav Zaher on 10/28/18.
6 | // Copyright © 2018 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import class Foundation.NSLock
10 |
11 | final class AtomicInt: NSLock {
12 | fileprivate var value: Int32
13 | public init(_ value: Int32 = 0) {
14 | self.value = value
15 | }
16 | }
17 |
18 | @discardableResult
19 | @inline(__always)
20 | func add(_ this: AtomicInt, _ value: Int32) -> Int32 {
21 | this.lock()
22 | let oldValue = this.value
23 | this.value += value
24 | this.unlock()
25 | return oldValue
26 | }
27 |
28 | @discardableResult
29 | @inline(__always)
30 | func sub(_ this: AtomicInt, _ value: Int32) -> Int32 {
31 | this.lock()
32 | let oldValue = this.value
33 | this.value -= value
34 | this.unlock()
35 | return oldValue
36 | }
37 |
38 | @discardableResult
39 | @inline(__always)
40 | func fetchOr(_ this: AtomicInt, _ mask: Int32) -> Int32 {
41 | this.lock()
42 | let oldValue = this.value
43 | this.value |= mask
44 | this.unlock()
45 | return oldValue
46 | }
47 |
48 | @inline(__always)
49 | func load(_ this: AtomicInt) -> Int32 {
50 | this.lock()
51 | let oldValue = this.value
52 | this.unlock()
53 | return oldValue
54 | }
55 |
56 | @discardableResult
57 | @inline(__always)
58 | func increment(_ this: AtomicInt) -> Int32 {
59 | return add(this, 1)
60 | }
61 |
62 | @discardableResult
63 | @inline(__always)
64 | func decrement(_ this: AtomicInt) -> Int32 {
65 | return sub(this, 1)
66 | }
67 |
68 | @inline(__always)
69 | func isFlagSet(_ this: AtomicInt, _ mask: Int32) -> Bool {
70 | return (load(this) & mask) != 0
71 | }
72 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/Platform/DataStructures/InfiniteSequence.swift:
--------------------------------------------------------------------------------
1 | //
2 | // InfiniteSequence.swift
3 | // Platform
4 | //
5 | // Created by Krunoslav Zaher on 6/13/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | /// Sequence that repeats `repeatedValue` infinite number of times.
10 | struct InfiniteSequence : Sequence {
11 | typealias Iterator = AnyIterator
12 |
13 | private let _repeatedValue: Element
14 |
15 | init(repeatedValue: Element) {
16 | _repeatedValue = repeatedValue
17 | }
18 |
19 | func makeIterator() -> Iterator {
20 | let repeatedValue = _repeatedValue
21 | return AnyIterator {
22 | return repeatedValue
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/Platform/DispatchQueue+Extensions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DispatchQueue+Extensions.swift
3 | // Platform
4 | //
5 | // Created by Krunoslav Zaher on 10/22/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Dispatch
10 |
11 | extension DispatchQueue {
12 | private static var token: DispatchSpecificKey<()> = {
13 | let key = DispatchSpecificKey<()>()
14 | DispatchQueue.main.setSpecific(key: key, value: ())
15 | return key
16 | }()
17 |
18 | static var isMain: Bool {
19 | return DispatchQueue.getSpecific(key: token) != nil
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/Platform/Platform.Darwin.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Platform.Darwin.swift
3 | // Platform
4 | //
5 | // Created by Krunoslav Zaher on 12/29/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(macOS) || os(iOS) || os(tvOS) || os(watchOS)
10 |
11 | import Darwin
12 | import class Foundation.Thread
13 | import protocol Foundation.NSCopying
14 |
15 | extension Thread {
16 | static func setThreadLocalStorageValue(_ value: T?, forKey key: NSCopying) {
17 | let currentThread = Thread.current
18 | let threadDictionary = currentThread.threadDictionary
19 |
20 | if let newValue = value {
21 | threadDictionary[key] = newValue
22 | }
23 | else {
24 | threadDictionary[key] = nil
25 | }
26 | }
27 |
28 | static func getThreadLocalStorageValueForKey(_ key: NSCopying) -> T? {
29 | let currentThread = Thread.current
30 | let threadDictionary = currentThread.threadDictionary
31 |
32 | return threadDictionary[key] as? T
33 | }
34 | }
35 |
36 | #endif
37 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/Platform/Platform.Linux.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Platform.Linux.swift
3 | // Platform
4 | //
5 | // Created by Krunoslav Zaher on 12/29/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(Linux)
10 |
11 | import class Foundation.Thread
12 |
13 | extension Thread {
14 |
15 | static func setThreadLocalStorageValue(_ value: T?, forKey key: String) {
16 | if let newValue = value {
17 | Thread.current.threadDictionary[key] = newValue
18 | }
19 | else {
20 | Thread.current.threadDictionary[key] = nil
21 | }
22 | }
23 |
24 | static func getThreadLocalStorageValueForKey(_ key: String) -> T? {
25 | let currentThread = Thread.current
26 | let threadDictionary = currentThread.threadDictionary
27 |
28 | return threadDictionary[key] as? T
29 | }
30 | }
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/Platform/RecursiveLock.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RecursiveLock.swift
3 | // Platform
4 | //
5 | // Created by Krunoslav Zaher on 12/18/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import class Foundation.NSRecursiveLock
10 |
11 | #if TRACE_RESOURCES
12 | class RecursiveLock: NSRecursiveLock {
13 | override init() {
14 | _ = Resources.incrementTotal()
15 | super.init()
16 | }
17 |
18 | override func lock() {
19 | super.lock()
20 | _ = Resources.incrementTotal()
21 | }
22 |
23 | override func unlock() {
24 | super.unlock()
25 | _ = Resources.decrementTotal()
26 | }
27 |
28 | deinit {
29 | _ = Resources.decrementTotal()
30 | }
31 | }
32 | #else
33 | typealias RecursiveLock = NSRecursiveLock
34 | #endif
35 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/RxSwift/Cancelable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Cancelable.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 3/12/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | /// Represents disposable resource with state tracking.
10 | public protocol Cancelable : Disposable {
11 | /// Was resource disposed.
12 | var isDisposed: Bool { get }
13 | }
14 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/RxSwift/Concurrency/Lock.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Lock.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 3/31/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | protocol Lock {
10 | func lock()
11 | func unlock()
12 | }
13 |
14 | // https://lists.swift.org/pipermail/swift-dev/Week-of-Mon-20151214/000321.html
15 | typealias SpinLock = RecursiveLock
16 |
17 | extension RecursiveLock : Lock {
18 | @inline(__always)
19 | final func performLocked(_ action: () -> Void) {
20 | self.lock(); defer { self.unlock() }
21 | action()
22 | }
23 |
24 | @inline(__always)
25 | final func calculateLocked(_ action: () -> T) -> T {
26 | self.lock(); defer { self.unlock() }
27 | return action()
28 | }
29 |
30 | @inline(__always)
31 | final func calculateLockedOrFail(_ action: () throws -> T) throws -> T {
32 | self.lock(); defer { self.unlock() }
33 | let result = try action()
34 | return result
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/RxSwift/Concurrency/LockOwnerType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // LockOwnerType.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | protocol LockOwnerType : class, Lock {
10 | var _lock: RecursiveLock { get }
11 | }
12 |
13 | extension LockOwnerType {
14 | func lock() {
15 | self._lock.lock()
16 | }
17 |
18 | func unlock() {
19 | self._lock.unlock()
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/RxSwift/Concurrency/SynchronizedDisposeType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SynchronizedDisposeType.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | protocol SynchronizedDisposeType : class, Disposable, Lock {
10 | func _synchronized_dispose()
11 | }
12 |
13 | extension SynchronizedDisposeType {
14 | func synchronizedDispose() {
15 | self.lock(); defer { self.unlock() }
16 | self._synchronized_dispose()
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/RxSwift/Concurrency/SynchronizedOnType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SynchronizedOnType.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | protocol SynchronizedOnType : class, ObserverType, Lock {
10 | func _synchronized_on(_ event: Event)
11 | }
12 |
13 | extension SynchronizedOnType {
14 | func synchronizedOn(_ event: Event) {
15 | self.lock(); defer { self.unlock() }
16 | self._synchronized_on(event)
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/RxSwift/Concurrency/SynchronizedUnsubscribeType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SynchronizedUnsubscribeType.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | protocol SynchronizedUnsubscribeType : class {
10 | associatedtype DisposeKey
11 |
12 | func synchronizedUnsubscribe(_ disposeKey: DisposeKey)
13 | }
14 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/RxSwift/ConnectableObservableType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ConnectableObservableType.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 3/1/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | /**
10 | Represents an observable sequence wrapper that can be connected and disconnected from its underlying observable sequence.
11 | */
12 | public protocol ConnectableObservableType : ObservableType {
13 | /**
14 | 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.
15 |
16 | - returns: Disposable used to disconnect the observable wrapper from its source, causing subscribed observer to stop receiving values from the underlying observable sequence.
17 | */
18 | func connect() -> Disposable
19 | }
20 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/RxSwift/Disposable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Disposable.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 2/8/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | /// Represents a disposable resource.
10 | public protocol Disposable {
11 | /// Dispose resource.
12 | func dispose()
13 | }
14 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/RxSwift/Disposables/BinaryDisposable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // BinaryDisposable.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 6/12/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | /// Represents two disposable resources that are disposed together.
10 | private final class BinaryDisposable : DisposeBase, Cancelable {
11 |
12 | private let _isDisposed = AtomicInt(0)
13 |
14 | // state
15 | private var _disposable1: Disposable?
16 | private var _disposable2: Disposable?
17 |
18 | /// - returns: Was resource disposed.
19 | var isDisposed: Bool {
20 | return isFlagSet(self._isDisposed, 1)
21 | }
22 |
23 | /// Constructs new binary disposable from two disposables.
24 | ///
25 | /// - parameter disposable1: First disposable
26 | /// - parameter disposable2: Second disposable
27 | init(_ disposable1: Disposable, _ disposable2: Disposable) {
28 | self._disposable1 = disposable1
29 | self._disposable2 = disposable2
30 | super.init()
31 | }
32 |
33 | /// Calls the disposal action if and only if the current instance hasn't been disposed yet.
34 | ///
35 | /// After invoking disposal action, disposal action will be dereferenced.
36 | func dispose() {
37 | if fetchOr(self._isDisposed, 1) == 0 {
38 | self._disposable1?.dispose()
39 | self._disposable2?.dispose()
40 | self._disposable1 = nil
41 | self._disposable2 = nil
42 | }
43 | }
44 | }
45 |
46 | extension Disposables {
47 |
48 | /// Creates a disposable with the given disposables.
49 | public static func create(_ disposable1: Disposable, _ disposable2: Disposable) -> Cancelable {
50 | return BinaryDisposable(disposable1, disposable2)
51 | }
52 |
53 | }
54 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/RxSwift/Disposables/BooleanDisposable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // BooleanDisposable.swift
3 | // RxSwift
4 | //
5 | // Created by Junior B. on 10/29/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | /// Represents a disposable resource that can be checked for disposal status.
10 | public final class BooleanDisposable : Cancelable {
11 |
12 | internal static let BooleanDisposableTrue = BooleanDisposable(isDisposed: true)
13 | private var _isDisposed = false
14 |
15 | /// Initializes a new instance of the `BooleanDisposable` class
16 | public init() {
17 | }
18 |
19 | /// Initializes a new instance of the `BooleanDisposable` class with given value
20 | public init(isDisposed: Bool) {
21 | self._isDisposed = isDisposed
22 | }
23 |
24 | /// - returns: Was resource disposed.
25 | public var isDisposed: Bool {
26 | return self._isDisposed
27 | }
28 |
29 | /// Sets the status to disposed, which can be observer through the `isDisposed` property.
30 | public func dispose() {
31 | self._isDisposed = true
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/RxSwift/Disposables/Disposables.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Disposables.swift
3 | // RxSwift
4 | //
5 | // Created by Mohsen Ramezanpoor on 01/08/2016.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | /// A collection of utility methods for common disposable operations.
10 | public struct Disposables {
11 | private init() {}
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/RxSwift/Disposables/DisposeBase.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DisposeBase.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 4/4/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | /// Base class for all disposables.
10 | public class DisposeBase {
11 | init() {
12 | #if TRACE_RESOURCES
13 | _ = Resources.incrementTotal()
14 | #endif
15 | }
16 |
17 | deinit {
18 | #if TRACE_RESOURCES
19 | _ = Resources.decrementTotal()
20 | #endif
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/RxSwift/Disposables/NopDisposable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // NopDisposable.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 2/15/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | /// Represents a disposable that does nothing on disposal.
10 | ///
11 | /// Nop = No Operation
12 | private struct NopDisposable : Disposable {
13 |
14 | fileprivate static let noOp: Disposable = NopDisposable()
15 |
16 | private init() {
17 |
18 | }
19 |
20 | /// Does nothing.
21 | public func dispose() {
22 | }
23 | }
24 |
25 | extension Disposables {
26 | /**
27 | Creates a disposable that does nothing on disposal.
28 | */
29 | static public func create() -> Disposable {
30 | return NopDisposable.noOp
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/RxSwift/Disposables/ScheduledDisposable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ScheduledDisposable.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 6/13/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | private let disposeScheduledDisposable: (ScheduledDisposable) -> Disposable = { sd in
10 | sd.disposeInner()
11 | return Disposables.create()
12 | }
13 |
14 | /// Represents a disposable resource whose disposal invocation will be scheduled on the specified scheduler.
15 | public final class ScheduledDisposable : Cancelable {
16 | public let scheduler: ImmediateSchedulerType
17 |
18 | private let _isDisposed = AtomicInt(0)
19 |
20 | // state
21 | private var _disposable: Disposable?
22 |
23 | /// - returns: Was resource disposed.
24 | public var isDisposed: Bool {
25 | return isFlagSet(self._isDisposed, 1)
26 | }
27 |
28 | /**
29 | Initializes a new instance of the `ScheduledDisposable` that uses a `scheduler` on which to dispose the `disposable`.
30 |
31 | - parameter scheduler: Scheduler where the disposable resource will be disposed on.
32 | - parameter disposable: Disposable resource to dispose on the given scheduler.
33 | */
34 | public init(scheduler: ImmediateSchedulerType, disposable: Disposable) {
35 | self.scheduler = scheduler
36 | self._disposable = disposable
37 | }
38 |
39 | /// Disposes the wrapped disposable on the provided scheduler.
40 | public func dispose() {
41 | _ = self.scheduler.schedule(self, action: disposeScheduledDisposable)
42 | }
43 |
44 | func disposeInner() {
45 | if fetchOr(self._isDisposed, 1) == 0 {
46 | self._disposable!.dispose()
47 | self._disposable = nil
48 | }
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/RxSwift/Disposables/SubscriptionDisposable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SubscriptionDisposable.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | struct SubscriptionDisposable : Disposable {
10 | private let _key: T.DisposeKey
11 | private weak var _owner: T?
12 |
13 | init(owner: T, key: T.DisposeKey) {
14 | self._owner = owner
15 | self._key = key
16 | }
17 |
18 | func dispose() {
19 | self._owner?.synchronizedUnsubscribe(self._key)
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/RxSwift/Errors.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Errors.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 3/28/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | let RxErrorDomain = "RxErrorDomain"
10 | let RxCompositeFailures = "RxCompositeFailures"
11 |
12 | /// Generic Rx error codes.
13 | public enum RxError
14 | : Swift.Error
15 | , CustomDebugStringConvertible {
16 | /// Unknown error occurred.
17 | case unknown
18 | /// Performing an action on disposed object.
19 | case disposed(object: AnyObject)
20 | /// Arithmetic overflow error.
21 | case overflow
22 | /// Argument out of range error.
23 | case argumentOutOfRange
24 | /// Sequence doesn't contain any elements.
25 | case noElements
26 | /// Sequence contains more than one element.
27 | case moreThanOneElement
28 | /// Timeout error.
29 | case timeout
30 | }
31 |
32 | extension RxError {
33 | /// A textual representation of `self`, suitable for debugging.
34 | public var debugDescription: String {
35 | switch self {
36 | case .unknown:
37 | return "Unknown error occurred."
38 | case .disposed(let object):
39 | return "Object `\(object)` was already disposed."
40 | case .overflow:
41 | return "Arithmetic overflow occurred."
42 | case .argumentOutOfRange:
43 | return "Argument out of range."
44 | case .noElements:
45 | return "Sequence doesn't contain any elements."
46 | case .moreThanOneElement:
47 | return "Sequence contains more than one element."
48 | case .timeout:
49 | return "Sequence timeout."
50 | }
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/RxSwift/Extensions/Bag+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Bag+Rx.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 10/19/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 |
10 | // MARK: forEach
11 |
12 | @inline(__always)
13 | func dispatch(_ bag: Bag<(Event) -> Void>, _ event: Event) {
14 | bag._value0?(event)
15 |
16 | if bag._onlyFastPath {
17 | return
18 | }
19 |
20 | let pairs = bag._pairs
21 | for i in 0 ..< pairs.count {
22 | pairs[i].value(event)
23 | }
24 |
25 | if let dictionary = bag._dictionary {
26 | for element in dictionary.values {
27 | element(event)
28 | }
29 | }
30 | }
31 |
32 | /// Dispatches `dispose` to all disposables contained inside bag.
33 | func disposeAll(in bag: Bag) {
34 | bag._value0?.dispose()
35 |
36 | if bag._onlyFastPath {
37 | return
38 | }
39 |
40 | let pairs = bag._pairs
41 | for i in 0 ..< pairs.count {
42 | pairs[i].value.dispose()
43 | }
44 |
45 | if let dictionary = bag._dictionary {
46 | for element in dictionary.values {
47 | element.dispose()
48 | }
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/RxSwift/GroupedObservable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // GroupedObservable.swift
3 | // RxSwift
4 | //
5 | // Created by Tomi Koskinen on 01/12/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | /// Represents an observable sequence of elements that have a common key.
10 | public struct GroupedObservable : ObservableType {
11 | /// Gets the common key.
12 | public let key: Key
13 |
14 | private let source: Observable
15 |
16 | /// Initializes grouped observable sequence with key and source observable sequence.
17 | ///
18 | /// - parameter key: Grouped observable sequence key
19 | /// - parameter source: Observable sequence that represents sequence of elements for the key
20 | /// - returns: Grouped observable sequence of elements for the specific key
21 | public init(key: Key, source: Observable) {
22 | self.key = key
23 | self.source = source
24 | }
25 |
26 | /// Subscribes `observer` to receive events for this sequence.
27 | public func subscribe(_ observer: Observer) -> Disposable where Observer.Element == Element {
28 | return self.source.subscribe(observer)
29 | }
30 |
31 | /// Converts `self` to `Observable` sequence.
32 | public func asObservable() -> Observable {
33 | return self.source
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/RxSwift/ImmediateSchedulerType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ImmediateSchedulerType.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 5/31/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | /// Represents an object that immediately schedules units of work.
10 | public protocol ImmediateSchedulerType {
11 | /**
12 | Schedules an action to be executed immediately.
13 |
14 | - parameter state: State passed to the action to be executed.
15 | - parameter action: Action to be executed.
16 | - returns: The disposable object used to cancel the scheduled action (best effort).
17 | */
18 | func schedule(_ state: StateType, action: @escaping (StateType) -> Disposable) -> Disposable
19 | }
20 |
21 | extension ImmediateSchedulerType {
22 | /**
23 | Schedules an action to be executed recursively.
24 |
25 | - parameter state: State passed to the action to be executed.
26 | - parameter action: Action to execute recursively. The last parameter passed to the action is used to trigger recursive scheduling of the action, passing in recursive invocation state.
27 | - returns: The disposable object used to cancel the scheduled action (best effort).
28 | */
29 | public func scheduleRecursive(_ state: State, action: @escaping (_ state: State, _ recurse: (State) -> Void) -> Void) -> Disposable {
30 | let recursiveScheduler = RecursiveImmediateScheduler(action: action, scheduler: self)
31 |
32 | recursiveScheduler.schedule(state)
33 |
34 | return Disposables.create(with: recursiveScheduler.dispose)
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/RxSwift/Observable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Observable.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 2/8/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | /// A type-erased `ObservableType`.
10 | ///
11 | /// It represents a push style sequence.
12 | public class Observable : ObservableType {
13 | init() {
14 | #if TRACE_RESOURCES
15 | _ = Resources.incrementTotal()
16 | #endif
17 | }
18 |
19 | public func subscribe(_ observer: Observer) -> Disposable where Observer.Element == Element {
20 | rxAbstractMethod()
21 | }
22 |
23 | public func asObservable() -> Observable {
24 | return self
25 | }
26 |
27 | deinit {
28 | #if TRACE_RESOURCES
29 | _ = Resources.decrementTotal()
30 | #endif
31 | }
32 | }
33 |
34 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/RxSwift/ObservableConvertibleType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ObservableConvertibleType.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 9/17/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | /// Type that can be converted to observable sequence (`Observable`).
10 | public protocol ObservableConvertibleType {
11 | /// Type of elements in sequence.
12 | associatedtype Element
13 |
14 | @available(*, deprecated, renamed: "Element")
15 | typealias E = Element
16 |
17 | /// Converts `self` to `Observable` sequence.
18 | ///
19 | /// - returns: Observable sequence that represents `self`.
20 | func asObservable() -> Observable
21 | }
22 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/RxSwift/ObservableType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ObservableType.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 8/8/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | /// Represents a push style sequence.
10 | public protocol ObservableType: ObservableConvertibleType {
11 | /**
12 | Subscribes `observer` to receive events for this sequence.
13 |
14 | ### Grammar
15 |
16 | **Next\* (Error | Completed)?**
17 |
18 | * sequences can produce zero or more elements so zero or more `Next` events can be sent to `observer`
19 | * once an `Error` or `Completed` event is sent, the sequence terminates and can't produce any other elements
20 |
21 | It is possible that events are sent from different threads, but no two events can be sent concurrently to
22 | `observer`.
23 |
24 | ### Resource Management
25 |
26 | When sequence sends `Complete` or `Error` event all internal resources that compute sequence elements
27 | will be freed.
28 |
29 | To cancel production of sequence elements and free resources immediately, call `dispose` on returned
30 | subscription.
31 |
32 | - returns: Subscription for `observer` that can be used to cancel production of sequence elements and free resources.
33 | */
34 | func subscribe(_ observer: Observer) -> Disposable where Observer.Element == Element
35 | }
36 |
37 | extension ObservableType {
38 |
39 | /// Default implementation of converting `ObservableType` to `Observable`.
40 | public func asObservable() -> Observable {
41 | // temporary workaround
42 | //return Observable.create(subscribe: self.subscribe)
43 | return Observable.create { o in
44 | return self.subscribe(o)
45 | }
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/RxSwift/Observables/AddRef.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AddRef.swift
3 | // RxSwift
4 | //
5 | // Created by Junior B. on 30/10/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | final class AddRefSink : Sink, ObserverType {
10 | typealias Element = Observer.Element
11 |
12 | override init(observer: Observer, cancel: Cancelable) {
13 | super.init(observer: observer, cancel: cancel)
14 | }
15 |
16 | func on(_ event: Event) {
17 | switch event {
18 | case .next:
19 | self.forwardOn(event)
20 | case .completed, .error:
21 | self.forwardOn(event)
22 | self.dispose()
23 | }
24 | }
25 | }
26 |
27 | final class AddRef : Producer {
28 |
29 | private let _source: Observable
30 | private let _refCount: RefCountDisposable
31 |
32 | init(source: Observable, refCount: RefCountDisposable) {
33 | self._source = source
34 | self._refCount = refCount
35 | }
36 |
37 | override func run(_ observer: Observer, cancel: Cancelable) -> (sink: Disposable, subscription: Disposable) where Observer.Element == Element {
38 | let releaseDisposable = self._refCount.retain()
39 | let sink = AddRefSink(observer: observer, cancel: cancel)
40 | let subscription = Disposables.create(releaseDisposable, self._source.subscribe(sink))
41 |
42 | return (sink: sink, subscription: subscription)
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/RxSwift/Observables/AsMaybe.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AsMaybe.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 3/12/17.
6 | // Copyright © 2017 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | private final class AsMaybeSink : Sink, ObserverType {
10 | typealias Element = Observer.Element
11 |
12 | private var _element: Event?
13 |
14 | func on(_ event: Event) {
15 | switch event {
16 | case .next:
17 | if self._element != nil {
18 | self.forwardOn(.error(RxError.moreThanOneElement))
19 | self.dispose()
20 | }
21 |
22 | self._element = event
23 | case .error:
24 | self.forwardOn(event)
25 | self.dispose()
26 | case .completed:
27 | if let element = self._element {
28 | self.forwardOn(element)
29 | }
30 | self.forwardOn(.completed)
31 | self.dispose()
32 | }
33 | }
34 | }
35 |
36 | final class AsMaybe: Producer {
37 | private let _source: Observable
38 |
39 | init(source: Observable) {
40 | self._source = source
41 | }
42 |
43 | override func run(_ observer: Observer, cancel: Cancelable) -> (sink: Disposable, subscription: Disposable) where Observer.Element == Element {
44 | let sink = AsMaybeSink(observer: observer, cancel: cancel)
45 | let subscription = self._source.subscribe(sink)
46 | return (sink: sink, subscription: subscription)
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/RxSwift/Observables/AsSingle.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AsSingle.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 3/12/17.
6 | // Copyright © 2017 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | private final class AsSingleSink : Sink, ObserverType {
10 | typealias Element = Observer.Element
11 |
12 | private var _element: Event?
13 |
14 | func on(_ event: Event) {
15 | switch event {
16 | case .next:
17 | if self._element != nil {
18 | self.forwardOn(.error(RxError.moreThanOneElement))
19 | self.dispose()
20 | }
21 |
22 | self._element = event
23 | case .error:
24 | self.forwardOn(event)
25 | self.dispose()
26 | case .completed:
27 | if let element = self._element {
28 | self.forwardOn(element)
29 | self.forwardOn(.completed)
30 | }
31 | else {
32 | self.forwardOn(.error(RxError.noElements))
33 | }
34 | self.dispose()
35 | }
36 | }
37 | }
38 |
39 | final class AsSingle: Producer {
40 | private let _source: Observable
41 |
42 | init(source: Observable) {
43 | self._source = source
44 | }
45 |
46 | override func run(_ observer: Observer, cancel: Cancelable) -> (sink: Disposable, subscription: Disposable) where Observer.Element == Element {
47 | let sink = AsSingleSink(observer: observer, cancel: cancel)
48 | let subscription = self._source.subscribe(sink)
49 | return (sink: sink, subscription: subscription)
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/RxSwift/Observables/Empty.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Empty.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 8/30/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | extension ObservableType {
10 | /**
11 | Returns an empty observable sequence, using the specified scheduler to send out the single `Completed` message.
12 |
13 | - seealso: [empty operator on reactivex.io](http://reactivex.io/documentation/operators/empty-never-throw.html)
14 |
15 | - returns: An observable sequence with no elements.
16 | */
17 | public static func empty() -> Observable {
18 | return EmptyProducer()
19 | }
20 | }
21 |
22 | final private class EmptyProducer: Producer {
23 | override func subscribe(_ observer: Observer) -> Disposable where Observer.Element == Element {
24 | observer.on(.completed)
25 | return Disposables.create()
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/RxSwift/Observables/Error.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Error.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 8/30/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | extension ObservableType {
10 | /**
11 | Returns an observable sequence that terminates with an `error`.
12 |
13 | - seealso: [throw operator on reactivex.io](http://reactivex.io/documentation/operators/empty-never-throw.html)
14 |
15 | - returns: The observable sequence that terminates with specified error.
16 | */
17 | public static func error(_ error: Swift.Error) -> Observable {
18 | return ErrorProducer(error: error)
19 | }
20 | }
21 |
22 | final private class ErrorProducer: Producer {
23 | private let _error: Swift.Error
24 |
25 | init(error: Swift.Error) {
26 | self._error = error
27 | }
28 |
29 | override func subscribe(_ observer: Observer) -> Disposable where Observer.Element == Element {
30 | observer.on(.error(self._error))
31 | return Disposables.create()
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/RxSwift/Observables/First.swift:
--------------------------------------------------------------------------------
1 | //
2 | // First.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 7/31/17.
6 | // Copyright © 2017 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | private final class FirstSink : Sink, ObserverType where Observer.Element == Element? {
10 | typealias Parent = First
11 |
12 | func on(_ event: Event) {
13 | switch event {
14 | case .next(let value):
15 | self.forwardOn(.next(value))
16 | self.forwardOn(.completed)
17 | self.dispose()
18 | case .error(let error):
19 | self.forwardOn(.error(error))
20 | self.dispose()
21 | case .completed:
22 | self.forwardOn(.next(nil))
23 | self.forwardOn(.completed)
24 | self.dispose()
25 | }
26 | }
27 | }
28 |
29 | final class First: Producer {
30 | private let _source: Observable
31 |
32 | init(source: Observable) {
33 | self._source = source
34 | }
35 |
36 | override func run(_ observer: Observer, cancel: Cancelable) -> (sink: Disposable, subscription: Disposable) where Observer.Element == Element? {
37 | let sink = FirstSink(observer: observer, cancel: cancel)
38 | let subscription = self._source.subscribe(sink)
39 | return (sink: sink, subscription: subscription)
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/RxSwift/Observables/Materialize.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Materialize.swift
3 | // RxSwift
4 | //
5 | // Created by sergdort on 08/03/2017.
6 | // Copyright © 2017 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | extension ObservableType {
10 | /**
11 | Convert any Observable into an Observable of its events.
12 | - seealso: [materialize operator on reactivex.io](http://reactivex.io/documentation/operators/materialize-dematerialize.html)
13 | - returns: An observable sequence that wraps events in an Event. The returned Observable never errors, but it does complete after observing all of the events of the underlying Observable.
14 | */
15 | public func materialize() -> Observable> {
16 | return Materialize(source: self.asObservable())
17 | }
18 | }
19 |
20 | private final class MaterializeSink: Sink, ObserverType where Observer.Element == Event {
21 |
22 | func on(_ event: Event) {
23 | self.forwardOn(.next(event))
24 | if event.isStopEvent {
25 | self.forwardOn(.completed)
26 | self.dispose()
27 | }
28 | }
29 | }
30 |
31 | final private class Materialize: Producer> {
32 | private let _source: Observable
33 |
34 | init(source: Observable) {
35 | self._source = source
36 | }
37 |
38 | override func run(_ observer: Observer, cancel: Cancelable) -> (sink: Disposable, subscription: Disposable) where Observer.Element == Element {
39 | let sink = MaterializeSink(observer: observer, cancel: cancel)
40 | let subscription = self._source.subscribe(sink)
41 |
42 | return (sink: sink, subscription: subscription)
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/RxSwift/Observables/Never.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Never.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 8/30/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | extension ObservableType {
10 |
11 | /**
12 | Returns a non-terminating observable sequence, which can be used to denote an infinite duration.
13 |
14 | - seealso: [never operator on reactivex.io](http://reactivex.io/documentation/operators/empty-never-throw.html)
15 |
16 | - returns: An observable sequence whose observers will never get called.
17 | */
18 | public static func never() -> Observable {
19 | return NeverProducer()
20 | }
21 | }
22 |
23 | final private class NeverProducer: Producer {
24 | override func subscribe(_ observer: Observer) -> Disposable where Observer.Element == Element {
25 | return Disposables.create()
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/RxSwift/Observables/StartWith.swift:
--------------------------------------------------------------------------------
1 | //
2 | // StartWith.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 4/6/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | extension ObservableType {
10 |
11 | /**
12 | Prepends a sequence of values to an observable sequence.
13 |
14 | - seealso: [startWith operator on reactivex.io](http://reactivex.io/documentation/operators/startwith.html)
15 |
16 | - parameter elements: Elements to prepend to the specified sequence.
17 | - returns: The source sequence prepended with the specified values.
18 | */
19 | public func startWith(_ elements: Element ...)
20 | -> Observable {
21 | return StartWith(source: self.asObservable(), elements: elements)
22 | }
23 | }
24 |
25 | final private class StartWith: Producer {
26 | let elements: [Element]
27 | let source: Observable
28 |
29 | init(source: Observable, elements: [Element]) {
30 | self.source = source
31 | self.elements = elements
32 | super.init()
33 | }
34 |
35 | override func run(_ observer: Observer, cancel: Cancelable) -> (sink: Disposable, subscription: Disposable) where Observer.Element == Element {
36 | for e in self.elements {
37 | observer.on(.next(e))
38 | }
39 |
40 | return (sink: Disposables.create(), subscription: self.source.subscribe(observer))
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/RxSwift/ObserverType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ObserverType.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 2/8/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | /// Supports push-style iteration over an observable sequence.
10 | public protocol ObserverType {
11 | /// The type of elements in sequence that observer can observe.
12 | associatedtype Element
13 |
14 | @available(*, deprecated, renamed: "Element")
15 | typealias E = Element
16 |
17 | /// Notify observer about sequence event.
18 | ///
19 | /// - parameter event: Event that occurred.
20 | func on(_ event: Event)
21 | }
22 |
23 | /// Convenience API extensions to provide alternate next, error, completed events
24 | extension ObserverType {
25 |
26 | /// Convenience method equivalent to `on(.next(element: Element))`
27 | ///
28 | /// - parameter element: Next element to send to observer(s)
29 | public func onNext(_ element: Element) {
30 | self.on(.next(element))
31 | }
32 |
33 | /// Convenience method equivalent to `on(.completed)`
34 | public func onCompleted() {
35 | self.on(.completed)
36 | }
37 |
38 | /// Convenience method equivalent to `on(.error(Swift.Error))`
39 | /// - parameter error: Swift.Error to send to observer(s)
40 | public func onError(_ error: Swift.Error) {
41 | self.on(.error(error))
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/RxSwift/Observers/AnonymousObserver.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AnonymousObserver.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 2/8/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | final class AnonymousObserver: ObserverBase {
10 | typealias EventHandler = (Event) -> Void
11 |
12 | private let _eventHandler : EventHandler
13 |
14 | init(_ eventHandler: @escaping EventHandler) {
15 | #if TRACE_RESOURCES
16 | _ = Resources.incrementTotal()
17 | #endif
18 | self._eventHandler = eventHandler
19 | }
20 |
21 | override func onCore(_ event: Event) {
22 | return self._eventHandler(event)
23 | }
24 |
25 | #if TRACE_RESOURCES
26 | deinit {
27 | _ = Resources.decrementTotal()
28 | }
29 | #endif
30 | }
31 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/RxSwift/Observers/ObserverBase.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ObserverBase.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 2/15/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | class ObserverBase : Disposable, ObserverType {
10 | private let _isStopped = AtomicInt(0)
11 |
12 | func on(_ event: Event) {
13 | switch event {
14 | case .next:
15 | if load(self._isStopped) == 0 {
16 | self.onCore(event)
17 | }
18 | case .error, .completed:
19 | if fetchOr(self._isStopped, 1) == 0 {
20 | self.onCore(event)
21 | }
22 | }
23 | }
24 |
25 | func onCore(_ event: Event) {
26 | rxAbstractMethod()
27 | }
28 |
29 | func dispose() {
30 | fetchOr(self._isStopped, 1)
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/ios/Pods/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 | #if os(Linux)
10 | /// As Swift 5 was released, A patch to `Thread` for Linux
11 | /// changed `threadDictionary` to a `NSMutableDictionary` instead of
12 | /// a `Dictionary`: https://github.com/apple/swift-corelibs-foundation/pull/1762/files
13 | ///
14 | /// This means that on Linux specifically, `RxMutableBox` must be a `NSObject`
15 | /// or it won't be possible to store it in `Thread.threadDictionary`.
16 | ///
17 | /// For more information, read the discussion at:
18 | /// https://github.com/ReactiveX/RxSwift/issues/1911#issuecomment-479723298
19 | import class Foundation.NSObject
20 |
21 | /// Creates mutable reference wrapper for any type.
22 | final class RxMutableBox: NSObject {
23 | /// Wrapped value
24 | var value: T
25 |
26 | /// Creates reference wrapper for `value`.
27 | ///
28 | /// - parameter value: Value to wrap.
29 | init (_ value: T) {
30 | self.value = value
31 | }
32 | }
33 | #else
34 | /// Creates mutable reference wrapper for any type.
35 | final class RxMutableBox: CustomDebugStringConvertible {
36 | /// Wrapped value
37 | var value: T
38 |
39 | /// Creates reference wrapper for `value`.
40 | ///
41 | /// - parameter value: Value to wrap.
42 | init (_ value: T) {
43 | self.value = value
44 | }
45 | }
46 |
47 | extension RxMutableBox {
48 | /// - returns: Box description.
49 | var debugDescription: String {
50 | return "MutatingBox(\(self.value))"
51 | }
52 | }
53 | #endif
54 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/RxSwift/Schedulers/HistoricalScheduler.swift:
--------------------------------------------------------------------------------
1 | //
2 | // HistoricalScheduler.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 12/27/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import struct Foundation.Date
10 |
11 | /// Provides a virtual time scheduler that uses `Date` for absolute time and `NSTimeInterval` for relative time.
12 | public class HistoricalScheduler : VirtualTimeScheduler {
13 |
14 | /**
15 | Creates a new historical scheduler with initial clock value.
16 |
17 | - parameter initialClock: Initial value for virtual clock.
18 | */
19 | public init(initialClock: RxTime = Date(timeIntervalSince1970: 0)) {
20 | super.init(initialClock: initialClock, converter: HistoricalSchedulerTimeConverter())
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/RxSwift/Schedulers/Internal/InvocableScheduledItem.swift:
--------------------------------------------------------------------------------
1 | //
2 | // InvocableScheduledItem.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 11/7/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | struct InvocableScheduledItem : InvocableType {
10 |
11 | let _invocable: I
12 | let _state: I.Value
13 |
14 | init(invocable: I, state: I.Value) {
15 | self._invocable = invocable
16 | self._state = state
17 | }
18 |
19 | func invoke() {
20 | self._invocable.invoke(self._state)
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/RxSwift/Schedulers/Internal/InvocableType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // InvocableType.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 11/7/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | protocol InvocableType {
10 | func invoke()
11 | }
12 |
13 | protocol InvocableWithValueType {
14 | associatedtype Value
15 |
16 | func invoke(_ value: Value)
17 | }
18 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/RxSwift/Schedulers/Internal/ScheduledItem.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ScheduledItem.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 9/2/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | struct ScheduledItem
10 | : ScheduledItemType
11 | , InvocableType {
12 | typealias Action = (T) -> Disposable
13 |
14 | private let _action: Action
15 | private let _state: T
16 |
17 | private let _disposable = SingleAssignmentDisposable()
18 |
19 | var isDisposed: Bool {
20 | return self._disposable.isDisposed
21 | }
22 |
23 | init(action: @escaping Action, state: T) {
24 | self._action = action
25 | self._state = state
26 | }
27 |
28 | func invoke() {
29 | self._disposable.setDisposable(self._action(self._state))
30 | }
31 |
32 | func dispose() {
33 | self._disposable.dispose()
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/RxSwift/Schedulers/Internal/ScheduledItemType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ScheduledItemType.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 11/7/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | protocol ScheduledItemType
10 | : Cancelable
11 | , InvocableType {
12 | func invoke()
13 | }
14 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/RxSwift/Subjects/SubjectType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SubjectType.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 3/1/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | /// Represents an object that is both an observable sequence as well as an observer.
10 | public protocol SubjectType : ObservableType {
11 | /// The type of the observer that represents this subject.
12 | ///
13 | /// Usually this type is type of subject itself, but it doesn't have to be.
14 | associatedtype Observer: ObserverType
15 |
16 | @available(*, deprecated, renamed: "Observer")
17 | typealias SubjectObserverType = Observer
18 |
19 | /// Returns observer interface for subject.
20 | ///
21 | /// - returns: Observer interface for subject.
22 | func asObserver() -> Observer
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/ios/Pods/RxSwift/RxSwift/SwiftSupport/SwiftSupport.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SwiftSupport.swift
3 | // RxSwift
4 | //
5 | // Created by Volodymyr Gorbenko on 3/6/17.
6 | // Copyright © 2017 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | typealias IntMax = Int64
12 | public typealias RxAbstractInteger = FixedWidthInteger
13 |
14 | extension SignedInteger {
15 | func toIntMax() -> IntMax {
16 | return IntMax(self)
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/ios/Pods/RxTest/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
6 | documentation files (the "Software"), to deal in the Software without restriction, including without limitation the
7 | rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit
8 | persons to whom the Software is furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
11 | Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
14 | WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
15 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
16 | OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
17 |
--------------------------------------------------------------------------------
/ios/Pods/RxTest/Platform/AtomicInt.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AtomicInt.swift
3 | // Platform
4 | //
5 | // Created by Krunoslav Zaher on 10/28/18.
6 | // Copyright © 2018 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import class Foundation.NSLock
10 |
11 | final class AtomicInt: NSLock {
12 | fileprivate var value: Int32
13 | public init(_ value: Int32 = 0) {
14 | self.value = value
15 | }
16 | }
17 |
18 | @discardableResult
19 | @inline(__always)
20 | func add(_ this: AtomicInt, _ value: Int32) -> Int32 {
21 | this.lock()
22 | let oldValue = this.value
23 | this.value += value
24 | this.unlock()
25 | return oldValue
26 | }
27 |
28 | @discardableResult
29 | @inline(__always)
30 | func sub(_ this: AtomicInt, _ value: Int32) -> Int32 {
31 | this.lock()
32 | let oldValue = this.value
33 | this.value -= value
34 | this.unlock()
35 | return oldValue
36 | }
37 |
38 | @discardableResult
39 | @inline(__always)
40 | func fetchOr(_ this: AtomicInt, _ mask: Int32) -> Int32 {
41 | this.lock()
42 | let oldValue = this.value
43 | this.value |= mask
44 | this.unlock()
45 | return oldValue
46 | }
47 |
48 | @inline(__always)
49 | func load(_ this: AtomicInt) -> Int32 {
50 | this.lock()
51 | let oldValue = this.value
52 | this.unlock()
53 | return oldValue
54 | }
55 |
56 | @discardableResult
57 | @inline(__always)
58 | func increment(_ this: AtomicInt) -> Int32 {
59 | return add(this, 1)
60 | }
61 |
62 | @discardableResult
63 | @inline(__always)
64 | func decrement(_ this: AtomicInt) -> Int32 {
65 | return sub(this, 1)
66 | }
67 |
68 | @inline(__always)
69 | func isFlagSet(_ this: AtomicInt, _ mask: Int32) -> Bool {
70 | return (load(this) & mask) != 0
71 | }
72 |
--------------------------------------------------------------------------------
/ios/Pods/RxTest/Platform/DataStructures/InfiniteSequence.swift:
--------------------------------------------------------------------------------
1 | //
2 | // InfiniteSequence.swift
3 | // Platform
4 | //
5 | // Created by Krunoslav Zaher on 6/13/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | /// Sequence that repeats `repeatedValue` infinite number of times.
10 | struct InfiniteSequence : Sequence {
11 | typealias Iterator = AnyIterator
12 |
13 | private let _repeatedValue: Element
14 |
15 | init(repeatedValue: Element) {
16 | _repeatedValue = repeatedValue
17 | }
18 |
19 | func makeIterator() -> Iterator {
20 | let repeatedValue = _repeatedValue
21 | return AnyIterator {
22 | return repeatedValue
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/ios/Pods/RxTest/Platform/DispatchQueue+Extensions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DispatchQueue+Extensions.swift
3 | // Platform
4 | //
5 | // Created by Krunoslav Zaher on 10/22/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Dispatch
10 |
11 | extension DispatchQueue {
12 | private static var token: DispatchSpecificKey<()> = {
13 | let key = DispatchSpecificKey<()>()
14 | DispatchQueue.main.setSpecific(key: key, value: ())
15 | return key
16 | }()
17 |
18 | static var isMain: Bool {
19 | return DispatchQueue.getSpecific(key: token) != nil
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/ios/Pods/RxTest/Platform/Platform.Darwin.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Platform.Darwin.swift
3 | // Platform
4 | //
5 | // Created by Krunoslav Zaher on 12/29/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(macOS) || os(iOS) || os(tvOS) || os(watchOS)
10 |
11 | import Darwin
12 | import class Foundation.Thread
13 | import protocol Foundation.NSCopying
14 |
15 | extension Thread {
16 | static func setThreadLocalStorageValue(_ value: T?, forKey key: NSCopying) {
17 | let currentThread = Thread.current
18 | let threadDictionary = currentThread.threadDictionary
19 |
20 | if let newValue = value {
21 | threadDictionary[key] = newValue
22 | }
23 | else {
24 | threadDictionary[key] = nil
25 | }
26 | }
27 |
28 | static func getThreadLocalStorageValueForKey(_ key: NSCopying) -> T? {
29 | let currentThread = Thread.current
30 | let threadDictionary = currentThread.threadDictionary
31 |
32 | return threadDictionary[key] as? T
33 | }
34 | }
35 |
36 | #endif
37 |
--------------------------------------------------------------------------------
/ios/Pods/RxTest/Platform/Platform.Linux.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Platform.Linux.swift
3 | // Platform
4 | //
5 | // Created by Krunoslav Zaher on 12/29/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(Linux)
10 |
11 | import class Foundation.Thread
12 |
13 | extension Thread {
14 |
15 | static func setThreadLocalStorageValue(_ value: T?, forKey key: String) {
16 | if let newValue = value {
17 | Thread.current.threadDictionary[key] = newValue
18 | }
19 | else {
20 | Thread.current.threadDictionary[key] = nil
21 | }
22 | }
23 |
24 | static func getThreadLocalStorageValueForKey(_ key: String) -> T? {
25 | let currentThread = Thread.current
26 | let threadDictionary = currentThread.threadDictionary
27 |
28 | return threadDictionary[key] as? T
29 | }
30 | }
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/ios/Pods/RxTest/Platform/RecursiveLock.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RecursiveLock.swift
3 | // Platform
4 | //
5 | // Created by Krunoslav Zaher on 12/18/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import class Foundation.NSRecursiveLock
10 |
11 | #if TRACE_RESOURCES
12 | class RecursiveLock: NSRecursiveLock {
13 | override init() {
14 | _ = Resources.incrementTotal()
15 | super.init()
16 | }
17 |
18 | override func lock() {
19 | super.lock()
20 | _ = Resources.incrementTotal()
21 | }
22 |
23 | override func unlock() {
24 | super.unlock()
25 | _ = Resources.decrementTotal()
26 | }
27 |
28 | deinit {
29 | _ = Resources.decrementTotal()
30 | }
31 | }
32 | #else
33 | typealias RecursiveLock = NSRecursiveLock
34 | #endif
35 |
--------------------------------------------------------------------------------
/ios/Pods/RxTest/RxTest/Any+Equatable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Any+Equatable.swift
3 | // RxTest
4 | //
5 | // Created by Krunoslav Zaher on 12/19/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | /// A way to use built in XCTest methods with objects that are partially equatable.
10 | ///
11 | /// If this can be done simpler, PRs are welcome :)
12 | struct AnyEquatable
13 | : Equatable {
14 | typealias Comparer = (Target, Target) -> Bool
15 |
16 | let _target: Target
17 | let _comparer: Comparer
18 |
19 | init(target: Target, comparer: @escaping Comparer) {
20 | self._target = target
21 | self._comparer = comparer
22 | }
23 | }
24 |
25 | func == (lhs: AnyEquatable, rhs: AnyEquatable) -> Bool {
26 | return lhs._comparer(lhs._target, rhs._target)
27 | }
28 |
29 | extension AnyEquatable
30 | : CustomDebugStringConvertible
31 | , CustomStringConvertible {
32 | var description: String {
33 | return "\(self._target)"
34 | }
35 |
36 | var debugDescription: String {
37 | return "\(self._target)"
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/ios/Pods/RxTest/RxTest/ColdObservable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ColdObservable.swift
3 | // RxTest
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 | /// A representation of cold observable sequence.
12 | ///
13 | /// Recorded events are replayed after subscription once per subscriber.
14 | ///
15 | /// Event times represent relative offset to subscription time.
16 | final class ColdObservable
17 | : TestableObservable {
18 |
19 | override init(testScheduler: TestScheduler, recordedEvents: [Recorded>]) {
20 | super.init(testScheduler: testScheduler, recordedEvents: recordedEvents)
21 | }
22 |
23 | /// Subscribes `observer` to receive events for this sequence.
24 | override func subscribe(_ observer: Observer) -> Disposable where Observer.Element == Element {
25 | self.subscriptions.append(Subscription(self.testScheduler.clock))
26 |
27 | let i = self.subscriptions.count - 1
28 |
29 | var disposed = false
30 |
31 | for recordedEvent in self.recordedEvents {
32 | _ = self.testScheduler.scheduleRelativeVirtual((), dueTime: recordedEvent.time, action: { _ in
33 | if !disposed {
34 | observer.on(recordedEvent.value)
35 | }
36 | return Disposables.create()
37 | })
38 | }
39 |
40 | return Disposables.create {
41 | disposed = true
42 | let existing = self.subscriptions[i]
43 | self.subscriptions[i] = Subscription(existing.subscribe, self.testScheduler.clock)
44 | }
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/ios/Pods/RxTest/RxTest/Recorded.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Recorded.swift
3 | // RxTest
4 | //
5 | // Created by Krunoslav Zaher on 2/14/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import RxSwift
10 | import Swift
11 |
12 | /// Record of a value including the virtual time it was produced on.
13 | public struct Recorded
14 | : CustomDebugStringConvertible {
15 |
16 | /// Gets the virtual time the value was produced on.
17 | public let time: TestTime
18 |
19 | /// Gets the recorded value.
20 | public let value: Value
21 |
22 | public init(time: TestTime, value: Value) {
23 | self.time = time
24 | self.value = value
25 | }
26 | }
27 |
28 | extension Recorded {
29 | /// A textual representation of `self`, suitable for debugging.
30 | public var debugDescription: String {
31 | return "\(self.value) @ \(self.time)"
32 | }
33 | }
34 |
35 | extension Recorded: Equatable where Value: Equatable {
36 | public static func == (lhs: Recorded, rhs: Recorded) -> Bool {
37 | return lhs.time == rhs.time && lhs.value == rhs.value
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/ios/Pods/RxTest/RxTest/RxTest.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RxTest.swift
3 | // RxTest
4 | //
5 | // Created by Krunoslav Zaher on 12/19/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | /// Virtual time type.
10 | public typealias TestTime = Int
11 |
12 |
--------------------------------------------------------------------------------
/ios/Pods/RxTest/RxTest/TestableObservable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // TestableObservable.swift
3 | // RxTest
4 | //
5 | // Created by Krunoslav Zaher on 12/28/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import RxSwift
10 |
11 | /// Observable sequence that records subscription lifetimes and timestamped events sent to observers.
12 | public class TestableObservable
13 | : ObservableType {
14 | /// Subscriptions recorded during observable lifetime.
15 | public internal(set) var subscriptions: [Subscription]
16 |
17 | /// List of events to replay for all subscribers.
18 | ///
19 | /// Event times represent absolute `TestScheduler` time.
20 | public internal(set) var recordedEvents: [Recorded>]
21 |
22 | /// Parent test scheduler.
23 | internal let testScheduler: TestScheduler
24 |
25 | init(testScheduler: TestScheduler, recordedEvents: [Recorded>]) {
26 | self.testScheduler = testScheduler
27 | self.recordedEvents = recordedEvents
28 | self.subscriptions = []
29 | }
30 |
31 | public func subscribe(_ observer: Observer) -> Disposable where Observer.Element == Element {
32 | fatalError("Abstract method")
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/ios/Pods/RxTest/RxTest/TestableObserver.swift:
--------------------------------------------------------------------------------
1 | //
2 | // TestableObserver.swift
3 | // RxTest
4 | //
5 | // Created by Krunoslav Zaher on 2/15/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import RxSwift
10 |
11 | /// Observer that records events together with virtual time when they were received.
12 | public final class TestableObserver
13 | : ObserverType {
14 | private let _scheduler: TestScheduler
15 |
16 | /// Recorded events.
17 | public private(set) var events = [Recorded>]()
18 |
19 | init(scheduler: TestScheduler) {
20 | self._scheduler = scheduler
21 | }
22 |
23 | /// Notify observer about sequence event.
24 | ///
25 | /// - parameter event: Event that occurred.
26 | public func on(_ event: Event) {
27 | self.events.append(Recorded(time: self._scheduler.clock, value: event))
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/Pods-SwiftCoroutines/Pods-SwiftCoroutines-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 | 1.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/Pods-SwiftCoroutines/Pods-SwiftCoroutines-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_SwiftCoroutines : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_SwiftCoroutines
5 | @end
6 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/Pods-SwiftCoroutines/Pods-SwiftCoroutines-frameworks-Debug-input-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${PODS_ROOT}/Target Support Files/Pods-SwiftCoroutines/Pods-SwiftCoroutines-frameworks.sh
2 | ${BUILT_PRODUCTS_DIR}/RxCocoa/RxCocoa.framework
3 | ${BUILT_PRODUCTS_DIR}/RxRelay/RxRelay.framework
4 | ${BUILT_PRODUCTS_DIR}/RxSwift/RxSwift.framework
5 | ${PODS_ROOT}/../../shared/build/cocoapods/framework/shared.framework
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/Pods-SwiftCoroutines/Pods-SwiftCoroutines-frameworks-Debug-output-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxCocoa.framework
2 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxRelay.framework
3 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxSwift.framework
4 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/shared.framework
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/Pods-SwiftCoroutines/Pods-SwiftCoroutines-frameworks-Release-input-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${PODS_ROOT}/Target Support Files/Pods-SwiftCoroutines/Pods-SwiftCoroutines-frameworks.sh
2 | ${BUILT_PRODUCTS_DIR}/RxCocoa/RxCocoa.framework
3 | ${BUILT_PRODUCTS_DIR}/RxRelay/RxRelay.framework
4 | ${BUILT_PRODUCTS_DIR}/RxSwift/RxSwift.framework
5 | ${PODS_ROOT}/../../shared/build/cocoapods/framework/shared.framework
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/Pods-SwiftCoroutines/Pods-SwiftCoroutines-frameworks-Release-output-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxCocoa.framework
2 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxRelay.framework
3 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxSwift.framework
4 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/shared.framework
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/Pods-SwiftCoroutines/Pods-SwiftCoroutines-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double Pods_SwiftCoroutinesVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char Pods_SwiftCoroutinesVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/Pods-SwiftCoroutines/Pods-SwiftCoroutines.debug.xcconfig:
--------------------------------------------------------------------------------
1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
2 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" "${PODS_ROOT}/../../shared/build/cocoapods/framework"
4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
5 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa/RxCocoa.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay/RxRelay.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift/RxSwift.framework/Headers"
6 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
7 | OTHER_LDFLAGS = $(inherited) -ObjC -l"c++" -framework "RxCocoa" -framework "RxRelay" -framework "RxSwift" -framework "shared"
8 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
9 | PODS_BUILD_DIR = ${BUILD_DIR}
10 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
11 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
12 | PODS_ROOT = ${SRCROOT}/Pods
13 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
14 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
15 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/Pods-SwiftCoroutines/Pods-SwiftCoroutines.modulemap:
--------------------------------------------------------------------------------
1 | framework module Pods_SwiftCoroutines {
2 | umbrella header "Pods-SwiftCoroutines-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/Pods-SwiftCoroutines/Pods-SwiftCoroutines.release.xcconfig:
--------------------------------------------------------------------------------
1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
2 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" "${PODS_ROOT}/../../shared/build/cocoapods/framework"
4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
5 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa/RxCocoa.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay/RxRelay.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift/RxSwift.framework/Headers"
6 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
7 | OTHER_LDFLAGS = $(inherited) -ObjC -l"c++" -framework "RxCocoa" -framework "RxRelay" -framework "RxSwift" -framework "shared"
8 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
9 | PODS_BUILD_DIR = ${BUILD_DIR}
10 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
11 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
12 | PODS_ROOT = ${SRCROOT}/Pods
13 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
14 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
15 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/Pods-SwiftCoroutinesTests/Pods-SwiftCoroutinesTests-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 | 1.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/Pods-SwiftCoroutinesTests/Pods-SwiftCoroutinesTests-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_SwiftCoroutinesTests : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_SwiftCoroutinesTests
5 | @end
6 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/Pods-SwiftCoroutinesTests/Pods-SwiftCoroutinesTests-frameworks-Debug-input-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${PODS_ROOT}/Target Support Files/Pods-SwiftCoroutinesTests/Pods-SwiftCoroutinesTests-frameworks.sh
2 | ${BUILT_PRODUCTS_DIR}/RxCocoa/RxCocoa.framework
3 | ${BUILT_PRODUCTS_DIR}/RxRelay/RxRelay.framework
4 | ${BUILT_PRODUCTS_DIR}/RxSwift/RxSwift.framework
5 | ${PODS_ROOT}/../../shared/build/cocoapods/framework/shared.framework
6 | ${BUILT_PRODUCTS_DIR}/RxBlocking/RxBlocking.framework
7 | ${BUILT_PRODUCTS_DIR}/RxTest/RxTest.framework
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/Pods-SwiftCoroutinesTests/Pods-SwiftCoroutinesTests-frameworks-Debug-output-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxCocoa.framework
2 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxRelay.framework
3 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxSwift.framework
4 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/shared.framework
5 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxBlocking.framework
6 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxTest.framework
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/Pods-SwiftCoroutinesTests/Pods-SwiftCoroutinesTests-frameworks-Release-input-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${PODS_ROOT}/Target Support Files/Pods-SwiftCoroutinesTests/Pods-SwiftCoroutinesTests-frameworks.sh
2 | ${BUILT_PRODUCTS_DIR}/RxCocoa/RxCocoa.framework
3 | ${BUILT_PRODUCTS_DIR}/RxRelay/RxRelay.framework
4 | ${BUILT_PRODUCTS_DIR}/RxSwift/RxSwift.framework
5 | ${PODS_ROOT}/../../shared/build/cocoapods/framework/shared.framework
6 | ${BUILT_PRODUCTS_DIR}/RxBlocking/RxBlocking.framework
7 | ${BUILT_PRODUCTS_DIR}/RxTest/RxTest.framework
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/Pods-SwiftCoroutinesTests/Pods-SwiftCoroutinesTests-frameworks-Release-output-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxCocoa.framework
2 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxRelay.framework
3 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxSwift.framework
4 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/shared.framework
5 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxBlocking.framework
6 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxTest.framework
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/Pods-SwiftCoroutinesTests/Pods-SwiftCoroutinesTests-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double Pods_SwiftCoroutinesTestsVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char Pods_SwiftCoroutinesTestsVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/Pods-SwiftCoroutinesTests/Pods-SwiftCoroutinesTests.debug.xcconfig:
--------------------------------------------------------------------------------
1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
2 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" "${PODS_CONFIGURATION_BUILD_DIR}/RxBlocking" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" "${PODS_CONFIGURATION_BUILD_DIR}/RxTest" "${PODS_ROOT}/../../shared/build/cocoapods/framework"
4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
5 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/RxBlocking/RxBlocking.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa/RxCocoa.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay/RxRelay.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift/RxSwift.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RxTest/RxTest.framework/Headers"
6 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
7 | OTHER_LDFLAGS = $(inherited) -ObjC -l"c++" -framework "RxBlocking" -framework "RxCocoa" -framework "RxRelay" -framework "RxSwift" -framework "RxTest" -framework "XCTest" -framework "shared"
8 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
9 | PODS_BUILD_DIR = ${BUILD_DIR}
10 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
11 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
12 | PODS_ROOT = ${SRCROOT}/Pods
13 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
14 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
15 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/Pods-SwiftCoroutinesTests/Pods-SwiftCoroutinesTests.modulemap:
--------------------------------------------------------------------------------
1 | framework module Pods_SwiftCoroutinesTests {
2 | umbrella header "Pods-SwiftCoroutinesTests-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/Pods-SwiftCoroutinesTests/Pods-SwiftCoroutinesTests.release.xcconfig:
--------------------------------------------------------------------------------
1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
2 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" "${PODS_CONFIGURATION_BUILD_DIR}/RxBlocking" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" "${PODS_CONFIGURATION_BUILD_DIR}/RxTest" "${PODS_ROOT}/../../shared/build/cocoapods/framework"
4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
5 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/RxBlocking/RxBlocking.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa/RxCocoa.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay/RxRelay.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift/RxSwift.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/RxTest/RxTest.framework/Headers"
6 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
7 | OTHER_LDFLAGS = $(inherited) -ObjC -l"c++" -framework "RxBlocking" -framework "RxCocoa" -framework "RxRelay" -framework "RxSwift" -framework "RxTest" -framework "XCTest" -framework "shared"
8 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
9 | PODS_BUILD_DIR = ${BUILD_DIR}
10 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
11 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
12 | PODS_ROOT = ${SRCROOT}/Pods
13 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
14 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
15 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/RxBlocking/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 | 5.1.1
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/RxBlocking/RxBlocking-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_RxBlocking : NSObject
3 | @end
4 | @implementation PodsDummy_RxBlocking
5 | @end
6 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/RxBlocking/RxBlocking-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/RxBlocking/RxBlocking-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double RxBlockingVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char RxBlockingVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/RxBlocking/RxBlocking.debug.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/RxBlocking
3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift"
4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
5 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
6 | PODS_BUILD_DIR = ${BUILD_DIR}
7 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
8 | PODS_ROOT = ${SRCROOT}
9 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/RxBlocking
10 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
11 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
12 | SKIP_INSTALL = YES
13 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
14 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/RxBlocking/RxBlocking.modulemap:
--------------------------------------------------------------------------------
1 | framework module RxBlocking {
2 | umbrella header "RxBlocking-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/RxBlocking/RxBlocking.release.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/RxBlocking
3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift"
4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
5 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
6 | PODS_BUILD_DIR = ${BUILD_DIR}
7 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
8 | PODS_ROOT = ${SRCROOT}
9 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/RxBlocking
10 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
11 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
12 | SKIP_INSTALL = YES
13 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
14 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/RxCocoa/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 | 5.1.1
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/RxCocoa/RxCocoa-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_RxCocoa : NSObject
3 | @end
4 | @implementation PodsDummy_RxCocoa
5 | @end
6 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/RxCocoa/RxCocoa-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/RxCocoa/RxCocoa-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 | #import "RxCocoaRuntime.h"
14 | #import "_RX.h"
15 | #import "_RXDelegateProxy.h"
16 | #import "_RXKVOObserver.h"
17 | #import "_RXObjCRuntime.h"
18 | #import "RxCocoa.h"
19 |
20 | FOUNDATION_EXPORT double RxCocoaVersionNumber;
21 | FOUNDATION_EXPORT const unsigned char RxCocoaVersionString[];
22 |
23 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/RxCocoa/RxCocoa.debug.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa
3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift"
4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
5 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
6 | PODS_BUILD_DIR = ${BUILD_DIR}
7 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
8 | PODS_ROOT = ${SRCROOT}
9 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/RxCocoa
10 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
11 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
12 | SKIP_INSTALL = YES
13 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
14 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/RxCocoa/RxCocoa.modulemap:
--------------------------------------------------------------------------------
1 | framework module RxCocoa {
2 | umbrella header "RxCocoa-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/RxCocoa/RxCocoa.release.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa
3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift"
4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
5 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
6 | PODS_BUILD_DIR = ${BUILD_DIR}
7 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
8 | PODS_ROOT = ${SRCROOT}
9 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/RxCocoa
10 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
11 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
12 | SKIP_INSTALL = YES
13 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
14 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/RxRelay/RxRelay-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 | 5.1.1
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/RxRelay/RxRelay-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_RxRelay : NSObject
3 | @end
4 | @implementation PodsDummy_RxRelay
5 | @end
6 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/RxRelay/RxRelay-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/RxRelay/RxRelay-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double RxRelayVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char RxRelayVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/RxRelay/RxRelay.debug.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/RxRelay
3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift"
4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
5 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
6 | PODS_BUILD_DIR = ${BUILD_DIR}
7 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
8 | PODS_ROOT = ${SRCROOT}
9 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/RxRelay
10 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
11 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
12 | SKIP_INSTALL = YES
13 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
14 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/RxRelay/RxRelay.modulemap:
--------------------------------------------------------------------------------
1 | framework module RxRelay {
2 | umbrella header "RxRelay-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/RxRelay/RxRelay.release.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/RxRelay
3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift"
4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
5 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
6 | PODS_BUILD_DIR = ${BUILD_DIR}
7 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
8 | PODS_ROOT = ${SRCROOT}
9 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/RxRelay
10 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
11 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
12 | SKIP_INSTALL = YES
13 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
14 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/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 | 5.1.1
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/RxSwift/RxSwift-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_RxSwift : NSObject
3 | @end
4 | @implementation PodsDummy_RxSwift
5 | @end
6 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/RxSwift/RxSwift-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/RxSwift/RxSwift-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double RxSwiftVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char RxSwiftVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/RxSwift/RxSwift.debug.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/RxSwift
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
5 | PODS_BUILD_DIR = ${BUILD_DIR}
6 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
7 | PODS_ROOT = ${SRCROOT}
8 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/RxSwift
9 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
10 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
11 | SKIP_INSTALL = YES
12 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
13 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/RxSwift/RxSwift.modulemap:
--------------------------------------------------------------------------------
1 | framework module RxSwift {
2 | umbrella header "RxSwift-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/RxSwift/RxSwift.release.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/RxSwift
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
5 | PODS_BUILD_DIR = ${BUILD_DIR}
6 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
7 | PODS_ROOT = ${SRCROOT}
8 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/RxSwift
9 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
10 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
11 | SKIP_INSTALL = YES
12 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
13 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/RxTest/RxTest-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 | 5.1.1
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/RxTest/RxTest-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_RxTest : NSObject
3 | @end
4 | @implementation PodsDummy_RxTest
5 | @end
6 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/RxTest/RxTest-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/RxTest/RxTest-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double RxTestVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char RxTestVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/RxTest/RxTest.debug.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/RxTest
3 | ENABLE_BITCODE = NO
4 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift"
5 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
6 | LIBRARY_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib"
7 | OTHER_LDFLAGS = $(inherited) -framework "XCTest"
8 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
9 | PODS_BUILD_DIR = ${BUILD_DIR}
10 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
11 | PODS_ROOT = ${SRCROOT}
12 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/RxTest
13 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
14 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
15 | SKIP_INSTALL = YES
16 | SWIFT_INCLUDE_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib"
17 | SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks"
18 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
19 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/RxTest/RxTest.modulemap:
--------------------------------------------------------------------------------
1 | framework module RxTest {
2 | umbrella header "RxTest-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/RxTest/RxTest.release.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/RxTest
3 | ENABLE_BITCODE = NO
4 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift"
5 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
6 | LIBRARY_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib"
7 | OTHER_LDFLAGS = $(inherited) -framework "XCTest"
8 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
9 | PODS_BUILD_DIR = ${BUILD_DIR}
10 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
11 | PODS_ROOT = ${SRCROOT}
12 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/RxTest
13 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
14 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
15 | SKIP_INSTALL = YES
16 | SWIFT_INCLUDE_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib"
17 | SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks"
18 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
19 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/shared/shared-copy-dsyms-input-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${PODS_ROOT}/../../shared/build/cocoapods/framework/shared.framework.dSYM
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/shared/shared-copy-dsyms-output-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${DWARF_DSYM_FOLDER_PATH}/shared.framework.dSYM
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/shared/shared.debug.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/shared
3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/../../shared/build/cocoapods/framework"
4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
5 | KOTLIN_TARGET[sdk=appletvos*] = tvos_arm64
6 | KOTLIN_TARGET[sdk=appletvsimulator*] = tvos_x64
7 | KOTLIN_TARGET[sdk=iphoneos*] = ios_arm
8 | KOTLIN_TARGET[sdk=iphonesimulator*] = ios_x64
9 | KOTLIN_TARGET[sdk=macosx*] = macos_x64
10 | KOTLIN_TARGET[sdk=watchos*] = watchos_arm
11 | KOTLIN_TARGET[sdk=watchsimulator*] = watchos_x64
12 | PODS_BUILD_DIR = ${BUILD_DIR}
13 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
14 | PODS_ROOT = ${SRCROOT}
15 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/../../shared
16 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
17 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
18 | SKIP_INSTALL = YES
19 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
20 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/shared/shared.release.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/shared
3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/../../shared/build/cocoapods/framework"
4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
5 | KOTLIN_TARGET[sdk=appletvos*] = tvos_arm64
6 | KOTLIN_TARGET[sdk=appletvsimulator*] = tvos_x64
7 | KOTLIN_TARGET[sdk=iphoneos*] = ios_arm
8 | KOTLIN_TARGET[sdk=iphonesimulator*] = ios_x64
9 | KOTLIN_TARGET[sdk=macosx*] = macos_x64
10 | KOTLIN_TARGET[sdk=watchos*] = watchos_arm
11 | KOTLIN_TARGET[sdk=watchsimulator*] = watchos_x64
12 | PODS_BUILD_DIR = ${BUILD_DIR}
13 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
14 | PODS_ROOT = ${SRCROOT}
15 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/../../shared
16 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
17 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
18 | SKIP_INSTALL = YES
19 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
20 |
--------------------------------------------------------------------------------
/ios/SwiftCoroutines.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ios/SwiftCoroutines.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/SwiftCoroutines.xcodeproj/xcuserdata/russell.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | SuppressBuildableAutocreation
8 |
9 | 46856E512491D6B500605467
10 |
11 | primary
12 |
13 |
14 | 46856E672491D6B800605467
15 |
16 | primary
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/ios/SwiftCoroutines.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/ios/SwiftCoroutines.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/SwiftCoroutines.xcworkspace/xcuserdata/russell.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | SwiftCoroutines.xcscheme_^#shared#^_
8 |
9 | orderHint
10 | 0
11 |
12 | SwiftCoroutinesTests.xcscheme_^#shared#^_
13 |
14 | orderHint
15 | 9
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/ios/SwiftCoroutines/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.swift
3 | // SwiftCoroutines
4 | //
5 | // Created by Russell Wolf on 6/10/20.
6 | // Copyright © 2020 Touchlab. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | @UIApplicationMain
12 | class AppDelegate: UIResponder, UIApplicationDelegate {
13 |
14 |
15 |
16 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
17 | // Override point for customization after application launch.
18 | return true
19 | }
20 |
21 | // MARK: UISceneSession Lifecycle
22 |
23 | func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration {
24 | // Called when a new scene session is being created.
25 | // Use this method to select a configuration to create the new scene with.
26 | return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role)
27 | }
28 |
29 | func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set) {
30 | // Called when the user discards a scene session.
31 | // If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions.
32 | // Use this method to release any resources that were specific to the discarded scenes, as they will not return.
33 | }
34 |
35 |
36 | }
37 |
38 |
--------------------------------------------------------------------------------
/ios/SwiftCoroutines/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info": {
3 | "author": "xcode",
4 | "version": 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/ios/SwiftCoroutines/Base.lproj/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |