├── .gitignore ├── LICENSE ├── README.md ├── RxSwift-5 └── main │ ├── ErrorHandling │ ├── catchError.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground │ ├── catchErrorJustReturn.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground │ ├── retry.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground │ └── retryWhen.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground │ ├── Hello │ └── Hello.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground │ ├── KeyConcepts │ ├── Disposables.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground │ ├── Observables.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground │ ├── Observers.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground │ └── Operators.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground │ ├── MasteringRxSwift.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ └── xcshareddata │ │ └── xcschemes │ │ └── MasteringRxSwift.xcscheme │ ├── MasteringRxSwift.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist │ ├── MasteringRxSwift │ ├── AppDelegate.swift │ ├── Assets.xcassets │ │ ├── AppIcon.appiconset │ │ │ ├── .qicon │ │ │ ├── 20.png │ │ │ ├── 40-1.png │ │ │ ├── 40.png │ │ │ ├── 60.png │ │ │ ├── Contents.json │ │ │ ├── Icon-App-20x20@2x.png │ │ │ ├── Icon-App-29x29@1x.png │ │ │ ├── Icon-App-29x29@2x-1.png │ │ │ ├── Icon-App-29x29@2x.png │ │ │ ├── Icon-App-29x29@3x.png │ │ │ ├── Icon-App-40x40@2x-1.png │ │ │ ├── Icon-App-40x40@2x.png │ │ │ ├── Icon-App-60x60@2x-1.png │ │ │ ├── Icon-App-60x60@2x.png │ │ │ ├── Icon-App-60x60@3x.png │ │ │ ├── Icon-App-76x76@1x.png │ │ │ ├── Icon-App-76x76@2x.png │ │ │ ├── Icon-App-835x835@2x.png │ │ │ └── logo1024.png │ │ ├── Contents.json │ │ └── logo-black.imageset │ │ │ ├── .qicon │ │ │ ├── Contents.json │ │ │ └── logo-black.png │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ ├── Common │ │ └── Models │ │ │ ├── MaterialColor.swift │ │ │ └── Product.swift │ ├── CommunityProjects │ │ ├── Action │ │ │ └── ActionViewController.swift │ │ ├── CommunityProjects.storyboard │ │ ├── NSObject+Rx │ │ │ └── NSObjectRxViewController.swift │ │ ├── RxDataSources │ │ │ └── RxDataSourcesViewController.swift │ │ ├── RxGesture │ │ │ └── RxGestureViewController.swift │ │ ├── RxKeyboard │ │ │ └── RxKeyboardViewController.swift │ │ ├── RxReachability │ │ │ └── RxReachabilityViewController.swift │ │ └── RxSwiftExt │ │ │ ├── and.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ │ ├── apply.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ │ ├── bufferWithTrigger.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ │ ├── cascade.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ │ ├── catchErrorJustComplete.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ │ ├── count.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ │ ├── distinct.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ │ ├── elements.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ │ ├── errors.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ │ ├── filterMap.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ │ ├── fromAsync.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ │ ├── ignore.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ │ ├── ignoreWhen.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ │ ├── map.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ │ ├── mergeWith.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ │ ├── not.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ │ ├── nwise.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ │ ├── once.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ │ ├── pairwise.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ │ ├── partition.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ │ ├── pausable.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ │ ├── pausableBuferred.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ │ ├── retry.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ │ ├── retryWithBehavior.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ │ ├── unwrap.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ │ ├── withUnretained.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ │ └── zipWith.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ ├── CustomExtension │ │ ├── CustomBinderViewController.swift │ │ ├── CustomControlEventViewController.swift │ │ ├── CustomControlPropertyViewController.swift │ │ ├── CustomExtension.storyboard │ │ └── DelegateProxyViewController.swift │ ├── Info.plist │ ├── Networking │ │ ├── Common │ │ │ └── NetworkCommon.swift │ │ ├── RxAlamofire │ │ │ ├── RxAlamofire.storyboard │ │ │ ├── RxAlamofireBasicPatternTableViewController.swift │ │ │ ├── RxAlamofireProgressViewController.swift │ │ │ └── RxAlamofireValidationViewController.swift │ │ └── URLSession │ │ │ ├── CocoaTouchURLSessionViewController.swift │ │ │ ├── RxCocoaURLSessionViewController.swift │ │ │ └── URLSession.storyboard │ ├── RxCocoaBasics │ │ ├── Binding │ │ │ ├── Binding.storyboard │ │ │ ├── BindingCocoaTouchViewController.swift │ │ │ └── BindingRxCocoaViewController.swift │ │ ├── ControlPropertyControlEvent │ │ │ ├── ControlPropertyControlEvent.storyboard │ │ │ ├── ControlPropertyControlEventCocoaTouchViewController.swift │ │ │ └── ControlPropertyControlEventRxCocoaViewController.swift │ │ ├── Driver │ │ │ ├── Driver.storyboard │ │ │ └── DriverViewController.swift │ │ └── Hello │ │ │ ├── Hello.storyboard │ │ │ ├── HelloCocoaTouchViewController.swift │ │ │ └── HelloRxCocoaViewController.swift │ └── RxCocoaCommonPatterns │ │ ├── AlertController │ │ ├── AlertController.storyboard │ │ ├── CocoaTouchAlertViewController.swift │ │ └── RxCocoaAlertViewController.swift │ │ ├── CollectionView │ │ ├── Cell │ │ │ └── ColorCollectionViewCell.swift │ │ ├── CocoaTouchCollectionViewViewController.swift │ │ ├── CollectionView.storyboard │ │ └── RxCocoaCollectionViewViewController.swift │ │ ├── Gesture │ │ ├── CocoaTouchGestureViewController.swift │ │ ├── Gesture.storyboard │ │ └── RxCocoaGestureViewController.swift │ │ ├── NotificationCenter │ │ ├── CocoaTouchNotificationCenterViewController.swift │ │ ├── NotificationCenter.storyboard │ │ └── RxCocoaNotificationCenterViewController.swift │ │ └── TableView │ │ ├── Cell │ │ └── ProductTableViewCell.swift │ │ ├── CocoaTouchTableViewViewController.swift │ │ ├── RxCocoaTableViewViewController.swift │ │ └── TableView.storyboard │ ├── Operators │ ├── Combining Operators │ │ ├── combineLatest.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── concat.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── merge.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── reduce.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── sample.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── startWith.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── switchLatest.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── withLatestFrom.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ └── zip.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ ├── Conditional Operators │ │ └── amb.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ ├── Creating Operators │ │ ├── create.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── empty.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── error.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── from.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── generate.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── just.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── of.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── range.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ └── repeatElement.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ ├── Filtering Operators │ │ ├── debounce.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── distinctUntilChanged.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── elementAt.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── filter.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── ignoreElements.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── sample.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── sampleLatest.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── single.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── skip.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── skipUntil.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── skipWhile.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── take.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── takeLast.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── takeUntil.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── takeWhile.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ └── throttle.playground │ │ │ ├── Pages │ │ │ ├── 1.xcplaygroundpage │ │ │ │ └── Contents.swift │ │ │ └── 2.xcplaygroundpage │ │ │ │ └── Contents.swift │ │ │ └── contents.xcplayground │ ├── Time-based Operators │ │ ├── delay.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── delaySubscription.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── interval.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── timeout.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ └── timer.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ ├── Transforming Operators │ │ ├── buffer.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── flatMap.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── flatMapFirst.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── flatMapLatest.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── groupBy.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── map.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── scan.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── toArray.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ └── window.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ └── deferred.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground │ ├── Podfile │ ├── Podfile.lock │ ├── Scheduler │ └── Scheduler.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground │ ├── SharingSubscription │ ├── multicast.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground │ ├── overview.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground │ ├── publish.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground │ ├── refCount.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground │ ├── replay.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground │ └── share.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground │ ├── Subjects │ ├── AsyncSubject.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground │ ├── BehaviorSubject.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground │ ├── PublishSubject.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground │ ├── Relay.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground │ └── ReplaySubject.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground │ └── create.playground │ ├── Contents.swift │ └── contents.xcplayground └── RxSwift-6 ├── MasteringRxSwift.xcodeproj ├── project.pbxproj └── project.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ └── IDEWorkspaceChecks.plist ├── MasteringRxSwift.xcworkspace ├── contents.xcworkspacedata └── xcshareddata │ └── IDEWorkspaceChecks.plist ├── MasteringRxSwift ├── AppDelegate.swift ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ ├── 20.png │ │ ├── 40-1.png │ │ ├── 40.png │ │ ├── 60.png │ │ ├── Contents.json │ │ ├── Icon-App-20x20@2x.png │ │ ├── Icon-App-29x29@1x.png │ │ ├── Icon-App-29x29@2x-1.png │ │ ├── Icon-App-29x29@2x.png │ │ ├── Icon-App-29x29@3x.png │ │ ├── Icon-App-40x40@2x-1.png │ │ ├── Icon-App-40x40@2x.png │ │ ├── Icon-App-60x60@2x-1.png │ │ ├── Icon-App-60x60@2x.png │ │ ├── Icon-App-60x60@3x.png │ │ ├── Icon-App-76x76@1x.png │ │ ├── Icon-App-76x76@2x.png │ │ ├── Icon-App-835x835@2x.png │ │ └── logo1024.png │ ├── Contents.json │ ├── LogoBackground.colorset │ │ └── Contents.json │ └── logo-black.imageset │ │ ├── Contents.json │ │ ├── logo-black.png │ │ └── logo.png ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Common │ └── Models │ │ ├── MaterialColor.swift │ │ └── Product.swift ├── CommunityProjects │ └── NSObject+Rx │ │ └── NSObjectRxViewController.swift ├── CustomExtension │ ├── CustomBinderViewController.swift │ ├── CustomControlEventViewController.swift │ ├── CustomControlPropertyViewController.swift │ ├── CustomExtension.storyboard │ └── DelegateProxyViewController.swift ├── ErrorHandling │ ├── catch.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground │ ├── catchAndReturn.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground │ ├── retry.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground │ └── retryWhen.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground ├── Hello │ └── Hello.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground ├── Info.plist ├── KeyConcepts │ ├── Disposables.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground │ ├── Infallible.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground │ ├── Observables.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground │ ├── Observers.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground │ └── Operators.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground ├── MasteringRxSwift.xcdatamodeld │ ├── .xccurrentversion │ └── MasteringRxSwift.xcdatamodel │ │ └── contents ├── Networking │ ├── Common │ │ └── NetworkCommon.swift │ └── URLSession │ │ ├── CocoaTouchURLSessionViewController.swift │ │ ├── RxCocoaURLSessionViewController.swift │ │ └── URLSession.storyboard ├── Operators │ ├── CombiningOperators │ │ ├── combineLatest.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── concat.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── merge.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── reduce.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── sample.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── startWith.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── switchLatest.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── withLatestFrom.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ └── zip.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ ├── ConditionalOperators │ │ └── amb.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ ├── CreatingOperators │ │ ├── create.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── deferred.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── empty.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── error.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── from.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── generate.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── just.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── of.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── range.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ └── repeatElement.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ ├── FilteringOperators │ │ ├── debounce.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── distinctUntilChanged.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── elementAt.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── filter.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── ignoreElements.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── sample.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── sampleLatest.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── single.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── skip.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── skipDuration.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── skipUntil.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── skipWhile.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── take.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── takeFor.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── takeLast.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── takeUntil.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── takeWhile.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ └── throttle.playground │ │ │ ├── Pages │ │ │ ├── Page1.xcplaygroundpage │ │ │ │ └── Contents.swift │ │ │ └── Page2.xcplaygroundpage │ │ │ │ └── Contents.swift │ │ │ └── contents.xcplayground │ ├── TimeBasedOperators │ │ ├── delay.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── delaySubscription.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── interval.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ ├── timeout.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ │ └── timer.playground │ │ │ ├── Contents.swift │ │ │ └── contents.xcplayground │ └── TransformingOperators │ │ ├── buffer.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground │ │ ├── compactMap.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground │ │ ├── concatMap.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground │ │ ├── flatMap.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground │ │ ├── flatMapFirst.playground │ │ ├── Pages │ │ │ ├── 1.xcplaygroundpage │ │ │ │ └── Contents.swift │ │ │ └── 2.xcplaygroundpage │ │ │ │ └── Contents.swift │ │ └── contents.xcplayground │ │ ├── flatMapLatest.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground │ │ ├── groupBy.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground │ │ ├── map.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground │ │ ├── scan.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground │ │ ├── toArray.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground │ │ └── window.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground ├── RxCocoaBasics │ ├── Binding │ │ ├── Binding.storyboard │ │ ├── BindingCocoaTouchViewController.swift │ │ └── BindingRxCocoaViewController.swift │ ├── ControlPropertyControlEvent │ │ ├── ControlPropertyControlEvent.storyboard │ │ ├── ControlPropertyControlEventCocoaTouchViewController.swift │ │ └── ControlPropertyControlEventRxCocoaViewController.swift │ ├── Driver │ │ ├── Driver.storyboard │ │ └── DriverViewController.swift │ └── Hello │ │ ├── Hello.storyboard │ │ ├── HelloCocoaTouchViewController.swift │ │ └── HelloRxCocoaViewController.swift ├── RxCocoaCommonPatterns │ ├── ActivityIndicatorView │ │ ├── ActivityIndicatorView.storyboard │ │ ├── CocoaTouchActivityIndicatorViewViewController.swift │ │ └── RxCocoaActivityIndicatorViewViewController.swift │ ├── AlertController │ │ ├── AlertController.storyboard │ │ ├── CocoaTouchAlertViewController.swift │ │ └── RxCocoaAlertViewController.swift │ ├── Button │ │ ├── Button.storyboard │ │ ├── CocoaTouchButtonViewController.swift │ │ └── RxCocoaButtonViewController.swift │ ├── CollectionView │ │ ├── Cell │ │ │ └── ColorCollectionViewCell.swift │ │ ├── CocoaTouchCollectionViewViewController.swift │ │ ├── CollectionView.storyboard │ │ └── RxCocoaCollectionViewViewController.swift │ ├── DatePicker │ │ ├── CocoaTouchDatePickerViewController.swift │ │ ├── DatePicker.storyboard │ │ └── RxCocoaDatePickerViewController.swift │ ├── Gesture │ │ ├── CocoaTouchGestureViewController.swift │ │ ├── Gesture.storyboard │ │ └── RxCocoaGestureViewController.swift │ ├── ImageView │ │ ├── CocoaTouchImageViewViewController.swift │ │ ├── ImageView.storyboard │ │ └── RxCocoaImageViewViewController.swift │ ├── NotificationCenter │ │ ├── CocoaTouchNotificationCenterViewController.swift │ │ ├── NotificationCenter.storyboard │ │ └── RxCocoaNotificationCenterViewController.swift │ ├── PageControl │ │ ├── CocoaTouchPageControlViewController.swift │ │ ├── PageControl.storyboard │ │ └── RxCocoaPageControlViewController.swift │ ├── PickerView │ │ ├── CocoaTouchPickerViewViewController.swift │ │ ├── PickerView.storyboard │ │ └── RxCocoaPickerViewViewController.swift │ ├── ProgressView │ │ ├── CocoaTouchProgressViewViewController.swift │ │ ├── ProgressView.storyboard │ │ └── RxCocoaProgressViewViewController.swift │ ├── RxCocoaCommonPatterns.storyboard │ ├── SearchBar │ │ ├── CocoaTouchSearchBarViewController.swift │ │ ├── RxCocoaSearchBarViewController.swift │ │ └── SearchBar.storyboard │ ├── SegmentedControl │ │ ├── CocoaTouchSegmentedControlViewController.swift │ │ ├── RxCocoaSegmentedControlViewController.swift │ │ └── SegmentedControl.storyboard │ ├── Slider │ │ ├── CocoaTouchSliderViewController.swift │ │ ├── RxCocoaSliderViewController.swift │ │ └── Slider.storyboard │ ├── Stepper │ │ ├── CocoaTouchStepperViewController.swift │ │ ├── RxCocoaStepperViewController.swift │ │ └── Stepper.storyboard │ ├── Switch │ │ ├── CocoaTouchSwitchViewController.swift │ │ ├── RxCocoaSwitchViewController.swift │ │ └── Switch.storyboard │ ├── TableView │ │ ├── Cell │ │ │ └── ProductTableViewCell.swift │ │ ├── CocoaTouchTableViewViewController.swift │ │ ├── RxCocoaTableViewViewController.swift │ │ └── TableView.storyboard │ ├── Text │ │ ├── CocoaTouchTextViewController.swift │ │ ├── RxCocoaTextViewController.swift │ │ └── Text.storyboard │ ├── View │ │ ├── CocoaTouchViewViewController.swift │ │ ├── RxCocoaViewViewController.swift │ │ └── View.storyboard │ └── WebView │ │ ├── CocoaTouchWebViewViewController.swift │ │ ├── RxCocoaWebViewViewController.swift │ │ └── WebView.storyboard ├── SceneDelegate.swift ├── Schedulers │ └── scheduler.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground ├── SharingSubscription │ ├── multicast.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground │ ├── overveiw.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground │ ├── publish.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground │ ├── refCount.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground │ ├── replay.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground │ └── share.playground │ │ ├── Contents.swift │ │ └── contents.xcplayground └── Subjects │ ├── AsyncSubject.playground │ ├── Contents.swift │ └── contents.xcplayground │ ├── BehaviorSubject.playground │ ├── Contents.swift │ └── contents.xcplayground │ ├── PublishSubject.playground │ ├── Contents.swift │ └── contents.xcplayground │ ├── Relay.playground │ ├── Contents.swift │ └── contents.xcplayground │ └── ReplaySubject.playground │ ├── Contents.swift │ └── contents.xcplayground ├── Podfile └── Podfile.lock /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 KxCoding 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 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Mastering-RxSwift 2 | 3 | https://kxcoding.com/course/mastering-rxswift 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/ErrorHandling/catchError.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/ErrorHandling/catchErrorJustReturn.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/ErrorHandling/retry.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/ErrorHandling/retryWhen.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Hello/Hello.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /RxSwift-5/main/Hello/Hello.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/KeyConcepts/Disposables.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | 26 | /*: 27 | # Disposables 28 | */ 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /RxSwift-5/main/KeyConcepts/Disposables.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/KeyConcepts/Observables.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | 26 | /*: 27 | # Observables 28 | */ 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /RxSwift-5/main/KeyConcepts/Observables.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/KeyConcepts/Observers.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/KeyConcepts/Operators.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 9 | 10 | 11 | 13 | 14 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/.qicon: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KxCoding/Mastering-RxSwift/88fe9708e4724561d451e45a2f8b16338a120b7e/RxSwift-5/main/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/.qicon -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KxCoding/Mastering-RxSwift/88fe9708e4724561d451e45a2f8b16338a120b7e/RxSwift-5/main/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/20.png -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/40-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KxCoding/Mastering-RxSwift/88fe9708e4724561d451e45a2f8b16338a120b7e/RxSwift-5/main/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/40-1.png -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KxCoding/Mastering-RxSwift/88fe9708e4724561d451e45a2f8b16338a120b7e/RxSwift-5/main/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/40.png -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KxCoding/Mastering-RxSwift/88fe9708e4724561d451e45a2f8b16338a120b7e/RxSwift-5/main/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/60.png -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KxCoding/Mastering-RxSwift/88fe9708e4724561d451e45a2f8b16338a120b7e/RxSwift-5/main/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KxCoding/Mastering-RxSwift/88fe9708e4724561d451e45a2f8b16338a120b7e/RxSwift-5/main/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KxCoding/Mastering-RxSwift/88fe9708e4724561d451e45a2f8b16338a120b7e/RxSwift-5/main/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x-1.png -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KxCoding/Mastering-RxSwift/88fe9708e4724561d451e45a2f8b16338a120b7e/RxSwift-5/main/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KxCoding/Mastering-RxSwift/88fe9708e4724561d451e45a2f8b16338a120b7e/RxSwift-5/main/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KxCoding/Mastering-RxSwift/88fe9708e4724561d451e45a2f8b16338a120b7e/RxSwift-5/main/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x-1.png -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KxCoding/Mastering-RxSwift/88fe9708e4724561d451e45a2f8b16338a120b7e/RxSwift-5/main/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KxCoding/Mastering-RxSwift/88fe9708e4724561d451e45a2f8b16338a120b7e/RxSwift-5/main/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x-1.png -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KxCoding/Mastering-RxSwift/88fe9708e4724561d451e45a2f8b16338a120b7e/RxSwift-5/main/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KxCoding/Mastering-RxSwift/88fe9708e4724561d451e45a2f8b16338a120b7e/RxSwift-5/main/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KxCoding/Mastering-RxSwift/88fe9708e4724561d451e45a2f8b16338a120b7e/RxSwift-5/main/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KxCoding/Mastering-RxSwift/88fe9708e4724561d451e45a2f8b16338a120b7e/RxSwift-5/main/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-835x835@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KxCoding/Mastering-RxSwift/88fe9708e4724561d451e45a2f8b16338a120b7e/RxSwift-5/main/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-835x835@2x.png -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/logo1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KxCoding/Mastering-RxSwift/88fe9708e4724561d451e45a2f8b16338a120b7e/RxSwift-5/main/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/logo1024.png -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/Assets.xcassets/logo-black.imageset/.qicon: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KxCoding/Mastering-RxSwift/88fe9708e4724561d451e45a2f8b16338a120b7e/RxSwift-5/main/MasteringRxSwift/Assets.xcassets/logo-black.imageset/.qicon -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/Assets.xcassets/logo-black.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "scale" : "2x" 10 | }, 11 | { 12 | "idiom" : "universal", 13 | "filename" : "logo-black.png", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/Assets.xcassets/logo-black.imageset/logo-black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KxCoding/Mastering-RxSwift/88fe9708e4724561d451e45a2f8b16338a120b7e/RxSwift-5/main/MasteringRxSwift/Assets.xcassets/logo-black.imageset/logo-black.png -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/and.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | import RxSwiftExt 26 | 27 | let bag = DisposeBag() 28 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/and.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/apply.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | import RxSwiftExt 26 | 27 | let bag = DisposeBag() 28 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/apply.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/bufferWithTrigger.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | import RxSwiftExt 26 | 27 | let bag = DisposeBag() 28 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/bufferWithTrigger.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/cascade.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | import RxSwiftExt 26 | 27 | let bag = DisposeBag() 28 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/cascade.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/catchErrorJustComplete.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | import RxSwiftExt 26 | 27 | let bag = DisposeBag() 28 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/catchErrorJustComplete.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/count.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | import RxSwiftExt 26 | 27 | let bag = DisposeBag() 28 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/count.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/distinct.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/elements.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | import RxSwiftExt 26 | 27 | let bag = DisposeBag() 28 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/elements.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/errors.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | import RxSwiftExt 26 | 27 | let bag = DisposeBag() 28 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/errors.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/filterMap.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | import RxSwiftExt 26 | 27 | let bag = DisposeBag() 28 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/filterMap.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/fromAsync.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | import RxSwiftExt 26 | 27 | let bag = DisposeBag() 28 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/fromAsync.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/ignore.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/ignoreWhen.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/map.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | import RxSwiftExt 26 | 27 | let bag = DisposeBag() 28 | 29 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/map.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/mergeWith.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | import RxSwiftExt 26 | 27 | let bag = DisposeBag() 28 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/mergeWith.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/not.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | import RxSwiftExt 26 | 27 | let bag = DisposeBag() 28 | 29 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/not.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/nwise.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | import RxSwiftExt 26 | 27 | let bag = DisposeBag() 28 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/nwise.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/once.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/pairwise.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | import RxSwiftExt 26 | 27 | let bag = DisposeBag() 28 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/pairwise.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/partition.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | import RxSwiftExt 26 | 27 | let bag = DisposeBag() 28 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/partition.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/pausable.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | import RxSwiftExt 26 | 27 | let bag = DisposeBag() 28 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/pausable.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/pausableBuferred.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | import RxSwiftExt 26 | 27 | let bag = DisposeBag() 28 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/pausableBuferred.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/retry.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | import RxSwiftExt 26 | 27 | let bag = DisposeBag() 28 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/retry.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/retryWithBehavior.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | import RxSwiftExt 26 | 27 | let bag = DisposeBag() 28 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/retryWithBehavior.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/unwrap.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/withUnretained.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | import RxSwiftExt 26 | 27 | let bag = DisposeBag() 28 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/withUnretained.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/zipWith.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | import RxSwiftExt 26 | 27 | let bag = DisposeBag() 28 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/CommunityProjects/RxSwiftExt/zipWith.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/MasteringRxSwift/RxCocoaBasics/Hello/HelloRxCocoaViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // HelloRxCocoaViewController.swift 3 | // MasteringRxSwift 4 | // 5 | // Created by Keun young Kim on 26/08/2019. 6 | // Copyright © 2019 Keun young Kim. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import RxSwift 11 | import RxCocoa 12 | 13 | class HelloRxCocoaViewController: UIViewController { 14 | 15 | let bag = DisposeBag() 16 | 17 | @IBOutlet weak var valueLabel: UILabel! 18 | 19 | @IBOutlet weak var tapButton: UIButton! 20 | 21 | override func viewDidLoad() { 22 | super.viewDidLoad() 23 | 24 | 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Combining Operators/combineLatest.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Combining Operators/concat.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Combining Operators/merge.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Combining Operators/reduce.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Combining Operators/sample.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Combining Operators/startWith.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | 26 | /*: 27 | # startWith 28 | */ 29 | 30 | let bag = DisposeBag() 31 | let numbers = [1, 2, 3, 4, 5] 32 | 33 | 34 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Combining Operators/startWith.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Combining Operators/switchLatest.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Combining Operators/withLatestFrom.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Combining Operators/zip.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Conditional Operators/amb.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Creating Operators/create.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | 26 | /*: 27 | # create 28 | */ 29 | 30 | let disposeBag = DisposeBag() 31 | 32 | enum MyError: Error { 33 | case error 34 | } 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Creating Operators/create.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Creating Operators/empty.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | 26 | /*: 27 | # empty 28 | */ 29 | 30 | let disposeBag = DisposeBag() 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Creating Operators/empty.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Creating Operators/error.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Creating Operators/from.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Creating Operators/generate.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | 26 | /*: 27 | # generate 28 | */ 29 | 30 | let disposeBag = DisposeBag() 31 | let red = "🔴" 32 | let blue = "🔵" 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Creating Operators/generate.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Creating Operators/just.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Creating Operators/of.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Creating Operators/range.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Creating Operators/repeatElement.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | 26 | /*: 27 | # repeatElement 28 | */ 29 | 30 | let disposeBag = DisposeBag() 31 | let element = "❤️" 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Creating Operators/repeatElement.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Filtering Operators/debounce.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Filtering Operators/distinctUntilChanged.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | 26 | /*: 27 | # distinctUntilChanged 28 | */ 29 | 30 | let disposeBag = DisposeBag() 31 | let numbers = [1, 1, 3, 2, 2, 3, 1, 5, 5, 7, 7, 7] 32 | 33 | 34 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Filtering Operators/distinctUntilChanged.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Filtering Operators/elementAt.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Filtering Operators/filter.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | 26 | /*: 27 | # filter 28 | */ 29 | 30 | let disposeBag = DisposeBag() 31 | let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Filtering Operators/filter.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Filtering Operators/ignoreElements.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Filtering Operators/sample.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | 26 | /*: 27 | # sample 28 | */ 29 | 30 | let disposeBag = DisposeBag() 31 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Filtering Operators/sample.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Filtering Operators/sampleLatest.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | 26 | /*: 27 | # sampleLatest 28 | */ 29 | 30 | let disposeBag = DisposeBag() 31 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Filtering Operators/sampleLatest.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Filtering Operators/single.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | 26 | /*: 27 | # single 28 | */ 29 | 30 | let disposeBag = DisposeBag() 31 | let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 32 | 33 | 34 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Filtering Operators/single.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Filtering Operators/skip.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | 26 | /*: 27 | # skip 28 | */ 29 | 30 | let disposeBag = DisposeBag() 31 | let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Filtering Operators/skip.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Filtering Operators/skipUntil.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | 26 | /*: 27 | # skipUntil 28 | */ 29 | 30 | let disposeBag = DisposeBag() 31 | 32 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Filtering Operators/skipUntil.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Filtering Operators/skipWhile.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | 26 | /*: 27 | # skipWhile 28 | */ 29 | 30 | let disposeBag = DisposeBag() 31 | let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 32 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Filtering Operators/skipWhile.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Filtering Operators/take.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | 26 | /*: 27 | # take 28 | */ 29 | 30 | let disposeBag = DisposeBag() 31 | let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 32 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Filtering Operators/take.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Filtering Operators/takeLast.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | 26 | /*: 27 | # takeLast 28 | */ 29 | 30 | let disposeBag = DisposeBag() 31 | let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Filtering Operators/takeLast.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Filtering Operators/takeUntil.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | 26 | /*: 27 | # takeUntil 28 | */ 29 | 30 | let disposeBag = DisposeBag() 31 | let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 32 | 33 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Filtering Operators/takeUntil.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Filtering Operators/takeWhile.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | 26 | /*: 27 | # takeWhile 28 | */ 29 | 30 | let disposeBag = DisposeBag() 31 | let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 32 | 33 | 34 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Filtering Operators/takeWhile.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Filtering Operators/throttle.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Time-based Operators/delay.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Time-based Operators/delaySubscription.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Time-based Operators/interval.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | 26 | /*: 27 | # interval 28 | */ 29 | 30 | 31 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Time-based Operators/interval.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Time-based Operators/timeout.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | 26 | /*: 27 | # timeout 28 | */ 29 | 30 | let bag = DisposeBag() 31 | 32 | let subject = PublishSubject() 33 | 34 | 35 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Time-based Operators/timeout.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Time-based Operators/timer.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | 26 | /*: 27 | # timer 28 | */ 29 | 30 | let bag = DisposeBag() 31 | 32 | 33 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Time-based Operators/timer.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Transforming Operators/buffer.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | 26 | /*: 27 | # buffer 28 | */ 29 | 30 | let disposeBag = DisposeBag() 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Transforming Operators/buffer.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Transforming Operators/flatMap.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | 26 | /*: 27 | # flatMap 28 | */ 29 | 30 | let disposeBag = DisposeBag() 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Transforming Operators/flatMap.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Transforming Operators/flatMapFirst.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Transforming Operators/flatMapLatest.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Transforming Operators/groupBy.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | 26 | /*: 27 | # groupBy 28 | */ 29 | 30 | let disposeBag = DisposeBag() 31 | let words = ["Apple", "Banana", "Orange", "Book", "City", "Axe"] 32 | 33 | 34 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Transforming Operators/groupBy.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Transforming Operators/map.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | 26 | /*: 27 | # map 28 | */ 29 | 30 | let disposeBag = DisposeBag() 31 | let skills = ["Swift", "SwiftUI", "RxSwift"] 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Transforming Operators/map.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Transforming Operators/scan.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | 26 | /*: 27 | # scan 28 | */ 29 | 30 | let disposeBag = DisposeBag() 31 | 32 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Transforming Operators/scan.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Transforming Operators/toArray.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | 26 | /*: 27 | # toArray 28 | */ 29 | 30 | let disposeBag = DisposeBag() 31 | 32 | 33 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Transforming Operators/toArray.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Transforming Operators/window.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | 26 | /*: 27 | # window 28 | */ 29 | 30 | let disposeBag = DisposeBag() 31 | 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/Transforming Operators/window.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Operators/deferred.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Podfile: -------------------------------------------------------------------------------- 1 | # Uncomment the next line to define a global platform for your project 2 | # platform :ios, '9.0' 3 | 4 | target 'MasteringRxSwift' do 5 | # Comment the next line if you're not using Swift and don't want to use dynamic frameworks 6 | use_frameworks! 7 | 8 | # Pods for MasteringRxSwift 9 | pod 'RxSwift', '~> 5.0.0' 10 | pod 'RxCocoa' 11 | 12 | # RxSwift Community Projects 13 | pod 'NSObject+Rx' 14 | pod 'RxSwiftExt' 15 | pod 'Action' 16 | pod 'RxDataSources' 17 | pod "RxGesture" 18 | pod 'RxReachability' 19 | pod 'RxKeyboard' 20 | 21 | # Networking 22 | pod 'RxAlamofire' 23 | end 24 | -------------------------------------------------------------------------------- /RxSwift-5/main/Scheduler/Scheduler.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/SharingSubscription/multicast.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/SharingSubscription/overview.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/SharingSubscription/publish.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/SharingSubscription/refCount.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/SharingSubscription/replay.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/SharingSubscription/share.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Subjects/AsyncSubject.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | import RxCocoa 26 | 27 | /*: 28 | # AsyncSubject 29 | */ 30 | 31 | let bag = DisposeBag() 32 | 33 | enum MyError: Error { 34 | case error 35 | } 36 | 37 | -------------------------------------------------------------------------------- /RxSwift-5/main/Subjects/AsyncSubject.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Subjects/BehaviorSubject.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | 26 | 27 | 28 | /*: 29 | # BehaviorSubject 30 | */ 31 | 32 | let disposeBag = DisposeBag() 33 | 34 | enum MyError: Error { 35 | case error 36 | } 37 | 38 | -------------------------------------------------------------------------------- /RxSwift-5/main/Subjects/BehaviorSubject.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Subjects/PublishSubject.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | 26 | 27 | /*: 28 | # PublishSubject 29 | */ 30 | 31 | let disposeBag = DisposeBag() 32 | 33 | enum MyError: Error { 34 | case error 35 | } 36 | 37 | -------------------------------------------------------------------------------- /RxSwift-5/main/Subjects/PublishSubject.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Subjects/Relay.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | import RxCocoa 26 | 27 | /*: 28 | # Relay 29 | */ 30 | 31 | let bag = DisposeBag() 32 | 33 | 34 | -------------------------------------------------------------------------------- /RxSwift-5/main/Subjects/Relay.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/Subjects/ReplaySubject.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2019 KxCoding 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | import UIKit 24 | import RxSwift 25 | 26 | 27 | /*: 28 | # ReplaySubject 29 | */ 30 | 31 | let disposeBag = DisposeBag() 32 | 33 | enum MyError: Error { 34 | case error 35 | } 36 | 37 | 38 | -------------------------------------------------------------------------------- /RxSwift-5/main/Subjects/ReplaySubject.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-5/main/create.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | import UIKit 2 | import RxSwift 3 | 4 | var str = "Hello, playground" 5 | 6 | -------------------------------------------------------------------------------- /RxSwift-5/main/create.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "idiom" : "universal" 5 | } 6 | ], 7 | "info" : { 8 | "author" : "xcode", 9 | "version" : 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KxCoding/Mastering-RxSwift/88fe9708e4724561d451e45a2f8b16338a120b7e/RxSwift-6/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/20.png -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/40-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KxCoding/Mastering-RxSwift/88fe9708e4724561d451e45a2f8b16338a120b7e/RxSwift-6/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/40-1.png -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KxCoding/Mastering-RxSwift/88fe9708e4724561d451e45a2f8b16338a120b7e/RxSwift-6/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/40.png -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KxCoding/Mastering-RxSwift/88fe9708e4724561d451e45a2f8b16338a120b7e/RxSwift-6/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/60.png -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KxCoding/Mastering-RxSwift/88fe9708e4724561d451e45a2f8b16338a120b7e/RxSwift-6/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KxCoding/Mastering-RxSwift/88fe9708e4724561d451e45a2f8b16338a120b7e/RxSwift-6/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KxCoding/Mastering-RxSwift/88fe9708e4724561d451e45a2f8b16338a120b7e/RxSwift-6/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x-1.png -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KxCoding/Mastering-RxSwift/88fe9708e4724561d451e45a2f8b16338a120b7e/RxSwift-6/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KxCoding/Mastering-RxSwift/88fe9708e4724561d451e45a2f8b16338a120b7e/RxSwift-6/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KxCoding/Mastering-RxSwift/88fe9708e4724561d451e45a2f8b16338a120b7e/RxSwift-6/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x-1.png -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KxCoding/Mastering-RxSwift/88fe9708e4724561d451e45a2f8b16338a120b7e/RxSwift-6/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KxCoding/Mastering-RxSwift/88fe9708e4724561d451e45a2f8b16338a120b7e/RxSwift-6/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x-1.png -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KxCoding/Mastering-RxSwift/88fe9708e4724561d451e45a2f8b16338a120b7e/RxSwift-6/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KxCoding/Mastering-RxSwift/88fe9708e4724561d451e45a2f8b16338a120b7e/RxSwift-6/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KxCoding/Mastering-RxSwift/88fe9708e4724561d451e45a2f8b16338a120b7e/RxSwift-6/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KxCoding/Mastering-RxSwift/88fe9708e4724561d451e45a2f8b16338a120b7e/RxSwift-6/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-835x835@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KxCoding/Mastering-RxSwift/88fe9708e4724561d451e45a2f8b16338a120b7e/RxSwift-6/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/Icon-App-835x835@2x.png -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/logo1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KxCoding/Mastering-RxSwift/88fe9708e4724561d451e45a2f8b16338a120b7e/RxSwift-6/MasteringRxSwift/Assets.xcassets/AppIcon.appiconset/logo1024.png -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Assets.xcassets/LogoBackground.colorset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors" : [ 3 | { 4 | "color" : { 5 | "color-space" : "srgb", 6 | "components" : { 7 | "alpha" : "1.000", 8 | "blue" : "1.000", 9 | "green" : "1.000", 10 | "red" : "1.000" 11 | } 12 | }, 13 | "idiom" : "universal" 14 | }, 15 | { 16 | "appearances" : [ 17 | { 18 | "appearance" : "luminosity", 19 | "value" : "dark" 20 | } 21 | ], 22 | "color" : { 23 | "color-space" : "srgb", 24 | "components" : { 25 | "alpha" : "1.000", 26 | "blue" : "0.259", 27 | "green" : "0.259", 28 | "red" : "0.279" 29 | } 30 | }, 31 | "idiom" : "universal" 32 | } 33 | ], 34 | "info" : { 35 | "author" : "xcode", 36 | "version" : 1 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Assets.xcassets/logo-black.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "appearances" : [ 9 | { 10 | "appearance" : "luminosity", 11 | "value" : "dark" 12 | } 13 | ], 14 | "idiom" : "universal", 15 | "scale" : "1x" 16 | }, 17 | { 18 | "idiom" : "universal", 19 | "scale" : "2x" 20 | }, 21 | { 22 | "appearances" : [ 23 | { 24 | "appearance" : "luminosity", 25 | "value" : "dark" 26 | } 27 | ], 28 | "idiom" : "universal", 29 | "scale" : "2x" 30 | }, 31 | { 32 | "filename" : "logo-black.png", 33 | "idiom" : "universal", 34 | "scale" : "3x" 35 | }, 36 | { 37 | "appearances" : [ 38 | { 39 | "appearance" : "luminosity", 40 | "value" : "dark" 41 | } 42 | ], 43 | "filename" : "logo.png", 44 | "idiom" : "universal", 45 | "scale" : "3x" 46 | } 47 | ], 48 | "info" : { 49 | "author" : "xcode", 50 | "version" : 1 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Assets.xcassets/logo-black.imageset/logo-black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KxCoding/Mastering-RxSwift/88fe9708e4724561d451e45a2f8b16338a120b7e/RxSwift-6/MasteringRxSwift/Assets.xcassets/logo-black.imageset/logo-black.png -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Assets.xcassets/logo-black.imageset/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KxCoding/Mastering-RxSwift/88fe9708e4724561d451e45a2f8b16338a120b7e/RxSwift-6/MasteringRxSwift/Assets.xcassets/logo-black.imageset/logo.png -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/ErrorHandling/catch.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/ErrorHandling/catchAndReturn.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/ErrorHandling/retry.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/ErrorHandling/retryWhen.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Hello/Hello.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Mastering RxSwift 3 | // Copyright (c) KxCoding 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. 22 | // 23 | 24 | import UIKit 25 | import RxSwift 26 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Hello/Hello.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | NSLocationWhenInUseUsageDescription 6 | 사용자의 위치를 파악합니다. 7 | UIApplicationSceneManifest 8 | 9 | UIApplicationSupportsMultipleScenes 10 | 11 | UISceneConfigurations 12 | 13 | UIWindowSceneSessionRoleApplication 14 | 15 | 16 | UISceneConfigurationName 17 | Default Configuration 18 | UISceneDelegateClassName 19 | $(PRODUCT_MODULE_NAME).SceneDelegate 20 | UISceneStoryboardFile 21 | Main 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/KeyConcepts/Disposables.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Mastering RxSwift 3 | // Copyright (c) KxCoding 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. 22 | // 23 | 24 | 25 | import UIKit 26 | import RxSwift 27 | 28 | /*: 29 | # Disposables 30 | */ 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/KeyConcepts/Disposables.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/KeyConcepts/Infallible.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/KeyConcepts/Observables.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Mastering RxSwift 3 | // Copyright (c) KxCoding 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. 22 | // 23 | 24 | import UIKit 25 | import RxSwift 26 | 27 | /*: 28 | # Observables 29 | */ 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/KeyConcepts/Observables.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/KeyConcepts/Observers.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/KeyConcepts/Operators.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/MasteringRxSwift.xcdatamodeld/.xccurrentversion: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | _XCCurrentVersionName 6 | MasteringRxSwift.xcdatamodel 7 | 8 | 9 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/MasteringRxSwift.xcdatamodeld/MasteringRxSwift.xcdatamodel/contents: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/CombiningOperators/combineLatest.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/CombiningOperators/concat.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/CombiningOperators/merge.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/CombiningOperators/reduce.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/CombiningOperators/sample.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/CombiningOperators/startWith.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Mastering RxSwift 3 | // Copyright (c) KxCoding 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. 22 | // 23 | 24 | import UIKit 25 | import RxSwift 26 | 27 | /*: 28 | # startWith 29 | */ 30 | 31 | let bag = DisposeBag() 32 | let numbers = [1, 2, 3, 4, 5] 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/CombiningOperators/startWith.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/CombiningOperators/switchLatest.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/CombiningOperators/withLatestFrom.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/CombiningOperators/zip.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/ConditionalOperators/amb.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/CreatingOperators/create.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/CreatingOperators/deferred.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/CreatingOperators/empty.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Mastering RxSwift 3 | // Copyright (c) KxCoding 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. 22 | // 23 | 24 | import UIKit 25 | import RxSwift 26 | 27 | /*: 28 | # empty 29 | */ 30 | 31 | let disposeBag = DisposeBag() 32 | 33 | 34 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/CreatingOperators/empty.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/CreatingOperators/error.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/CreatingOperators/from.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/CreatingOperators/generate.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/CreatingOperators/just.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Mastering RxSwift 3 | // Copyright (c) KxCoding 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. 22 | // 23 | 24 | import UIKit 25 | import RxSwift 26 | 27 | /*: 28 | # just 29 | */ 30 | 31 | let disposeBag = DisposeBag() 32 | let element = "😀" 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/CreatingOperators/just.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/CreatingOperators/of.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/CreatingOperators/range.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Mastering RxSwift 3 | // Copyright (c) KxCoding 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. 22 | // 23 | 24 | import UIKit 25 | import RxSwift 26 | 27 | /*: 28 | # range 29 | */ 30 | 31 | let disposeBag = DisposeBag() 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/CreatingOperators/range.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/CreatingOperators/repeatElement.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Mastering RxSwift 3 | // Copyright (c) KxCoding 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. 22 | // 23 | 24 | import UIKit 25 | import RxSwift 26 | 27 | /*: 28 | # repeatElement 29 | */ 30 | 31 | let disposeBag = DisposeBag() 32 | let element = "❤️" 33 | 34 | 35 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/CreatingOperators/repeatElement.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/FilteringOperators/debounce.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/FilteringOperators/distinctUntilChanged.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/FilteringOperators/elementAt.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Mastering RxSwift 3 | // Copyright (c) KxCoding 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. 22 | // 23 | 24 | import UIKit 25 | import RxSwift 26 | 27 | /*: 28 | # elementAt 29 | */ 30 | 31 | let disposeBag = DisposeBag() 32 | let fruits = ["🍏", "🍎", "🍋", "🍓", "🍇"] 33 | 34 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/FilteringOperators/elementAt.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/FilteringOperators/filter.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/FilteringOperators/ignoreElements.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/FilteringOperators/sample.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Mastering RxSwift 3 | // Copyright (c) KxCoding 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. 22 | // 23 | 24 | import UIKit 25 | import RxSwift 26 | 27 | /*: 28 | # sample 29 | */ 30 | 31 | 32 | let disposeBag = DisposeBag() 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/FilteringOperators/sample.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/FilteringOperators/sampleLatest.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Mastering RxSwift 3 | // Copyright (c) KxCoding 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. 22 | // 23 | 24 | import UIKit 25 | import RxSwift 26 | 27 | /*: 28 | # sampleLatest 29 | */ 30 | 31 | let disposeBag = DisposeBag() 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/FilteringOperators/sampleLatest.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/FilteringOperators/single.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/FilteringOperators/skip.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Mastering RxSwift 3 | // Copyright (c) KxCoding 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. 22 | // 23 | 24 | import UIKit 25 | import RxSwift 26 | 27 | /*: 28 | # skip 29 | */ 30 | 31 | let disposeBag = DisposeBag() 32 | let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/FilteringOperators/skip.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/FilteringOperators/skipDuration.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/FilteringOperators/skipUntil.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Mastering RxSwift 3 | // Copyright (c) KxCoding 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. 22 | // 23 | 24 | 25 | import UIKit 26 | import RxSwift 27 | 28 | /*: 29 | # skip(until:) 30 | */ 31 | 32 | let disposeBag = DisposeBag() 33 | 34 | 35 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/FilteringOperators/skipUntil.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/FilteringOperators/skipWhile.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/FilteringOperators/take.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Mastering RxSwift 3 | // Copyright (c) KxCoding 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. 22 | // 23 | 24 | import UIKit 25 | import RxSwift 26 | 27 | /*: 28 | # take 29 | */ 30 | 31 | let disposeBag = DisposeBag() 32 | let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 33 | 34 | 35 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/FilteringOperators/take.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/FilteringOperators/takeFor.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/FilteringOperators/takeLast.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Mastering RxSwift 3 | // Copyright (c) KxCoding 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. 22 | // 23 | 24 | import UIKit 25 | import RxSwift 26 | 27 | /*: 28 | # takeLast 29 | */ 30 | 31 | let disposeBag = DisposeBag() 32 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/FilteringOperators/takeLast.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/FilteringOperators/takeUntil.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/FilteringOperators/takeWhile.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/FilteringOperators/throttle.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/TimeBasedOperators/delay.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/TimeBasedOperators/delaySubscription.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/TimeBasedOperators/interval.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Mastering RxSwift 3 | // Copyright (c) KxCoding 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. 22 | // 23 | 24 | import UIKit 25 | import RxSwift 26 | 27 | /*: 28 | # interval 29 | */ 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/TimeBasedOperators/interval.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/TimeBasedOperators/timeout.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/TimeBasedOperators/timer.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Mastering RxSwift 3 | // Copyright (c) KxCoding 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. 22 | // 23 | 24 | import UIKit 25 | import RxSwift 26 | 27 | /*: 28 | # timer 29 | */ 30 | 31 | let bag = DisposeBag() 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/TimeBasedOperators/timer.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/TransformingOperators/buffer.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/TransformingOperators/compactMap.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/TransformingOperators/concatMap.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/TransformingOperators/flatMap.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/TransformingOperators/flatMapFirst.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/TransformingOperators/flatMapLatest.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/TransformingOperators/groupBy.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/TransformingOperators/map.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/TransformingOperators/scan.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Mastering RxSwift 3 | // Copyright (c) KxCoding 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. 22 | // 23 | 24 | import UIKit 25 | import RxSwift 26 | 27 | /*: 28 | # scan 29 | */ 30 | 31 | let disposeBag = DisposeBag() 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/TransformingOperators/scan.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/TransformingOperators/toArray.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Mastering RxSwift 3 | // Copyright (c) KxCoding 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. 22 | // 23 | 24 | import UIKit 25 | import RxSwift 26 | 27 | /*: 28 | # toArray 29 | */ 30 | 31 | let disposeBag = DisposeBag() 32 | 33 | 34 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/TransformingOperators/toArray.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/TransformingOperators/window.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Mastering RxSwift 3 | // Copyright (c) KxCoding 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. 22 | // 23 | 24 | import UIKit 25 | import RxSwift 26 | 27 | /*: 28 | # window 29 | */ 30 | 31 | let disposeBag = DisposeBag() 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Operators/TransformingOperators/window.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Schedulers/scheduler.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/SharingSubscription/multicast.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/SharingSubscription/overveiw.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/SharingSubscription/publish.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/SharingSubscription/refCount.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/SharingSubscription/replay.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/SharingSubscription/share.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Subjects/AsyncSubject.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Subjects/BehaviorSubject.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Subjects/PublishSubject.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Subjects/Relay.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Mastering RxSwift 3 | // Copyright (c) KxCoding 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. 22 | // 23 | 24 | import UIKit 25 | import RxSwift 26 | import RxCocoa 27 | 28 | /*: 29 | # Relay 30 | */ 31 | 32 | let bag = DisposeBag() 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Subjects/Relay.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/MasteringRxSwift/Subjects/ReplaySubject.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RxSwift-6/Podfile: -------------------------------------------------------------------------------- 1 | # Uncomment the next line to define a global platform for your project 2 | # platform :ios, '9.0' 3 | 4 | target 'MasteringRxSwift' do 5 | # Comment the next line if you're not using Swift and don't want to use dynamic frameworks 6 | use_frameworks! 7 | 8 | # Pods for MasteringRxSwift 9 | pod 'RxSwift', '6.2.0' 10 | pod 'RxCocoa' 11 | 12 | # RxSwift Community Projects 13 | pod 'NSObject+Rx' 14 | pod 'RxSwiftExt' 15 | pod 'Action' 16 | pod 'RxDataSources' 17 | pod "RxGesture" 18 | pod 'RxKeyboard' 19 | 20 | # Networking 21 | pod 'RxAlamofire' 22 | end 23 | --------------------------------------------------------------------------------