// Copyright © 2023 Rangeproof Pty Ltd. All rights reserved. import Combine import GRDB import SessionUtilitiesKit class SynchronousStorage: Storage { override func readPublisher( value: @escaping (Database) throws -> T ) -> AnyPublisher { guard let result: T = super.read(value) else { return Fail(error: StorageError.generic) .eraseToAnyPublisher() } return Just(result) .setFailureType(to: Error.self) .eraseToAnyPublisher() } override func writePublisher( updates: @escaping (Database) throws -> T ) -> AnyPublisher { guard let result: T = super.write(updates: updates) else { return Fail(error: StorageError.generic) .eraseToAnyPublisher() } return Just(result) .setFailureType(to: Error.self) .eraseToAnyPublisher() } }