import Foundation import Siesta final class Store: ResourceObserver, ObservableObject { @Published private var all: Data? var collection: Data { all ?? ([item].compactMap { $0 } as! Data) } var item: Data? { all } init(_ data: Data? = nil) { if data != nil { replace(data!) } } func resourceChanged(_ resource: Resource, event _: ResourceEvent) { if let items: Data = resource.typedContent() { replace(items) } } func replace(_ items: Data) { all = items } func clear() { all = nil } }