Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/esam091/RxComposableArchitecture
RxSwift implementation of ComposableArchitecture
https://github.com/esam091/RxComposableArchitecture
Last synced: 2 months ago
JSON representation
RxSwift implementation of ComposableArchitecture
- Host: GitHub
- URL: https://github.com/esam091/RxComposableArchitecture
- Owner: esam091
- License: mit
- Archived: true
- Created: 2020-06-04T01:36:50.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2020-06-04T03:04:24.000Z (over 4 years ago)
- Last Synced: 2024-11-12T14:11:43.921Z (3 months ago)
- Language: Swift
- Size: 33.2 KB
- Stars: 13
- Watchers: 4
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-tca - RxComposableArchitecture
README
# RxComposableArchitecture
This a RxSwift implementation of [The Composable Architecture](https://github.com/pointfreeco/swift-composable-architecture) and is optimized for UIKit.
Some notable differences compared to the original:
1. It uses `Driver` instead of `Effect` type so that actions from side effects will always be delivered to the main thread.
2. Has no `ViewStore`. ViewStore was created for ergonomic reasons in SwiftUI and since SwiftUI is not supported, there's no reason for it to exist.
3. To subscribe to state updates, you can use the `subscribe` method
```swift
class Store {
public func subscribe(
_ toLocalState: @escaping (State) -> LocalState
) -> Driver
}struct Person {
var name: String
}store
.subscribe(\Person.name)
.drive(label.rx.text)
.disposed(by: disposeBag)
```## Contributing
This library is still in active development, so I happily accept feedbacks, issues and code contributions.