stream-chat-react-native-core 5.6.1-beta.1 → 5.6.1

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.
@@ -19,6 +19,8 @@ var _schema = require("./schema");
19
19
 
20
20
  var _createCreateTableQuery = require("./sqlite-utils/createCreateTableQuery");
21
21
 
22
+ var _sqlite;
23
+
22
24
  var sqlite;
23
25
 
24
26
  try {
@@ -41,7 +43,7 @@ QuickSqliteClient.setDbVersion = function (version) {
41
43
  return QuickSqliteClient.dbVersion = version;
42
44
  };
43
45
 
44
- QuickSqliteClient.isQuickSqliteV4 = sqlite.executeSql ? true : false;
46
+ QuickSqliteClient.isQuickSqliteV4 = (_sqlite = sqlite) != null && _sqlite.executeSql ? true : false;
45
47
 
46
48
  QuickSqliteClient.openDB = function () {
47
49
  if (QuickSqliteClient.isQuickSqliteV4) {
@@ -1 +1 @@
1
- {"version":3,"sources":["QuickSqliteClient.ts"],"names":["sqlite","require","QuickSQLite","e","QuickSqliteClient","dbVersion","dbName","DB_NAME","dbLocation","DB_LOCATION","getDbVersion","setDbVersion","version","isQuickSqliteV4","executeSql","openDB","QuickSqliteClient_v4","open","execute","console","error","closeDB","close","executeSqlBatch","queries","length","executeBatch","Error","query","params","rows","_array","dropTables","Object","keys","tables","map","table","deleteDatabase","initializeDatabase","undefined","warn","getUserPragmaVersion","updateUserPragmaVersion","q","reduce","queriesSoFar","tableName","push","result","user_version","resetDB"],"mappings":"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","sourcesContent":["/* eslint-disable no-underscore-dangle */\nimport type { QuickSQLite } from 'react-native-quick-sqlite';\nlet sqlite: typeof QuickSQLite;\n\ntry {\n sqlite = require('react-native-quick-sqlite').QuickSQLite;\n} catch (e) {\n // Failed for one of the reason\n // 1. Running on expo, where we don't support offline storage yet.\n // 2. Offline support is disabled, in which case this library is not installed.\n}\n\nimport { DB_LOCATION, DB_NAME } from './constants';\nimport { QuickSqliteClient_v4 } from './QuickSqliteClient_v4';\nimport { tables } from './schema';\nimport { createCreateTableQuery } from './sqlite-utils/createCreateTableQuery';\nimport type { PreparedQueries, Table } from './types';\n\n/**\n * QuickSqliteClient takes care of any direct interaction with sqlite.\n * This way usage react-native-quick-sqlite package is scoped to a single class/file.\n *\n * TODO: Drop the support for v4 of react-native-quick-sqlite in the next major release.\n */\nexport class QuickSqliteClient {\n static dbVersion = 3;\n\n static dbName = DB_NAME;\n static dbLocation = DB_LOCATION;\n\n static getDbVersion = () => this.dbVersion;\n // Force a specific db version. This is mainly useful for testsuit.\n static setDbVersion = (version: number) => (this.dbVersion = version);\n\n // @ts-ignore\n static isQuickSqliteV4 = sqlite.executeSql ? true : false;\n\n // print if legacy version\n static openDB = () => {\n if (this.isQuickSqliteV4) {\n QuickSqliteClient_v4.openDB();\n return;\n }\n\n try {\n sqlite.open(this.dbName, this.dbLocation);\n sqlite.execute(this.dbName, `PRAGMA foreign_keys = ON`, []);\n } catch (e) {\n console.error(`Error opening database ${this.dbName}: ${e}`);\n }\n };\n\n static closeDB = () => {\n if (this.isQuickSqliteV4) {\n QuickSqliteClient_v4.closeDB();\n return;\n }\n\n try {\n sqlite.close(this.dbName);\n } catch (e) {\n console.error(`Error closing database ${this.dbName}: ${e}`);\n }\n };\n\n static executeSqlBatch = (queries: PreparedQueries[]) => {\n if (!queries || !queries.length) return;\n\n if (this.isQuickSqliteV4) {\n QuickSqliteClient_v4.executeSqlBatch(queries);\n return;\n }\n\n this.openDB();\n try {\n sqlite.executeBatch(DB_NAME, queries);\n\n this.closeDB();\n } catch (e) {\n this.closeDB();\n throw new Error(`Query/queries failed: ${e}`);\n }\n };\n\n static executeSql = (query: string, params?: string[]) => {\n if (this.isQuickSqliteV4) {\n return QuickSqliteClient_v4.executeSql(query, params);\n }\n\n try {\n this.openDB();\n const { rows } = sqlite.execute(DB_NAME, query, params);\n this.closeDB();\n\n return rows ? rows._array : [];\n } catch (e) {\n this.closeDB();\n throw new Error(`Query/queries failed: ${e}: `);\n }\n };\n\n static dropTables = () => {\n const queries: PreparedQueries[] = Object.keys(tables).map((table) => [\n `DROP TABLE IF EXISTS ${table}`,\n [],\n ]);\n\n this.executeSqlBatch(queries);\n };\n\n static deleteDatabase = () => {\n if (this.isQuickSqliteV4) {\n return QuickSqliteClient_v4.deleteDatabase();\n }\n\n try {\n sqlite.delete(this.dbName, this.dbLocation);\n } catch (e) {\n throw new Error(`Error deleting DB: ${e}`);\n }\n\n return true;\n };\n\n static initializeDatabase = () => {\n // @ts-ignore\n if (sqlite === undefined) {\n throw new Error(\n 'Please install \"react-native-quick-sqlite\" package to enable offline support',\n );\n }\n\n if (this.isQuickSqliteV4) {\n console.warn(\n 'You seem to be using an older version of \"react-native-quick-sqlite\" dependency,',\n 'and we are going to drop support for it in the next major release.',\n 'Please upgrade to the version v5 of \"react-native-quick-sqlite\" to avoid any issues.',\n );\n }\n\n const version = this.getUserPragmaVersion();\n\n if (version !== this.dbVersion) {\n this.dropTables();\n this.updateUserPragmaVersion(this.dbVersion);\n }\n const q = (Object.keys(tables) as Table[]).reduce<PreparedQueries[]>(\n (queriesSoFar, tableName) => {\n queriesSoFar.push(...createCreateTableQuery(tableName));\n return queriesSoFar;\n },\n [],\n );\n\n this.executeSqlBatch(q);\n };\n\n static updateUserPragmaVersion = (version: number) => {\n if (this.isQuickSqliteV4) {\n QuickSqliteClient_v4.updateUserPragmaVersion(version);\n return;\n }\n\n this.openDB();\n sqlite.execute(DB_NAME, `PRAGMA user_version = ${version}`, []);\n this.closeDB();\n };\n\n static getUserPragmaVersion = () => {\n if (this.isQuickSqliteV4) {\n return QuickSqliteClient_v4.getUserPragmaVersion();\n }\n\n this.openDB();\n try {\n const { rows } = sqlite.execute(DB_NAME, `PRAGMA user_version`, []);\n const result = rows ? rows._array : [];\n this.closeDB();\n return result[0].user_version as number;\n } catch (e) {\n this.closeDB();\n throw new Error(`Querying for user_version failed: ${e}`);\n }\n };\n\n static resetDB = () => {\n this.dropTables();\n this.initializeDatabase();\n };\n}\n"]}
1
+ {"version":3,"sources":["QuickSqliteClient.ts"],"names":["sqlite","require","QuickSQLite","e","QuickSqliteClient","dbVersion","dbName","DB_NAME","dbLocation","DB_LOCATION","getDbVersion","setDbVersion","version","isQuickSqliteV4","executeSql","openDB","QuickSqliteClient_v4","open","execute","console","error","closeDB","close","executeSqlBatch","queries","length","executeBatch","Error","query","params","rows","_array","dropTables","Object","keys","tables","map","table","deleteDatabase","initializeDatabase","undefined","warn","getUserPragmaVersion","updateUserPragmaVersion","q","reduce","queriesSoFar","tableName","push","result","user_version","resetDB"],"mappings":"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","sourcesContent":["/* eslint-disable no-underscore-dangle */\nimport type { QuickSQLite } from 'react-native-quick-sqlite';\nlet sqlite: typeof QuickSQLite;\n\ntry {\n sqlite = require('react-native-quick-sqlite').QuickSQLite;\n} catch (e) {\n // Failed for one of the reason\n // 1. Running on expo, where we don't support offline storage yet.\n // 2. Offline support is disabled, in which case this library is not installed.\n}\n\nimport { DB_LOCATION, DB_NAME } from './constants';\nimport { QuickSqliteClient_v4 } from './QuickSqliteClient_v4';\nimport { tables } from './schema';\nimport { createCreateTableQuery } from './sqlite-utils/createCreateTableQuery';\nimport type { PreparedQueries, Table } from './types';\n\n/**\n * QuickSqliteClient takes care of any direct interaction with sqlite.\n * This way usage react-native-quick-sqlite package is scoped to a single class/file.\n *\n * TODO: Drop the support for v4 of react-native-quick-sqlite in the next major release.\n */\nexport class QuickSqliteClient {\n static dbVersion = 3;\n\n static dbName = DB_NAME;\n static dbLocation = DB_LOCATION;\n\n static getDbVersion = () => this.dbVersion;\n // Force a specific db version. This is mainly useful for testsuit.\n static setDbVersion = (version: number) => (this.dbVersion = version);\n\n // @ts-ignore\n static isQuickSqliteV4 = sqlite?.executeSql ? true : false;\n\n // print if legacy version\n static openDB = () => {\n if (this.isQuickSqliteV4) {\n QuickSqliteClient_v4.openDB();\n return;\n }\n\n try {\n sqlite.open(this.dbName, this.dbLocation);\n sqlite.execute(this.dbName, `PRAGMA foreign_keys = ON`, []);\n } catch (e) {\n console.error(`Error opening database ${this.dbName}: ${e}`);\n }\n };\n\n static closeDB = () => {\n if (this.isQuickSqliteV4) {\n QuickSqliteClient_v4.closeDB();\n return;\n }\n\n try {\n sqlite.close(this.dbName);\n } catch (e) {\n console.error(`Error closing database ${this.dbName}: ${e}`);\n }\n };\n\n static executeSqlBatch = (queries: PreparedQueries[]) => {\n if (!queries || !queries.length) return;\n\n if (this.isQuickSqliteV4) {\n QuickSqliteClient_v4.executeSqlBatch(queries);\n return;\n }\n\n this.openDB();\n try {\n sqlite.executeBatch(DB_NAME, queries);\n\n this.closeDB();\n } catch (e) {\n this.closeDB();\n throw new Error(`Query/queries failed: ${e}`);\n }\n };\n\n static executeSql = (query: string, params?: string[]) => {\n if (this.isQuickSqliteV4) {\n return QuickSqliteClient_v4.executeSql(query, params);\n }\n\n try {\n this.openDB();\n const { rows } = sqlite.execute(DB_NAME, query, params);\n this.closeDB();\n\n return rows ? rows._array : [];\n } catch (e) {\n this.closeDB();\n throw new Error(`Query/queries failed: ${e}: `);\n }\n };\n\n static dropTables = () => {\n const queries: PreparedQueries[] = Object.keys(tables).map((table) => [\n `DROP TABLE IF EXISTS ${table}`,\n [],\n ]);\n\n this.executeSqlBatch(queries);\n };\n\n static deleteDatabase = () => {\n if (this.isQuickSqliteV4) {\n return QuickSqliteClient_v4.deleteDatabase();\n }\n\n try {\n sqlite.delete(this.dbName, this.dbLocation);\n } catch (e) {\n throw new Error(`Error deleting DB: ${e}`);\n }\n\n return true;\n };\n\n static initializeDatabase = () => {\n // @ts-ignore\n if (sqlite === undefined) {\n throw new Error(\n 'Please install \"react-native-quick-sqlite\" package to enable offline support',\n );\n }\n\n if (this.isQuickSqliteV4) {\n console.warn(\n 'You seem to be using an older version of \"react-native-quick-sqlite\" dependency,',\n 'and we are going to drop support for it in the next major release.',\n 'Please upgrade to the version v5 of \"react-native-quick-sqlite\" to avoid any issues.',\n );\n }\n\n const version = this.getUserPragmaVersion();\n\n if (version !== this.dbVersion) {\n this.dropTables();\n this.updateUserPragmaVersion(this.dbVersion);\n }\n const q = (Object.keys(tables) as Table[]).reduce<PreparedQueries[]>(\n (queriesSoFar, tableName) => {\n queriesSoFar.push(...createCreateTableQuery(tableName));\n return queriesSoFar;\n },\n [],\n );\n\n this.executeSqlBatch(q);\n };\n\n static updateUserPragmaVersion = (version: number) => {\n if (this.isQuickSqliteV4) {\n QuickSqliteClient_v4.updateUserPragmaVersion(version);\n return;\n }\n\n this.openDB();\n sqlite.execute(DB_NAME, `PRAGMA user_version = ${version}`, []);\n this.closeDB();\n };\n\n static getUserPragmaVersion = () => {\n if (this.isQuickSqliteV4) {\n return QuickSqliteClient_v4.getUserPragmaVersion();\n }\n\n this.openDB();\n try {\n const { rows } = sqlite.execute(DB_NAME, `PRAGMA user_version`, []);\n const result = rows ? rows._array : [];\n this.closeDB();\n return result[0].user_version as number;\n } catch (e) {\n this.closeDB();\n throw new Error(`Querying for user_version failed: ${e}`);\n }\n };\n\n static resetDB = () => {\n this.dropTables();\n this.initializeDatabase();\n };\n}\n"]}
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "5.6.1-beta.1"
2
+ "version": "5.6.1"
3
3
  }
@@ -19,6 +19,8 @@ var _schema = require("./schema");
19
19
 
20
20
  var _createCreateTableQuery = require("./sqlite-utils/createCreateTableQuery");
21
21
 
22
+ var _sqlite;
23
+
22
24
  var sqlite;
23
25
 
24
26
  try {
@@ -41,7 +43,7 @@ QuickSqliteClient.setDbVersion = function (version) {
41
43
  return QuickSqliteClient.dbVersion = version;
42
44
  };
43
45
 
44
- QuickSqliteClient.isQuickSqliteV4 = sqlite.executeSql ? true : false;
46
+ QuickSqliteClient.isQuickSqliteV4 = (_sqlite = sqlite) != null && _sqlite.executeSql ? true : false;
45
47
 
46
48
  QuickSqliteClient.openDB = function () {
47
49
  if (QuickSqliteClient.isQuickSqliteV4) {
@@ -1 +1 @@
1
- {"version":3,"sources":["QuickSqliteClient.ts"],"names":["sqlite","require","QuickSQLite","e","QuickSqliteClient","dbVersion","dbName","DB_NAME","dbLocation","DB_LOCATION","getDbVersion","setDbVersion","version","isQuickSqliteV4","executeSql","openDB","QuickSqliteClient_v4","open","execute","console","error","closeDB","close","executeSqlBatch","queries","length","executeBatch","Error","query","params","rows","_array","dropTables","Object","keys","tables","map","table","deleteDatabase","initializeDatabase","undefined","warn","getUserPragmaVersion","updateUserPragmaVersion","q","reduce","queriesSoFar","tableName","push","result","user_version","resetDB"],"mappings":"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","sourcesContent":["/* eslint-disable no-underscore-dangle */\nimport type { QuickSQLite } from 'react-native-quick-sqlite';\nlet sqlite: typeof QuickSQLite;\n\ntry {\n sqlite = require('react-native-quick-sqlite').QuickSQLite;\n} catch (e) {\n // Failed for one of the reason\n // 1. Running on expo, where we don't support offline storage yet.\n // 2. Offline support is disabled, in which case this library is not installed.\n}\n\nimport { DB_LOCATION, DB_NAME } from './constants';\nimport { QuickSqliteClient_v4 } from './QuickSqliteClient_v4';\nimport { tables } from './schema';\nimport { createCreateTableQuery } from './sqlite-utils/createCreateTableQuery';\nimport type { PreparedQueries, Table } from './types';\n\n/**\n * QuickSqliteClient takes care of any direct interaction with sqlite.\n * This way usage react-native-quick-sqlite package is scoped to a single class/file.\n *\n * TODO: Drop the support for v4 of react-native-quick-sqlite in the next major release.\n */\nexport class QuickSqliteClient {\n static dbVersion = 3;\n\n static dbName = DB_NAME;\n static dbLocation = DB_LOCATION;\n\n static getDbVersion = () => this.dbVersion;\n // Force a specific db version. This is mainly useful for testsuit.\n static setDbVersion = (version: number) => (this.dbVersion = version);\n\n // @ts-ignore\n static isQuickSqliteV4 = sqlite.executeSql ? true : false;\n\n // print if legacy version\n static openDB = () => {\n if (this.isQuickSqliteV4) {\n QuickSqliteClient_v4.openDB();\n return;\n }\n\n try {\n sqlite.open(this.dbName, this.dbLocation);\n sqlite.execute(this.dbName, `PRAGMA foreign_keys = ON`, []);\n } catch (e) {\n console.error(`Error opening database ${this.dbName}: ${e}`);\n }\n };\n\n static closeDB = () => {\n if (this.isQuickSqliteV4) {\n QuickSqliteClient_v4.closeDB();\n return;\n }\n\n try {\n sqlite.close(this.dbName);\n } catch (e) {\n console.error(`Error closing database ${this.dbName}: ${e}`);\n }\n };\n\n static executeSqlBatch = (queries: PreparedQueries[]) => {\n if (!queries || !queries.length) return;\n\n if (this.isQuickSqliteV4) {\n QuickSqliteClient_v4.executeSqlBatch(queries);\n return;\n }\n\n this.openDB();\n try {\n sqlite.executeBatch(DB_NAME, queries);\n\n this.closeDB();\n } catch (e) {\n this.closeDB();\n throw new Error(`Query/queries failed: ${e}`);\n }\n };\n\n static executeSql = (query: string, params?: string[]) => {\n if (this.isQuickSqliteV4) {\n return QuickSqliteClient_v4.executeSql(query, params);\n }\n\n try {\n this.openDB();\n const { rows } = sqlite.execute(DB_NAME, query, params);\n this.closeDB();\n\n return rows ? rows._array : [];\n } catch (e) {\n this.closeDB();\n throw new Error(`Query/queries failed: ${e}: `);\n }\n };\n\n static dropTables = () => {\n const queries: PreparedQueries[] = Object.keys(tables).map((table) => [\n `DROP TABLE IF EXISTS ${table}`,\n [],\n ]);\n\n this.executeSqlBatch(queries);\n };\n\n static deleteDatabase = () => {\n if (this.isQuickSqliteV4) {\n return QuickSqliteClient_v4.deleteDatabase();\n }\n\n try {\n sqlite.delete(this.dbName, this.dbLocation);\n } catch (e) {\n throw new Error(`Error deleting DB: ${e}`);\n }\n\n return true;\n };\n\n static initializeDatabase = () => {\n // @ts-ignore\n if (sqlite === undefined) {\n throw new Error(\n 'Please install \"react-native-quick-sqlite\" package to enable offline support',\n );\n }\n\n if (this.isQuickSqliteV4) {\n console.warn(\n 'You seem to be using an older version of \"react-native-quick-sqlite\" dependency,',\n 'and we are going to drop support for it in the next major release.',\n 'Please upgrade to the version v5 of \"react-native-quick-sqlite\" to avoid any issues.',\n );\n }\n\n const version = this.getUserPragmaVersion();\n\n if (version !== this.dbVersion) {\n this.dropTables();\n this.updateUserPragmaVersion(this.dbVersion);\n }\n const q = (Object.keys(tables) as Table[]).reduce<PreparedQueries[]>(\n (queriesSoFar, tableName) => {\n queriesSoFar.push(...createCreateTableQuery(tableName));\n return queriesSoFar;\n },\n [],\n );\n\n this.executeSqlBatch(q);\n };\n\n static updateUserPragmaVersion = (version: number) => {\n if (this.isQuickSqliteV4) {\n QuickSqliteClient_v4.updateUserPragmaVersion(version);\n return;\n }\n\n this.openDB();\n sqlite.execute(DB_NAME, `PRAGMA user_version = ${version}`, []);\n this.closeDB();\n };\n\n static getUserPragmaVersion = () => {\n if (this.isQuickSqliteV4) {\n return QuickSqliteClient_v4.getUserPragmaVersion();\n }\n\n this.openDB();\n try {\n const { rows } = sqlite.execute(DB_NAME, `PRAGMA user_version`, []);\n const result = rows ? rows._array : [];\n this.closeDB();\n return result[0].user_version as number;\n } catch (e) {\n this.closeDB();\n throw new Error(`Querying for user_version failed: ${e}`);\n }\n };\n\n static resetDB = () => {\n this.dropTables();\n this.initializeDatabase();\n };\n}\n"]}
1
+ {"version":3,"sources":["QuickSqliteClient.ts"],"names":["sqlite","require","QuickSQLite","e","QuickSqliteClient","dbVersion","dbName","DB_NAME","dbLocation","DB_LOCATION","getDbVersion","setDbVersion","version","isQuickSqliteV4","executeSql","openDB","QuickSqliteClient_v4","open","execute","console","error","closeDB","close","executeSqlBatch","queries","length","executeBatch","Error","query","params","rows","_array","dropTables","Object","keys","tables","map","table","deleteDatabase","initializeDatabase","undefined","warn","getUserPragmaVersion","updateUserPragmaVersion","q","reduce","queriesSoFar","tableName","push","result","user_version","resetDB"],"mappings":"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","sourcesContent":["/* eslint-disable no-underscore-dangle */\nimport type { QuickSQLite } from 'react-native-quick-sqlite';\nlet sqlite: typeof QuickSQLite;\n\ntry {\n sqlite = require('react-native-quick-sqlite').QuickSQLite;\n} catch (e) {\n // Failed for one of the reason\n // 1. Running on expo, where we don't support offline storage yet.\n // 2. Offline support is disabled, in which case this library is not installed.\n}\n\nimport { DB_LOCATION, DB_NAME } from './constants';\nimport { QuickSqliteClient_v4 } from './QuickSqliteClient_v4';\nimport { tables } from './schema';\nimport { createCreateTableQuery } from './sqlite-utils/createCreateTableQuery';\nimport type { PreparedQueries, Table } from './types';\n\n/**\n * QuickSqliteClient takes care of any direct interaction with sqlite.\n * This way usage react-native-quick-sqlite package is scoped to a single class/file.\n *\n * TODO: Drop the support for v4 of react-native-quick-sqlite in the next major release.\n */\nexport class QuickSqliteClient {\n static dbVersion = 3;\n\n static dbName = DB_NAME;\n static dbLocation = DB_LOCATION;\n\n static getDbVersion = () => this.dbVersion;\n // Force a specific db version. This is mainly useful for testsuit.\n static setDbVersion = (version: number) => (this.dbVersion = version);\n\n // @ts-ignore\n static isQuickSqliteV4 = sqlite?.executeSql ? true : false;\n\n // print if legacy version\n static openDB = () => {\n if (this.isQuickSqliteV4) {\n QuickSqliteClient_v4.openDB();\n return;\n }\n\n try {\n sqlite.open(this.dbName, this.dbLocation);\n sqlite.execute(this.dbName, `PRAGMA foreign_keys = ON`, []);\n } catch (e) {\n console.error(`Error opening database ${this.dbName}: ${e}`);\n }\n };\n\n static closeDB = () => {\n if (this.isQuickSqliteV4) {\n QuickSqliteClient_v4.closeDB();\n return;\n }\n\n try {\n sqlite.close(this.dbName);\n } catch (e) {\n console.error(`Error closing database ${this.dbName}: ${e}`);\n }\n };\n\n static executeSqlBatch = (queries: PreparedQueries[]) => {\n if (!queries || !queries.length) return;\n\n if (this.isQuickSqliteV4) {\n QuickSqliteClient_v4.executeSqlBatch(queries);\n return;\n }\n\n this.openDB();\n try {\n sqlite.executeBatch(DB_NAME, queries);\n\n this.closeDB();\n } catch (e) {\n this.closeDB();\n throw new Error(`Query/queries failed: ${e}`);\n }\n };\n\n static executeSql = (query: string, params?: string[]) => {\n if (this.isQuickSqliteV4) {\n return QuickSqliteClient_v4.executeSql(query, params);\n }\n\n try {\n this.openDB();\n const { rows } = sqlite.execute(DB_NAME, query, params);\n this.closeDB();\n\n return rows ? rows._array : [];\n } catch (e) {\n this.closeDB();\n throw new Error(`Query/queries failed: ${e}: `);\n }\n };\n\n static dropTables = () => {\n const queries: PreparedQueries[] = Object.keys(tables).map((table) => [\n `DROP TABLE IF EXISTS ${table}`,\n [],\n ]);\n\n this.executeSqlBatch(queries);\n };\n\n static deleteDatabase = () => {\n if (this.isQuickSqliteV4) {\n return QuickSqliteClient_v4.deleteDatabase();\n }\n\n try {\n sqlite.delete(this.dbName, this.dbLocation);\n } catch (e) {\n throw new Error(`Error deleting DB: ${e}`);\n }\n\n return true;\n };\n\n static initializeDatabase = () => {\n // @ts-ignore\n if (sqlite === undefined) {\n throw new Error(\n 'Please install \"react-native-quick-sqlite\" package to enable offline support',\n );\n }\n\n if (this.isQuickSqliteV4) {\n console.warn(\n 'You seem to be using an older version of \"react-native-quick-sqlite\" dependency,',\n 'and we are going to drop support for it in the next major release.',\n 'Please upgrade to the version v5 of \"react-native-quick-sqlite\" to avoid any issues.',\n );\n }\n\n const version = this.getUserPragmaVersion();\n\n if (version !== this.dbVersion) {\n this.dropTables();\n this.updateUserPragmaVersion(this.dbVersion);\n }\n const q = (Object.keys(tables) as Table[]).reduce<PreparedQueries[]>(\n (queriesSoFar, tableName) => {\n queriesSoFar.push(...createCreateTableQuery(tableName));\n return queriesSoFar;\n },\n [],\n );\n\n this.executeSqlBatch(q);\n };\n\n static updateUserPragmaVersion = (version: number) => {\n if (this.isQuickSqliteV4) {\n QuickSqliteClient_v4.updateUserPragmaVersion(version);\n return;\n }\n\n this.openDB();\n sqlite.execute(DB_NAME, `PRAGMA user_version = ${version}`, []);\n this.closeDB();\n };\n\n static getUserPragmaVersion = () => {\n if (this.isQuickSqliteV4) {\n return QuickSqliteClient_v4.getUserPragmaVersion();\n }\n\n this.openDB();\n try {\n const { rows } = sqlite.execute(DB_NAME, `PRAGMA user_version`, []);\n const result = rows ? rows._array : [];\n this.closeDB();\n return result[0].user_version as number;\n } catch (e) {\n this.closeDB();\n throw new Error(`Querying for user_version failed: ${e}`);\n }\n };\n\n static resetDB = () => {\n this.dropTables();\n this.initializeDatabase();\n };\n}\n"]}
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "5.6.1-beta.1"
2
+ "version": "5.6.1"
3
3
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "stream-chat-react-native-core",
3
3
  "description": "The official React Native and Expo components for Stream Chat, a service for building chat applications",
4
- "version": "5.6.1-beta.1",
4
+ "version": "5.6.1",
5
5
  "author": {
6
6
  "company": "Stream.io Inc",
7
7
  "name": "Stream.io Inc"
@@ -33,7 +33,7 @@ export class QuickSqliteClient {
33
33
  static setDbVersion = (version: number) => (this.dbVersion = version);
34
34
 
35
35
  // @ts-ignore
36
- static isQuickSqliteV4 = sqlite.executeSql ? true : false;
36
+ static isQuickSqliteV4 = sqlite?.executeSql ? true : false;
37
37
 
38
38
  // print if legacy version
39
39
  static openDB = () => {
package/src/version.json CHANGED
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "5.6.1-beta.1"
2
+ "version": "5.6.1"
3
3
  }