├── MovieApp
├── MovieApp.xcodeproj
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ └── IDEWorkspaceChecks.plist
├── MovieApp.xcworkspace
│ ├── contents.xcworkspacedata
│ ├── xcshareddata
│ │ └── IDEWorkspaceChecks.plist
│ └── xcuserdata
│ │ └── anshul.xcuserdatad
│ │ └── IDEFindNavigatorScopes.plist
├── MovieApp
│ ├── Application
│ │ ├── AppDelegate.swift
│ │ ├── AppDependency.swift
│ │ └── Info.plist
│ ├── Constants
│ │ ├── Colors.swift
│ │ ├── Constants.swift
│ │ ├── DateGeneric.swift
│ │ ├── Environment.swift
│ │ ├── Extension.swift
│ │ ├── Fonts.swift
│ │ ├── Parameters.swift
│ │ └── StringKeys.swift
│ ├── Coordinator
│ │ ├── AppCoordinator.swift
│ │ └── Coordinator.swift
│ ├── Extensions
│ │ ├── Dictionary+CamelCase.swift
│ │ ├── String+CamelCase.swift
│ │ ├── UIImageView+SDWebImage.swift
│ │ ├── UIStoryboard+Controllers.swift
│ │ ├── UIViewController+Navigation.swift
│ │ └── UIViewController+Reactive.swift
│ ├── Model
│ │ ├── CoreDataModel
│ │ │ ├── MovieDetails+CoreData.swift
│ │ │ └── Movies+CoreData.swift
│ │ ├── GetMovieDetailsResponse.swift
│ │ └── GetMovieResponse.swift
│ ├── MovieApp.xcdatamodeld
│ │ ├── .xccurrentversion
│ │ └── MovieApp.xcdatamodel
│ │ │ └── contents
│ ├── Networking
│ │ ├── API.swift
│ │ ├── APICallError.swift
│ │ ├── APIManager.swift
│ │ ├── APIResult.swift
│ │ └── APIRouter.swift
│ ├── Protocols
│ │ └── ViewController
│ │ │ ├── ActivityIndicatorViewable.swift
│ │ │ └── AlerteableViewController.swift
│ ├── Resources
│ │ ├── Assets.xcassets
│ │ │ ├── AppIcon.appiconset
│ │ │ │ └── Contents.json
│ │ │ ├── Contents.json
│ │ │ ├── backArrow.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── backArrow@2x.png
│ │ │ │ └── backArrow@3x.png
│ │ │ └── placeholder-image.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── placeholder-image@2x.png
│ │ │ │ └── placeholder-image@3x.png
│ │ ├── Base.lproj
│ │ │ ├── LaunchScreen.storyboard
│ │ │ └── Main.storyboard
│ │ └── Localizable
│ │ │ └── Localizable.strings
│ ├── Utility
│ │ ├── ActivityIndicator.swift
│ │ └── Logging.swift
│ ├── View
│ │ └── ViewController
│ │ │ ├── BaseViewController.swift
│ │ │ ├── MovieDetailsViewController.swift
│ │ │ └── MoviesListViewController.swift
│ └── ViewModel
│ │ ├── BaseViewModel.swift
│ │ ├── MovieDetailViewModel.swift
│ │ └── MoviesListViewModel.swift
├── Podfile
├── Podfile.lock
└── Pods
│ ├── Alamofire
│ ├── LICENSE
│ ├── README.md
│ └── Source
│ │ ├── AFError.swift
│ │ ├── Alamofire.swift
│ │ ├── DispatchQueue+Alamofire.swift
│ │ ├── MultipartFormData.swift
│ │ ├── NetworkReachabilityManager.swift
│ │ ├── Notifications.swift
│ │ ├── ParameterEncoding.swift
│ │ ├── Request.swift
│ │ ├── Response.swift
│ │ ├── ResponseSerialization.swift
│ │ ├── Result.swift
│ │ ├── ServerTrustPolicy.swift
│ │ ├── SessionDelegate.swift
│ │ ├── SessionManager.swift
│ │ ├── TaskDelegate.swift
│ │ ├── Timeline.swift
│ │ └── Validation.swift
│ ├── Differentiator
│ ├── LICENSE.md
│ ├── README.md
│ └── Sources
│ │ └── Differentiator
│ │ ├── AnimatableSectionModel.swift
│ │ ├── AnimatableSectionModelType+ItemPath.swift
│ │ ├── AnimatableSectionModelType.swift
│ │ ├── Changeset.swift
│ │ ├── Diff.swift
│ │ ├── IdentifiableType.swift
│ │ ├── IdentifiableValue.swift
│ │ ├── ItemPath.swift
│ │ ├── Optional+Extensions.swift
│ │ ├── SectionModel.swift
│ │ ├── SectionModelType.swift
│ │ └── Utilities.swift
│ ├── Kingfisher
│ ├── LICENSE
│ ├── README.md
│ └── Sources
│ │ ├── AnimatedImageView.swift
│ │ ├── Box.swift
│ │ ├── CacheSerializer.swift
│ │ ├── Filter.swift
│ │ ├── FormatIndicatedCacheSerializer.swift
│ │ ├── Image.swift
│ │ ├── ImageCache.swift
│ │ ├── ImageDownloader.swift
│ │ ├── ImageModifier.swift
│ │ ├── ImagePrefetcher.swift
│ │ ├── ImageProcessor.swift
│ │ ├── ImageTransition.swift
│ │ ├── ImageView+Kingfisher.swift
│ │ ├── Indicator.swift
│ │ ├── Kingfisher.h
│ │ ├── Kingfisher.swift
│ │ ├── KingfisherManager.swift
│ │ ├── KingfisherOptionsInfo.swift
│ │ ├── Placeholder.swift
│ │ ├── RequestModifier.swift
│ │ ├── Resource.swift
│ │ ├── String+MD5.swift
│ │ ├── ThreadHelper.swift
│ │ └── UIButton+Kingfisher.swift
│ ├── MBProgressHUD
│ ├── LICENSE
│ ├── MBProgressHUD.h
│ ├── MBProgressHUD.m
│ └── README.mdown
│ ├── Manifest.lock
│ ├── Pods.xcodeproj
│ ├── project.pbxproj
│ └── xcuserdata
│ │ └── anshul.xcuserdatad
│ │ └── xcschemes
│ │ ├── Alamofire.xcscheme
│ │ ├── Differentiator.xcscheme
│ │ ├── Kingfisher.xcscheme
│ │ ├── MBProgressHUD.xcscheme
│ │ ├── Pods-MovieApp.xcscheme
│ │ ├── RxAlamofire.xcscheme
│ │ ├── RxCocoa.xcscheme
│ │ ├── RxCoreData.xcscheme
│ │ ├── RxDataSources.xcscheme
│ │ ├── RxGesture.xcscheme
│ │ ├── RxRelay.xcscheme
│ │ ├── RxSwift.xcscheme
│ │ ├── SwiftMessages-SwiftMessages.xcscheme
│ │ └── SwiftMessages.xcscheme
│ ├── RxAlamofire
│ ├── LICENSE.md
│ ├── README.md
│ └── Sources
│ │ └── RxAlamofire.swift
│ ├── RxCocoa
│ ├── LICENSE.md
│ ├── Platform
│ │ ├── DataStructures
│ │ │ ├── Bag.swift
│ │ │ ├── InfiniteSequence.swift
│ │ │ ├── PriorityQueue.swift
│ │ │ └── Queue.swift
│ │ ├── DispatchQueue+Extensions.swift
│ │ ├── Platform.Darwin.swift
│ │ ├── Platform.Linux.swift
│ │ └── RecursiveLock.swift
│ ├── README.md
│ └── RxCocoa
│ │ ├── Common
│ │ ├── Binder.swift
│ │ ├── ControlTarget.swift
│ │ ├── DelegateProxy.swift
│ │ ├── DelegateProxyType.swift
│ │ ├── KeyPathBinder.swift
│ │ ├── NSLayoutConstraint+Rx.swift
│ │ ├── Observable+Bind.swift
│ │ ├── RxCocoaObjCRuntimeError+Extensions.swift
│ │ ├── RxTarget.swift
│ │ ├── SectionedViewDataSourceType.swift
│ │ └── TextInput.swift
│ │ ├── Deprecated.swift
│ │ ├── Foundation
│ │ ├── KVORepresentable+CoreGraphics.swift
│ │ ├── KVORepresentable+Swift.swift
│ │ ├── KVORepresentable.swift
│ │ ├── Logging.swift
│ │ ├── NSObject+Rx+KVORepresentable.swift
│ │ ├── NSObject+Rx+RawRepresentable.swift
│ │ ├── NSObject+Rx.swift
│ │ ├── NotificationCenter+Rx.swift
│ │ └── URLSession+Rx.swift
│ │ ├── Runtime
│ │ ├── _RX.m
│ │ ├── _RXDelegateProxy.m
│ │ ├── _RXKVOObserver.m
│ │ ├── _RXObjCRuntime.m
│ │ └── include
│ │ │ ├── RxCocoaRuntime.h
│ │ │ ├── _RX.h
│ │ │ ├── _RXDelegateProxy.h
│ │ │ ├── _RXKVOObserver.h
│ │ │ └── _RXObjCRuntime.h
│ │ ├── RxCocoa.h
│ │ ├── RxCocoa.swift
│ │ ├── Traits
│ │ ├── ControlEvent.swift
│ │ ├── ControlProperty.swift
│ │ ├── Driver
│ │ │ ├── BehaviorRelay+Driver.swift
│ │ │ ├── ControlEvent+Driver.swift
│ │ │ ├── ControlProperty+Driver.swift
│ │ │ ├── Driver+Subscription.swift
│ │ │ ├── Driver.swift
│ │ │ └── ObservableConvertibleType+Driver.swift
│ │ ├── SharedSequence
│ │ │ ├── ObservableConvertibleType+SharedSequence.swift
│ │ │ ├── SchedulerType+SharedSequence.swift
│ │ │ ├── SharedSequence+Operators+arity.swift
│ │ │ ├── SharedSequence+Operators.swift
│ │ │ └── SharedSequence.swift
│ │ └── Signal
│ │ │ ├── ControlEvent+Signal.swift
│ │ │ ├── ObservableConvertibleType+Signal.swift
│ │ │ ├── PublishRelay+Signal.swift
│ │ │ ├── Signal+Subscription.swift
│ │ │ └── Signal.swift
│ │ ├── iOS
│ │ ├── DataSources
│ │ │ ├── RxCollectionViewReactiveArrayDataSource.swift
│ │ │ ├── RxPickerViewAdapter.swift
│ │ │ └── RxTableViewReactiveArrayDataSource.swift
│ │ ├── Events
│ │ │ └── ItemEvents.swift
│ │ ├── NSTextStorage+Rx.swift
│ │ ├── Protocols
│ │ │ ├── RxCollectionViewDataSourceType.swift
│ │ │ ├── RxPickerViewDataSourceType.swift
│ │ │ └── RxTableViewDataSourceType.swift
│ │ ├── Proxies
│ │ │ ├── RxCollectionViewDataSourcePrefetchingProxy.swift
│ │ │ ├── RxCollectionViewDataSourceProxy.swift
│ │ │ ├── RxCollectionViewDelegateProxy.swift
│ │ │ ├── RxNavigationControllerDelegateProxy.swift
│ │ │ ├── RxPickerViewDataSourceProxy.swift
│ │ │ ├── RxPickerViewDelegateProxy.swift
│ │ │ ├── RxScrollViewDelegateProxy.swift
│ │ │ ├── RxSearchBarDelegateProxy.swift
│ │ │ ├── RxSearchControllerDelegateProxy.swift
│ │ │ ├── RxTabBarControllerDelegateProxy.swift
│ │ │ ├── RxTabBarDelegateProxy.swift
│ │ │ ├── RxTableViewDataSourcePrefetchingProxy.swift
│ │ │ ├── RxTableViewDataSourceProxy.swift
│ │ │ ├── RxTableViewDelegateProxy.swift
│ │ │ ├── RxTextStorageDelegateProxy.swift
│ │ │ ├── RxTextViewDelegateProxy.swift
│ │ │ └── RxWebViewDelegateProxy.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
│ │ └── UIWebView+Rx.swift
│ │ └── macOS
│ │ ├── NSButton+Rx.swift
│ │ ├── NSControl+Rx.swift
│ │ ├── NSImageView+Rx.swift
│ │ ├── NSSlider+Rx.swift
│ │ ├── NSTextField+Rx.swift
│ │ ├── NSTextView+Rx.swift
│ │ └── NSView+Rx.swift
│ ├── RxCoreData
│ ├── LICENSE.md
│ ├── README.md
│ └── Sources
│ │ ├── FetchedResultsControllerControllerEntityObserver.swift
│ │ ├── FetchedResultsControllerSectionObserver.swift
│ │ ├── NSManagedObjectContext+Rx.swift
│ │ └── Persistable.swift
│ ├── RxDataSources
│ ├── LICENSE.md
│ ├── README.md
│ └── Sources
│ │ └── RxDataSources
│ │ ├── AnimationConfiguration.swift
│ │ ├── Array+Extensions.swift
│ │ ├── CollectionViewSectionedDataSource.swift
│ │ ├── DataSources.swift
│ │ ├── Deprecated.swift
│ │ ├── FloatingPointType+IdentifiableType.swift
│ │ ├── IntegerType+IdentifiableType.swift
│ │ ├── RxCollectionViewSectionedAnimatedDataSource.swift
│ │ ├── RxCollectionViewSectionedReloadDataSource.swift
│ │ ├── RxPickerViewAdapter.swift
│ │ ├── RxTableViewSectionedAnimatedDataSource.swift
│ │ ├── RxTableViewSectionedReloadDataSource.swift
│ │ ├── String+IdentifiableType.swift
│ │ ├── TableViewSectionedDataSource.swift
│ │ ├── UI+SectionedViewType.swift
│ │ └── ViewTransition.swift
│ ├── 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
│ │ └── String+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
│ ├── SwiftMessages
│ ├── LICENSE.md
│ ├── README.md
│ └── SwiftMessages
│ │ ├── AccessibleMessage.swift
│ │ ├── Animator.swift
│ │ ├── Array+Utils.swift
│ │ ├── BackgroundViewable.swift
│ │ ├── BaseView.swift
│ │ ├── Error.swift
│ │ ├── Identifiable.swift
│ │ ├── MarginAdjustable+Animation.swift
│ │ ├── MarginAdjustable.swift
│ │ ├── MaskingView.swift
│ │ ├── MessageView.swift
│ │ ├── NSBundle+Utils.swift
│ │ ├── PassthroughView.swift
│ │ ├── PassthroughWindow.swift
│ │ ├── PhysicsAnimation.swift
│ │ ├── PhysicsPanHandler.swift
│ │ ├── Presenter.swift
│ │ ├── Resources
│ │ ├── CardView.xib
│ │ ├── CenteredView.xib
│ │ ├── MessageView.xib
│ │ ├── MessageViewIOS8.xib
│ │ ├── StatusLine.xib
│ │ ├── TabView.xib
│ │ ├── errorIcon.png
│ │ ├── errorIcon@2x.png
│ │ ├── errorIcon@3x.png
│ │ ├── errorIconLight.png
│ │ ├── errorIconLight@2x.png
│ │ ├── errorIconLight@3x.png
│ │ ├── errorIconSubtle.png
│ │ ├── errorIconSubtle@2x.png
│ │ ├── errorIconSubtle@3x.png
│ │ ├── infoIcon.png
│ │ ├── infoIcon@2x.png
│ │ ├── infoIcon@3x.png
│ │ ├── infoIconLight.png
│ │ ├── infoIconLight@2x.png
│ │ ├── infoIconLight@3x.png
│ │ ├── infoIconSubtle.png
│ │ ├── infoIconSubtle@2x.png
│ │ ├── infoIconSubtle@3x.png
│ │ ├── successIcon.png
│ │ ├── successIcon@2x.png
│ │ ├── successIcon@3x.png
│ │ ├── successIconLight.png
│ │ ├── successIconLight@2x.png
│ │ ├── successIconLight@3x.png
│ │ ├── successIconSubtle.png
│ │ ├── successIconSubtle@2x.png
│ │ ├── successIconSubtle@3x.png
│ │ ├── warningIcon.png
│ │ ├── warningIcon@2x.png
│ │ ├── warningIcon@3x.png
│ │ ├── warningIconLight.png
│ │ ├── warningIconLight@2x.png
│ │ ├── warningIconLight@3x.png
│ │ ├── warningIconSubtle.png
│ │ ├── warningIconSubtle@2x.png
│ │ └── warningIconSubtle@3x.png
│ │ ├── SwiftMessages.swift
│ │ ├── Theme.swift
│ │ ├── TopBottomAnimation.swift
│ │ ├── UIEdgeInsets+Utils.swift
│ │ ├── UIViewController+Utils.swift
│ │ ├── Weak.swift
│ │ └── WindowViewController.swift
│ └── Target Support Files
│ ├── Alamofire
│ ├── Alamofire-Info.plist
│ ├── Alamofire-dummy.m
│ ├── Alamofire-prefix.pch
│ ├── Alamofire-umbrella.h
│ ├── Alamofire.modulemap
│ └── Alamofire.xcconfig
│ ├── Differentiator
│ ├── Differentiator-Info.plist
│ ├── Differentiator-dummy.m
│ ├── Differentiator-prefix.pch
│ ├── Differentiator-umbrella.h
│ ├── Differentiator.modulemap
│ └── Differentiator.xcconfig
│ ├── Kingfisher
│ ├── Kingfisher-Info.plist
│ ├── Kingfisher-dummy.m
│ ├── Kingfisher-prefix.pch
│ ├── Kingfisher-umbrella.h
│ ├── Kingfisher.modulemap
│ └── Kingfisher.xcconfig
│ ├── MBProgressHUD
│ ├── MBProgressHUD-Info.plist
│ ├── MBProgressHUD-dummy.m
│ ├── MBProgressHUD-prefix.pch
│ ├── MBProgressHUD-umbrella.h
│ ├── MBProgressHUD.modulemap
│ └── MBProgressHUD.xcconfig
│ ├── Pods-MovieApp
│ ├── Pods-MovieApp-Info.plist
│ ├── Pods-MovieApp-acknowledgements.markdown
│ ├── Pods-MovieApp-acknowledgements.plist
│ ├── Pods-MovieApp-dummy.m
│ ├── Pods-MovieApp-frameworks-Debug-input-files.xcfilelist
│ ├── Pods-MovieApp-frameworks-Debug-output-files.xcfilelist
│ ├── Pods-MovieApp-frameworks-Release-input-files.xcfilelist
│ ├── Pods-MovieApp-frameworks-Release-output-files.xcfilelist
│ ├── Pods-MovieApp-frameworks.sh
│ ├── Pods-MovieApp-umbrella.h
│ ├── Pods-MovieApp.debug.xcconfig
│ ├── Pods-MovieApp.modulemap
│ └── Pods-MovieApp.release.xcconfig
│ ├── RxAlamofire
│ ├── RxAlamofire-Info.plist
│ ├── RxAlamofire-dummy.m
│ ├── RxAlamofire-prefix.pch
│ ├── RxAlamofire-umbrella.h
│ ├── RxAlamofire.modulemap
│ └── RxAlamofire.xcconfig
│ ├── RxCocoa
│ ├── RxCocoa-Info.plist
│ ├── RxCocoa-dummy.m
│ ├── RxCocoa-prefix.pch
│ ├── RxCocoa-umbrella.h
│ ├── RxCocoa.modulemap
│ └── RxCocoa.xcconfig
│ ├── RxCoreData
│ ├── RxCoreData-Info.plist
│ ├── RxCoreData-dummy.m
│ ├── RxCoreData-prefix.pch
│ ├── RxCoreData-umbrella.h
│ ├── RxCoreData.modulemap
│ └── RxCoreData.xcconfig
│ ├── RxDataSources
│ ├── RxDataSources-Info.plist
│ ├── RxDataSources-dummy.m
│ ├── RxDataSources-prefix.pch
│ ├── RxDataSources-umbrella.h
│ ├── RxDataSources.modulemap
│ └── RxDataSources.xcconfig
│ ├── RxGesture
│ ├── RxGesture-Info.plist
│ ├── RxGesture-dummy.m
│ ├── RxGesture-prefix.pch
│ ├── RxGesture-umbrella.h
│ ├── RxGesture.modulemap
│ └── RxGesture.xcconfig
│ ├── RxRelay
│ ├── RxRelay-Info.plist
│ ├── RxRelay-dummy.m
│ ├── RxRelay-prefix.pch
│ ├── RxRelay-umbrella.h
│ ├── RxRelay.modulemap
│ └── RxRelay.xcconfig
│ ├── RxSwift
│ ├── RxSwift-Info.plist
│ ├── RxSwift-dummy.m
│ ├── RxSwift-prefix.pch
│ ├── RxSwift-umbrella.h
│ ├── RxSwift.modulemap
│ └── RxSwift.xcconfig
│ └── SwiftMessages
│ ├── ResourceBundle-SwiftMessages-SwiftMessages-Info.plist
│ ├── SwiftMessages-Info.plist
│ ├── SwiftMessages-dummy.m
│ ├── SwiftMessages-prefix.pch
│ ├── SwiftMessages-umbrella.h
│ ├── SwiftMessages.modulemap
│ └── SwiftMessages.xcconfig
├── README.md
└── Screenshots
├── details.png
└── list.png
/MovieApp/MovieApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/MovieApp/MovieApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/MovieApp/MovieApp.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/MovieApp/MovieApp.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/MovieApp/MovieApp.xcworkspace/xcuserdata/anshul.xcuserdatad/IDEFindNavigatorScopes.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/MovieApp/MovieApp/Application/AppDependency.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppDependency.swift
3 | // MovieApp
4 | //
5 | // Created by Anshul Shah on 12/11/18.
6 | // Copyright © 2018 Anshul Shah. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import UIKit
11 | import CoreData
12 |
13 | protocol HasWindow {
14 | var window: UIWindow { get }
15 | }
16 |
17 | protocol HasAPI {
18 | var api: API { get }
19 | }
20 |
21 | protocol HasCoreData {
22 | var managedObjectContext: NSManagedObjectContext {get}
23 | }
24 |
25 | class AppDependency: HasWindow, HasAPI, HasCoreData {
26 |
27 | let window: UIWindow
28 | let api: API
29 | let managedObjectContext: NSManagedObjectContext
30 |
31 | init(window: UIWindow, managedContext: NSManagedObjectContext) {
32 | self.window = window
33 | self.api = API.shared
34 | self.managedObjectContext = managedContext
35 | }
36 |
37 | }
38 |
39 |
--------------------------------------------------------------------------------
/MovieApp/MovieApp/Constants/Colors.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Colors.swift
3 | // MovieApp
4 | //
5 | // Created by Anshul Shah on 12/11/18.
6 | // Copyright © 2018 Anshul Shah. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import UIKit
11 |
12 | struct Colors {
13 |
14 | static let white: UIColor = UIColor.white
15 | static let red: UIColor = UIColor.red
16 | static let green: UIColor = UIColor.green
17 | static let blue: UIColor = UIColor.blue
18 | static let black: UIColor = UIColor.black
19 |
20 | //Define All colours here
21 | static let navigaitonColor = UIColor(red: 35/255.0, green:52/255.0, blue: 69/255.0, alpha: 1)
22 | static let settingViewBackground: UIColor = UIColor(hex: "#2B2B4E").withAlphaComponent(0.2)
23 |
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/MovieApp/MovieApp/Constants/Parameters.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Parameters.swift
3 | // MovieApp
4 | //
5 | // Created by Anshul Shah on 11/13/18.
6 | // Copyright © 2018 Anshul Shah. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | enum Params: String {
12 | case page
13 | case totalResults
14 | case totalPages
15 | case apiKey = "api_key"
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/MovieApp/MovieApp/Constants/StringKeys.swift:
--------------------------------------------------------------------------------
1 | //
2 | // StringKeys.swift
3 | // Zodiluv
4 | //
5 | // Created by Anshul Shah on 12/12/17.
6 | // Copyright © 2017 Anshul Shah. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | public enum Strings:String {
12 | case overview = "Overview"
13 | case genres = "Genres"
14 | case duration = "Duration"
15 | case releaseDate = "Release Date"
16 | case prodCompanies = "Production Companies"
17 | case prodBudget = "Production Budget"
18 | case revenue = "Revenue"
19 | case languages = "Languages"
20 | }
21 |
--------------------------------------------------------------------------------
/MovieApp/MovieApp/Extensions/Dictionary+CamelCase.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Dictionary+CamelCase.swift
3 | // MovieApp
4 | //
5 | // Created by Anshul Shah on 12/11/18.
6 | // Copyright © 2018 Anshul Shah. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 |
12 |
13 | extension Dictionary {
14 | // Tested against ["ab_dsfdsac_dsd_f":"ab_dsfdsac_dsd_f", "__abc_a":"__abc_a", "abc":["ab_dsfdsac_dsd_f":"ab_dsfdsac_dsd_f", "__abc_a":"__abc_a", "ABc_def_De":1, "bc_def_De":UIColor.blue]]
15 |
16 | /// Underscore Keys to lowerCamelCase keys recursively.
17 | var keysToCamelCase: Dictionary {
18 |
19 | let keys = Array(self.keys)
20 | let values = Array(self.values)
21 | var dict: Dictionary = [:]
22 |
23 | keys.enumerated().forEach { (index, key) in
24 |
25 | var value = values[index]
26 | var keyCamelCased:Key = key
27 |
28 | if let v = value as? Dictionary, let v1 = v.keysToCamelCase as? Value {
29 | value = v1
30 | }
31 |
32 | if let k = key as? String, let k1 = k.underscoreToCamelCase as? Key {
33 | keyCamelCased = k1
34 | }
35 |
36 | dict[keyCamelCased] = value
37 | }
38 |
39 | return dict
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/MovieApp/MovieApp/Extensions/UIImageView+SDWebImage.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIImageView+SDWebImage.swift
3 | // MovieApp
4 | //
5 | // Created by Anshul Shah on 11/13/18.
6 | // Copyright © 2018 Anshul Shah. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import Kingfisher
11 |
12 |
13 | extension UIImageView {
14 |
15 | public func downloadImageWithCaching(with url: String,placeholderImage: UIImage? = nil){
16 | if url == ""{
17 | self.image = placeholderImage
18 | return
19 | }
20 | guard let imageURL = URL.init(string: url) else{
21 | self.image = placeholderImage
22 | return
23 | }
24 | self.kf.setImage(with: imageURL, placeholder: placeholderImage, options: [.transition(.fade(0.1))], progressBlock: nil, completionHandler: { (image, error, cacheType, _url) in
25 | //self.image = image
26 | })
27 | }
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/MovieApp/MovieApp/Extensions/UIStoryboard+Controllers.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIStoryboard+Controllers.swift
3 | // MovieApp
4 | //
5 | // Created by Anshul Shah on 12/11/18.
6 | // Copyright © 2018 Anshul Shah. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import UIKit
11 |
12 | extension UIStoryboard {
13 |
14 | static var main: UIStoryboard {
15 | return UIStoryboard(name: "Main", bundle: nil)
16 | }
17 |
18 | }
19 |
20 |
21 | extension UIStoryboard {
22 |
23 | var moviesListViewController: MoviesListViewController {
24 | guard let viewController = instantiateViewController(withIdentifier: String(describing: MoviesListViewController.self)) as? MoviesListViewController else {
25 | fatalError(String(describing: MoviesListViewController.self) + "\(NSLocalizedString("couldn't be found in Storyboard file", comment: ""))")
26 | }
27 | return viewController
28 | }
29 |
30 | var movieDetailsViewController: MovieDetailsViewController {
31 | guard let viewController = instantiateViewController(withIdentifier: String(describing: MovieDetailsViewController.self)) as? MovieDetailsViewController else {
32 | fatalError(String(describing: MovieDetailsViewController.self) + "\(NSLocalizedString("couldn't be found in Storyboard file", comment: ""))")
33 | }
34 | return viewController
35 | }
36 |
37 | }
38 |
--------------------------------------------------------------------------------
/MovieApp/MovieApp/MovieApp.xcdatamodeld/.xccurrentversion:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | _XCCurrentVersionName
6 | MovieApp.xcdatamodel
7 |
8 |
9 |
--------------------------------------------------------------------------------
/MovieApp/MovieApp/Networking/APIManager.swift:
--------------------------------------------------------------------------------
1 | //
2 | // APIManager.swift
3 | // MovieApp
4 | //
5 | // Created by Anshul Shah on 12/11/18.
6 | // Copyright © 2018 Anshul Shah. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import RxSwift
11 | import Alamofire
12 | import RxAlamofire
13 |
14 |
15 | class APIManager {
16 |
17 | static let shared:APIManager = {
18 | let instance = APIManager()
19 | return instance
20 | }()
21 |
22 | let sessionManager:SessionManager
23 |
24 | private init() {
25 | let configuration = URLSessionConfiguration.default
26 | configuration.timeoutIntervalForRequest = 60
27 | configuration.urlCache = nil
28 | sessionManager = Alamofire.SessionManager(configuration: configuration)
29 | }
30 |
31 | func requestObservable(api:APIRouter) -> Observable {
32 | return sessionManager.rx.request(urlRequest: api)
33 | }
34 |
35 | }
36 |
--------------------------------------------------------------------------------
/MovieApp/MovieApp/Networking/APIResult.swift:
--------------------------------------------------------------------------------
1 | //
2 | // APIResult.swift
3 | // MovieApp
4 | //
5 | // Created by Anshul Shah on 12/11/18.
6 | // Copyright © 2018 Anshul Shah. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | enum APIResult {
12 |
13 | case success(value: Value)
14 |
15 | case failure(error: APICallError)
16 |
17 | // Remove it if not needed.
18 | init(_ f: () throws -> Value) {
19 | do {
20 | let value = try f()
21 | self = .success(value: value)
22 | } catch let error as APICallError {
23 | self = .failure(error: error)
24 | } catch let error {
25 | plog(error)
26 | self = .failure(error: APICallError(status: .failed))
27 | }
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/MovieApp/MovieApp/Resources/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/MovieApp/MovieApp/Resources/Assets.xcassets/backArrow.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "backArrow@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "backArrow@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/MovieApp/MovieApp/Resources/Assets.xcassets/backArrow.imageset/backArrow@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anshul18895/MVVMC-Demo/48d5f5ee10e5286df6deb45ccea403a07c562ede/MovieApp/MovieApp/Resources/Assets.xcassets/backArrow.imageset/backArrow@2x.png
--------------------------------------------------------------------------------
/MovieApp/MovieApp/Resources/Assets.xcassets/backArrow.imageset/backArrow@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anshul18895/MVVMC-Demo/48d5f5ee10e5286df6deb45ccea403a07c562ede/MovieApp/MovieApp/Resources/Assets.xcassets/backArrow.imageset/backArrow@3x.png
--------------------------------------------------------------------------------
/MovieApp/MovieApp/Resources/Assets.xcassets/placeholder-image.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "placeholder-image@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "placeholder-image@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/MovieApp/MovieApp/Resources/Assets.xcassets/placeholder-image.imageset/placeholder-image@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anshul18895/MVVMC-Demo/48d5f5ee10e5286df6deb45ccea403a07c562ede/MovieApp/MovieApp/Resources/Assets.xcassets/placeholder-image.imageset/placeholder-image@2x.png
--------------------------------------------------------------------------------
/MovieApp/MovieApp/Resources/Assets.xcassets/placeholder-image.imageset/placeholder-image@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anshul18895/MVVMC-Demo/48d5f5ee10e5286df6deb45ccea403a07c562ede/MovieApp/MovieApp/Resources/Assets.xcassets/placeholder-image.imageset/placeholder-image@3x.png
--------------------------------------------------------------------------------
/MovieApp/MovieApp/Resources/Localizable/Localizable.strings:
--------------------------------------------------------------------------------
1 | //
2 | // Localizable.strings
3 | // MovieApp
4 | //
5 | // Created by Anshul Shah on 12/11/18.
6 | // Copyright © 2018 Anshul Shah. All rights reserved.
7 | //
8 |
9 |
10 | "couldn't be found in Storyboard file" = "couldn't be found in Storyboard file";
11 | "Generic Error" = "Generic Error";
12 | "HTTP status code 403" = "HTTP status code 403";
13 | "Could not parse the json" = "Could not parse the json";
14 | "Unable to contact the server" = "Unable to contact the server";
15 | "Slow internet connection" = "Slow internet connection";
16 | "Unknown error" = "Unknown error";
17 | "Network error" = "Network error";
18 | "OK" = "OK";
19 |
20 | "Movie List" = "Movie List";
21 | "Minutes" = "Minutes";
22 |
--------------------------------------------------------------------------------
/MovieApp/MovieApp/View/ViewController/BaseViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // BaseViewController.swift
3 | // MovieApp
4 | //
5 | // Created by Anshul Shah on 12/11/18.
6 | // Copyright © 2018 Anshul Shah. All rights reserved.
7 | //
8 |
9 | import UIKit
10 | import RxSwift
11 | import RxCocoa
12 | import RxGesture
13 |
14 | class BaseViewController: UIViewController, AlerteableViewController, ActivityIndicatorViewable {
15 |
16 | let disposeBag = DisposeBag()
17 |
18 | override var preferredStatusBarStyle: UIStatusBarStyle {
19 | return .lightContent
20 | }
21 |
22 | override func viewDidLoad() {
23 | super.viewDidLoad()
24 | // Do any additional setup after loading the view, typically from a nib.
25 | }
26 |
27 | override func didReceiveMemoryWarning() {
28 | super.didReceiveMemoryWarning()
29 | // Dispose of any resources that can be recreated.
30 | }
31 |
32 |
33 | }
34 |
35 |
--------------------------------------------------------------------------------
/MovieApp/MovieApp/ViewModel/BaseViewModel.swift:
--------------------------------------------------------------------------------
1 | //
2 | // BaseViewModel.swift
3 | // MovieApp
4 | //
5 | // Created by Anshul Shah on 12/11/18.
6 | // Copyright © 2018 Anshul Shah. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import RxSwift
11 | import RxCocoa
12 | import SwiftMessages
13 |
14 | class BaseViewModel {
15 |
16 | // Dispose Bag
17 | let disposeBag = DisposeBag()
18 | let alert = PublishSubject<(String, Theme)>()
19 | let alertDialog = PublishSubject<(String,String)>()
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/MovieApp/Podfile:
--------------------------------------------------------------------------------
1 | # Uncomment the next line to define a global platform for your project
2 | # platform :ios, '11.0'
3 | use_frameworks!
4 |
5 | def shared_pods
6 |
7 | # Design
8 | pod 'RxSwift'
9 | pod 'RxCocoa'
10 | pod 'RxGesture'
11 |
12 | # Network
13 | pod 'Alamofire'
14 | pod 'RxAlamofire'
15 | pod 'Kingfisher', '~> 4.7.0'
16 |
17 | #CoreData
18 | pod 'RxCoreData'
19 | pod 'RxDataSources'
20 |
21 | #Alert
22 | pod 'SwiftMessages', '4.1.4'
23 |
24 | # Activity Indicator
25 | pod 'MBProgressHUD'
26 |
27 | end
28 |
29 | target 'MovieApp' do
30 | shared_pods
31 | end
32 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Alamofire/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2014 Alamofire Software Foundation (http://alamofire.org/)
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Differentiator/LICENSE.md:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2017 RxSwift Community
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Differentiator/Sources/Differentiator/AnimatableSectionModelType+ItemPath.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AnimatableSectionModelType+ItemPath.swift
3 | // RxDataSources
4 | //
5 | // Created by Krunoslav Zaher on 1/9/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | extension Array where Element: AnimatableSectionModelType {
12 | subscript(index: ItemPath) -> Element.Item {
13 | return self[index.sectionIndex].items[index.itemIndex]
14 | }
15 | }
--------------------------------------------------------------------------------
/MovieApp/Pods/Differentiator/Sources/Differentiator/AnimatableSectionModelType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AnimatableSectionModelType.swift
3 | // RxDataSources
4 | //
5 | // Created by Krunoslav Zaher on 1/6/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | public protocol AnimatableSectionModelType
12 | : SectionModelType
13 | , IdentifiableType where Item: IdentifiableType, Item: Equatable {
14 | }
15 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Differentiator/Sources/Differentiator/IdentifiableType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // IdentifiableType.swift
3 | // RxDataSources
4 | //
5 | // Created by Krunoslav Zaher on 1/6/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | public protocol IdentifiableType {
12 | associatedtype Identity: Hashable
13 |
14 | var identity : Identity { get }
15 | }
--------------------------------------------------------------------------------
/MovieApp/Pods/Differentiator/Sources/Differentiator/IdentifiableValue.swift:
--------------------------------------------------------------------------------
1 | //
2 | // IdentifiableValue.swift
3 | // RxDataSources
4 | //
5 | // Created by Krunoslav Zaher on 1/7/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | public struct IdentifiableValue {
12 | public let value: Value
13 | }
14 |
15 | extension IdentifiableValue
16 | : IdentifiableType {
17 |
18 | public typealias Identity = Value
19 |
20 | public var identity : Identity {
21 | return value
22 | }
23 | }
24 |
25 | extension IdentifiableValue
26 | : Equatable
27 | , CustomStringConvertible
28 | , CustomDebugStringConvertible {
29 |
30 | public var description: String {
31 | return "\(value)"
32 | }
33 |
34 | public var debugDescription: String {
35 | return "\(value)"
36 | }
37 | }
38 |
39 | public func == (lhs: IdentifiableValue, rhs: IdentifiableValue) -> Bool {
40 | return lhs.value == rhs.value
41 | }
42 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Differentiator/Sources/Differentiator/ItemPath.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ItemPath.swift
3 | // RxDataSources
4 | //
5 | // Created by Krunoslav Zaher on 1/9/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | public struct ItemPath {
12 | public let sectionIndex: Int
13 | public let itemIndex: Int
14 |
15 | public init(sectionIndex: Int, itemIndex: Int) {
16 | self.sectionIndex = sectionIndex
17 | self.itemIndex = itemIndex
18 | }
19 | }
20 |
21 | extension ItemPath : Equatable {
22 |
23 | }
24 |
25 | public func == (lhs: ItemPath, rhs: ItemPath) -> Bool {
26 | return lhs.sectionIndex == rhs.sectionIndex && lhs.itemIndex == rhs.itemIndex
27 | }
28 |
29 | extension ItemPath: Hashable {
30 |
31 | public func hash(into hasher: inout Hasher) {
32 | hasher.combine(sectionIndex.byteSwapped.hashValue)
33 | hasher.combine(itemIndex.hashValue)
34 | }
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Differentiator/Sources/Differentiator/Optional+Extensions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Optional+Extensions.swift
3 | // RxDataSources
4 | //
5 | // Created by Krunoslav Zaher on 1/8/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | extension Optional {
12 | func unwrap() throws -> Wrapped {
13 | if let unwrapped = self {
14 | return unwrapped
15 | }
16 | else {
17 | debugFatalError("Error during unwrapping optional")
18 | throw DifferentiatorError.unwrappingOptional
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Differentiator/Sources/Differentiator/SectionModel.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SectionModel.swift
3 | // RxDataSources
4 | //
5 | // Created by Krunoslav Zaher on 6/16/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | public struct SectionModel {
12 | public var model: Section
13 | public var items: [Item]
14 |
15 | public init(model: Section, items: [Item]) {
16 | self.model = model
17 | self.items = items
18 | }
19 | }
20 |
21 | extension SectionModel
22 | : SectionModelType {
23 | public typealias Identity = Section
24 | public typealias Item = ItemType
25 |
26 | public var identity: Section {
27 | return model
28 | }
29 | }
30 |
31 | extension SectionModel
32 | : CustomStringConvertible {
33 |
34 | public var description: String {
35 | return "\(self.model) > \(items)"
36 | }
37 | }
38 |
39 | extension SectionModel {
40 | public init(original: SectionModel, items: [Item]) {
41 | self.model = original.model
42 | self.items = items
43 | }
44 | }
45 |
46 | extension SectionModel
47 | : Equatable where Section: Equatable, ItemType: Equatable {
48 |
49 | public static func == (lhs: SectionModel, rhs: SectionModel) -> Bool {
50 | return lhs.model == rhs.model
51 | && lhs.items == rhs.items
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Differentiator/Sources/Differentiator/SectionModelType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SectionModelType.swift
3 | // RxDataSources
4 | //
5 | // Created by Krunoslav Zaher on 6/28/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | public protocol SectionModelType {
12 | associatedtype Item
13 |
14 | var items: [Item] { get }
15 |
16 | init(original: Self, items: [Item])
17 | }
--------------------------------------------------------------------------------
/MovieApp/Pods/Differentiator/Sources/Differentiator/Utilities.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Utilities.swift
3 | // RxDataSources
4 | //
5 | // Created by muukii on 8/2/17.
6 | // Copyright © 2017 kzaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | enum DifferentiatorError : Error {
12 | case unwrappingOptional
13 | case preconditionFailed(message: String)
14 | }
15 |
16 | func precondition(_ condition: Bool, _ message: @autoclosure() -> String) throws -> () {
17 | if condition {
18 | return
19 | }
20 | debugFatalError("Precondition failed")
21 |
22 | throw DifferentiatorError.preconditionFailed(message: message())
23 | }
24 |
25 | func debugFatalError(_ error: Error) {
26 | debugFatalError("\(error)")
27 | }
28 |
29 | func debugFatalError(_ message: String) {
30 | #if DEBUG
31 | fatalError(message)
32 | #else
33 | print(message)
34 | #endif
35 | }
36 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Kingfisher/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2018 Wei Wang
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
23 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Kingfisher/Sources/Box.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Box.swift
3 | // Kingfisher
4 | //
5 | // Created by Wei Wang on 2018/3/17.
6 | // Copyright (c) 2018 Wei Wang
7 | //
8 | // Permission is hereby granted, free of charge, to any person obtaining a copy
9 | // of this software and associated documentation files (the "Software"), to deal
10 | // in the Software without restriction, including without limitation the rights
11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | // copies of the Software, and to permit persons to whom the Software is
13 | // furnished to do so, subject to the following conditions:
14 | //
15 | // The above copyright notice and this permission notice shall be included in
16 | // all copies or substantial portions of the Software.
17 | //
18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | // THE SOFTWARE.
25 |
26 | import Foundation
27 |
28 | class Box {
29 | let value: T
30 |
31 | init(_ value: T) {
32 | self.value = value
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/MovieApp/Pods/MBProgressHUD/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright © 2009-2016 Matej Bukovinski
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
--------------------------------------------------------------------------------
/MovieApp/Pods/RxAlamofire/LICENSE.md:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2015 Junior B.
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in
13 | all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | THE SOFTWARE.
--------------------------------------------------------------------------------
/MovieApp/Pods/RxCocoa/LICENSE.md:
--------------------------------------------------------------------------------
1 | **The MIT License**
2 | **Copyright © 2015 Krunoslav Zaher**
3 | **All rights reserved.**
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6 |
7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8 |
9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/Pods/RxCocoa/Platform/Platform.Darwin.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Platform.Darwin.swift
3 | // Platform
4 | //
5 | // Created by Krunoslav Zaher on 12/29/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(macOS) || os(iOS) || os(tvOS) || os(watchOS)
10 |
11 | import Darwin
12 | import class Foundation.Thread
13 | import protocol Foundation.NSCopying
14 |
15 | extension Thread {
16 | static func setThreadLocalStorageValue(_ value: T?, forKey key: NSCopying) {
17 | let currentThread = Thread.current
18 | let threadDictionary = currentThread.threadDictionary
19 |
20 | if let newValue = value {
21 | threadDictionary[key] = newValue
22 | }
23 | else {
24 | threadDictionary[key] = nil
25 | }
26 | }
27 |
28 | static func getThreadLocalStorageValueForKey(_ key: NSCopying) -> T? {
29 | let currentThread = Thread.current
30 | let threadDictionary = currentThread.threadDictionary
31 |
32 | return threadDictionary[key] as? T
33 | }
34 | }
35 |
36 | #endif
37 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/Pods/RxCocoa/RxCocoa/Common/KeyPathBinder.swift:
--------------------------------------------------------------------------------
1 | //
2 | // KeyPathBinder.swift
3 | // RxCocoa
4 | //
5 | // Created by Ryo Aoyama on 2/7/18.
6 | // Copyright © 2018 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import RxSwift
10 |
11 | extension Reactive where Base: AnyObject {
12 |
13 | /// Bindable sink for arbitrary property using the given key path.
14 | /// Binding runs on the MainScheduler.
15 | ///
16 | /// - parameter keyPath: Key path to write to the property.
17 | public subscript(keyPath: ReferenceWritableKeyPath) -> Binder {
18 | return Binder(self.base) { base, value in
19 | base[keyPath: keyPath] = value
20 | }
21 | }
22 |
23 | /// Bindable sink for arbitrary property using the given key path.
24 | /// Binding runs on the specified scheduler.
25 | ///
26 | /// - parameter keyPath: Key path to write to the property.
27 | /// - parameter scheduler: Scheduler to run bindings on.
28 | public subscript(keyPath: ReferenceWritableKeyPath, on scheduler: ImmediateSchedulerType) -> Binder {
29 | return Binder(self.base, scheduler: scheduler) { base, value in
30 | base[keyPath: keyPath] = value
31 | }
32 | }
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 | import struct Foundation.URLRequest
10 |
11 | /// Simple logging settings for RxCocoa library.
12 | public struct Logging {
13 | public typealias LogURLRequest = (URLRequest) -> Bool
14 |
15 | /// Log URL requests to standard output in curl format.
16 | public static var URLRequests: LogURLRequest = { _ in
17 | #if DEBUG
18 | return true
19 | #else
20 | return false
21 | #endif
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/MovieApp/Pods/RxCocoa/RxCocoa/Foundation/NotificationCenter+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // NotificationCenter+Rx.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 5/2/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import class Foundation.NotificationCenter
10 | import struct Foundation.Notification
11 |
12 | import RxSwift
13 |
14 | extension Reactive where Base: NotificationCenter {
15 | /**
16 | Transforms notifications posted to notification center to observable sequence of notifications.
17 |
18 | - parameter name: Optional name used to filter notifications.
19 | - parameter object: Optional object used to filter notifications.
20 | - returns: Observable sequence of posted notifications.
21 | */
22 | public func notification(_ name: Notification.Name?, object: AnyObject? = nil) -> Observable {
23 | return Observable.create { [weak object] observer in
24 | let nsObserver = self.base.addObserver(forName: name, object: object, queue: nil) { notification in
25 | observer.on(.next(notification))
26 | }
27 |
28 | return Disposables.create {
29 | self.base.removeObserver(nsObserver)
30 | }
31 | }
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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[];
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/Pods/RxCocoa/RxCocoa/iOS/NSTextStorage+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // NSTextStorage+Rx.swift
3 | // RxCocoa
4 | //
5 | // Created by Segii Shulga on 12/30/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS) || os(tvOS)
10 | import RxSwift
11 | import UIKit
12 |
13 | extension Reactive where Base: NSTextStorage {
14 |
15 | /// Reactive wrapper for `delegate`.
16 | ///
17 | /// For more information take a look at `DelegateProxyType` protocol documentation.
18 | public var delegate: DelegateProxy {
19 | return RxTextStorageDelegateProxy.proxy(for: base)
20 | }
21 |
22 | /// Reactive wrapper for `delegate` message.
23 | public var didProcessEditingRangeChangeInLength: Observable<(editedMask: NSTextStorage.EditActions, editedRange: NSRange, delta: Int)> {
24 | return delegate
25 | .methodInvoked(#selector(NSTextStorageDelegate.textStorage(_:didProcessEditing:range:changeInLength:)))
26 | .map { a in
27 | let editedMask = NSTextStorage.EditActions(rawValue: try castOrThrow(UInt.self, a[1]) )
28 | let editedRange = try castOrThrow(NSValue.self, a[2]).rangeValue
29 | let delta = try castOrThrow(Int.self, a[3])
30 |
31 | return (editedMask, editedRange, delta)
32 | }
33 | }
34 | }
35 | #endif
36 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxNavigationControllerDelegateProxy.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RxNavigationControllerDelegateProxy.swift
3 | // RxCocoa
4 | //
5 | // Created by Diogo on 13/04/17.
6 | // Copyright © 2017 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS) || os(tvOS)
10 |
11 | import UIKit
12 | import RxSwift
13 |
14 | extension UINavigationController: HasDelegate {
15 | public typealias Delegate = UINavigationControllerDelegate
16 | }
17 |
18 | /// For more information take a look at `DelegateProxyType`.
19 | open class RxNavigationControllerDelegateProxy
20 | : DelegateProxy
21 | , DelegateProxyType
22 | , UINavigationControllerDelegate {
23 |
24 | /// Typed parent object.
25 | public weak private(set) var navigationController: UINavigationController?
26 |
27 | /// - parameter navigationController: Parent object for delegate proxy.
28 | public init(navigationController: ParentObject) {
29 | self.navigationController = navigationController
30 | super.init(parentObject: navigationController, delegateProxy: RxNavigationControllerDelegateProxy.self)
31 | }
32 |
33 | // Register known implementations
34 | public static func registerKnownImplementations() {
35 | self.register { RxNavigationControllerDelegateProxy(navigationController: $0) }
36 | }
37 | }
38 | #endif
39 |
--------------------------------------------------------------------------------
/MovieApp/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxPickerViewDelegateProxy.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RxPickerViewDelegateProxy.swift
3 | // RxCocoa
4 | //
5 | // Created by Segii Shulga on 5/12/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS)
10 |
11 | import RxSwift
12 | import UIKit
13 |
14 | extension UIPickerView: HasDelegate {
15 | public typealias Delegate = UIPickerViewDelegate
16 | }
17 |
18 | open class RxPickerViewDelegateProxy
19 | : DelegateProxy
20 | , DelegateProxyType
21 | , UIPickerViewDelegate {
22 |
23 | /// Typed parent object.
24 | public weak private(set) var pickerView: UIPickerView?
25 |
26 | /// - parameter pickerView: Parent object for delegate proxy.
27 | public init(pickerView: ParentObject) {
28 | self.pickerView = pickerView
29 | super.init(parentObject: pickerView, delegateProxy: RxPickerViewDelegateProxy.self)
30 | }
31 |
32 | // Register known implementationss
33 | public static func registerKnownImplementations() {
34 | self.register { RxPickerViewDelegateProxy(pickerView: $0) }
35 | }
36 | }
37 | #endif
38 |
--------------------------------------------------------------------------------
/MovieApp/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxSearchBarDelegateProxy.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RxSearchBarDelegateProxy.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 7/4/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS) || os(tvOS)
10 |
11 | import UIKit
12 | import RxSwift
13 |
14 | extension UISearchBar: HasDelegate {
15 | public typealias Delegate = UISearchBarDelegate
16 | }
17 |
18 | /// For more information take a look at `DelegateProxyType`.
19 | open class RxSearchBarDelegateProxy
20 | : DelegateProxy
21 | , DelegateProxyType
22 | , UISearchBarDelegate {
23 |
24 | /// Typed parent object.
25 | public weak private(set) var searchBar: UISearchBar?
26 |
27 | /// - parameter searchBar: Parent object for delegate proxy.
28 | public init(searchBar: ParentObject) {
29 | self.searchBar = searchBar
30 | super.init(parentObject: searchBar, delegateProxy: RxSearchBarDelegateProxy.self)
31 | }
32 |
33 | // Register known implementations
34 | public static func registerKnownImplementations() {
35 | self.register { RxSearchBarDelegateProxy(searchBar: $0) }
36 | }
37 | }
38 |
39 | #endif
40 |
--------------------------------------------------------------------------------
/MovieApp/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxSearchControllerDelegateProxy.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RxSearchControllerDelegateProxy.swift
3 | // RxCocoa
4 | //
5 | // Created by Segii Shulga on 3/17/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS)
10 |
11 | import RxSwift
12 | import UIKit
13 |
14 | extension UISearchController: HasDelegate {
15 | public typealias Delegate = UISearchControllerDelegate
16 | }
17 |
18 | /// For more information take a look at `DelegateProxyType`.
19 | @available(iOS 8.0, *)
20 | open class RxSearchControllerDelegateProxy
21 | : DelegateProxy
22 | , DelegateProxyType
23 | , UISearchControllerDelegate {
24 |
25 | /// Typed parent object.
26 | public weak private(set) var searchController: UISearchController?
27 |
28 | /// - parameter searchController: Parent object for delegate proxy.
29 | public init(searchController: UISearchController) {
30 | self.searchController = searchController
31 | super.init(parentObject: searchController, delegateProxy: RxSearchControllerDelegateProxy.self)
32 | }
33 |
34 | // Register known implementations
35 | public static func registerKnownImplementations() {
36 | self.register { RxSearchControllerDelegateProxy(searchController: $0) }
37 | }
38 | }
39 |
40 | #endif
41 |
--------------------------------------------------------------------------------
/MovieApp/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxTabBarControllerDelegateProxy.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RxTabBarControllerDelegateProxy.swift
3 | // RxCocoa
4 | //
5 | // Created by Yusuke Kita on 2016/12/07.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS) || os(tvOS)
10 |
11 | import UIKit
12 | import RxSwift
13 |
14 | extension UITabBarController: HasDelegate {
15 | public typealias Delegate = UITabBarControllerDelegate
16 | }
17 |
18 | /// For more information take a look at `DelegateProxyType`.
19 | open class RxTabBarControllerDelegateProxy
20 | : DelegateProxy
21 | , DelegateProxyType
22 | , UITabBarControllerDelegate {
23 |
24 | /// Typed parent object.
25 | public weak private(set) var tabBar: UITabBarController?
26 |
27 | /// - parameter tabBar: Parent object for delegate proxy.
28 | public init(tabBar: ParentObject) {
29 | self.tabBar = tabBar
30 | super.init(parentObject: tabBar, delegateProxy: RxTabBarControllerDelegateProxy.self)
31 | }
32 |
33 | // Register known implementations
34 | public static func registerKnownImplementations() {
35 | self.register { RxTabBarControllerDelegateProxy(tabBar: $0) }
36 | }
37 | }
38 |
39 | #endif
40 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxTextStorageDelegateProxy.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RxTextStorageDelegateProxy.swift
3 | // RxCocoa
4 | //
5 | // Created by Segii Shulga on 12/30/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS) || os(tvOS)
10 |
11 | import RxSwift
12 | import UIKit
13 |
14 | extension NSTextStorage: HasDelegate {
15 | public typealias Delegate = NSTextStorageDelegate
16 | }
17 |
18 | open class RxTextStorageDelegateProxy
19 | : DelegateProxy
20 | , DelegateProxyType
21 | , NSTextStorageDelegate {
22 |
23 | /// Typed parent object.
24 | public weak private(set) var textStorage: NSTextStorage?
25 |
26 | /// - parameter textStorage: Parent object for delegate proxy.
27 | public init(textStorage: NSTextStorage) {
28 | self.textStorage = textStorage
29 | super.init(parentObject: textStorage, delegateProxy: RxTextStorageDelegateProxy.self)
30 | }
31 |
32 | // Register known implementations
33 | public static func registerKnownImplementations() {
34 | self.register { RxTextStorageDelegateProxy(textStorage: $0) }
35 | }
36 | }
37 | #endif
38 |
--------------------------------------------------------------------------------
/MovieApp/Pods/RxCocoa/RxCocoa/iOS/Proxies/RxWebViewDelegateProxy.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RxWebViewDelegateProxy.swift
3 | // RxCocoa
4 | //
5 | // Created by Andrew Breckenridge on 9/26/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 UIWebView: HasDelegate {
15 | public typealias Delegate = UIWebViewDelegate
16 | }
17 |
18 | open class RxWebViewDelegateProxy
19 | : DelegateProxy
20 | , DelegateProxyType
21 | , UIWebViewDelegate {
22 |
23 | /// Typed parent object.
24 | public weak private(set) var webView: UIWebView?
25 |
26 | /// - parameter webView: Parent object for delegate proxy.
27 | public init(webView: ParentObject) {
28 | self.webView = webView
29 | super.init(parentObject: webView, delegateProxy: RxWebViewDelegateProxy.self)
30 | }
31 |
32 | // Register known implementations
33 | public static func registerKnownImplementations() {
34 | self.register { RxWebViewDelegateProxy(webView: $0) }
35 | }
36 | }
37 |
38 | #endif
39 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/Pods/RxCocoa/RxCocoa/iOS/UIDatePicker+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIDatePicker+Rx.swift
3 | // RxCocoa
4 | //
5 | // Created by Daniel Tartaglia on 5/31/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS)
10 |
11 | import RxSwift
12 | import UIKit
13 |
14 | extension Reactive where Base: UIDatePicker {
15 | /// Reactive wrapper for `date` property.
16 | public var date: ControlProperty {
17 | return value
18 | }
19 |
20 | /// Reactive wrapper for `date` property.
21 | public var value: ControlProperty {
22 | return base.rx.controlPropertyWithDefaultEvents(
23 | getter: { datePicker in
24 | datePicker.date
25 | }, setter: { datePicker, value in
26 | datePicker.date = value
27 | }
28 | )
29 | }
30 |
31 | /// Reactive wrapper for `countDownDuration` property.
32 | public var countDownDuration: ControlProperty {
33 | return base.rx.controlPropertyWithDefaultEvents(
34 | getter: { datePicker in
35 | datePicker.countDownDuration
36 | }, setter: { datePicker, value in
37 | datePicker.countDownDuration = value
38 | }
39 | )
40 | }
41 | }
42 |
43 | #endif
44 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/Pods/RxCocoa/RxCocoa/iOS/UISwitch+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UISwitch+Rx.swift
3 | // RxCocoa
4 | //
5 | // Created by Carlos García on 8/7/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS)
10 |
11 | import UIKit
12 | import RxSwift
13 |
14 | extension Reactive where Base: UISwitch {
15 |
16 | /// Reactive wrapper for `isOn` property.
17 | public var isOn: ControlProperty {
18 | return value
19 | }
20 |
21 | /// Reactive wrapper for `isOn` property.
22 | ///
23 | /// ⚠️ Versions prior to iOS 10.2 were leaking `UISwitch`'s, so on those versions
24 | /// underlying observable sequence won't complete when nothing holds a strong reference
25 | /// to `UISwitch`.
26 | public var value: ControlProperty {
27 | return base.rx.controlPropertyWithDefaultEvents(
28 | getter: { uiSwitch in
29 | uiSwitch.isOn
30 | }, setter: { uiSwitch, value in
31 | uiSwitch.isOn = value
32 | }
33 | )
34 | }
35 |
36 | }
37 |
38 | #endif
39 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/Pods/RxCocoa/RxCocoa/iOS/UIView+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIView+Rx.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 12/6/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS) || os(tvOS)
10 |
11 | import UIKit
12 | import RxSwift
13 |
14 | extension Reactive where Base: UIView {
15 | /// Bindable sink for `hidden` property.
16 | public var isHidden: Binder {
17 | return Binder(self.base) { view, hidden in
18 | view.isHidden = hidden
19 | }
20 | }
21 |
22 | /// Bindable sink for `alpha` property.
23 | public var alpha: Binder {
24 | return Binder(self.base) { view, alpha in
25 | view.alpha = alpha
26 | }
27 | }
28 |
29 | /// Bindable sink for `backgroundColor` property.
30 | public var backgroundColor: Binder {
31 | return Binder(self.base) { view, color in
32 | view.backgroundColor = color
33 | }
34 | }
35 |
36 | /// Bindable sink for `isUserInteractionEnabled` property.
37 | public var isUserInteractionEnabled: Binder {
38 | return Binder(self.base) { view, userInteractionEnabled in
39 | view.isUserInteractionEnabled = userInteractionEnabled
40 | }
41 | }
42 |
43 | }
44 |
45 | #endif
46 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 in
20 | return control.doubleValue
21 | },
22 | setter: { control, value in
23 | control.doubleValue = value
24 | }
25 | )
26 | }
27 |
28 | }
29 |
30 | #endif
31 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/Pods/RxCoreData/LICENSE.md:
--------------------------------------------------------------------------------
1 | Copyright (c) 2016 Scott Gardner
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/MovieApp/Pods/RxCoreData/README.md:
--------------------------------------------------------------------------------
1 | # RxCoreData
2 |
3 | [](https://travis-ci.org/RxSwiftCommunity/RxCoreData)
4 | [](http://cocoapods.org/pods/RxCoreData)
5 | [](http://cocoapods.org/pods/RxCoreData)
6 | [](http://cocoapods.org/pods/RxCoreData)
7 |
8 | ## Example
9 |
10 | To run the example project, clone the repo, and run `pod install` from the Example directory first.
11 |
12 | ## Requirements
13 |
14 | * Xcode 9.0
15 | * Swift 4.0
16 |
17 | ## Installation
18 |
19 | RxCoreData is available through [CocoaPods](http://cocoapods.org). To install
20 | it, simply add the following line to your Podfile:
21 |
22 | ```ruby
23 | pod "RxCoreData", "~> 0.5.1"
24 | ```
25 |
26 | ## Author
27 |
28 | Scott Gardner, scott.gardner@mac.com
29 |
30 | ## License
31 |
32 | RxCoreData is available under the MIT license. See the LICENSE file for more info.
33 |
--------------------------------------------------------------------------------
/MovieApp/Pods/RxCoreData/Sources/FetchedResultsControllerSectionObserver.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | import CoreData
3 | import RxSwift
4 |
5 | public final class FetchedResultsControllerSectionObserver : NSObject, NSFetchedResultsControllerDelegate {
6 |
7 | typealias Observer = AnyObserver<[NSFetchedResultsSectionInfo]>
8 |
9 | private let observer: Observer
10 | private let frc: NSFetchedResultsController
11 |
12 | init(observer: Observer, frc: NSFetchedResultsController) {
13 | self.observer = observer
14 | self.frc = frc
15 |
16 | super.init()
17 |
18 | self.frc.delegate = self
19 |
20 | do {
21 | try self.frc.performFetch()
22 | } catch let e {
23 | observer.on(.error(e))
24 | }
25 |
26 | sendNextElement()
27 | }
28 |
29 | private func sendNextElement() {
30 | let sections = self.frc.sections ?? []
31 | observer.on(.next(sections))
32 | }
33 |
34 | public func controllerDidChangeContent(_ controller: NSFetchedResultsController) {
35 | sendNextElement()
36 | }
37 |
38 | public func dispose() {
39 | frc.delegate = nil
40 | }
41 | }
42 |
43 | extension FetchedResultsControllerSectionObserver : Disposable { }
44 |
--------------------------------------------------------------------------------
/MovieApp/Pods/RxCoreData/Sources/Persistable.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | import CoreData
3 |
4 | public protocol Persistable {
5 | associatedtype T: NSManagedObject
6 |
7 | static var entityName: String { get }
8 |
9 | /// The attribute name to be used to uniquely identify each instance.
10 | static var primaryAttributeName: String { get }
11 |
12 | var identity: String { get }
13 |
14 | init(entity: T)
15 |
16 | func update(_ entity: T)
17 |
18 | /* predicate to uniquely identify the record, such as: NSPredicate(format: "code == '\(code)'") */
19 | func predicate() -> NSPredicate
20 |
21 | }
22 |
23 | public extension Persistable {
24 |
25 | func predicate() -> NSPredicate {
26 | return NSPredicate(format: "%K = %@", Self.primaryAttributeName, self.identity)
27 | }
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/MovieApp/Pods/RxDataSources/LICENSE.md:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2017 RxSwift Community
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/MovieApp/Pods/RxDataSources/Sources/RxDataSources/AnimationConfiguration.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AnimationConfiguration.swift
3 | // RxDataSources
4 | //
5 | // Created by Esteban Torres on 5/2/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS) || os(tvOS)
10 | import Foundation
11 | import UIKit
12 |
13 | /**
14 | Exposes custom animation styles for insertion, deletion and reloading behavior.
15 | */
16 | public struct AnimationConfiguration {
17 | public let insertAnimation: UITableView.RowAnimation
18 | public let reloadAnimation: UITableView.RowAnimation
19 | public let deleteAnimation: UITableView.RowAnimation
20 |
21 | public init(insertAnimation: UITableView.RowAnimation = .automatic,
22 | reloadAnimation: UITableView.RowAnimation = .automatic,
23 | deleteAnimation: UITableView.RowAnimation = .automatic) {
24 | self.insertAnimation = insertAnimation
25 | self.reloadAnimation = reloadAnimation
26 | self.deleteAnimation = deleteAnimation
27 | }
28 | }
29 | #endif
30 |
--------------------------------------------------------------------------------
/MovieApp/Pods/RxDataSources/Sources/RxDataSources/Array+Extensions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Array+Extensions.swift
3 | // RxDataSources
4 | //
5 | // Created by Krunoslav Zaher on 4/26/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS) || os(tvOS)
10 | import Foundation
11 |
12 | extension Array where Element: SectionModelType {
13 | mutating func moveFromSourceIndexPath(_ sourceIndexPath: IndexPath, destinationIndexPath: IndexPath) {
14 | let sourceSection = self[sourceIndexPath.section]
15 | var sourceItems = sourceSection.items
16 |
17 | let sourceItem = sourceItems.remove(at: sourceIndexPath.item)
18 |
19 | let sourceSectionNew = Element(original: sourceSection, items: sourceItems)
20 | self[sourceIndexPath.section] = sourceSectionNew
21 |
22 | let destinationSection = self[destinationIndexPath.section]
23 | var destinationItems = destinationSection.items
24 | destinationItems.insert(sourceItem, at: destinationIndexPath.item)
25 |
26 | self[destinationIndexPath.section] = Element(original: destinationSection, items: destinationItems)
27 | }
28 | }
29 | #endif
30 |
--------------------------------------------------------------------------------
/MovieApp/Pods/RxDataSources/Sources/RxDataSources/DataSources.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DataSources.swift
3 | // RxDataSources
4 | //
5 | // Created by Krunoslav Zaher on 1/8/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | @_exported import Differentiator
12 |
13 | enum RxDataSourceError : Error {
14 | case preconditionFailed(message: String)
15 | }
16 |
17 | func rxPrecondition(_ condition: Bool, _ message: @autoclosure() -> String) throws -> () {
18 | if condition {
19 | return
20 | }
21 | rxDebugFatalError("Precondition failed")
22 |
23 | throw RxDataSourceError.preconditionFailed(message: message())
24 | }
25 |
26 | func rxDebugFatalError(_ error: Error) {
27 | rxDebugFatalError("\(error)")
28 | }
29 |
30 | func rxDebugFatalError(_ message: String) {
31 | #if DEBUG
32 | fatalError(message)
33 | #else
34 | print(message)
35 | #endif
36 | }
37 |
--------------------------------------------------------------------------------
/MovieApp/Pods/RxDataSources/Sources/RxDataSources/Deprecated.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Deprecated.swift
3 | // RxDataSources
4 | //
5 | // Created by Krunoslav Zaher on 10/8/17.
6 | // Copyright © 2017 kzaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS) || os(tvOS)
10 | extension CollectionViewSectionedDataSource {
11 | @available(*, deprecated, renamed: "configureSupplementaryView")
12 | public var supplementaryViewFactory: ConfigureSupplementaryView? {
13 | get {
14 | return self.configureSupplementaryView
15 | }
16 | set {
17 | self.configureSupplementaryView = newValue
18 | }
19 | }
20 | }
21 | #endif
22 |
--------------------------------------------------------------------------------
/MovieApp/Pods/RxDataSources/Sources/RxDataSources/FloatingPointType+IdentifiableType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // FloatingPointType+IdentifiableType.swift
3 | // RxDataSources
4 | //
5 | // Created by Krunoslav Zaher on 7/4/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | extension FloatingPoint {
12 | typealias identity = Self
13 |
14 | public var identity: Self {
15 | return self
16 | }
17 | }
18 |
19 | extension Float : IdentifiableType {
20 |
21 | }
22 |
23 | extension Double : IdentifiableType {
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/MovieApp/Pods/RxDataSources/Sources/RxDataSources/IntegerType+IdentifiableType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // IntegerType+IdentifiableType.swift
3 | // RxDataSources
4 | //
5 | // Created by Krunoslav Zaher on 7/4/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | extension BinaryInteger {
12 | typealias identity = Self
13 |
14 | public var identity: Self {
15 | return self
16 | }
17 | }
18 |
19 | extension Int : IdentifiableType {
20 |
21 | }
22 |
23 | extension Int8 : IdentifiableType {
24 |
25 | }
26 |
27 | extension Int16 : IdentifiableType {
28 |
29 | }
30 |
31 | extension Int32 : IdentifiableType {
32 |
33 | }
34 |
35 | extension Int64 : IdentifiableType {
36 |
37 | }
38 |
39 |
40 | extension UInt : IdentifiableType {
41 |
42 | }
43 |
44 | extension UInt8 : IdentifiableType {
45 |
46 | }
47 |
48 | extension UInt16 : IdentifiableType {
49 |
50 | }
51 |
52 | extension UInt32 : IdentifiableType {
53 |
54 | }
55 |
56 | extension UInt64 : IdentifiableType {
57 |
58 | }
59 |
60 |
--------------------------------------------------------------------------------
/MovieApp/Pods/RxDataSources/Sources/RxDataSources/RxCollectionViewSectionedReloadDataSource.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RxCollectionViewSectionedReloadDataSource.swift
3 | // RxExample
4 | //
5 | // Created by Krunoslav Zaher on 7/2/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS) || os(tvOS)
10 | import Foundation
11 | import UIKit
12 | #if !RX_NO_MODULE
13 | import RxSwift
14 | import RxCocoa
15 | #endif
16 | import Differentiator
17 |
18 | open class RxCollectionViewSectionedReloadDataSource
19 | : CollectionViewSectionedDataSource
20 | , RxCollectionViewDataSourceType {
21 |
22 | public typealias Element = [Section]
23 |
24 | open func collectionView(_ collectionView: UICollectionView, observedEvent: Event) {
25 | Binder(self) { dataSource, element in
26 | #if DEBUG
27 | dataSource._dataSourceBound = true
28 | #endif
29 | dataSource.setSections(element)
30 | collectionView.reloadData()
31 | collectionView.collectionViewLayout.invalidateLayout()
32 | }.on(observedEvent)
33 | }
34 | }
35 | #endif
36 |
--------------------------------------------------------------------------------
/MovieApp/Pods/RxDataSources/Sources/RxDataSources/RxTableViewSectionedReloadDataSource.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RxTableViewSectionedReloadDataSource.swift
3 | // RxExample
4 | //
5 | // Created by Krunoslav Zaher on 6/27/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(iOS) || os(tvOS)
10 | import Foundation
11 | import UIKit
12 | #if !RX_NO_MODULE
13 | import RxSwift
14 | import RxCocoa
15 | #endif
16 | import Differentiator
17 |
18 | open class RxTableViewSectionedReloadDataSource
19 | : TableViewSectionedDataSource
20 | , RxTableViewDataSourceType {
21 | public typealias Element = [Section]
22 |
23 | open func tableView(_ tableView: UITableView, observedEvent: Event) {
24 | Binder(self) { dataSource, element in
25 | #if DEBUG
26 | dataSource._dataSourceBound = true
27 | #endif
28 | dataSource.setSections(element)
29 | tableView.reloadData()
30 | }.on(observedEvent)
31 | }
32 | }
33 | #endif
34 |
--------------------------------------------------------------------------------
/MovieApp/Pods/RxDataSources/Sources/RxDataSources/String+IdentifiableType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // String+IdentifiableType.swift
3 | // RxDataSources
4 | //
5 | // Created by Krunoslav Zaher on 7/4/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | extension String : IdentifiableType {
12 | public typealias Identity = String
13 |
14 | public var identity: String {
15 | return self
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/MovieApp/Pods/RxDataSources/Sources/RxDataSources/ViewTransition.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ViewTransition.swift
3 | // RxDataSources
4 | //
5 | // Created by Krunoslav Zaher on 10/22/17.
6 | // Copyright © 2017 kzaher. All rights reserved.
7 | //
8 |
9 | /// Transition between two view states
10 | public enum ViewTransition {
11 | /// animated transition
12 | case animated
13 | /// refresh view without animations
14 | case reload
15 | }
16 |
17 |
--------------------------------------------------------------------------------
/MovieApp/Pods/RxGesture/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) RxSwiftCommunity
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/MovieApp/Pods/RxRelay/LICENSE.md:
--------------------------------------------------------------------------------
1 | **The MIT License**
2 | **Copyright © 2015 Krunoslav Zaher**
3 | **All rights reserved.**
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6 |
7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8 |
9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--------------------------------------------------------------------------------
/MovieApp/Pods/RxRelay/RxRelay/BehaviorRelay.swift:
--------------------------------------------------------------------------------
1 | //
2 | // BehaviorRelay.swift
3 | // RxRelay
4 | //
5 | // Created by Krunoslav Zaher on 10/7/17.
6 | // Copyright © 2017 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import RxSwift
10 |
11 | /// BehaviorRelay is a wrapper for `BehaviorSubject`.
12 | ///
13 | /// Unlike `BehaviorSubject` it can't terminate with error or completed.
14 | public final class BehaviorRelay: ObservableType {
15 | private let _subject: BehaviorSubject
16 |
17 | /// Accepts `event` and emits it to subscribers
18 | public func accept(_ event: Element) {
19 | self._subject.onNext(event)
20 | }
21 |
22 | /// Current value of behavior subject
23 | public var value: Element {
24 | // this try! is ok because subject can't error out or be disposed
25 | return try! self._subject.value()
26 | }
27 |
28 | /// Initializes behavior relay with initial value.
29 | public init(value: Element) {
30 | self._subject = BehaviorSubject(value: value)
31 | }
32 |
33 | /// Subscribes observer
34 | public func subscribe(_ observer: Observer) -> Disposable where Observer.Element == Element {
35 | return self._subject.subscribe(observer)
36 | }
37 |
38 | /// - returns: Canonical interface for push style sequence
39 | public func asObservable() -> Observable {
40 | return self._subject.asObservable()
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/MovieApp/Pods/RxRelay/RxRelay/PublishRelay.swift:
--------------------------------------------------------------------------------
1 | //
2 | // PublishRelay.swift
3 | // RxRelay
4 | //
5 | // Created by Krunoslav Zaher on 3/28/15.
6 | // Copyright © 2017 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import RxSwift
10 |
11 | /// PublishRelay is a wrapper for `PublishSubject`.
12 | ///
13 | /// Unlike `PublishSubject` it can't terminate with error or completed.
14 | public final class PublishRelay: ObservableType {
15 | private let _subject: PublishSubject
16 |
17 | // Accepts `event` and emits it to subscribers
18 | public func accept(_ event: Element) {
19 | self._subject.onNext(event)
20 | }
21 |
22 | /// Initializes with internal empty subject.
23 | public init() {
24 | self._subject = PublishSubject()
25 | }
26 |
27 | /// Subscribes observer
28 | public func subscribe(_ observer: Observer) -> Disposable where Observer.Element == Element {
29 | return self._subject.subscribe(observer)
30 | }
31 |
32 | /// - returns: Canonical interface for push style sequence
33 | public func asObservable() -> Observable {
34 | return self._subject.asObservable()
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/Pods/RxSwift/LICENSE.md:
--------------------------------------------------------------------------------
1 | **The MIT License**
2 | **Copyright © 2015 Krunoslav Zaher**
3 | **All rights reserved.**
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6 |
7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8 |
9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/Pods/RxSwift/Platform/Platform.Darwin.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Platform.Darwin.swift
3 | // Platform
4 | //
5 | // Created by Krunoslav Zaher on 12/29/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #if os(macOS) || os(iOS) || os(tvOS) || os(watchOS)
10 |
11 | import Darwin
12 | import class Foundation.Thread
13 | import protocol Foundation.NSCopying
14 |
15 | extension Thread {
16 | static func setThreadLocalStorageValue(_ value: T?, forKey key: NSCopying) {
17 | let currentThread = Thread.current
18 | let threadDictionary = currentThread.threadDictionary
19 |
20 | if let newValue = value {
21 | threadDictionary[key] = newValue
22 | }
23 | else {
24 | threadDictionary[key] = nil
25 | }
26 | }
27 |
28 | static func getThreadLocalStorageValueForKey(_ key: NSCopying) -> T? {
29 | let currentThread = Thread.current
30 | let threadDictionary = currentThread.threadDictionary
31 |
32 | return threadDictionary[key] as? T
33 | }
34 | }
35 |
36 | #endif
37 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/Pods/RxSwift/RxSwift/Disposables/BooleanDisposable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // BooleanDisposable.swift
3 | // RxSwift
4 | //
5 | // Created by Junior B. on 10/29/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | /// Represents a disposable resource that can be checked for disposal status.
10 | public final class BooleanDisposable : Cancelable {
11 |
12 | internal static let BooleanDisposableTrue = BooleanDisposable(isDisposed: true)
13 | private var _isDisposed = false
14 |
15 | /// Initializes a new instance of the `BooleanDisposable` class
16 | public init() {
17 | }
18 |
19 | /// Initializes a new instance of the `BooleanDisposable` class with given value
20 | public init(isDisposed: Bool) {
21 | self._isDisposed = isDisposed
22 | }
23 |
24 | /// - returns: Was resource disposed.
25 | public var isDisposed: Bool {
26 | return self._isDisposed
27 | }
28 |
29 | /// Sets the status to disposed, which can be observer through the `isDisposed` property.
30 | public func dispose() {
31 | self._isDisposed = true
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 | fileprivate struct NopDisposable : Disposable {
13 |
14 | fileprivate static let noOp: Disposable = NopDisposable()
15 |
16 | fileprivate 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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/Pods/RxSwift/RxSwift/Extensions/Bag+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Bag+Rx.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 10/19/16.
6 | // Copyright © 2016 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 |
10 | // MARK: forEach
11 |
12 | @inline(__always)
13 | func dispatch(_ bag: Bag<(Event) -> Void>, _ event: Event) {
14 | bag._value0?(event)
15 |
16 | if bag._onlyFastPath {
17 | return
18 | }
19 |
20 | let pairs = bag._pairs
21 | for i in 0 ..< pairs.count {
22 | pairs[i].value(event)
23 | }
24 |
25 | if let dictionary = bag._dictionary {
26 | for element in dictionary.values {
27 | element(event)
28 | }
29 | }
30 | }
31 |
32 | /// Dispatches `dispose` to all disposables contained inside bag.
33 | func disposeAll(in bag: Bag) {
34 | bag._value0?.dispose()
35 |
36 | if bag._onlyFastPath {
37 | return
38 | }
39 |
40 | let pairs = bag._pairs
41 | for i in 0 ..< pairs.count {
42 | pairs[i].value.dispose()
43 | }
44 |
45 | if let dictionary = bag._dictionary {
46 | for element in dictionary.values {
47 | element.dispose()
48 | }
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/MovieApp/Pods/RxSwift/RxSwift/Extensions/String+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // String+Rx.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 12/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | extension String {
10 | /// This is needed because on Linux Swift doesn't have `rangeOfString(..., options: .BackwardsSearch)`
11 | func lastIndexOf(_ character: Character) -> Index? {
12 | var index = self.endIndex
13 | while index > self.startIndex {
14 | index = self.index(before: index)
15 | if self[index] == character {
16 | return index
17 | }
18 | }
19 |
20 | return nil
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/MovieApp/Pods/RxSwift/RxSwift/GroupedObservable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // GroupedObservable.swift
3 | // RxSwift
4 | //
5 | // Created by Tomi Koskinen on 01/12/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | /// Represents an observable sequence of elements that have a common key.
10 | public struct GroupedObservable : ObservableType {
11 | /// Gets the common key.
12 | public let key: Key
13 |
14 | private let source: Observable
15 |
16 | /// Initializes grouped observable sequence with key and source observable sequence.
17 | ///
18 | /// - parameter key: Grouped observable sequence key
19 | /// - parameter source: Observable sequence that represents sequence of elements for the key
20 | /// - returns: Grouped observable sequence of elements for the specific key
21 | public init(key: Key, source: Observable) {
22 | self.key = key
23 | self.source = source
24 | }
25 |
26 | /// Subscribes `observer` to receive events for this sequence.
27 | public func subscribe(_ observer: Observer) -> Disposable where Observer.Element == Element {
28 | return self.source.subscribe(observer)
29 | }
30 |
31 | /// Converts `self` to `Observable` sequence.
32 | public func asObservable() -> Observable {
33 | return self.source
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/MovieApp/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 | // this is kind of ugly I know :(
34 | // Swift compiler reports "Not supported yet" when trying to override protocol extensions, so ¯\_(ツ)_/¯
35 |
36 | /// Optimizations for map operator
37 | internal func composeMap(_ transform: @escaping (Element) throws -> Result) -> Observable {
38 | return _map(source: self, transform: transform)
39 | }
40 | }
41 |
42 |
--------------------------------------------------------------------------------
/MovieApp/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, message: "Use `Element` instead.")
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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/Pods/RxSwift/RxSwift/Observables/Error.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Error.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 8/30/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | extension ObservableType {
10 | /**
11 | Returns an observable sequence that terminates with an `error`.
12 |
13 | - seealso: [throw operator on reactivex.io](http://reactivex.io/documentation/operators/empty-never-throw.html)
14 |
15 | - returns: The observable sequence that terminates with specified error.
16 | */
17 | public static func error(_ error: Swift.Error) -> Observable {
18 | return ErrorProducer(error: error)
19 | }
20 | }
21 |
22 | final private class ErrorProducer: Producer {
23 | private let _error: Swift.Error
24 |
25 | init(error: Swift.Error) {
26 | self._error = error
27 | }
28 |
29 | override func subscribe(_ observer: Observer) -> Disposable where Observer.Element == Element {
30 | observer.on(.error(self._error))
31 | return Disposables.create()
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/MovieApp/Pods/RxSwift/RxSwift/Observables/First.swift:
--------------------------------------------------------------------------------
1 | //
2 | // First.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 7/31/17.
6 | // Copyright © 2017 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | fileprivate final class FirstSink : Sink, ObserverType where Observer.Element == Element? {
10 | typealias Parent = First
11 |
12 | func on(_ event: Event) {
13 | switch event {
14 | case .next(let value):
15 | self.forwardOn(.next(value))
16 | self.forwardOn(.completed)
17 | self.dispose()
18 | case .error(let error):
19 | self.forwardOn(.error(error))
20 | self.dispose()
21 | case .completed:
22 | self.forwardOn(.next(nil))
23 | self.forwardOn(.completed)
24 | self.dispose()
25 | }
26 | }
27 | }
28 |
29 | final class First: Producer {
30 | fileprivate let _source: Observable
31 |
32 | init(source: Observable) {
33 | self._source = source
34 | }
35 |
36 | override func run(_ observer: Observer, cancel: Cancelable) -> (sink: Disposable, subscription: Disposable) where Observer.Element == Element? {
37 | let sink = FirstSink(observer: observer, cancel: cancel)
38 | let subscription = self._source.subscribe(sink)
39 | return (sink: sink, subscription: subscription)
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/Pods/RxSwift/RxSwift/ObserverType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ObserverType.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 2/8/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | /// Supports push-style iteration over an observable sequence.
10 | public protocol ObserverType {
11 | /// The type of elements in sequence that observer can observe.
12 | associatedtype Element
13 |
14 | @available(*, deprecated, message: "Use `Element` instead.")
15 | typealias E = Element
16 |
17 | /// Notify observer about sequence event.
18 | ///
19 | /// - parameter event: Event that occurred.
20 | func on(_ event: Event)
21 | }
22 |
23 | /// Convenience API extensions to provide alternate next, error, completed events
24 | extension ObserverType {
25 |
26 | /// Convenience method equivalent to `on(.next(element: Element))`
27 | ///
28 | /// - parameter element: Next element to send to observer(s)
29 | public func onNext(_ element: Element) {
30 | self.on(.next(element))
31 | }
32 |
33 | /// Convenience method equivalent to `on(.completed)`
34 | public func onCompleted() {
35 | self.on(.completed)
36 | }
37 |
38 | /// Convenience method equivalent to `on(.error(Swift.Error))`
39 | /// - parameter error: Swift.Error to send to observer(s)
40 | public func onError(_ error: Swift.Error) {
41 | self.on(.error(error))
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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, message: "Use `Observer` instead.")
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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/LICENSE.md:
--------------------------------------------------------------------------------
1 | Copyright (c) 2016 SwiftKick Mobile LLC
2 |
3 |
4 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
5 |
6 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
7 |
8 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/AccessibleMessage.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AccessibleMessage.swift
3 | // SwiftMessages
4 | //
5 | // Created by Timothy Moose on 3/11/17.
6 | // Copyright © 2017 SwiftKick Mobile. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /**
12 | Message views that `AccessibleMessage`, as `MessageView` does will
13 | have proper accessibility behavior when displaying messages.
14 | `MessageView` implements this protocol.
15 | */
16 | public protocol AccessibleMessage {
17 | var accessibilityMessage: String? { get }
18 | var accessibilityElement: NSObject? { get }
19 | var additonalAccessibilityElements: [NSObject]? { get }
20 | }
21 |
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/Array+Utils.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Array+Utils.swift
3 | // SwiftMessages
4 | //
5 | // Created by Tim Moose on 8/30/16.
6 | // Copyright © 2016 SwiftKick Mobile. All rights reserved.
7 | //
8 |
9 | import Darwin
10 |
11 | public extension Array {
12 |
13 | /**
14 | Returns a random element from the array. Can be used to create a playful
15 | message that cycles randomly through a set of emoji icons, for example.
16 | */
17 | public func sm_random() -> Iterator.Element? {
18 | guard count > 0 else { return nil }
19 | return self[Int(arc4random_uniform(UInt32(count)))]
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/BackgroundViewable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // BackgroundViewable.swift
3 | // SwiftMessages
4 | //
5 | // Created by Timothy Moose on 8/15/16.
6 | // Copyright © 2016 SwiftKick Mobile LLC. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | /**
12 | Message views that implement the `BackgroundViewable` protocol will have the
13 | pan-to-hide gesture recognizer installed in the `backgroundView`. Message views
14 | always span the full width of the containing view. Typically, the `backgroundView`
15 | property defines the message view's visible region, allowing for card-style views
16 | where the message view background is transparent and the background view is inset
17 | from by some amount. See CardView.nib, for example.
18 |
19 | This protocol is optional. Message views that don't implement `BackgroundViewable`
20 | will have the pan-to-hide gesture installed in the message view itself.
21 | */
22 | public protocol BackgroundViewable {
23 | var backgroundView: UIView! { get }
24 | }
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/Error.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Error.swift
3 | // SwiftMessages
4 | //
5 | // Created by Timothy Moose on 8/7/16.
6 | // Copyright © 2016 SwiftKick Mobile LLC. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /**
12 | The `SwiftMessagesError` enum contains the errors thrown by SwiftMessages.
13 | */
14 | enum SwiftMessagesError: Error {
15 | case cannotLoadViewFromNib(nibName: String)
16 | case noRootViewController
17 | }
18 |
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/Identifiable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Identifiable.swift
3 | // SwiftMessages
4 | //
5 | // Created by Timothy Moose on 8/1/16.
6 | // Copyright © 2016 SwiftKick Mobile LLC. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /**
12 | Message views that adopt the `Identifiable` protocol will have duplicate messages
13 | removed from the `MessageView` queue. Typically, the `id` would be set to a string
14 | representation of the content of the message view. For example, `MessageView`, combines
15 | the title and message body text.
16 |
17 | This protocol is optional. Messave views that don't adopt `Identifiable` will not
18 | have duplicates removed.
19 | */
20 | public protocol Identifiable {
21 | var id: String { get }
22 | }
23 |
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/MarginAdjustable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MarginAdjustable.swift
3 | // SwiftMessages
4 | //
5 | // Created by Timothy Moose on 8/5/16.
6 | // Copyright © 2016 SwiftKick Mobile LLC. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | /*
12 | Message views that implement the `MarginAdjustable` protocol will have their
13 | `layoutMargins` adjusted by SwiftMessages to account for the height of the
14 | status bar (when displayed under the status bar) and a small amount of
15 | overshoot in the bounce animation. `MessageView` implements this protocol
16 | by way of its parent class `BaseView`.
17 |
18 | For the effect of this protocol to work, subviews should be pinned to the
19 | message view's margins and the `layoutMargins` property should not be modified.
20 |
21 | This protocol is optional. A message view that doesn't implement `MarginAdjustable`
22 | is responsible for setting is own internal margins appropriately.
23 | */
24 | public protocol MarginAdjustable {
25 | var bounceAnimationOffset: CGFloat { get set }
26 | /// Top margin adjustment for status bar avoidance in pre-iOS 11+
27 | var statusBarOffset: CGFloat { get set }
28 | /// Safe area top adjustment in iOS 11+
29 | var safeAreaTopOffset: CGFloat { get set }
30 | /// Safe area bottom adjustment in iOS 11+
31 | var safeAreaBottomOffset: CGFloat { get set }
32 | }
33 |
34 |
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/NSBundle+Utils.swift:
--------------------------------------------------------------------------------
1 | //
2 | // NSBundle+Utils.swift
3 | // SwiftMessages
4 | //
5 | // Created by Timothy Moose on 8/8/16.
6 | // Copyright © 2016 SwiftKick Mobile LLC. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | extension Bundle {
12 | static func sm_frameworkBundle() -> Bundle {
13 | let bundle = Bundle(for: MessageView.self)
14 | if let path = bundle.path(forResource: "SwiftMessages", ofType: "bundle") {
15 | return Bundle(path: path)!
16 | }
17 | else {
18 | return bundle
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/PassthroughView.swift:
--------------------------------------------------------------------------------
1 | //
2 | // PassthroughView.swift
3 | // SwiftMessages
4 | //
5 | // Created by Timothy Moose on 8/5/16.
6 | // Copyright © 2016 SwiftKick Mobile LLC. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | class PassthroughView: UIControl {
12 |
13 | var tappedHander: (() -> Void)?
14 |
15 | override init(frame: CGRect) {
16 | super.init(frame: frame)
17 | initCommon()
18 | }
19 |
20 | required init?(coder aDecoder: NSCoder) {
21 | super.init(coder: aDecoder)
22 | initCommon()
23 | }
24 |
25 | private func initCommon() {
26 | addTarget(self, action: #selector(tapped), for: .touchUpInside)
27 | }
28 |
29 | @objc func tapped() {
30 | tappedHander?()
31 | }
32 |
33 | override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? {
34 | let view = super.hitTest(point, with: event)
35 | return view == self && tappedHander == nil ? nil : view
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/PassthroughWindow.swift:
--------------------------------------------------------------------------------
1 | //
2 | // PassthroughWindow.swift
3 | // SwiftMessages
4 | //
5 | // Created by Timothy Moose on 8/5/16.
6 | // Copyright © 2016 SwiftKick Mobile LLC. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | class PassthroughWindow: UIWindow {
12 |
13 | override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? {
14 | let view = super.hitTest(point, with: event)
15 | return view == self ? nil : view
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/errorIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anshul18895/MVVMC-Demo/48d5f5ee10e5286df6deb45ccea403a07c562ede/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/errorIcon.png
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/errorIcon@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anshul18895/MVVMC-Demo/48d5f5ee10e5286df6deb45ccea403a07c562ede/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/errorIcon@2x.png
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/errorIcon@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anshul18895/MVVMC-Demo/48d5f5ee10e5286df6deb45ccea403a07c562ede/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/errorIcon@3x.png
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/errorIconLight.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anshul18895/MVVMC-Demo/48d5f5ee10e5286df6deb45ccea403a07c562ede/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/errorIconLight.png
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/errorIconLight@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anshul18895/MVVMC-Demo/48d5f5ee10e5286df6deb45ccea403a07c562ede/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/errorIconLight@2x.png
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/errorIconLight@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anshul18895/MVVMC-Demo/48d5f5ee10e5286df6deb45ccea403a07c562ede/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/errorIconLight@3x.png
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/errorIconSubtle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anshul18895/MVVMC-Demo/48d5f5ee10e5286df6deb45ccea403a07c562ede/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/errorIconSubtle.png
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/errorIconSubtle@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anshul18895/MVVMC-Demo/48d5f5ee10e5286df6deb45ccea403a07c562ede/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/errorIconSubtle@2x.png
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/errorIconSubtle@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anshul18895/MVVMC-Demo/48d5f5ee10e5286df6deb45ccea403a07c562ede/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/errorIconSubtle@3x.png
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/infoIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anshul18895/MVVMC-Demo/48d5f5ee10e5286df6deb45ccea403a07c562ede/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/infoIcon.png
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/infoIcon@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anshul18895/MVVMC-Demo/48d5f5ee10e5286df6deb45ccea403a07c562ede/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/infoIcon@2x.png
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/infoIcon@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anshul18895/MVVMC-Demo/48d5f5ee10e5286df6deb45ccea403a07c562ede/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/infoIcon@3x.png
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/infoIconLight.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anshul18895/MVVMC-Demo/48d5f5ee10e5286df6deb45ccea403a07c562ede/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/infoIconLight.png
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/infoIconLight@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anshul18895/MVVMC-Demo/48d5f5ee10e5286df6deb45ccea403a07c562ede/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/infoIconLight@2x.png
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/infoIconLight@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anshul18895/MVVMC-Demo/48d5f5ee10e5286df6deb45ccea403a07c562ede/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/infoIconLight@3x.png
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/infoIconSubtle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anshul18895/MVVMC-Demo/48d5f5ee10e5286df6deb45ccea403a07c562ede/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/infoIconSubtle.png
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/infoIconSubtle@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anshul18895/MVVMC-Demo/48d5f5ee10e5286df6deb45ccea403a07c562ede/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/infoIconSubtle@2x.png
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/infoIconSubtle@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anshul18895/MVVMC-Demo/48d5f5ee10e5286df6deb45ccea403a07c562ede/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/infoIconSubtle@3x.png
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/successIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anshul18895/MVVMC-Demo/48d5f5ee10e5286df6deb45ccea403a07c562ede/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/successIcon.png
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/successIcon@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anshul18895/MVVMC-Demo/48d5f5ee10e5286df6deb45ccea403a07c562ede/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/successIcon@2x.png
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/successIcon@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anshul18895/MVVMC-Demo/48d5f5ee10e5286df6deb45ccea403a07c562ede/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/successIcon@3x.png
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/successIconLight.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anshul18895/MVVMC-Demo/48d5f5ee10e5286df6deb45ccea403a07c562ede/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/successIconLight.png
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/successIconLight@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anshul18895/MVVMC-Demo/48d5f5ee10e5286df6deb45ccea403a07c562ede/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/successIconLight@2x.png
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/successIconLight@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anshul18895/MVVMC-Demo/48d5f5ee10e5286df6deb45ccea403a07c562ede/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/successIconLight@3x.png
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/successIconSubtle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anshul18895/MVVMC-Demo/48d5f5ee10e5286df6deb45ccea403a07c562ede/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/successIconSubtle.png
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/successIconSubtle@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anshul18895/MVVMC-Demo/48d5f5ee10e5286df6deb45ccea403a07c562ede/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/successIconSubtle@2x.png
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/successIconSubtle@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anshul18895/MVVMC-Demo/48d5f5ee10e5286df6deb45ccea403a07c562ede/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/successIconSubtle@3x.png
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/warningIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anshul18895/MVVMC-Demo/48d5f5ee10e5286df6deb45ccea403a07c562ede/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/warningIcon.png
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/warningIcon@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anshul18895/MVVMC-Demo/48d5f5ee10e5286df6deb45ccea403a07c562ede/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/warningIcon@2x.png
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/warningIcon@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anshul18895/MVVMC-Demo/48d5f5ee10e5286df6deb45ccea403a07c562ede/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/warningIcon@3x.png
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/warningIconLight.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anshul18895/MVVMC-Demo/48d5f5ee10e5286df6deb45ccea403a07c562ede/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/warningIconLight.png
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/warningIconLight@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anshul18895/MVVMC-Demo/48d5f5ee10e5286df6deb45ccea403a07c562ede/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/warningIconLight@2x.png
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/warningIconLight@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anshul18895/MVVMC-Demo/48d5f5ee10e5286df6deb45ccea403a07c562ede/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/warningIconLight@3x.png
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/warningIconSubtle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anshul18895/MVVMC-Demo/48d5f5ee10e5286df6deb45ccea403a07c562ede/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/warningIconSubtle.png
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/warningIconSubtle@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anshul18895/MVVMC-Demo/48d5f5ee10e5286df6deb45ccea403a07c562ede/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/warningIconSubtle@2x.png
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/warningIconSubtle@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anshul18895/MVVMC-Demo/48d5f5ee10e5286df6deb45ccea403a07c562ede/MovieApp/Pods/SwiftMessages/SwiftMessages/Resources/warningIconSubtle@3x.png
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/UIEdgeInsets+Utils.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIEdgeInsets+Utils.swift
3 | // SwiftMessages
4 | //
5 | // Created by Timothy Moose on 5/23/18.
6 | // Copyright © 2018 SwiftKick Mobile. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | extension UIEdgeInsets {
12 | public static func +(left: UIEdgeInsets, right: UIEdgeInsets) -> UIEdgeInsets {
13 | let topSum = left.top + right.top
14 | let leftSum = left.left + right.left
15 | let bottomSum = left.bottom + right.bottom
16 | let rightSum = left.right + right.right
17 | return UIEdgeInsets(top: topSum, left: leftSum, bottom: bottomSum, right: rightSum)
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/MovieApp/Pods/SwiftMessages/SwiftMessages/Weak.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Weak.swift
3 | // SwiftMessages
4 | //
5 | // Created by Timothy Moose on 6/4/17.
6 | // Copyright © 2017 SwiftKick Mobile. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | public class Weak {
12 | public weak var value : T?
13 | public init(value: T?) {
14 | self.value = value
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/Alamofire/Alamofire-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 4.9.1
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/Alamofire/Alamofire-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Alamofire : NSObject
3 | @end
4 | @implementation PodsDummy_Alamofire
5 | @end
6 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/Alamofire/Alamofire-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 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/Alamofire/Alamofire-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 AlamofireVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char AlamofireVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/Alamofire/Alamofire.modulemap:
--------------------------------------------------------------------------------
1 | framework module Alamofire {
2 | umbrella header "Alamofire-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/Alamofire/Alamofire.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Alamofire
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}/Alamofire
8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
9 | SKIP_INSTALL = YES
10 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/Differentiator/Differentiator-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 4.0.1
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/Differentiator/Differentiator-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Differentiator : NSObject
3 | @end
4 | @implementation PodsDummy_Differentiator
5 | @end
6 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/Differentiator/Differentiator-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/Differentiator/Differentiator-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double DifferentiatorVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char DifferentiatorVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/Differentiator/Differentiator.modulemap:
--------------------------------------------------------------------------------
1 | framework module Differentiator {
2 | umbrella header "Differentiator-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/Differentiator/Differentiator.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Differentiator
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
4 | PODS_BUILD_DIR = ${BUILD_DIR}
5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
6 | PODS_ROOT = ${SRCROOT}
7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/Differentiator
8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
9 | SKIP_INSTALL = YES
10 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/Kingfisher/Kingfisher-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 4.7.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/Kingfisher/Kingfisher-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Kingfisher : NSObject
3 | @end
4 | @implementation PodsDummy_Kingfisher
5 | @end
6 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/Kingfisher/Kingfisher-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 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/Kingfisher/Kingfisher-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 "Kingfisher.h"
14 |
15 | FOUNDATION_EXPORT double KingfisherVersionNumber;
16 | FOUNDATION_EXPORT const unsigned char KingfisherVersionString[];
17 |
18 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/Kingfisher/Kingfisher.modulemap:
--------------------------------------------------------------------------------
1 | framework module Kingfisher {
2 | umbrella header "Kingfisher-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/Kingfisher/Kingfisher.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Kingfisher
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | OTHER_LDFLAGS = $(inherited) -framework "CFNetwork"
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}/Kingfisher
9 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
10 | SKIP_INSTALL = YES
11 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/MBProgressHUD/MBProgressHUD-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.1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/MBProgressHUD/MBProgressHUD-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_MBProgressHUD : NSObject
3 | @end
4 | @implementation PodsDummy_MBProgressHUD
5 | @end
6 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/MBProgressHUD/MBProgressHUD-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 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/MBProgressHUD/MBProgressHUD-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 "MBProgressHUD.h"
14 |
15 | FOUNDATION_EXPORT double MBProgressHUDVersionNumber;
16 | FOUNDATION_EXPORT const unsigned char MBProgressHUDVersionString[];
17 |
18 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/MBProgressHUD/MBProgressHUD.modulemap:
--------------------------------------------------------------------------------
1 | framework module MBProgressHUD {
2 | umbrella header "MBProgressHUD-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/MBProgressHUD/MBProgressHUD.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/MBProgressHUD
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | OTHER_LDFLAGS = $(inherited) -framework "CoreGraphics" -framework "QuartzCore"
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}/MBProgressHUD
8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
9 | SKIP_INSTALL = YES
10 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/Pods-MovieApp/Pods-MovieApp-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 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/Pods-MovieApp/Pods-MovieApp-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_MovieApp : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_MovieApp
5 | @end
6 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/Pods-MovieApp/Pods-MovieApp-frameworks-Debug-input-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${PODS_ROOT}/Target Support Files/Pods-MovieApp/Pods-MovieApp-frameworks.sh
2 | ${BUILT_PRODUCTS_DIR}/Alamofire/Alamofire.framework
3 | ${BUILT_PRODUCTS_DIR}/Differentiator/Differentiator.framework
4 | ${BUILT_PRODUCTS_DIR}/Kingfisher/Kingfisher.framework
5 | ${BUILT_PRODUCTS_DIR}/MBProgressHUD/MBProgressHUD.framework
6 | ${BUILT_PRODUCTS_DIR}/RxAlamofire/RxAlamofire.framework
7 | ${BUILT_PRODUCTS_DIR}/RxCocoa/RxCocoa.framework
8 | ${BUILT_PRODUCTS_DIR}/RxCoreData/RxCoreData.framework
9 | ${BUILT_PRODUCTS_DIR}/RxDataSources/RxDataSources.framework
10 | ${BUILT_PRODUCTS_DIR}/RxGesture/RxGesture.framework
11 | ${BUILT_PRODUCTS_DIR}/RxRelay/RxRelay.framework
12 | ${BUILT_PRODUCTS_DIR}/RxSwift/RxSwift.framework
13 | ${BUILT_PRODUCTS_DIR}/SwiftMessages/SwiftMessages.framework
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/Pods-MovieApp/Pods-MovieApp-frameworks-Debug-output-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Alamofire.framework
2 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Differentiator.framework
3 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Kingfisher.framework
4 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MBProgressHUD.framework
5 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxAlamofire.framework
6 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxCocoa.framework
7 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxCoreData.framework
8 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxDataSources.framework
9 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxGesture.framework
10 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxRelay.framework
11 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxSwift.framework
12 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SwiftMessages.framework
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/Pods-MovieApp/Pods-MovieApp-frameworks-Release-input-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${PODS_ROOT}/Target Support Files/Pods-MovieApp/Pods-MovieApp-frameworks.sh
2 | ${BUILT_PRODUCTS_DIR}/Alamofire/Alamofire.framework
3 | ${BUILT_PRODUCTS_DIR}/Differentiator/Differentiator.framework
4 | ${BUILT_PRODUCTS_DIR}/Kingfisher/Kingfisher.framework
5 | ${BUILT_PRODUCTS_DIR}/MBProgressHUD/MBProgressHUD.framework
6 | ${BUILT_PRODUCTS_DIR}/RxAlamofire/RxAlamofire.framework
7 | ${BUILT_PRODUCTS_DIR}/RxCocoa/RxCocoa.framework
8 | ${BUILT_PRODUCTS_DIR}/RxCoreData/RxCoreData.framework
9 | ${BUILT_PRODUCTS_DIR}/RxDataSources/RxDataSources.framework
10 | ${BUILT_PRODUCTS_DIR}/RxGesture/RxGesture.framework
11 | ${BUILT_PRODUCTS_DIR}/RxRelay/RxRelay.framework
12 | ${BUILT_PRODUCTS_DIR}/RxSwift/RxSwift.framework
13 | ${BUILT_PRODUCTS_DIR}/SwiftMessages/SwiftMessages.framework
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/Pods-MovieApp/Pods-MovieApp-frameworks-Release-output-files.xcfilelist:
--------------------------------------------------------------------------------
1 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Alamofire.framework
2 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Differentiator.framework
3 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Kingfisher.framework
4 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MBProgressHUD.framework
5 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxAlamofire.framework
6 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxCocoa.framework
7 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxCoreData.framework
8 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxDataSources.framework
9 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxGesture.framework
10 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxRelay.framework
11 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxSwift.framework
12 | ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SwiftMessages.framework
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/Pods-MovieApp/Pods-MovieApp-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_MovieAppVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char Pods_MovieAppVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/Pods-MovieApp/Pods-MovieApp.modulemap:
--------------------------------------------------------------------------------
1 | framework module Pods_MovieApp {
2 | umbrella header "Pods-MovieApp-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/RxAlamofire/RxAlamofire-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.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/RxAlamofire/RxAlamofire-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_RxAlamofire : NSObject
3 | @end
4 | @implementation PodsDummy_RxAlamofire
5 | @end
6 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/RxAlamofire/RxAlamofire-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 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/RxAlamofire/RxAlamofire-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 RxAlamofireVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char RxAlamofireVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/RxAlamofire/RxAlamofire.modulemap:
--------------------------------------------------------------------------------
1 | framework module RxAlamofire {
2 | umbrella header "RxAlamofire-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/RxAlamofire/RxAlamofire.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/RxAlamofire
2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${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}/RxAlamofire
10 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
11 | SKIP_INSTALL = YES
12 |
--------------------------------------------------------------------------------
/MovieApp/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.0.1
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/RxCocoa/RxCocoa-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_RxCocoa : NSObject
3 | @end
4 | @implementation PodsDummy_RxCocoa
5 | @end
6 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/RxCoreData/RxCoreData-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 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/RxCoreData/RxCoreData-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_RxCoreData : NSObject
3 | @end
4 | @implementation PodsDummy_RxCoreData
5 | @end
6 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/RxCoreData/RxCoreData-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 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/RxCoreData/RxCoreData-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 RxCoreDataVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char RxCoreDataVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/RxCoreData/RxCoreData.modulemap:
--------------------------------------------------------------------------------
1 | framework module RxCoreData {
2 | umbrella header "RxCoreData-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/RxCoreData/RxCoreData.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/RxCoreData
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 "CoreData"
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}/RxCoreData
10 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
11 | SKIP_INSTALL = YES
12 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/RxDataSources/RxDataSources-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 4.0.1
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/RxDataSources/RxDataSources-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_RxDataSources : NSObject
3 | @end
4 | @implementation PodsDummy_RxDataSources
5 | @end
6 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/RxDataSources/RxDataSources-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/RxDataSources/RxDataSources-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
14 | FOUNDATION_EXPORT double RxDataSourcesVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char RxDataSourcesVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/RxDataSources/RxDataSources.modulemap:
--------------------------------------------------------------------------------
1 | framework module RxDataSources {
2 | umbrella header "RxDataSources-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/RxDataSources/RxDataSources.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/RxDataSources
2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Differentiator" "${PODS_CONFIGURATION_BUILD_DIR}/RxCocoa" "${PODS_CONFIGURATION_BUILD_DIR}/RxRelay" "${PODS_CONFIGURATION_BUILD_DIR}/RxSwift"
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
5 | PODS_BUILD_DIR = ${BUILD_DIR}
6 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
7 | PODS_ROOT = ${SRCROOT}
8 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/RxDataSources
9 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
10 | SKIP_INSTALL = YES
11 |
--------------------------------------------------------------------------------
/MovieApp/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.1
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/RxGesture/RxGesture-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_RxGesture : NSObject
3 | @end
4 | @implementation PodsDummy_RxGesture
5 | @end
6 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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.0.1
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/RxRelay/RxRelay-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_RxRelay : NSObject
3 | @end
4 | @implementation PodsDummy_RxRelay
5 | @end
6 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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.0.1
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/RxSwift/RxSwift-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_RxSwift : NSObject
3 | @end
4 | @implementation PodsDummy_RxSwift
5 | @end
6 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/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 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/SwiftMessages/ResourceBundle-SwiftMessages-SwiftMessages-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleIdentifier
8 | ${PRODUCT_BUNDLE_IDENTIFIER}
9 | CFBundleInfoDictionaryVersion
10 | 6.0
11 | CFBundleName
12 | ${PRODUCT_NAME}
13 | CFBundlePackageType
14 | BNDL
15 | CFBundleShortVersionString
16 | 4.1.4
17 | CFBundleSignature
18 | ????
19 | CFBundleVersion
20 | 1
21 | NSPrincipalClass
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/SwiftMessages/SwiftMessages-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 4.1.4
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/SwiftMessages/SwiftMessages-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_SwiftMessages : NSObject
3 | @end
4 | @implementation PodsDummy_SwiftMessages
5 | @end
6 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/SwiftMessages/SwiftMessages-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 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/SwiftMessages/SwiftMessages-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 SwiftMessagesVersionNumber;
15 | FOUNDATION_EXPORT const unsigned char SwiftMessagesVersionString[];
16 |
17 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/SwiftMessages/SwiftMessages.modulemap:
--------------------------------------------------------------------------------
1 | framework module SwiftMessages {
2 | umbrella header "SwiftMessages-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/MovieApp/Pods/Target Support Files/SwiftMessages/SwiftMessages.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SwiftMessages
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | OTHER_LDFLAGS = $(inherited) -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}/SwiftMessages
9 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
10 | SKIP_INSTALL = YES
11 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # MVVMC-Demo
2 |
3 | ## Demo defination
4 |
5 | This is the demo project, I have integrated two APIs for MovieDB APIS (https://www.themoviedb.org/). One for the listing of Movie and other one is details of movies. Following are screenshots for the Appliction.
6 |
7 |
8 |
9 |
10 | ## This are the key concepts I have used for this demo
11 | MVVM stucture with Coordinators
12 | Dependency Injection
13 | Offline support usign RxCoreData
14 | API Middle-Ware
15 |
16 |
17 | ## Author
18 |
19 | anshul18895, anshul18895@gmail.com
20 |
21 | ## License
22 |
23 | MVVMC-Demo is available under the MIT license. See the LICENSE file for more info.
24 |
--------------------------------------------------------------------------------
/Screenshots/details.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anshul18895/MVVMC-Demo/48d5f5ee10e5286df6deb45ccea403a07c562ede/Screenshots/details.png
--------------------------------------------------------------------------------
/Screenshots/list.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anshul18895/MVVMC-Demo/48d5f5ee10e5286df6deb45ccea403a07c562ede/Screenshots/list.png
--------------------------------------------------------------------------------