🍦 SwiftServe Get

Menu / storage.observation

Can Swift packages do reactive queries / change tracking?

also known as: live queries · value observation · database observation

Built into the OS — no dependency

Apple frameworkiOSmacOSwatchOStvOSvisionOSLinuxCatalyst
CoreData built in as of Xcode 26.6
Details

NSFetchedResultsController change tracking for UI.

serves it · confidence 0.90 · as of Xcode 26.6

serves it · confidence 0.90 · as of Xcode 26.6

serves it · confidence 0.90 · as of Xcode 26.6

serves it · confidence 0.90 · as of Xcode 26.6

serves it · confidence 0.90 · as of Xcode 26.6

not served here · confidence 0.90 · as of Xcode 26.6

serves it · confidence 0.90 · as of Xcode 26.6

SwiftData built in as of Xcode 26.6
Details

Change tracking via SwiftData history API; live UI updates flow through @Query/Observable rather than a dedicated observer type.

serves it · confidence 0.90 · as of Xcode 26.6

serves it · confidence 0.90 · as of Xcode 26.6

serves it · confidence 0.90 · as of Xcode 26.6

serves it · confidence 0.90 · as of Xcode 26.6

serves it · confidence 0.90 · as of Xcode 26.6

not served here · confidence 0.90 · as of Xcode 26.6

serves it · confidence 0.90 · as of Xcode 26.6

PackageiOSmacOSwatchOStvOSvisionOSLinuxCatalyst
cache full menu as of 7.4.0
Details

serves it · confidence 0.90 · as of 7.4.0

serves it · confidence 0.90 · as of 7.4.0

serves it · confidence 0.85 · as of 7.4.0

serves it · confidence 0.90 · as of 7.4.0

serves it · confidence 0.85 · as of 7.4.0

serves it · confidence 0.70 · as of 7.4.0

  • Storage.addStorageObserver
    Source/Shared/Storage/Storage.swift:86
    View the line on GitHub →
    Surface digest resolves this decl present on linux (no gap); source is Foundation-only under Source/Shared with no os() guards, but there is no Linux CI or README corroboration - confidence reduced.
  • Storage.addObserver
    Source/Shared/Storage/Storage.swift:103
    View the line on GitHub →
  • KeyObservationRegistry
    Source/Shared/Storage/KeyObservationRegistry.swift:4
    View the line on GitHub →

serves it · confidence 0.85 · as of 7.4.0

grdb.swift full menu as of v7.11.1
Details

serves it · confidence 0.85 · as of v7.11.1

serves it · confidence 0.85 · as of v7.11.1

serves it · confidence 0.85 · as of v7.11.1

serves it · confidence 0.85 · as of v7.11.1

serves it · confidence 0.80 · as of v7.11.1

serves it · confidence 0.80 · as of v7.11.1

serves it · confidence 0.80 · as of v7.11.1

blackbird as of 0.5
Details

serves it · confidence 0.90 · as of 0.5

  • Blackbird.Database.changePublisher
    Sources/Blackbird/BlackbirdChanges.swift:166
    View the line on GitHub →
    Combine ChangePublisher for a table.
  • BlackbirdModel.changePublisher
    Sources/Blackbird/BlackbirdModel.swift:296
    View the line on GitHub →
    Change publisher for a model's table.
  • BlackbirdLiveModels
    Sources/Blackbird/BlackbirdSwiftUI.swift:132
    View the line on GitHub →
    Auto-updating SwiftUI result wrapper kept in sync with table changes.

serves it · confidence 0.90 · as of 0.5

  • Blackbird.Database.changePublisher
    Sources/Blackbird/BlackbirdChanges.swift:166
    View the line on GitHub →
    Combine ChangePublisher for a table.
  • BlackbirdModel.changePublisher
    Sources/Blackbird/BlackbirdModel.swift:296
    View the line on GitHub →
    Change publisher for a model's table.
  • BlackbirdLiveModels
    Sources/Blackbird/BlackbirdSwiftUI.swift:132
    View the line on GitHub →
    Auto-updating SwiftUI result wrapper kept in sync with table changes.

serves it · confidence 0.90 · as of 0.5

  • Blackbird.Database.changePublisher
    Sources/Blackbird/BlackbirdChanges.swift:166
    View the line on GitHub →
    Combine ChangePublisher for a table.
  • BlackbirdModel.changePublisher
    Sources/Blackbird/BlackbirdModel.swift:296
    View the line on GitHub →
    Change publisher for a model's table.
  • BlackbirdLiveModels
    Sources/Blackbird/BlackbirdSwiftUI.swift:132
    View the line on GitHub →
    Auto-updating SwiftUI result wrapper kept in sync with table changes.

