@capacitor-community/sqlite 5.0.4 → 5.0.5-2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sources":["esm/definitions.js","esm/index.js","esm/web.js"],"sourcesContent":["//import { Capacitor } from '@capacitor/core';\n/**\n * SQLiteConnection Class\n */\nexport class SQLiteConnection {\n constructor(sqlite) {\n this.sqlite = sqlite;\n this._connectionDict = new Map();\n }\n async initWebStore() {\n try {\n await this.sqlite.initWebStore();\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async saveToStore(database) {\n try {\n await this.sqlite.saveToStore({ database });\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async saveToLocalDisk(database) {\n try {\n await this.sqlite.saveToLocalDisk({ database });\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async getFromLocalDiskToStore(overwrite) {\n const mOverwrite = overwrite != null ? overwrite : true;\n try {\n await this.sqlite.getFromLocalDiskToStore({ overwrite: mOverwrite });\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async echo(value) {\n try {\n const res = await this.sqlite.echo({ value });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async isSecretStored() {\n try {\n const res = await this.sqlite.isSecretStored();\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async setEncryptionSecret(passphrase) {\n try {\n await this.sqlite.setEncryptionSecret({ passphrase: passphrase });\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async changeEncryptionSecret(passphrase, oldpassphrase) {\n try {\n await this.sqlite.changeEncryptionSecret({\n passphrase: passphrase,\n oldpassphrase: oldpassphrase,\n });\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async clearEncryptionSecret() {\n try {\n await this.sqlite.clearEncryptionSecret();\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async checkEncryptionSecret(passphrase) {\n try {\n const res = await this.sqlite.checkEncryptionSecret({\n passphrase: passphrase,\n });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async addUpgradeStatement(database, toVersion, statements) {\n const upgrade = {\n toVersion,\n statements,\n };\n try {\n if (database.endsWith('.db'))\n database = database.slice(0, -3);\n await this.sqlite.addUpgradeStatement({\n database,\n upgrade: [upgrade],\n });\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async createConnection(database, encrypted, mode, version, readonly) {\n try {\n if (database.endsWith('.db'))\n database = database.slice(0, -3);\n await this.sqlite.createConnection({\n database,\n encrypted,\n mode,\n version,\n readonly,\n });\n const conn = new SQLiteDBConnection(database, readonly, this.sqlite);\n const connName = readonly ? `RO_${database}` : `RW_${database}`;\n this._connectionDict.set(connName, conn);\n return Promise.resolve(conn);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async closeConnection(database, readonly) {\n try {\n if (database.endsWith('.db'))\n database = database.slice(0, -3);\n await this.sqlite.closeConnection({ database, readonly });\n const connName = readonly ? `RO_${database}` : `RW_${database}`;\n this._connectionDict.delete(connName);\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async isConnection(database, readonly) {\n const res = {};\n if (database.endsWith('.db'))\n database = database.slice(0, -3);\n const connName = readonly ? `RO_${database}` : `RW_${database}`;\n res.result = this._connectionDict.has(connName);\n return Promise.resolve(res);\n }\n async retrieveConnection(database, readonly) {\n if (database.endsWith('.db'))\n database = database.slice(0, -3);\n const connName = readonly ? `RO_${database}` : `RW_${database}`;\n if (this._connectionDict.has(connName)) {\n const conn = this._connectionDict.get(connName);\n if (typeof conn != 'undefined')\n return Promise.resolve(conn);\n else {\n return Promise.reject(`Connection ${database} is undefined`);\n }\n }\n else {\n return Promise.reject(`Connection ${database} does not exist`);\n }\n }\n async getNCDatabasePath(path, database) {\n try {\n const databasePath = await this.sqlite.getNCDatabasePath({\n path,\n database,\n });\n return Promise.resolve(databasePath);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async createNCConnection(databasePath, version) {\n try {\n await this.sqlite.createNCConnection({\n databasePath,\n version,\n });\n const conn = new SQLiteDBConnection(databasePath, true, this.sqlite);\n const connName = `RO_${databasePath})`;\n this._connectionDict.set(connName, conn);\n return Promise.resolve(conn);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async closeNCConnection(databasePath) {\n try {\n await this.sqlite.closeNCConnection({ databasePath });\n const connName = `RO_${databasePath})`;\n this._connectionDict.delete(connName);\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async isNCConnection(databasePath) {\n const res = {};\n const connName = `RO_${databasePath})`;\n res.result = this._connectionDict.has(connName);\n return Promise.resolve(res);\n }\n async retrieveNCConnection(databasePath) {\n if (this._connectionDict.has(databasePath)) {\n const connName = `RO_${databasePath})`;\n const conn = this._connectionDict.get(connName);\n if (typeof conn != 'undefined')\n return Promise.resolve(conn);\n else {\n return Promise.reject(`Connection ${databasePath} is undefined`);\n }\n }\n else {\n return Promise.reject(`Connection ${databasePath} does not exist`);\n }\n }\n async isNCDatabase(databasePath) {\n try {\n const res = await this.sqlite.isNCDatabase({ databasePath });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async retrieveAllConnections() {\n return this._connectionDict;\n }\n async closeAllConnections() {\n const delDict = new Map();\n try {\n for (const key of this._connectionDict.keys()) {\n const database = key.substring(3);\n const readonly = key.substring(0, 3) === 'RO_' ? true : false;\n await this.sqlite.closeConnection({ database, readonly });\n delDict.set(key, null);\n }\n for (const key of delDict.keys()) {\n this._connectionDict.delete(key);\n }\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async checkConnectionsConsistency() {\n try {\n const keys = [...this._connectionDict.keys()];\n const openModes = [];\n const dbNames = [];\n for (const key of keys) {\n openModes.push(key.substring(0, 2));\n dbNames.push(key.substring(3));\n }\n const res = await this.sqlite.checkConnectionsConsistency({\n dbNames: dbNames,\n openModes: openModes,\n });\n if (!res.result)\n this._connectionDict = new Map();\n return Promise.resolve(res);\n }\n catch (err) {\n this._connectionDict = new Map();\n return Promise.reject(err);\n }\n }\n async importFromJson(jsonstring) {\n try {\n const ret = await this.sqlite.importFromJson({ jsonstring: jsonstring });\n return Promise.resolve(ret);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async isJsonValid(jsonstring) {\n try {\n const ret = await this.sqlite.isJsonValid({ jsonstring: jsonstring });\n return Promise.resolve(ret);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async copyFromAssets(overwrite) {\n const mOverwrite = overwrite != null ? overwrite : true;\n try {\n await this.sqlite.copyFromAssets({ overwrite: mOverwrite });\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async getFromHTTPRequest(url, overwrite) {\n const mOverwrite = overwrite != null ? overwrite : true;\n try {\n await this.sqlite.getFromHTTPRequest({ url, overwrite: mOverwrite });\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async isDatabaseEncrypted(database) {\n if (database.endsWith('.db'))\n database = database.slice(0, -3);\n try {\n const res = await this.sqlite.isDatabaseEncrypted({ database: database });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async isInConfigEncryption() {\n try {\n const res = await this.sqlite.isInConfigEncryption();\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async isInConfigBiometricAuth() {\n try {\n const res = await this.sqlite.isInConfigBiometricAuth();\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async isDatabase(database) {\n if (database.endsWith('.db'))\n database = database.slice(0, -3);\n try {\n const res = await this.sqlite.isDatabase({ database: database });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async getDatabaseList() {\n try {\n const res = await this.sqlite.getDatabaseList();\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async getMigratableDbList(folderPath) {\n if (!folderPath || folderPath.length === 0) {\n return Promise.reject('You must provide a folder path');\n }\n try {\n const res = await this.sqlite.getMigratableDbList({\n folderPath: folderPath,\n });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async addSQLiteSuffix(folderPath, dbNameList) {\n const path = folderPath ? folderPath : 'default';\n const dbList = dbNameList ? dbNameList : [];\n try {\n const res = await this.sqlite.addSQLiteSuffix({\n folderPath: path,\n dbNameList: dbList,\n });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async deleteOldDatabases(folderPath, dbNameList) {\n const path = folderPath ? folderPath : 'default';\n const dbList = dbNameList ? dbNameList : [];\n try {\n const res = await this.sqlite.deleteOldDatabases({\n folderPath: path,\n dbNameList: dbList,\n });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async moveDatabasesAndAddSuffix(folderPath, dbNameList) {\n const path = folderPath ? folderPath : 'default';\n const dbList = dbNameList ? dbNameList : [];\n return this.sqlite.moveDatabasesAndAddSuffix({\n folderPath: path,\n dbNameList: dbList,\n });\n }\n}\n/**\n * SQLiteDBConnection Class\n */\nexport class SQLiteDBConnection {\n constructor(dbName, readonly, sqlite) {\n this.dbName = dbName;\n this.readonly = readonly;\n this.sqlite = sqlite;\n }\n getConnectionDBName() {\n return this.dbName;\n }\n getConnectionReadOnly() {\n return this.readonly;\n }\n async open() {\n try {\n await this.sqlite.open({\n database: this.dbName,\n readonly: this.readonly,\n });\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async close() {\n try {\n await this.sqlite.close({\n database: this.dbName,\n readonly: this.readonly,\n });\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async getUrl() {\n try {\n const res = await this.sqlite.getUrl({\n database: this.dbName,\n readonly: this.readonly,\n });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async getVersion() {\n try {\n const version = await this.sqlite.getVersion({\n database: this.dbName,\n readonly: this.readonly,\n });\n return Promise.resolve(version);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async getTableList() {\n try {\n const res = await this.sqlite.getTableList({\n database: this.dbName,\n readonly: this.readonly,\n });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async execute(statements, transaction = true) {\n try {\n if (!this.readonly) {\n const res = await this.sqlite.execute({\n database: this.dbName,\n statements: statements,\n transaction: transaction,\n readonly: false,\n });\n return Promise.resolve(res);\n }\n else {\n return Promise.reject('not allowed in read-only mode');\n }\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async query(statement, values) {\n let res;\n try {\n if (values && values.length > 0) {\n res = await this.sqlite.query({\n database: this.dbName,\n statement: statement,\n values: values,\n readonly: this.readonly,\n });\n }\n else {\n res = await this.sqlite.query({\n database: this.dbName,\n statement: statement,\n values: [],\n readonly: this.readonly,\n });\n }\n if (res && typeof res.values[0] === 'object') {\n if (Object.keys(res.values[0]).includes('ios_columns')) {\n const columnList = res.values[0]['ios_columns'];\n const iosRes = [];\n for (let i = 1; i < res.values.length; i++) {\n const rowJson = res.values[i];\n const resRowJson = {};\n for (const item of columnList) {\n resRowJson[item] = rowJson[item];\n }\n iosRes.push(resRowJson);\n }\n res = {};\n res['values'] = iosRes;\n }\n }\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async run(statement, values, transaction = true) {\n let res;\n try {\n if (!this.readonly) {\n if (values && values.length > 0) {\n res = await this.sqlite.run({\n database: this.dbName,\n statement: statement,\n values: values,\n transaction: transaction,\n readonly: false,\n });\n // }\n }\n else {\n res = await this.sqlite.run({\n database: this.dbName,\n statement: statement,\n values: [],\n transaction: transaction,\n readonly: false,\n });\n }\n return Promise.resolve(res);\n }\n else {\n return Promise.reject('not allowed in read-only mode');\n }\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async executeSet(set, transaction = true) {\n try {\n if (!this.readonly) {\n const res = await this.sqlite.executeSet({\n database: this.dbName,\n set: set,\n transaction: transaction,\n readonly: false,\n });\n // }\n return Promise.resolve(res);\n }\n else {\n return Promise.reject('not allowed in read-only mode');\n }\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async isExists() {\n try {\n const res = await this.sqlite.isDBExists({\n database: this.dbName,\n readonly: this.readonly,\n });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async isTable(table) {\n try {\n const res = await this.sqlite.isTableExists({\n database: this.dbName,\n table: table,\n readonly: this.readonly,\n });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async isDBOpen() {\n try {\n const res = await this.sqlite.isDBOpen({\n database: this.dbName,\n readonly: this.readonly,\n });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async delete() {\n try {\n if (!this.readonly) {\n await this.sqlite.deleteDatabase({\n database: this.dbName,\n readonly: false,\n });\n return Promise.resolve();\n }\n else {\n return Promise.reject('not allowed in read-only mode');\n }\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async createSyncTable() {\n try {\n if (!this.readonly) {\n const res = await this.sqlite.createSyncTable({\n database: this.dbName,\n readonly: false,\n });\n return Promise.resolve(res);\n }\n else {\n return Promise.reject('not allowed in read-only mode');\n }\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async setSyncDate(syncdate) {\n try {\n if (!this.readonly) {\n await this.sqlite.setSyncDate({\n database: this.dbName,\n syncdate: syncdate,\n readonly: false,\n });\n return Promise.resolve();\n }\n else {\n return Promise.reject('not allowed in read-only mode');\n }\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async getSyncDate() {\n try {\n const res = await this.sqlite.getSyncDate({\n database: this.dbName,\n readonly: this.readonly,\n });\n let retDate = '';\n if (res.syncDate > 0)\n retDate = new Date(res.syncDate * 1000).toISOString();\n return Promise.resolve(retDate);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async exportToJson(mode) {\n try {\n const res = await this.sqlite.exportToJson({\n database: this.dbName,\n jsonexportmode: mode,\n readonly: this.readonly,\n });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async deleteExportedRows() {\n try {\n if (!this.readonly) {\n await this.sqlite.deleteExportedRows({\n database: this.dbName,\n readonly: false,\n });\n return Promise.resolve();\n }\n else {\n return Promise.reject('not allowed in read-only mode');\n }\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async executeTransaction(txn) {\n try {\n if (!this.readonly) {\n const ret = await this.sqlite.execute({\n database: this.dbName,\n statements: 'BEGIN TRANSACTION;',\n transaction: false,\n });\n if (ret.changes.changes < 0) {\n return Promise.reject('Error in BEGIN TRANSACTION');\n }\n for (const task of txn) {\n if (task.values && task.values.length > 0) {\n const ret = await this.sqlite.run({\n database: this.dbName,\n statement: task.statement,\n values: task.values,\n transaction: false,\n readonly: false,\n });\n if (ret.changes.lastId === -1) {\n await this.execute('ROLLBACK;', false);\n return Promise.reject('Error in transaction run ');\n }\n }\n else {\n const ret = await this.sqlite.execute({\n database: this.dbName,\n statements: task.statement,\n transaction: false,\n readonly: false,\n });\n if (ret.changes.changes < 0) {\n await this.sqlite.execute({\n database: this.dbName,\n statements: 'ROLLBACK;',\n transaction: false,\n readonly: false,\n });\n return Promise.reject('Error in transaction execute ');\n }\n }\n }\n await this.sqlite.execute({\n database: this.dbName,\n statements: 'COMMIT;',\n transaction: false,\n readonly: false,\n });\n return Promise.resolve();\n }\n else {\n return Promise.reject('not allowed in read-only mode');\n }\n }\n catch (err) {\n await this.sqlite.execute({\n database: this.dbName,\n statements: 'ROLLBACK;',\n transaction: false,\n readonly: false,\n });\n return Promise.reject(err);\n }\n }\n}\n//# sourceMappingURL=definitions.js.map","import { registerPlugin } from '@capacitor/core';\nconst CapacitorSQLite = registerPlugin('CapacitorSQLite', {\n web: () => import('./web').then(m => new m.CapacitorSQLiteWeb()),\n electron: () => window.CapacitorCustomPlatform.plugins.CapacitorSQLite,\n});\nexport { CapacitorSQLite };\nexport * from './definitions';\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nexport class CapacitorSQLiteWeb extends WebPlugin {\n constructor() {\n super(...arguments);\n this.jeepSqliteElement = null;\n this.isWebStoreOpen = false;\n }\n async initWebStore() {\n await customElements.whenDefined('jeep-sqlite');\n this.jeepSqliteElement = document.querySelector('jeep-sqlite');\n this.ensureJeepSqliteIsAvailable();\n this.jeepSqliteElement.addEventListener('jeepSqliteImportProgress', (event) => {\n this.notifyListeners('sqliteImportProgressEvent', event.detail);\n });\n this.jeepSqliteElement.addEventListener('jeepSqliteExportProgress', (event) => {\n this.notifyListeners('sqliteExportProgressEvent', event.detail);\n });\n this.jeepSqliteElement.addEventListener('jeepSqliteHTTPRequestEnded', (event) => {\n this.notifyListeners('sqliteHTTPRequestEndedEvent', event.detail);\n });\n this.jeepSqliteElement.addEventListener('jeepSqlitePickDatabaseEnded', (event) => {\n this.notifyListeners('sqlitePickDatabaseEndedEvent', event.detail);\n });\n this.jeepSqliteElement.addEventListener('jeepSqliteSaveDatabaseToDisk', (event) => {\n this.notifyListeners('sqliteSaveDatabaseToDiskEvent', event.detail);\n });\n if (!this.isWebStoreOpen) {\n this.isWebStoreOpen = await this.jeepSqliteElement.isStoreOpen();\n }\n return;\n }\n async saveToStore(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.saveToStore(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async getFromLocalDiskToStore(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.getFromLocalDiskToStore(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async saveToLocalDisk(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.saveToLocalDisk(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async echo(options) {\n this.ensureJeepSqliteIsAvailable();\n const echoResult = await this.jeepSqliteElement.echo(options);\n return echoResult;\n }\n async createConnection(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.createConnection(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async open(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.open(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async closeConnection(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.closeConnection(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async getVersion(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const versionResult = await this.jeepSqliteElement.getVersion(options);\n return versionResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async checkConnectionsConsistency(options) {\n this.ensureJeepSqliteIsAvailable();\n try {\n const consistencyResult = await this.jeepSqliteElement.checkConnectionsConsistency(options);\n return consistencyResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async close(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.close(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async getTableList(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const tableListResult = await this.jeepSqliteElement.getTableList(options);\n return tableListResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async execute(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const executeResult = await this.jeepSqliteElement.execute(options);\n return executeResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async executeSet(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const executeResult = await this.jeepSqliteElement.executeSet(options);\n return executeResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async run(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const runResult = await this.jeepSqliteElement.run(options);\n return runResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async query(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const queryResult = await this.jeepSqliteElement.query(options);\n return queryResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async isDBExists(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const dbExistsResult = await this.jeepSqliteElement.isDBExists(options);\n return dbExistsResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async isDBOpen(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const isDBOpenResult = await this.jeepSqliteElement.isDBOpen(options);\n return isDBOpenResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async isDatabase(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const isDatabaseResult = await this.jeepSqliteElement.isDatabase(options);\n return isDatabaseResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async isTableExists(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const tableExistsResult = await this.jeepSqliteElement.isTableExists(options);\n return tableExistsResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async deleteDatabase(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.deleteDatabase(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async isJsonValid(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const isJsonValidResult = await this.jeepSqliteElement.isJsonValid(options);\n return isJsonValidResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async importFromJson(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const importFromJsonResult = await this.jeepSqliteElement.importFromJson(options);\n return importFromJsonResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async exportToJson(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const exportToJsonResult = await this.jeepSqliteElement.exportToJson(options);\n return exportToJsonResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async createSyncTable(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const createSyncTableResult = await this.jeepSqliteElement.createSyncTable(options);\n return createSyncTableResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async setSyncDate(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.setSyncDate(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async getSyncDate(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const getSyncDateResult = await this.jeepSqliteElement.getSyncDate(options);\n return getSyncDateResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async deleteExportedRows(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.deleteExportedRows(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async addUpgradeStatement(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.addUpgradeStatement(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async copyFromAssets(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.copyFromAssets(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async getFromHTTPRequest(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.getFromHTTPRequest(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async getDatabaseList() {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const databaseListResult = await this.jeepSqliteElement.getDatabaseList();\n return databaseListResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n /**\n * Checks if the `jeep-sqlite` element is present in the DOM.\n * If it's not in the DOM, this method throws an Error.\n *\n * Attention: This will always fail, if the `intWebStore()` method wasn't called before.\n */\n ensureJeepSqliteIsAvailable() {\n if (this.jeepSqliteElement === null) {\n throw new Error(`The jeep-sqlite element is not present in the DOM! Please check the @capacitor-community/sqlite documentation for instructions regarding the web platform.`);\n }\n }\n ensureWebstoreIsOpen() {\n if (!this.isWebStoreOpen) {\n /**\n * if (!this.isWebStoreOpen)\n this.isWebStoreOpen = await this.jeepSqliteElement.isStoreOpen();\n */\n throw new Error('WebStore is not open yet. You have to call \"initWebStore()\" first.');\n }\n }\n ////////////////////////////////////\n ////// UNIMPLEMENTED METHODS\n ////////////////////////////////////\n async getUrl() {\n throw this.unimplemented('Not implemented on web.');\n }\n async getMigratableDbList(options) {\n console.log('getMigratableDbList', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async addSQLiteSuffix(options) {\n console.log('addSQLiteSuffix', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async deleteOldDatabases(options) {\n console.log('deleteOldDatabases', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async moveDatabasesAndAddSuffix(options) {\n console.log('moveDatabasesAndAddSuffix', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async isSecretStored() {\n throw this.unimplemented('Not implemented on web.');\n }\n async setEncryptionSecret(options) {\n console.log('setEncryptionSecret', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async changeEncryptionSecret(options) {\n console.log('changeEncryptionSecret', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async clearEncryptionSecret() {\n console.log('clearEncryptionSecret');\n throw this.unimplemented('Not implemented on web.');\n }\n async checkEncryptionSecret(options) {\n console.log('checkEncryptionPassPhrase', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async getNCDatabasePath(options) {\n console.log('getNCDatabasePath', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async createNCConnection(options) {\n console.log('createNCConnection', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async closeNCConnection(options) {\n console.log('closeNCConnection', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async isNCDatabase(options) {\n console.log('isNCDatabase', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async isDatabaseEncrypted(options) {\n console.log('isDatabaseEncrypted', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async isInConfigEncryption() {\n throw this.unimplemented('Not implemented on web.');\n }\n async isInConfigBiometricAuth() {\n throw this.unimplemented('Not implemented on web.');\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sources":["esm/definitions.js","esm/index.js","esm/web.js"],"sourcesContent":["//import { Capacitor } from '@capacitor/core';\n/**\n * SQLiteConnection Class\n */\nexport class SQLiteConnection {\n constructor(sqlite) {\n this.sqlite = sqlite;\n this._connectionDict = new Map();\n }\n async initWebStore() {\n try {\n await this.sqlite.initWebStore();\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async saveToStore(database) {\n try {\n await this.sqlite.saveToStore({ database });\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async saveToLocalDisk(database) {\n try {\n await this.sqlite.saveToLocalDisk({ database });\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async getFromLocalDiskToStore(overwrite) {\n const mOverwrite = overwrite != null ? overwrite : true;\n try {\n await this.sqlite.getFromLocalDiskToStore({ overwrite: mOverwrite });\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async echo(value) {\n try {\n const res = await this.sqlite.echo({ value });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async isSecretStored() {\n try {\n const res = await this.sqlite.isSecretStored();\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async setEncryptionSecret(passphrase) {\n try {\n await this.sqlite.setEncryptionSecret({ passphrase: passphrase });\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async changeEncryptionSecret(passphrase, oldpassphrase) {\n try {\n await this.sqlite.changeEncryptionSecret({\n passphrase: passphrase,\n oldpassphrase: oldpassphrase,\n });\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async clearEncryptionSecret() {\n try {\n await this.sqlite.clearEncryptionSecret();\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async checkEncryptionSecret(passphrase) {\n try {\n const res = await this.sqlite.checkEncryptionSecret({\n passphrase: passphrase,\n });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async addUpgradeStatement(database, toVersion, statements) {\n const upgrade = {\n toVersion,\n statements,\n };\n try {\n if (database.endsWith('.db'))\n database = database.slice(0, -3);\n await this.sqlite.addUpgradeStatement({\n database,\n upgrade: [upgrade],\n });\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async createConnection(database, encrypted, mode, version, readonly) {\n try {\n if (database.endsWith('.db'))\n database = database.slice(0, -3);\n await this.sqlite.createConnection({\n database,\n encrypted,\n mode,\n version,\n readonly,\n });\n const conn = new SQLiteDBConnection(database, readonly, this.sqlite);\n const connName = readonly ? `RO_${database}` : `RW_${database}`;\n this._connectionDict.set(connName, conn);\n return Promise.resolve(conn);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async closeConnection(database, readonly) {\n try {\n if (database.endsWith('.db'))\n database = database.slice(0, -3);\n await this.sqlite.closeConnection({ database, readonly });\n const connName = readonly ? `RO_${database}` : `RW_${database}`;\n this._connectionDict.delete(connName);\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async isConnection(database, readonly) {\n const res = {};\n if (database.endsWith('.db'))\n database = database.slice(0, -3);\n const connName = readonly ? `RO_${database}` : `RW_${database}`;\n res.result = this._connectionDict.has(connName);\n return Promise.resolve(res);\n }\n async retrieveConnection(database, readonly) {\n if (database.endsWith('.db'))\n database = database.slice(0, -3);\n const connName = readonly ? `RO_${database}` : `RW_${database}`;\n if (this._connectionDict.has(connName)) {\n const conn = this._connectionDict.get(connName);\n if (typeof conn != 'undefined')\n return Promise.resolve(conn);\n else {\n return Promise.reject(`Connection ${database} is undefined`);\n }\n }\n else {\n return Promise.reject(`Connection ${database} does not exist`);\n }\n }\n async getNCDatabasePath(path, database) {\n try {\n const databasePath = await this.sqlite.getNCDatabasePath({\n path,\n database,\n });\n return Promise.resolve(databasePath);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async createNCConnection(databasePath, version) {\n try {\n await this.sqlite.createNCConnection({\n databasePath,\n version,\n });\n const conn = new SQLiteDBConnection(databasePath, true, this.sqlite);\n const connName = `RO_${databasePath})`;\n this._connectionDict.set(connName, conn);\n return Promise.resolve(conn);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async closeNCConnection(databasePath) {\n try {\n await this.sqlite.closeNCConnection({ databasePath });\n const connName = `RO_${databasePath})`;\n this._connectionDict.delete(connName);\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async isNCConnection(databasePath) {\n const res = {};\n const connName = `RO_${databasePath})`;\n res.result = this._connectionDict.has(connName);\n return Promise.resolve(res);\n }\n async retrieveNCConnection(databasePath) {\n if (this._connectionDict.has(databasePath)) {\n const connName = `RO_${databasePath})`;\n const conn = this._connectionDict.get(connName);\n if (typeof conn != 'undefined')\n return Promise.resolve(conn);\n else {\n return Promise.reject(`Connection ${databasePath} is undefined`);\n }\n }\n else {\n return Promise.reject(`Connection ${databasePath} does not exist`);\n }\n }\n async isNCDatabase(databasePath) {\n try {\n const res = await this.sqlite.isNCDatabase({ databasePath });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async retrieveAllConnections() {\n return this._connectionDict;\n }\n async closeAllConnections() {\n const delDict = new Map();\n try {\n for (const key of this._connectionDict.keys()) {\n const database = key.substring(3);\n const readonly = key.substring(0, 3) === 'RO_' ? true : false;\n await this.sqlite.closeConnection({ database, readonly });\n delDict.set(key, null);\n }\n for (const key of delDict.keys()) {\n this._connectionDict.delete(key);\n }\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async checkConnectionsConsistency() {\n try {\n const keys = [...this._connectionDict.keys()];\n const openModes = [];\n const dbNames = [];\n for (const key of keys) {\n openModes.push(key.substring(0, 2));\n dbNames.push(key.substring(3));\n }\n const res = await this.sqlite.checkConnectionsConsistency({\n dbNames: dbNames,\n openModes: openModes,\n });\n if (!res.result)\n this._connectionDict = new Map();\n return Promise.resolve(res);\n }\n catch (err) {\n this._connectionDict = new Map();\n return Promise.reject(err);\n }\n }\n async importFromJson(jsonstring) {\n try {\n const ret = await this.sqlite.importFromJson({ jsonstring: jsonstring });\n return Promise.resolve(ret);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async isJsonValid(jsonstring) {\n try {\n const ret = await this.sqlite.isJsonValid({ jsonstring: jsonstring });\n return Promise.resolve(ret);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async copyFromAssets(overwrite) {\n const mOverwrite = overwrite != null ? overwrite : true;\n try {\n await this.sqlite.copyFromAssets({ overwrite: mOverwrite });\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async getFromHTTPRequest(url, overwrite) {\n const mOverwrite = overwrite != null ? overwrite : true;\n try {\n await this.sqlite.getFromHTTPRequest({ url, overwrite: mOverwrite });\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async isDatabaseEncrypted(database) {\n if (database.endsWith('.db'))\n database = database.slice(0, -3);\n try {\n const res = await this.sqlite.isDatabaseEncrypted({ database: database });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async isInConfigEncryption() {\n try {\n const res = await this.sqlite.isInConfigEncryption();\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async isInConfigBiometricAuth() {\n try {\n const res = await this.sqlite.isInConfigBiometricAuth();\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async isDatabase(database) {\n if (database.endsWith('.db'))\n database = database.slice(0, -3);\n try {\n const res = await this.sqlite.isDatabase({ database: database });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async getDatabaseList() {\n try {\n const res = await this.sqlite.getDatabaseList();\n const values = res.values;\n values.sort();\n const ret = { values: values };\n return Promise.resolve(ret);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async getMigratableDbList(folderPath) {\n if (!folderPath || folderPath.length === 0) {\n return Promise.reject('You must provide a folder path');\n }\n try {\n const res = await this.sqlite.getMigratableDbList({\n folderPath: folderPath,\n });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async addSQLiteSuffix(folderPath, dbNameList) {\n const path = folderPath ? folderPath : 'default';\n const dbList = dbNameList ? dbNameList : [];\n try {\n const res = await this.sqlite.addSQLiteSuffix({\n folderPath: path,\n dbNameList: dbList,\n });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async deleteOldDatabases(folderPath, dbNameList) {\n const path = folderPath ? folderPath : 'default';\n const dbList = dbNameList ? dbNameList : [];\n try {\n const res = await this.sqlite.deleteOldDatabases({\n folderPath: path,\n dbNameList: dbList,\n });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async moveDatabasesAndAddSuffix(folderPath, dbNameList) {\n const path = folderPath ? folderPath : 'default';\n const dbList = dbNameList ? dbNameList : [];\n return this.sqlite.moveDatabasesAndAddSuffix({\n folderPath: path,\n dbNameList: dbList,\n });\n }\n}\n/**\n * SQLiteDBConnection Class\n */\nexport class SQLiteDBConnection {\n constructor(dbName, readonly, sqlite) {\n this.dbName = dbName;\n this.readonly = readonly;\n this.sqlite = sqlite;\n }\n getConnectionDBName() {\n return this.dbName;\n }\n getConnectionReadOnly() {\n return this.readonly;\n }\n async open() {\n try {\n await this.sqlite.open({\n database: this.dbName,\n readonly: this.readonly,\n });\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async close() {\n try {\n await this.sqlite.close({\n database: this.dbName,\n readonly: this.readonly,\n });\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async getUrl() {\n try {\n const res = await this.sqlite.getUrl({\n database: this.dbName,\n readonly: this.readonly,\n });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async getVersion() {\n try {\n const version = await this.sqlite.getVersion({\n database: this.dbName,\n readonly: this.readonly,\n });\n return Promise.resolve(version);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async getTableList() {\n try {\n const res = await this.sqlite.getTableList({\n database: this.dbName,\n readonly: this.readonly,\n });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async execute(statements, transaction = true) {\n try {\n if (!this.readonly) {\n const res = await this.sqlite.execute({\n database: this.dbName,\n statements: statements,\n transaction: transaction,\n readonly: false,\n });\n return Promise.resolve(res);\n }\n else {\n return Promise.reject('not allowed in read-only mode');\n }\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async query(statement, values) {\n let res;\n try {\n if (values && values.length > 0) {\n res = await this.sqlite.query({\n database: this.dbName,\n statement: statement,\n values: values,\n readonly: this.readonly,\n });\n }\n else {\n res = await this.sqlite.query({\n database: this.dbName,\n statement: statement,\n values: [],\n readonly: this.readonly,\n });\n }\n if (res && typeof res.values[0] === 'object') {\n if (Object.keys(res.values[0]).includes('ios_columns')) {\n const columnList = res.values[0]['ios_columns'];\n const iosRes = [];\n for (let i = 1; i < res.values.length; i++) {\n const rowJson = res.values[i];\n const resRowJson = {};\n for (const item of columnList) {\n resRowJson[item] = rowJson[item];\n }\n iosRes.push(resRowJson);\n }\n res = {};\n res['values'] = iosRes;\n }\n }\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async run(statement, values, transaction = true) {\n let res;\n try {\n if (!this.readonly) {\n if (values && values.length > 0) {\n res = await this.sqlite.run({\n database: this.dbName,\n statement: statement,\n values: values,\n transaction: transaction,\n readonly: false,\n });\n // }\n }\n else {\n res = await this.sqlite.run({\n database: this.dbName,\n statement: statement,\n values: [],\n transaction: transaction,\n readonly: false,\n });\n }\n return Promise.resolve(res);\n }\n else {\n return Promise.reject('not allowed in read-only mode');\n }\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async executeSet(set, transaction = true) {\n try {\n if (!this.readonly) {\n const res = await this.sqlite.executeSet({\n database: this.dbName,\n set: set,\n transaction: transaction,\n readonly: false,\n });\n // }\n return Promise.resolve(res);\n }\n else {\n return Promise.reject('not allowed in read-only mode');\n }\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async isExists() {\n try {\n const res = await this.sqlite.isDBExists({\n database: this.dbName,\n readonly: this.readonly,\n });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async isTable(table) {\n try {\n const res = await this.sqlite.isTableExists({\n database: this.dbName,\n table: table,\n readonly: this.readonly,\n });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async isDBOpen() {\n try {\n const res = await this.sqlite.isDBOpen({\n database: this.dbName,\n readonly: this.readonly,\n });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async delete() {\n try {\n if (!this.readonly) {\n await this.sqlite.deleteDatabase({\n database: this.dbName,\n readonly: false,\n });\n return Promise.resolve();\n }\n else {\n return Promise.reject('not allowed in read-only mode');\n }\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async createSyncTable() {\n try {\n if (!this.readonly) {\n const res = await this.sqlite.createSyncTable({\n database: this.dbName,\n readonly: false,\n });\n return Promise.resolve(res);\n }\n else {\n return Promise.reject('not allowed in read-only mode');\n }\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async setSyncDate(syncdate) {\n try {\n if (!this.readonly) {\n await this.sqlite.setSyncDate({\n database: this.dbName,\n syncdate: syncdate,\n readonly: false,\n });\n return Promise.resolve();\n }\n else {\n return Promise.reject('not allowed in read-only mode');\n }\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async getSyncDate() {\n try {\n const res = await this.sqlite.getSyncDate({\n database: this.dbName,\n readonly: this.readonly,\n });\n let retDate = '';\n if (res.syncDate > 0)\n retDate = new Date(res.syncDate * 1000).toISOString();\n return Promise.resolve(retDate);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async exportToJson(mode) {\n try {\n const res = await this.sqlite.exportToJson({\n database: this.dbName,\n jsonexportmode: mode,\n readonly: this.readonly,\n });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async deleteExportedRows() {\n try {\n if (!this.readonly) {\n await this.sqlite.deleteExportedRows({\n database: this.dbName,\n readonly: false,\n });\n return Promise.resolve();\n }\n else {\n return Promise.reject('not allowed in read-only mode');\n }\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async executeTransaction(txn) {\n try {\n if (!this.readonly) {\n const ret = await this.sqlite.execute({\n database: this.dbName,\n statements: 'BEGIN TRANSACTION;',\n transaction: false,\n });\n if (ret.changes.changes < 0) {\n return Promise.reject('Error in BEGIN TRANSACTION');\n }\n for (const task of txn) {\n if (task.values && task.values.length > 0) {\n const ret = await this.sqlite.run({\n database: this.dbName,\n statement: task.statement,\n values: task.values,\n transaction: false,\n readonly: false,\n });\n if (ret.changes.lastId === -1) {\n await this.execute('ROLLBACK;', false);\n return Promise.reject('Error in transaction run ');\n }\n }\n else {\n const ret = await this.sqlite.execute({\n database: this.dbName,\n statements: task.statement,\n transaction: false,\n readonly: false,\n });\n if (ret.changes.changes < 0) {\n await this.sqlite.execute({\n database: this.dbName,\n statements: 'ROLLBACK;',\n transaction: false,\n readonly: false,\n });\n return Promise.reject('Error in transaction execute ');\n }\n }\n }\n await this.sqlite.execute({\n database: this.dbName,\n statements: 'COMMIT;',\n transaction: false,\n readonly: false,\n });\n return Promise.resolve();\n }\n else {\n return Promise.reject('not allowed in read-only mode');\n }\n }\n catch (err) {\n await this.sqlite.execute({\n database: this.dbName,\n statements: 'ROLLBACK;',\n transaction: false,\n readonly: false,\n });\n return Promise.reject(err);\n }\n }\n}\n//# sourceMappingURL=definitions.js.map","import { registerPlugin } from '@capacitor/core';\nconst CapacitorSQLite = registerPlugin('CapacitorSQLite', {\n web: () => import('./web').then(m => new m.CapacitorSQLiteWeb()),\n electron: () => window.CapacitorCustomPlatform.plugins.CapacitorSQLite,\n});\nexport { CapacitorSQLite };\nexport * from './definitions';\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nexport class CapacitorSQLiteWeb extends WebPlugin {\n constructor() {\n super(...arguments);\n this.jeepSqliteElement = null;\n this.isWebStoreOpen = false;\n }\n async initWebStore() {\n await customElements.whenDefined('jeep-sqlite');\n this.jeepSqliteElement = document.querySelector('jeep-sqlite');\n this.ensureJeepSqliteIsAvailable();\n this.jeepSqliteElement.addEventListener('jeepSqliteImportProgress', (event) => {\n this.notifyListeners('sqliteImportProgressEvent', event.detail);\n });\n this.jeepSqliteElement.addEventListener('jeepSqliteExportProgress', (event) => {\n this.notifyListeners('sqliteExportProgressEvent', event.detail);\n });\n this.jeepSqliteElement.addEventListener('jeepSqliteHTTPRequestEnded', (event) => {\n this.notifyListeners('sqliteHTTPRequestEndedEvent', event.detail);\n });\n this.jeepSqliteElement.addEventListener('jeepSqlitePickDatabaseEnded', (event) => {\n this.notifyListeners('sqlitePickDatabaseEndedEvent', event.detail);\n });\n this.jeepSqliteElement.addEventListener('jeepSqliteSaveDatabaseToDisk', (event) => {\n this.notifyListeners('sqliteSaveDatabaseToDiskEvent', event.detail);\n });\n if (!this.isWebStoreOpen) {\n this.isWebStoreOpen = await this.jeepSqliteElement.isStoreOpen();\n }\n return;\n }\n async saveToStore(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.saveToStore(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async getFromLocalDiskToStore(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.getFromLocalDiskToStore(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async saveToLocalDisk(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.saveToLocalDisk(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async echo(options) {\n this.ensureJeepSqliteIsAvailable();\n const echoResult = await this.jeepSqliteElement.echo(options);\n return echoResult;\n }\n async createConnection(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.createConnection(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async open(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.open(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async closeConnection(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.closeConnection(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async getVersion(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const versionResult = await this.jeepSqliteElement.getVersion(options);\n return versionResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async checkConnectionsConsistency(options) {\n this.ensureJeepSqliteIsAvailable();\n try {\n const consistencyResult = await this.jeepSqliteElement.checkConnectionsConsistency(options);\n return consistencyResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async close(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.close(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async getTableList(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const tableListResult = await this.jeepSqliteElement.getTableList(options);\n return tableListResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async execute(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const executeResult = await this.jeepSqliteElement.execute(options);\n return executeResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async executeSet(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const executeResult = await this.jeepSqliteElement.executeSet(options);\n return executeResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async run(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const runResult = await this.jeepSqliteElement.run(options);\n return runResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async query(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const queryResult = await this.jeepSqliteElement.query(options);\n return queryResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async isDBExists(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const dbExistsResult = await this.jeepSqliteElement.isDBExists(options);\n return dbExistsResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async isDBOpen(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const isDBOpenResult = await this.jeepSqliteElement.isDBOpen(options);\n return isDBOpenResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async isDatabase(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const isDatabaseResult = await this.jeepSqliteElement.isDatabase(options);\n return isDatabaseResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async isTableExists(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const tableExistsResult = await this.jeepSqliteElement.isTableExists(options);\n return tableExistsResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async deleteDatabase(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.deleteDatabase(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async isJsonValid(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const isJsonValidResult = await this.jeepSqliteElement.isJsonValid(options);\n return isJsonValidResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async importFromJson(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const importFromJsonResult = await this.jeepSqliteElement.importFromJson(options);\n return importFromJsonResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async exportToJson(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const exportToJsonResult = await this.jeepSqliteElement.exportToJson(options);\n return exportToJsonResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async createSyncTable(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const createSyncTableResult = await this.jeepSqliteElement.createSyncTable(options);\n return createSyncTableResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async setSyncDate(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.setSyncDate(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async getSyncDate(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const getSyncDateResult = await this.jeepSqliteElement.getSyncDate(options);\n return getSyncDateResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async deleteExportedRows(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.deleteExportedRows(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async addUpgradeStatement(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.addUpgradeStatement(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async copyFromAssets(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.copyFromAssets(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async getFromHTTPRequest(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.getFromHTTPRequest(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async getDatabaseList() {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const databaseListResult = await this.jeepSqliteElement.getDatabaseList();\n return databaseListResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n /**\n * Checks if the `jeep-sqlite` element is present in the DOM.\n * If it's not in the DOM, this method throws an Error.\n *\n * Attention: This will always fail, if the `intWebStore()` method wasn't called before.\n */\n ensureJeepSqliteIsAvailable() {\n if (this.jeepSqliteElement === null) {\n throw new Error(`The jeep-sqlite element is not present in the DOM! Please check the @capacitor-community/sqlite documentation for instructions regarding the web platform.`);\n }\n }\n ensureWebstoreIsOpen() {\n if (!this.isWebStoreOpen) {\n /**\n * if (!this.isWebStoreOpen)\n this.isWebStoreOpen = await this.jeepSqliteElement.isStoreOpen();\n */\n throw new Error('WebStore is not open yet. You have to call \"initWebStore()\" first.');\n }\n }\n ////////////////////////////////////\n ////// UNIMPLEMENTED METHODS\n ////////////////////////////////////\n async getUrl() {\n throw this.unimplemented('Not implemented on web.');\n }\n async getMigratableDbList(options) {\n console.log('getMigratableDbList', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async addSQLiteSuffix(options) {\n console.log('addSQLiteSuffix', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async deleteOldDatabases(options) {\n console.log('deleteOldDatabases', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async moveDatabasesAndAddSuffix(options) {\n console.log('moveDatabasesAndAddSuffix', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async isSecretStored() {\n throw this.unimplemented('Not implemented on web.');\n }\n async setEncryptionSecret(options) {\n console.log('setEncryptionSecret', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async changeEncryptionSecret(options) {\n console.log('changeEncryptionSecret', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async clearEncryptionSecret() {\n console.log('clearEncryptionSecret');\n throw this.unimplemented('Not implemented on web.');\n }\n async checkEncryptionSecret(options) {\n console.log('checkEncryptionPassPhrase', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async getNCDatabasePath(options) {\n console.log('getNCDatabasePath', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async createNCConnection(options) {\n console.log('createNCConnection', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async closeNCConnection(options) {\n console.log('closeNCConnection', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async isNCDatabase(options) {\n console.log('isNCDatabase', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async isDatabaseEncrypted(options) {\n console.log('isDatabaseEncrypted', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async isInConfigEncryption() {\n throw this.unimplemented('Not implemented on web.');\n }\n async isInConfigBiometricAuth() {\n throw this.unimplemented('Not implemented on web.');\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":"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"}
@@ -87,7 +87,6 @@ class UtilsFile {
87
87
  this.isEncryption = this.capConfig.plugins.CapacitorSQLite.electronIsEncryption
88
88
  ? this.capConfig.plugins.CapacitorSQLite.electronIsEncryption
89
89
  : false;
90
- console.log(`$$$$$$ this.isEncryption: ${this.isEncryption} $$$$$$`);
91
90
  this.osType = this.Os.type();
92
91
  switch (this.osType) {
93
92
  case 'Darwin':
@@ -118,7 +117,6 @@ class UtilsFile {
118
117
  * @returns
119
118
  */
120
119
  getIsEncryption() {
121
- console.log(`>>>>>> getIsEncryption this.isEncryption: ${this.isEncryption} >>>>>>`);
122
120
  return this.isEncryption;
123
121
  }
124
122
  /**
@@ -598,6 +596,22 @@ class UtilsFile {
598
596
  fileStream.on('finish', resolve);
599
597
  });
600
598
  }
599
+ readFileAsPromise(path, options) {
600
+ return new Promise((resolve, reject) => {
601
+ const fileStream = this.NodeFs.createReadStream(path, options);
602
+ const chunks = [];
603
+ fileStream.on('data', (data) => {
604
+ chunks.push(data);
605
+ });
606
+ fileStream.on('close', () => {
607
+ resolve(chunks.toString());
608
+ });
609
+ fileStream.on('error', (err) => {
610
+ const msg = err.message ? err.message : err;
611
+ reject(msg);
612
+ });
613
+ });
614
+ }
601
615
  /**
602
616
  * CreateFolderIfNotExists
603
617
  * Create directory
@@ -1532,13 +1546,13 @@ class UtilsSQLite {
1532
1546
  throw new Error(`${msg} ${errmsg}`);
1533
1547
  }
1534
1548
  }
1535
- isDatabaseEncrypted(dbName) {
1549
+ async isDatabaseEncrypted(dbName) {
1536
1550
  const msg = "isDatabaseEncrypted";
1537
1551
  try {
1538
1552
  const isExists = this.fileUtil.isFileExists(dbName);
1539
1553
  if (isExists) {
1540
- const filePath = this.fileUtil.getFilePath(dbName + 'SQLite.db');
1541
- return this.isDBEncrypted(filePath);
1554
+ const filePath = this.fileUtil.getFilePath(dbName);
1555
+ return await this.isDBEncrypted(filePath);
1542
1556
  }
1543
1557
  else {
1544
1558
  throw new Error(`${msg}: Database ${dbName} does not exist`);
@@ -1549,12 +1563,13 @@ class UtilsSQLite {
1549
1563
  throw new Error(`${msg} ${errmsg}`);
1550
1564
  }
1551
1565
  }
1552
- isDBEncrypted(filePath) {
1566
+ async isDBEncrypted(filePath) {
1553
1567
  try {
1554
- const mDB = this.openOrCreateDatabase(filePath, "", true);
1555
- this.getVersion(mDB);
1556
- this.closeDB(mDB);
1557
- return false;
1568
+ const retStr = await this.fileUtil.readFileAsPromise(filePath, { start: 0, end: 12 });
1569
+ if (retStr === 'SQLite format')
1570
+ return false;
1571
+ else
1572
+ return true;
1558
1573
  }
1559
1574
  catch (error) {
1560
1575
  return true;
@@ -3443,27 +3458,6 @@ class UtilsEncryption {
3443
3458
  constructor() {
3444
3459
  this.fileUtil = new utilsFile_1$3.UtilsFile();
3445
3460
  this.sqliteUtil = new utilsSQLite_1$4.UtilsSQLite();
3446
- /**
3447
- * SqlcipherEncrypt
3448
- * @param oDB
3449
- * @param pathDB
3450
- * @param password
3451
- */
3452
- /* private async sqlcipherEncrypt(
3453
- oDB: any,
3454
- pathDB: string,
3455
- password: string,
3456
- ): Promise<void> {
3457
- oDB.serialize(() => {
3458
- let stmt = `ATTACH DATABASE '${pathDB}' `;
3459
- stmt += `AS encrypted KEY '${password}';`;
3460
- oDB.run(stmt);
3461
- oDB.run("SELECT sqlcipher_export('encrypted');");
3462
- oDB.run('DETACH DATABASE encrypted;');
3463
- });
3464
- return Promise.resolve();
3465
- }
3466
- */
3467
3461
  }
3468
3462
  /**
3469
3463
  * EncryptDatabase
@@ -3474,16 +3468,10 @@ class UtilsEncryption {
3474
3468
  const msg = 'EncryptDatabase: ';
3475
3469
  const retB = this.fileUtil.isPathExists(pathDB);
3476
3470
  if (retB) {
3477
- const tempPath = this.fileUtil.getFilePath('temp.db');
3478
3471
  try {
3479
- await this.fileUtil.copyFilePath(pathDB, tempPath, true);
3480
- const oDB = await this.sqliteUtil.openOrCreateDatabase(tempPath, '', false);
3481
- const mDB = await this.sqliteUtil.openOrCreateDatabase(pathDB, '', true);
3482
- this.sqliteUtil.pragmaReKey(oDB, '', password);
3483
- this.sqliteUtil.closeDB(oDB);
3472
+ const mDB = await this.sqliteUtil.openOrCreateDatabase(pathDB, '', false);
3473
+ this.sqliteUtil.pragmaReKey(mDB, '', password);
3484
3474
  this.sqliteUtil.closeDB(mDB);
3485
- this.fileUtil.deleteFilePath(pathDB);
3486
- this.fileUtil.renameFilePath(tempPath, pathDB);
3487
3475
  return Promise.resolve();
3488
3476
  }
3489
3477
  catch (err) {
@@ -3520,7 +3508,6 @@ class UtilsSecret {
3520
3508
  setEncryptSecret(passphrase) {
3521
3509
  try {
3522
3510
  let oldpassphrase = this.getPassphrase();
3523
- console.log(`>>>> setEncryptSecret oldpassphrase: ${oldpassphrase}`);
3524
3511
  if (oldpassphrase.length > 0) {
3525
3512
  throw new Error(`setEncryptSecret: passphrase already stored`);
3526
3513
  }
@@ -3529,7 +3516,6 @@ class UtilsSecret {
3529
3516
  if (oldpassphrase.length <= 0) {
3530
3517
  throw new Error(`setEncryptSecret: globalUtil is null`);
3531
3518
  }
3532
- console.log(`>>>> setEncryptSecret oldpassphrase: ${oldpassphrase}, passphrase ${passphrase}`);
3533
3519
  // check if some databases were encrypted with the initial secret 'sqlite secret'
3534
3520
  this.changeDatabaseSecret(oldpassphrase, passphrase).then(() => {
3535
3521
  this.storage.set('userData', { passphrase: passphrase }, function (error) {
@@ -3583,20 +3569,13 @@ class UtilsSecret {
3583
3569
  }
3584
3570
  async changeDatabaseSecret(oldpassphrase, newpassphrase) {
3585
3571
  try {
3586
- console.log(`>>> changeDatabaseSecret oldpassphrase: ${oldpassphrase}`);
3587
- console.log(`>>> changeDatabaseSecret newpassphrase: ${newpassphrase}`);
3588
3572
  // get the database folder
3589
3573
  const pathDatabase = this.fileUtil.getDatabasesPath();
3590
- console.log(`>>> changeDatabaseSecret pathDatabase: ${pathDatabase}`);
3591
3574
  // get the list of databases
3592
3575
  const files = await this.fileUtil.getFileList(pathDatabase);
3593
- console.log(`>>> changeDatabaseSecret files: ${files}`);
3594
- files.forEach(dbName => {
3595
- console.log(`>>> changeDatabaseSecret dbName: ${dbName}`);
3576
+ files.forEach(async (dbName) => {
3596
3577
  const filePath = this.fileUtil.getFilePath(dbName);
3597
- console.log(`>>> changeDatabaseSecret filePath: ${filePath}`);
3598
- const isEncrypt = this.sqliteUtil.isDBEncrypted(filePath);
3599
- console.log(`>>> changeDatabaseSecret isEncrypt: ${isEncrypt}`);
3578
+ const isEncrypt = await this.sqliteUtil.isDBEncrypted(filePath);
3600
3579
  if (isEncrypt) {
3601
3580
  this.sqliteUtil.changePassword(filePath, oldpassphrase, newpassphrase);
3602
3581
  }
@@ -3609,7 +3588,6 @@ class UtilsSecret {
3609
3588
  }
3610
3589
  getPassphrase() {
3611
3590
  const data = this.storage.getSync('userData');
3612
- console.log(`>>>>>> data: `, data);
3613
3591
  const keys = Object.keys(data);
3614
3592
  if (data == null || keys.length <= 0)
3615
3593
  return "";
@@ -3623,7 +3601,6 @@ class UtilsSecret {
3623
3601
  setPassphrase(passphrase) {
3624
3602
  const data = this.storage.getSync('userData');
3625
3603
  data.passphrase = passphrase;
3626
- console.log(`>>>>>> set data: `, data);
3627
3604
  this.storage.set('userData', data, function (error) {
3628
3605
  if (error)
3629
3606
  throw new Error(`setPassphrase: ${error.message}`);
@@ -3632,7 +3609,6 @@ class UtilsSecret {
3632
3609
  removePassphrase() {
3633
3610
  const data = this.storage.getSync('userData');
3634
3611
  delete data.passphrase;
3635
- console.log(`>>>>>> set data: `, data);
3636
3612
  this.storage.set('userData', data, function (error) {
3637
3613
  if (error)
3638
3614
  throw new Error(`removePassphrase: ${error.message}`);
@@ -4283,12 +4259,10 @@ class CapacitorSQLite {
4283
4259
  const readonly = options.readonly ? options.readonly : false;
4284
4260
  const connName = readonly ? 'RO_' + dbName : 'RW_' + dbName;
4285
4261
  const database = this.getDatabaseConnectionOrThrowError(connName);
4286
- console.log(`@@@@@ connName: ${connName}`);
4287
4262
  try {
4288
4263
  if (database.isDBOpen()) {
4289
4264
  // close the database
4290
4265
  database.dbClose();
4291
- console.log(`@@@@@ after database.dbClose()`);
4292
4266
  }
4293
4267
  }
4294
4268
  catch (err) {
@@ -4393,7 +4367,6 @@ class CapacitorSQLite {
4393
4367
  throw new Error(`Execute: ${msg}`);
4394
4368
  }
4395
4369
  try {
4396
- console.log(`in index.ts statements`);
4397
4370
  const executeResult = database.executeSQL(statements, transaction);
4398
4371
  if (executeResult < 0) {
4399
4372
  throw new Error('Execute changes < 0');
@@ -4897,7 +4870,6 @@ class CapacitorSQLite {
4897
4870
  throw new Error(`setEncryptionSecret: passphrase already in store`);
4898
4871
  }
4899
4872
  await this.closeAllConnections();
4900
- console.log(`setEncryptionSecret after closeAllConnections`);
4901
4873
  this.secretUtil.setEncryptSecret(passphrase);
4902
4874
  return;
4903
4875
  }
@@ -4915,8 +4887,6 @@ class CapacitorSQLite {
4915
4887
  if (oldpassphrase.length <= 0) {
4916
4888
  throw new Error(`changeEncryptionSecret: You must give the oldpassphrase`);
4917
4889
  }
4918
- console.log(`##### oldsecret: ${oldsecret}`);
4919
- console.log(`##### oldpassphrase: ${oldpassphrase}`);
4920
4890
  if (oldpassphrase !== oldsecret) {
4921
4891
  throw new Error(`changeEncryptionSecret: the given oldpassphrase is wrong`);
4922
4892
  }
@@ -4956,7 +4926,7 @@ class CapacitorSQLite {
4956
4926
  async isDatabaseEncrypted(options) {
4957
4927
  const dbName = this.getOptionValue(options, 'database');
4958
4928
  try {
4959
- const isEncrypt = this.sqliteUtil.isDatabaseEncrypted(dbName + 'SQLite.db');
4929
+ const isEncrypt = await this.sqliteUtil.isDatabaseEncrypted(dbName + 'SQLite.db');
4960
4930
  return { result: isEncrypt };
4961
4931
  }
4962
4932
  catch (err) {