Save automatically, improve mocks

This commit is contained in:
Christoph Hagen
2025-02-05 12:24:33 +01:00
parent d41c54d174
commit 5abe6e1a9f
55 changed files with 701 additions and 381 deletions

View File

@ -0,0 +1,31 @@
import Combine
protocol ChangeObservableItem: ObservableObject {
var cancellables: Set<AnyCancellable> { get set }
func needsSaving()
}
protocol ObservableContentItem: ChangeObservableItem {
var content: Content { get }
}
extension ObservableContentItem {
func needsSaving() {
content.needsSave()
}
}
extension ChangeObservableItem {
func observeChanges() {
objectWillChange
.sink { [weak self] _ in
self?.needsSaving()
}
.store(in: &cancellables)
}
}