serves it · confidence 0.90 · as of 0.5

  • Blackbird.Database.changePublisher
    Sources/Blackbird/BlackbirdChanges.swift:166
    View the line on GitHub →
    Combine ChangePublisher for a table.
  • BlackbirdModel.changePublisher
    Sources/Blackbird/BlackbirdModel.swift:296
    View the line on GitHub →
    Change publisher for a model's table.
  • BlackbirdLiveModels
    Sources/Blackbird/BlackbirdSwiftUI.swift:132
    View the line on GitHub →
    Auto-updating SwiftUI result wrapper kept in sync with table changes.

serves it · confidence 0.80 · as of 0.5

  • Blackbird.Database.changePublisher
    Sources/Blackbird/BlackbirdChanges.swift:166
    View the line on GitHub →
    No explicit manifest floor (swift-tools-version 5.7 predates visionOS); symbols are unconditional in the surface digest.
  • BlackbirdModel.changePublisher
    Sources/Blackbird/BlackbirdModel.swift:296
    View the line on GitHub →
    Change publisher for a model's table.
  • BlackbirdLiveModels
    Sources/Blackbird/BlackbirdSwiftUI.swift:132
    View the line on GitHub →
    Auto-updating SwiftUI result wrapper kept in sync with table changes.
?

not verified yet · confidence 0.20 · as of 0.5

  • Package.swift:7
    View the line on GitHub →
    platforms list contains only Apple platforms; Surface digest records no platform gaps, but sources unconditionally import Combine, SwiftUI, OSLog and SQLite3 with no os() guards, and Package.swift declares no Linux support; Linux buildability is unverified. Symbol absence is not absence evidence, so status is unknown.

serves it · confidence 0.80 · as of 0.5

  • Blackbird.Database.changePublisher
    Sources/Blackbird/BlackbirdChanges.swift:166
    View the line on GitHub →
    No explicit manifest floor (swift-tools-version 5.7 predates visionOS); symbols are unconditional in the surface digest.
  • BlackbirdModel.changePublisher
    Sources/Blackbird/BlackbirdModel.swift:296
    View the line on GitHub →
    Change publisher for a model's table.
  • BlackbirdLiveModels
    Sources/Blackbird/BlackbirdSwiftUI.swift:132
    View the line on GitHub →
    Auto-updating SwiftUI result wrapper kept in sync with table changes.
boutique as of 3.0.2
Details

serves it · confidence 0.90 · as of 3.0.2

  • Store.events
    Sources/Boutique/Store.swift:272
    View the line on GitHub →
    var events: AsyncStream<StoreEvent<Item>> — granular events tracking API for all Store changes
  • StoreEvent
    Sources/Boutique/StoreEvent.swift:25
    View the line on GitHub →
    event type carrying operation (.initialized/.loaded/.insert/.remove) and affected items
  • StoredValue.values
    Sources/Boutique/StoredValue.swift:109
    View the line on GitHub →
    AsyncStream that emits all value changes of a @StoredValue

serves it · confidence 0.90 · as of 3.0.2

  • Store.events
    Sources/Boutique/Store.swift:272
    View the line on GitHub →
    var events: AsyncStream<StoreEvent<Item>> — granular events tracking API for all Store changes
  • StoreEvent
    Sources/Boutique/StoreEvent.swift:25
    View the line on GitHub →
    event type carrying operation (.initialized/.loaded/.insert/.remove) and affected items
  • StoredValue.values
    Sources/Boutique/StoredValue.swift:109
    View the line on GitHub →
    AsyncStream that emits all value changes of a @StoredValue

serves it · confidence 0.70 · as of 3.0.2

  • Store.events
    Sources/Boutique/Store.swift:272
    View the line on GitHub →
    var events: AsyncStream<StoreEvent<Item>> — granular events tracking API for all Store changes No explicit watchOS floor in Package.swift (manifest lists only iOS/macOS); symbol anchors are unconditional and the digest resolves them present on watchOS.
  • StoreEvent
    Sources/Boutique/StoreEvent.swift:25
    View the line on GitHub →
    event type carrying operation (.initialized/.loaded/.insert/.remove) and affected items
  • StoredValue.values
    Sources/Boutique/StoredValue.swift:109
    View the line on GitHub →
    AsyncStream that emits all value changes of a @StoredValue

serves it · confidence 0.70 · as of 3.0.2

  • Store.events
    Sources/Boutique/Store.swift:272
    View the line on GitHub →
    var events: AsyncStream<StoreEvent<Item>> — granular events tracking API for all Store changes No explicit tvOS floor in Package.swift (manifest lists only iOS/macOS); symbol anchors are unconditional and the digest resolves them present on tvOS.
  • StoreEvent
    Sources/Boutique/StoreEvent.swift:25
    View the line on GitHub →
    event type carrying operation (.initialized/.loaded/.insert/.remove) and affected items
  • StoredValue.values
    Sources/Boutique/StoredValue.swift:109
    View the line on GitHub →
    AsyncStream that emits all value changes of a @StoredValue

