mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-19 04:57:52 +00:00
1 line
35 KiB
JSON
1 line
35 KiB
JSON
|
|
{"ast":null,"code":"import _asyncToGenerator from \"C:/Users/eudes.inacio/GabineteDigital/gabinete-digital-fo/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\";\nimport { transaction } from './transaction.js';\nimport { Databases, Tables } from './config.js';\nimport { PostMessage } from \"./postMessage.js\";\n// inspire by https://github.com/hc-oss/use-indexeddb\nexport class IndexedDB {\n constructor() {}\n static connect(DatabaseName) {\n var _this = this;\n return new Promise((resolve, reject) => {\n const DatabaseSchema = Databases[DatabaseName];\n if (this.dbInstance[DatabaseSchema.databaseName]) {\n resolve(this.dbInstance[DatabaseSchema.databaseName]);\n }\n const idbInstance = indexedDB || self.indexedDB || self.mozIndexedDB || self.webkitIndexedDB || self.msIndexedDB;\n if (idbInstance) {\n const request = idbInstance.open(DatabaseSchema.databaseName, DatabaseSchema.version);\n request.onsuccess = () => {\n this.dbInstance[DatabaseSchema.databaseName] = request.result;\n resolve(request.result);\n };\n request.onerror = e => {\n reject(e.target.error.name);\n };\n request.onupgradeneeded = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (e) {\n yield _this.migrate(DatabaseSchema);\n return yield _this.connect(DatabaseSchema.databaseName);\n });\n return function (_x) {\n return _ref.apply(this, arguments);\n };\n }();\n // request.onblocked = async (e: any) => {\n // reject(e.target.error.name);\n // }\n } else {\n reject(\"IDBDatabase not supported inside webworker\");\n }\n });\n }\n static migrate(config) {\n var _this2 = this;\n return new Promise((resolve, reject) => {\n const idbInstance = indexedDB || self.indexedDB || self.mozIndexedDB || self.webkitIndexedDB || self.msIndexedDB;\n if (idbInstance) {\n const request = idbInstance.open(config.databaseName, config.version);\n request.onsuccess = () => {\n // request.result.close()\n resolve(false);\n };\n request.onerror = e => {\n reject(e.target.error.name);\n };\n request.onupgradeneeded = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator(function* (e) {\n const db = e.target.result;\n yield _this2.runMigrations(db, config);\n db.close();\n resolve(true);\n });\n return function (_x2) {\n return _ref2.apply(this, arguments);\n };\n }();\n } else {\n reject(\"Failed to connect\");\n }\n });\n }\n static run(config) {\n if (!this.transactions[config.databaseName]) {\n Databases[config.databaseName] = config;\n this.transactions[config.databaseName] = {};\n this.executingTransaction[config.databaseName] = {};\n this.txInstance[config.databaseName] = {};\n this.dbInstanceUsing[config.databaseName] = {};\n this.txInstanceMode[config.databaseName] = {};\n this.transactionOnCommit[config.databaseName] = {};\n this.transactionsToCommit[config.databaseName] = {};\n Tables[config.databaseName] = {};\n for (const store of config.stores) {\n if (!this.transactions[config.databaseName][store.name]) {\n Tables[config.databaseName][store.name] = store;\n this.transactions[config.databaseName][store.name] = [];\n this.executingTransaction[config.databaseName][store.name] = false;\n this.txInstance[config.databaseName][store.name] = {};\n this.txInstanceMode[config.databaseName][store.name] = {};\n this.transactionOnCommit[config.databaseName][store.name] = {};\n this.transactionsToCommit[config.databaseName][store.name] = [];\n }\n }\n }\n return true;\n }\n static request({\n queryId\n }, callback) {}\n static runMigrations(db, config) {\n return _asy
|