From fb6251a6fdacb097766be7a50e7d5e552bb37a6a Mon Sep 17 00:00:00 2001 From: Salakar Date: Sat, 5 Aug 2017 22:00:06 +0100 Subject: [PATCH] [js][database] cleanup transaction completion wrapper --- lib/modules/database/reference.js | 19 +++++-------------- lib/utils/ModuleBase.js | 2 +- 2 files changed, 6 insertions(+), 15 deletions(-) diff --git a/lib/modules/database/reference.js b/lib/modules/database/reference.js index 31753d75..cadf987f 100644 --- a/lib/modules/database/reference.js +++ b/lib/modules/database/reference.js @@ -172,7 +172,6 @@ export default class Reference extends ReferenceBase { * @param onComplete * @param applyLocally */ - transaction(transactionUpdate: Function, onComplete: (error: ?Error, committed: boolean, snapshot: ?Snapshot) => *, applyLocally: boolean = false) { if (!isFunction(transactionUpdate)) { return Promise.reject( @@ -180,23 +179,15 @@ export default class Reference extends ReferenceBase { ); } - // todo cleanup / use new promiseOrCallback logic return new Promise((resolve, reject) => { const onCompleteWrapper = (error, committed, snapshotData) => { - if (error) { - if (typeof onComplete === 'function') { - onComplete(error, committed, null); - } - return reject(error); + if (isFunction(onComplete)) { + if (error) return onComplete(error, committed, null); + return onComplete(null, committed, new Snapshot(this, snapshotData)); } - const snapshot = new Snapshot(this, snapshotData); - - if (typeof onComplete === 'function') { - onComplete(null, committed, snapshot); - } - - return resolve({ committed, snapshot }); + if (error) return reject(error); + return resolve({ committed, snapshot: new Snapshot(this, snapshotData) }); }; this._database._transactionHandler.add(this, transactionUpdate, onCompleteWrapper, applyLocally); diff --git a/lib/utils/ModuleBase.js b/lib/utils/ModuleBase.js index 1600c1bd..9912561c 100644 --- a/lib/utils/ModuleBase.js +++ b/lib/utils/ModuleBase.js @@ -28,7 +28,7 @@ const NATIVE_MODULE_EVENTS = { 'database_transaction_event', 'database_event', 'database_error', - 'database_server_offset', + // 'database_server_offset', // TODO ], };