https://github.com/silkodenis/swift-combine-store
A lightweight Swift package for state management in SwiftUI applications using Combine, designed for unidirectional data flow (UDF) architectures with data-driven side-effects.
https://github.com/silkodenis/swift-combine-store
combine data-driven feedback-loop redux side-effect store swift-package-manager swiftui udf unidirectional-data-flow
Last synced: 4 months ago
JSON representation
A lightweight Swift package for state management in SwiftUI applications using Combine, designed for unidirectional data flow (UDF) architectures with data-driven side-effects.
- Host: GitHub
- URL: https://github.com/silkodenis/swift-combine-store
- Owner: silkodenis
- License: apache-2.0
- Created: 2024-09-06T11:50:30.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-09-08T08:40:00.000Z (10 months ago)
- Last Synced: 2025-01-31T10:06:19.373Z (5 months ago)
- Topics: combine, data-driven, feedback-loop, redux, side-effect, store, swift-package-manager, swiftui, udf, unidirectional-data-flow
- Language: Swift
- Homepage:
- Size: 16.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://github.com/silkodenis/combine-redux-store/blob/main/LICENSE)
# Combine Store
Combine Store is a lightweight package for state management in SwiftUI and Combine applications, designed for unidirectional data flow (UDF) architectures. It provides a unified state management mechanism along with support for data-driven side effects.
## Key Features
- **State Management:** Utilizes a unified model for state and actions similar to Redux.
- **Asynchronous Effects:** Supports asynchronous data-driven side-effects via Feedback mechanisms, ensuring that effects are triggered based on state changes.
- **Combine Support:** Leverages powerful data stream handling and reactive programming with Combine.## Installation
### Requirements
- **Swift 5.1**+
- **Xcode 11**+
- **iOS**: iOS 13.0+
- **macOS**: macOS 10.15+
- **watchOS**: watchOS 6.0+
- **tvOS**: tvOS 13.0+### To add the package to your project, use Swift Package Manager:
1. Open Xcode and select “File” > “Add Packages…”
2. Enter the URL of the package repository.
3. Follow the instructions to complete the installation.## Usage Example
- [SwiftUI App](https://github.com/silkodenis/swiftui-moviesdb-redux-app)
## License
This project is licensed under the [Apache License, Version 2.0](LICENSE).