├── .gitignore ├── CleanSwiftExample.xcodeproj ├── project.pbxproj └── project.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ └── IDEWorkspaceChecks.plist ├── CleanSwiftExample.xcworkspace ├── contents.xcworkspacedata └── xcshareddata │ └── IDEWorkspaceChecks.plist ├── CleanSwiftExample ├── AppDelegate.swift ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json ├── Base.lproj │ └── LaunchScreen.storyboard ├── CoreData │ └── CleanSwiftExample.xcdatamodeld │ │ └── Repository.xcdatamodel │ │ └── contents ├── DataProvider │ ├── CleanSwiftExample.xcdatamodeld │ │ └── CleanSwiftExample.xcdatamodel │ │ │ └── contents │ └── DataProvider.swift ├── Extensions │ ├── ASTextNode+Extension.swift │ └── Rx+Extension.swift ├── Info.plist ├── Models │ ├── Repository.swift │ └── User.swift ├── Nodes │ ├── InformationNode.swift │ └── ProfileNode.swift ├── Scenes │ ├── RepositoryList │ │ ├── Components │ │ │ ├── RepositoryListCellNode.swift │ │ │ └── RepositoryListContainerNode.swift │ │ ├── RepositoryListController.swift │ │ ├── RepositoryListInteractor.swift │ │ ├── RepositoryListModels.swift │ │ ├── RepositoryListPresenter.swift │ │ ├── RepositoryListRouter.swift │ │ └── RepositoryListWorker.swift │ └── RepositoryShow │ │ ├── Components │ │ ├── RepoShowContainerNode.swift │ │ └── RepoShowPinneButtonNode.swift │ │ ├── RepositoryShowController.swift │ │ ├── RepositoryShowInteractor.swift │ │ ├── RepositoryShowModels.swift │ │ ├── RepositoryShowPresenter.swift │ │ ├── RepositoryShowRouter.swift │ │ └── RepositoryShowWorker.swift ├── Services │ ├── NetworkService.swift │ └── RepoAPI.swift ├── Utils │ └── ReactiveDataStore.swift └── Workers │ └── RepositoryCommonWorker.swift ├── CleanSwiftExampleTests ├── Info.plist ├── Scenes │ └── RepositoryShow │ │ ├── RepositoryShowControllerTests.swift │ │ ├── RepositoryShowInteractorTests.swift │ │ ├── RepositoryShowPresenterTests.swift │ │ └── RepositoryShowWorkerTests.swift ├── Workers │ └── RepositoryCommonWorkerTests.swift └── res │ ├── ReadJSONFile.swift │ └── repository.json ├── Podfile ├── Podfile.lock ├── README.md └── res ├── Clean Swift.png ├── Data Passing.png ├── Data Store.png ├── Routing.png ├── VIP Cycle.png └── Worker.png /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/.gitignore -------------------------------------------------------------------------------- /CleanSwiftExample.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExample.xcodeproj/project.pbxproj -------------------------------------------------------------------------------- /CleanSwiftExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /CleanSwiftExample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist -------------------------------------------------------------------------------- /CleanSwiftExample.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExample.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /CleanSwiftExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist -------------------------------------------------------------------------------- /CleanSwiftExample/AppDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExample/AppDelegate.swift -------------------------------------------------------------------------------- /CleanSwiftExample/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExample/Assets.xcassets/AppIcon.appiconset/Contents.json -------------------------------------------------------------------------------- /CleanSwiftExample/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExample/Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /CleanSwiftExample/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExample/Base.lproj/LaunchScreen.storyboard -------------------------------------------------------------------------------- /CleanSwiftExample/CoreData/CleanSwiftExample.xcdatamodeld/Repository.xcdatamodel/contents: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExample/CoreData/CleanSwiftExample.xcdatamodeld/Repository.xcdatamodel/contents -------------------------------------------------------------------------------- /CleanSwiftExample/DataProvider/CleanSwiftExample.xcdatamodeld/CleanSwiftExample.xcdatamodel/contents: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExample/DataProvider/CleanSwiftExample.xcdatamodeld/CleanSwiftExample.xcdatamodel/contents -------------------------------------------------------------------------------- /CleanSwiftExample/DataProvider/DataProvider.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExample/DataProvider/DataProvider.swift -------------------------------------------------------------------------------- /CleanSwiftExample/Extensions/ASTextNode+Extension.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExample/Extensions/ASTextNode+Extension.swift -------------------------------------------------------------------------------- /CleanSwiftExample/Extensions/Rx+Extension.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExample/Extensions/Rx+Extension.swift -------------------------------------------------------------------------------- /CleanSwiftExample/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExample/Info.plist -------------------------------------------------------------------------------- /CleanSwiftExample/Models/Repository.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExample/Models/Repository.swift -------------------------------------------------------------------------------- /CleanSwiftExample/Models/User.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExample/Models/User.swift -------------------------------------------------------------------------------- /CleanSwiftExample/Nodes/InformationNode.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExample/Nodes/InformationNode.swift -------------------------------------------------------------------------------- /CleanSwiftExample/Nodes/ProfileNode.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExample/Nodes/ProfileNode.swift -------------------------------------------------------------------------------- /CleanSwiftExample/Scenes/RepositoryList/Components/RepositoryListCellNode.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExample/Scenes/RepositoryList/Components/RepositoryListCellNode.swift -------------------------------------------------------------------------------- /CleanSwiftExample/Scenes/RepositoryList/Components/RepositoryListContainerNode.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExample/Scenes/RepositoryList/Components/RepositoryListContainerNode.swift -------------------------------------------------------------------------------- /CleanSwiftExample/Scenes/RepositoryList/RepositoryListController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExample/Scenes/RepositoryList/RepositoryListController.swift -------------------------------------------------------------------------------- /CleanSwiftExample/Scenes/RepositoryList/RepositoryListInteractor.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExample/Scenes/RepositoryList/RepositoryListInteractor.swift -------------------------------------------------------------------------------- /CleanSwiftExample/Scenes/RepositoryList/RepositoryListModels.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExample/Scenes/RepositoryList/RepositoryListModels.swift -------------------------------------------------------------------------------- /CleanSwiftExample/Scenes/RepositoryList/RepositoryListPresenter.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExample/Scenes/RepositoryList/RepositoryListPresenter.swift -------------------------------------------------------------------------------- /CleanSwiftExample/Scenes/RepositoryList/RepositoryListRouter.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExample/Scenes/RepositoryList/RepositoryListRouter.swift -------------------------------------------------------------------------------- /CleanSwiftExample/Scenes/RepositoryList/RepositoryListWorker.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExample/Scenes/RepositoryList/RepositoryListWorker.swift -------------------------------------------------------------------------------- /CleanSwiftExample/Scenes/RepositoryShow/Components/RepoShowContainerNode.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExample/Scenes/RepositoryShow/Components/RepoShowContainerNode.swift -------------------------------------------------------------------------------- /CleanSwiftExample/Scenes/RepositoryShow/Components/RepoShowPinneButtonNode.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExample/Scenes/RepositoryShow/Components/RepoShowPinneButtonNode.swift -------------------------------------------------------------------------------- /CleanSwiftExample/Scenes/RepositoryShow/RepositoryShowController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExample/Scenes/RepositoryShow/RepositoryShowController.swift -------------------------------------------------------------------------------- /CleanSwiftExample/Scenes/RepositoryShow/RepositoryShowInteractor.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExample/Scenes/RepositoryShow/RepositoryShowInteractor.swift -------------------------------------------------------------------------------- /CleanSwiftExample/Scenes/RepositoryShow/RepositoryShowModels.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExample/Scenes/RepositoryShow/RepositoryShowModels.swift -------------------------------------------------------------------------------- /CleanSwiftExample/Scenes/RepositoryShow/RepositoryShowPresenter.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExample/Scenes/RepositoryShow/RepositoryShowPresenter.swift -------------------------------------------------------------------------------- /CleanSwiftExample/Scenes/RepositoryShow/RepositoryShowRouter.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExample/Scenes/RepositoryShow/RepositoryShowRouter.swift -------------------------------------------------------------------------------- /CleanSwiftExample/Scenes/RepositoryShow/RepositoryShowWorker.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExample/Scenes/RepositoryShow/RepositoryShowWorker.swift -------------------------------------------------------------------------------- /CleanSwiftExample/Services/NetworkService.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExample/Services/NetworkService.swift -------------------------------------------------------------------------------- /CleanSwiftExample/Services/RepoAPI.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExample/Services/RepoAPI.swift -------------------------------------------------------------------------------- /CleanSwiftExample/Utils/ReactiveDataStore.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExample/Utils/ReactiveDataStore.swift -------------------------------------------------------------------------------- /CleanSwiftExample/Workers/RepositoryCommonWorker.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExample/Workers/RepositoryCommonWorker.swift -------------------------------------------------------------------------------- /CleanSwiftExampleTests/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExampleTests/Info.plist -------------------------------------------------------------------------------- /CleanSwiftExampleTests/Scenes/RepositoryShow/RepositoryShowControllerTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExampleTests/Scenes/RepositoryShow/RepositoryShowControllerTests.swift -------------------------------------------------------------------------------- /CleanSwiftExampleTests/Scenes/RepositoryShow/RepositoryShowInteractorTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExampleTests/Scenes/RepositoryShow/RepositoryShowInteractorTests.swift -------------------------------------------------------------------------------- /CleanSwiftExampleTests/Scenes/RepositoryShow/RepositoryShowPresenterTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExampleTests/Scenes/RepositoryShow/RepositoryShowPresenterTests.swift -------------------------------------------------------------------------------- /CleanSwiftExampleTests/Scenes/RepositoryShow/RepositoryShowWorkerTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExampleTests/Scenes/RepositoryShow/RepositoryShowWorkerTests.swift -------------------------------------------------------------------------------- /CleanSwiftExampleTests/Workers/RepositoryCommonWorkerTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExampleTests/Workers/RepositoryCommonWorkerTests.swift -------------------------------------------------------------------------------- /CleanSwiftExampleTests/res/ReadJSONFile.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExampleTests/res/ReadJSONFile.swift -------------------------------------------------------------------------------- /CleanSwiftExampleTests/res/repository.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/CleanSwiftExampleTests/res/repository.json -------------------------------------------------------------------------------- /Podfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/Podfile -------------------------------------------------------------------------------- /Podfile.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/Podfile.lock -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/README.md -------------------------------------------------------------------------------- /res/Clean Swift.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/res/Clean Swift.png -------------------------------------------------------------------------------- /res/Data Passing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/res/Data Passing.png -------------------------------------------------------------------------------- /res/Data Store.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/res/Data Store.png -------------------------------------------------------------------------------- /res/Routing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/res/Routing.png -------------------------------------------------------------------------------- /res/VIP Cycle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/res/VIP Cycle.png -------------------------------------------------------------------------------- /res/Worker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeekTree0101/RxCleanSwift/HEAD/res/Worker.png --------------------------------------------------------------------------------