Skip to content

Add skeleton loading, rename DisplayableError, and expand test coverage#13

Merged
anthony1810 merged 8 commits intomainfrom
develop
Feb 9, 2026
Merged

Add skeleton loading, rename DisplayableError, and expand test coverage#13
anthony1810 merged 8 commits intomainfrom
develop

Conversation

@anthony1810
Copy link
Owner

Summary

  • Add PlaceholderRepresentable protocol and PlaceholderModifier for skeleton loading support
  • Rename RMDisplayableError to DisplayableError (removed deprecated typealias)
  • Expand README with complete API documentation, StateUpdatable, load-more pagination, and skeleton loading sections
  • Fix ViewModel example in README to match correct do/catch placement
  • Add tests for StreamProducer (multi-subscriber, withLatest, finish), OnShowErrorModifier, Environment extensions, and RMLoadmoreView

Test plan

  • Run swift test to verify all new and existing tests pass
  • Verify skeleton loading placeholder modifier works in a SwiftUI preview
  • Confirm DisplayableError rename has no downstream breakage

Provides .placeholder(_:) view modifier that applies .redacted()
when the value conforms to PlaceholderRepresentable and isPlaceholder
returns true.
- Fix Swift badge to 5.9+ (matches Package.swift)
- Fix package URL from anthropics to anthony1810
- Add macOS 14.0+ to requirements
- Add StateUpdatable protocol documentation
- Add Parent State Binding (BindingParentStateOption) section
- Add Skeleton Loading section (PlaceholderRepresentable, .placeholder())
- Add Load More Pagination section (LoadmoreScreenState, RMLoadmoreView)
- Add comprehensive API Reference table (protocols, classes, actors, structs, view modifiers)
- Document StreamProducer withLatest option and non-isolated methods
- Document CancelBag Task extension methods
- Update feature example to use RMLoadmoreView instead of inline ProgressView
Move error handling from nonisolated receive into isolatedReceive
so unlock and loadingFinished always run regardless of errors.
Rename struct, file, and all usages across sources, tests, and README.
Add deprecated typealias for backwards compatibility.
No consumers exist yet, so backwards compatibility is unnecessary.
Also fix file header comment to match new filename.
@anthony1810 anthony1810 merged commit 03aefbc into main Feb 9, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant