@capacitor-community/sqlite 3.2.5-1 → 3.3.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.
Files changed (29) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/CapacitorCommunitySqlite.podspec +1 -0
  3. package/README.md +26 -117
  4. package/android/src/main/java/com/getcapacitor/community/database/sqlite/CapacitorSQLite.java +5 -5
  5. package/android/src/main/java/com/getcapacitor/community/database/sqlite/CapacitorSQLitePlugin.java +3 -2
  6. package/android/src/main/java/com/getcapacitor/community/database/sqlite/SQLite/Database.java +0 -7
  7. package/android/src/main/java/com/getcapacitor/community/database/sqlite/SQLite/UtilsFile.java +71 -11
  8. package/android/src/main/java/com/getcapacitor/community/database/sqlite/SQLite/UtilsMigrate.java +34 -15
  9. package/android/src/main/java/com/getcapacitor/community/database/sqlite/SQLite/UtilsUpgrade.java +0 -1
  10. package/dist/esm/definitions.d.ts +13 -4
  11. package/dist/esm/definitions.js +3 -2
  12. package/dist/esm/definitions.js.map +1 -1
  13. package/dist/esm/web.d.ts +2 -2
  14. package/dist/esm/web.js +2 -2
  15. package/dist/esm/web.js.map +1 -1
  16. package/dist/plugin.cjs.js +5 -4
  17. package/dist/plugin.cjs.js.map +1 -1
  18. package/dist/plugin.js +5 -4
  19. package/dist/plugin.js.map +1 -1
  20. package/electron/dist/plugin.js +69 -25
  21. package/electron/dist/plugin.js.map +1 -1
  22. package/electron/rollup.config.js +1 -1
  23. package/ios/Plugin/CapacitorSQLite.swift +19 -5
  24. package/ios/Plugin/CapacitorSQLitePlugin.swift +3 -1
  25. package/ios/Plugin/ImportExportJson/ExportToJson.swift +0 -1
  26. package/ios/Plugin/Utils/UtilsFile.swift +98 -34
  27. package/ios/Plugin/Utils/UtilsMigrate.swift +59 -13
  28. package/ios/Plugin/Utils/UtilsSecret.swift +2 -8
  29. package/package.json +5 -5
@@ -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 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 addUpgradeStatement(database, fromVersion, toVersion, statement, set) {\n const upgrade = {\n fromVersion,\n toVersion,\n statement,\n set: set ? set : [],\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) {\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 });\n const conn = new SQLiteDBConnection(database, this.sqlite);\n this._connectionDict.set(database, conn);\n return Promise.resolve(conn);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async closeConnection(database) {\n try {\n if (database.endsWith('.db'))\n database = database.slice(0, -3);\n await this.sqlite.closeConnection({ database });\n this._connectionDict.delete(database);\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async isConnection(database) {\n const res = {};\n if (database.endsWith('.db'))\n database = database.slice(0, -3);\n res.result = this._connectionDict.has(database);\n return Promise.resolve(res);\n }\n async retrieveConnection(database) {\n if (database.endsWith('.db'))\n database = database.slice(0, -3);\n if (this._connectionDict.has(database)) {\n const conn = this._connectionDict.get(database);\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 retrieveAllConnections() {\n return this._connectionDict;\n }\n async closeAllConnections() {\n const delDict = new Map();\n try {\n for (const database of this._connectionDict.keys()) {\n await this.sqlite.closeConnection({ database });\n delDict.set(database, null);\n }\n for (const database of delDict.keys()) {\n this._connectionDict.delete(database);\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 res = await this.sqlite.checkConnectionsConsistency({ dbNames: keys });\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() {\n try {\n await this.sqlite.copyFromAssets();\n return Promise.resolve();\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}\n/**\n * SQLiteDBConnection Class\n */\nexport class SQLiteDBConnection {\n constructor(dbName, sqlite) {\n this.dbName = dbName;\n this.sqlite = sqlite;\n }\n getConnectionDBName() {\n return this.dbName;\n }\n async open() {\n try {\n await this.sqlite.open({ database: this.dbName });\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({ database: this.dbName });\n return Promise.resolve();\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 });\n return Promise.resolve(version);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async execute(statements, transaction = true) {\n try {\n const res = await this.sqlite.execute({\n database: this.dbName,\n statements: statements,\n transaction: transaction,\n });\n return Promise.resolve(res);\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 });\n }\n else {\n res = await this.sqlite.query({\n database: this.dbName,\n statement: statement,\n values: [],\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 (values && values.length > 0) {\n res = await this.sqlite.run({\n database: this.dbName,\n statement: statement,\n values: values,\n transaction: transaction,\n });\n // }\n }\n else {\n res = await this.sqlite.run({\n database: this.dbName,\n statement: statement,\n values: [],\n transaction: transaction,\n });\n }\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async executeSet(set, transaction = true) {\n try {\n const res = await this.sqlite.executeSet({\n database: this.dbName,\n set: set,\n transaction: transaction,\n });\n // }\n return Promise.resolve(res);\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 });\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 });\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 });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async delete() {\n try {\n await this.sqlite.deleteDatabase({ database: this.dbName });\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async createSyncTable() {\n try {\n const res = await this.sqlite.createSyncTable({\n database: this.dbName,\n });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async setSyncDate(syncdate) {\n try {\n await this.sqlite.setSyncDate({\n database: this.dbName,\n syncdate: syncdate,\n });\n return Promise.resolve();\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 });\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 });\n return Promise.resolve(res);\n }\n catch (err) {\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.sqliteEl = null;\n this.isStoreOpen = false;\n }\n async initWebStore() {\n await customElements.whenDefined('jeep-sqlite');\n this.sqliteEl = document.querySelector('jeep-sqlite');\n if (this.sqliteEl != null) {\n this.sqliteEl.addEventListener('jeepSqliteImportProgress', (event) => {\n this.notifyListeners('sqliteImportProgressEvent', event.detail);\n });\n this.sqliteEl.addEventListener('jeepSqliteExportProgress', (event) => {\n this.notifyListeners('sqliteExportProgressEvent', event.detail);\n });\n if (!this.isStoreOpen)\n this.isStoreOpen = await this.sqliteEl.isStoreOpen();\n return Promise.resolve();\n }\n else {\n return Promise.reject('InitWeb: this.sqliteEl is null');\n }\n }\n async saveToStore(options) {\n if (this.sqliteEl != null) {\n if (this.isStoreOpen) {\n try {\n await this.sqliteEl.saveToStore(options);\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async echo(options) {\n if (this.sqliteEl != null) {\n const echo = await this.sqliteEl.echo(options);\n return echo;\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\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 createConnection(options) {\n if (this.sqliteEl != null) {\n if (this.isStoreOpen) {\n try {\n await this.sqliteEl.createConnection(options);\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async open(options) {\n if (this.sqliteEl != null) {\n if (this.isStoreOpen) {\n try {\n await this.sqliteEl.open(options);\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async closeConnection(options) {\n if (this.sqliteEl != null) {\n if (this.isStoreOpen) {\n try {\n await this.sqliteEl.closeConnection(options);\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async getVersion(options) {\n if (this.sqliteEl != null) {\n if (this.isStoreOpen) {\n try {\n const ret = await this.sqliteEl.getVersion(options);\n return Promise.resolve(ret);\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async checkConnectionsConsistency(options) {\n if (this.sqliteEl != null) {\n try {\n const ret = await this.sqliteEl.checkConnectionsConsistency(options);\n return Promise.resolve(ret);\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async close(options) {\n if (this.sqliteEl != null) {\n if (this.isStoreOpen) {\n try {\n await this.sqliteEl.close(options);\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async execute(options) {\n if (this.sqliteEl != null) {\n if (this.isStoreOpen) {\n try {\n const ret = await this.sqliteEl.execute(options);\n return Promise.resolve(ret);\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async executeSet(options) {\n if (this.sqliteEl != null) {\n if (this.isStoreOpen) {\n try {\n const ret = await this.sqliteEl.executeSet(options);\n return Promise.resolve(ret);\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async run(options) {\n if (this.sqliteEl != null) {\n if (this.isStoreOpen) {\n try {\n const ret = await this.sqliteEl.run(options);\n return Promise.resolve(ret);\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async query(options) {\n if (this.sqliteEl != null) {\n if (this.isStoreOpen) {\n try {\n const ret = await this.sqliteEl.query(options);\n return Promise.resolve(ret);\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async isDBExists(options) {\n if (this.sqliteEl != null) {\n if (this.isStoreOpen) {\n try {\n const ret = await this.sqliteEl.isDBExists(options);\n return Promise.resolve(ret);\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async isDBOpen(options) {\n if (this.sqliteEl != null) {\n if (this.isStoreOpen) {\n try {\n const ret = await this.sqliteEl.isDBOpen(options);\n return Promise.resolve(ret);\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async isDatabase(options) {\n if (this.sqliteEl != null) {\n if (!this.isStoreOpen)\n this.isStoreOpen = await this.sqliteEl.isStoreOpen();\n if (this.isStoreOpen) {\n try {\n const ret = await this.sqliteEl.isDatabase(options);\n return Promise.resolve(ret);\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async isTableExists(options) {\n if (this.sqliteEl != null) {\n if (this.isStoreOpen) {\n try {\n const ret = await this.sqliteEl.isTableExists(options);\n return Promise.resolve(ret);\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async deleteDatabase(options) {\n if (this.sqliteEl != null) {\n if (this.isStoreOpen) {\n try {\n await this.sqliteEl.deleteDatabase(options);\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async isJsonValid(options) {\n if (this.sqliteEl != null) {\n if (!this.isStoreOpen)\n this.isStoreOpen = await this.sqliteEl.isStoreOpen();\n if (this.isStoreOpen) {\n try {\n const ret = await this.sqliteEl.isJsonValid(options);\n return Promise.resolve(ret);\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async importFromJson(options) {\n if (this.sqliteEl != null) {\n if (!this.isStoreOpen)\n this.isStoreOpen = await this.sqliteEl.isStoreOpen();\n if (this.isStoreOpen) {\n try {\n const ret = await this.sqliteEl.importFromJson(options);\n return Promise.resolve(ret);\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async exportToJson(options) {\n if (this.sqliteEl != null) {\n if (this.isStoreOpen) {\n try {\n const ret = await this.sqliteEl.exportToJson(options);\n return Promise.resolve(ret);\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async createSyncTable(options) {\n if (this.sqliteEl != null) {\n if (this.isStoreOpen) {\n try {\n const ret = await this.sqliteEl.createSyncTable(options);\n return Promise.resolve(ret);\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async setSyncDate(options) {\n if (this.sqliteEl != null) {\n if (this.isStoreOpen) {\n try {\n await this.sqliteEl.setSyncDate(options);\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async getSyncDate(options) {\n if (this.sqliteEl != null) {\n if (this.isStoreOpen) {\n try {\n const ret = await this.sqliteEl.getSyncDate(options);\n return Promise.resolve(ret);\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async addUpgradeStatement(options) {\n if (this.sqliteEl != null) {\n if (this.isStoreOpen) {\n try {\n await this.sqliteEl.addUpgradeStatement(options);\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async copyFromAssets() {\n if (this.sqliteEl != null) {\n if (this.isStoreOpen) {\n try {\n await this.sqliteEl.copyFromAssets();\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async getDatabaseList() {\n if (this.sqliteEl != null) {\n if (!this.isStoreOpen)\n this.isStoreOpen = await this.sqliteEl.isStoreOpen();\n if (this.isStoreOpen) {\n try {\n const ret = await this.sqliteEl.getDatabaseList();\n return Promise.resolve(ret);\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\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}\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 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 addUpgradeStatement(database, fromVersion, toVersion, statement, set) {\n const upgrade = {\n fromVersion,\n toVersion,\n statement,\n set: set ? set : [],\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) {\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 });\n const conn = new SQLiteDBConnection(database, this.sqlite);\n this._connectionDict.set(database, conn);\n return Promise.resolve(conn);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async closeConnection(database) {\n try {\n if (database.endsWith('.db'))\n database = database.slice(0, -3);\n await this.sqlite.closeConnection({ database });\n this._connectionDict.delete(database);\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async isConnection(database) {\n const res = {};\n if (database.endsWith('.db'))\n database = database.slice(0, -3);\n res.result = this._connectionDict.has(database);\n return Promise.resolve(res);\n }\n async retrieveConnection(database) {\n if (database.endsWith('.db'))\n database = database.slice(0, -3);\n if (this._connectionDict.has(database)) {\n const conn = this._connectionDict.get(database);\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 retrieveAllConnections() {\n return this._connectionDict;\n }\n async closeAllConnections() {\n const delDict = new Map();\n try {\n for (const database of this._connectionDict.keys()) {\n await this.sqlite.closeConnection({ database });\n delDict.set(database, null);\n }\n for (const database of delDict.keys()) {\n this._connectionDict.delete(database);\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 res = await this.sqlite.checkConnectionsConsistency({ dbNames: keys });\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 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}\n/**\n * SQLiteDBConnection Class\n */\nexport class SQLiteDBConnection {\n constructor(dbName, sqlite) {\n this.dbName = dbName;\n this.sqlite = sqlite;\n }\n getConnectionDBName() {\n return this.dbName;\n }\n async open() {\n try {\n await this.sqlite.open({ database: this.dbName });\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({ database: this.dbName });\n return Promise.resolve();\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 });\n return Promise.resolve(version);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async execute(statements, transaction = true) {\n try {\n const res = await this.sqlite.execute({\n database: this.dbName,\n statements: statements,\n transaction: transaction,\n });\n return Promise.resolve(res);\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 });\n }\n else {\n res = await this.sqlite.query({\n database: this.dbName,\n statement: statement,\n values: [],\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 (values && values.length > 0) {\n res = await this.sqlite.run({\n database: this.dbName,\n statement: statement,\n values: values,\n transaction: transaction,\n });\n // }\n }\n else {\n res = await this.sqlite.run({\n database: this.dbName,\n statement: statement,\n values: [],\n transaction: transaction,\n });\n }\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async executeSet(set, transaction = true) {\n try {\n const res = await this.sqlite.executeSet({\n database: this.dbName,\n set: set,\n transaction: transaction,\n });\n // }\n return Promise.resolve(res);\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 });\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 });\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 });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async delete() {\n try {\n await this.sqlite.deleteDatabase({ database: this.dbName });\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async createSyncTable() {\n try {\n const res = await this.sqlite.createSyncTable({\n database: this.dbName,\n });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async setSyncDate(syncdate) {\n try {\n await this.sqlite.setSyncDate({\n database: this.dbName,\n syncdate: syncdate,\n });\n return Promise.resolve();\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 });\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 });\n return Promise.resolve(res);\n }\n catch (err) {\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.sqliteEl = null;\n this.isStoreOpen = false;\n }\n async initWebStore() {\n await customElements.whenDefined('jeep-sqlite');\n this.sqliteEl = document.querySelector('jeep-sqlite');\n if (this.sqliteEl != null) {\n this.sqliteEl.addEventListener('jeepSqliteImportProgress', (event) => {\n this.notifyListeners('sqliteImportProgressEvent', event.detail);\n });\n this.sqliteEl.addEventListener('jeepSqliteExportProgress', (event) => {\n this.notifyListeners('sqliteExportProgressEvent', event.detail);\n });\n if (!this.isStoreOpen)\n this.isStoreOpen = await this.sqliteEl.isStoreOpen();\n return Promise.resolve();\n }\n else {\n return Promise.reject('InitWeb: this.sqliteEl is null');\n }\n }\n async saveToStore(options) {\n if (this.sqliteEl != null) {\n if (this.isStoreOpen) {\n try {\n await this.sqliteEl.saveToStore(options);\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async echo(options) {\n if (this.sqliteEl != null) {\n const echo = await this.sqliteEl.echo(options);\n return echo;\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\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 createConnection(options) {\n if (this.sqliteEl != null) {\n if (this.isStoreOpen) {\n try {\n await this.sqliteEl.createConnection(options);\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async open(options) {\n if (this.sqliteEl != null) {\n if (this.isStoreOpen) {\n try {\n await this.sqliteEl.open(options);\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async closeConnection(options) {\n if (this.sqliteEl != null) {\n if (this.isStoreOpen) {\n try {\n await this.sqliteEl.closeConnection(options);\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async getVersion(options) {\n if (this.sqliteEl != null) {\n if (this.isStoreOpen) {\n try {\n const ret = await this.sqliteEl.getVersion(options);\n return Promise.resolve(ret);\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async checkConnectionsConsistency(options) {\n if (this.sqliteEl != null) {\n try {\n const ret = await this.sqliteEl.checkConnectionsConsistency(options);\n return Promise.resolve(ret);\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async close(options) {\n if (this.sqliteEl != null) {\n if (this.isStoreOpen) {\n try {\n await this.sqliteEl.close(options);\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async execute(options) {\n if (this.sqliteEl != null) {\n if (this.isStoreOpen) {\n try {\n const ret = await this.sqliteEl.execute(options);\n return Promise.resolve(ret);\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async executeSet(options) {\n if (this.sqliteEl != null) {\n if (this.isStoreOpen) {\n try {\n const ret = await this.sqliteEl.executeSet(options);\n return Promise.resolve(ret);\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async run(options) {\n if (this.sqliteEl != null) {\n if (this.isStoreOpen) {\n try {\n const ret = await this.sqliteEl.run(options);\n return Promise.resolve(ret);\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async query(options) {\n if (this.sqliteEl != null) {\n if (this.isStoreOpen) {\n try {\n const ret = await this.sqliteEl.query(options);\n return Promise.resolve(ret);\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async isDBExists(options) {\n if (this.sqliteEl != null) {\n if (this.isStoreOpen) {\n try {\n const ret = await this.sqliteEl.isDBExists(options);\n return Promise.resolve(ret);\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async isDBOpen(options) {\n if (this.sqliteEl != null) {\n if (this.isStoreOpen) {\n try {\n const ret = await this.sqliteEl.isDBOpen(options);\n return Promise.resolve(ret);\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async isDatabase(options) {\n if (this.sqliteEl != null) {\n if (!this.isStoreOpen)\n this.isStoreOpen = await this.sqliteEl.isStoreOpen();\n if (this.isStoreOpen) {\n try {\n const ret = await this.sqliteEl.isDatabase(options);\n return Promise.resolve(ret);\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async isTableExists(options) {\n if (this.sqliteEl != null) {\n if (this.isStoreOpen) {\n try {\n const ret = await this.sqliteEl.isTableExists(options);\n return Promise.resolve(ret);\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async deleteDatabase(options) {\n if (this.sqliteEl != null) {\n if (this.isStoreOpen) {\n try {\n await this.sqliteEl.deleteDatabase(options);\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async isJsonValid(options) {\n if (this.sqliteEl != null) {\n if (!this.isStoreOpen)\n this.isStoreOpen = await this.sqliteEl.isStoreOpen();\n if (this.isStoreOpen) {\n try {\n const ret = await this.sqliteEl.isJsonValid(options);\n return Promise.resolve(ret);\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async importFromJson(options) {\n if (this.sqliteEl != null) {\n if (!this.isStoreOpen)\n this.isStoreOpen = await this.sqliteEl.isStoreOpen();\n if (this.isStoreOpen) {\n try {\n const ret = await this.sqliteEl.importFromJson(options);\n return Promise.resolve(ret);\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async exportToJson(options) {\n if (this.sqliteEl != null) {\n if (this.isStoreOpen) {\n try {\n const ret = await this.sqliteEl.exportToJson(options);\n return Promise.resolve(ret);\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async createSyncTable(options) {\n if (this.sqliteEl != null) {\n if (this.isStoreOpen) {\n try {\n const ret = await this.sqliteEl.createSyncTable(options);\n return Promise.resolve(ret);\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async setSyncDate(options) {\n if (this.sqliteEl != null) {\n if (this.isStoreOpen) {\n try {\n await this.sqliteEl.setSyncDate(options);\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async getSyncDate(options) {\n if (this.sqliteEl != null) {\n if (this.isStoreOpen) {\n try {\n const ret = await this.sqliteEl.getSyncDate(options);\n return Promise.resolve(ret);\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async addUpgradeStatement(options) {\n if (this.sqliteEl != null) {\n if (this.isStoreOpen) {\n try {\n await this.sqliteEl.addUpgradeStatement(options);\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async copyFromAssets(options) {\n if (this.sqliteEl != null) {\n if (this.isStoreOpen) {\n try {\n await this.sqliteEl.copyFromAssets(options);\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\n }\n async getDatabaseList() {\n if (this.sqliteEl != null) {\n if (!this.isStoreOpen)\n this.isStoreOpen = await this.sqliteEl.isStoreOpen();\n if (this.isStoreOpen) {\n try {\n const ret = await this.sqliteEl.getDatabaseList();\n return Promise.resolve(ret);\n }\n catch (err) {\n return Promise.reject(`${err}`);\n }\n }\n else {\n return Promise.reject(`Store \"jeepSqliteStore\" failed to open`);\n }\n }\n else {\n throw this.unimplemented('Not implemented on web.');\n }\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}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":"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"}
@@ -6,6 +6,7 @@ var require$$0 = require('sqlite3');
6
6
  var require$$0$1 = require('path');
7
7
  var require$$1 = require('fs');
8
8
  var require$$2 = require('os');
9
+ var require$$3 = require('jszip');
9
10
 
10
11
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
11
12
 
@@ -13,6 +14,7 @@ var require$$0__default = /*#__PURE__*/_interopDefaultLegacy(require$$0);
13
14
  var require$$0__default$1 = /*#__PURE__*/_interopDefaultLegacy(require$$0$1);
14
15
  var require$$1__default = /*#__PURE__*/_interopDefaultLegacy(require$$1);
15
16
  var require$$2__default = /*#__PURE__*/_interopDefaultLegacy(require$$2);
17
+ var require$$3__default = /*#__PURE__*/_interopDefaultLegacy(require$$3);
16
18
 
17
19
  var src = {};
18
20
 
@@ -2117,6 +2119,7 @@ class UtilsFile {
2117
2119
  this.pathDB = 'Databases';
2118
2120
  this.Path = null;
2119
2121
  this.NodeFs = null;
2122
+ this.JSZip = null;
2120
2123
  this.Os = null;
2121
2124
  this.AppName = '';
2122
2125
  this.HomeDir = '';
@@ -2124,6 +2127,7 @@ class UtilsFile {
2124
2127
  this.Path = require$$0__default$1['default'];
2125
2128
  this.NodeFs = require$$1__default['default'];
2126
2129
  this.Os = require$$2__default['default'];
2130
+ this.JSZip = require$$3__default['default'];
2127
2131
  this.HomeDir = this.Os.homedir();
2128
2132
  const dir = __dirname;
2129
2133
  const idx = dir.indexOf('\\');
@@ -2222,15 +2226,13 @@ class UtilsFile {
2222
2226
  */
2223
2227
  setPathSuffix(db) {
2224
2228
  let toDb = db;
2225
- if (db.length > 9) {
2226
- const last9 = db.slice(-9);
2227
- if (last9 != 'SQLite.db') {
2228
- toDb = this.Path.parse(db).name + 'SQLite.db';
2229
+ const ext = '.db';
2230
+ const sep = this.Path.sep;
2231
+ if (db.substring(db.length - 3) === ext) {
2232
+ if (!db.includes('SQLite.db')) {
2233
+ toDb = db.slice(db.lastIndexOf(sep) + 1, -3) + 'SQLite.db';
2229
2234
  }
2230
2235
  }
2231
- else {
2232
- toDb = toDb + 'SQLite.db';
2233
- }
2234
2236
  return toDb;
2235
2237
  }
2236
2238
  /**
@@ -2242,7 +2244,7 @@ class UtilsFile {
2242
2244
  const filenames = this.NodeFs.readdirSync(path);
2243
2245
  const dbs = [];
2244
2246
  filenames.forEach((file) => {
2245
- if (this.Path.extname(file) == '.db')
2247
+ if (this.Path.extname(file) == '.db' || this.Path.extname(file) == '.zip')
2246
2248
  dbs.push(file);
2247
2249
  });
2248
2250
  return Promise.resolve(dbs);
@@ -2250,14 +2252,51 @@ class UtilsFile {
2250
2252
  /**
2251
2253
  * CopyFromAssetToDatabase
2252
2254
  * @param db
2253
- * @param toDb
2255
+ * @param overwrite
2254
2256
  */
2255
- async copyFromAssetToDatabase(db, toDb) {
2257
+ async copyFromAssetToDatabase(db, overwrite) {
2256
2258
  const pAsset = this.Path.join(this.getAssetsDatabasesPath(), db);
2259
+ const toDb = this.setPathSuffix(db);
2257
2260
  const pDb = this.Path.join(this.getDatabasesPath(), toDb);
2258
- await this.copyFilePath(pAsset, pDb);
2261
+ await this.copyFilePath(pAsset, pDb, overwrite);
2259
2262
  return Promise.resolve();
2260
2263
  }
2264
+ /**
2265
+ * unzipDatabase
2266
+ * @param db
2267
+ * @param overwrite
2268
+ */
2269
+ async unzipDatabase(db, overwrite) {
2270
+ const pZip = this.Path.join(this.getAssetsDatabasesPath(), db);
2271
+ // Read the Zip file
2272
+ this.NodeFs.readFile(pZip, (err, data) => {
2273
+ if (err) {
2274
+ console.log(err);
2275
+ return Promise.reject(`unzipDatabase ${JSON.stringify(err)}`);
2276
+ }
2277
+ const zip = new this.JSZip();
2278
+ zip.loadAsync(data).then((contents) => {
2279
+ Object.keys(contents.files).forEach(filename => {
2280
+ zip
2281
+ .file(filename)
2282
+ .async('nodebuffer')
2283
+ .then(async (content) => {
2284
+ const toDb = this.setPathSuffix(filename);
2285
+ const pDb = this.Path.join(this.getDatabasesPath(), toDb);
2286
+ // check filePath exists
2287
+ const isPath = this.isPathExists(pDb);
2288
+ if (!isPath || overwrite) {
2289
+ if (overwrite && isPath) {
2290
+ await this.deleteFilePath(pDb);
2291
+ }
2292
+ this.NodeFs.writeFileSync(pDb, content);
2293
+ }
2294
+ return Promise.resolve();
2295
+ });
2296
+ });
2297
+ });
2298
+ });
2299
+ }
2261
2300
  /**
2262
2301
  * CopyFileName
2263
2302
  * Copy file name
@@ -2270,7 +2309,7 @@ class UtilsFile {
2270
2309
  const toFilePath = this.getFilePath(toFileName);
2271
2310
  if (filePath.length !== 0 && toFilePath.length !== 0) {
2272
2311
  try {
2273
- await this.copyFilePath(filePath, toFilePath);
2312
+ await this.copyFilePath(filePath, toFilePath, true);
2274
2313
  return Promise.resolve();
2275
2314
  }
2276
2315
  catch (err) {
@@ -2287,23 +2326,22 @@ class UtilsFile {
2287
2326
  * @param filePath
2288
2327
  * @param toFilePath
2289
2328
  */
2290
- async copyFilePath(filePath, toFilePath) {
2329
+ async copyFilePath(filePath, toFilePath, overwrite) {
2291
2330
  if (filePath.length !== 0 && toFilePath.length !== 0) {
2292
2331
  // check filePath exists
2293
- const isPath = this.isPathExists(filePath);
2294
- if (isPath) {
2332
+ const isPath = this.isPathExists(toFilePath);
2333
+ if (!isPath || overwrite) {
2295
2334
  try {
2296
- await this.deleteFilePath(toFilePath);
2335
+ if (overwrite && isPath) {
2336
+ await this.deleteFilePath(toFilePath);
2337
+ }
2297
2338
  this.NodeFs.copyFileSync(filePath, toFilePath);
2298
- return Promise.resolve();
2299
2339
  }
2300
2340
  catch (err) {
2301
2341
  return Promise.reject(`CopyFilePath: ${err}`);
2302
2342
  }
2303
2343
  }
2304
- else {
2305
- return Promise.reject('CopyFilePath: filePath does not ' + 'exist');
2306
- }
2344
+ return Promise.resolve();
2307
2345
  }
2308
2346
  else {
2309
2347
  return Promise.reject('CopyFilePath: cannot get the ' + 'filePath');
@@ -3844,18 +3882,24 @@ class CapacitorSQLite {
3844
3882
  this._versionUpgrades[dbName] = upgVDict;
3845
3883
  return Promise.resolve();
3846
3884
  }
3847
- async copyFromAssets() {
3885
+ async copyFromAssets(options) {
3886
+ const keys = Object.keys(options);
3887
+ const mOverwrite = keys.includes('overwrite') ? options.overwrite : true;
3848
3888
  // check if the assets/database folder exists
3849
3889
  const assetsDbPath = this._uFile.getAssetsDatabasesPath();
3850
3890
  const res = this._uFile.isPathExists(assetsDbPath);
3851
3891
  if (res) {
3852
3892
  // get the database files
3853
3893
  const dbList = await this._uFile.getFileList(assetsDbPath);
3894
+ // loop through the database files
3854
3895
  dbList.forEach(async (db) => {
3855
- // for each check if the suffix SQLite.db is there or add it
3856
- const toDb = this._uFile.setPathSuffix(db);
3857
- // for each copy the file to the Application database folder
3858
- await this._uFile.copyFromAssetToDatabase(db, toDb);
3896
+ if (db.substring(db.length - 3) === '.db') {
3897
+ // for each copy the file to the Application database folder
3898
+ await this._uFile.copyFromAssetToDatabase(db, mOverwrite);
3899
+ }
3900
+ if (db.substring(db.length - 4) === '.zip') {
3901
+ await this._uFile.unzipDatabase(db, mOverwrite);
3902
+ }
3859
3903
  });
3860
3904
  return Promise.resolve();
3861
3905
  }