├── .github
└── workflows
│ └── swift.yml
├── .gitignore
├── .swiftpm
└── xcode
│ └── package.xcworkspace
│ └── contents.xcworkspacedata
├── CONTRIBUTING.md
├── CodingTestableAppsOnSteroids.pdf
├── DemoApp
├── .gitignore
├── LoginDemo.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ │ └── IDEWorkspaceChecks.plist
│ └── xcshareddata
│ │ └── xcschemes
│ │ └── LoginDemoRxRedux.xcscheme
├── LoginDemo.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ └── IDEWorkspaceChecks.plist
├── LoginDemo
│ ├── App
│ │ ├── AppCoordinator.swift
│ │ └── AppDelegate.swift
│ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ ├── Contents.json
│ │ ├── lock.imageset
│ │ │ ├── Contents.json
│ │ │ └── lock.png
│ │ ├── mountain.imageset
│ │ │ ├── Contents.json
│ │ │ └── mountain_lake-wallpaper-1920x1200.jpg
│ │ ├── showPassword.imageset
│ │ │ ├── Contents.json
│ │ │ └── wbqscigdlzjlftggfjaw.png
│ │ └── unlock.imageset
│ │ │ ├── Contents.json
│ │ │ └── unlock.png
│ ├── Base.lproj
│ │ └── LaunchScreen.storyboard
│ ├── DependencyRetriever.swift
│ ├── Features
│ │ ├── Login
│ │ │ ├── LoginCoordinator.swift
│ │ │ ├── LoginStore+reducer.swift
│ │ │ ├── LoginStore.swift
│ │ │ ├── LoginView.swift
│ │ │ ├── LoginViewController.swift
│ │ │ └── lenses.stencil
│ │ ├── POI
│ │ │ ├── DetailView
│ │ │ │ ├── DetailCoordinator.swift
│ │ │ │ ├── DetailStore+reducer.swift
│ │ │ │ ├── DetailStore.swift
│ │ │ │ ├── DetailView.swift
│ │ │ │ └── DetailViewController.swift
│ │ │ └── TableView
│ │ │ │ ├── DemoTableStore+reducer.swift
│ │ │ │ ├── DemoTableStore.swift
│ │ │ │ ├── DemoTableView.swift
│ │ │ │ ├── DemoTableViewCell.swift
│ │ │ │ ├── DemoTableViewController.swift
│ │ │ │ ├── DemoTableViewController.swift~Stashed changes
│ │ │ │ └── ViewModel
│ │ │ │ └── DemoCellModel.swift
│ │ └── TableView
│ │ │ ├── DemoTableStore.swift
│ │ │ ├── DemoTableView.swift
│ │ │ ├── DemoTableViewCell.swift
│ │ │ ├── DemoTableViewController.swift
│ │ │ └── ViewModel
│ │ │ └── DemoCellModel.swift
│ ├── Info.plist
│ ├── Services
│ │ ├── Authentication
│ │ │ └── AuthenticationService.swift
│ │ ├── GOT
│ │ │ └── GOTService.swift
│ │ ├── Login
│ │ │ └── LoginAPI.swift
│ │ └── POI
│ │ │ ├── POI.swift
│ │ │ └── POIService.swift
│ ├── UIAlertController+Rx.swift
│ ├── Use Cases
│ │ ├── AppCoordinatorFactory.swift
│ │ ├── DetailFactoryUseCase.swift
│ │ ├── Login
│ │ │ ├── LoginFactoryUseCase.swift
│ │ │ └── LoginUseCase.swift
│ │ ├── PoisUseCase.swift
│ │ ├── RandomColorUseCase.swift
│ │ └── UseCase.swift
│ └── Utility
│ │ ├── BaseCoordinator.swift
│ │ ├── Navigation.swift
│ │ ├── RandomColorHelper.swift
│ │ └── UIImageView+imageFromServerURL.swift
├── LoginDemoTests
│ ├── Info.plist
│ ├── LoginDemoTests.swift
│ └── ReferenceImages
│ │ ├── LoginDemoRxReduxTests
│ │ ├── LoginDemoRxReduxTests_testSnapshot_LoggedOut_PasswordHidden_LoginButtonDisabled_iPhone12_1_414x896@2x.png
│ │ ├── LoginDemoRxReduxTests_testSnapshot_LoggedOut_PasswordNotHidden_LoginButtonEnabled_iPhone12_1_414x896@2x.png
│ │ ├── LoginDemoRxReduxTests_testSnapshot_LoginFailed_LoginButtonDisabled_iPhone12_1_414x896@2x.png
│ │ ├── LoginDemoRxReduxTests_testSnapshot_LoginFailed_LoginButtonEnabled_iPhone12_1_414x896@2x.png
│ │ └── LoginDemoRxReduxTests_testSnapshot_PerformingLogin_LoginButtonDisabled_iPhone12_1_414x896@2x.png
│ │ └── LoginDemoTests
│ │ ├── LoginDemoTests_testSnapshot_LoggedOut_PasswordHidden_LoginButtonDisabled_iPhone_14_3_375x667@2x.png
│ │ ├── LoginDemoTests_testSnapshot_LoggedOut_PasswordHidden_LoginButtonDisabled_iPhone_15_5_375x667@2x.png
│ │ ├── LoginDemoTests_testSnapshot_LoggedOut_PasswordNotHidden_LoginButtonEnabled_iPhone_14_3_375x667@2x.png
│ │ ├── LoginDemoTests_testSnapshot_LoggedOut_PasswordNotHidden_LoginButtonEnabled_iPhone_15_5_375x667@2x.png
│ │ ├── LoginDemoTests_testSnapshot_LoginFailed_LoginButtonDisabled_iPhone_14_3_375x667@2x.png
│ │ ├── LoginDemoTests_testSnapshot_LoginFailed_LoginButtonDisabled_iPhone_15_5_375x667@2x.png
│ │ ├── LoginDemoTests_testSnapshot_LoginFailed_LoginButtonEnabled_iPhone_14_3_375x667@2x.png
│ │ ├── LoginDemoTests_testSnapshot_LoginFailed_LoginButtonEnabled_iPhone_15_5_375x667@2x.png
│ │ ├── LoginDemoTests_testSnapshot_PerformingLogin_LoginButtonDisabled_iPhone_14_3_375x667@2x.png
│ │ └── LoginDemoTests_testSnapshot_PerformingLogin_LoginButtonDisabled_iPhone_15_5_375x667@2x.png
├── Podfile
├── Podfile.lock
└── Pods
│ ├── Local Podspecs
│ ├── Sensor.podspec.json
│ └── SensorTest.podspec.json
│ ├── Manifest.lock
│ ├── Nimble-Snapshots
│ ├── LICENSE
│ ├── Nimble_Snapshots
│ │ ├── CurrentTestCaseTracker.swift
│ │ ├── DynamicSize
│ │ │ └── DynamicSizeSnapshot.swift
│ │ ├── DynamicType
│ │ │ ├── HaveValidDynamicTypeSnapshot.swift
│ │ │ ├── NBSMockedApplication.swift
│ │ │ └── PrettyDynamicTypeSyntax.swift
│ │ ├── HaveValidSnapshot.swift
│ │ ├── Nimble_Snapshots.h
│ │ ├── PrettySyntax.swift
│ │ ├── XCTestObservationCenter+CurrentTestCaseTracker.h
│ │ └── XCTestObservationCenter+CurrentTestCaseTracker.m
│ └── README.md
│ ├── 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
│ │ │ ├── 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
│ │ │ ├── BeResult.swift
│ │ │ ├── BeVoid.swift
│ │ │ ├── BeWithin.swift
│ │ │ ├── BeginWith.swift
│ │ │ ├── BeginWithPrefix.swift
│ │ │ ├── Contain.swift
│ │ │ ├── ContainElementSatisfying.swift
│ │ │ ├── ElementsEqual.swift
│ │ │ ├── EndWith.swift
│ │ │ ├── Equal+Tuple.swift
│ │ │ ├── Equal.swift
│ │ │ ├── HaveCount.swift
│ │ │ ├── Match.swift
│ │ │ ├── MatchError.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
│ ├── RxCocoa
│ ├── LICENSE.md
│ ├── Platform
│ │ ├── DataStructures
│ │ │ ├── Bag.swift
│ │ │ ├── InfiniteSequence.swift
│ │ │ ├── PriorityQueue.swift
│ │ │ └── Queue.swift
│ │ ├── DispatchQueue+Extensions.swift
│ │ ├── Platform.Darwin.swift
│ │ ├── Platform.Linux.swift
│ │ └── RecursiveLock.swift
│ ├── README.md
│ └── RxCocoa
│ │ ├── Common
│ │ ├── Binder.swift
│ │ ├── ControlTarget.swift
│ │ ├── DelegateProxy.swift
│ │ ├── DelegateProxyType.swift
│ │ ├── KeyPathBinder.swift
│ │ ├── NSLayoutConstraint+Rx.swift
│ │ ├── Observable+Bind.swift
│ │ ├── RxCocoaObjCRuntimeError+Extensions.swift
│ │ ├── RxTarget.swift
│ │ ├── SectionedViewDataSourceType.swift
│ │ └── TextInput.swift
│ │ ├── Deprecated.swift
│ │ ├── Foundation
│ │ ├── KVORepresentable+CoreGraphics.swift
│ │ ├── KVORepresentable+Swift.swift
│ │ ├── KVORepresentable.swift
│ │ ├── Logging.swift
│ │ ├── NSObject+Rx+KVORepresentable.swift
│ │ ├── NSObject+Rx+RawRepresentable.swift
│ │ ├── NSObject+Rx.swift
│ │ ├── NotificationCenter+Rx.swift
│ │ └── URLSession+Rx.swift
│ │ ├── Runtime
│ │ ├── _RX.m
│ │ ├── _RXDelegateProxy.m
│ │ ├── _RXKVOObserver.m
│ │ ├── _RXObjCRuntime.m
│ │ └── include
│ │ │ ├── RxCocoaRuntime.h
│ │ │ ├── _RX.h
│ │ │ ├── _RXDelegateProxy.h
│ │ │ ├── _RXKVOObserver.h
│ │ │ └── _RXObjCRuntime.h
│ │ ├── RxCocoa.h
│ │ ├── RxCocoa.swift
│ │ ├── Traits
│ │ ├── ControlEvent.swift
│ │ ├── ControlProperty.swift
│ │ ├── Driver
│ │ │ ├── BehaviorRelay+Driver.swift
│ │ │ ├── ControlEvent+Driver.swift
│ │ │ ├── ControlProperty+Driver.swift
│ │ │ ├── Driver+Subscription.swift
│ │ │ ├── Driver.swift
│ │ │ └── ObservableConvertibleType+Driver.swift
│ │ ├── SharedSequence
│ │ │ ├── ObservableConvertibleType+SharedSequence.swift
│ │ │ ├── SchedulerType+SharedSequence.swift
│ │ │ ├── SharedSequence+Operators+arity.swift
│ │ │ ├── SharedSequence+Operators.swift
│ │ │ └── SharedSequence.swift
│ │ └── Signal
│ │ │ ├── ControlEvent+Signal.swift
│ │ │ ├── ObservableConvertibleType+Signal.swift
│ │ │ ├── PublishRelay+Signal.swift
│ │ │ ├── Signal+Subscription.swift
│ │ │ └── Signal.swift
│ │ ├── iOS
│ │ ├── DataSources
│ │ │ ├── RxCollectionViewReactiveArrayDataSource.swift
│ │ │ ├── RxPickerViewAdapter.swift
│ │ │ └── RxTableViewReactiveArrayDataSource.swift
│ │ ├── Events
│ │ │ └── ItemEvents.swift
│ │ ├── NSTextStorage+Rx.swift
│ │ ├── Protocols
│ │ │ ├── RxCollectionViewDataSourceType.swift
│ │ │ ├── RxPickerViewDataSourceType.swift
│ │ │ └── RxTableViewDataSourceType.swift
│ │ ├── Proxies
│ │ │ ├── RxCollectionViewDataSourcePrefetchingProxy.swift
│ │ │ ├── RxCollectionViewDataSourceProxy.swift
│ │ │ ├── RxCollectionViewDelegateProxy.swift
│ │ │ ├── RxNavigationControllerDelegateProxy.swift
│ │ │ ├── RxPickerViewDataSourceProxy.swift
│ │ │ ├── RxPickerViewDelegateProxy.swift
│ │ │ ├── RxScrollViewDelegateProxy.swift
│ │ │ ├── RxSearchBarDelegateProxy.swift
│ │ │ ├── RxSearchControllerDelegateProxy.swift
│ │ │ ├── RxTabBarControllerDelegateProxy.swift
│ │ │ ├── RxTabBarDelegateProxy.swift
│ │ │ ├── RxTableViewDataSourcePrefetchingProxy.swift
│ │ │ ├── RxTableViewDataSourceProxy.swift
│ │ │ ├── RxTableViewDelegateProxy.swift
│ │ │ ├── RxTextStorageDelegateProxy.swift
│ │ │ ├── RxTextViewDelegateProxy.swift
│ │ │ └── RxWKNavigationDelegateProxy.swift
│ │ ├── UIActivityIndicatorView+Rx.swift
│ │ ├── UIAlertAction+Rx.swift
│ │ ├── UIApplication+Rx.swift
│ │ ├── UIBarButtonItem+Rx.swift
│ │ ├── UIButton+Rx.swift
│ │ ├── UICollectionView+Rx.swift
│ │ ├── UIControl+Rx.swift
│ │ ├── UIDatePicker+Rx.swift
│ │ ├── UIGestureRecognizer+Rx.swift
│ │ ├── UIImageView+Rx.swift
│ │ ├── UILabel+Rx.swift
│ │ ├── UINavigationController+Rx.swift
│ │ ├── UINavigationItem+Rx.swift
│ │ ├── UIPageControl+Rx.swift
│ │ ├── UIPickerView+Rx.swift
│ │ ├── UIProgressView+Rx.swift
│ │ ├── UIRefreshControl+Rx.swift
│ │ ├── UIScrollView+Rx.swift
│ │ ├── UISearchBar+Rx.swift
│ │ ├── UISearchController+Rx.swift
│ │ ├── UISegmentedControl+Rx.swift
│ │ ├── UISlider+Rx.swift
│ │ ├── UIStepper+Rx.swift
│ │ ├── UISwitch+Rx.swift
│ │ ├── UITabBar+Rx.swift
│ │ ├── UITabBarController+Rx.swift
│ │ ├── UITabBarItem+Rx.swift
│ │ ├── UITableView+Rx.swift
│ │ ├── UITextField+Rx.swift
│ │ ├── UITextView+Rx.swift
│ │ ├── UIView+Rx.swift
│ │ ├── UIViewController+Rx.swift
│ │ └── WKWebView+Rx.swift
│ │ └── macOS
│ │ ├── NSButton+Rx.swift
│ │ ├── NSControl+Rx.swift
│ │ ├── NSImageView+Rx.swift
│ │ ├── NSSlider+Rx.swift
│ │ ├── NSTextField+Rx.swift
│ │ ├── NSTextView+Rx.swift
│ │ └── NSView+Rx.swift
│ ├── RxFeedback
│ ├── LICENSE
│ ├── README.md
│ └── Sources
│ │ └── RxFeedback
│ │ ├── AsyncSynchronized.swift
│ │ ├── Deprecations.swift
│ │ ├── Feedbacks.swift
│ │ └── ObservableType+RxFeedback.swift
│ ├── RxGesture
│ ├── LICENSE
│ ├── Pod
│ │ └── Classes
│ │ │ ├── GestureFactory.swift
│ │ │ ├── GestureRecognizer+RxGesture.swift
│ │ │ ├── RxGestureRecognizerDelegate.swift
│ │ │ ├── SharedTypes.swift
│ │ │ ├── View+RxGesture.swift
│ │ │ └── iOS
│ │ │ ├── ForceTouchGestureRecognizer.swift
│ │ │ ├── TouchDownGestureRecognizer.swift
│ │ │ ├── TransformGestureRecognizers.swift
│ │ │ ├── UILongPressGestureRecognizer+RxGesture.swift
│ │ │ ├── UIPanGestureRecognizer+RxGesture.swift
│ │ │ ├── UIPinchGestureRecognizer+RxGesture.swift
│ │ │ ├── UIRotationGestureRecognizer+RxGesture.swift
│ │ │ ├── UIScreenEdgePanGestureRecognizer+RxGesture.swift
│ │ │ ├── UISwipeGestureRecognizer+RxGesture.swift
│ │ │ └── UITapGestureRecognizer+RxGesture.swift
│ └── README.md
│ ├── RxRelay
│ ├── LICENSE.md
│ ├── README.md
│ └── RxRelay
│ │ ├── BehaviorRelay.swift
│ │ ├── Observable+Bind.swift
│ │ ├── PublishRelay.swift
│ │ └── Utils.swift
│ ├── RxSwift
│ ├── LICENSE.md
│ ├── Platform
│ │ ├── AtomicInt.swift
│ │ ├── DataStructures
│ │ │ ├── Bag.swift
│ │ │ ├── InfiniteSequence.swift
│ │ │ ├── PriorityQueue.swift
│ │ │ └── Queue.swift
│ │ ├── DispatchQueue+Extensions.swift
│ │ ├── Platform.Darwin.swift
│ │ ├── Platform.Linux.swift
│ │ └── RecursiveLock.swift
│ ├── README.md
│ └── RxSwift
│ │ ├── AnyObserver.swift
│ │ ├── Cancelable.swift
│ │ ├── Concurrency
│ │ ├── AsyncLock.swift
│ │ ├── Lock.swift
│ │ ├── LockOwnerType.swift
│ │ ├── SynchronizedDisposeType.swift
│ │ ├── SynchronizedOnType.swift
│ │ └── SynchronizedUnsubscribeType.swift
│ │ ├── ConnectableObservableType.swift
│ │ ├── Date+Dispatch.swift
│ │ ├── Deprecated.swift
│ │ ├── Disposable.swift
│ │ ├── Disposables
│ │ ├── AnonymousDisposable.swift
│ │ ├── BinaryDisposable.swift
│ │ ├── BooleanDisposable.swift
│ │ ├── CompositeDisposable.swift
│ │ ├── Disposables.swift
│ │ ├── DisposeBag.swift
│ │ ├── DisposeBase.swift
│ │ ├── NopDisposable.swift
│ │ ├── RefCountDisposable.swift
│ │ ├── ScheduledDisposable.swift
│ │ ├── SerialDisposable.swift
│ │ ├── SingleAssignmentDisposable.swift
│ │ └── SubscriptionDisposable.swift
│ │ ├── Errors.swift
│ │ ├── Event.swift
│ │ ├── Extensions
│ │ └── Bag+Rx.swift
│ │ ├── GroupedObservable.swift
│ │ ├── ImmediateSchedulerType.swift
│ │ ├── Observable.swift
│ │ ├── ObservableConvertibleType.swift
│ │ ├── ObservableType+Extensions.swift
│ │ ├── ObservableType.swift
│ │ ├── Observables
│ │ ├── AddRef.swift
│ │ ├── Amb.swift
│ │ ├── AsMaybe.swift
│ │ ├── AsSingle.swift
│ │ ├── Buffer.swift
│ │ ├── Catch.swift
│ │ ├── CombineLatest+Collection.swift
│ │ ├── CombineLatest+arity.swift
│ │ ├── CombineLatest.swift
│ │ ├── CompactMap.swift
│ │ ├── Concat.swift
│ │ ├── Create.swift
│ │ ├── Debounce.swift
│ │ ├── Debug.swift
│ │ ├── DefaultIfEmpty.swift
│ │ ├── Deferred.swift
│ │ ├── Delay.swift
│ │ ├── DelaySubscription.swift
│ │ ├── Dematerialize.swift
│ │ ├── DistinctUntilChanged.swift
│ │ ├── Do.swift
│ │ ├── ElementAt.swift
│ │ ├── Empty.swift
│ │ ├── Enumerated.swift
│ │ ├── Error.swift
│ │ ├── Filter.swift
│ │ ├── First.swift
│ │ ├── Generate.swift
│ │ ├── GroupBy.swift
│ │ ├── Just.swift
│ │ ├── Map.swift
│ │ ├── Materialize.swift
│ │ ├── Merge.swift
│ │ ├── Multicast.swift
│ │ ├── Never.swift
│ │ ├── ObserveOn.swift
│ │ ├── Optional.swift
│ │ ├── Producer.swift
│ │ ├── Range.swift
│ │ ├── Reduce.swift
│ │ ├── Repeat.swift
│ │ ├── RetryWhen.swift
│ │ ├── Sample.swift
│ │ ├── Scan.swift
│ │ ├── Sequence.swift
│ │ ├── ShareReplayScope.swift
│ │ ├── SingleAsync.swift
│ │ ├── Sink.swift
│ │ ├── Skip.swift
│ │ ├── SkipUntil.swift
│ │ ├── SkipWhile.swift
│ │ ├── StartWith.swift
│ │ ├── SubscribeOn.swift
│ │ ├── Switch.swift
│ │ ├── SwitchIfEmpty.swift
│ │ ├── Take.swift
│ │ ├── TakeLast.swift
│ │ ├── TakeUntil.swift
│ │ ├── TakeWhile.swift
│ │ ├── Throttle.swift
│ │ ├── Timeout.swift
│ │ ├── Timer.swift
│ │ ├── ToArray.swift
│ │ ├── Using.swift
│ │ ├── Window.swift
│ │ ├── WithLatestFrom.swift
│ │ ├── Zip+Collection.swift
│ │ ├── Zip+arity.swift
│ │ └── Zip.swift
│ │ ├── ObserverType.swift
│ │ ├── Observers
│ │ ├── AnonymousObserver.swift
│ │ ├── ObserverBase.swift
│ │ └── TailRecursiveSink.swift
│ │ ├── Reactive.swift
│ │ ├── Rx.swift
│ │ ├── RxMutableBox.swift
│ │ ├── SchedulerType.swift
│ │ ├── Schedulers
│ │ ├── ConcurrentDispatchQueueScheduler.swift
│ │ ├── ConcurrentMainScheduler.swift
│ │ ├── CurrentThreadScheduler.swift
│ │ ├── HistoricalScheduler.swift
│ │ ├── HistoricalSchedulerTimeConverter.swift
│ │ ├── Internal
│ │ │ ├── DispatchQueueConfiguration.swift
│ │ │ ├── InvocableScheduledItem.swift
│ │ │ ├── InvocableType.swift
│ │ │ ├── ScheduledItem.swift
│ │ │ └── ScheduledItemType.swift
│ │ ├── MainScheduler.swift
│ │ ├── OperationQueueScheduler.swift
│ │ ├── RecursiveScheduler.swift
│ │ ├── SchedulerServices+Emulation.swift
│ │ ├── SerialDispatchQueueScheduler.swift
│ │ ├── VirtualTimeConverterType.swift
│ │ └── VirtualTimeScheduler.swift
│ │ ├── Subjects
│ │ ├── AsyncSubject.swift
│ │ ├── BehaviorSubject.swift
│ │ ├── PublishSubject.swift
│ │ ├── ReplaySubject.swift
│ │ └── SubjectType.swift
│ │ ├── SwiftSupport
│ │ └── SwiftSupport.swift
│ │ └── Traits
│ │ ├── Completable+AndThen.swift
│ │ ├── Completable.swift
│ │ ├── Maybe.swift
│ │ ├── ObservableType+PrimitiveSequence.swift
│ │ ├── PrimitiveSequence+Zip+arity.swift
│ │ ├── PrimitiveSequence.swift
│ │ └── Single.swift
│ ├── RxTest
│ ├── LICENSE.md
│ ├── Platform
│ │ ├── AtomicInt.swift
│ │ ├── DataStructures
│ │ │ ├── Bag.swift
│ │ │ ├── InfiniteSequence.swift
│ │ │ ├── PriorityQueue.swift
│ │ │ └── Queue.swift
│ │ ├── DispatchQueue+Extensions.swift
│ │ ├── Platform.Darwin.swift
│ │ ├── Platform.Linux.swift
│ │ └── RecursiveLock.swift
│ ├── README.md
│ └── RxTest
│ │ ├── Any+Equatable.swift
│ │ ├── ColdObservable.swift
│ │ ├── Deprecated.swift
│ │ ├── Event+Equatable.swift
│ │ ├── HotObservable.swift
│ │ ├── Recorded+Event.swift
│ │ ├── Recorded.swift
│ │ ├── RxTest.swift
│ │ ├── Schedulers
│ │ ├── TestScheduler.swift
│ │ └── TestSchedulerVirtualTimeConverter.swift
│ │ ├── Subscription.swift
│ │ ├── TestableObservable.swift
│ │ ├── TestableObserver.swift
│ │ └── XCTest+Rx.swift
│ ├── SnapKit
│ ├── LICENSE
│ ├── README.md
│ └── Sources
│ │ ├── Constraint.swift
│ │ ├── ConstraintAttributes.swift
│ │ ├── ConstraintConfig.swift
│ │ ├── ConstraintConstantTarget.swift
│ │ ├── ConstraintDSL.swift
│ │ ├── ConstraintDescription.swift
│ │ ├── ConstraintDirectionalInsetTarget.swift
│ │ ├── ConstraintDirectionalInsets.swift
│ │ ├── ConstraintInsetTarget.swift
│ │ ├── ConstraintInsets.swift
│ │ ├── ConstraintItem.swift
│ │ ├── ConstraintLayoutGuide+Extensions.swift
│ │ ├── ConstraintLayoutGuide.swift
│ │ ├── ConstraintLayoutGuideDSL.swift
│ │ ├── ConstraintLayoutSupport.swift
│ │ ├── ConstraintLayoutSupportDSL.swift
│ │ ├── ConstraintMaker.swift
│ │ ├── ConstraintMakerEditable.swift
│ │ ├── ConstraintMakerExtendable.swift
│ │ ├── ConstraintMakerFinalizable.swift
│ │ ├── ConstraintMakerPrioritizable.swift
│ │ ├── ConstraintMakerRelatable+Extensions.swift
│ │ ├── ConstraintMakerRelatable.swift
│ │ ├── ConstraintMultiplierTarget.swift
│ │ ├── ConstraintOffsetTarget.swift
│ │ ├── ConstraintPriority.swift
│ │ ├── ConstraintPriorityTarget.swift
│ │ ├── ConstraintRelatableTarget.swift
│ │ ├── ConstraintRelation.swift
│ │ ├── ConstraintView+Extensions.swift
│ │ ├── ConstraintView.swift
│ │ ├── ConstraintViewDSL.swift
│ │ ├── Debugging.swift
│ │ ├── LayoutConstraint.swift
│ │ ├── LayoutConstraintItem.swift
│ │ ├── Typealiases.swift
│ │ └── UILayoutSupport+Extensions.swift
│ ├── Swinject
│ ├── LICENSE
│ ├── README.md
│ └── Sources
│ │ ├── Assembler.swift
│ │ ├── Assembly.swift
│ │ ├── Behavior.swift
│ │ ├── Container.Arguments.swift
│ │ ├── Container.Logging.swift
│ │ ├── Container.TypeForwarding.swift
│ │ ├── Container.swift
│ │ ├── DebugHelper.swift
│ │ ├── FunctionType.swift
│ │ ├── GraphIdentifier.swift
│ │ ├── InstanceStorage.swift
│ │ ├── InstanceWrapper.swift
│ │ ├── ObjectScope.Standard.swift
│ │ ├── ObjectScope.swift
│ │ ├── RecursiveLock.swift
│ │ ├── Resolver.swift
│ │ ├── ServiceEntry.TypeForwarding.swift
│ │ ├── ServiceEntry.swift
│ │ ├── ServiceKey.swift
│ │ ├── Swinject.h
│ │ ├── SynchronizedResolver.Arguments.swift
│ │ ├── SynchronizedResolver.swift
│ │ ├── UnavailableItems.swift
│ │ └── _Resolver.swift
│ ├── Target Support Files
│ ├── Nimble-Snapshots
│ │ ├── Nimble-Snapshots-Info.plist
│ │ ├── Nimble-Snapshots-dummy.m
│ │ ├── Nimble-Snapshots-prefix.pch
│ │ ├── Nimble-Snapshots-umbrella.h
│ │ ├── Nimble-Snapshots.debug.xcconfig
│ │ ├── Nimble-Snapshots.modulemap
│ │ ├── Nimble-Snapshots.release.xcconfig
│ │ └── Nimble-Snapshots.xcconfig
│ ├── Nimble
│ │ ├── Nimble-Info.plist
│ │ ├── Nimble-dummy.m
│ │ ├── Nimble-prefix.pch
│ │ ├── Nimble-umbrella.h
│ │ ├── Nimble.debug.xcconfig
│ │ ├── Nimble.modulemap
│ │ ├── Nimble.release.xcconfig
│ │ └── Nimble.xcconfig
│ ├── Pods-LoginDemo
│ │ ├── Pods-LoginDemo-Info.plist
│ │ ├── Pods-LoginDemo-acknowledgements.markdown
│ │ ├── Pods-LoginDemo-acknowledgements.plist
│ │ ├── Pods-LoginDemo-dummy.m
│ │ ├── Pods-LoginDemo-frameworks.sh
│ │ ├── Pods-LoginDemo-umbrella.h
│ │ ├── Pods-LoginDemo.debug.xcconfig
│ │ ├── Pods-LoginDemo.modulemap
│ │ └── Pods-LoginDemo.release.xcconfig
│ ├── Pods-LoginDemoTests
│ │ ├── Pods-LoginDemoTests-Info.plist
│ │ ├── Pods-LoginDemoTests-acknowledgements.markdown
│ │ ├── Pods-LoginDemoTests-acknowledgements.plist
│ │ ├── Pods-LoginDemoTests-dummy.m
│ │ ├── Pods-LoginDemoTests-frameworks.sh
│ │ ├── Pods-LoginDemoTests-umbrella.h
│ │ ├── Pods-LoginDemoTests.debug.xcconfig
│ │ ├── Pods-LoginDemoTests.modulemap
│ │ └── Pods-LoginDemoTests.release.xcconfig
│ ├── RxCocoa
│ │ ├── RxCocoa-Info.plist
│ │ ├── RxCocoa-dummy.m
│ │ ├── RxCocoa-prefix.pch
│ │ ├── RxCocoa-umbrella.h
│ │ ├── RxCocoa.debug.xcconfig
│ │ ├── RxCocoa.modulemap
│ │ ├── RxCocoa.release.xcconfig
│ │ └── RxCocoa.xcconfig
│ ├── RxFeedback
│ │ ├── RxFeedback-Info.plist
│ │ ├── RxFeedback-dummy.m
│ │ ├── RxFeedback-prefix.pch
│ │ ├── RxFeedback-umbrella.h
│ │ ├── RxFeedback.debug.xcconfig
│ │ ├── RxFeedback.modulemap
│ │ ├── RxFeedback.release.xcconfig
│ │ └── RxFeedback.xcconfig
│ ├── RxGesture
│ │ ├── RxGesture-Info.plist
│ │ ├── RxGesture-dummy.m
│ │ ├── RxGesture-prefix.pch
│ │ ├── RxGesture-umbrella.h
│ │ ├── RxGesture.debug.xcconfig
│ │ ├── RxGesture.modulemap
│ │ ├── RxGesture.release.xcconfig
│ │ └── RxGesture.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
│ │ ├── RxSwift-Info.plist
│ │ ├── RxSwift-dummy.m
│ │ ├── RxSwift-prefix.pch
│ │ ├── RxSwift-umbrella.h
│ │ ├── RxSwift.debug.xcconfig
│ │ ├── RxSwift.modulemap
│ │ ├── RxSwift.release.xcconfig
│ │ └── RxSwift.xcconfig
│ ├── RxTest
│ │ ├── RxTest-Info.plist
│ │ ├── RxTest-dummy.m
│ │ ├── RxTest-prefix.pch
│ │ ├── RxTest-umbrella.h
│ │ ├── RxTest.debug.xcconfig
│ │ ├── RxTest.modulemap
│ │ ├── RxTest.release.xcconfig
│ │ └── RxTest.xcconfig
│ ├── Sensor
│ │ ├── Sensor-Info.plist
│ │ ├── Sensor-dummy.m
│ │ ├── Sensor-prefix.pch
│ │ ├── Sensor-umbrella.h
│ │ ├── Sensor.debug.xcconfig
│ │ ├── Sensor.modulemap
│ │ ├── Sensor.release.xcconfig
│ │ └── Sensor.xcconfig
│ ├── SensorTest
│ │ ├── SensorTest-Info.plist
│ │ ├── SensorTest-dummy.m
│ │ ├── SensorTest-prefix.pch
│ │ ├── SensorTest-umbrella.h
│ │ ├── SensorTest.debug.xcconfig
│ │ ├── SensorTest.modulemap
│ │ ├── SensorTest.release.xcconfig
│ │ └── SensorTest.xcconfig
│ ├── SnapKit
│ │ ├── SnapKit-Info.plist
│ │ ├── SnapKit-dummy.m
│ │ ├── SnapKit-prefix.pch
│ │ ├── SnapKit-umbrella.h
│ │ ├── SnapKit.debug.xcconfig
│ │ ├── SnapKit.modulemap
│ │ ├── SnapKit.release.xcconfig
│ │ └── SnapKit.xcconfig
│ ├── Swinject
│ │ ├── Swinject-Info.plist
│ │ ├── Swinject-dummy.m
│ │ ├── Swinject-prefix.pch
│ │ ├── Swinject-umbrella.h
│ │ ├── Swinject.debug.xcconfig
│ │ ├── Swinject.modulemap
│ │ ├── Swinject.release.xcconfig
│ │ └── Swinject.xcconfig
│ ├── iOSSnapshotTestCase
│ │ ├── iOSSnapshotTestCase-Info.plist
│ │ ├── iOSSnapshotTestCase-dummy.m
│ │ ├── iOSSnapshotTestCase-prefix.pch
│ │ ├── iOSSnapshotTestCase-umbrella.h
│ │ ├── iOSSnapshotTestCase.debug.xcconfig
│ │ ├── iOSSnapshotTestCase.modulemap
│ │ ├── iOSSnapshotTestCase.release.xcconfig
│ │ └── iOSSnapshotTestCase.xcconfig
│ └── lottie-ios
│ │ ├── lottie-ios-Info.plist
│ │ ├── lottie-ios-dummy.m
│ │ ├── lottie-ios-prefix.pch
│ │ ├── lottie-ios-umbrella.h
│ │ ├── lottie-ios.debug.xcconfig
│ │ ├── lottie-ios.modulemap
│ │ ├── lottie-ios.release.xcconfig
│ │ └── lottie-ios.xcconfig
│ ├── iOSSnapshotTestCase
│ ├── LICENSE
│ ├── README.md
│ └── src
│ │ ├── iOSSnapshotTestCase
│ │ └── SwiftSupport.swift
│ │ └── iOSSnapshotTestCaseCore
│ │ ├── Categories
│ │ ├── UIApplication+KeyWindow.h
│ │ ├── UIApplication+KeyWindow.m
│ │ ├── UIImage+Compare.h
│ │ ├── UIImage+Compare.m
│ │ ├── UIImage+Diff.h
│ │ ├── UIImage+Diff.m
│ │ ├── UIImage+Snapshot.h
│ │ └── UIImage+Snapshot.m
│ │ ├── FBSnapshotTestCase.m
│ │ ├── FBSnapshotTestCasePlatform.m
│ │ ├── FBSnapshotTestController.m
│ │ └── Public
│ │ ├── FBSnapshotTestCase.h
│ │ ├── FBSnapshotTestCasePlatform.h
│ │ └── FBSnapshotTestController.h
│ └── lottie-ios
│ ├── LICENSE
│ ├── README.md
│ └── Sources
│ ├── Private
│ ├── CoreAnimation
│ │ ├── Animations
│ │ │ ├── CAAnimation+TimingConfiguration.swift
│ │ │ ├── CALayer+addAnimation.swift
│ │ │ ├── CombinedShapeAnimation.swift
│ │ │ ├── CustomPathAnimation.swift
│ │ │ ├── EllipseAnimation.swift
│ │ │ ├── GradientAnimations.swift
│ │ │ ├── LayerProperty.swift
│ │ │ ├── OpacityAnimation.swift
│ │ │ ├── RectangleAnimation.swift
│ │ │ ├── ShapeAnimation.swift
│ │ │ ├── StarAnimation.swift
│ │ │ ├── StrokeAnimation.swift
│ │ │ ├── TransformAnimations.swift
│ │ │ └── VisibilityAnimation.swift
│ │ ├── CompatibilityTracker.swift
│ │ ├── CoreAnimationLayer.swift
│ │ ├── Extensions
│ │ │ ├── CALayer+fillBounds.swift
│ │ │ ├── KeyframeGroup+exactlyOneKeyframe.swift
│ │ │ └── Keyframes+combinedIfPossible.swift
│ │ ├── Layers
│ │ │ ├── AnimationLayer.swift
│ │ │ ├── BaseAnimationLayer.swift
│ │ │ ├── BaseCompositionLayer.swift
│ │ │ ├── CALayer+setupLayerHierarchy.swift
│ │ │ ├── GradientRenderLayer.swift
│ │ │ ├── ImageLayer.swift
│ │ │ ├── LayerModel+makeAnimationLayer.swift
│ │ │ ├── MaskCompositionLayer.swift
│ │ │ ├── PreCompLayer.swift
│ │ │ ├── ShapeItemLayer.swift
│ │ │ ├── ShapeLayer.swift
│ │ │ ├── SolidLayer.swift
│ │ │ ├── TextLayer.swift
│ │ │ └── TransformLayer.swift
│ │ └── ValueProviderStore.swift
│ ├── MainThread
│ │ ├── LayerContainers
│ │ │ ├── CompLayers
│ │ │ │ ├── CompositionLayer.swift
│ │ │ │ ├── ImageCompositionLayer.swift
│ │ │ │ ├── MaskContainerLayer.swift
│ │ │ │ ├── NullCompositionLayer.swift
│ │ │ │ ├── PreCompositionLayer.swift
│ │ │ │ ├── ShapeCompositionLayer.swift
│ │ │ │ ├── SolidCompositionLayer.swift
│ │ │ │ └── TextCompositionLayer.swift
│ │ │ ├── MainThreadAnimationLayer.swift
│ │ │ └── Utility
│ │ │ │ ├── CachedImageProvider.swift
│ │ │ │ ├── CompositionLayersInitializer.swift
│ │ │ │ ├── CoreTextRenderLayer.swift
│ │ │ │ ├── InvertedMatteLayer.swift
│ │ │ │ ├── LayerFontProvider.swift
│ │ │ │ ├── LayerImageProvider.swift
│ │ │ │ ├── LayerTextProvider.swift
│ │ │ │ └── LayerTransformNode.swift
│ │ └── NodeRenderSystem
│ │ │ ├── Extensions
│ │ │ └── ItemsExtension.swift
│ │ │ ├── NodeProperties
│ │ │ ├── NodeProperty.swift
│ │ │ ├── Protocols
│ │ │ │ ├── AnyNodeProperty.swift
│ │ │ │ ├── AnyValueContainer.swift
│ │ │ │ ├── KeypathSearchable.swift
│ │ │ │ └── NodePropertyMap.swift
│ │ │ ├── ValueContainer.swift
│ │ │ └── ValueProviders
│ │ │ │ ├── GroupInterpolator.swift
│ │ │ │ ├── KeyframeInterpolator.swift
│ │ │ │ └── SingleValueProvider.swift
│ │ │ ├── Nodes
│ │ │ ├── ModifierNodes
│ │ │ │ └── TrimPathNode.swift
│ │ │ ├── OutputNodes
│ │ │ │ ├── GroupOutputNode.swift
│ │ │ │ ├── PassThroughOutputNode.swift
│ │ │ │ ├── PathOutputNode.swift
│ │ │ │ └── Renderables
│ │ │ │ │ ├── FillRenderer.swift
│ │ │ │ │ ├── GradientFillRenderer.swift
│ │ │ │ │ ├── GradientStrokeRenderer.swift
│ │ │ │ │ ├── LegacyGradientFillRenderer.swift
│ │ │ │ │ └── StrokeRenderer.swift
│ │ │ ├── PathNodes
│ │ │ │ ├── EllipseNode.swift
│ │ │ │ ├── PolygonNode.swift
│ │ │ │ ├── RectNode.swift
│ │ │ │ ├── ShapeNode.swift
│ │ │ │ └── StarNode.swift
│ │ │ ├── RenderContainers
│ │ │ │ └── GroupNode.swift
│ │ │ ├── RenderNodes
│ │ │ │ ├── FillNode.swift
│ │ │ │ ├── GradientFillNode.swift
│ │ │ │ ├── GradientStrokeNode.swift
│ │ │ │ └── StrokeNode.swift
│ │ │ └── Text
│ │ │ │ └── TextAnimatorNode.swift
│ │ │ ├── Protocols
│ │ │ ├── AnimatorNode.swift
│ │ │ ├── PathNode.swift
│ │ │ └── RenderNode.swift
│ │ │ └── RenderLayers
│ │ │ ├── ShapeContainerLayer.swift
│ │ │ └── ShapeRenderLayer.swift
│ ├── Model
│ │ ├── Animation.swift
│ │ ├── Assets
│ │ │ ├── Asset.swift
│ │ │ ├── AssetLibrary.swift
│ │ │ ├── ImageAsset.swift
│ │ │ └── PrecompAsset.swift
│ │ ├── DictionaryInitializable.swift
│ │ ├── Extensions
│ │ │ ├── Bundle.swift
│ │ │ └── KeyedDecodingContainerExtensions.swift
│ │ ├── Keyframes
│ │ │ ├── KeyframeData.swift
│ │ │ └── KeyframeGroup.swift
│ │ ├── Layers
│ │ │ ├── ImageLayerModel.swift
│ │ │ ├── LayerModel.swift
│ │ │ ├── PreCompLayerModel.swift
│ │ │ ├── ShapeLayerModel.swift
│ │ │ ├── SolidLayerModel.swift
│ │ │ └── TextLayerModel.swift
│ │ ├── Objects
│ │ │ ├── DashPattern.swift
│ │ │ ├── Marker.swift
│ │ │ ├── Mask.swift
│ │ │ └── Transform.swift
│ │ ├── ShapeItems
│ │ │ ├── Ellipse.swift
│ │ │ ├── Fill.swift
│ │ │ ├── GradientFill.swift
│ │ │ ├── GradientStroke.swift
│ │ │ ├── Group.swift
│ │ │ ├── Merge.swift
│ │ │ ├── Rectangle.swift
│ │ │ ├── Repeater.swift
│ │ │ ├── Shape.swift
│ │ │ ├── ShapeItem.swift
│ │ │ ├── ShapeTransform.swift
│ │ │ ├── Star.swift
│ │ │ ├── Stroke.swift
│ │ │ └── Trim.swift
│ │ └── Text
│ │ │ ├── Font.swift
│ │ │ ├── Glyph.swift
│ │ │ ├── TextAnimator.swift
│ │ │ └── TextDocument.swift
│ ├── RootAnimationLayer.swift
│ └── Utility
│ │ ├── Debugging
│ │ ├── AnimatorNodeDebugging.swift
│ │ ├── LayerDebugging.swift
│ │ └── TestHelpers.swift
│ │ ├── Extensions
│ │ ├── AnimationKeypathExtension.swift
│ │ ├── BlendMode+Filter.swift
│ │ ├── CGColor+RGB.swift
│ │ ├── CGFloatExtensions.swift
│ │ ├── DataExtension.swift
│ │ ├── MathKit.swift
│ │ └── StringExtensions.swift
│ │ ├── Helpers
│ │ └── AnimationContext.swift
│ │ ├── Interpolatable
│ │ ├── InterpolatableExtensions.swift
│ │ ├── KeyframeExtensions.swift
│ │ └── KeyframeGroup+Extensions.swift
│ │ └── Primitives
│ │ ├── BezierPath.swift
│ │ ├── CGPointExtension.swift
│ │ ├── ColorExtension.swift
│ │ ├── CompoundBezierPath.swift
│ │ ├── CurveVertex.swift
│ │ ├── PathElement.swift
│ │ ├── UnitBezier.swift
│ │ └── VectorsExtensions.swift
│ └── Public
│ ├── Animation
│ ├── AnimationPublic.swift
│ ├── AnimationView.swift
│ └── AnimationViewInitializers.swift
│ ├── AnimationCache
│ ├── AnimationCacheProvider.swift
│ └── LRUAnimationCache.swift
│ ├── DynamicProperties
│ ├── AnimationKeypath.swift
│ ├── AnyValueProvider.swift
│ └── ValueProviders
│ │ ├── ColorValueProvider.swift
│ │ ├── FloatValueProvider.swift
│ │ ├── GradientValueProvider.swift
│ │ ├── PointValueProvider.swift
│ │ └── SizeValueProvider.swift
│ ├── FontProvider
│ └── AnimationFontProvider.swift
│ ├── ImageProvider
│ └── AnimationImageProvider.swift
│ ├── Keyframes
│ ├── Interpolatable.swift
│ └── Keyframe.swift
│ ├── Logging
│ └── LottieLogger.swift
│ ├── LottieConfiguration.swift
│ ├── Primitives
│ ├── AnimationTime.swift
│ ├── Color.swift
│ └── Vectors.swift
│ ├── TextProvider
│ └── AnimationTextProvider.swift
│ └── iOS
│ ├── AnimatedButton.swift
│ ├── AnimatedControl.swift
│ ├── AnimatedSwitch.swift
│ ├── AnimationSubview.swift
│ ├── AnimationViewBase.swift
│ ├── BundleImageProvider.swift
│ ├── Compatibility
│ ├── CompatibleAnimationKeypath.swift
│ └── CompatibleAnimationView.swift
│ ├── FilepathImageProvider.swift
│ └── UIColorExtension.swift
├── Docs
├── GeneratedDocs
│ ├── 1__Introduction.html
│ ├── 2__The_Sensor_DSL.html
│ ├── 3__What_has_changed_from_Sensor_0_1_0.html
│ └── 4__Migrating_from_Sensor_0_1_0.html
├── GeneratedDocsComponent
│ ├── .gitignore
│ ├── .swiftpm
│ │ └── xcode
│ │ │ ├── package.xcworkspace
│ │ │ └── contents.xcworkspacedata
│ │ │ └── xcshareddata
│ │ │ └── xcschemes
│ │ │ └── GenerateDocsComponent.xcscheme
│ ├── Package.resolved
│ ├── Package.swift
│ ├── README.md
│ ├── Sources
│ │ ├── GenerateDocsComponent
│ │ │ └── main.swift
│ │ └── GenerateDocsComponentLib
│ │ │ ├── Utils.swift
│ │ │ ├── parsefile.swift
│ │ │ └── render.swift
│ └── Tests
│ │ └── GenerateDocsComponentLibTests
│ │ ├── CollectionCutMergingAdjacentTests.swift
│ │ ├── CollectionCutTests.swift
│ │ └── EnclosedSubSequencesTests.swift
├── README.md
├── SensorDocs.app
│ └── Contents
│ │ ├── Info.plist
│ │ ├── MacOS
│ │ ├── .gitignore
│ │ ├── Podfile
│ │ ├── SensorDocs.playground
│ │ │ ├── Pages
│ │ │ │ ├── 1. Introduction.xcplaygroundpage
│ │ │ │ │ └── Contents.swift
│ │ │ │ ├── 2. The Sensor DSL.xcplaygroundpage
│ │ │ │ │ └── Contents.swift
│ │ │ │ └── 3. What has changed from Sensor 0.1.0.xcplaygroundpage
│ │ │ │ │ └── Contents.swift
│ │ │ ├── Sources
│ │ │ │ └── NefTest.swift
│ │ │ └── contents.xcplayground
│ │ ├── SensorDocs.xcodeproj
│ │ │ ├── project.pbxproj
│ │ │ ├── project.xcworkspace
│ │ │ │ └── contents.xcworkspacedata
│ │ │ └── xcshareddata
│ │ │ │ └── xcschemes
│ │ │ │ └── SensorDocs.xcscheme
│ │ ├── SensorDocs.xcworkspace
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata
│ │ │ │ └── IDEWorkspaceChecks.plist
│ │ ├── SensorDocs
│ │ │ └── Info.plist
│ │ └── launcher
│ │ └── Resources
│ │ ├── AppIcon.icns
│ │ └── Assets.car
└── main.css
├── Docs_old
├── RxFeedback
│ ├── 2.png
│ └── LICENSE.txt
├── images
│ ├── 1.png
│ ├── 3.png
│ ├── 4.png
│ ├── 5.png
│ ├── Sensor.png
│ ├── SocialIcons
│ │ ├── GitHub-Mark-32px.png
│ │ └── Twitter_Social_Icon_Circle_Color.png
│ └── store.png
├── sensor.md
└── styles.css
├── LICENSE
├── MAINTAINERS.md
├── Package.resolved
├── Package.swift
├── README.md
├── Sensor.podspec
├── Sensor.xcodeproj
├── RxCocoaRuntime_Info.plist
├── RxCocoa_Info.plist
├── RxFeedback_Info.plist
├── RxRelay_Info.plist
├── RxSwift_Info.plist
├── RxTest_Info.plist
├── SensorTestUnitTests_Info.plist
├── SensorTest_Info.plist
├── SensorUnitTests_Info.plist
├── Sensor_Info.plist
├── SnapshotTesting_Info.plist
├── project.pbxproj
├── project.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ ├── IDEWorkspaceChecks.plist
│ │ └── WorkspaceSettings.xcsettings
└── xcshareddata
│ └── xcschemes
│ └── Sensor-Package.xcscheme
├── Sensor
├── LinuxMain.swift
├── Sources
│ ├── DSL.swift
│ ├── Driver+Reducible.swift
│ ├── ThirdParty
│ │ ├── LICENSE
│ │ └── nwise.swift
│ └── Utils.swift
└── UnitTests
│ ├── SingleStateStateMachineTests.swift
│ └── XCTestManifests.swift
├── SensorTest.podspec
└── SensorTest
├── Sources
├── CustomEquatable.swift
├── Definition.swift
├── Difference.swift
├── Observable+Debug.swift
├── SensorTestCase.swift
├── TestDSL.swift
├── TestScheduler+MarbleTests.swift
└── Timeline.swift
└── UnitTests
├── AssertionTests.swift
├── RandomAssertionTests.swift
├── TestHelpers.swift
├── TimelineTests.swift
└── XCTestManifests.swift
/.github/workflows/swift.yml:
--------------------------------------------------------------------------------
1 | name: Swift
2 |
3 | on:
4 | push:
5 | branches: master
6 | pull_request:
7 | branches: master
8 |
9 | jobs:
10 | build:
11 |
12 | runs-on: ${{ matrix.os }}
13 | strategy:
14 | matrix:
15 | os:
16 | - macOS-latest
17 | - macOS-10.14
18 |
19 | steps:
20 | - uses: actions/checkout@v1
21 | - name: Build
22 | run: swift build -v
23 | - name: Run tests
24 | run: swift test -v
25 |
--------------------------------------------------------------------------------
/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Contributing to Sensor
2 |
3 | Sensor is built with Swift Package Manager. We generate `Sensor.xcodeproj` with Swift Package Manager commit the changes in git. Sensor is compatible with linux, so we must make sure that the tests can be run there.
4 |
5 | **After you change Sensor code, make sure to:**
6 | 1. Generate `Sensor.xcodeproj` with the following command:
7 | `swift package generate-xcodeproj --enable-code-coverage`
8 | 2. Generate `LinuxMain.swift` with the following command:
9 | `swift test --generate-linuxmain`
10 | 3. Commit the changes generated by the commands above.
--------------------------------------------------------------------------------
/CodingTestableAppsOnSteroids.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freenowtech/Sensor/644d5e0adea7e30b59809d7051645c8cc351606b/CodingTestableAppsOnSteroids.pdf
--------------------------------------------------------------------------------
/DemoApp/LoginDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/DemoApp/LoginDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/DemoApp/LoginDemo.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/DemoApp/LoginDemo.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/DemoApp/LoginDemo/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/DemoApp/LoginDemo/Assets.xcassets/lock.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "scale" : "2x"
10 | },
11 | {
12 | "idiom" : "universal",
13 | "filename" : "lock.png",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | },
21 | "properties" : {
22 | "template-rendering-intent" : "template"
23 | }
24 | }
--------------------------------------------------------------------------------
/DemoApp/LoginDemo/Assets.xcassets/lock.imageset/lock.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freenowtech/Sensor/644d5e0adea7e30b59809d7051645c8cc351606b/DemoApp/LoginDemo/Assets.xcassets/lock.imageset/lock.png
--------------------------------------------------------------------------------
/DemoApp/LoginDemo/Assets.xcassets/mountain.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "mountain_lake-wallpaper-1920x1200.jpg",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/DemoApp/LoginDemo/Assets.xcassets/mountain.imageset/mountain_lake-wallpaper-1920x1200.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freenowtech/Sensor/644d5e0adea7e30b59809d7051645c8cc351606b/DemoApp/LoginDemo/Assets.xcassets/mountain.imageset/mountain_lake-wallpaper-1920x1200.jpg
--------------------------------------------------------------------------------
/DemoApp/LoginDemo/Assets.xcassets/showPassword.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "scale" : "2x"
10 | },
11 | {
12 | "idiom" : "universal",
13 | "filename" : "wbqscigdlzjlftggfjaw.png",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | },
21 | "properties" : {
22 | "template-rendering-intent" : "template"
23 | }
24 | }
--------------------------------------------------------------------------------
/DemoApp/LoginDemo/Assets.xcassets/showPassword.imageset/wbqscigdlzjlftggfjaw.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freenowtech/Sensor/644d5e0adea7e30b59809d7051645c8cc351606b/DemoApp/LoginDemo/Assets.xcassets/showPassword.imageset/wbqscigdlzjlftggfjaw.png
--------------------------------------------------------------------------------
/DemoApp/LoginDemo/Assets.xcassets/unlock.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "scale" : "2x"
10 | },
11 | {
12 | "idiom" : "universal",
13 | "filename" : "unlock.png",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | },
21 | "properties" : {
22 | "template-rendering-intent" : "template"
23 | }
24 | }
--------------------------------------------------------------------------------
/DemoApp/LoginDemo/Assets.xcassets/unlock.imageset/unlock.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freenowtech/Sensor/644d5e0adea7e30b59809d7051645c8cc351606b/DemoApp/LoginDemo/Assets.xcassets/unlock.imageset/unlock.png
--------------------------------------------------------------------------------
/DemoApp/LoginDemo/Features/POI/DetailView/DetailStore+reducer.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DetailStore+reducer.swift
3 | // LoginDemo
4 | //
5 | // Created by Marcin Religa on 29/6/22.
6 | // Copyright © 2022 Intelligent Apps GmbH. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import Sensor
11 |
12 | // TODO: MR: Move to another file.
13 | extension DetailStore {
14 | public static let reducer = Reducer { state, event in
15 | switch (state, event) {
16 | case (.presenting(let color), .changeColorPressed):
17 | return then().trigger(.getRandomColor).goTo(.presenting(color))
18 | case (.presenting, .colorFetched(let color)):
19 | return then().goTo(.presenting(color))
20 | case (.presenting, .backPressed):
21 | return then().goTo(.exiting)
22 | default:
23 | return then()
24 | .trigger([])
25 | .stayOnCurrentState()
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/DemoApp/LoginDemo/Features/POI/TableView/ViewModel/DemoCellModel.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DemoCellModel.swift
3 | // LoginDemo
4 | //
5 | // Created by Fabio Cuomo on 12/11/2018.
6 | // Copyright © 2018 Intelligent Apps GmbH. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct DemoCellModel: Equatable, Hashable {
12 | let title: String
13 | let description: String?
14 | let imagePath: String?
15 | }
16 |
17 | extension DemoCellModel {
18 | init(_ poi: POI) {
19 | title = String(poi.id)
20 | description = poi.type
21 | imagePath = "https://st2.depositphotos.com/7857468/12355/v/950/depositphotos_123559414-stock-illustration-cartoon-funny-yellow-taxi.jpg"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/DemoApp/LoginDemo/Features/TableView/ViewModel/DemoCellModel.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DemoCellModel.swift
3 | // LoginDemo
4 | //
5 | // Created by Fabio Cuomo on 12/11/2018.
6 | // Copyright © 2019 Intelligent Apps GmbH. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct DemoCellModel: Equatable, Hashable {
12 | let title: String
13 | let description: String?
14 | let imagePath: String?
15 | }
16 |
17 | extension DemoCellModel {
18 | init(_ poi: POI) {
19 | title = String(poi.id)
20 | description = poi.type
21 | imagePath = "https://st2.depositphotos.com/7857468/12355/v/950/depositphotos_123559414-stock-illustration-cartoon-funny-yellow-taxi.jpg"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/DemoApp/LoginDemo/Services/Authentication/AuthenticationService.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Authentication.swift
3 | // LoginDemo
4 | //
5 | // Created by Adrian Zdanowicz on 08/05/2019.
6 | // Copyright © 2019 Intelligent Apps GmbH. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol AuthenticationServiceProtocol {
12 | var authenticated: Bool { get }
13 | }
14 |
15 | struct AuthenticationService: AuthenticationServiceProtocol {
16 | var authenticated: Bool {
17 | return false
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/DemoApp/LoginDemo/Services/POI/POI.swift:
--------------------------------------------------------------------------------
1 | //
2 | // GPOI.swift
3 | // LoginDemo
4 | //
5 | // Created by Ferran Pujol Camins on 27/11/2018.
6 | // Copyright © 2019 Intelligent Apps GmbH. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct Coordinate: Codable, Equatable, Hashable {
12 | let latitude: Double
13 | let longitude: Double
14 | }
15 |
16 | struct POI: Codable, Equatable, Hashable {
17 | let id: Int
18 | let coordinate: Coordinate
19 | let heading: Double
20 | let state: String
21 | let type: String
22 |
23 | // private enum CodingKeys: String, CodingKey {
24 | // case title = "name"
25 | // case description = "house"
26 | // case imagePath = "imageLink"
27 | // }
28 | }
29 |
--------------------------------------------------------------------------------
/DemoApp/LoginDemo/Use Cases/Login/LoginUseCase.swift:
--------------------------------------------------------------------------------
1 | //
2 | // LoginUseCase.swift
3 | // LoginDemo
4 | //
5 | // Created by Lluís Gómez on 11/03/2019.
6 | // Copyright © 2019 Intelligent Apps GmbH. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import RxSwift
11 |
12 | extension UseCase {
13 |
14 | typealias Login = (_ username: String, _ password: String) -> Single
15 |
16 | static var defaultLogin: Login {
17 | let api: LoginAPIProtocol = DependencyRetriever.loginApi()
18 |
19 | return { username, password in
20 | let requestModel = LoginRequestModel(username: username, password: password)
21 | return api.loginUser(loginPayload: requestModel)
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/DemoApp/LoginDemo/Use Cases/PoisUseCase.swift:
--------------------------------------------------------------------------------
1 | //
2 | // PoisUseCase.swift
3 | // LoginDemo
4 | //
5 | // Created by Lluís Gómez on 11/03/2019.
6 | // Copyright © 2019 Intelligent Apps GmbH. All rights reserved.
7 | //
8 |
9 | import UIKit
10 | import RxSwift
11 |
12 | extension UseCase {
13 |
14 | typealias MakePoiListVc = () -> UIViewController
15 |
16 | static func defaultMakePoiListVc() -> MakePoiListVc {
17 | return {
18 | return DemoTableViewController()
19 | }
20 | }
21 |
22 | typealias GetAllPois = () -> Single<[POI]>
23 |
24 | static var defaultGetAllPois: GetAllPois {
25 | let service: POIServiceProtocol = DependencyRetriever.poiServiceAPI()
26 | return service.getAllPois
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/DemoApp/LoginDemo/Use Cases/RandomColorUseCase.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RandomColorUseCase.swift
3 | // LoginDemo
4 | //
5 | // Created by Adrian Zdanowicz on 07/05/2019.
6 | // Copyright © 2019 Intelligent Apps GmbH. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import UIKit
11 | import RxSwift
12 |
13 | extension UseCase {
14 |
15 | typealias GetRandomColor = () -> Single
16 |
17 | static func getRandomColor() -> GetRandomColor {
18 | return {
19 | return Single.just(UIColor(red: randomCGFloat(),
20 | green: randomCGFloat(),
21 | blue: randomCGFloat(),
22 | alpha: 1.0))
23 | }
24 | }
25 |
26 | private static func randomCGFloat() -> CGFloat {
27 | return CGFloat(arc4random()) / CGFloat(UInt32.max)
28 | }
29 |
30 | }
31 |
32 |
--------------------------------------------------------------------------------
/DemoApp/LoginDemo/Use Cases/UseCase.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UseCase.swift
3 | // LoginDemo
4 | //
5 | // Created by Lluís Gómez on 11/03/2019.
6 | // Copyright © 2019 Intelligent Apps GmbH. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | public enum UseCase {}
12 |
--------------------------------------------------------------------------------
/DemoApp/LoginDemo/Utility/Navigation.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Navigation.swift
3 | // LoginDemo
4 | //
5 | // Created by Adrian Zdanowicz on 18/04/2019.
6 | // Copyright © 2019 Mounir Dellagi. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | // All navigation states, new should be added when needed.
12 |
13 | enum Navigation {
14 | case detail(POI)
15 | case dismiss
16 | case login
17 | case pop
18 | case showError
19 | }
20 |
--------------------------------------------------------------------------------
/DemoApp/LoginDemo/Utility/RandomColorHelper.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RandomColorHelper.swift
3 | // LoginDemo
4 | //
5 | // Created by Fabio Cuomo on 13/11/2018.
6 | // Copyright © 2019 Intelligent Apps GmbH. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | final class RandomColorHelper {
12 | static let palette = [
13 | UIColor(red: 136/255, green: 100/255, blue: 86/255, alpha: 1),
14 | UIColor(red: 214/255, green: 148/255, blue: 97/255, alpha: 1),
15 | UIColor(red: 146/255, green: 151/255, blue: 49/255, alpha: 1),
16 | UIColor(red: 118/255, green: 109/255, blue: 50/255, alpha: 1),
17 | UIColor(red: 82/255, green: 90/255, blue: 42/255, alpha: 1)
18 | ]
19 |
20 | static func randomColorFromPalette() -> UIColor {
21 | let idx: Int = Int(arc4random_uniform(UInt32(palette.count - 1)))
22 | return palette[idx]
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/DemoApp/LoginDemoTests/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 |
--------------------------------------------------------------------------------
/DemoApp/LoginDemoTests/ReferenceImages/LoginDemoRxReduxTests/LoginDemoRxReduxTests_testSnapshot_LoggedOut_PasswordHidden_LoginButtonDisabled_iPhone12_1_414x896@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freenowtech/Sensor/644d5e0adea7e30b59809d7051645c8cc351606b/DemoApp/LoginDemoTests/ReferenceImages/LoginDemoRxReduxTests/LoginDemoRxReduxTests_testSnapshot_LoggedOut_PasswordHidden_LoginButtonDisabled_iPhone12_1_414x896@2x.png
--------------------------------------------------------------------------------
/DemoApp/LoginDemoTests/ReferenceImages/LoginDemoRxReduxTests/LoginDemoRxReduxTests_testSnapshot_LoggedOut_PasswordNotHidden_LoginButtonEnabled_iPhone12_1_414x896@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freenowtech/Sensor/644d5e0adea7e30b59809d7051645c8cc351606b/DemoApp/LoginDemoTests/ReferenceImages/LoginDemoRxReduxTests/LoginDemoRxReduxTests_testSnapshot_LoggedOut_PasswordNotHidden_LoginButtonEnabled_iPhone12_1_414x896@2x.png
--------------------------------------------------------------------------------
/DemoApp/LoginDemoTests/ReferenceImages/LoginDemoRxReduxTests/LoginDemoRxReduxTests_testSnapshot_LoginFailed_LoginButtonDisabled_iPhone12_1_414x896@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freenowtech/Sensor/644d5e0adea7e30b59809d7051645c8cc351606b/DemoApp/LoginDemoTests/ReferenceImages/LoginDemoRxReduxTests/LoginDemoRxReduxTests_testSnapshot_LoginFailed_LoginButtonDisabled_iPhone12_1_414x896@2x.png
--------------------------------------------------------------------------------
/DemoApp/LoginDemoTests/ReferenceImages/LoginDemoRxReduxTests/LoginDemoRxReduxTests_testSnapshot_LoginFailed_LoginButtonEnabled_iPhone12_1_414x896@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freenowtech/Sensor/644d5e0adea7e30b59809d7051645c8cc351606b/DemoApp/LoginDemoTests/ReferenceImages/LoginDemoRxReduxTests/LoginDemoRxReduxTests_testSnapshot_LoginFailed_LoginButtonEnabled_iPhone12_1_414x896@2x.png
--------------------------------------------------------------------------------
/DemoApp/LoginDemoTests/ReferenceImages/LoginDemoRxReduxTests/LoginDemoRxReduxTests_testSnapshot_PerformingLogin_LoginButtonDisabled_iPhone12_1_414x896@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freenowtech/Sensor/644d5e0adea7e30b59809d7051645c8cc351606b/DemoApp/LoginDemoTests/ReferenceImages/LoginDemoRxReduxTests/LoginDemoRxReduxTests_testSnapshot_PerformingLogin_LoginButtonDisabled_iPhone12_1_414x896@2x.png
--------------------------------------------------------------------------------
/DemoApp/LoginDemoTests/ReferenceImages/LoginDemoTests/LoginDemoTests_testSnapshot_LoggedOut_PasswordHidden_LoginButtonDisabled_iPhone_14_3_375x667@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freenowtech/Sensor/644d5e0adea7e30b59809d7051645c8cc351606b/DemoApp/LoginDemoTests/ReferenceImages/LoginDemoTests/LoginDemoTests_testSnapshot_LoggedOut_PasswordHidden_LoginButtonDisabled_iPhone_14_3_375x667@2x.png
--------------------------------------------------------------------------------
/DemoApp/LoginDemoTests/ReferenceImages/LoginDemoTests/LoginDemoTests_testSnapshot_LoggedOut_PasswordHidden_LoginButtonDisabled_iPhone_15_5_375x667@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freenowtech/Sensor/644d5e0adea7e30b59809d7051645c8cc351606b/DemoApp/LoginDemoTests/ReferenceImages/LoginDemoTests/LoginDemoTests_testSnapshot_LoggedOut_PasswordHidden_LoginButtonDisabled_iPhone_15_5_375x667@2x.png
--------------------------------------------------------------------------------
/DemoApp/LoginDemoTests/ReferenceImages/LoginDemoTests/LoginDemoTests_testSnapshot_LoggedOut_PasswordNotHidden_LoginButtonEnabled_iPhone_14_3_375x667@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freenowtech/Sensor/644d5e0adea7e30b59809d7051645c8cc351606b/DemoApp/LoginDemoTests/ReferenceImages/LoginDemoTests/LoginDemoTests_testSnapshot_LoggedOut_PasswordNotHidden_LoginButtonEnabled_iPhone_14_3_375x667@2x.png
--------------------------------------------------------------------------------
/DemoApp/LoginDemoTests/ReferenceImages/LoginDemoTests/LoginDemoTests_testSnapshot_LoggedOut_PasswordNotHidden_LoginButtonEnabled_iPhone_15_5_375x667@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freenowtech/Sensor/644d5e0adea7e30b59809d7051645c8cc351606b/DemoApp/LoginDemoTests/ReferenceImages/LoginDemoTests/LoginDemoTests_testSnapshot_LoggedOut_PasswordNotHidden_LoginButtonEnabled_iPhone_15_5_375x667@2x.png
--------------------------------------------------------------------------------
/DemoApp/LoginDemoTests/ReferenceImages/LoginDemoTests/LoginDemoTests_testSnapshot_LoginFailed_LoginButtonDisabled_iPhone_14_3_375x667@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freenowtech/Sensor/644d5e0adea7e30b59809d7051645c8cc351606b/DemoApp/LoginDemoTests/ReferenceImages/LoginDemoTests/LoginDemoTests_testSnapshot_LoginFailed_LoginButtonDisabled_iPhone_14_3_375x667@2x.png
--------------------------------------------------------------------------------
/DemoApp/LoginDemoTests/ReferenceImages/LoginDemoTests/LoginDemoTests_testSnapshot_LoginFailed_LoginButtonDisabled_iPhone_15_5_375x667@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freenowtech/Sensor/644d5e0adea7e30b59809d7051645c8cc351606b/DemoApp/LoginDemoTests/ReferenceImages/LoginDemoTests/LoginDemoTests_testSnapshot_LoginFailed_LoginButtonDisabled_iPhone_15_5_375x667@2x.png
--------------------------------------------------------------------------------
/DemoApp/LoginDemoTests/ReferenceImages/LoginDemoTests/LoginDemoTests_testSnapshot_LoginFailed_LoginButtonEnabled_iPhone_14_3_375x667@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freenowtech/Sensor/644d5e0adea7e30b59809d7051645c8cc351606b/DemoApp/LoginDemoTests/ReferenceImages/LoginDemoTests/LoginDemoTests_testSnapshot_LoginFailed_LoginButtonEnabled_iPhone_14_3_375x667@2x.png
--------------------------------------------------------------------------------
/DemoApp/LoginDemoTests/ReferenceImages/LoginDemoTests/LoginDemoTests_testSnapshot_LoginFailed_LoginButtonEnabled_iPhone_15_5_375x667@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freenowtech/Sensor/644d5e0adea7e30b59809d7051645c8cc351606b/DemoApp/LoginDemoTests/ReferenceImages/LoginDemoTests/LoginDemoTests_testSnapshot_LoginFailed_LoginButtonEnabled_iPhone_15_5_375x667@2x.png
--------------------------------------------------------------------------------
/DemoApp/LoginDemoTests/ReferenceImages/LoginDemoTests/LoginDemoTests_testSnapshot_PerformingLogin_LoginButtonDisabled_iPhone_14_3_375x667@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freenowtech/Sensor/644d5e0adea7e30b59809d7051645c8cc351606b/DemoApp/LoginDemoTests/ReferenceImages/LoginDemoTests/LoginDemoTests_testSnapshot_PerformingLogin_LoginButtonDisabled_iPhone_14_3_375x667@2x.png
--------------------------------------------------------------------------------
/DemoApp/LoginDemoTests/ReferenceImages/LoginDemoTests/LoginDemoTests_testSnapshot_PerformingLogin_LoginButtonDisabled_iPhone_15_5_375x667@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freenowtech/Sensor/644d5e0adea7e30b59809d7051645c8cc351606b/DemoApp/LoginDemoTests/ReferenceImages/LoginDemoTests/LoginDemoTests_testSnapshot_PerformingLogin_LoginButtonDisabled_iPhone_15_5_375x667@2x.png
--------------------------------------------------------------------------------
/DemoApp/Podfile:
--------------------------------------------------------------------------------
1 | project 'LoginDemo.xcodeproj/'
2 |
3 | # Uncomment the next line to define a global platform for your project
4 | platform :ios, '12.0'
5 |
6 | target 'LoginDemo' do
7 | # Comment the next line if you're not using Swift and don't want to use dynamic frameworks
8 | use_frameworks!
9 |
10 | # Pods for LoginDemo
11 | pod 'Sensor', :path => '..'
12 | pod "lottie-ios"
13 | pod "RxSwift"
14 | pod "RxCocoa"
15 | pod "RxGesture"
16 | pod "SnapKit"
17 | pod "Swinject"
18 |
19 | target 'LoginDemoTests' do
20 | inherit! :search_paths
21 | # Pods for testing
22 | pod 'SensorTest', :path => '..'
23 | pod "iOSSnapshotTestCase"
24 | pod "Nimble"
25 | pod "Nimble-Snapshots"
26 | end
27 |
28 | end
29 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Nimble-Snapshots/Nimble_Snapshots/Nimble_Snapshots.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | //! Project version number for Nimble_Snapshots.
4 | FOUNDATION_EXPORT double Nimble_SnapshotsVersionNumber;
5 |
6 | //! Project version string for Nimble_Snapshots.
7 | FOUNDATION_EXPORT const unsigned char Nimble_SnapshotsVersionString[];
8 |
9 | // In this header, you should import all the public headers of your framework using statements like #import
10 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Nimble-Snapshots/Nimble_Snapshots/XCTestObservationCenter+CurrentTestCaseTracker.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | @interface XCTestObservationCenter (CurrentTestCaseTracker)
4 |
5 | @end
6 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Nimble-Snapshots/Nimble_Snapshots/XCTestObservationCenter+CurrentTestCaseTracker.m:
--------------------------------------------------------------------------------
1 | #import "XCTestObservationCenter+CurrentTestCaseTracker.h"
2 | #if __has_include("Nimble_Snapshots-Swift.h")
3 | #import "Nimble_Snapshots-Swift.h"
4 | #elif SWIFT_PACKAGE
5 | @import Nimble_Snapshots;
6 | #else
7 | #import
8 | #endif
9 |
10 | @implementation XCTestObservationCenter (CurrentTestCaseTracker)
11 |
12 | + (void)load {
13 | [[self sharedTestObservationCenter] addTestObserver:[CurrentTestCaseTracker sharedInstance]];
14 | }
15 |
16 | @end
17 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Nimble/Sources/Nimble/Nimble.h:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 | #import
4 | #import
5 |
6 | #if TARGET_OS_OSX || TARGET_OS_IOS
7 | #import
8 | #import
9 | #endif
10 |
11 | FOUNDATION_EXPORT double NimbleVersionNumber;
12 | FOUNDATION_EXPORT const unsigned char NimbleVersionString[];
13 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/Pods/RxCocoa/Platform/DataStructures/InfiniteSequence.swift:
--------------------------------------------------------------------------------
1 | //
2 | // InfiniteSequence.swift
3 | // Platform
4 | //
5 | // Created by Krunoslav Zaher on 6/13/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | /// Sequence that repeats `repeatedValue` infinite number of times.
10 | struct InfiniteSequence : Sequence {
11 | typealias Iterator = AnyIterator
12 |
13 | private let _repeatedValue: Element
14 |
15 | init(repeatedValue: Element) {
16 | _repeatedValue = repeatedValue
17 | }
18 |
19 | func makeIterator() -> Iterator {
20 | let repeatedValue = _repeatedValue
21 | return AnyIterator {
22 | return repeatedValue
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/DemoApp/Pods/RxCocoa/Platform/DispatchQueue+Extensions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DispatchQueue+Extensions.swift
3 | // Platform
4 | //
5 | // Created by Krunoslav Zaher on 10/22/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Dispatch
10 |
11 | extension DispatchQueue {
12 | private static var token: DispatchSpecificKey<()> = {
13 | let key = DispatchSpecificKey<()>()
14 | DispatchQueue.main.setSpecific(key: key, value: ())
15 | return key
16 | }()
17 |
18 | static var isMain: Bool {
19 | return DispatchQueue.getSpecific(key: token) != nil
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/DemoApp/Pods/RxCocoa/Platform/Platform.Linux.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Platform.Linux.swift
3 | // Platform
4 | //
5 | // Created by Krunoslav Zaher on 12/29/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(Linux)
10 |
11 | import class Foundation.Thread
12 |
13 | extension Thread {
14 |
15 | static func setThreadLocalStorageValue(_ value: T?, forKey key: String) {
16 | if let newValue = value {
17 | Thread.current.threadDictionary[key] = newValue
18 | }
19 | else {
20 | Thread.current.threadDictionary[key] = nil
21 | }
22 | }
23 |
24 | static func getThreadLocalStorageValueForKey(_ key: String) -> T? {
25 | let currentThread = Thread.current
26 | let threadDictionary = currentThread.threadDictionary
27 |
28 | return threadDictionary[key] as? T
29 | }
30 | }
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/DemoApp/Pods/RxCocoa/Platform/RecursiveLock.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RecursiveLock.swift
3 | // Platform
4 | //
5 | // Created by Krunoslav Zaher on 12/18/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import class Foundation.NSRecursiveLock
10 |
11 | #if TRACE_RESOURCES
12 | class RecursiveLock: NSRecursiveLock {
13 | override init() {
14 | _ = Resources.incrementTotal()
15 | super.init()
16 | }
17 |
18 | override func lock() {
19 | super.lock()
20 | _ = Resources.incrementTotal()
21 | }
22 |
23 | override func unlock() {
24 | super.unlock()
25 | _ = Resources.decrementTotal()
26 | }
27 |
28 | deinit {
29 | _ = Resources.decrementTotal()
30 | }
31 | }
32 | #else
33 | typealias RecursiveLock = NSRecursiveLock
34 | #endif
35 |
--------------------------------------------------------------------------------
/DemoApp/Pods/RxCocoa/RxCocoa/Common/NSLayoutConstraint+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // NSLayoutConstraint+Rx.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 12/6/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if !os(Linux)
10 |
11 | #if os(macOS)
12 | import Cocoa
13 | #else
14 | import UIKit
15 | #endif
16 |
17 | import RxSwift
18 |
19 | #if os(iOS) || os(macOS) || os(tvOS)
20 | extension Reactive where Base: NSLayoutConstraint {
21 | /// Bindable sink for `constant` property.
22 | public var constant: Binder {
23 | return Binder(self.base) { constraint, constant in
24 | constraint.constant = constant
25 | }
26 | }
27 |
28 | /// Bindable sink for `active` property.
29 | @available(iOS 8, OSX 10.10, *)
30 | public var active: Binder {
31 | return Binder(self.base) { constraint, value in
32 | constraint.isActive = value
33 | }
34 | }
35 | }
36 |
37 | #endif
38 |
39 | #endif
40 |
--------------------------------------------------------------------------------
/DemoApp/Pods/RxCocoa/RxCocoa/Common/RxTarget.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RxTarget.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 7/12/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import class Foundation.NSObject
10 |
11 | import RxSwift
12 |
13 | class RxTarget : NSObject
14 | , Disposable {
15 |
16 | private var retainSelf: RxTarget?
17 |
18 | override init() {
19 | super.init()
20 | self.retainSelf = self
21 |
22 | #if TRACE_RESOURCES
23 | _ = Resources.incrementTotal()
24 | #endif
25 |
26 | #if DEBUG
27 | MainScheduler.ensureRunningOnMainThread()
28 | #endif
29 | }
30 |
31 | func dispose() {
32 | #if DEBUG
33 | MainScheduler.ensureRunningOnMainThread()
34 | #endif
35 | self.retainSelf = nil
36 | }
37 |
38 | #if TRACE_RESOURCES
39 | deinit {
40 | _ = Resources.decrementTotal()
41 | }
42 | #endif
43 | }
44 |
--------------------------------------------------------------------------------
/DemoApp/Pods/RxCocoa/RxCocoa/Common/SectionedViewDataSourceType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SectionedViewDataSourceType.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 1/10/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import struct Foundation.IndexPath
10 |
11 | /// Data source with access to underlying sectioned model.
12 | public protocol SectionedViewDataSourceType {
13 | /// Returns model at index path.
14 | ///
15 | /// In case data source doesn't contain any sections when this method is being called, `RxCocoaError.ItemsNotYetBound(object: self)` is thrown.
16 |
17 | /// - parameter indexPath: Model index path
18 | /// - returns: Model at index path.
19 | func model(at indexPath: IndexPath) throws -> Any
20 | }
21 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/Pods/RxCocoa/RxCocoa/Foundation/Logging.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Logging.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 4/3/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if canImport(FoundationNetworking)
10 | import struct FoundationNetworking.URLRequest
11 | #else
12 | import struct Foundation.URLRequest
13 | #endif
14 |
15 | /// Simple logging settings for RxCocoa library.
16 | public struct Logging {
17 | public typealias LogURLRequest = (URLRequest) -> Bool
18 |
19 | /// Log URL requests to standard output in curl format.
20 | public static var URLRequests: LogURLRequest = { _ in
21 | #if DEBUG
22 | return true
23 | #else
24 | return false
25 | #endif
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/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[];
--------------------------------------------------------------------------------
/DemoApp/Pods/RxCocoa/RxCocoa/Traits/Driver/BehaviorRelay+Driver.swift:
--------------------------------------------------------------------------------
1 | //
2 | // BehaviorRelay+Driver.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 10/7/17.
6 | // Copyright © 2017 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import RxSwift
10 | import RxRelay
11 |
12 | extension BehaviorRelay {
13 | /// Converts `BehaviorRelay` to `Driver`.
14 | ///
15 | /// - returns: Observable sequence.
16 | public func asDriver() -> Driver {
17 | let source = self.asObservable()
18 | .observeOn(DriverSharingStrategy.scheduler)
19 | return SharedSequence(source)
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/Pods/RxCocoa/RxCocoa/Traits/Signal/PublishRelay+Signal.swift:
--------------------------------------------------------------------------------
1 | //
2 | // PublishRelay+Signal.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 12/28/15.
6 | // Copyright © 2017 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import RxSwift
10 | import RxRelay
11 |
12 | extension PublishRelay {
13 | /// Converts `PublishRelay` to `Signal`.
14 | ///
15 | /// - returns: Observable sequence.
16 | public func asSignal() -> Signal {
17 | let source = self.asObservable()
18 | .observeOn(SignalSharingStrategy.scheduler)
19 | return SharedSequence(source)
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/Pods/RxCocoa/RxCocoa/iOS/UIActivityIndicatorView+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIActivityIndicatorView+Rx.swift
3 | // RxCocoa
4 | //
5 | // Created by Ivan Persidskiy on 02/12/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS) || os(tvOS)
10 |
11 | import UIKit
12 | import RxSwift
13 |
14 | extension Reactive where Base: UIActivityIndicatorView {
15 |
16 | /// Bindable sink for `startAnimating()`, `stopAnimating()` methods.
17 | public var isAnimating: Binder {
18 | return Binder(self.base) { activityIndicator, active in
19 | if active {
20 | activityIndicator.startAnimating()
21 | } else {
22 | activityIndicator.stopAnimating()
23 | }
24 | }
25 | }
26 |
27 | }
28 |
29 | #endif
30 |
--------------------------------------------------------------------------------
/DemoApp/Pods/RxCocoa/RxCocoa/iOS/UIAlertAction+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIAlertAction+Rx.swift
3 | // RxCocoa
4 | //
5 | // Created by Andrew Breckenridge on 5/7/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS) || os(tvOS)
10 |
11 | import UIKit
12 | import RxSwift
13 |
14 | extension Reactive where Base: UIAlertAction {
15 |
16 | /// Bindable sink for `enabled` property.
17 | public var isEnabled: Binder {
18 | return Binder(self.base) { alertAction, value in
19 | alertAction.isEnabled = value
20 | }
21 | }
22 |
23 | }
24 |
25 | #endif
26 |
--------------------------------------------------------------------------------
/DemoApp/Pods/RxCocoa/RxCocoa/iOS/UIApplication+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIApplication+Rx.swift
3 | // RxCocoa
4 | //
5 | // Created by Mads Bøgeskov on 18/01/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS)
10 |
11 | import UIKit
12 | import RxSwift
13 |
14 | extension Reactive where Base: UIApplication {
15 |
16 | /// Bindable sink for `networkActivityIndicatorVisible`.
17 | public var isNetworkActivityIndicatorVisible: Binder {
18 | return Binder(self.base) { application, active in
19 | application.isNetworkActivityIndicatorVisible = active
20 | }
21 | }
22 | }
23 | #endif
24 |
25 |
--------------------------------------------------------------------------------
/DemoApp/Pods/RxCocoa/RxCocoa/iOS/UIImageView+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIImageView+Rx.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 4/1/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS) || os(tvOS)
10 |
11 | import RxSwift
12 | import UIKit
13 |
14 | extension Reactive where Base: UIImageView {
15 |
16 | /// Bindable sink for `image` property.
17 | public var image: Binder {
18 | return Binder(base) { imageView, image in
19 | imageView.image = image
20 | }
21 | }
22 | }
23 |
24 | #endif
25 |
--------------------------------------------------------------------------------
/DemoApp/Pods/RxCocoa/RxCocoa/iOS/UILabel+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UILabel+Rx.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 4/1/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS) || os(tvOS)
10 |
11 | import RxSwift
12 | import UIKit
13 |
14 | extension Reactive where Base: UILabel {
15 |
16 | /// Bindable sink for `text` property.
17 | public var text: Binder {
18 | return Binder(self.base) { label, text in
19 | label.text = text
20 | }
21 | }
22 |
23 | /// Bindable sink for `attributedText` property.
24 | public var attributedText: Binder {
25 | return Binder(self.base) { label, text in
26 | label.attributedText = text
27 | }
28 | }
29 |
30 | }
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/DemoApp/Pods/RxCocoa/RxCocoa/iOS/UINavigationItem+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UINavigationItem+Rx.swift
3 | // RxCocoa
4 | //
5 | // Created by kumapo on 2016/05/09.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS) || os(tvOS)
10 |
11 | import UIKit
12 | import RxSwift
13 |
14 | extension Reactive where Base: UINavigationItem {
15 |
16 | /// Bindable sink for `title` property.
17 | public var title: Binder {
18 | return Binder(self.base) { navigationItem, text in
19 | navigationItem.title = text
20 | }
21 | }
22 |
23 | }
24 |
25 | #endif
26 |
--------------------------------------------------------------------------------
/DemoApp/Pods/RxCocoa/RxCocoa/iOS/UIPageControl+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIPageControl+Rx.swift
3 | // RxCocoa
4 | //
5 | // Created by Francesco Puntillo on 14/04/2016.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS) || os(tvOS)
10 |
11 | import RxSwift
12 | import UIKit
13 |
14 | extension Reactive where Base: UIPageControl {
15 |
16 | /// Bindable sink for `currentPage` property.
17 | public var currentPage: Binder {
18 | return Binder(self.base) { controller, page in
19 | controller.currentPage = page
20 | }
21 | }
22 |
23 | /// Bindable sink for `numberOfPages` property.
24 | public var numberOfPages: Binder {
25 | return Binder(self.base) { controller, page in
26 | controller.numberOfPages = page
27 | }
28 | }
29 |
30 | }
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/DemoApp/Pods/RxCocoa/RxCocoa/iOS/UIProgressView+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIProgressView+Rx.swift
3 | // RxCocoa
4 | //
5 | // Created by Samuel Bae on 2/27/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS) || os(tvOS)
10 |
11 | import RxSwift
12 | import UIKit
13 |
14 | extension Reactive where Base: UIProgressView {
15 |
16 | /// Bindable sink for `progress` property
17 | public var progress: Binder {
18 | return Binder(self.base) { progressView, progress in
19 | progressView.progress = progress
20 | }
21 | }
22 |
23 | }
24 |
25 | #endif
26 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/Pods/RxCocoa/RxCocoa/iOS/UIStepper+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIStepper+Rx.swift
3 | // RxCocoa
4 | //
5 | // Created by Yuta ToKoRo on 9/1/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS)
10 |
11 | import UIKit
12 | import RxSwift
13 |
14 | extension Reactive where Base: UIStepper {
15 |
16 | /// Reactive wrapper for `value` property.
17 | public var value: ControlProperty {
18 | return base.rx.controlPropertyWithDefaultEvents(
19 | getter: { stepper in
20 | stepper.value
21 | }, setter: { stepper, value in
22 | stepper.value = value
23 | }
24 | )
25 | }
26 |
27 | /// Reactive wrapper for `stepValue` property.
28 | public var stepValue: Binder {
29 | return Binder(self.base) { stepper, value in
30 | stepper.stepValue = value
31 | }
32 | }
33 |
34 | }
35 |
36 | #endif
37 |
38 |
--------------------------------------------------------------------------------
/DemoApp/Pods/RxCocoa/RxCocoa/iOS/UITabBarItem+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UITabBarItem+Rx.swift
3 | // RxCocoa
4 | //
5 | // Created by Mateusz Derks on 04/03/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS) || os(tvOS)
10 |
11 | import UIKit
12 | import RxSwift
13 |
14 | extension Reactive where Base: UITabBarItem {
15 |
16 | /// Bindable sink for `badgeValue` property.
17 | public var badgeValue: Binder {
18 | return Binder(self.base) { tabBarItem, badgeValue in
19 | tabBarItem.badgeValue = badgeValue
20 | }
21 | }
22 |
23 | }
24 |
25 | #endif
26 |
--------------------------------------------------------------------------------
/DemoApp/Pods/RxCocoa/RxCocoa/iOS/UIViewController+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIViewController+Rx.swift
3 | // RxCocoa
4 | //
5 | // Created by Kyle Fuller on 27/05/2016.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS) || os(tvOS)
10 |
11 | import UIKit
12 | import RxSwift
13 |
14 | extension Reactive where Base: UIViewController {
15 |
16 | /// Bindable sink for `title`.
17 | public var title: Binder {
18 | return Binder(self.base) { viewController, title in
19 | viewController.title = title
20 | }
21 | }
22 |
23 | }
24 | #endif
25 |
--------------------------------------------------------------------------------
/DemoApp/Pods/RxCocoa/RxCocoa/macOS/NSButton+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // NSButton+Rx.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 5/17/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(macOS)
10 |
11 | import RxSwift
12 | import Cocoa
13 |
14 | extension Reactive where Base: NSButton {
15 |
16 | /// Reactive wrapper for control event.
17 | public var tap: ControlEvent {
18 | return self.controlEvent
19 | }
20 |
21 | /// Reactive wrapper for `state` property`.
22 | public var state: ControlProperty {
23 | return self.base.rx.controlProperty(
24 | getter: { control in
25 | return control.state
26 | }, setter: { (control: NSButton, state: NSControl.StateValue) in
27 | control.state = state
28 | }
29 | )
30 | }
31 | }
32 |
33 | #endif
34 |
--------------------------------------------------------------------------------
/DemoApp/Pods/RxCocoa/RxCocoa/macOS/NSImageView+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // NSImageView+Rx.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 5/17/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(macOS)
10 |
11 | import RxSwift
12 | import Cocoa
13 |
14 | extension Reactive where Base: NSImageView {
15 |
16 | /// Bindable sink for `image` property.
17 | public var image: Binder {
18 | return Binder(self.base) { imageView, image in
19 | imageView.image = image
20 | }
21 | }
22 | }
23 |
24 | #endif
25 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/Pods/RxCocoa/RxCocoa/macOS/NSView+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // NSView+Rx.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 12/6/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(macOS)
10 |
11 | import Cocoa
12 | import RxSwift
13 |
14 | extension Reactive where Base: NSView {
15 | /// Bindable sink for `hidden` property.
16 | public var isHidden: Binder {
17 | return Binder(self.base) { view, value in
18 | view.isHidden = value
19 | }
20 | }
21 |
22 | /// Bindable sink for `alphaValue` property.
23 | public var alpha: Binder {
24 | return Binder(self.base) { view, value in
25 | view.alphaValue = value
26 | }
27 | }
28 | }
29 |
30 | #endif
31 |
--------------------------------------------------------------------------------
/DemoApp/Pods/RxFeedback/Sources/RxFeedback/Deprecations.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Deprecations.swift
3 | // RxFeedback
4 | //
5 | // Created by Krunoslav Zaher on 8/13/17.
6 | // Copyright © 2017 Krunoslav Zaher. All rights reserved.
7 | //
8 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/Pods/RxSwift/Platform/DataStructures/InfiniteSequence.swift:
--------------------------------------------------------------------------------
1 | //
2 | // InfiniteSequence.swift
3 | // Platform
4 | //
5 | // Created by Krunoslav Zaher on 6/13/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | /// Sequence that repeats `repeatedValue` infinite number of times.
10 | struct InfiniteSequence : Sequence {
11 | typealias Iterator = AnyIterator
12 |
13 | private let _repeatedValue: Element
14 |
15 | init(repeatedValue: Element) {
16 | _repeatedValue = repeatedValue
17 | }
18 |
19 | func makeIterator() -> Iterator {
20 | let repeatedValue = _repeatedValue
21 | return AnyIterator {
22 | return repeatedValue
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/DemoApp/Pods/RxSwift/Platform/DispatchQueue+Extensions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DispatchQueue+Extensions.swift
3 | // Platform
4 | //
5 | // Created by Krunoslav Zaher on 10/22/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Dispatch
10 |
11 | extension DispatchQueue {
12 | private static var token: DispatchSpecificKey<()> = {
13 | let key = DispatchSpecificKey<()>()
14 | DispatchQueue.main.setSpecific(key: key, value: ())
15 | return key
16 | }()
17 |
18 | static var isMain: Bool {
19 | return DispatchQueue.getSpecific(key: token) != nil
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/DemoApp/Pods/RxSwift/Platform/Platform.Linux.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Platform.Linux.swift
3 | // Platform
4 | //
5 | // Created by Krunoslav Zaher on 12/29/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(Linux)
10 |
11 | import class Foundation.Thread
12 |
13 | extension Thread {
14 |
15 | static func setThreadLocalStorageValue(_ value: T?, forKey key: String) {
16 | if let newValue = value {
17 | Thread.current.threadDictionary[key] = newValue
18 | }
19 | else {
20 | Thread.current.threadDictionary[key] = nil
21 | }
22 | }
23 |
24 | static func getThreadLocalStorageValueForKey(_ key: String) -> T? {
25 | let currentThread = Thread.current
26 | let threadDictionary = currentThread.threadDictionary
27 |
28 | return threadDictionary[key] as? T
29 | }
30 | }
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/DemoApp/Pods/RxSwift/Platform/RecursiveLock.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RecursiveLock.swift
3 | // Platform
4 | //
5 | // Created by Krunoslav Zaher on 12/18/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import class Foundation.NSRecursiveLock
10 |
11 | #if TRACE_RESOURCES
12 | class RecursiveLock: NSRecursiveLock {
13 | override init() {
14 | _ = Resources.incrementTotal()
15 | super.init()
16 | }
17 |
18 | override func lock() {
19 | super.lock()
20 | _ = Resources.incrementTotal()
21 | }
22 |
23 | override func unlock() {
24 | super.unlock()
25 | _ = Resources.decrementTotal()
26 | }
27 |
28 | deinit {
29 | _ = Resources.decrementTotal()
30 | }
31 | }
32 | #else
33 | typealias RecursiveLock = NSRecursiveLock
34 | #endif
35 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/Pods/RxSwift/RxSwift/Concurrency/Lock.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Lock.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 3/31/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | protocol Lock {
10 | func lock()
11 | func unlock()
12 | }
13 |
14 | // https://lists.swift.org/pipermail/swift-dev/Week-of-Mon-20151214/000321.html
15 | typealias SpinLock = RecursiveLock
16 |
17 | extension RecursiveLock : Lock {
18 | @inline(__always)
19 | final func performLocked(_ action: () -> Void) {
20 | self.lock(); defer { self.unlock() }
21 | action()
22 | }
23 |
24 | @inline(__always)
25 | final func calculateLocked(_ action: () -> T) -> T {
26 | self.lock(); defer { self.unlock() }
27 | return action()
28 | }
29 |
30 | @inline(__always)
31 | final func calculateLockedOrFail(_ action: () throws -> T) throws -> T {
32 | self.lock(); defer { self.unlock() }
33 | let result = try action()
34 | return result
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/DemoApp/Pods/RxSwift/RxSwift/Concurrency/LockOwnerType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // LockOwnerType.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | protocol LockOwnerType : class, Lock {
10 | var _lock: RecursiveLock { get }
11 | }
12 |
13 | extension LockOwnerType {
14 | func lock() {
15 | self._lock.lock()
16 | }
17 |
18 | func unlock() {
19 | self._lock.unlock()
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/Pods/RxSwift/RxSwift/Disposables/NopDisposable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // NopDisposable.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 2/15/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | /// Represents a disposable that does nothing on disposal.
10 | ///
11 | /// Nop = No Operation
12 | private struct NopDisposable : Disposable {
13 |
14 | fileprivate static let noOp: Disposable = NopDisposable()
15 |
16 | private init() {
17 |
18 | }
19 |
20 | /// Does nothing.
21 | public func dispose() {
22 | }
23 | }
24 |
25 | extension Disposables {
26 | /**
27 | Creates a disposable that does nothing on disposal.
28 | */
29 | static public func create() -> Disposable {
30 | return NopDisposable.noOp
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/Pods/RxSwift/RxSwift/Observable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Observable.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 2/8/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | /// A type-erased `ObservableType`.
10 | ///
11 | /// It represents a push style sequence.
12 | public class Observable : ObservableType {
13 | init() {
14 | #if TRACE_RESOURCES
15 | _ = Resources.incrementTotal()
16 | #endif
17 | }
18 |
19 | public func subscribe(_ observer: Observer) -> Disposable where Observer.Element == Element {
20 | rxAbstractMethod()
21 | }
22 |
23 | public func asObservable() -> Observable {
24 | return self
25 | }
26 |
27 | deinit {
28 | #if TRACE_RESOURCES
29 | _ = Resources.decrementTotal()
30 | #endif
31 | }
32 | }
33 |
34 |
--------------------------------------------------------------------------------
/DemoApp/Pods/RxSwift/RxSwift/ObservableConvertibleType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ObservableConvertibleType.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 9/17/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | /// Type that can be converted to observable sequence (`Observable`).
10 | public protocol ObservableConvertibleType {
11 | /// Type of elements in sequence.
12 | associatedtype Element
13 |
14 | @available(*, deprecated, renamed: "Element")
15 | typealias E = Element
16 |
17 | /// Converts `self` to `Observable` sequence.
18 | ///
19 | /// - returns: Observable sequence that represents `self`.
20 | func asObservable() -> Observable
21 | }
22 |
--------------------------------------------------------------------------------
/DemoApp/Pods/RxSwift/RxSwift/Observables/Empty.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Empty.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 8/30/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | extension ObservableType {
10 | /**
11 | Returns an empty observable sequence, using the specified scheduler to send out the single `Completed` message.
12 |
13 | - seealso: [empty operator on reactivex.io](http://reactivex.io/documentation/operators/empty-never-throw.html)
14 |
15 | - returns: An observable sequence with no elements.
16 | */
17 | public static func empty() -> Observable {
18 | return EmptyProducer()
19 | }
20 | }
21 |
22 | final private class EmptyProducer: Producer {
23 | override func subscribe(_ observer: Observer) -> Disposable where Observer.Element == Element {
24 | observer.on(.completed)
25 | return Disposables.create()
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/DemoApp/Pods/RxSwift/RxSwift/Observables/Never.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Never.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 8/30/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | extension ObservableType {
10 |
11 | /**
12 | Returns a non-terminating observable sequence, which can be used to denote an infinite duration.
13 |
14 | - seealso: [never operator on reactivex.io](http://reactivex.io/documentation/operators/empty-never-throw.html)
15 |
16 | - returns: An observable sequence whose observers will never get called.
17 | */
18 | public static func never() -> Observable {
19 | return NeverProducer()
20 | }
21 | }
22 |
23 | final private class NeverProducer: Producer {
24 | override func subscribe(_ observer: Observer) -> Disposable where Observer.Element == Element {
25 | return Disposables.create()
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/DemoApp/Pods/RxSwift/RxSwift/Observers/AnonymousObserver.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AnonymousObserver.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 2/8/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | final class AnonymousObserver: ObserverBase {
10 | typealias EventHandler = (Event) -> Void
11 |
12 | private let _eventHandler : EventHandler
13 |
14 | init(_ eventHandler: @escaping EventHandler) {
15 | #if TRACE_RESOURCES
16 | _ = Resources.incrementTotal()
17 | #endif
18 | self._eventHandler = eventHandler
19 | }
20 |
21 | override func onCore(_ event: Event) {
22 | return self._eventHandler(event)
23 | }
24 |
25 | #if TRACE_RESOURCES
26 | deinit {
27 | _ = Resources.decrementTotal()
28 | }
29 | #endif
30 | }
31 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/Pods/RxSwift/RxSwift/Schedulers/HistoricalScheduler.swift:
--------------------------------------------------------------------------------
1 | //
2 | // HistoricalScheduler.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 12/27/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import struct Foundation.Date
10 |
11 | /// Provides a virtual time scheduler that uses `Date` for absolute time and `NSTimeInterval` for relative time.
12 | public class HistoricalScheduler : VirtualTimeScheduler {
13 |
14 | /**
15 | Creates a new historical scheduler with initial clock value.
16 |
17 | - parameter initialClock: Initial value for virtual clock.
18 | */
19 | public init(initialClock: RxTime = Date(timeIntervalSince1970: 0)) {
20 | super.init(initialClock: initialClock, converter: HistoricalSchedulerTimeConverter())
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/Pods/RxSwift/RxSwift/Schedulers/Internal/ScheduledItem.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ScheduledItem.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 9/2/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | struct ScheduledItem
10 | : ScheduledItemType
11 | , InvocableType {
12 | typealias Action = (T) -> Disposable
13 |
14 | private let _action: Action
15 | private let _state: T
16 |
17 | private let _disposable = SingleAssignmentDisposable()
18 |
19 | var isDisposed: Bool {
20 | return self._disposable.isDisposed
21 | }
22 |
23 | init(action: @escaping Action, state: T) {
24 | self._action = action
25 | self._state = state
26 | }
27 |
28 | func invoke() {
29 | self._disposable.setDisposable(self._action(self._state))
30 | }
31 |
32 | func dispose() {
33 | self._disposable.dispose()
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/Pods/RxSwift/RxSwift/Subjects/SubjectType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SubjectType.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 3/1/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | /// Represents an object that is both an observable sequence as well as an observer.
10 | public protocol SubjectType : ObservableType {
11 | /// The type of the observer that represents this subject.
12 | ///
13 | /// Usually this type is type of subject itself, but it doesn't have to be.
14 | associatedtype Observer: ObserverType
15 |
16 | @available(*, deprecated, renamed: "Observer")
17 | typealias SubjectObserverType = Observer
18 |
19 | /// Returns observer interface for subject.
20 | ///
21 | /// - returns: Observer interface for subject.
22 | func asObserver() -> Observer
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/DemoApp/Pods/RxSwift/RxSwift/SwiftSupport/SwiftSupport.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SwiftSupport.swift
3 | // RxSwift
4 | //
5 | // Created by Volodymyr Gorbenko on 3/6/17.
6 | // Copyright © 2017 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | typealias IntMax = Int64
12 | public typealias RxAbstractInteger = FixedWidthInteger
13 |
14 | extension SignedInteger {
15 | func toIntMax() -> IntMax {
16 | return IntMax(self)
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/DemoApp/Pods/RxTest/Platform/DataStructures/InfiniteSequence.swift:
--------------------------------------------------------------------------------
1 | //
2 | // InfiniteSequence.swift
3 | // Platform
4 | //
5 | // Created by Krunoslav Zaher on 6/13/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | /// Sequence that repeats `repeatedValue` infinite number of times.
10 | struct InfiniteSequence : Sequence {
11 | typealias Iterator = AnyIterator
12 |
13 | private let _repeatedValue: Element
14 |
15 | init(repeatedValue: Element) {
16 | _repeatedValue = repeatedValue
17 | }
18 |
19 | func makeIterator() -> Iterator {
20 | let repeatedValue = _repeatedValue
21 | return AnyIterator {
22 | return repeatedValue
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/DemoApp/Pods/RxTest/Platform/DispatchQueue+Extensions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DispatchQueue+Extensions.swift
3 | // Platform
4 | //
5 | // Created by Krunoslav Zaher on 10/22/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Dispatch
10 |
11 | extension DispatchQueue {
12 | private static var token: DispatchSpecificKey<()> = {
13 | let key = DispatchSpecificKey<()>()
14 | DispatchQueue.main.setSpecific(key: key, value: ())
15 | return key
16 | }()
17 |
18 | static var isMain: Bool {
19 | return DispatchQueue.getSpecific(key: token) != nil
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/DemoApp/Pods/RxTest/Platform/Platform.Linux.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Platform.Linux.swift
3 | // Platform
4 | //
5 | // Created by Krunoslav Zaher on 12/29/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(Linux)
10 |
11 | import class Foundation.Thread
12 |
13 | extension Thread {
14 |
15 | static func setThreadLocalStorageValue(_ value: T?, forKey key: String) {
16 | if let newValue = value {
17 | Thread.current.threadDictionary[key] = newValue
18 | }
19 | else {
20 | Thread.current.threadDictionary[key] = nil
21 | }
22 | }
23 |
24 | static func getThreadLocalStorageValueForKey(_ key: String) -> T? {
25 | let currentThread = Thread.current
26 | let threadDictionary = currentThread.threadDictionary
27 |
28 | return threadDictionary[key] as? T
29 | }
30 | }
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/DemoApp/Pods/RxTest/Platform/RecursiveLock.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RecursiveLock.swift
3 | // Platform
4 | //
5 | // Created by Krunoslav Zaher on 12/18/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import class Foundation.NSRecursiveLock
10 |
11 | #if TRACE_RESOURCES
12 | class RecursiveLock: NSRecursiveLock {
13 | override init() {
14 | _ = Resources.incrementTotal()
15 | super.init()
16 | }
17 |
18 | override func lock() {
19 | super.lock()
20 | _ = Resources.incrementTotal()
21 | }
22 |
23 | override func unlock() {
24 | super.unlock()
25 | _ = Resources.decrementTotal()
26 | }
27 |
28 | deinit {
29 | _ = Resources.decrementTotal()
30 | }
31 | }
32 | #else
33 | typealias RecursiveLock = NSRecursiveLock
34 | #endif
35 |
--------------------------------------------------------------------------------
/DemoApp/Pods/RxTest/RxTest/RxTest.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RxTest.swift
3 | // RxTest
4 | //
5 | // Created by Krunoslav Zaher on 12/19/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | /// Virtual time type.
10 | public typealias TestTime = Int
11 |
12 |
--------------------------------------------------------------------------------
/DemoApp/Pods/RxTest/RxTest/TestableObserver.swift:
--------------------------------------------------------------------------------
1 | //
2 | // TestableObserver.swift
3 | // RxTest
4 | //
5 | // Created by Krunoslav Zaher on 2/15/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import RxSwift
10 |
11 | /// Observer that records events together with virtual time when they were received.
12 | public final class TestableObserver
13 | : ObserverType {
14 | private let _scheduler: TestScheduler
15 |
16 | /// Recorded events.
17 | public private(set) var events = [Recorded>]()
18 |
19 | init(scheduler: TestScheduler) {
20 | self._scheduler = scheduler
21 | }
22 |
23 | /// Notify observer about sequence event.
24 | ///
25 | /// - parameter event: Event that occurred.
26 | public func on(_ event: Event) {
27 | self.events.append(Recorded(time: self._scheduler.clock, value: event))
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Swinject/Sources/Container.Logging.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright © 2019 Swinject Contributors. All rights reserved.
3 | //
4 |
5 | public typealias LoggingFunctionType = (String) -> Void
6 |
7 | public extension Container {
8 | /// Function to be used for logging debugging data.
9 | /// Default implementation writes to standard output.
10 | static var loggingFunction: LoggingFunctionType? {
11 | get { return _loggingFunction }
12 | set { _loggingFunction = newValue }
13 | }
14 |
15 | internal static func log(_ message: String) {
16 | _loggingFunction?(message)
17 | }
18 | }
19 |
20 | private var _loggingFunction: LoggingFunctionType? = { print($0) }
21 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Swinject/Sources/FunctionType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright © 2019 Swinject Contributors. All rights reserved.
3 | //
4 |
5 | // Type alias to expect a closure.
6 | internal typealias FunctionType = Any
7 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Swinject/Sources/GraphIdentifier.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright © 2019 Swinject Contributors. All rights reserved.
3 | //
4 |
5 | /// Unique identifier of an object graph during a resolution process.
6 | public final class GraphIdentifier {}
7 |
8 | extension GraphIdentifier: Equatable, Hashable {
9 | public static func == (lhs: GraphIdentifier, rhs: GraphIdentifier) -> Bool {
10 | return lhs === rhs
11 | }
12 |
13 | public func hash(into hasher: inout Hasher) {
14 | hasher.combine(ObjectIdentifier(self).hashValue)
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Swinject/Sources/RecursiveLock.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright © 2019 Swinject Contributors. All rights reserved.
3 | //
4 |
5 | import Foundation
6 |
7 | internal final class RecursiveLock {
8 | private let lock = NSRecursiveLock()
9 |
10 | func sync(action: () -> T) -> T {
11 | lock.lock()
12 | defer { lock.unlock() }
13 | return action()
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Swinject/Sources/Swinject.h:
--------------------------------------------------------------------------------
1 | //
2 | // Swinject.h
3 | // Swinject
4 | //
5 | // Created by Yoichi Tagaya on 7/22/15.
6 | // Copyright © 2015 Swinject Contributors. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | //! Project version number for Swinject.
12 | FOUNDATION_EXPORT double SwinjectVersionNumber;
13 |
14 | //! Project version string for Swinject.
15 | FOUNDATION_EXPORT const unsigned char SwinjectVersionString[];
16 |
17 | // In this header, you should import all the public headers of your framework using statements like #import
18 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Swinject/Sources/UnavailableItems.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright © 2019 Swinject Contributors. All rights reserved.
3 | //
4 |
5 | // MARK: For auto migration from Swinject v1 to v2.
6 |
7 | extension ObjectScope {
8 | @available(*, unavailable, renamed: "transient")
9 | public static let none = transient
10 |
11 | @available(*, unavailable, renamed: "container")
12 | public static let hierarchy = container
13 | }
14 |
15 | @available(*, unavailable, renamed: "Resolver")
16 | public protocol ResolverType {}
17 |
18 | @available(*, unavailable, renamed: "Assembly")
19 | public protocol AssemblyType {}
20 |
21 | @available(*, unavailable, renamed: "ServiceKeyOption")
22 | public protocol ServiceKeyOptionType {}
23 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/Nimble-Snapshots/Nimble-Snapshots-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.4.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/Nimble-Snapshots/Nimble-Snapshots-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Nimble_Snapshots : NSObject
3 | @end
4 | @implementation PodsDummy_Nimble_Snapshots
5 | @end
6 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/Nimble-Snapshots/Nimble-Snapshots-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 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/Nimble-Snapshots/Nimble-Snapshots-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_Snapshots.h"
14 | #import "XCTestObservationCenter+CurrentTestCaseTracker.h"
15 |
16 | FOUNDATION_EXPORT double Nimble_SnapshotsVersionNumber;
17 | FOUNDATION_EXPORT const unsigned char Nimble_SnapshotsVersionString[];
18 |
19 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/Nimble-Snapshots/Nimble-Snapshots.modulemap:
--------------------------------------------------------------------------------
1 | framework module Nimble_Snapshots {
2 | umbrella header "Nimble-Snapshots-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/Nimble-Snapshots/Nimble-Snapshots.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Nimble-Snapshots
2 | ENABLE_BITCODE = NO
3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" "${PODS_CONFIGURATION_BUILD_DIR}/Nimble" "${PODS_CONFIGURATION_BUILD_DIR}/iOSSnapshotTestCase"
4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
5 | OTHER_LDFLAGS = $(inherited) -framework "Foundation" -framework "UIKit" -framework "XCTest" -weak_framework "XCTest"
6 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
7 | PODS_BUILD_DIR = ${BUILD_DIR}
8 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
9 | PODS_ROOT = ${SRCROOT}
10 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/Nimble-Snapshots
11 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
12 | SKIP_INSTALL = YES
13 |
--------------------------------------------------------------------------------
/DemoApp/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 | 10.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/Nimble/Nimble-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Nimble : NSObject
3 | @end
4 | @implementation PodsDummy_Nimble
5 | @end
6 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/Pods-LoginDemo/Pods-LoginDemo-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 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/Pods-LoginDemo/Pods-LoginDemo-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_LoginDemo : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_LoginDemo
5 | @end
6 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/Pods-LoginDemo/Pods-LoginDemo-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_LoginDemoVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char Pods_LoginDemoVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/Pods-LoginDemo/Pods-LoginDemo.modulemap:
--------------------------------------------------------------------------------
1 | framework module Pods_LoginDemo {
2 | umbrella header "Pods-LoginDemo-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/Pods-LoginDemoTests/Pods-LoginDemoTests-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 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/Pods-LoginDemoTests/Pods-LoginDemoTests-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_LoginDemoTests : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_LoginDemoTests
5 | @end
6 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/Pods-LoginDemoTests/Pods-LoginDemoTests-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_LoginDemoTestsVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char Pods_LoginDemoTestsVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/Pods-LoginDemoTests/Pods-LoginDemoTests.modulemap:
--------------------------------------------------------------------------------
1 | framework module Pods_LoginDemoTests {
2 | umbrella header "Pods-LoginDemoTests-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/RxCocoa/RxCocoa-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 5.1.3
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/RxCocoa/RxCocoa-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_RxCocoa : NSObject
3 | @end
4 | @implementation PodsDummy_RxCocoa
5 | @end
6 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/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 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
6 | OTHER_LDFLAGS = $(inherited) -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_ROOT = ${SRCROOT}
11 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/RxCocoa
12 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
13 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
14 | SKIP_INSTALL = YES
15 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
16 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/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 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
6 | OTHER_LDFLAGS = $(inherited) -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_ROOT = ${SRCROOT}
11 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/RxCocoa
12 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
13 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
14 | SKIP_INSTALL = YES
15 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
16 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/RxFeedback/RxFeedback-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.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/RxFeedback/RxFeedback-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_RxFeedback : NSObject
3 | @end
4 | @implementation PodsDummy_RxFeedback
5 | @end
6 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/RxFeedback/RxFeedback-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 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/RxFeedback/RxFeedback-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 RxFeedbackVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char RxFeedbackVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/RxFeedback/RxFeedback.modulemap:
--------------------------------------------------------------------------------
1 | framework module RxFeedback {
2 | umbrella header "RxFeedback-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/RxFeedback/RxFeedback.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/RxFeedback
2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift"
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | OTHER_LDFLAGS = $(inherited) -framework "Foundation"
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}/RxFeedback
10 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
11 | SKIP_INSTALL = YES
12 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/RxGesture/RxGesture-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.0.2
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/RxGesture/RxGesture-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_RxGesture : NSObject
3 | @end
4 | @implementation PodsDummy_RxGesture
5 | @end
6 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/RxGesture/RxGesture-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 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/RxGesture/RxGesture-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 RxGestureVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char RxGestureVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/RxGesture/RxGesture.modulemap:
--------------------------------------------------------------------------------
1 | framework module RxGesture {
2 | umbrella header "RxGesture-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/RxGesture/RxGesture.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/RxGesture
2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${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}/RxGesture
9 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
10 | SKIP_INSTALL = YES
11 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/RxRelay/RxRelay-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 5.1.3
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/RxRelay/RxRelay-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_RxRelay : NSObject
3 | @end
4 | @implementation PodsDummy_RxRelay
5 | @end
6 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/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 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
6 | OTHER_LDFLAGS = $(inherited) -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_ROOT = ${SRCROOT}
11 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/RxRelay
12 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
13 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
14 | SKIP_INSTALL = YES
15 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
16 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/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 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
6 | OTHER_LDFLAGS = $(inherited) -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_ROOT = ${SRCROOT}
11 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/RxRelay
12 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
13 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
14 | SKIP_INSTALL = YES
15 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
16 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/RxSwift/RxSwift-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 5.1.3
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/RxSwift/RxSwift-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_RxSwift : NSObject
3 | @end
4 | @implementation PodsDummy_RxSwift
5 | @end
6 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/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 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
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}/RxSwift
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 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/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 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
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}/RxSwift
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 |
--------------------------------------------------------------------------------
/DemoApp/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 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/RxTest/RxTest-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 5.1.3
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/RxTest/RxTest-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_RxTest : NSObject
3 | @end
4 | @implementation PodsDummy_RxTest
5 | @end
6 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/RxTest/RxTest-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/RxTest/RxTest-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double RxTestVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char RxTestVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/RxTest/RxTest.modulemap:
--------------------------------------------------------------------------------
1 | framework module RxTest {
2 | umbrella header "RxTest-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/RxTest/RxTest.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/RxTest
2 | ENABLE_BITCODE = NO
3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift"
4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
5 | OTHER_LDFLAGS = $(inherited) -framework "XCTest"
6 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
7 | PODS_BUILD_DIR = ${BUILD_DIR}
8 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
9 | PODS_ROOT = ${SRCROOT}
10 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/RxTest
11 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
12 | SKIP_INSTALL = YES
13 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/Sensor/Sensor-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 | 0.2.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/Sensor/Sensor-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Sensor : NSObject
3 | @end
4 | @implementation PodsDummy_Sensor
5 | @end
6 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/Sensor/Sensor-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 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/Sensor/Sensor-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 SensorVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char SensorVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/Sensor/Sensor.modulemap:
--------------------------------------------------------------------------------
1 | framework module Sensor {
2 | umbrella header "Sensor-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/Sensor/Sensor.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Sensor
2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa" "${PODS_CONFIGURATION_BUILD_DIR}/RxFeedback" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift"
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | OTHER_LDFLAGS = $(inherited) -framework "Foundation"
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}/../..
10 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
11 | SKIP_INSTALL = YES
12 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/SensorTest/SensorTest-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 | 0.2.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/SensorTest/SensorTest-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_SensorTest : NSObject
3 | @end
4 | @implementation PodsDummy_SensorTest
5 | @end
6 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/SensorTest/SensorTest-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 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/SensorTest/SensorTest-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 SensorTestVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char SensorTestVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/SensorTest/SensorTest.modulemap:
--------------------------------------------------------------------------------
1 | framework module SensorTest {
2 | umbrella header "SensorTest-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/SensorTest/SensorTest.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SensorTest
2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift" "${PODS_CONFIGURATION_BUILD_DIR}/RxTest"
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | OTHER_LDFLAGS = $(inherited) -framework "Foundation" -framework "XCTest"
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}/../..
10 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
11 | SKIP_INSTALL = YES
12 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/SnapKit/SnapKit-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.6.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/SnapKit/SnapKit-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_SnapKit : NSObject
3 | @end
4 | @implementation PodsDummy_SnapKit
5 | @end
6 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/SnapKit/SnapKit-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 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/SnapKit/SnapKit-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 SnapKitVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char SnapKitVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/SnapKit/SnapKit.debug.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SnapKit
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
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}/SnapKit
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 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/SnapKit/SnapKit.modulemap:
--------------------------------------------------------------------------------
1 | framework module SnapKit {
2 | umbrella header "SnapKit-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/SnapKit/SnapKit.release.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SnapKit
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
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}/SnapKit
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 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/SnapKit/SnapKit.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SnapKit
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}/SnapKit
8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
9 | SKIP_INSTALL = YES
10 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/Swinject/Swinject-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 2.8.1
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/Swinject/Swinject-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Swinject : NSObject
3 | @end
4 | @implementation PodsDummy_Swinject
5 | @end
6 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/Swinject/Swinject-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 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/Swinject/Swinject-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 "Swinject.h"
14 |
15 | FOUNDATION_EXPORT double SwinjectVersionNumber;
16 | FOUNDATION_EXPORT const unsigned char SwinjectVersionString[];
17 |
18 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/Swinject/Swinject.debug.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Swinject
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
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}/Swinject
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 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/Swinject/Swinject.modulemap:
--------------------------------------------------------------------------------
1 | framework module Swinject {
2 | umbrella header "Swinject-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/Swinject/Swinject.release.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Swinject
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
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}/Swinject
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 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/Swinject/Swinject.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Swinject
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}/Swinject
8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
9 | SKIP_INSTALL = YES
10 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase-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 | 8.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_iOSSnapshotTestCase : NSObject
3 | @end
4 | @implementation PodsDummy_iOSSnapshotTestCase
5 | @end
6 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase-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 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase-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 "FBSnapshotTestCase.h"
14 | #import "FBSnapshotTestCasePlatform.h"
15 | #import "FBSnapshotTestController.h"
16 |
17 | FOUNDATION_EXPORT double FBSnapshotTestCaseVersionNumber;
18 | FOUNDATION_EXPORT const unsigned char FBSnapshotTestCaseVersionString[];
19 |
20 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase.modulemap:
--------------------------------------------------------------------------------
1 | framework module FBSnapshotTestCase {
2 | umbrella header "iOSSnapshotTestCase-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/iOSSnapshotTestCase
2 | ENABLE_BITCODE = NO
3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks"
4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
5 | OTHER_LDFLAGS = $(inherited) -framework "Foundation" -framework "QuartzCore" -framework "UIKit" -framework "XCTest"
6 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
7 | PODS_BUILD_DIR = ${BUILD_DIR}
8 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
9 | PODS_ROOT = ${SRCROOT}
10 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/iOSSnapshotTestCase
11 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
12 | SKIP_INSTALL = YES
13 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/lottie-ios/lottie-ios-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.4.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/lottie-ios/lottie-ios-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_lottie_ios : NSObject
3 | @end
4 | @implementation PodsDummy_lottie_ios
5 | @end
6 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/lottie-ios/lottie-ios-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 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/lottie-ios/lottie-ios-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 LottieVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char LottieVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/lottie-ios/lottie-ios.debug.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/lottie-ios
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
5 | OTHER_LDFLAGS = $(inherited) -framework "CoreGraphics" -framework "QuartzCore" -framework "UIKit"
6 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
7 | PODS_BUILD_DIR = ${BUILD_DIR}
8 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
9 | PODS_ROOT = ${SRCROOT}
10 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/lottie-ios
11 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
12 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
13 | SKIP_INSTALL = YES
14 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
15 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/lottie-ios/lottie-ios.modulemap:
--------------------------------------------------------------------------------
1 | framework module Lottie {
2 | umbrella header "lottie-ios-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/lottie-ios/lottie-ios.release.xcconfig:
--------------------------------------------------------------------------------
1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/lottie-ios
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
5 | OTHER_LDFLAGS = $(inherited) -framework "CoreGraphics" -framework "QuartzCore" -framework "UIKit"
6 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
7 | PODS_BUILD_DIR = ${BUILD_DIR}
8 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
9 | PODS_ROOT = ${SRCROOT}
10 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/lottie-ios
11 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
12 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
13 | SKIP_INSTALL = YES
14 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
15 |
--------------------------------------------------------------------------------
/DemoApp/Pods/Target Support Files/lottie-ios/lottie-ios.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/lottie-ios
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | OTHER_LDFLAGS = $(inherited) -framework "CoreGraphics" -framework "QuartzCore" -framework "UIKit"
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}/lottie-ios
9 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
10 | SKIP_INSTALL = YES
11 |
--------------------------------------------------------------------------------
/DemoApp/Pods/iOSSnapshotTestCase/src/iOSSnapshotTestCaseCore/Categories/UIApplication+KeyWindow.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2017-2018, Uber Technologies, Inc.
3 | * Copyright (c) 2015-2018, Facebook, Inc.
4 | *
5 | * This source code is licensed under the MIT license found in the
6 | * LICENSE file in the root directory of this source tree.
7 | *
8 | */
9 |
10 | #import
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | @interface UIApplication (KeyWindow)
15 |
16 | - (nullable UIWindow *)ub_keyWindow;
17 |
18 | @end
19 |
20 | NS_ASSUME_NONNULL_END
21 |
--------------------------------------------------------------------------------
/DemoApp/Pods/iOSSnapshotTestCase/src/iOSSnapshotTestCaseCore/Categories/UIApplication+KeyWindow.m:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2017-2018, Uber Technologies, Inc.
3 | * Copyright (c) 2015-2018, Facebook, Inc.
4 | *
5 | * This source code is licensed under the MIT license found in the
6 | * LICENSE file in the root directory of this source tree.
7 | *
8 | */
9 |
10 | #if SWIFT_PACKAGE
11 | #import "UIApplication+KeyWindow.h"
12 | #else
13 | #import
14 | #endif
15 |
16 | @implementation UIApplication (KeyWindow)
17 |
18 | - (nullable UIWindow *)ub_keyWindow
19 | {
20 | #pragma GCC diagnostic push
21 | #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
22 | return UIApplication.sharedApplication.keyWindow;
23 | #pragma GCC diagnostic pop
24 | }
25 |
26 | @end
27 |
--------------------------------------------------------------------------------
/DemoApp/Pods/iOSSnapshotTestCase/src/iOSSnapshotTestCaseCore/Categories/UIImage+Snapshot.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2017-2018, Uber Technologies, Inc.
3 | * Copyright (c) 2015-2018, Facebook, Inc.
4 | *
5 | * This source code is licensed under the MIT license found in the
6 | * LICENSE file in the root directory of this source tree.
7 | *
8 | */
9 |
10 | #import
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | @interface UIImage (Snapshot)
15 |
16 | /// Uses renderInContext: to get a snapshot of the layer.
17 | + (nullable UIImage *)fb_imageForLayer:(CALayer *)layer;
18 |
19 | /// Uses renderInContext: to get a snapshot of the view layer.
20 | + (nullable UIImage *)fb_imageForViewLayer:(UIView *)view;
21 |
22 | /// Uses drawViewHierarchyInRect: to get a snapshot of the view and adds the view into a window if needed.
23 | + (nullable UIImage *)fb_imageForView:(UIView *)view;
24 |
25 | @end
26 |
27 | NS_ASSUME_NONNULL_END
28 |
--------------------------------------------------------------------------------
/DemoApp/Pods/lottie-ios/Sources/Private/CoreAnimation/Animations/EllipseAnimation.swift:
--------------------------------------------------------------------------------
1 | // Created by Cal Stephens on 12/21/21.
2 | // Copyright © 2021 Airbnb Inc. All rights reserved.
3 |
4 | import QuartzCore
5 |
6 | extension CAShapeLayer {
7 | /// Adds animations for the given `Ellipse` to this `CALayer`
8 | @nonobjc
9 | func addAnimations(
10 | for ellipse: Ellipse,
11 | context: LayerAnimationContext,
12 | pathMultiplier: PathMultiplier)
13 | throws
14 | {
15 | try addAnimation(
16 | for: .path,
17 | keyframes: ellipse.size.keyframes,
18 | value: { sizeKeyframe in
19 | BezierPath.ellipse(
20 | size: sizeKeyframe.sizeValue,
21 | center: try ellipse.position.exactlyOneKeyframe(context: context, description: "ellipse position").value.pointValue,
22 | direction: ellipse.direction)
23 | .cgPath()
24 | .duplicated(times: pathMultiplier)
25 | },
26 | context: context)
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/DemoApp/Pods/lottie-ios/Sources/Private/CoreAnimation/Layers/BaseAnimationLayer.swift:
--------------------------------------------------------------------------------
1 | // Created by Cal Stephens on 1/27/22.
2 | // Copyright © 2022 Airbnb Inc. All rights reserved.
3 |
4 | import QuartzCore
5 |
6 | /// A base `CALayer` that manages the frame and animations
7 | /// of its `sublayers` and `mask`
8 | class BaseAnimationLayer: CALayer, AnimationLayer {
9 |
10 | // MARK: Internal
11 |
12 | override func layoutSublayers() {
13 | super.layoutSublayers()
14 |
15 | for sublayer in managedSublayers {
16 | sublayer.fillBoundsOfSuperlayer()
17 | }
18 | }
19 |
20 | func setupAnimations(context: LayerAnimationContext) throws {
21 | for childAnimationLayer in managedSublayers {
22 | try (childAnimationLayer as? AnimationLayer)?.setupAnimations(context: context)
23 | }
24 | }
25 |
26 | // MARK: Private
27 |
28 | /// All of the sublayers managed by this container
29 | private var managedSublayers: [CALayer] {
30 | (sublayers ?? []) + [mask].compactMap { $0 }
31 | }
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/DemoApp/Pods/lottie-ios/Sources/Private/CoreAnimation/Layers/TransformLayer.swift:
--------------------------------------------------------------------------------
1 | // Created by Cal Stephens on 12/21/21.
2 | // Copyright © 2021 Airbnb Inc. All rights reserved.
3 |
4 | /// The CALayer type responsible for only rendering the `transform` of a `LayerModel`
5 | final class TransformLayer: BaseCompositionLayer {
6 |
7 | /// `TransformLayer`s don't render any visible content,
8 | /// they just `transform` their sublayers
9 | override var renderLayerContents: Bool { false }
10 |
11 | }
12 |
--------------------------------------------------------------------------------
/DemoApp/Pods/lottie-ios/Sources/Private/MainThread/LayerContainers/CompLayers/NullCompositionLayer.swift:
--------------------------------------------------------------------------------
1 | //
2 | // NullCompositionLayer.swift
3 | // lottie-swift
4 | //
5 | // Created by Brandon Withrow on 1/25/19.
6 | //
7 |
8 | import Foundation
9 |
10 | final class NullCompositionLayer: CompositionLayer {
11 |
12 | init(layer: LayerModel) {
13 | super.init(layer: layer, size: .zero)
14 | }
15 |
16 | required init?(coder _: NSCoder) {
17 | fatalError("init(coder:) has not been implemented")
18 | }
19 |
20 | override init(layer: Any) {
21 | /// Used for creating shadow model layers. Read More here: https://developer.apple.com/documentation/quartzcore/calayer/1410842-init
22 | guard let layer = layer as? NullCompositionLayer else {
23 | fatalError("init(layer:) Wrong Layer Class")
24 | }
25 | super.init(layer: layer)
26 | }
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/DemoApp/Pods/lottie-ios/Sources/Private/MainThread/LayerContainers/Utility/LayerFontProvider.swift:
--------------------------------------------------------------------------------
1 | //
2 | // LayerFontProvider.swift
3 | // Lottie
4 | //
5 | // Created by Brandon Withrow on 8/5/20.
6 | // Copyright © 2020 YurtvilleProds. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /// Connects a LottieFontProvider to a group of text layers
12 | final class LayerFontProvider {
13 |
14 | // MARK: Lifecycle
15 |
16 | init(fontProvider: AnimationFontProvider) {
17 | self.fontProvider = fontProvider
18 | textLayers = []
19 | reloadTexts()
20 | }
21 |
22 | // MARK: Internal
23 |
24 | private(set) var textLayers: [TextCompositionLayer]
25 |
26 | var fontProvider: AnimationFontProvider {
27 | didSet {
28 | reloadTexts()
29 | }
30 | }
31 |
32 | func addTextLayers(_ layers: [TextCompositionLayer]) {
33 | textLayers += layers
34 | }
35 |
36 | func reloadTexts() {
37 | textLayers.forEach {
38 | $0.fontProvider = fontProvider
39 | }
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/DemoApp/Pods/lottie-ios/Sources/Private/MainThread/LayerContainers/Utility/LayerTextProvider.swift:
--------------------------------------------------------------------------------
1 | //
2 | // LayerTextProvider.swift
3 | // lottie-ios-iOS
4 | //
5 | // Created by Alexandr Goncharov on 07/06/2019.
6 | //
7 |
8 | import Foundation
9 |
10 | /// Connects a LottieTextProvider to a group of text layers
11 | final class LayerTextProvider {
12 |
13 | // MARK: Lifecycle
14 |
15 | init(textProvider: AnimationTextProvider) {
16 | self.textProvider = textProvider
17 | textLayers = []
18 | reloadTexts()
19 | }
20 |
21 | // MARK: Internal
22 |
23 | private(set) var textLayers: [TextCompositionLayer]
24 |
25 | var textProvider: AnimationTextProvider {
26 | didSet {
27 | reloadTexts()
28 | }
29 | }
30 |
31 | func addTextLayers(_ layers: [TextCompositionLayer]) {
32 | textLayers += layers
33 | }
34 |
35 | func reloadTexts() {
36 | textLayers.forEach {
37 | $0.textProvider = textProvider
38 | }
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/DemoApp/Pods/lottie-ios/Sources/Private/MainThread/NodeRenderSystem/NodeProperties/Protocols/AnyValueContainer.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AnyValueContainer.swift
3 | // lottie-swift
4 | //
5 | // Created by Brandon Withrow on 1/30/19.
6 | //
7 |
8 | import CoreGraphics
9 | import Foundation
10 |
11 | /// The container for the value of a property.
12 | protocol AnyValueContainer: AnyObject {
13 |
14 | /// The stored value of the container
15 | var value: Any { get }
16 |
17 | /// Notifies the provider that it should update its container
18 | func setNeedsUpdate()
19 |
20 | /// When true the container needs to have its value updated by its provider
21 | var needsUpdate: Bool { get }
22 |
23 | /// The frame time of the last provided update
24 | var lastUpdateFrame: CGFloat { get }
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/DemoApp/Pods/lottie-ios/Sources/Private/MainThread/NodeRenderSystem/NodeProperties/Protocols/KeypathSearchable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // KeypathSettable.swift
3 | // lottie-swift
4 | //
5 | // Created by Brandon Withrow on 2/4/19.
6 | //
7 |
8 | import Foundation
9 | import QuartzCore
10 |
11 | /// Protocol that provides keypath search functionality. Returns all node properties associated with a keypath.
12 | protocol KeypathSearchable {
13 |
14 | /// The name of the Keypath
15 | var keypathName: String { get }
16 |
17 | /// A list of properties belonging to the keypath.
18 | var keypathProperties: [String: AnyNodeProperty] { get }
19 |
20 | /// Children Keypaths
21 | var childKeypaths: [KeypathSearchable] { get }
22 |
23 | var keypathLayer: CALayer? { get }
24 | }
25 |
--------------------------------------------------------------------------------
/DemoApp/Pods/lottie-ios/Sources/Private/MainThread/NodeRenderSystem/NodeProperties/ValueProviders/SingleValueProvider.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SingleValueProvider.swift
3 | // lottie-swift
4 | //
5 | // Created by Brandon Withrow on 1/30/19.
6 | //
7 |
8 | import Foundation
9 | import QuartzCore
10 |
11 | /// Returns a value for every frame.
12 | final class SingleValueProvider: ValueProvider {
13 |
14 | // MARK: Lifecycle
15 |
16 | init(_ value: ValueType) {
17 | self.value = value
18 | }
19 |
20 | // MARK: Internal
21 |
22 | var value: ValueType {
23 | didSet {
24 | hasUpdate = true
25 | }
26 | }
27 |
28 | var storage: ValueProviderStorage {
29 | .singleValue(value)
30 | }
31 |
32 | var valueType: Any.Type {
33 | ValueType.self
34 | }
35 |
36 | func hasUpdate(frame _: CGFloat) -> Bool {
37 | hasUpdate
38 | }
39 |
40 | // MARK: Private
41 |
42 | private var hasUpdate = true
43 | }
44 |
--------------------------------------------------------------------------------
/DemoApp/Pods/lottie-ios/Sources/Private/MainThread/NodeRenderSystem/Protocols/PathNode.swift:
--------------------------------------------------------------------------------
1 | //
2 | // PathNode.swift
3 | // lottie-swift
4 | //
5 | // Created by Brandon Withrow on 1/17/19.
6 | //
7 |
8 | import Foundation
9 |
10 | // MARK: - PathNode
11 |
12 | protocol PathNode {
13 | var pathOutput: PathOutputNode { get }
14 | }
15 |
16 | extension PathNode where Self: AnimatorNode {
17 |
18 | var outputNode: NodeOutput {
19 | pathOutput
20 | }
21 |
22 | }
23 |
--------------------------------------------------------------------------------
/DemoApp/Pods/lottie-ios/Sources/Private/Model/Objects/Marker.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Marker.swift
3 | // lottie-swift
4 | //
5 | // Created by Brandon Withrow on 1/9/19.
6 | //
7 |
8 | import Foundation
9 |
10 | /// A time marker
11 | final class Marker: Codable, DictionaryInitializable {
12 |
13 | // MARK: Lifecycle
14 |
15 | init(dictionary: [String: Any]) throws {
16 | name = try dictionary.value(for: CodingKeys.name)
17 | frameTime = try dictionary.value(for: CodingKeys.frameTime)
18 | }
19 |
20 | // MARK: Internal
21 |
22 | enum CodingKeys: String, CodingKey {
23 | case name = "cm"
24 | case frameTime = "tm"
25 | }
26 |
27 | /// The Marker Name
28 | let name: String
29 |
30 | /// The Frame time of the marker
31 | let frameTime: AnimationFrameTime
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/DemoApp/Pods/lottie-ios/Sources/Private/Utility/Debugging/AnimatorNodeDebugging.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AnimatorNodeDebugging.swift
3 | // lottie-swift
4 | //
5 | // Created by Brandon Withrow on 1/18/19.
6 | //
7 |
8 | import Foundation
9 |
10 | extension AnimatorNode {
11 |
12 | func printNodeTree() {
13 | parentNode?.printNodeTree()
14 | LottieLogger.shared.info(String(describing: type(of: self)))
15 |
16 | if let group = self as? GroupNode {
17 | LottieLogger.shared.info("* |Children")
18 | group.rootNode?.printNodeTree()
19 | LottieLogger.shared.info("*")
20 | } else {
21 | LottieLogger.shared.info("|")
22 | }
23 | }
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/DemoApp/Pods/lottie-ios/Sources/Private/Utility/Debugging/TestHelpers.swift:
--------------------------------------------------------------------------------
1 | // Created by Cal Stephens on 1/28/22.
2 | // Copyright © 2022 Airbnb Inc. All rights reserved.
3 |
4 | enum TestHelpers {
5 | /// Whether or not snapshot tests are currently running in a test target
6 | static var snapshotTestsAreRunning = false
7 |
8 | /// Whether or not performance tests are currently running in a test target
9 | static var performanceTestsAreRunning = false
10 | }
11 |
--------------------------------------------------------------------------------
/DemoApp/Pods/lottie-ios/Sources/Private/Utility/Extensions/CGColor+RGB.swift:
--------------------------------------------------------------------------------
1 | // Created by Cal Stephens on 1/7/22.
2 | // Copyright © 2022 Airbnb Inc. All rights reserved.
3 |
4 | import QuartzCore
5 |
6 | extension CGColor {
7 | /// Initializes a `CGColor` using the given `RGB` values
8 | static func rgb(_ red: CGFloat, _ green: CGFloat, _ blue: CGFloat) -> CGColor {
9 | if #available(iOS 13.0, tvOS 13.0, macOS 10.5, *) {
10 | return CGColor(red: red, green: green, blue: blue, alpha: 1)
11 | } else {
12 | return CGColor(
13 | colorSpace: CGColorSpaceCreateDeviceRGB(),
14 | components: [red, green, blue])!
15 | }
16 | }
17 |
18 | /// Initializes a `CGColor` using the given `RGBA` values
19 | static func rgba(_ red: CGFloat, _ green: CGFloat, _ blue: CGFloat, _ alpha: CGFloat) -> CGColor {
20 | CGColor.rgb(red, green, blue).copy(alpha: alpha)!
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/DemoApp/Pods/lottie-ios/Sources/Private/Utility/Extensions/DataExtension.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DataExtension.swift
3 | // Lottie
4 | //
5 | // Created by René Fouquet on 03.05.21.
6 | //
7 |
8 | import Foundation
9 | #if canImport(UIKit)
10 | import UIKit
11 | #elseif canImport(AppKit)
12 | import AppKit
13 | #endif
14 |
15 | extension Data {
16 |
17 | static func jsonData(from assetName: String, in bundle: Bundle) -> Data? {
18 | #if canImport(UIKit)
19 | return NSDataAsset(name: assetName, bundle: bundle)?.data
20 | #else
21 | if #available(macOS 10.11, *) {
22 | return NSDataAsset(name: assetName, bundle: bundle)?.data
23 | }
24 | return nil
25 | #endif
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/DemoApp/Pods/lottie-ios/Sources/Private/Utility/Primitives/CGPointExtension.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CGPointExtension.swift
3 | // Lottie
4 | //
5 | // Created by Marcelo Fabri on 5/5/22.
6 | //
7 |
8 | import CoreGraphics
9 |
10 | extension CGPoint: AnyInitializable {
11 |
12 | // MARK: Lifecycle
13 |
14 | init(value: Any) throws {
15 | if let dictionary = value as? [String: CGFloat] {
16 | let x: CGFloat = try dictionary.value(for: CodingKeys.x)
17 | let y: CGFloat = try dictionary.value(for: CodingKeys.y)
18 | self.init(x: x, y: y)
19 | } else if
20 | let array = value as? [CGFloat],
21 | array.count > 1
22 | {
23 | self.init(x: array[0], y: array[1])
24 | } else {
25 | throw InitializableError.invalidInput
26 | }
27 | }
28 |
29 | // MARK: Private
30 |
31 | private enum CodingKeys: String {
32 | case x
33 | case y
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/DemoApp/Pods/lottie-ios/Sources/Public/AnimationCache/AnimationCacheProvider.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AnimationCacheProvider.swift
3 | // lottie-swift
4 | //
5 | // Created by Brandon Withrow on 2/5/19.
6 | //
7 |
8 | import Foundation
9 | /// `AnimationCacheProvider` is a protocol that describes an Animation Cache.
10 | /// Animation Cache is used when loading `Animation` models. Using an Animation Cache
11 | /// can increase performance when loading an animation multiple times.
12 | ///
13 | /// Lottie comes with a prebuilt LRU Animation Cache.
14 | public protocol AnimationCacheProvider {
15 |
16 | func animation(forKey: String) -> Animation?
17 |
18 | func setAnimation(_ animation: Animation, forKey: String)
19 |
20 | func clearCache()
21 |
22 | }
23 |
--------------------------------------------------------------------------------
/DemoApp/Pods/lottie-ios/Sources/Public/FontProvider/AnimationFontProvider.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AnimationFontProvider.swift
3 | // Lottie
4 | //
5 | // Created by Brandon Withrow on 8/5/20.
6 | // Copyright © 2020 YurtvilleProds. All rights reserved.
7 | //
8 |
9 | import CoreGraphics
10 | import CoreText
11 | import Foundation
12 |
13 | // MARK: - AnimationFontProvider
14 |
15 | /// Font provider is a protocol that is used to supply fonts to `AnimationView`.
16 | ///
17 | public protocol AnimationFontProvider {
18 | func fontFor(family: String, size: CGFloat) -> CTFont?
19 | }
20 |
21 | // MARK: - DefaultFontProvider
22 |
23 | /// Default Font provider.
24 | public final class DefaultFontProvider: AnimationFontProvider {
25 |
26 | // MARK: Lifecycle
27 |
28 | public init() {}
29 |
30 | // MARK: Public
31 |
32 | public func fontFor(family: String, size: CGFloat) -> CTFont? {
33 | CTFontCreateWithName(family as CFString, size, nil)
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/DemoApp/Pods/lottie-ios/Sources/Public/ImageProvider/AnimationImageProvider.swift:
--------------------------------------------------------------------------------
1 | //
2 | // LottieImageProvider.swift
3 | // lottie-swift
4 | //
5 | // Created by Brandon Withrow on 1/25/19.
6 | //
7 |
8 | import CoreGraphics
9 | import Foundation
10 |
11 | /// Image provider is a protocol that is used to supply images to `AnimationView`.
12 | ///
13 | /// Some animations require a reference to an image. The image provider loads and
14 | /// provides those images to the `AnimationView`. Lottie includes a couple of
15 | /// prebuilt Image Providers that supply images from a Bundle, or from a FilePath.
16 | ///
17 | /// Additionally custom Image Providers can be made to load images from a URL,
18 | /// or to Cache images.
19 | public protocol AnimationImageProvider {
20 | func imageForAsset(asset: ImageAsset) -> CGImage?
21 | }
22 |
--------------------------------------------------------------------------------
/DemoApp/Pods/lottie-ios/Sources/Public/Primitives/AnimationTime.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AnimationTime.swift
3 | // lottie-swift-iOS
4 | //
5 | // Created by Brandon Withrow on 2/6/19.
6 | //
7 |
8 | import CoreGraphics
9 | import Foundation
10 |
11 | /// Defines animation time in Frames (Seconds * Framerate).
12 | public typealias AnimationFrameTime = CGFloat
13 |
14 | /// Defines animation time by a progress from 0 (beginning of the animation) to 1 (end of the animation)
15 | public typealias AnimationProgressTime = CGFloat
16 |
--------------------------------------------------------------------------------
/DemoApp/Pods/lottie-ios/Sources/Public/Primitives/Color.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Color.swift
3 | // lottie-swift
4 | //
5 | // Created by Brandon Withrow on 2/4/19.
6 | //
7 |
8 | import Foundation
9 |
10 | // MARK: - ColorFormatDenominator
11 |
12 | public enum ColorFormatDenominator: Hashable {
13 | case One
14 | case OneHundred
15 | case TwoFiftyFive
16 |
17 | var value: Double {
18 | switch self {
19 | case .One:
20 | return 1.0
21 | case .OneHundred:
22 | return 100.0
23 | case .TwoFiftyFive:
24 | return 255.0
25 | }
26 | }
27 | }
28 |
29 | // MARK: - Color
30 |
31 | public struct Color: Hashable {
32 |
33 | public var r: Double
34 | public var g: Double
35 | public var b: Double
36 | public var a: Double
37 |
38 | public init(r: Double, g: Double, b: Double, a: Double, denominator: ColorFormatDenominator = .One) {
39 | self.r = r / denominator.value
40 | self.g = g / denominator.value
41 | self.b = b / denominator.value
42 | self.a = a / denominator.value
43 | }
44 |
45 | }
46 |
--------------------------------------------------------------------------------
/DemoApp/Pods/lottie-ios/Sources/Public/Primitives/Vectors.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Vectors.swift
3 | // lottie-swift
4 | //
5 | // Created by Brandon Withrow on 2/4/19.
6 | //
7 |
8 | import Foundation
9 |
10 | // MARK: - Vector1D
11 |
12 | public struct Vector1D: Hashable {
13 |
14 | public init(_ value: Double) {
15 | self.value = value
16 | }
17 |
18 | public let value: Double
19 |
20 | }
21 |
22 | // MARK: - Vector3D
23 |
24 | /// A three dimensional vector.
25 | /// These vectors are encoded and decoded from [Double]
26 | public struct Vector3D: Hashable {
27 |
28 | public let x: Double
29 | public let y: Double
30 | public let z: Double
31 |
32 | public init(x: Double, y: Double, z: Double) {
33 | self.x = x
34 | self.y = y
35 | self.z = z
36 | }
37 |
38 | }
39 |
--------------------------------------------------------------------------------
/DemoApp/Pods/lottie-ios/Sources/Public/iOS/AnimationSubview.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AnimationSubview.swift
3 | // lottie-swift
4 | //
5 | // Created by Brandon Withrow on 2/4/19.
6 | //
7 |
8 | import Foundation
9 | #if os(iOS) || os(tvOS) || os(watchOS) || targetEnvironment(macCatalyst)
10 | import UIKit
11 |
12 | /// A view that can be added to a keypath of an AnimationView
13 | public final class AnimationSubview: UIView {
14 |
15 | var viewLayer: CALayer? {
16 | layer
17 | }
18 |
19 | }
20 | #endif
21 |
--------------------------------------------------------------------------------
/DemoApp/Pods/lottie-ios/Sources/Public/iOS/Compatibility/CompatibleAnimationKeypath.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CompatibleAnimationKeypath.swift
3 | // Lottie_iOS
4 | //
5 | // Created by Tyler Hedrick on 3/6/19.
6 | //
7 |
8 | import Foundation
9 | #if os(iOS) || os(tvOS) || os(watchOS) || targetEnvironment(macCatalyst)
10 |
11 | /// An Objective-C compatible wrapper around Lottie's AnimationKeypath
12 | @objc
13 | public final class CompatibleAnimationKeypath: NSObject {
14 |
15 | // MARK: Lifecycle
16 |
17 | /// Creates a keypath from a dot separated string. The string is separated by "."
18 | @objc
19 | public init(keypath: String) {
20 | animationKeypath = AnimationKeypath(keypath: keypath)
21 | }
22 |
23 | /// Creates a keypath from a list of strings.
24 | @objc
25 | public init(keys: [String]) {
26 | animationKeypath = AnimationKeypath(keys: keys)
27 | }
28 |
29 | // MARK: Public
30 |
31 | public let animationKeypath: AnimationKeypath
32 | }
33 | #endif
34 |
--------------------------------------------------------------------------------
/DemoApp/Pods/lottie-ios/Sources/Public/iOS/UIColorExtension.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIColorExtension.swift
3 | // lottie-swift
4 | //
5 | // Created by Brandon Withrow on 2/4/19.
6 | //
7 |
8 | import Foundation
9 | #if os(iOS) || os(tvOS) || os(watchOS) || targetEnvironment(macCatalyst)
10 | import UIKit
11 |
12 | extension UIColor {
13 |
14 | public var lottieColorValue: Color {
15 | var r: CGFloat = 0, g: CGFloat = 0, b: CGFloat = 0, a: CGFloat = 0
16 | getRed(&r, green: &g, blue: &b, alpha: &a)
17 | return Color(r: Double(r), g: Double(g), b: Double(b), a: Double(a))
18 | }
19 |
20 | }
21 | #endif
22 |
--------------------------------------------------------------------------------
/Docs/GeneratedDocsComponent/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | /.build
3 | /Packages
4 | /*.xcodeproj
5 | xcuserdata/
6 |
--------------------------------------------------------------------------------
/Docs/GeneratedDocsComponent/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Docs/GeneratedDocsComponent/README.md:
--------------------------------------------------------------------------------
1 | # generate_docs_component
2 |
3 | A description of this package.
4 |
--------------------------------------------------------------------------------
/Docs/README.md:
--------------------------------------------------------------------------------
1 | # *SensorDocs.app*
2 |
3 | The Sensor documentation is written in *SensorDocs.app*. *SensorDocs.app* is a [nef](https://nef.bow-swift.io/) playground.
4 |
5 | To build the dependencies of the playground, navigate to this folder on a command line and execute `nef compile --project SensorDocs.app`.
6 |
7 | After this, you can open *SensorDocs.app* and edit and execute the playground code.
8 |
9 | # GeneratedDocsComponent
10 |
11 | *GeneratedDocsComponent* is a swift command line tool that parses the *SensorDocs.app* playground and generates an HTML documentation that is saved in the *GeneratedDocs* folder.
--------------------------------------------------------------------------------
/Docs/SensorDocs.app/Contents/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | launcher
9 | CFBundleIconFile
10 | AppIcon
11 | CFBundleIconName
12 | AppIcon
13 | CFBundleIdentifier
14 | com.fortysevendeg.nef
15 | CFBundleInfoDictionaryVersion
16 | 6.0
17 | CFBundleSupportedPlatforms
18 |
19 | MacOSX
20 |
21 | LSApplicationCategoryType
22 | public.app-category.developer-tools
23 | LSMinimumSystemVersion
24 | 10.14
25 | NSHumanReadableCopyright
26 | Copyright © 2019 The nef Authors. All rights reserved.
27 |
28 |
29 |
--------------------------------------------------------------------------------
/Docs/SensorDocs.app/Contents/MacOS/.gitignore:
--------------------------------------------------------------------------------
1 | ## gitignore nef files
2 | **/build/
3 | **/nef/
4 | LICENSE
5 |
6 | ## User data
7 | **/xcuserdata/
8 | podfile.lock
9 | **.DS_Store
10 |
11 | ## Obj-C/Swift specific
12 | *.hmap
13 | *.ipa
14 | *.dSYM.zip
15 | *.dSYM
16 |
17 | ## CocoaPods
18 | **Pods**
19 |
20 | ## Carthage
21 | **Carthage**
22 |
23 | ## SPM
24 | .build
25 | .swiftpm
26 | swiftpm
27 |
--------------------------------------------------------------------------------
/Docs/SensorDocs.app/Contents/MacOS/Podfile:
--------------------------------------------------------------------------------
1 | target 'SensorDocs' do
2 | platform :osx, 10.14
3 | use_frameworks!
4 |
5 | pod "SensorV2", :path => "../../../../"
6 | end
7 |
--------------------------------------------------------------------------------
/Docs/SensorDocs.app/Contents/MacOS/SensorDocs.playground/contents.xcplayground:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Docs/SensorDocs.app/Contents/MacOS/SensorDocs.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Docs/SensorDocs.app/Contents/MacOS/SensorDocs.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
7 |
8 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/Docs/SensorDocs.app/Contents/MacOS/SensorDocs.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Docs/SensorDocs.app/Contents/MacOS/SensorDocs/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 | 1.0
19 | CFBundleVersion
20 | 1.0
21 | NSHumanReadableCopyright
22 | Copyright © 2019. The nef authors.
23 |
24 |
25 |
--------------------------------------------------------------------------------
/Docs/SensorDocs.app/Contents/MacOS/launcher:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | workspace="SensorDocs.xcworkspace"
4 | workspacePath=$(echo "$0" | rev | cut -f2- -d '/' | rev)
5 |
6 | open "`pwd`/$workspacePath/$workspace"
7 |
--------------------------------------------------------------------------------
/Docs/SensorDocs.app/Contents/Resources/AppIcon.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freenowtech/Sensor/644d5e0adea7e30b59809d7051645c8cc351606b/Docs/SensorDocs.app/Contents/Resources/AppIcon.icns
--------------------------------------------------------------------------------
/Docs/SensorDocs.app/Contents/Resources/Assets.car:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freenowtech/Sensor/644d5e0adea7e30b59809d7051645c8cc351606b/Docs/SensorDocs.app/Contents/Resources/Assets.car
--------------------------------------------------------------------------------
/Docs_old/RxFeedback/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freenowtech/Sensor/644d5e0adea7e30b59809d7051645c8cc351606b/Docs_old/RxFeedback/2.png
--------------------------------------------------------------------------------
/Docs_old/images/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freenowtech/Sensor/644d5e0adea7e30b59809d7051645c8cc351606b/Docs_old/images/1.png
--------------------------------------------------------------------------------
/Docs_old/images/3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freenowtech/Sensor/644d5e0adea7e30b59809d7051645c8cc351606b/Docs_old/images/3.png
--------------------------------------------------------------------------------
/Docs_old/images/4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freenowtech/Sensor/644d5e0adea7e30b59809d7051645c8cc351606b/Docs_old/images/4.png
--------------------------------------------------------------------------------
/Docs_old/images/5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freenowtech/Sensor/644d5e0adea7e30b59809d7051645c8cc351606b/Docs_old/images/5.png
--------------------------------------------------------------------------------
/Docs_old/images/Sensor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freenowtech/Sensor/644d5e0adea7e30b59809d7051645c8cc351606b/Docs_old/images/Sensor.png
--------------------------------------------------------------------------------
/Docs_old/images/SocialIcons/GitHub-Mark-32px.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freenowtech/Sensor/644d5e0adea7e30b59809d7051645c8cc351606b/Docs_old/images/SocialIcons/GitHub-Mark-32px.png
--------------------------------------------------------------------------------
/Docs_old/images/SocialIcons/Twitter_Social_Icon_Circle_Color.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freenowtech/Sensor/644d5e0adea7e30b59809d7051645c8cc351606b/Docs_old/images/SocialIcons/Twitter_Social_Icon_Circle_Color.png
--------------------------------------------------------------------------------
/Docs_old/images/store.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freenowtech/Sensor/644d5e0adea7e30b59809d7051645c8cc351606b/Docs_old/images/store.png
--------------------------------------------------------------------------------
/MAINTAINERS.md:
--------------------------------------------------------------------------------
1 | This file lists the active maintainers.
2 |
3 | - Stefan Bieschewski
4 | - Ferran Pujol
5 |
--------------------------------------------------------------------------------
/Package.resolved:
--------------------------------------------------------------------------------
1 | {
2 | "object": {
3 | "pins": [
4 | {
5 | "package": "RxFeedback",
6 | "repositoryURL": "https://github.com/NoTests/RxFeedback.swift.git",
7 | "state": {
8 | "branch": null,
9 | "revision": "cbd500b8dcf1ae72e8c09f26e8f7f5a03268b58d",
10 | "version": "3.0.0"
11 | }
12 | },
13 | {
14 | "package": "RxSwift",
15 | "repositoryURL": "https://github.com/ReactiveX/RxSwift.git",
16 | "state": {
17 | "branch": null,
18 | "revision": "002d325b0bdee94e7882e1114af5ff4fe1e96afa",
19 | "version": "5.1.1"
20 | }
21 | },
22 | {
23 | "package": "SnapshotTesting",
24 | "repositoryURL": "https://github.com/pointfreeco/swift-snapshot-testing.git",
25 | "state": {
26 | "branch": null,
27 | "revision": "114882386a815f4a2e6d8f2f7ee4857acd372438",
28 | "version": "1.7.2"
29 | }
30 | }
31 | ]
32 | },
33 | "version": 1
34 | }
35 |
--------------------------------------------------------------------------------
/Sensor.xcodeproj/RxCocoaRuntime_Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | CFBundleDevelopmentRegion
5 | en
6 | CFBundleExecutable
7 | $(EXECUTABLE_NAME)
8 | CFBundleIdentifier
9 | $(PRODUCT_BUNDLE_IDENTIFIER)
10 | CFBundleInfoDictionaryVersion
11 | 6.0
12 | CFBundleName
13 | $(PRODUCT_NAME)
14 | CFBundlePackageType
15 | FMWK
16 | CFBundleShortVersionString
17 | 1.0
18 | CFBundleSignature
19 | ????
20 | CFBundleVersion
21 | $(CURRENT_PROJECT_VERSION)
22 | NSPrincipalClass
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/Sensor.xcodeproj/RxCocoa_Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | CFBundleDevelopmentRegion
5 | en
6 | CFBundleExecutable
7 | $(EXECUTABLE_NAME)
8 | CFBundleIdentifier
9 | $(PRODUCT_BUNDLE_IDENTIFIER)
10 | CFBundleInfoDictionaryVersion
11 | 6.0
12 | CFBundleName
13 | $(PRODUCT_NAME)
14 | CFBundlePackageType
15 | FMWK
16 | CFBundleShortVersionString
17 | 1.0
18 | CFBundleSignature
19 | ????
20 | CFBundleVersion
21 | $(CURRENT_PROJECT_VERSION)
22 | NSPrincipalClass
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/Sensor.xcodeproj/RxFeedback_Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | CFBundleDevelopmentRegion
5 | en
6 | CFBundleExecutable
7 | $(EXECUTABLE_NAME)
8 | CFBundleIdentifier
9 | $(PRODUCT_BUNDLE_IDENTIFIER)
10 | CFBundleInfoDictionaryVersion
11 | 6.0
12 | CFBundleName
13 | $(PRODUCT_NAME)
14 | CFBundlePackageType
15 | FMWK
16 | CFBundleShortVersionString
17 | 1.0
18 | CFBundleSignature
19 | ????
20 | CFBundleVersion
21 | $(CURRENT_PROJECT_VERSION)
22 | NSPrincipalClass
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/Sensor.xcodeproj/RxRelay_Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | CFBundleDevelopmentRegion
5 | en
6 | CFBundleExecutable
7 | $(EXECUTABLE_NAME)
8 | CFBundleIdentifier
9 | $(PRODUCT_BUNDLE_IDENTIFIER)
10 | CFBundleInfoDictionaryVersion
11 | 6.0
12 | CFBundleName
13 | $(PRODUCT_NAME)
14 | CFBundlePackageType
15 | FMWK
16 | CFBundleShortVersionString
17 | 1.0
18 | CFBundleSignature
19 | ????
20 | CFBundleVersion
21 | $(CURRENT_PROJECT_VERSION)
22 | NSPrincipalClass
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/Sensor.xcodeproj/RxSwift_Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | CFBundleDevelopmentRegion
5 | en
6 | CFBundleExecutable
7 | $(EXECUTABLE_NAME)
8 | CFBundleIdentifier
9 | $(PRODUCT_BUNDLE_IDENTIFIER)
10 | CFBundleInfoDictionaryVersion
11 | 6.0
12 | CFBundleName
13 | $(PRODUCT_NAME)
14 | CFBundlePackageType
15 | FMWK
16 | CFBundleShortVersionString
17 | 1.0
18 | CFBundleSignature
19 | ????
20 | CFBundleVersion
21 | $(CURRENT_PROJECT_VERSION)
22 | NSPrincipalClass
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/Sensor.xcodeproj/RxTest_Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | CFBundleDevelopmentRegion
5 | en
6 | CFBundleExecutable
7 | $(EXECUTABLE_NAME)
8 | CFBundleIdentifier
9 | $(PRODUCT_BUNDLE_IDENTIFIER)
10 | CFBundleInfoDictionaryVersion
11 | 6.0
12 | CFBundleName
13 | $(PRODUCT_NAME)
14 | CFBundlePackageType
15 | FMWK
16 | CFBundleShortVersionString
17 | 1.0
18 | CFBundleSignature
19 | ????
20 | CFBundleVersion
21 | $(CURRENT_PROJECT_VERSION)
22 | NSPrincipalClass
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/Sensor.xcodeproj/SensorTestUnitTests_Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | CFBundleDevelopmentRegion
5 | en
6 | CFBundleExecutable
7 | $(EXECUTABLE_NAME)
8 | CFBundleIdentifier
9 | $(PRODUCT_BUNDLE_IDENTIFIER)
10 | CFBundleInfoDictionaryVersion
11 | 6.0
12 | CFBundleName
13 | $(PRODUCT_NAME)
14 | CFBundlePackageType
15 | BNDL
16 | CFBundleShortVersionString
17 | 1.0
18 | CFBundleSignature
19 | ????
20 | CFBundleVersion
21 | $(CURRENT_PROJECT_VERSION)
22 | NSPrincipalClass
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/Sensor.xcodeproj/SensorTest_Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | CFBundleDevelopmentRegion
5 | en
6 | CFBundleExecutable
7 | $(EXECUTABLE_NAME)
8 | CFBundleIdentifier
9 | $(PRODUCT_BUNDLE_IDENTIFIER)
10 | CFBundleInfoDictionaryVersion
11 | 6.0
12 | CFBundleName
13 | $(PRODUCT_NAME)
14 | CFBundlePackageType
15 | FMWK
16 | CFBundleShortVersionString
17 | 1.0
18 | CFBundleSignature
19 | ????
20 | CFBundleVersion
21 | $(CURRENT_PROJECT_VERSION)
22 | NSPrincipalClass
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/Sensor.xcodeproj/SensorUnitTests_Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | CFBundleDevelopmentRegion
5 | en
6 | CFBundleExecutable
7 | $(EXECUTABLE_NAME)
8 | CFBundleIdentifier
9 | $(PRODUCT_BUNDLE_IDENTIFIER)
10 | CFBundleInfoDictionaryVersion
11 | 6.0
12 | CFBundleName
13 | $(PRODUCT_NAME)
14 | CFBundlePackageType
15 | BNDL
16 | CFBundleShortVersionString
17 | 1.0
18 | CFBundleSignature
19 | ????
20 | CFBundleVersion
21 | $(CURRENT_PROJECT_VERSION)
22 | NSPrincipalClass
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/Sensor.xcodeproj/Sensor_Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | CFBundleDevelopmentRegion
5 | en
6 | CFBundleExecutable
7 | $(EXECUTABLE_NAME)
8 | CFBundleIdentifier
9 | $(PRODUCT_BUNDLE_IDENTIFIER)
10 | CFBundleInfoDictionaryVersion
11 | 6.0
12 | CFBundleName
13 | $(PRODUCT_NAME)
14 | CFBundlePackageType
15 | FMWK
16 | CFBundleShortVersionString
17 | 1.0
18 | CFBundleSignature
19 | ????
20 | CFBundleVersion
21 | $(CURRENT_PROJECT_VERSION)
22 | NSPrincipalClass
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/Sensor.xcodeproj/SnapshotTesting_Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | CFBundleDevelopmentRegion
5 | en
6 | CFBundleExecutable
7 | $(EXECUTABLE_NAME)
8 | CFBundleIdentifier
9 | $(PRODUCT_BUNDLE_IDENTIFIER)
10 | CFBundleInfoDictionaryVersion
11 | 6.0
12 | CFBundleName
13 | $(PRODUCT_NAME)
14 | CFBundlePackageType
15 | FMWK
16 | CFBundleShortVersionString
17 | 1.0
18 | CFBundleSignature
19 | ????
20 | CFBundleVersion
21 | $(CURRENT_PROJECT_VERSION)
22 | NSPrincipalClass
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/Sensor.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
--------------------------------------------------------------------------------
/Sensor.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Sensor.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Sensor/LinuxMain.swift:
--------------------------------------------------------------------------------
1 | import XCTest
2 |
3 | import SensorTestUnitTests
4 | import SensorUnitTests
5 |
6 | var tests = [XCTestCaseEntry]()
7 | tests += SensorTestUnitTests.__allTests()
8 | tests += SensorUnitTests.__allTests()
9 |
10 | XCTMain(tests)
11 |
--------------------------------------------------------------------------------
/Sensor/UnitTests/XCTestManifests.swift:
--------------------------------------------------------------------------------
1 | #if !canImport(ObjectiveC)
2 | import XCTest
3 |
4 | extension SingleStateStateMachineTests {
5 | // DO NOT MODIFY: This is autogenerated, use:
6 | // `swift test --generate-linuxmain`
7 | // to regenerate.
8 | static let __allTests__SingleStateStateMachineTests = [
9 | ("testCancelAllEffects", testCancelAllEffects),
10 | ("testEffectCanTriggerItself", testEffectCanTriggerItself),
11 | ("testSingleStateStateMachine", testSingleStateStateMachine),
12 | ("testTriggerEffectTwiceAtSameTime", testTriggerEffectTwiceAtSameTime),
13 | ]
14 | }
15 |
16 | public func __allTests() -> [XCTestCaseEntry] {
17 | return [
18 | testCase(SingleStateStateMachineTests.__allTests__SingleStateStateMachineTests),
19 | ]
20 | }
21 | #endif
22 |
--------------------------------------------------------------------------------
/SensorTest/Sources/Definition.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | public struct Definition {
4 | let timeline: String
5 | let values: [String: Value]
6 | let errors: [String: Error]
7 | let expectations: Expectations
8 |
9 | public init(timeline: String, values: [String: Value] = [:], errors: [String: Error] = [:], expectations: Expectations = [:]) {
10 | self.timeline = timeline
11 | self.values = values
12 | self.errors = errors
13 | self.expectations = expectations
14 | }
15 |
16 | public func map(_ transform: (Value) -> NewValue) -> Definition {
17 | return Definition(
18 | timeline: timeline,
19 | values: values.mapValues(transform),
20 | errors: errors,
21 | expectations: expectations)
22 | }
23 | }
24 |
--------------------------------------------------------------------------------