MCPcopy
hub / github.com/louischatriot/nedb / _getConnection

Function _getConnection

browser-version/out/nedb.js:6668–6713  ·  view source on GitHub ↗
(dbInfo, upgradeNeeded)

Source from the content-addressed store, hash-verified

6666 }
6667
6668 function _getConnection(dbInfo, upgradeNeeded) {
6669 return new Promise(function (resolve, reject) {
6670 if (dbInfo.db) {
6671 if (upgradeNeeded) {
6672 dbInfo.db.close();
6673 } else {
6674 return resolve(dbInfo.db);
6675 }
6676 }
6677
6678 var dbArgs = [dbInfo.name];
6679
6680 if (upgradeNeeded) {
6681 dbArgs.push(dbInfo.version);
6682 }
6683
6684 var openreq = indexedDB.open.apply(indexedDB, dbArgs);
6685
6686 if (upgradeNeeded) {
6687 openreq.onupgradeneeded = function (e) {
6688 var db = openreq.result;
6689 try {
6690 db.createObjectStore(dbInfo.storeName);
6691 if (e.oldVersion <= 1) {
6692 // Added when support for blob shims was added
6693 db.createObjectStore(DETECT_BLOB_SUPPORT_STORE);
6694 }
6695 } catch (ex) {
6696 if (ex.name === 'ConstraintError') {
6697 globalObject.console.warn('The database "' + dbInfo.name + '"' + ' has been upgraded from version ' + e.oldVersion + ' to version ' + e.newVersion + ', but the storage "' + dbInfo.storeName + '" already exists.');
6698 } else {
6699 throw ex;
6700 }
6701 }
6702 };
6703 }
6704
6705 openreq.onerror = function () {
6706 reject(openreq.error);
6707 };
6708
6709 openreq.onsuccess = function () {
6710 resolve(openreq.result);
6711 };
6712 });
6713 }
6714
6715 function _isUpgradeNeeded(dbInfo, defaultVersion) {
6716 if (!dbInfo.db) {

Callers 2

_getOriginalConnectionFunction · 0.70
_getUpgradedConnectionFunction · 0.70

Calls 2

resolveFunction · 0.70
rejectFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…