DatabaseReader
extension DatabaseReader
Combine extensions on DatabaseReader.
-
Returns a Publisher that asynchronously completes with a fetched value.
// AnyPublisher<[Player], Error> let players = dbQueue.readPublisher { db in try Player.fetchAll(db) }
Its value and completion are emitted on the main dispatch queue.
Declaration
Swift
public func readPublisher<Output>( value: @escaping (Database) throws -> Output) -> AnyPublisher<Output, Error>
Parameters
value
A closure which accesses the database.
-
Returns a Publisher that asynchronously completes with a fetched value.
// AnyPublisher<[Player], Error> let players = dbQueue.readPublisher( receiveOn: DispatchQueue.global(), value: { db in try Player.fetchAll(db) })
Its value and completion are emitted on
scheduler
.Declaration
Swift
public func readPublisher<S, Output>( receiveOn scheduler: S, value: @escaping (Database) throws -> Output) -> AnyPublisher<Output, Error> where S : Scheduler
Parameters
scheduler
A Scheduler.
value
A closure which accesses the database.