From d152fa877f69d5a9032966cb7fff7e5cd47cb683 Mon Sep 17 00:00:00 2001 From: Thodoris Greasidis Date: Sun, 19 Jun 2016 12:28:26 +0300 Subject: [PATCH] refactor: move executeCallback to the main file --- lib/getitems-generic.js | 5 ++--- lib/getitems-indexeddb.js | 4 +--- lib/getitems-websql.js | 5 ++--- lib/localforage-getitems.js | 24 +++++++++++++----------- lib/utils.js | 1 + 5 files changed, 19 insertions(+), 20 deletions(-) diff --git a/lib/getitems-generic.js b/lib/getitems-generic.js index 7312f3a..e36f65b 100644 --- a/lib/getitems-generic.js +++ b/lib/getitems-generic.js @@ -1,6 +1,6 @@ -import { executeCallback, getItemKeyValue } from './utils'; +import { getItemKeyValue } from './utils'; -export function getItemsGeneric(keys, callback) { +export function getItemsGeneric(keys/*, callback*/) { var localforageInstance = this; var promise = new Promise(function(resolve, reject) { var itemPromises = []; @@ -19,7 +19,6 @@ export function getItemsGeneric(keys, callback) { resolve(result); }).catch(reject); }); - executeCallback(promise, callback); return promise; } diff --git a/lib/getitems-indexeddb.js b/lib/getitems-indexeddb.js index fcb90ca..0a483bb 100644 --- a/lib/getitems-indexeddb.js +++ b/lib/getitems-indexeddb.js @@ -1,7 +1,6 @@ -import { executeCallback } from './utils'; import IDBKeyRange from './idbKeyRange'; -export function getItemsIndexedDB(keys, callback) { +export function getItemsIndexedDB(keys/*, callback*/) { var localforageInstance = this; function comparer (a,b) { return a < b ? -1 : a > b ? 1 : 0; @@ -66,6 +65,5 @@ export function getItemsIndexedDB(keys, callback) { }; }).catch(reject); }); - executeCallback(promise, callback); return promise; } diff --git a/lib/getitems-websql.js b/lib/getitems-websql.js index 3cf7bd0..5e5e1b0 100644 --- a/lib/getitems-websql.js +++ b/lib/getitems-websql.js @@ -1,6 +1,6 @@ -import { getSerializerPromise, executeCallback } from './utils'; +import { getSerializerPromise } from './utils'; -export function getItemsWebsql(keys, callback) { +export function getItemsWebsql(keys/*, callback*/) { var localforageInstance = this; var promise = new Promise(function(resolve, reject) { localforageInstance.ready().then(function() { @@ -42,6 +42,5 @@ export function getItemsWebsql(keys, callback) { }); }).catch(reject); }); - executeCallback(promise, callback); return promise; } diff --git a/lib/localforage-getitems.js b/lib/localforage-getitems.js index ec24a27..afe92f7 100644 --- a/lib/localforage-getitems.js +++ b/lib/localforage-getitems.js @@ -9,20 +9,22 @@ export { getItemsGeneric } from './getitems-generic'; export function localforageGetItems(keys, callback) { var localforageInstance = this; + var promise; if (!arguments.length || keys === null) { - var promise = getAllItemsUsingIterate.call(localforageInstance); - executeCallback(promise, callback); - return promise; - } - - var currentDriver = localforageInstance.driver(); - if (currentDriver === localforageInstance.INDEXEDDB) { - return getItemsIndexedDB.call(localforageInstance, keys, callback); - } else if (currentDriver === localforageInstance.WEBSQL) { - return getItemsWebsql.call(localforageInstance, keys, callback); + promise = getAllItemsUsingIterate.apply(localforageInstance); } else { - return getItemsGeneric.call(localforageInstance, keys, callback); + var currentDriver = localforageInstance.driver(); + if (currentDriver === localforageInstance.INDEXEDDB) { + promise = getItemsIndexedDB.apply(localforageInstance, arguments); + } else if (currentDriver === localforageInstance.WEBSQL) { + promise = getItemsWebsql.apply(localforageInstance, arguments); + } else { + promise = getItemsGeneric.apply(localforageInstance, arguments); + } } + + executeCallback(promise, callback); + return promise; } diff --git a/lib/utils.js b/lib/utils.js index 127f11a..b3e0444 100644 --- a/lib/utils.js +++ b/lib/utils.js @@ -33,6 +33,7 @@ export function executeCallback(promise, callback) { callback(error); }); } + return promise; } export function getItemKeyValue(key, callback) {