StevenLambion / SwiftDux

Predictable state management for SwiftUI applications.
http://stevenlambion.github.io/SwiftDux
MIT License
153 stars 10 forks source link

Simplified Store Publisher #48

Closed StevenLambion closed 3 years ago

StevenLambion commented 3 years ago

This PR removes what's left of the original action-based update implementation used during the beta period of SwiftUI. It also replaces the AnyPublisher type with a dedicated StorePublisher type. In testing, these changes provides a small boost in performance and reduce the overall complexity of the library.

Work Performed

codecov-io commented 3 years ago

Codecov Report

Merging #48 (9b69830) into 2.x (9ac73af) will increase coverage by 0.34%. The diff coverage is 100.00%.

Impacted file tree graph

@@            Coverage Diff             @@
##              2.x      #48      +/-   ##
==========================================
+ Coverage   77.57%   77.92%   +0.34%     
==========================================
  Files          20       21       +1     
  Lines         446      453       +7     
==========================================
+ Hits          346      353       +7     
  Misses        100      100              
Impacted Files Coverage Δ
Sources/SwiftDux/Store/StoreProxy.swift 70.00% <ø> (ø)
...wiftDuxExtras/Persistence/JSONStatePersistor.swift 72.72% <ø> (ø)
Sources/SwiftDux/State/OrderedState.swift 76.97% <100.00%> (+0.15%) :arrow_up:
Sources/SwiftDux/Store/Store.swift 100.00% <100.00%> (ø)
Sources/SwiftDux/Store/StorePublisher.swift 100.00% <100.00%> (ø)
Sources/SwiftDux/Store/StoreReducer.swift 100.00% <100.00%> (ø)
...DuxExtras/Persistence/PersistStateMiddleware.swift 76.19% <100.00%> (ø)
...es/SwiftDuxExtras/Persistence/StatePersistor.swift 83.33% <100.00%> (-1.29%) :arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 9ac73af...9b69830. Read the comment docs.