serves it · confidence 0.70 · as of 3.0.2

  • Store.events
    Sources/Boutique/Store.swift:272
    View the line on GitHub →
    var events: AsyncStream<StoreEvent<Item>> — granular events tracking API for all Store changes No explicit visionOS floor in Package.swift (manifest lists only iOS/macOS); symbol anchors are unconditional and the digest resolves them present on visionOS.
  • StoreEvent
    Sources/Boutique/StoreEvent.swift:25
    View the line on GitHub →
    event type carrying operation (.initialized/.loaded/.insert/.remove) and affected items
  • StoredValue.values
    Sources/Boutique/StoredValue.swift:109
    View the line on GitHub →
    AsyncStream that emits all value changes of a @StoredValue
?

not verified yet · confidence 0.20 · as of 3.0.2

  • Store.events
    Sources/Boutique/Store.swift:272
    View the line on GitHub →
    Surface digest resolves this decl present on linux (no os() conditions anywhere in the public surface), but the module unconditionally imports SwiftUI, Security, and Observation; Package.swift and README declare only iOS 17+/macOS 14+. Linux buildability unverified — honest answer is unknown.

serves it · confidence 0.80 · as of 3.0.2

  • Store.events
    Sources/Boutique/Store.swift:272
    View the line on GitHub →
    var events: AsyncStream<StoreEvent<Item>> — granular events tracking API for all Store changes No explicit macCatalyst floor in Package.swift (manifest lists only iOS/macOS); symbol anchors are unconditional and the digest resolves them present on macCatalyst.
  • StoreEvent
    Sources/Boutique/StoreEvent.swift:25
    View the line on GitHub →
    event type carrying operation (.initialized/.loaded/.insert/.remove) and affected items
  • StoredValue.values
    Sources/Boutique/StoredValue.swift:109
    View the line on GitHub →
    AsyncStream that emits all value changes of a @StoredValue
defaults as of 9.0.9
Details

serves it · confidence 0.90 · as of 9.0.9

serves it · confidence 0.90 · as of 9.0.9

serves it · confidence 0.90 · as of 9.0.9

serves it · confidence 0.90 · as of 9.0.9

serves it · confidence 0.90 · as of 9.0.9

?

not verified yet · confidence 0.20 · as of 9.0.9

  • Package.swift:7
    View the line on GitHub →
    Manifest lists Apple platforms only (not absence evidence). Digest records no os() gaps, so unsupported cannot be claimed; Observation+Combine.swift unconditionally imports Combine and the target imports SwiftUI (Apple-only frameworks), making linux presence unverified and doubtful.
  • readme.md:0
    View the line on GitHub →
    README Compatibility section lists macOS/iOS/tvOS/watchOS/visionOS only; linux never mentioned.

serves it · confidence 0.80 · as of 9.0.9

  • Defaults.observe
    Sources/Defaults/Observation.swift:351
    View the line on GitHub →
    No macCatalyst gap recorded in surface digest; decl resolves present.
  • Defaults.updates
    Sources/Defaults/Defaults.swift:273
    View the line on GitHub →
    No macCatalyst gap recorded in surface digest; decl resolves present.
  • Package.swift:7
    View the line on GitHub →
    No explicit macCatalyst floor; Catalyst inherits the .iOS(.v14) floor by SwiftPM default. Confidence lowered accordingly.
realm-swift as of v20.0.5
Details

serves it · confidence 0.90 · as of v20.0.5

serves it · confidence 0.90 · as of v20.0.5

serves it · confidence 0.85 · as of v20.0.5

serves it · confidence 0.85 · as of v20.0.5

serves it · confidence 0.75 · as of v20.0.5

  • Object.observe
    RealmSwift/Object.swift:322
    View the line on GitHub →
    Decl unconditional in surface digest (no os() gate) and resolves present on visionOS. Supplementary: build.sh at this tag has dedicated visionOS build/test targets (generic/platform=visionOS, xrsimulator 'Apple Vision Pro'). visionOS is not listed in Package.swift platform floors and README names only iOS/macOS/tvOS/watchOS, hence reduced confidence.
  • NotificationToken
    RealmSwift/Aliases.swift:59
    View the line on GitHub →
  • RealmPublishers
    RealmSwift/Combine.swift:936
    View the line on GitHub →
?

not verified yet · confidence 0.20 · as of v20.0.5

  • Object.observe
    RealmSwift/Object.swift:322
    View the line on GitHub →
    Surface digest resolves this Swift decl present on linux at parse level, but RealmSwift sits on the Realm ObjC core (215 ObjC files unparsed - declared blind spot); no manifest, README, or CI evidence of Linux builds. Under-claiming as unknown.

serves it · confidence 0.75 · as of v20.0.5

✓ serves it · ◐ with conditions · ✕ not served (proven) · ? not verified yet — hover any verdict for the receipt, click to pin it