Proof
No visual proof cases have been published for this package yet. The registry summary below describes what the compat layer implements.expo-media-library
full upstream API surface; photo-library reads route through SootSim.bridges.photoLibrary when present; without a bridge, returns empty/noop in the exact shape upstream's web build does — same response an app would see from a freshly-installed iOS sim with no granted photo permission. Apps with graceful-degradation paths take the right branch.92%
API coverageWorking (20)
getPermissionsAsync/requestPermissionsAsync (granted)usePermissions hookMediaType/SortBy constantsgetAssetsAsync (real bridge or empty)getAssetInfoAsynccreateAssetAsync (real bridge or stub echo)deleteAssetsAsync (no-op success)getAlbumsAsync (empty)getAlbumAsync (null)createAlbumAsync (stub album shape)saveToLibraryAsync (noop)addAssetsToAlbumAsync/removeAssetsFromAlbumAsync (false)deleteAlbumsAsync (false)getMomentsAsync (empty PagedInfo)migrateAlbumIfNeededAsync/albumNeedsMigrationAsync (noop/false)setAssetFavoriteAsync (false)presentPermissionsPickerAsync (noop)isAvailableAsync (true when bridge present, else false)addListener/removeSubscription/removeAllListeners (real registration; no fan-out without a system event feed)MediaLibraryAssetsChangeEvent + EventSubscription types
Missing (3)
photo-library mutation across the bridge (saveToLibrary, addAssetsToAlbum, removeAssetsFromAlbum, deleteAlbums, deleteAssets, setAssetFavorite — would need a write-capable photoLibrary bridge)system-wide assets-change events (no browser equivalent feed)Moments grouping (iOS-only, no bridge today)