|
|
@ -53,9 +53,9 @@ public final class Storage : NSObject {
|
|
|
|
public static func write(with block: @escaping (YapDatabaseReadWriteTransaction) -> Void, completion: @escaping () -> Void) -> Promise<Void> {
|
|
|
|
public static func write(with block: @escaping (YapDatabaseReadWriteTransaction) -> Void, completion: @escaping () -> Void) -> Promise<Void> {
|
|
|
|
let (promise, seal) = Promise<Void>.pending()
|
|
|
|
let (promise, seal) = Promise<Void>.pending()
|
|
|
|
serialQueue.async {
|
|
|
|
serialQueue.async {
|
|
|
|
owsStorage.dbReadWriteConnection.readWrite(block)
|
|
|
|
owsStorage.dbReadWriteConnection.readWrite { transaction in
|
|
|
|
DispatchQueue.main.async {
|
|
|
|
transaction.addCompletionQueue(DispatchQueue.main, completionBlock: completion)
|
|
|
|
completion()
|
|
|
|
block(transaction)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
seal.fulfill(())
|
|
|
|
seal.fulfill(())
|
|
|
|
}
|
|
|
|
}
|
|
|
|