Swiftpack.co - Swift Packages by Maks-Jago

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.

Packages published by Maks-Jago

Maks-Jago/SwiftUI-UDF 14.1-alpha.4
UDF (Unidirectional Data Flow) architecture on SwiftUI/Concurrency/Combine
⭐️ 22
🕓 29 weeks ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
1.4.2 - Swift 5.9.2
11 weeks ago
Swift 5.9.2
1.4.1 - Store optimizations
22 weeks ago
1.4.0 - Concurrency
50 weeks ago
**Swift Concurrency on board!** We have been working for a long time on preparing a huge release with many changes, optimizations and upgrades to the SwiftUI-UDF Architecture. And now, UDF architecture has got concurrency support for the Middleware layer! > What was done: - **Store** is getting smarter and smarter and becomes an Actor to guarantee and sync state mutations and accesses; - **Middleware** layer got separation on **BaseMiddleware** (Combine version) and **BaseConcurrencyMiddleware** (Swift Concurrency) with separation on Observable/Reducible; - All types of middlewares got the `Environment` to describe dependencies and build them in the `buildLiveEnvironment` and `buildTestEnvironment` methods; - **Container** got a new re-rendering system to control which part of the State mutation would cause a re-rendering. The scope of work; `func scope(for state: SourceOfTruth<ContainerState>) -> Scope` - **Animations support**. Since now we can add animation modifier for Action use _withAnimation_ function; `Actions.SomeAction().withAnimation(.linear)` - **Silent action**. We have added the option to dispatch an action without logging to the loggers. Use _silent_ function, such action won't be logged to loggers. - New **logging system**. `ActionLogger`, `ActionFilter`, `ActionDescriptor` to be able to dynamically add any loggers (Console, Crashlytics, Files, etc). - `InitialSetup` protocol. If some reducer needs the State for initial setup. `func initialSetup(with state: State)` - **XCTestStore** is MainActor since now. And of course 100500 improvements and minor updates. Keep Coding! **Full Changelog**: https://github.com/Maks-Jago/SwiftUI-UDF/compare/1.3.x...1.4.x
1.3.2 - macOS support
1 year ago
1.3.0 - Relamquad
2 years ago
## This release is the biggest update UDF has ever had! We've done great work in analyzing and upgrading all aspects of UDF development to provide more and more tools for fast, scalable, and independent apps building. > What was done: - **Middleware** layer got huge updates. **ObservableMiddleware** came to replace Sync/Async middlewares, which is smarter and easier in use. - **ObservableMiddleware** It has one new method `override func scope(for state: SourceOfTruth<State>) -> Scope`, the aim of which is to provide a 'scope of work'. The middleware will only observe the changes of reducers mentioned in the scope method and ignore other app state changes. The Scope method is required to be overridden in all ObservableMiddleware subclasses; - **Scope** can be combined up to 5 reducers `Scopes.Combined(...);` - Also, the Middleware layer has got one new player - is **ReducibleMiddleware**. The main difference is that the **ReducibleMiddleware** is a reducer in the middleware world, that doesn't observe any flows and reduce the actions in the `open func reduce(_ action: AnyAction)`; - The **Store** is getting smarter and smarter. Since 1.3.0 Store can decide to group dispatched actions, monitor State changes and control the numbers of SwiftUI Views re-rendering, middlewares calls, and can ignore some actions if State is not mutated; - The View layer got **Routing** as a protocol for navigating between containers and **Router** class to manage navigation; - A new action `Actions.DidCancelEffect`, that is called when the Middleware cancels an effect; - Testing-testing-testing.`XCTestStore` it's a new Store for using only in the Unit tests, which works in sync mode and on the main thread; And of course 100500 improvements and minor updates. Keep Coding!
1.2.0
2 years ago
State management optimizations
2 years ago
- Optimized the number of re-rendering after state mutation; - Added Equatable requirements to all Reducers for mutation detecting; - Added DispatchFilter to AsyncMiddleware; - Added Noops (Equatable, Hashable); - Optimized dispatching of actions to the Store.
Fixed order of dispatched actions (several actions or group action)
2 years ago
Fixed an intermittent error with actions order when dispatching several actions or action group.
Critical Fix! Memory leak...
2 years ago
We found and fixed a critical memory leak that caused periodic crashes.
iOS macOS

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics