├── Cartfile ├── Cartfile.resolved ├── README.md ├── RealWorldReSwift.xcodeproj └── project.pbxproj ├── RealWorldReSwift ├── Actions.swift ├── AppDelegate.swift ├── AppReducer.swift ├── AppState.swift ├── AppStore.swift ├── Emitters & Observers │ ├── LocationEmitter.swift │ └── LocationObserver.swift ├── Middleware │ ├── Middleware.swift │ └── SimpleMiddleware.swift ├── Models │ ├── CLLocationCoordinate2D+Codable.swift │ ├── Geometry.swift │ ├── Place.swift │ ├── PlacesSearchResult.swift │ └── PriceLevel.swift ├── Networking │ ├── NetworkFetcher.swift │ ├── PlacesService.swift │ └── Result.swift ├── Util │ ├── CLAuthorizationStatus+IsAuthorized.swift │ ├── Info.plist │ ├── Loadable.swift │ └── LocationManager.swift └── Views │ ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json │ ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard │ ├── PlaceTableViewCell.swift │ └── ViewController.swift └── RealWorldReSwiftTests ├── AppReducerTests.swift ├── Emitters & Observers ├── LocationEmitterTests.swift └── LocationObserverTests.swift ├── Fakes ├── FakeAction.swift ├── FakeLocationManger.swift ├── FakeNetworkFetcher.swift ├── FakePlacesService.swift └── FakeReducer.swift ├── Info.plist ├── Middlewaqre ├── MiddlewareTests.swift └── SimpleMiddlewareTests.swift ├── Mocks └── MockURLSession.swift ├── Networking ├── NetworkFetcherTests.swift └── PlacesServiceTests.swift └── Util └── CLLocationCoordinate2DTests.swift /Cartfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t-unit/ReSwift-in-Practice/HEAD/Cartfile -------------------------------------------------------------------------------- /Cartfile.resolved: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t-unit/ReSwift-in-Practice/HEAD/Cartfile.resolved -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t-unit/ReSwift-in-Practice/HEAD/README.md -------------------------------------------------------------------------------- /RealWorldReSwift.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t-unit/ReSwift-in-Practice/HEAD/RealWorldReSwift.xcodeproj/project.pbxproj -------------------------------------------------------------------------------- /RealWorldReSwift/Actions.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t-unit/ReSwift-in-Practice/HEAD/RealWorldReSwift/Actions.swift -------------------------------------------------------------------------------- /RealWorldReSwift/AppDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t-unit/ReSwift-in-Practice/HEAD/RealWorldReSwift/AppDelegate.swift -------------------------------------------------------------------------------- /RealWorldReSwift/AppReducer.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t-unit/ReSwift-in-Practice/HEAD/RealWorldReSwift/AppReducer.swift -------------------------------------------------------------------------------- /RealWorldReSwift/AppState.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t-unit/ReSwift-in-Practice/HEAD/RealWorldReSwift/AppState.swift -------------------------------------------------------------------------------- /RealWorldReSwift/AppStore.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t-unit/ReSwift-in-Practice/HEAD/RealWorldReSwift/AppStore.swift -------------------------------------------------------------------------------- /RealWorldReSwift/Emitters & Observers/LocationEmitter.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t-unit/ReSwift-in-Practice/HEAD/RealWorldReSwift/Emitters & Observers/LocationEmitter.swift -------------------------------------------------------------------------------- /RealWorldReSwift/Emitters & Observers/LocationObserver.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t-unit/ReSwift-in-Practice/HEAD/RealWorldReSwift/Emitters & Observers/LocationObserver.swift -------------------------------------------------------------------------------- /RealWorldReSwift/Middleware/Middleware.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t-unit/ReSwift-in-Practice/HEAD/RealWorldReSwift/Middleware/Middleware.swift -------------------------------------------------------------------------------- /RealWorldReSwift/Middleware/SimpleMiddleware.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t-unit/ReSwift-in-Practice/HEAD/RealWorldReSwift/Middleware/SimpleMiddleware.swift -------------------------------------------------------------------------------- /RealWorldReSwift/Models/CLLocationCoordinate2D+Codable.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t-unit/ReSwift-in-Practice/HEAD/RealWorldReSwift/Models/CLLocationCoordinate2D+Codable.swift -------------------------------------------------------------------------------- /RealWorldReSwift/Models/Geometry.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t-unit/ReSwift-in-Practice/HEAD/RealWorldReSwift/Models/Geometry.swift -------------------------------------------------------------------------------- /RealWorldReSwift/Models/Place.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t-unit/ReSwift-in-Practice/HEAD/RealWorldReSwift/Models/Place.swift -------------------------------------------------------------------------------- /RealWorldReSwift/Models/PlacesSearchResult.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t-unit/ReSwift-in-Practice/HEAD/RealWorldReSwift/Models/PlacesSearchResult.swift -------------------------------------------------------------------------------- /RealWorldReSwift/Models/PriceLevel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t-unit/ReSwift-in-Practice/HEAD/RealWorldReSwift/Models/PriceLevel.swift -------------------------------------------------------------------------------- /RealWorldReSwift/Networking/NetworkFetcher.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t-unit/ReSwift-in-Practice/HEAD/RealWorldReSwift/Networking/NetworkFetcher.swift -------------------------------------------------------------------------------- /RealWorldReSwift/Networking/PlacesService.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t-unit/ReSwift-in-Practice/HEAD/RealWorldReSwift/Networking/PlacesService.swift -------------------------------------------------------------------------------- /RealWorldReSwift/Networking/Result.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t-unit/ReSwift-in-Practice/HEAD/RealWorldReSwift/Networking/Result.swift -------------------------------------------------------------------------------- /RealWorldReSwift/Util/ CLAuthorizationStatus+IsAuthorized.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t-unit/ReSwift-in-Practice/HEAD/RealWorldReSwift/Util/ CLAuthorizationStatus+IsAuthorized.swift -------------------------------------------------------------------------------- /RealWorldReSwift/Util/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t-unit/ReSwift-in-Practice/HEAD/RealWorldReSwift/Util/Info.plist -------------------------------------------------------------------------------- /RealWorldReSwift/Util/Loadable.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t-unit/ReSwift-in-Practice/HEAD/RealWorldReSwift/Util/Loadable.swift -------------------------------------------------------------------------------- /RealWorldReSwift/Util/LocationManager.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t-unit/ReSwift-in-Practice/HEAD/RealWorldReSwift/Util/LocationManager.swift -------------------------------------------------------------------------------- /RealWorldReSwift/Views/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t-unit/ReSwift-in-Practice/HEAD/RealWorldReSwift/Views/Assets.xcassets/AppIcon.appiconset/Contents.json -------------------------------------------------------------------------------- /RealWorldReSwift/Views/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t-unit/ReSwift-in-Practice/HEAD/RealWorldReSwift/Views/Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /RealWorldReSwift/Views/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t-unit/ReSwift-in-Practice/HEAD/RealWorldReSwift/Views/Base.lproj/LaunchScreen.storyboard -------------------------------------------------------------------------------- /RealWorldReSwift/Views/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t-unit/ReSwift-in-Practice/HEAD/RealWorldReSwift/Views/Base.lproj/Main.storyboard -------------------------------------------------------------------------------- /RealWorldReSwift/Views/PlaceTableViewCell.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t-unit/ReSwift-in-Practice/HEAD/RealWorldReSwift/Views/PlaceTableViewCell.swift -------------------------------------------------------------------------------- /RealWorldReSwift/Views/ViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t-unit/ReSwift-in-Practice/HEAD/RealWorldReSwift/Views/ViewController.swift -------------------------------------------------------------------------------- /RealWorldReSwiftTests/AppReducerTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t-unit/ReSwift-in-Practice/HEAD/RealWorldReSwiftTests/AppReducerTests.swift -------------------------------------------------------------------------------- /RealWorldReSwiftTests/Emitters & Observers/LocationEmitterTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t-unit/ReSwift-in-Practice/HEAD/RealWorldReSwiftTests/Emitters & Observers/LocationEmitterTests.swift -------------------------------------------------------------------------------- /RealWorldReSwiftTests/Emitters & Observers/LocationObserverTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t-unit/ReSwift-in-Practice/HEAD/RealWorldReSwiftTests/Emitters & Observers/LocationObserverTests.swift -------------------------------------------------------------------------------- /RealWorldReSwiftTests/Fakes/FakeAction.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t-unit/ReSwift-in-Practice/HEAD/RealWorldReSwiftTests/Fakes/FakeAction.swift -------------------------------------------------------------------------------- /RealWorldReSwiftTests/Fakes/FakeLocationManger.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t-unit/ReSwift-in-Practice/HEAD/RealWorldReSwiftTests/Fakes/FakeLocationManger.swift -------------------------------------------------------------------------------- /RealWorldReSwiftTests/Fakes/FakeNetworkFetcher.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t-unit/ReSwift-in-Practice/HEAD/RealWorldReSwiftTests/Fakes/FakeNetworkFetcher.swift -------------------------------------------------------------------------------- /RealWorldReSwiftTests/Fakes/FakePlacesService.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t-unit/ReSwift-in-Practice/HEAD/RealWorldReSwiftTests/Fakes/FakePlacesService.swift -------------------------------------------------------------------------------- /RealWorldReSwiftTests/Fakes/FakeReducer.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t-unit/ReSwift-in-Practice/HEAD/RealWorldReSwiftTests/Fakes/FakeReducer.swift -------------------------------------------------------------------------------- /RealWorldReSwiftTests/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t-unit/ReSwift-in-Practice/HEAD/RealWorldReSwiftTests/Info.plist -------------------------------------------------------------------------------- /RealWorldReSwiftTests/Middlewaqre/MiddlewareTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t-unit/ReSwift-in-Practice/HEAD/RealWorldReSwiftTests/Middlewaqre/MiddlewareTests.swift -------------------------------------------------------------------------------- /RealWorldReSwiftTests/Middlewaqre/SimpleMiddlewareTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t-unit/ReSwift-in-Practice/HEAD/RealWorldReSwiftTests/Middlewaqre/SimpleMiddlewareTests.swift -------------------------------------------------------------------------------- /RealWorldReSwiftTests/Mocks/MockURLSession.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t-unit/ReSwift-in-Practice/HEAD/RealWorldReSwiftTests/Mocks/MockURLSession.swift -------------------------------------------------------------------------------- /RealWorldReSwiftTests/Networking/NetworkFetcherTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t-unit/ReSwift-in-Practice/HEAD/RealWorldReSwiftTests/Networking/NetworkFetcherTests.swift -------------------------------------------------------------------------------- /RealWorldReSwiftTests/Networking/PlacesServiceTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t-unit/ReSwift-in-Practice/HEAD/RealWorldReSwiftTests/Networking/PlacesServiceTests.swift -------------------------------------------------------------------------------- /RealWorldReSwiftTests/Util/CLLocationCoordinate2DTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t-unit/ReSwift-in-Practice/HEAD/RealWorldReSwiftTests/Util/CLLocationCoordinate2DTests.swift --------------------------------------------------------------------------------