├── .gitignore ├── .idea ├── ReRxSwift.iml ├── encodings.xml ├── modules.xml ├── runConfigurations │ ├── AllTests.xml │ ├── Example.xml │ └── ReRxSwift.xml ├── vcs.xml └── xcode.xml ├── .jazzy.yaml ├── .travis.yml ├── CHANGELOG ├── Cartfile ├── Example ├── ActionLogger.swift ├── AppDelegate.swift ├── AppState.swift ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── Reducer.swift ├── SimpleTextField │ ├── SimpleTextFieldActions.swift │ ├── SimpleTextFieldReducer.swift │ ├── SimpleTextFieldState.swift │ └── SimpleTextFieldViewController.swift ├── SteppingUp │ ├── SteppingUpActions.swift │ ├── SteppingUpReducer.swift │ ├── SteppingUpState.swift │ └── SteppingUpViewController.swift ├── Store.swift ├── StoreLogger.swift └── TableAndCollection │ ├── CollectionViewController.swift │ ├── TableAndCollectionActions.swift │ ├── TableAndCollectionReducer.swift │ ├── TableAndCollectionState.swift │ └── TableViewController.swift ├── ExampleTests ├── Info.plist ├── SimpleTextField │ ├── SimpleTextFieldReducerSpec.swift │ └── SimpleTextFieldViewControllerSpec.swift ├── SteppingUp │ ├── SteppingUpReducerSpec.swift │ └── SteppingUpViewControllerSpec.swift ├── TableAndCollection │ ├── TableAndCollectionReducerSpec.swift │ └── TableViewControllerSpec.swift ├── TestActions.swift ├── TestReducer.swift └── TestUtils.swift ├── Gemfile ├── Gemfile.lock ├── LICENSE ├── Package.resolved ├── Package.swift ├── Podfile ├── Podfile.lock ├── Pods ├── Differentiator │ ├── LICENSE.md │ ├── README.md │ └── Sources │ │ └── Differentiator │ │ ├── AnimatableSectionModel.swift │ │ ├── AnimatableSectionModelType+ItemPath.swift │ │ ├── AnimatableSectionModelType.swift │ │ ├── Changeset.swift │ │ ├── Diff.swift │ │ ├── IdentifiableType.swift │ │ ├── IdentifiableValue.swift │ │ ├── ItemPath.swift │ │ ├── Optional+Extensions.swift │ │ ├── SectionModel.swift │ │ ├── SectionModelType.swift │ │ └── Utilities.swift ├── Manifest.lock ├── Nimble │ ├── Carthage │ │ └── Checkouts │ │ │ ├── CwlCatchException │ │ │ └── Sources │ │ │ │ ├── CwlCatchException │ │ │ │ └── CwlCatchException.swift │ │ │ │ └── CwlCatchExceptionSupport │ │ │ │ ├── CwlCatchException.m │ │ │ │ └── include │ │ │ │ └── CwlCatchException.h │ │ │ └── CwlPreconditionTesting │ │ │ └── Sources │ │ │ ├── CwlMachBadInstructionHandler │ │ │ ├── CwlMachBadInstructionHandler.m │ │ │ ├── include │ │ │ │ └── CwlMachBadInstructionHandler.h │ │ │ ├── mach_excServer.c │ │ │ └── mach_excServer.h │ │ │ └── CwlPreconditionTesting │ │ │ ├── CwlBadInstructionException.swift │ │ │ ├── CwlCatchBadInstruction.swift │ │ │ └── CwlDarwinDefinitions.swift │ ├── LICENSE │ ├── README.md │ └── Sources │ │ ├── Nimble │ │ ├── Adapters │ │ │ ├── AdapterProtocols.swift │ │ │ ├── AssertionDispatcher.swift │ │ │ ├── AssertionRecorder.swift │ │ │ ├── NMBExpectation.swift │ │ │ ├── NMBObjCMatcher.swift │ │ │ ├── NimbleEnvironment.swift │ │ │ └── NimbleXCTestHandler.swift │ │ ├── DSL+Wait.swift │ │ ├── DSL.swift │ │ ├── Expectation.swift │ │ ├── ExpectationMessage.swift │ │ ├── Expression.swift │ │ ├── FailureMessage.swift │ │ ├── Matchers │ │ │ ├── AllPass.swift │ │ │ ├── Async.swift │ │ │ ├── BeAKindOf.swift │ │ │ ├── BeAnInstanceOf.swift │ │ │ ├── BeCloseTo.swift │ │ │ ├── BeEmpty.swift │ │ │ ├── BeGreaterThan.swift │ │ │ ├── BeGreaterThanOrEqualTo.swift │ │ │ ├── BeIdenticalTo.swift │ │ │ ├── BeLessThan.swift │ │ │ ├── BeLessThanOrEqual.swift │ │ │ ├── BeLogical.swift │ │ │ ├── BeNil.swift │ │ │ ├── BeVoid.swift │ │ │ ├── BeginWith.swift │ │ │ ├── BeginWithPrefix.swift │ │ │ ├── Contain.swift │ │ │ ├── ContainElementSatisfying.swift │ │ │ ├── ElementsEqual.swift │ │ │ ├── EndWith.swift │ │ │ ├── Equal.swift │ │ │ ├── HaveCount.swift │ │ │ ├── Match.swift │ │ │ ├── MatchError.swift │ │ │ ├── MatcherFunc.swift │ │ │ ├── MatcherProtocols.swift │ │ │ ├── PostNotification.swift │ │ │ ├── Predicate.swift │ │ │ ├── RaisesException.swift │ │ │ ├── SatisfyAllOf.swift │ │ │ ├── SatisfyAnyOf.swift │ │ │ ├── ThrowAssertion.swift │ │ │ ├── ThrowError.swift │ │ │ └── ToSucceed.swift │ │ ├── Nimble.h │ │ └── Utils │ │ │ ├── Await.swift │ │ │ ├── DispatchTimeInterval.swift │ │ │ ├── Errors.swift │ │ │ ├── SourceLocation.swift │ │ │ └── Stringers.swift │ │ └── NimbleObjectiveC │ │ ├── DSL.h │ │ ├── DSL.m │ │ ├── NMBExceptionCapture.h │ │ ├── NMBExceptionCapture.m │ │ ├── NMBStringify.h │ │ ├── NMBStringify.m │ │ └── XCTestObservationCenter+Register.m ├── Pods.xcodeproj │ └── project.pbxproj ├── Quick │ ├── LICENSE │ ├── README.md │ └── Sources │ │ ├── Quick │ │ ├── Behavior.swift │ │ ├── Callsite.swift │ │ ├── Configuration │ │ │ ├── Configuration.swift │ │ │ └── QuickConfiguration.swift │ │ ├── DSL │ │ │ ├── DSL.swift │ │ │ └── World+DSL.swift │ │ ├── ErrorUtility.swift │ │ ├── Example.swift │ │ ├── ExampleGroup.swift │ │ ├── ExampleMetadata.swift │ │ ├── Filter.swift │ │ ├── Hooks │ │ │ ├── Closures.swift │ │ │ ├── ExampleHooks.swift │ │ │ ├── HooksPhase.swift │ │ │ └── SuiteHooks.swift │ │ ├── NSBundle+CurrentTestBundle.swift │ │ ├── QuickSelectedTestSuiteBuilder.swift │ │ ├── QuickTestObservation.swift │ │ ├── QuickTestSuite.swift │ │ ├── String+C99ExtendedIdentifier.swift │ │ ├── URL+FileName.swift │ │ └── World.swift │ │ ├── QuickObjCRuntime │ │ ├── QuickSpecBase.m │ │ └── include │ │ │ ├── QuickObjCRuntime.h │ │ │ └── QuickSpecBase.h │ │ └── QuickObjectiveC │ │ ├── Configuration │ │ ├── QuickConfiguration.h │ │ └── QuickConfiguration.m │ │ ├── DSL │ │ ├── QCKDSL.h │ │ └── QCKDSL.m │ │ ├── Quick.h │ │ ├── QuickSpec.h │ │ ├── QuickSpec.m │ │ └── XCTestSuite+QuickTestSuiteBuilder.m ├── ReSwift │ ├── LICENSE.md │ ├── README.md │ └── ReSwift │ │ ├── CoreTypes │ │ ├── Action.swift │ │ ├── DispatchingStoreType.swift │ │ ├── Middleware.swift │ │ ├── Reducer.swift │ │ ├── State.swift │ │ ├── Store.swift │ │ ├── StoreSubscriber.swift │ │ ├── StoreType.swift │ │ └── Subscription.swift │ │ └── Utils │ │ ├── Assertions.swift │ │ ├── Coding.swift │ │ ├── Synchronized.swift │ │ └── TypeHelper.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 │ │ ├── ControlTarget.swift │ │ ├── DelegateProxy.swift │ │ ├── DelegateProxyType.swift │ │ ├── Infallible+Bind.swift │ │ ├── Observable+Bind.swift │ │ ├── RxCocoaObjCRuntimeError+Extensions.swift │ │ ├── RxTarget.swift │ │ ├── SectionedViewDataSourceType.swift │ │ └── TextInput.swift │ │ ├── Foundation │ │ ├── KVORepresentable+CoreGraphics.swift │ │ ├── KVORepresentable+Swift.swift │ │ ├── KVORepresentable.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 │ │ ├── UIApplication+Rx.swift │ │ ├── UIBarButtonItem+Rx.swift │ │ ├── UIButton+Rx.swift │ │ ├── UICollectionView+Rx.swift │ │ ├── UIControl+Rx.swift │ │ ├── UIDatePicker+Rx.swift │ │ ├── UIGestureRecognizer+Rx.swift │ │ ├── UINavigationController+Rx.swift │ │ ├── UIPickerView+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 │ │ ├── UITableView+Rx.swift │ │ ├── UITextField+Rx.swift │ │ ├── UITextView+Rx.swift │ │ └── WKWebView+Rx.swift │ │ └── macOS │ │ ├── NSButton+Rx.swift │ │ ├── NSControl+Rx.swift │ │ ├── NSSlider+Rx.swift │ │ ├── NSTextField+Rx.swift │ │ ├── NSTextView+Rx.swift │ │ └── NSView+Rx.swift ├── RxDataSources │ ├── LICENSE.md │ ├── README.md │ └── Sources │ │ └── RxDataSources │ │ ├── AnimationConfiguration.swift │ │ ├── Array+Extensions.swift │ │ ├── CollectionViewSectionedDataSource.swift │ │ ├── DataSources.swift │ │ ├── Deprecated.swift │ │ ├── FloatingPointType+IdentifiableType.swift │ │ ├── IntegerType+IdentifiableType.swift │ │ ├── RxCollectionViewSectionedAnimatedDataSource.swift │ │ ├── RxCollectionViewSectionedReloadDataSource.swift │ │ ├── RxPickerViewAdapter.swift │ │ ├── RxTableViewSectionedAnimatedDataSource.swift │ │ ├── RxTableViewSectionedReloadDataSource.swift │ │ ├── String+IdentifiableType.swift │ │ ├── TableViewSectionedDataSource.swift │ │ ├── UI+SectionedViewType.swift │ │ └── ViewTransition.swift ├── RxRelay │ ├── LICENSE.md │ ├── README.md │ └── RxRelay │ │ ├── BehaviorRelay.swift │ │ ├── Observable+Bind.swift │ │ ├── PublishRelay.swift │ │ ├── ReplayRelay.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 │ │ ├── Binder.swift │ │ ├── Cancelable.swift │ │ ├── Concurrency │ │ ├── AsyncLock.swift │ │ ├── Lock.swift │ │ ├── LockOwnerType.swift │ │ ├── SynchronizedDisposeType.swift │ │ ├── SynchronizedOnType.swift │ │ └── SynchronizedUnsubscribeType.swift │ │ ├── ConnectableObservableType.swift │ │ ├── Date+Dispatch.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 │ │ ├── Decode.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 │ │ ├── TakeWithPredicate.swift │ │ ├── Throttle.swift │ │ ├── Timeout.swift │ │ ├── Timer.swift │ │ ├── ToArray.swift │ │ ├── Using.swift │ │ ├── Window.swift │ │ ├── WithLatestFrom.swift │ │ ├── WithUnretained.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 │ │ ├── Infallible │ │ ├── Infallible+CombineLatest+arity.swift │ │ ├── Infallible+Create.swift │ │ ├── Infallible+Operators.swift │ │ ├── Infallible+Zip+arity.swift │ │ ├── Infallible.swift │ │ └── ObservableConvertibleType+Infallible.swift │ │ └── PrimitiveSequence │ │ ├── Completable+AndThen.swift │ │ ├── Completable.swift │ │ ├── Maybe.swift │ │ ├── ObservableType+PrimitiveSequence.swift │ │ ├── PrimitiveSequence+Zip+arity.swift │ │ ├── PrimitiveSequence.swift │ │ └── Single.swift └── Target Support Files │ ├── Differentiator │ ├── Differentiator-Info.plist │ ├── Differentiator-dummy.m │ ├── Differentiator-prefix.pch │ ├── Differentiator-umbrella.h │ ├── Differentiator.debug.xcconfig │ ├── Differentiator.modulemap │ ├── Differentiator.release.xcconfig │ ├── Differentiator.xcconfig │ └── Info.plist │ ├── Nimble │ ├── Info.plist │ ├── Nimble-Info.plist │ ├── Nimble-dummy.m │ ├── Nimble-prefix.pch │ ├── Nimble-umbrella.h │ ├── Nimble.debug.xcconfig │ ├── Nimble.modulemap │ ├── Nimble.release.xcconfig │ └── Nimble.xcconfig │ ├── Pods-ReRx-Example-ExampleTests │ ├── Info.plist │ ├── Pods-ReRx-Example-ExampleTests-Info.plist │ ├── Pods-ReRx-Example-ExampleTests-acknowledgements.markdown │ ├── Pods-ReRx-Example-ExampleTests-acknowledgements.plist │ ├── Pods-ReRx-Example-ExampleTests-dummy.m │ ├── Pods-ReRx-Example-ExampleTests-frameworks.sh │ ├── Pods-ReRx-Example-ExampleTests-resources.sh │ ├── Pods-ReRx-Example-ExampleTests-umbrella.h │ ├── Pods-ReRx-Example-ExampleTests.debug.xcconfig │ ├── Pods-ReRx-Example-ExampleTests.modulemap │ └── Pods-ReRx-Example-ExampleTests.release.xcconfig │ ├── Pods-ReRx-Example │ ├── Info.plist │ ├── Pods-ReRx-Example-Info.plist │ ├── Pods-ReRx-Example-acknowledgements.markdown │ ├── Pods-ReRx-Example-acknowledgements.plist │ ├── Pods-ReRx-Example-dummy.m │ ├── Pods-ReRx-Example-frameworks.sh │ ├── Pods-ReRx-Example-resources.sh │ ├── Pods-ReRx-Example-umbrella.h │ ├── Pods-ReRx-Example.debug.xcconfig │ ├── Pods-ReRx-Example.modulemap │ └── Pods-ReRx-Example.release.xcconfig │ ├── Pods-ReRx-ReRxSwift │ ├── Info.plist │ ├── Pods-ReRx-ReRxSwift-Info.plist │ ├── Pods-ReRx-ReRxSwift-acknowledgements.markdown │ ├── Pods-ReRx-ReRxSwift-acknowledgements.plist │ ├── Pods-ReRx-ReRxSwift-dummy.m │ ├── Pods-ReRx-ReRxSwift-resources.sh │ ├── Pods-ReRx-ReRxSwift-umbrella.h │ ├── Pods-ReRx-ReRxSwift.debug.xcconfig │ ├── Pods-ReRx-ReRxSwift.modulemap │ └── Pods-ReRx-ReRxSwift.release.xcconfig │ ├── Pods-ReRxSwiftTests │ ├── Info.plist │ ├── Pods-ReRxSwiftTests-Info.plist │ ├── Pods-ReRxSwiftTests-acknowledgements.markdown │ ├── Pods-ReRxSwiftTests-acknowledgements.plist │ ├── Pods-ReRxSwiftTests-dummy.m │ ├── Pods-ReRxSwiftTests-frameworks.sh │ ├── Pods-ReRxSwiftTests-resources.sh │ ├── Pods-ReRxSwiftTests-umbrella.h │ ├── Pods-ReRxSwiftTests.debug.xcconfig │ ├── Pods-ReRxSwiftTests.modulemap │ └── Pods-ReRxSwiftTests.release.xcconfig │ ├── Quick │ ├── Info.plist │ ├── Quick-Info.plist │ ├── Quick-dummy.m │ ├── Quick-prefix.pch │ ├── Quick-umbrella.h │ ├── Quick.debug.xcconfig │ ├── Quick.modulemap │ ├── Quick.release.xcconfig │ └── Quick.xcconfig │ ├── ReSwift │ ├── Info.plist │ ├── ReSwift-Info.plist │ ├── ReSwift-dummy.m │ ├── ReSwift-prefix.pch │ ├── ReSwift-umbrella.h │ ├── ReSwift.debug.xcconfig │ ├── ReSwift.modulemap │ ├── ReSwift.release.xcconfig │ └── ReSwift.xcconfig │ ├── RxCocoa │ ├── Info.plist │ ├── RxCocoa-Info.plist │ ├── RxCocoa-dummy.m │ ├── RxCocoa-prefix.pch │ ├── RxCocoa-umbrella.h │ ├── RxCocoa.debug.xcconfig │ ├── RxCocoa.modulemap │ ├── RxCocoa.release.xcconfig │ └── RxCocoa.xcconfig │ ├── RxDataSources │ ├── Info.plist │ ├── RxDataSources-Info.plist │ ├── RxDataSources-dummy.m │ ├── RxDataSources-prefix.pch │ ├── RxDataSources-umbrella.h │ ├── RxDataSources.debug.xcconfig │ ├── RxDataSources.modulemap │ ├── RxDataSources.release.xcconfig │ └── RxDataSources.xcconfig │ ├── RxRelay │ ├── RxRelay-Info.plist │ ├── RxRelay-dummy.m │ ├── RxRelay-prefix.pch │ ├── RxRelay-umbrella.h │ ├── RxRelay.debug.xcconfig │ ├── RxRelay.modulemap │ ├── RxRelay.release.xcconfig │ └── RxRelay.xcconfig │ └── RxSwift │ ├── Info.plist │ ├── RxSwift-Info.plist │ ├── RxSwift-dummy.m │ ├── RxSwift-prefix.pch │ ├── RxSwift-umbrella.h │ ├── RxSwift.debug.xcconfig │ ├── RxSwift.modulemap │ ├── RxSwift.release.xcconfig │ └── RxSwift.xcconfig ├── README.md ├── ReRxSwift.podspec ├── ReRxSwift.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ └── contents.xcworkspacedata └── xcshareddata │ └── xcschemes │ ├── Example.xcscheme │ └── ReRxSwift.xcscheme ├── ReRxSwift.xcworkspace ├── contents.xcworkspacedata └── xcshareddata │ ├── IDEWorkspaceChecks.plist │ └── xcschemes │ └── AllTests.xcscheme ├── ReRxSwift ├── Connectable.swift ├── Connection.swift ├── Info.plist └── ReRxSwift.h └── ReRxSwiftTests ├── ConnectableSpec.swift ├── ConnectionSpec.swift ├── Info.plist ├── TestActions.swift ├── TestSectionModel.swift └── TestState.swift /.idea/ReRxSwift.iml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/runConfigurations/AllTests.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/runConfigurations/Example.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /.idea/runConfigurations/ReRxSwift.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/xcode.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /.jazzy.yaml: -------------------------------------------------------------------------------- 1 | author: Stefan van den Oord 2 | module: ReRxSwift 3 | module_version: 2.2.2 4 | podspec: ReRxSwift.podspec 5 | github_url: https://github.com/svdo/ReRxSwift 6 | github_file_prefix: https://github.com/svdo/ReRxSwift/tree/master 7 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | language: swift 3 | os: osx 4 | osx_image: xcode11.6 5 | before_install: 6 | - gem update --system 7 | - gem install bundler 8 | cache: 9 | - bundler 10 | - cocoapods 11 | before_script: 12 | - bundle exec pod repo update 13 | script: 14 | - swift build 15 | - set -o pipefail && xcodebuild -workspace ReRxSwift.xcworkspace -scheme AllTests test -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 8,OS=13.6' | bundle exec xcpretty 16 | - bundle exec jazzy 17 | deploy: 18 | provider: pages 19 | skip_cleanup: true 20 | github_token: $github_token 21 | local_dir: docs 22 | on: 23 | branch: master 24 | -------------------------------------------------------------------------------- /CHANGELOG: -------------------------------------------------------------------------------- 1 | 2.3.0 2 | ===== 3 | - Updates dependencies: RxSwift 6, ReSwift 6. 4 | - Made some APIs public (#16). 5 | 6 | 2.2.2 7 | ===== 8 | Introduces Swift Package Manager support. Thanks @LucianoPolit! 9 | 10 | 2.2.1 11 | ===== 12 | Updates Swift version in podspec to 5. 13 | 14 | 2.2.0 15 | ===== 16 | Updated ReSwift dependency to ReSwift 5. Thanks again @mzgnr! 17 | 18 | 2.1.0 19 | ===== 20 | Updated dependencies (ReSwift, RxSwift, RxCocoa, RxDataSources). Thanks @mzgnr 21 | for doing all the work! 22 | 23 | 2.0.0 24 | ===== 25 | Updated to Swift 4.1 / Xcode 9.3. This means some overloads of `Connection.bind` 26 | are removed, so this is not compatable with ReRxSwift 1.2.2. 27 | 28 | 1.2.2 29 | ===== 30 | Replaced deprecated `Variable` with `BehaviorRelay`. 31 | 32 | 1.2.1 33 | ===== 34 | Fixed issue that mapping function wasn't used if it didn't change the type. 35 | 36 | 1.2.0 37 | ===== 38 | Added the ability to subscribe to an observable with a mapping function. 39 | For example, this can be used to bind your view model to UITableview.rx.items 40 | using a mapping function such as `sort`. 41 | 42 | 1.1.0 43 | ===== 44 | Added the ability to subscribe to an entry in Props that is an array. 45 | 46 | 1.0.0 47 | ===== 48 | First official release. 49 | 50 | -------------------------------------------------------------------------------- /Cartfile: -------------------------------------------------------------------------------- 1 | github "ReactiveX/RxSwift" ~> 5.0 2 | github "ReSwift/ReSwift" ~> 4.1.1 3 | -------------------------------------------------------------------------------- /Example/ActionLogger.swift: -------------------------------------------------------------------------------- 1 | // Copyright © 2017 Stefan van den Oord. All rights reserved. 2 | 3 | import ReSwift 4 | 5 | public func ActionLogger() -> Middleware { 6 | return { dispatch, getState in 7 | return { next in 8 | return { action in 9 | print("Action: ", action) 10 | return next(action) 11 | } 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Example/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | // Copyright © 2017 Stefan van den Oord. All rights reserved. 2 | 3 | import UIKit 4 | import ReSwift 5 | 6 | @UIApplicationMain 7 | class AppDelegate: UIResponder, UIApplicationDelegate { 8 | var window: UIWindow? 9 | var storeLogger = StoreLogger() 10 | 11 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { 12 | store.subscribe(storeLogger) 13 | return true 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Example/AppState.swift: -------------------------------------------------------------------------------- 1 | // Copyright © 2017 Stefan van den Oord. All rights reserved. 2 | 3 | import ReSwift 4 | 5 | struct AppState: StateType, Encodable { 6 | let simpleTextField: SimpleTextFieldState 7 | let steppingUp: SteppingUpState 8 | let tableAndCollection: TableAndCollectionState 9 | } 10 | 11 | let initialAppState = AppState( 12 | simpleTextField: initialSimpleTextFieldState, 13 | steppingUp: initialSteppingUpState, 14 | tableAndCollection: initialTableAndCollectionState 15 | ) 16 | -------------------------------------------------------------------------------- /Example/Reducer.swift: -------------------------------------------------------------------------------- 1 | // Copyright © 2017 Stefan van den Oord. All rights reserved. 2 | 3 | import ReSwift 4 | 5 | func mainReducer(action: Action, state: AppState?) -> AppState { 6 | return AppState( 7 | simpleTextField: simpleTextFieldReducer(action: action, state: state?.simpleTextField), 8 | steppingUp: steppingUpReducer(action: action, state: state?.steppingUp), 9 | tableAndCollection: tableAndCollectionReducer(action: action, state: state?.tableAndCollection) 10 | ) 11 | } 12 | -------------------------------------------------------------------------------- /Example/SimpleTextField/SimpleTextFieldActions.swift: -------------------------------------------------------------------------------- 1 | // Copyright © 2017 Stefan van den Oord. All rights reserved. 2 | 3 | import ReSwift 4 | 5 | struct SetContent: Action { 6 | let newContent: String 7 | } 8 | -------------------------------------------------------------------------------- /Example/SimpleTextField/SimpleTextFieldReducer.swift: -------------------------------------------------------------------------------- 1 | // Copyright © 2017 Stefan van den Oord. All rights reserved. 2 | 3 | import ReSwift 4 | 5 | func simpleTextFieldReducer(action: Action, state: SimpleTextFieldState?) -> SimpleTextFieldState { 6 | var state = state ?? initialSimpleTextFieldState 7 | switch action { 8 | case let setContentAction as SetContent: 9 | state.content = setContentAction.newContent 10 | default: 11 | break 12 | } 13 | return state 14 | } 15 | -------------------------------------------------------------------------------- /Example/SimpleTextField/SimpleTextFieldState.swift: -------------------------------------------------------------------------------- 1 | // Copyright © 2017 Stefan van den Oord. All rights reserved. 2 | 3 | struct SimpleTextFieldState: Encodable { 4 | var content: String 5 | } 6 | 7 | let initialSimpleTextFieldState = SimpleTextFieldState(content: "") 8 | -------------------------------------------------------------------------------- /Example/SteppingUp/SteppingUpActions.swift: -------------------------------------------------------------------------------- 1 | // Copyright © 2017 Stefan van den Oord. All rights reserved. 2 | 3 | import ReSwift 4 | 5 | struct SteppingUpIncrement: Action {} 6 | 7 | struct SteppingUpDecrement: Action {} 8 | 9 | struct SteppingUpSetValue: Action { 10 | let newValue: Float 11 | } 12 | 13 | struct SteppingUpSetStepSize: Action { 14 | let newStepSize: StepSize 15 | } 16 | -------------------------------------------------------------------------------- /Example/SteppingUp/SteppingUpReducer.swift: -------------------------------------------------------------------------------- 1 | // Copyright © 2017 Stefan van den Oord. All rights reserved. 2 | 3 | import ReSwift 4 | 5 | func steppingUpReducer(action: Action, state: SteppingUpState?) -> SteppingUpState { 6 | var state = state ?? initialSteppingUpState 7 | switch action { 8 | case let setValueAction as SteppingUpSetValue: 9 | state.value = setValueAction.newValue 10 | case let setStepSizeAction as SteppingUpSetStepSize: 11 | if (setStepSizeAction.newStepSize > 0 && setStepSizeAction.newStepSize < 1) { 12 | state.stepSize = setStepSizeAction.newStepSize 13 | } 14 | case _ as SteppingUpIncrement: 15 | state.value += state.stepSize 16 | state.value = min(1.0, state.value) 17 | case _ as SteppingUpDecrement: 18 | state.value -= state.stepSize 19 | state.value = max(0.0, state.value) 20 | default: 21 | break 22 | } 23 | return state 24 | } 25 | -------------------------------------------------------------------------------- /Example/SteppingUp/SteppingUpState.swift: -------------------------------------------------------------------------------- 1 | // Copyright © 2017 Stefan van den Oord. All rights reserved. 2 | 3 | import Foundation 4 | 5 | typealias StepSize = Float 6 | 7 | struct SteppingUpState: Encodable { 8 | var value: Float 9 | var stepSize: StepSize 10 | } 11 | 12 | let initialSteppingUpState = SteppingUpState(value: 0.5, stepSize: 0.1) 13 | -------------------------------------------------------------------------------- /Example/Store.swift: -------------------------------------------------------------------------------- 1 | // Copyright © 2017 Stefan van den Oord. All rights reserved. 2 | 3 | import ReSwift 4 | 5 | let store = Store( 6 | reducer: mainReducer, 7 | state: nil, 8 | middleware: [ActionLogger()] 9 | ) 10 | -------------------------------------------------------------------------------- /Example/StoreLogger.swift: -------------------------------------------------------------------------------- 1 | // Copyright © 2017 Stefan van den Oord. All rights reserved. 2 | 3 | import ReSwift 4 | 5 | class StoreLogger: StoreSubscriber { 6 | let encoder: JSONEncoder 7 | 8 | init() { 9 | encoder = JSONEncoder() 10 | encoder.outputFormatting = .prettyPrinted 11 | } 12 | 13 | func newState(state: AppState) { 14 | do { 15 | let description = try encoder.encode(state) 16 | print("State: ", String(data: description, encoding: .utf8)!) 17 | } catch let e { 18 | print(e) 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Example/TableAndCollection/TableAndCollectionActions.swift: -------------------------------------------------------------------------------- 1 | // Copyright © 2017 Stefan van den Oord. All rights reserved. 2 | 3 | import ReSwift 4 | 5 | struct ReverseShops: Action {} 6 | -------------------------------------------------------------------------------- /Example/TableAndCollection/TableAndCollectionReducer.swift: -------------------------------------------------------------------------------- 1 | // Copyright © 2017 Stefan van den Oord. All rights reserved. 2 | 3 | import Foundation 4 | import ReSwift 5 | 6 | func tableAndCollectionReducer(action: Action, state: TableAndCollectionState?) -> TableAndCollectionState { 7 | var state = state ?? initialTableAndCollectionState 8 | switch action { 9 | case _ as ReverseShops: 10 | var reversedCategories = [ShopCategory](state.categories.reversed()) 11 | for i in 0 ..< reversedCategories.count { 12 | reversedCategories[i].shops = reversedCategories[i].shops.reversed() 13 | } 14 | state.categories = reversedCategories 15 | default: 16 | break 17 | } 18 | return state 19 | } 20 | -------------------------------------------------------------------------------- /Example/TableAndCollection/TableAndCollectionState.swift: -------------------------------------------------------------------------------- 1 | // Copyright © 2017 Stefan van den Oord. All rights reserved. 2 | 3 | struct TableAndCollectionState: Encodable { 4 | var categories: [ShopCategory] 5 | } 6 | 7 | struct ShopCategory: Encodable { 8 | var title: String 9 | var description: String 10 | var shops: [Shop] 11 | } 12 | 13 | struct Shop: Encodable { 14 | var name: String 15 | var rating: Float 16 | } 17 | 18 | let initialTableAndCollectionState = TableAndCollectionState( 19 | categories: [ 20 | ShopCategory(title: "Food", description: "Restaurants, lunch rooms, bakeries, etc.", shops: [ 21 | Shop(name: "Mario's Pizza", rating: 4.5), 22 | Shop(name: "Bart's Bakery", rating: 3.0), 23 | Shop(name: "All You Can Eat", rating: 2.0), 24 | Shop(name: "The Silver Stalion", rating: 4.5) 25 | ]), 26 | ShopCategory(title: "Fashion", description: "Men's and women's fashion", shops: [ 27 | Shop(name: "Suits and Stuff", rating: 3.5), 28 | Shop(name: "Ye Olde Outlet", rating: 2), 29 | Shop(name: "Wool & Wedding", rating: 4.5) 30 | ]) 31 | ] 32 | ) 33 | -------------------------------------------------------------------------------- /ExampleTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /ExampleTests/SimpleTextField/SimpleTextFieldReducerSpec.swift: -------------------------------------------------------------------------------- 1 | // Copyright © 2017 Stefan van den Oord. All rights reserved. 2 | 3 | import Quick 4 | import Nimble 5 | @testable import Example 6 | 7 | class SimpleTextFieldReducerSpec: QuickSpec { 8 | override func spec() { 9 | it("handles SetContent") { 10 | let action = SetContent(newContent: "foo") 11 | let state = simpleTextFieldReducer(action: action, state: nil) 12 | expect(state.content) == "foo" 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ExampleTests/TestActions.swift: -------------------------------------------------------------------------------- 1 | import ReSwift 2 | @testable import Example 3 | 4 | struct ResetState: Action { 5 | let newState: AppState 6 | } 7 | -------------------------------------------------------------------------------- /ExampleTests/TestReducer.swift: -------------------------------------------------------------------------------- 1 | import ReSwift 2 | @testable import Example 3 | 4 | func testReducer(action: Action, state: AppState?) -> AppState { 5 | if let resetAction = action as? ResetState { 6 | return resetAction.newState 7 | } 8 | return mainReducer(action: action, state: state) 9 | } 10 | -------------------------------------------------------------------------------- /ExampleTests/TestUtils.swift: -------------------------------------------------------------------------------- 1 | // Copyright © 2017 Stefan van den Oord. All rights reserved. 2 | 3 | @testable import Example 4 | 5 | func appState( 6 | simpleTextField: SimpleTextFieldState = initialSimpleTextFieldState, 7 | steppingUp: SteppingUpState = initialSteppingUpState, 8 | tableAndCollection: TableAndCollectionState = initialTableAndCollectionState 9 | ) -> AppState { 10 | return AppState(simpleTextField: simpleTextField, 11 | steppingUp: steppingUp, 12 | tableAndCollection: tableAndCollection) 13 | } 14 | 15 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' do 2 | gem 'cocoapods' 3 | gem 'xcpretty' 4 | gem 'jazzy', '>= 0.9.0' 5 | end 6 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Stefan van den Oord 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Podfile: -------------------------------------------------------------------------------- 1 | platform :ios, '9.0' 2 | 3 | abstract_target 'ReRx' do 4 | use_frameworks! 5 | 6 | pod 'ReSwift', '~> 6' 7 | pod 'RxSwift', '~> 6' 8 | pod 'RxCocoa', '~> 6' 9 | 10 | target 'ReRxSwift' 11 | 12 | target 'ReRxSwiftTests' do 13 | inherit! :search_paths 14 | pod 'Quick', '~> 3.0', :inhibit_warnings => true 15 | pod 'Nimble', '~> 9.0' 16 | pod 'RxDataSources', '~> 5.0' 17 | end 18 | 19 | target 'Example' do 20 | pod 'RxDataSources', '~> 5.0' 21 | 22 | target 'ExampleTests' do 23 | pod 'Quick', '~> 3.0', :inhibit_warnings => true 24 | pod 'Nimble', '~> 9.0' 25 | end 26 | end 27 | end 28 | 29 | -------------------------------------------------------------------------------- /Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - Differentiator (5.0.0) 3 | - Nimble (9.0.0) 4 | - Quick (3.1.2) 5 | - ReSwift (6.0.0) 6 | - RxCocoa (6.1.0): 7 | - RxRelay (= 6.1.0) 8 | - RxSwift (= 6.1.0) 9 | - RxDataSources (5.0.0): 10 | - Differentiator (~> 5.0) 11 | - RxCocoa (~> 6.0) 12 | - RxSwift (~> 6.0) 13 | - RxRelay (6.1.0): 14 | - RxSwift (= 6.1.0) 15 | - RxSwift (6.1.0) 16 | 17 | DEPENDENCIES: 18 | - Nimble (~> 9.0) 19 | - Quick (~> 3.0) 20 | - ReSwift (~> 6) 21 | - RxCocoa (~> 6) 22 | - RxDataSources (~> 5.0) 23 | - RxSwift (~> 6) 24 | 25 | SPEC REPOS: 26 | trunk: 27 | - Differentiator 28 | - Nimble 29 | - Quick 30 | - ReSwift 31 | - RxCocoa 32 | - RxDataSources 33 | - RxRelay 34 | - RxSwift 35 | 36 | SPEC CHECKSUMS: 37 | Differentiator: e8497ceab83c1b10ca233716d547b9af21b9344d 38 | Nimble: 3b4ec3fd40f1dc178058e0981107721c615643d8 39 | Quick: 60f0ea3b8e0cfc0df3259a5c06a238ad8b3c46e0 40 | ReSwift: 14e6f9409fe6bdc635e588208296a01f43b959c9 41 | RxCocoa: 5c51f02d562cbd94629f6c26cf0c80fe4ab8d343 42 | RxDataSources: aa47cc1ed6c500fa0dfecac5c979b723542d79cf 43 | RxRelay: 483e1a19fad961b41f0b0c0bee506f46c1ae14fe 44 | RxSwift: a834e5c538e89eca0cae86f403f4fbf0336786ce 45 | 46 | PODFILE CHECKSUM: 2a428fbdbbecab9bda8fa3e5f3f16128ae3232cf 47 | 48 | COCOAPODS: 1.10.1 49 | -------------------------------------------------------------------------------- /Pods/Differentiator/LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 RxSwift Community 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Pods/Differentiator/Sources/Differentiator/AnimatableSectionModelType+ItemPath.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AnimatableSectionModelType+ItemPath.swift 3 | // RxDataSources 4 | // 5 | // Created by Krunoslav Zaher on 1/9/16. 6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | extension Array where Element: AnimatableSectionModelType { 12 | subscript(index: ItemPath) -> Element.Item { 13 | return self[index.sectionIndex].items[index.itemIndex] 14 | } 15 | } -------------------------------------------------------------------------------- /Pods/Differentiator/Sources/Differentiator/AnimatableSectionModelType.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AnimatableSectionModelType.swift 3 | // RxDataSources 4 | // 5 | // Created by Krunoslav Zaher on 1/6/16. 6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | public protocol AnimatableSectionModelType 12 | : SectionModelType 13 | , IdentifiableType where Item: IdentifiableType, Item: Equatable { 14 | } 15 | -------------------------------------------------------------------------------- /Pods/Differentiator/Sources/Differentiator/IdentifiableType.swift: -------------------------------------------------------------------------------- 1 | // 2 | // IdentifiableType.swift 3 | // RxDataSources 4 | // 5 | // Created by Krunoslav Zaher on 1/6/16. 6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | public protocol IdentifiableType { 12 | associatedtype Identity: Hashable 13 | 14 | var identity : Identity { get } 15 | } -------------------------------------------------------------------------------- /Pods/Differentiator/Sources/Differentiator/IdentifiableValue.swift: -------------------------------------------------------------------------------- 1 | // 2 | // IdentifiableValue.swift 3 | // RxDataSources 4 | // 5 | // Created by Krunoslav Zaher on 1/7/16. 6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | public struct IdentifiableValue { 12 | public let value: Value 13 | } 14 | 15 | extension IdentifiableValue 16 | : IdentifiableType { 17 | 18 | public typealias Identity = Value 19 | 20 | public var identity : Identity { 21 | return value 22 | } 23 | } 24 | 25 | extension IdentifiableValue 26 | : Equatable 27 | , CustomStringConvertible 28 | , CustomDebugStringConvertible { 29 | 30 | public var description: String { 31 | return "\(value)" 32 | } 33 | 34 | public var debugDescription: String { 35 | return "\(value)" 36 | } 37 | } 38 | 39 | public func == (lhs: IdentifiableValue, rhs: IdentifiableValue) -> Bool { 40 | return lhs.value == rhs.value 41 | } 42 | -------------------------------------------------------------------------------- /Pods/Differentiator/Sources/Differentiator/ItemPath.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ItemPath.swift 3 | // RxDataSources 4 | // 5 | // Created by Krunoslav Zaher on 1/9/16. 6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | public struct ItemPath { 12 | public let sectionIndex: Int 13 | public let itemIndex: Int 14 | 15 | public init(sectionIndex: Int, itemIndex: Int) { 16 | self.sectionIndex = sectionIndex 17 | self.itemIndex = itemIndex 18 | } 19 | } 20 | 21 | extension ItemPath : Equatable { 22 | 23 | } 24 | 25 | public func == (lhs: ItemPath, rhs: ItemPath) -> Bool { 26 | return lhs.sectionIndex == rhs.sectionIndex && lhs.itemIndex == rhs.itemIndex 27 | } 28 | 29 | extension ItemPath: Hashable { 30 | 31 | public func hash(into hasher: inout Hasher) { 32 | hasher.combine(sectionIndex.byteSwapped.hashValue) 33 | hasher.combine(itemIndex.hashValue) 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /Pods/Differentiator/Sources/Differentiator/Optional+Extensions.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Optional+Extensions.swift 3 | // RxDataSources 4 | // 5 | // Created by Krunoslav Zaher on 1/8/16. 6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | extension Optional { 12 | func unwrap() throws -> Wrapped { 13 | if let unwrapped = self { 14 | return unwrapped 15 | } 16 | else { 17 | debugFatalError("Error during unwrapping optional") 18 | throw DifferentiatorError.unwrappingOptional 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Pods/Differentiator/Sources/Differentiator/SectionModelType.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SectionModelType.swift 3 | // RxDataSources 4 | // 5 | // Created by Krunoslav Zaher on 6/28/15. 6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | public protocol SectionModelType { 12 | associatedtype Item 13 | 14 | var items: [Item] { get } 15 | 16 | init(original: Self, items: [Item]) 17 | } -------------------------------------------------------------------------------- /Pods/Differentiator/Sources/Differentiator/Utilities.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Utilities.swift 3 | // RxDataSources 4 | // 5 | // Created by muukii on 8/2/17. 6 | // Copyright © 2017 kzaher. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | enum DifferentiatorError : Error { 12 | case unwrappingOptional 13 | case preconditionFailed(message: String) 14 | } 15 | 16 | func precondition(_ condition: Bool, _ message: @autoclosure() -> String) throws { 17 | if condition { 18 | return 19 | } 20 | debugFatalError("Precondition failed") 21 | 22 | throw DifferentiatorError.preconditionFailed(message: message()) 23 | } 24 | 25 | func debugFatalError(_ error: Error) { 26 | debugFatalError("\(error)") 27 | } 28 | 29 | func debugFatalError(_ message: String) { 30 | #if DEBUG 31 | fatalError(message) 32 | #else 33 | print(message) 34 | #endif 35 | } 36 | -------------------------------------------------------------------------------- /Pods/Manifest.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - Differentiator (5.0.0) 3 | - Nimble (9.0.0) 4 | - Quick (3.1.2) 5 | - ReSwift (6.0.0) 6 | - RxCocoa (6.1.0): 7 | - RxRelay (= 6.1.0) 8 | - RxSwift (= 6.1.0) 9 | - RxDataSources (5.0.0): 10 | - Differentiator (~> 5.0) 11 | - RxCocoa (~> 6.0) 12 | - RxSwift (~> 6.0) 13 | - RxRelay (6.1.0): 14 | - RxSwift (= 6.1.0) 15 | - RxSwift (6.1.0) 16 | 17 | DEPENDENCIES: 18 | - Nimble (~> 9.0) 19 | - Quick (~> 3.0) 20 | - ReSwift (~> 6) 21 | - RxCocoa (~> 6) 22 | - RxDataSources (~> 5.0) 23 | - RxSwift (~> 6) 24 | 25 | SPEC REPOS: 26 | trunk: 27 | - Differentiator 28 | - Nimble 29 | - Quick 30 | - ReSwift 31 | - RxCocoa 32 | - RxDataSources 33 | - RxRelay 34 | - RxSwift 35 | 36 | SPEC CHECKSUMS: 37 | Differentiator: e8497ceab83c1b10ca233716d547b9af21b9344d 38 | Nimble: 3b4ec3fd40f1dc178058e0981107721c615643d8 39 | Quick: 60f0ea3b8e0cfc0df3259a5c06a238ad8b3c46e0 40 | ReSwift: 14e6f9409fe6bdc635e588208296a01f43b959c9 41 | RxCocoa: 5c51f02d562cbd94629f6c26cf0c80fe4ab8d343 42 | RxDataSources: aa47cc1ed6c500fa0dfecac5c979b723542d79cf 43 | RxRelay: 483e1a19fad961b41f0b0c0bee506f46c1ae14fe 44 | RxSwift: a834e5c538e89eca0cae86f403f4fbf0336786ce 45 | 46 | PODFILE CHECKSUM: 2a428fbdbbecab9bda8fa3e5f3f16128ae3232cf 47 | 48 | COCOAPODS: 1.10.1 49 | -------------------------------------------------------------------------------- /Pods/Nimble/Carthage/Checkouts/CwlCatchException/Sources/CwlCatchExceptionSupport/include/CwlCatchException.h: -------------------------------------------------------------------------------- 1 | // 2 | // CwlCatchException.h 3 | // CwlCatchException 4 | // 5 | // Created by Matt Gallagher on 2016/01/10. 6 | // Copyright © 2016 Matt Gallagher ( https://www.cocoawithlove.com ). All rights reserved. 7 | // 8 | // Permission to use, copy, modify, and/or distribute this software for any 9 | // purpose with or without fee is hereby granted, provided that the above 10 | // copyright notice and this permission notice appear in all copies. 11 | // 12 | // THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 13 | // WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 14 | // MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 15 | // SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 16 | // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 17 | // ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 18 | // IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 19 | // 20 | 21 | #import 22 | 23 | NSException* __nullable catchExceptionOfKind(Class __nonnull type, void (^ __nonnull inBlock)(void)); 24 | -------------------------------------------------------------------------------- /Pods/Nimble/Sources/Nimble/Adapters/AdapterProtocols.swift: -------------------------------------------------------------------------------- 1 | /// Protocol for the assertion handler that Nimble uses for all expectations. 2 | public protocol AssertionHandler { 3 | func assert(_ assertion: Bool, message: FailureMessage, location: SourceLocation) 4 | } 5 | 6 | /// Global backing interface for assertions that Nimble creates. 7 | /// Defaults to a private test handler that passes through to XCTest. 8 | /// 9 | /// If XCTest is not available, you must assign your own assertion handler 10 | /// before using any matchers, otherwise Nimble will abort the program. 11 | /// 12 | /// @see AssertionHandler 13 | public var NimbleAssertionHandler: AssertionHandler = { () -> AssertionHandler in 14 | // swiftlint:disable:previous identifier_name 15 | return isXCTestAvailable() ? NimbleXCTestHandler() : NimbleXCTestUnavailableHandler() 16 | }() 17 | -------------------------------------------------------------------------------- /Pods/Nimble/Sources/Nimble/Adapters/AssertionDispatcher.swift: -------------------------------------------------------------------------------- 1 | /// AssertionDispatcher allows multiple AssertionHandlers to receive 2 | /// assertion messages. 3 | /// 4 | /// @warning Does not fully dispatch if one of the handlers raises an exception. 5 | /// This is possible with XCTest-based assertion handlers. 6 | /// 7 | public class AssertionDispatcher: AssertionHandler { 8 | let handlers: [AssertionHandler] 9 | 10 | public init(handlers: [AssertionHandler]) { 11 | self.handlers = handlers 12 | } 13 | 14 | public func assert(_ assertion: Bool, message: FailureMessage, location: SourceLocation) { 15 | for handler in handlers { 16 | handler.assert(assertion, message: message, location: location) 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Pods/Nimble/Sources/Nimble/Matchers/BeNil.swift: -------------------------------------------------------------------------------- 1 | /// A Nimble matcher that succeeds when the actual value is nil. 2 | public func beNil() -> Predicate { 3 | return Predicate.simpleNilable("be nil") { actualExpression in 4 | let actualValue = try actualExpression.evaluate() 5 | return PredicateStatus(bool: actualValue == nil) 6 | } 7 | } 8 | 9 | #if canImport(Darwin) 10 | import Foundation 11 | 12 | extension NMBPredicate { 13 | @objc public class func beNilMatcher() -> NMBPredicate { 14 | return NMBPredicate { actualExpression in 15 | return try beNil().satisfies(actualExpression).toObjectiveC() 16 | } 17 | } 18 | } 19 | #endif 20 | -------------------------------------------------------------------------------- /Pods/Nimble/Sources/Nimble/Matchers/BeVoid.swift: -------------------------------------------------------------------------------- 1 | /// A Nimble matcher that succeeds when the actual value is Void. 2 | public func beVoid() -> Predicate<()> { 3 | return Predicate.simpleNilable("be void") { actualExpression in 4 | let actualValue: ()? = try actualExpression.evaluate() 5 | return PredicateStatus(bool: actualValue != nil) 6 | } 7 | } 8 | 9 | extension Expectation where T == () { 10 | public static func == (lhs: Expectation<()>, rhs: ()) { 11 | lhs.to(beVoid()) 12 | } 13 | 14 | public static func != (lhs: Expectation<()>, rhs: ()) { 15 | lhs.toNot(beVoid()) 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Pods/Nimble/Sources/Nimble/Matchers/Match.swift: -------------------------------------------------------------------------------- 1 | /// A Nimble matcher that succeeds when the actual string satisfies the regular expression 2 | /// described by the expected string. 3 | public func match(_ expectedValue: String?) -> Predicate { 4 | return Predicate.simple("match <\(stringify(expectedValue))>") { actualExpression in 5 | guard let actual = try actualExpression.evaluate(), let regexp = expectedValue else { return .fail } 6 | 7 | let bool = actual.range(of: regexp, options: .regularExpression) != nil 8 | return PredicateStatus(bool: bool) 9 | } 10 | } 11 | 12 | #if canImport(Darwin) 13 | import class Foundation.NSString 14 | 15 | extension NMBPredicate { 16 | @objc public class func matchMatcher(_ expected: NSString) -> NMBPredicate { 17 | return NMBPredicate { actualExpression in 18 | let actual = actualExpression.cast { $0 as? String } 19 | return try match(expected.description).satisfies(actual).toObjectiveC() 20 | } 21 | } 22 | } 23 | #endif 24 | -------------------------------------------------------------------------------- /Pods/Nimble/Sources/Nimble/Matchers/ToSucceed.swift: -------------------------------------------------------------------------------- 1 | /** 2 | Used by the `toSucceed` matcher. 3 | 4 | This is the return type for the closure. 5 | */ 6 | public enum ToSucceedResult { 7 | case succeeded 8 | case failed(reason: String) 9 | } 10 | 11 | /** 12 | A Nimble matcher that takes in a closure for validation. 13 | 14 | Return `.succeeded` when the validation succeeds. 15 | Return `.failed` with a failure reason when the validation fails. 16 | */ 17 | public func succeed() -> Predicate<() -> ToSucceedResult> { 18 | return Predicate.define { actualExpression in 19 | let optActual = try actualExpression.evaluate() 20 | guard let actual = optActual else { 21 | return PredicateResult(status: .fail, message: .fail("expected a closure, got ")) 22 | } 23 | 24 | switch actual() { 25 | case .succeeded: 26 | return PredicateResult( 27 | bool: true, 28 | message: .expectedCustomValueTo("succeed", actual: "") 29 | ) 30 | case .failed(let reason): 31 | return PredicateResult( 32 | bool: false, 33 | message: .expectedCustomValueTo("succeed", actual: " because <\(reason)>") 34 | ) 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /Pods/Nimble/Sources/Nimble/Nimble.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import "NMBExceptionCapture.h" 3 | #import "NMBStringify.h" 4 | #import "DSL.h" 5 | 6 | #if TARGET_OS_OSX || TARGET_OS_IOS 7 | #import "CwlMachBadInstructionHandler.h" 8 | #import "CwlCatchException.h" 9 | #endif 10 | 11 | FOUNDATION_EXPORT double NimbleVersionNumber; 12 | FOUNDATION_EXPORT const unsigned char NimbleVersionString[]; 13 | -------------------------------------------------------------------------------- /Pods/Nimble/Sources/Nimble/Utils/SourceLocation.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | 3 | // Ideally we would always use `StaticString` as the type for tracking the file name 4 | // that expectations originate from, for consistency with `assert` etc. from the 5 | // stdlib, and because recent versions of the XCTest overlay require `StaticString` 6 | // when calling `XCTFail`. Under the Objective-C runtime (i.e. building on Mac), we 7 | // have to use `String` instead because StaticString can't be generated from Objective-C 8 | #if SWIFT_PACKAGE 9 | public typealias FileString = StaticString 10 | #else 11 | public typealias FileString = String 12 | #endif 13 | 14 | public final class SourceLocation: NSObject { 15 | public let file: FileString 16 | public let line: UInt 17 | 18 | override init() { 19 | file = "Unknown File" 20 | line = 0 21 | } 22 | 23 | init(file: FileString, line: UInt) { 24 | self.file = file 25 | self.line = line 26 | } 27 | 28 | override public var description: String { 29 | return "\(file):\(line)" 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /Pods/Nimble/Sources/NimbleObjectiveC/NMBExceptionCapture.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import 3 | 4 | @interface NMBExceptionCapture : NSObject 5 | 6 | - (nonnull instancetype)initWithHandler:(void(^ _Nullable)(NSException * _Nonnull))handler finally:(void(^ _Nullable)(void))finally; 7 | - (void)tryBlock:(__attribute__((noescape)) void(^ _Nonnull)(void))unsafeBlock NS_SWIFT_NAME(tryBlock(_:)); 8 | 9 | @end 10 | 11 | typedef void(^NMBSourceCallbackBlock)(BOOL successful); 12 | -------------------------------------------------------------------------------- /Pods/Nimble/Sources/NimbleObjectiveC/NMBExceptionCapture.m: -------------------------------------------------------------------------------- 1 | #import "NMBExceptionCapture.h" 2 | 3 | @interface NMBExceptionCapture () 4 | @property (nonatomic, copy) void(^ _Nullable handler)(NSException * _Nullable); 5 | @property (nonatomic, copy) void(^ _Nullable finally)(void); 6 | @end 7 | 8 | @implementation NMBExceptionCapture 9 | 10 | - (nonnull instancetype)initWithHandler:(void(^ _Nullable)(NSException * _Nonnull))handler finally:(void(^ _Nullable)(void))finally { 11 | self = [super init]; 12 | if (self) { 13 | self.handler = handler; 14 | self.finally = finally; 15 | } 16 | return self; 17 | } 18 | 19 | - (void)tryBlock:(__attribute__((noescape)) void(^ _Nonnull)(void))unsafeBlock { 20 | @try { 21 | unsafeBlock(); 22 | } 23 | @catch (NSException *exception) { 24 | if (self.handler) { 25 | self.handler(exception); 26 | } 27 | } 28 | @finally { 29 | if (self.finally) { 30 | self.finally(); 31 | } 32 | } 33 | } 34 | 35 | @end 36 | -------------------------------------------------------------------------------- /Pods/Nimble/Sources/NimbleObjectiveC/NMBStringify.h: -------------------------------------------------------------------------------- 1 | @class NSString; 2 | 3 | /** 4 | * Returns a string appropriate for displaying in test output 5 | * from the provided value. 6 | * 7 | * @param anyObject A value that will show up in a test's output. 8 | * 9 | * @return The string that is returned can be 10 | * customized per type by conforming a type to the `TestOutputStringConvertible` 11 | * protocol. When stringifying a non-`TestOutputStringConvertible` type, this 12 | * function will return the value's debug description and then its 13 | * normal description if available and in that order. Otherwise it 14 | * will return the result of constructing a string from the value. 15 | * 16 | * @see `TestOutputStringConvertible` 17 | */ 18 | extern NSString *_Nonnull NMBStringify(id _Nullable anyObject) __attribute__((warn_unused_result)); 19 | -------------------------------------------------------------------------------- /Pods/Nimble/Sources/NimbleObjectiveC/NMBStringify.m: -------------------------------------------------------------------------------- 1 | #import "NMBStringify.h" 2 | 3 | #if __has_include("Nimble-Swift.h") 4 | #import "Nimble-Swift.h" 5 | #else 6 | #import 7 | #endif 8 | 9 | NSString *_Nonnull NMBStringify(id _Nullable anyObject) { 10 | return [NMBStringer stringify:anyObject]; 11 | } 12 | -------------------------------------------------------------------------------- /Pods/Nimble/Sources/NimbleObjectiveC/XCTestObservationCenter+Register.m: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | #if __has_include("Nimble-Swift.h") 4 | #import "Nimble-Swift.h" 5 | #else 6 | #import 7 | #endif 8 | 9 | #pragma mark - Private 10 | 11 | @implementation XCTestObservationCenter (Register) 12 | 13 | + (void)load { 14 | [[XCTestObservationCenter sharedTestObservationCenter] addTestObserver:[CurrentTestCaseTracker sharedInstance]]; 15 | } 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /Pods/Quick/Sources/Quick/Behavior.swift: -------------------------------------------------------------------------------- 1 | /// A `Behavior` encapsulates a set of examples that can be re-used in several locations using the `itBehavesLike` 2 | /// function with a context instance of the generic type. 3 | open class Behavior { 4 | 5 | /** 6 | Override this variable if you want to provide custom name for this example group. 7 | */ 8 | open class var name: String { return String(describing: self) } 9 | 10 | /** 11 | Override this method in your behavior to define a set of reusable examples. 12 | 13 | This behaves just like an example group defines using `describe` or `context`--it may contain any number of `beforeEach` 14 | and `afterEach` closures, as well as any number of examples (defined using `it`). 15 | 16 | - parameter aContext: A closure that, when evaluated, returns a `Context` instance that provide the information on the subject. 17 | */ 18 | open class func spec(_ aContext: @escaping () -> Context) {} 19 | } 20 | -------------------------------------------------------------------------------- /Pods/Quick/Sources/Quick/ErrorUtility.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | 3 | internal func raiseError(_ message: String) -> Never { 4 | #if canImport(Darwin) 5 | NSException(name: .internalInconsistencyException, reason: message, userInfo: nil).raise() 6 | #endif 7 | 8 | // This won't be reached when ObjC is available and the exception above is raisd 9 | fatalError(message) 10 | } 11 | -------------------------------------------------------------------------------- /Pods/Quick/Sources/Quick/ExampleMetadata.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | 3 | #if canImport(Darwin) 4 | // swiftlint:disable type_name 5 | @objcMembers 6 | public class _ExampleMetadataBase: NSObject {} 7 | #else 8 | public class _ExampleMetadataBase: NSObject {} 9 | // swiftlint:enable type_name 10 | #endif 11 | 12 | /** 13 | A class that encapsulates information about an example, 14 | including the index at which the example was executed, as 15 | well as the example itself. 16 | */ 17 | final public class ExampleMetadata: _ExampleMetadataBase { 18 | /** 19 | The example for which this metadata was collected. 20 | */ 21 | public let example: Example 22 | 23 | /** 24 | The index at which this example was executed in the 25 | test suite. 26 | */ 27 | public let exampleIndex: Int 28 | 29 | internal init(example: Example, exampleIndex: Int) { 30 | self.example = example 31 | self.exampleIndex = exampleIndex 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /Pods/Quick/Sources/Quick/Filter.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | 3 | #if canImport(Darwin) 4 | // swiftlint:disable type_name 5 | @objcMembers 6 | public class _FilterBase: NSObject {} 7 | #else 8 | public class _FilterBase: NSObject {} 9 | // swiftlint:enable type_name 10 | #endif 11 | 12 | /** 13 | A mapping of string keys to booleans that can be used to 14 | filter examples or example groups. For example, a "focused" 15 | example would have the flags [Focused: true]. 16 | */ 17 | public typealias FilterFlags = [String: Bool] 18 | 19 | /** 20 | A namespace for filter flag keys, defined primarily to make the 21 | keys available in Objective-C. 22 | */ 23 | final public class Filter: _FilterBase { 24 | /** 25 | Example and example groups with [Focused: true] are included in test runs, 26 | excluding all other examples without this flag. Use this to only run one or 27 | two tests that you're currently focusing on. 28 | */ 29 | public class var focused: String { 30 | return "focused" 31 | } 32 | 33 | /** 34 | Example and example groups with [Pending: true] are excluded from test runs. 35 | Use this to temporarily suspend examples that you know do not pass yet. 36 | */ 37 | public class var pending: String { 38 | return "pending" 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /Pods/Quick/Sources/Quick/Hooks/Closures.swift: -------------------------------------------------------------------------------- 1 | // MARK: Example Hooks 2 | 3 | /** 4 | A closure executed before an example is run. 5 | */ 6 | public typealias BeforeExampleClosure = () -> Void 7 | 8 | /** 9 | A closure executed before an example is run. The closure is given example metadata, 10 | which contains information about the example that is about to be run. 11 | */ 12 | public typealias BeforeExampleWithMetadataClosure = (_ exampleMetadata: ExampleMetadata) -> Void 13 | 14 | /** 15 | A closure executed after an example is run. 16 | */ 17 | public typealias AfterExampleClosure = BeforeExampleClosure 18 | 19 | /** 20 | A closure executed after an example is run. The closure is given example metadata, 21 | which contains information about the example that has just finished running. 22 | */ 23 | public typealias AfterExampleWithMetadataClosure = BeforeExampleWithMetadataClosure 24 | 25 | // MARK: Suite Hooks 26 | 27 | /** 28 | A closure executed before any examples are run. 29 | */ 30 | public typealias BeforeSuiteClosure = () -> Void 31 | 32 | /** 33 | A closure executed after all examples have finished running. 34 | */ 35 | public typealias AfterSuiteClosure = BeforeSuiteClosure 36 | -------------------------------------------------------------------------------- /Pods/Quick/Sources/Quick/Hooks/HooksPhase.swift: -------------------------------------------------------------------------------- 1 | /** 2 | A description of the execution cycle of the current example with 3 | respect to the hooks of that example. 4 | */ 5 | internal enum HooksPhase { 6 | case nothingExecuted 7 | case beforesExecuting 8 | case beforesFinished 9 | case aftersExecuting 10 | case aftersFinished 11 | } 12 | -------------------------------------------------------------------------------- /Pods/Quick/Sources/Quick/Hooks/SuiteHooks.swift: -------------------------------------------------------------------------------- 1 | /** 2 | A container for closures to be executed before and after all examples. 3 | */ 4 | final internal class SuiteHooks { 5 | internal var befores: [BeforeSuiteClosure] = [] 6 | internal var afters: [AfterSuiteClosure] = [] 7 | internal var phase: HooksPhase = .nothingExecuted 8 | 9 | internal func appendBefore(_ closure: @escaping BeforeSuiteClosure) { 10 | befores.append(closure) 11 | } 12 | 13 | internal func appendAfter(_ closure: @escaping AfterSuiteClosure) { 14 | afters.append(closure) 15 | } 16 | 17 | internal func executeBefores() { 18 | phase = .beforesExecuting 19 | for before in befores { 20 | before() 21 | } 22 | phase = .beforesFinished 23 | } 24 | 25 | internal func executeAfters() { 26 | phase = .aftersExecuting 27 | for after in afters { 28 | after() 29 | } 30 | phase = .aftersFinished 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /Pods/Quick/Sources/Quick/NSBundle+CurrentTestBundle.swift: -------------------------------------------------------------------------------- 1 | #if canImport(Darwin) 2 | 3 | import Foundation 4 | 5 | extension Bundle { 6 | 7 | /** 8 | Locates the first bundle with a '.xctest' file extension. 9 | */ 10 | internal static var currentTestBundle: Bundle? { 11 | return allBundles.first { $0.bundlePath.hasSuffix(".xctest") } 12 | } 13 | 14 | /** 15 | Return the module name of the bundle. 16 | Uses the bundle filename and transform it to match Xcode's transformation. 17 | Module name has to be a valid "C99 extended identifier". 18 | */ 19 | internal var moduleName: String { 20 | let fileName = bundleURL.fileName 21 | return fileName.c99ExtendedIdentifier 22 | } 23 | } 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /Pods/Quick/Sources/Quick/URL+FileName.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | 3 | extension URL { 4 | 5 | /** 6 | Returns the path file name without file extension. 7 | */ 8 | var fileName: String { 9 | return self.deletingPathExtension().lastPathComponent 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /Pods/Quick/Sources/QuickObjCRuntime/QuickSpecBase.m: -------------------------------------------------------------------------------- 1 | #import "QuickSpecBase.h" 2 | 3 | #pragma mark - _QuickSpecBase 4 | 5 | @implementation _QuickSpecBase 6 | 7 | - (instancetype)init { 8 | self = [super initWithInvocation: nil]; 9 | return self; 10 | } 11 | 12 | /** 13 | Invocations for each test method in the test case. QuickSpec overrides this method to define a 14 | new method for each example defined in +[QuickSpec spec]. 15 | 16 | @return An array of invocations that execute the newly defined example methods. 17 | */ 18 | + (NSArray *)testInvocations { 19 | NSArray *selectors = [self _qck_testMethodSelectors]; 20 | NSMutableArray *invocations = [NSMutableArray arrayWithCapacity:selectors.count]; 21 | 22 | for (NSString *selectorString in selectors) { 23 | SEL selector = NSSelectorFromString(selectorString); 24 | NSMethodSignature *signature = [self instanceMethodSignatureForSelector:selector]; 25 | NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:signature]; 26 | invocation.selector = selector; 27 | 28 | [invocations addObject:invocation]; 29 | } 30 | 31 | return invocations; 32 | } 33 | 34 | + (NSArray *)_qck_testMethodSelectors { 35 | return @[]; 36 | } 37 | 38 | @end 39 | -------------------------------------------------------------------------------- /Pods/Quick/Sources/QuickObjCRuntime/include/QuickObjCRuntime.h: -------------------------------------------------------------------------------- 1 | #if __has_include("QuickSpecBase.h") 2 | #import "QuickSpecBase.h" 3 | #else 4 | #import 5 | #endif 6 | -------------------------------------------------------------------------------- /Pods/Quick/Sources/QuickObjCRuntime/include/QuickSpecBase.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import 3 | 4 | @interface _QuickSpecBase : XCTestCase 5 | + (NSArray *)_qck_testMethodSelectors; 6 | - (instancetype)init NS_DESIGNATED_INITIALIZER; 7 | @end 8 | -------------------------------------------------------------------------------- /Pods/Quick/Sources/QuickObjectiveC/Configuration/QuickConfiguration.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @class Configuration; 4 | 5 | /** 6 | Subclass QuickConfiguration and override the +[QuickConfiguration configure:] 7 | method in order to configure how Quick behaves when running specs, or to define 8 | shared examples that are used across spec files. 9 | */ 10 | @interface QuickConfiguration : NSObject 11 | 12 | /** 13 | This method is executed on each subclass of this class before Quick runs 14 | any examples. You may override this method on as many subclasses as you like, but 15 | there is no guarantee as to the order in which these methods are executed. 16 | 17 | You can override this method in order to: 18 | 19 | 1. Configure how Quick behaves, by modifying properties on the Configuration object. 20 | Setting the same properties in several methods has undefined behavior. 21 | 22 | 2. Define shared examples using `sharedExamples`. 23 | 24 | @param configuration A mutable object that is used to configure how Quick behaves on 25 | a framework level. For details on all the options, see the 26 | documentation in Configuration.swift. 27 | */ 28 | + (void)configure:(Configuration *)configuration; 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /Pods/Quick/Sources/QuickObjectiveC/Quick.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | //! Project version number for Quick. 4 | FOUNDATION_EXPORT double QuickVersionNumber; 5 | 6 | //! Project version string for Quick. 7 | FOUNDATION_EXPORT const unsigned char QuickVersionString[]; 8 | 9 | #import "QuickSpec.h" 10 | #import "QCKDSL.h" 11 | #import "QuickConfiguration.h" 12 | -------------------------------------------------------------------------------- /Pods/ReSwift/LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | Copyright (c) 2016 ReSwift Contributors 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 5 | 6 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 7 | 8 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Pods/ReSwift/ReSwift/CoreTypes/Action.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Action.swift 3 | // ReSwift 4 | // 5 | // Created by Benjamin Encz on 12/14/15. 6 | // Copyright © 2015 ReSwift Community. All rights reserved. 7 | // 8 | 9 | /// All actions that want to be able to be dispatched to a store need to conform to this protocol 10 | /// Currently it is just a marker protocol with no requirements. 11 | public protocol Action { } 12 | 13 | /// Initial Action that is dispatched as soon as the store is created. 14 | /// Reducers respond to this action by configuring their initial state. 15 | public struct ReSwiftInit: Action {} 16 | -------------------------------------------------------------------------------- /Pods/ReSwift/ReSwift/CoreTypes/DispatchingStoreType.swift: -------------------------------------------------------------------------------- 1 | // Copyright © 2019 ReSwift Community. All rights reserved. 2 | 3 | import Foundation 4 | 5 | /** 6 | Defines the interface of a dispatching, stateless Store in ReSwift. `StoreType` is 7 | the default usage of this interface. Can be used for store variables where you don't 8 | care about the state, but want to be able to dispatch actions. 9 | */ 10 | public protocol DispatchingStoreType { 11 | 12 | /** 13 | Dispatches an action. This is the simplest way to modify the stores state. 14 | 15 | Example of dispatching an action: 16 | 17 | ``` 18 | store.dispatch( CounterAction.IncreaseCounter ) 19 | ``` 20 | 21 | - parameter action: The action that is being dispatched to the store 22 | */ 23 | func dispatch(_ action: Action) 24 | } 25 | -------------------------------------------------------------------------------- /Pods/ReSwift/ReSwift/CoreTypes/Middleware.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Middleware.swift 3 | // ReSwift 4 | // 5 | // Created by Benji Encz on 12/24/15. 6 | // Copyright © 2015 ReSwift Community. All rights reserved. 7 | // 8 | 9 | public typealias DispatchFunction = (Action) -> Void 10 | public typealias Middleware = (@escaping DispatchFunction, @escaping () -> State?) 11 | -> (@escaping DispatchFunction) -> DispatchFunction 12 | -------------------------------------------------------------------------------- /Pods/ReSwift/ReSwift/CoreTypes/Reducer.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Reducer.swift 3 | // ReSwift 4 | // 5 | // Created by Benjamin Encz on 12/14/15. 6 | // Copyright © 2015 ReSwift Community. All rights reserved. 7 | // 8 | 9 | public typealias Reducer = 10 | (_ action: Action, _ state: ReducerStateType?) -> ReducerStateType 11 | -------------------------------------------------------------------------------- /Pods/ReSwift/ReSwift/CoreTypes/State.swift: -------------------------------------------------------------------------------- 1 | // 2 | // State.swift 3 | // ReSwift 4 | // 5 | // Created by Benjamin Encz on 12/14/15. 6 | // Copyright © 2015 ReSwift Community. All rights reserved. 7 | // 8 | 9 | public protocol StateType { } 10 | -------------------------------------------------------------------------------- /Pods/ReSwift/ReSwift/CoreTypes/StoreSubscriber.swift: -------------------------------------------------------------------------------- 1 | // 2 | // StoreSubscriber.swift 3 | // ReSwift 4 | // 5 | // Created by Benjamin Encz on 12/14/15. 6 | // Copyright © 2015 ReSwift Community. All rights reserved. 7 | // 8 | 9 | public protocol AnyStoreSubscriber: AnyObject { 10 | // swiftlint:disable:next identifier_name 11 | func _newState(state: Any) 12 | } 13 | 14 | public protocol StoreSubscriber: AnyStoreSubscriber { 15 | associatedtype StoreSubscriberStateType 16 | 17 | func newState(state: StoreSubscriberStateType) 18 | } 19 | 20 | extension StoreSubscriber { 21 | // swiftlint:disable:next identifier_name 22 | public func _newState(state: Any) { 23 | if let typedState = state as? StoreSubscriberStateType { 24 | newState(state: typedState) 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Pods/ReSwift/ReSwift/Utils/Assertions.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Assertions 3 | // Copyright © 2015 mohamede1945. All rights reserved. 4 | // https://github.com/mohamede1945/AssertionsTestingExample 5 | // 6 | 7 | import Foundation 8 | 9 | /// drop-in fatalError replacement for testing 10 | 11 | /** 12 | Swift.fatalError wrapper for catching in tests 13 | 14 | - parameter message: Message to be wrapped 15 | - parameter file: Calling file 16 | - parameter line: Calling line 17 | */ 18 | func raiseFatalError(_ message: @autoclosure () -> String = "", 19 | file: StaticString = #file, line: UInt = #line) -> Never { 20 | Assertions.fatalErrorClosure(message(), file, line) 21 | repeat { 22 | RunLoop.current.run() 23 | } while (true) 24 | } 25 | 26 | /// Stores custom assertions closures, by default it points to Swift functions. But test target can 27 | /// override them. 28 | class Assertions { 29 | static var fatalErrorClosure = swiftFatalErrorClosure 30 | static let swiftFatalErrorClosure: (String, StaticString, UInt) -> Void 31 | = { Swift.fatalError($0, file: $1, line: $2) } 32 | } 33 | -------------------------------------------------------------------------------- /Pods/ReSwift/ReSwift/Utils/Coding.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Types.swift 3 | // ReSwift 4 | // 5 | // Created by Benjamin Encz on 11/27/15. 6 | // Copyright © 2015 ReSwift Community. All rights reserved. 7 | // 8 | 9 | public protocol Coding { 10 | init?(dictionary: [String: AnyObject]) 11 | var dictionaryRepresentation: [String: AnyObject] { get } 12 | } 13 | -------------------------------------------------------------------------------- /Pods/ReSwift/ReSwift/Utils/Synchronized.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Synchronized.swift 3 | // ReSwift 4 | // 5 | // Created by Basem Emara on 2020-08-18. 6 | // https://basememara.com/creating-thread-safe-generic-values-in-swift/ 7 | // 8 | // Copyright © 2020 ReSwift Community. All rights reserved. 9 | // 10 | 11 | import Foundation 12 | 13 | /// An object that manages the execution of tasks atomically. 14 | struct Synchronized { 15 | private let mutex = DispatchQueue(label: "reswift.github.io.ReSwift.Utils.Synchronized", attributes: .concurrent) 16 | private var _value: Value 17 | init(_ value: Value) { 18 | self._value = value 19 | } 20 | /// Returns or modify the thread-safe value. 21 | var value: Value { return mutex.sync { return _value } } 22 | /// Submits a block for synchronous, thread-safe execution. 23 | mutating func value(execute task: (inout Value) throws -> T) rethrows -> T { 24 | return try mutex.sync(flags: .barrier) { return try task(&_value) } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Pods/RxCocoa/LICENSE.md: -------------------------------------------------------------------------------- 1 | **The MIT License** 2 | **Copyright © 2015 Krunoslav Zaher, Shai Mishali** 3 | **All rights reserved.** 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10 | -------------------------------------------------------------------------------- /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 | self.repeatedValue = repeatedValue 17 | } 18 | 19 | func makeIterator() -> Iterator { 20 | let repeatedValue = self.repeatedValue 21 | return AnyIterator { repeatedValue } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /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 | DispatchQueue.getSpecific(key: token) != nil 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /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 Foundation 13 | 14 | extension Thread { 15 | static func setThreadLocalStorageValue(_ value: T?, forKey key: NSCopying) { 16 | let currentThread = Thread.current 17 | let threadDictionary = currentThread.threadDictionary 18 | 19 | if let newValue = value { 20 | threadDictionary[key] = newValue 21 | } 22 | else { 23 | threadDictionary[key] = nil 24 | } 25 | } 26 | 27 | static func getThreadLocalStorageValueForKey(_ key: NSCopying) -> T? { 28 | let currentThread = Thread.current 29 | let threadDictionary = currentThread.threadDictionary 30 | 31 | return threadDictionary[key] as? T 32 | } 33 | } 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /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 Foundation 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 | -------------------------------------------------------------------------------- /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 Foundation 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 | -------------------------------------------------------------------------------- /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 Foundation 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 | -------------------------------------------------------------------------------- /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 Foundation 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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 Foundation 10 | import RxSwift 11 | 12 | extension Reactive where Base: NotificationCenter { 13 | /** 14 | Transforms notifications posted to notification center to observable sequence of notifications. 15 | 16 | - parameter name: Optional name used to filter notifications. 17 | - parameter object: Optional object used to filter notifications. 18 | - returns: Observable sequence of posted notifications. 19 | */ 20 | public func notification(_ name: Notification.Name?, object: AnyObject? = nil) -> Observable { 21 | return Observable.create { [weak object] observer in 22 | let nsObserver = self.base.addObserver(forName: name, object: object, queue: nil) { notification in 23 | observer.on(.next(notification)) 24 | } 25 | 26 | return Disposables.create { 27 | self.base.removeObserver(nsObserver) 28 | } 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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[]; -------------------------------------------------------------------------------- /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 | .observe(on:DriverSharingStrategy.scheduler) 19 | return SharedSequence(source) 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | .observe(on:SignalSharingStrategy.scheduler) 19 | return SharedSequence(source) 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | open class RxSearchControllerDelegateProxy 20 | : DelegateProxy 21 | , DelegateProxyType 22 | , UISearchControllerDelegate { 23 | 24 | /// Typed parent object. 25 | public weak private(set) var searchController: UISearchController? 26 | 27 | /// - parameter searchController: Parent object for delegate proxy. 28 | public init(searchController: UISearchController) { 29 | self.searchController = searchController 30 | super.init(parentObject: searchController, delegateProxy: RxSearchControllerDelegateProxy.self) 31 | } 32 | 33 | // Register known implementations 34 | public static func registerKnownImplementations() { 35 | self.register { RxSearchControllerDelegateProxy(searchController: $0) } 36 | } 37 | } 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | /// Bindable sink for `startAnimating()`, `stopAnimating()` methods. 16 | public var isAnimating: Binder { 17 | Binder(self.base) { activityIndicator, active in 18 | if active { 19 | activityIndicator.startAnimating() 20 | } else { 21 | activityIndicator.stopAnimating() 22 | } 23 | } 24 | } 25 | } 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /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 | 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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | 28 | #endif 29 | 30 | -------------------------------------------------------------------------------- /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 | 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 | -------------------------------------------------------------------------------- /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 | 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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | import Cocoa 11 | import RxSwift 12 | 13 | extension Reactive where Base: NSView { 14 | /// Bindable sink for `alphaValue` property. 15 | public var alpha: Binder { 16 | return Binder(self.base) { view, value in 17 | view.alphaValue = value 18 | } 19 | } 20 | } 21 | #endif 22 | -------------------------------------------------------------------------------- /Pods/RxDataSources/LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 RxSwift Community 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Pods/RxDataSources/Sources/RxDataSources/AnimationConfiguration.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AnimationConfiguration.swift 3 | // RxDataSources 4 | // 5 | // Created by Esteban Torres on 5/2/16. 6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | #if os(iOS) || os(tvOS) 10 | import Foundation 11 | import UIKit 12 | 13 | /** 14 | Exposes custom animation styles for insertion, deletion and reloading behavior. 15 | */ 16 | public struct AnimationConfiguration { 17 | public let insertAnimation: UITableView.RowAnimation 18 | public let reloadAnimation: UITableView.RowAnimation 19 | public let deleteAnimation: UITableView.RowAnimation 20 | 21 | public init(insertAnimation: UITableView.RowAnimation = .automatic, 22 | reloadAnimation: UITableView.RowAnimation = .automatic, 23 | deleteAnimation: UITableView.RowAnimation = .automatic) { 24 | self.insertAnimation = insertAnimation 25 | self.reloadAnimation = reloadAnimation 26 | self.deleteAnimation = deleteAnimation 27 | } 28 | } 29 | #endif 30 | -------------------------------------------------------------------------------- /Pods/RxDataSources/Sources/RxDataSources/Array+Extensions.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Array+Extensions.swift 3 | // RxDataSources 4 | // 5 | // Created by Krunoslav Zaher on 4/26/16. 6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | #if os(iOS) || os(tvOS) 10 | import Foundation 11 | 12 | extension Array where Element: SectionModelType { 13 | mutating func moveFromSourceIndexPath(_ sourceIndexPath: IndexPath, destinationIndexPath: IndexPath) { 14 | let sourceSection = self[sourceIndexPath.section] 15 | var sourceItems = sourceSection.items 16 | 17 | let sourceItem = sourceItems.remove(at: sourceIndexPath.item) 18 | 19 | let sourceSectionNew = Element(original: sourceSection, items: sourceItems) 20 | self[sourceIndexPath.section] = sourceSectionNew 21 | 22 | let destinationSection = self[destinationIndexPath.section] 23 | var destinationItems = destinationSection.items 24 | destinationItems.insert(sourceItem, at: destinationIndexPath.item) 25 | 26 | self[destinationIndexPath.section] = Element(original: destinationSection, items: destinationItems) 27 | } 28 | } 29 | #endif 30 | -------------------------------------------------------------------------------- /Pods/RxDataSources/Sources/RxDataSources/DataSources.swift: -------------------------------------------------------------------------------- 1 | // 2 | // DataSources.swift 3 | // RxDataSources 4 | // 5 | // Created by Krunoslav Zaher on 1/8/16. 6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | @_exported import Differentiator 12 | 13 | enum RxDataSourceError: Error { 14 | case preconditionFailed(message: String) 15 | case outOfBounds(indexPath: IndexPath) 16 | } 17 | 18 | func rxPrecondition(_ condition: Bool, _ message: @autoclosure() -> String) throws { 19 | if condition { 20 | return 21 | } 22 | rxDebugFatalError("Precondition failed") 23 | 24 | throw RxDataSourceError.preconditionFailed(message: message()) 25 | } 26 | 27 | func rxDebugFatalError(_ error: Error) { 28 | rxDebugFatalError("\(error)") 29 | } 30 | 31 | func rxDebugFatalError(_ message: String) { 32 | #if DEBUG 33 | fatalError(message) 34 | #else 35 | print(message) 36 | #endif 37 | } 38 | -------------------------------------------------------------------------------- /Pods/RxDataSources/Sources/RxDataSources/Deprecated.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Deprecated.swift 3 | // RxDataSources 4 | // 5 | // Created by Krunoslav Zaher on 10/8/17. 6 | // Copyright © 2017 kzaher. All rights reserved. 7 | // 8 | 9 | #if os(iOS) || os(tvOS) 10 | extension CollectionViewSectionedDataSource { 11 | @available(*, deprecated, renamed: "configureSupplementaryView") 12 | public var supplementaryViewFactory: ConfigureSupplementaryView? { 13 | get { 14 | return self.configureSupplementaryView 15 | } 16 | set { 17 | self.configureSupplementaryView = newValue 18 | } 19 | } 20 | } 21 | #endif 22 | -------------------------------------------------------------------------------- /Pods/RxDataSources/Sources/RxDataSources/FloatingPointType+IdentifiableType.swift: -------------------------------------------------------------------------------- 1 | // 2 | // FloatingPointType+IdentifiableType.swift 3 | // RxDataSources 4 | // 5 | // Created by Krunoslav Zaher on 7/4/16. 6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | extension FloatingPoint { 12 | typealias identity = Self 13 | 14 | public var identity: Self { 15 | return self 16 | } 17 | } 18 | 19 | extension Float : IdentifiableType { 20 | 21 | } 22 | 23 | extension Double : IdentifiableType { 24 | 25 | } 26 | -------------------------------------------------------------------------------- /Pods/RxDataSources/Sources/RxDataSources/IntegerType+IdentifiableType.swift: -------------------------------------------------------------------------------- 1 | // 2 | // IntegerType+IdentifiableType.swift 3 | // RxDataSources 4 | // 5 | // Created by Krunoslav Zaher on 7/4/16. 6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | extension BinaryInteger { 12 | typealias identity = Self 13 | 14 | public var identity: Self { 15 | return self 16 | } 17 | } 18 | 19 | extension Int : IdentifiableType { 20 | 21 | } 22 | 23 | extension Int8 : IdentifiableType { 24 | 25 | } 26 | 27 | extension Int16 : IdentifiableType { 28 | 29 | } 30 | 31 | extension Int32 : IdentifiableType { 32 | 33 | } 34 | 35 | extension Int64 : IdentifiableType { 36 | 37 | } 38 | 39 | 40 | extension UInt : IdentifiableType { 41 | 42 | } 43 | 44 | extension UInt8 : IdentifiableType { 45 | 46 | } 47 | 48 | extension UInt16 : IdentifiableType { 49 | 50 | } 51 | 52 | extension UInt32 : IdentifiableType { 53 | 54 | } 55 | 56 | extension UInt64 : IdentifiableType { 57 | 58 | } 59 | 60 | -------------------------------------------------------------------------------- /Pods/RxDataSources/Sources/RxDataSources/RxCollectionViewSectionedReloadDataSource.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RxCollectionViewSectionedReloadDataSource.swift 3 | // RxExample 4 | // 5 | // Created by Krunoslav Zaher on 7/2/15. 6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | #if os(iOS) || os(tvOS) 10 | import Foundation 11 | import UIKit 12 | #if !RX_NO_MODULE 13 | import RxSwift 14 | import RxCocoa 15 | #endif 16 | import Differentiator 17 | 18 | open class RxCollectionViewSectionedReloadDataSource 19 | : CollectionViewSectionedDataSource
20 | , RxCollectionViewDataSourceType { 21 | 22 | public typealias Element = [Section] 23 | 24 | open func collectionView(_ collectionView: UICollectionView, observedEvent: Event) { 25 | Binder(self) { dataSource, element in 26 | #if DEBUG 27 | dataSource._dataSourceBound = true 28 | #endif 29 | dataSource.setSections(element) 30 | collectionView.reloadData() 31 | collectionView.collectionViewLayout.invalidateLayout() 32 | }.on(observedEvent) 33 | } 34 | } 35 | #endif 36 | -------------------------------------------------------------------------------- /Pods/RxDataSources/Sources/RxDataSources/RxTableViewSectionedReloadDataSource.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RxTableViewSectionedReloadDataSource.swift 3 | // RxExample 4 | // 5 | // Created by Krunoslav Zaher on 6/27/15. 6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | #if os(iOS) || os(tvOS) 10 | import Foundation 11 | import UIKit 12 | #if !RX_NO_MODULE 13 | import RxSwift 14 | import RxCocoa 15 | #endif 16 | import Differentiator 17 | 18 | open class RxTableViewSectionedReloadDataSource 19 | : TableViewSectionedDataSource
20 | , RxTableViewDataSourceType { 21 | public typealias Element = [Section] 22 | 23 | open func tableView(_ tableView: UITableView, observedEvent: Event) { 24 | Binder(self) { dataSource, element in 25 | #if DEBUG 26 | dataSource._dataSourceBound = true 27 | #endif 28 | dataSource.setSections(element) 29 | tableView.reloadData() 30 | }.on(observedEvent) 31 | } 32 | } 33 | #endif 34 | -------------------------------------------------------------------------------- /Pods/RxDataSources/Sources/RxDataSources/String+IdentifiableType.swift: -------------------------------------------------------------------------------- 1 | // 2 | // String+IdentifiableType.swift 3 | // RxDataSources 4 | // 5 | // Created by Krunoslav Zaher on 7/4/16. 6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | extension String : IdentifiableType { 12 | public typealias Identity = String 13 | 14 | public var identity: String { 15 | return self 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Pods/RxDataSources/Sources/RxDataSources/ViewTransition.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewTransition.swift 3 | // RxDataSources 4 | // 5 | // Created by Krunoslav Zaher on 10/22/17. 6 | // Copyright © 2017 kzaher. All rights reserved. 7 | // 8 | 9 | /// Transition between two view states 10 | public enum ViewTransition { 11 | /// animated transition 12 | case animated 13 | /// refresh view without animations 14 | case reload 15 | } 16 | 17 | -------------------------------------------------------------------------------- /Pods/RxRelay/LICENSE.md: -------------------------------------------------------------------------------- 1 | **The MIT License** 2 | **Copyright © 2015 Krunoslav Zaher, Shai Mishali** 3 | **All rights reserved.** 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10 | -------------------------------------------------------------------------------- /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 | self.subject.subscribe(observer) 30 | } 31 | 32 | /// - returns: Canonical interface for push style sequence 33 | public func asObservable() -> Observable { 34 | self.subject.asObservable() 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /Pods/RxSwift/LICENSE.md: -------------------------------------------------------------------------------- 1 | **The MIT License** 2 | **Copyright © 2015 Krunoslav Zaher, Shai Mishali** 3 | **All rights reserved.** 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10 | -------------------------------------------------------------------------------- /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 | self.repeatedValue = repeatedValue 17 | } 18 | 19 | func makeIterator() -> Iterator { 20 | let repeatedValue = self.repeatedValue 21 | return AnyIterator { repeatedValue } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /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 | DispatchQueue.getSpecific(key: token) != nil 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /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 Foundation 13 | 14 | extension Thread { 15 | static func setThreadLocalStorageValue(_ value: T?, forKey key: NSCopying) { 16 | let currentThread = Thread.current 17 | let threadDictionary = currentThread.threadDictionary 18 | 19 | if let newValue = value { 20 | threadDictionary[key] = newValue 21 | } 22 | else { 23 | threadDictionary[key] = nil 24 | } 25 | } 26 | 27 | static func getThreadLocalStorageValueForKey(_ key: NSCopying) -> T? { 28 | let currentThread = Thread.current 29 | let threadDictionary = currentThread.threadDictionary 30 | 31 | return threadDictionary[key] as? T 32 | } 33 | } 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /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 Foundation 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 | -------------------------------------------------------------------------------- /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 Foundation 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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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: () -> T) -> T { 20 | self.lock(); defer { self.unlock() } 21 | return action() 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /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() { self.lock.lock() } 15 | func unlock() { self.lock.unlock() } 16 | } 17 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 disposed = 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.disposed = isDisposed 22 | } 23 | 24 | /// - returns: Was resource disposed. 25 | public var isDisposed: Bool { 26 | self.disposed 27 | } 28 | 29 | /// Sets the status to disposed, which can be observer through the `isDisposed` property. 30 | public func dispose() { 31 | self.disposed = true 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 { NopDisposable.noOp } 30 | } 31 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 { self } 24 | 25 | deinit { 26 | #if TRACE_RESOURCES 27 | _ = Resources.decrementTotal() 28 | #endif 29 | } 30 | } 31 | 32 | -------------------------------------------------------------------------------- /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 | /// Converts `self` to `Observable` sequence. 15 | /// 16 | /// - returns: Observable sequence that represents `self`. 17 | func asObservable() -> Observable 18 | } 19 | -------------------------------------------------------------------------------- /Pods/RxSwift/RxSwift/Observables/Decode.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Decode.swift 3 | // RxSwift 4 | // 5 | // Created by Shai Mishali on 24/07/2020. 6 | // Copyright © 2020 Krunoslav Zaher. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | public extension ObservableType where Element == Data { 12 | /// Attempt to decode the emitted `Data` using a provided decoder. 13 | /// 14 | /// - parameter type: A `Decodable`-conforming type to attempt to decode to 15 | /// - parameter decoder: A capable decoder, e.g. `JSONDecoder` or `PropertyListDecoder` 16 | /// 17 | /// - note: If using a custom decoder, it must conform to the `DataDecoder` protocol. 18 | /// 19 | /// - returns: An `Observable` of the decoded type 20 | func decode(type: Item.Type, 22 | decoder: Decoder) -> Observable { 23 | map { try decoder.decode(type, from: $0) } 24 | } 25 | } 26 | 27 | /// Represents an entity capable of decoding raw `Data` 28 | /// into a concrete `Decodable` type 29 | public protocol DataDecoder { 30 | func decode(_ type: Item.Type, from data: Data) throws -> Item 31 | } 32 | 33 | extension JSONDecoder: DataDecoder {} 34 | extension PropertyListDecoder: DataDecoder {} 35 | -------------------------------------------------------------------------------- /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 | 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 | -------------------------------------------------------------------------------- /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 | 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 | -------------------------------------------------------------------------------- /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 | NeverProducer() 20 | } 21 | } 22 | 23 | final private class NeverProducer: Producer { 24 | override func subscribe(_ observer: Observer) -> Disposable where Observer.Element == Element { 25 | Disposables.create() 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /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 | self.eventHandler(event) 23 | } 24 | 25 | #if TRACE_RESOURCES 26 | deinit { 27 | _ = Resources.decrementTotal() 28 | } 29 | #endif 30 | } 31 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 Foundation 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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | 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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | /// Returns observer interface for subject. 17 | /// 18 | /// - returns: Observer interface for subject. 19 | func asObserver() -> Observer 20 | 21 | } 22 | -------------------------------------------------------------------------------- /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 | IntMax(self) 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Differentiator/Differentiator-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.0.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Differentiator/Differentiator-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Differentiator : NSObject 3 | @end 4 | @implementation PodsDummy_Differentiator 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Differentiator/Differentiator-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 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Differentiator/Differentiator-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 DifferentiatorVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char DifferentiatorVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Differentiator/Differentiator.debug.xcconfig: -------------------------------------------------------------------------------- 1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Differentiator 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}/Differentiator 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 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Differentiator/Differentiator.modulemap: -------------------------------------------------------------------------------- 1 | framework module Differentiator { 2 | umbrella header "Differentiator-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Differentiator/Differentiator.release.xcconfig: -------------------------------------------------------------------------------- 1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Differentiator 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}/Differentiator 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 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Differentiator/Differentiator.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Differentiator 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 4 | PODS_BUILD_DIR = ${BUILD_DIR} 5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 6 | PODS_ROOT = ${SRCROOT} 7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/Differentiator 8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 9 | SKIP_INSTALL = YES 10 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Differentiator/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 | 3.1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Nimble/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 | 7.3.1 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Nimble/Nimble-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 | 9.0.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Nimble/Nimble-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Nimble : NSObject 3 | @end 4 | @implementation PodsDummy_Nimble 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Nimble/Nimble-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 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Nimble/Nimble-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 "Nimble.h" 14 | #import "DSL.h" 15 | #import "NMBExceptionCapture.h" 16 | #import "NMBStringify.h" 17 | #import "CwlCatchException.h" 18 | #import "CwlMachBadInstructionHandler.h" 19 | #import "mach_excServer.h" 20 | 21 | FOUNDATION_EXPORT double NimbleVersionNumber; 22 | FOUNDATION_EXPORT const unsigned char NimbleVersionString[]; 23 | 24 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Nimble/Nimble.debug.xcconfig: -------------------------------------------------------------------------------- 1 | APPLICATION_EXTENSION_API_ONLY = YES 2 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 3 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Nimble 4 | DEFINES_MODULE = YES 5 | ENABLE_BITCODE = NO 6 | ENABLE_TESTING_SEARCH_PATHS = YES 7 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" 8 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 9 | LIBRARY_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" 10 | OTHER_LDFLAGS = $(inherited) -Xlinker -no_application_extension -weak-lswiftXCTest -weak_framework "XCTest" 11 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS $(inherited) -suppress-warnings 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}/Nimble 16 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates 17 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 18 | SKIP_INSTALL = YES 19 | SWIFT_INCLUDE_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" 20 | SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" 21 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 22 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Nimble/Nimble.modulemap: -------------------------------------------------------------------------------- 1 | framework module Nimble { 2 | umbrella header "Nimble-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Nimble/Nimble.release.xcconfig: -------------------------------------------------------------------------------- 1 | APPLICATION_EXTENSION_API_ONLY = YES 2 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 3 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Nimble 4 | DEFINES_MODULE = YES 5 | ENABLE_BITCODE = NO 6 | ENABLE_TESTING_SEARCH_PATHS = YES 7 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" 8 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 9 | LIBRARY_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" 10 | OTHER_LDFLAGS = $(inherited) -Xlinker -no_application_extension -weak-lswiftXCTest -weak_framework "XCTest" 11 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS $(inherited) -suppress-warnings 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}/Nimble 16 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates 17 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 18 | SKIP_INSTALL = YES 19 | SWIFT_INCLUDE_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" 20 | SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" 21 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 22 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Nimble/Nimble.xcconfig: -------------------------------------------------------------------------------- 1 | APPLICATION_EXTENSION_API_ONLY = YES 2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Nimble 3 | ENABLE_BITCODE = NO 4 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" 5 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 6 | OTHER_LDFLAGS = $(inherited) -Xlinker -no_application_extension -weak-lswiftXCTest -weak_framework "XCTest" 7 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS $(inherited) -suppress-warnings 8 | PODS_BUILD_DIR = ${BUILD_DIR} 9 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 10 | PODS_ROOT = ${SRCROOT} 11 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/Nimble 12 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 13 | SKIP_INSTALL = YES 14 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-ReRx-Example-ExampleTests/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 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-ReRx-Example-ExampleTests/Pods-ReRx-Example-ExampleTests-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 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-ReRx-Example-ExampleTests/Pods-ReRx-Example-ExampleTests-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_ReRx_Example_ExampleTests : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_ReRx_Example_ExampleTests 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-ReRx-Example-ExampleTests/Pods-ReRx-Example-ExampleTests-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_ReRx_Example_ExampleTestsVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char Pods_ReRx_Example_ExampleTestsVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-ReRx-Example-ExampleTests/Pods-ReRx-Example-ExampleTests.modulemap: -------------------------------------------------------------------------------- 1 | framework module Pods_ReRx_Example_ExampleTests { 2 | umbrella header "Pods-ReRx-Example-ExampleTests-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-ReRx-Example/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 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-ReRx-Example/Pods-ReRx-Example-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 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-ReRx-Example/Pods-ReRx-Example-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_ReRx_Example : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_ReRx_Example 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-ReRx-Example/Pods-ReRx-Example-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_ReRx_ExampleVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char Pods_ReRx_ExampleVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-ReRx-Example/Pods-ReRx-Example.modulemap: -------------------------------------------------------------------------------- 1 | framework module Pods_ReRx_Example { 2 | umbrella header "Pods-ReRx-Example-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-ReRx-ReRxSwift/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 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-ReRx-ReRxSwift/Pods-ReRx-ReRxSwift-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 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-ReRx-ReRxSwift/Pods-ReRx-ReRxSwift-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_ReRx_ReRxSwift : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_ReRx_ReRxSwift 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-ReRx-ReRxSwift/Pods-ReRx-ReRxSwift-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_ReRx_ReRxSwiftVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char Pods_ReRx_ReRxSwiftVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-ReRx-ReRxSwift/Pods-ReRx-ReRxSwift.debug.xcconfig: -------------------------------------------------------------------------------- 1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/ReSwift" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/ReSwift/ReSwift.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" 5 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' '@executable_path/../../Frameworks' 6 | OTHER_LDFLAGS = $(inherited) -framework "ReSwift" -framework "RxCocoa" -framework "RxRelay" -framework "RxSwift" 7 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 8 | PODS_BUILD_DIR = ${BUILD_DIR} 9 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 10 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 11 | PODS_ROOT = ${SRCROOT}/Pods 12 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates 13 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 14 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-ReRx-ReRxSwift/Pods-ReRx-ReRxSwift.modulemap: -------------------------------------------------------------------------------- 1 | framework module Pods_ReRx_ReRxSwift { 2 | umbrella header "Pods-ReRx-ReRxSwift-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-ReRx-ReRxSwift/Pods-ReRx-ReRxSwift.release.xcconfig: -------------------------------------------------------------------------------- 1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/ReSwift" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/ReSwift/ReSwift.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" 5 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' '@executable_path/../../Frameworks' 6 | OTHER_LDFLAGS = $(inherited) -framework "ReSwift" -framework "RxCocoa" -framework "RxRelay" -framework "RxSwift" 7 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 8 | PODS_BUILD_DIR = ${BUILD_DIR} 9 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 10 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 11 | PODS_ROOT = ${SRCROOT}/Pods 12 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates 13 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 14 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-ReRxSwiftTests/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 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-ReRxSwiftTests/Pods-ReRxSwiftTests-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 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-ReRxSwiftTests/Pods-ReRxSwiftTests-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_ReRxSwiftTests : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_ReRxSwiftTests 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-ReRxSwiftTests/Pods-ReRxSwiftTests-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_ReRxSwiftTestsVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char Pods_ReRxSwiftTestsVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-ReRxSwiftTests/Pods-ReRxSwiftTests.modulemap: -------------------------------------------------------------------------------- 1 | framework module Pods_ReRxSwiftTests { 2 | umbrella header "Pods-ReRxSwiftTests-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Quick/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.3.2 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Quick/Quick-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 | 3.1.2 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Quick/Quick-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Quick : NSObject 3 | @end 4 | @implementation PodsDummy_Quick 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Quick/Quick-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 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Quick/Quick-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 "QuickConfiguration.h" 14 | #import "QCKDSL.h" 15 | #import "Quick.h" 16 | #import "QuickSpec.h" 17 | 18 | FOUNDATION_EXPORT double QuickVersionNumber; 19 | FOUNDATION_EXPORT const unsigned char QuickVersionString[]; 20 | 21 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Quick/Quick.debug.xcconfig: -------------------------------------------------------------------------------- 1 | APPLICATION_EXTENSION_API_ONLY = YES 2 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 3 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Quick 4 | DEFINES_MODULE = YES 5 | ENABLE_BITCODE = NO 6 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" 7 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 8 | LIBRARY_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" 9 | OTHER_LDFLAGS = $(inherited) -Xlinker -no_application_extension -framework "XCTest" 10 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -suppress-warnings 11 | PODS_BUILD_DIR = ${BUILD_DIR} 12 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 13 | PODS_ROOT = ${SRCROOT} 14 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/Quick 15 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates 16 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 17 | SKIP_INSTALL = YES 18 | SWIFT_INCLUDE_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" 19 | SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" 20 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 21 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Quick/Quick.modulemap: -------------------------------------------------------------------------------- 1 | framework module Quick { 2 | umbrella header "Quick-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Quick/Quick.release.xcconfig: -------------------------------------------------------------------------------- 1 | APPLICATION_EXTENSION_API_ONLY = YES 2 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 3 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Quick 4 | DEFINES_MODULE = YES 5 | ENABLE_BITCODE = NO 6 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" 7 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 8 | LIBRARY_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" 9 | OTHER_LDFLAGS = $(inherited) -Xlinker -no_application_extension -framework "XCTest" 10 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -suppress-warnings 11 | PODS_BUILD_DIR = ${BUILD_DIR} 12 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 13 | PODS_ROOT = ${SRCROOT} 14 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/Quick 15 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates 16 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 17 | SKIP_INSTALL = YES 18 | SWIFT_INCLUDE_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" 19 | SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" 20 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 21 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Quick/Quick.xcconfig: -------------------------------------------------------------------------------- 1 | APPLICATION_EXTENSION_API_ONLY = YES 2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Quick 3 | ENABLE_BITCODE = NO 4 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" 5 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 6 | OTHER_LDFLAGS = $(inherited) -Xlinker -no_application_extension -framework "XCTest" 7 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -suppress-warnings 8 | PODS_BUILD_DIR = ${BUILD_DIR} 9 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 10 | PODS_ROOT = ${SRCROOT} 11 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/Quick 12 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 13 | SKIP_INSTALL = YES 14 | -------------------------------------------------------------------------------- /Pods/Target Support Files/ReSwift/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 | 4.0.1 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Pods/Target Support Files/ReSwift/ReSwift-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 | 6.0.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Pods/Target Support Files/ReSwift/ReSwift-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_ReSwift : NSObject 3 | @end 4 | @implementation PodsDummy_ReSwift 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/ReSwift/ReSwift-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 | -------------------------------------------------------------------------------- /Pods/Target Support Files/ReSwift/ReSwift-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 ReSwiftVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char ReSwiftVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /Pods/Target Support Files/ReSwift/ReSwift.debug.xcconfig: -------------------------------------------------------------------------------- 1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/ReSwift 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}/ReSwift 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 | -------------------------------------------------------------------------------- /Pods/Target Support Files/ReSwift/ReSwift.modulemap: -------------------------------------------------------------------------------- 1 | framework module ReSwift { 2 | umbrella header "ReSwift-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/ReSwift/ReSwift.release.xcconfig: -------------------------------------------------------------------------------- 1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/ReSwift 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}/ReSwift 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 | -------------------------------------------------------------------------------- /Pods/Target Support Files/ReSwift/ReSwift.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/ReSwift 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 4 | PODS_BUILD_DIR = ${BUILD_DIR} 5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 6 | PODS_ROOT = ${SRCROOT} 7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/ReSwift 8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 9 | SKIP_INSTALL = YES 10 | -------------------------------------------------------------------------------- /Pods/Target Support Files/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 | 4.3.1 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /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 | 6.1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Pods/Target Support Files/RxCocoa/RxCocoa-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_RxCocoa : NSObject 3 | @end 4 | @implementation PodsDummy_RxCocoa 5 | @end 6 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /Pods/Target Support Files/RxCocoa/RxCocoa.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay" "${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}/RxCocoa 9 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 10 | SKIP_INSTALL = YES 11 | -------------------------------------------------------------------------------- /Pods/Target Support Files/RxDataSources/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 | 3.1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Pods/Target Support Files/RxDataSources/RxDataSources-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.0.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Pods/Target Support Files/RxDataSources/RxDataSources-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_RxDataSources : NSObject 3 | @end 4 | @implementation PodsDummy_RxDataSources 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/RxDataSources/RxDataSources-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 | -------------------------------------------------------------------------------- /Pods/Target Support Files/RxDataSources/RxDataSources-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 RxDataSourcesVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char RxDataSourcesVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /Pods/Target Support Files/RxDataSources/RxDataSources.debug.xcconfig: -------------------------------------------------------------------------------- 1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/RxDataSources 3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Differentiator" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa" "${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}/RxDataSources 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 | -------------------------------------------------------------------------------- /Pods/Target Support Files/RxDataSources/RxDataSources.modulemap: -------------------------------------------------------------------------------- 1 | framework module RxDataSources { 2 | umbrella header "RxDataSources-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/RxDataSources/RxDataSources.release.xcconfig: -------------------------------------------------------------------------------- 1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/RxDataSources 3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Differentiator" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa" "${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}/RxDataSources 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 | -------------------------------------------------------------------------------- /Pods/Target Support Files/RxDataSources/RxDataSources.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/RxDataSources 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Differentiator" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay" "${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}/RxDataSources 9 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 10 | SKIP_INSTALL = YES 11 | -------------------------------------------------------------------------------- /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 | 6.1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Pods/Target Support Files/RxRelay/RxRelay-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_RxRelay : NSObject 3 | @end 4 | @implementation PodsDummy_RxRelay 5 | @end 6 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /Pods/Target Support Files/RxRelay/RxRelay.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/RxRelay 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${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}/RxRelay 9 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 10 | SKIP_INSTALL = YES 11 | -------------------------------------------------------------------------------- /Pods/Target Support Files/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 | 4.3.1 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /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 | 6.1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Pods/Target Support Files/RxSwift/RxSwift-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_RxSwift : NSObject 3 | @end 4 | @implementation PodsDummy_RxSwift 5 | @end 6 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /Pods/Target Support Files/RxSwift/RxSwift.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/RxSwift 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 4 | PODS_BUILD_DIR = ${BUILD_DIR} 5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 6 | PODS_ROOT = ${SRCROOT} 7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/RxSwift 8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 9 | SKIP_INSTALL = YES 10 | -------------------------------------------------------------------------------- /ReRxSwift.podspec: -------------------------------------------------------------------------------- 1 | Pod::Spec.new do |s| 2 | s.name = "ReRxSwift" 3 | s.version = "2.3.0" 4 | s.summary = "RxSwift bindings for ReSwift" 5 | s.description = <<-DESC 6 | ReRxSwift: RxSwift bindings for ReSwift. Heavily inspired by 7 | react-redux, this allows you to 'connect' your controllers and specify 8 | props and actions that your controller depends on. The real state 9 | and actions are thus decoupled from the controller implementations. 10 | DESC 11 | 12 | s.homepage = "https://github.com/svdo/ReRxSwift" 13 | s.license = { :type => "MIT", :file => "LICENSE" } 14 | s.author = { "Stefan van den Oord" => "soord@mac.com" } 15 | s.platform = :ios, '9.0' 16 | s.source = { :git => "https://github.com/svdo/ReRxSwift.git", :tag => "#{s.version}" } 17 | s.source_files = "ReRxSwift/*.swift" 18 | s.requires_arc = true 19 | s.swift_version = '5' 20 | 21 | s.dependency "ReSwift", "~> 6" 22 | s.dependency "RxSwift", "~> 6" 23 | s.dependency "RxCocoa", "~> 6" 24 | 25 | end 26 | -------------------------------------------------------------------------------- /ReRxSwift.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /ReRxSwift.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /ReRxSwift.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ReRxSwift/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 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 | $(MARKETING_VERSION) 19 | CFBundleVersion 20 | $(CURRENT_PROJECT_VERSION) 21 | NSPrincipalClass 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /ReRxSwift/ReRxSwift.h: -------------------------------------------------------------------------------- 1 | // 2 | // ReRxSwift.h 3 | // ReRxSwift 4 | // 5 | // Created by Stefan on 16/08/2017. 6 | // Copyright © 2017 Stefan van den Oord. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | //! Project version number for ReRxSwift. 12 | FOUNDATION_EXPORT double ReRxSwiftVersionNumber; 13 | 14 | //! Project version string for ReRxSwift. 15 | FOUNDATION_EXPORT const unsigned char ReRxSwiftVersionString[]; 16 | 17 | // In this header, you should import all the public headers of your framework using statements like #import 18 | 19 | 20 | -------------------------------------------------------------------------------- /ReRxSwiftTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /ReRxSwiftTests/TestActions.swift: -------------------------------------------------------------------------------- 1 | // Copyright © 2017 Stefan van den Oord. All rights reserved. 2 | 3 | import ReSwift 4 | 5 | struct TestAction: Action { 6 | let newString: String 7 | } 8 | extension TestAction: Equatable { 9 | static func ==(lhs: TestAction, rhs: TestAction) -> Bool { 10 | return lhs.newString == rhs.newString 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ReRxSwiftTests/TestSectionModel.swift: -------------------------------------------------------------------------------- 1 | // Copyright © 2017 Stefan van den Oord. All rights reserved. 2 | 3 | import RxDataSources 4 | 5 | struct TestSectionModel { 6 | var header: String 7 | var items: [Int] 8 | } 9 | 10 | extension TestSectionModel: Equatable { 11 | static func ==(lhs: TestSectionModel, rhs: TestSectionModel) -> Bool { 12 | return lhs.header == rhs.header && lhs.items.elementsEqual(rhs.items) 13 | } 14 | } 15 | 16 | extension TestSectionModel { 17 | func sorted() -> TestSectionModel { 18 | return TestSectionModel(header: self.header, items: self.items.sorted()) 19 | } 20 | } 21 | 22 | extension TestSectionModel: AnimatableSectionModelType { 23 | var identity: String { 24 | return header 25 | } 26 | init(original: TestSectionModel, items: [Int]) { 27 | self = original 28 | self.items = items 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /ReRxSwiftTests/TestState.swift: -------------------------------------------------------------------------------- 1 | // Copyright © 2017 Stefan van den Oord. All rights reserved. 2 | 3 | import ReSwift 4 | 5 | struct TestState: StateType { 6 | let someString: String 7 | let someFloat: Float 8 | let numbers: [Int] 9 | let maybeInt: Int? 10 | let sections: [TestSectionModel] 11 | 12 | init(someString: String, someFloat: Float, numbers: [Int], 13 | maybeInt: Int? = nil, sections: [TestSectionModel] = []) { 14 | self.someString = someString 15 | self.someFloat = someFloat 16 | self.numbers = numbers 17 | self.maybeInt = maybeInt 18 | self.sections = sections 19 | } 20 | } 21 | --------------------------------------------------------------------------------