@mgarlik/datastore 0.1.19 → 0.1.21

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.
@@ -145,10 +145,8 @@ var SQLite = class {
145
145
  async dropTable(table) {
146
146
  try {
147
147
  systemLog("sql", "dropTable", table);
148
- console.time("[SQL] dropTable");
149
148
  const db = await this.getDb();
150
149
  const result = await db.runAsync(`DROP TABLE ${table}`);
151
- console.timeEnd("[SQL] dropTable");
152
150
  return result;
153
151
  } catch (error) {
154
152
  throw error;
@@ -179,19 +177,15 @@ var SQLite = class {
179
177
  async resetDatabase() {
180
178
  try {
181
179
  systemLog("sql", "Reset database", this.dbName);
182
- console.time("DELETING");
183
180
  systemLog("sql", "Closing");
184
181
  const db = await this.getDb();
185
182
  await db.closeAsync();
186
183
  systemLog("sql", "Deleting");
187
184
  await SQL.deleteDatabaseAsync(this.dbName);
188
- console.timeEnd("DELETING");
189
- console.time("INIT");
190
185
  this.db = null;
191
186
  systemLog("sql", "Zacinam inicializovat databazi databaze");
192
187
  await this.initDB();
193
188
  systemLog("sql", "Inicializovana databaze");
194
- console.timeEnd("INIT");
195
189
  } catch (e) {
196
190
  systemLogError("sql", "[resetDatabase]", e);
197
191
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/expo-sqlite.ts","../src/database.ts","../src/log.ts"],"sourcesContent":["export { SQLite as ExpoSQLiteStorage } from \"./database\";\n\nimport { SQLite } from \"./database\";\n\n/**\n * Vytvoří výchozí Expo SQLite adapter pro DataStoreProvider.\n *\n * @param name Volitelný název SQLite databázového souboru.\n */\nexport function createExpoSQLiteStorage(name?: string) {\n return new SQLite(name);\n}","import * as SQL from \"expo-sqlite\";\nimport { systemLog, systemLogError } from \"./log\";\nimport type { DataStoreStorage } from \"./storage\";\n\nexport class SQLite implements DataStoreStorage {\n dbName: string;\n private db: SQL.SQLiteDatabase | null = null;\n\n constructor(name?: string) {\n this.dbName = name || \"modelaz.db\";\n this.initDB();\n }\n\n private async initDB(): Promise<void> {\n if (!this.db) {\n try {\n systemLog(\"sql\", \"[initDB]\");\n this.db = await SQL.openDatabaseAsync(this.dbName);\n // await this.createTable(\"documents\", \"id TEXT PRIMARY KEY, data TEXT, model TEXT, lastUpdate TEXT\");\n // await this.createTable(\"logs\", \"time TEXT PRIMARY KEY, module TEXT, message TEXT\");\n await this.createTables({\n documents: \"id TEXT PRIMARY KEY, data TEXT, model TEXT, lastUpdate TEXT\",\n // logs: \"time TEXT PRIMARY KEY, module TEXT, message TEXT\",\n });\n // await this.createTable(\"providers\", \"id TEXT PRIMARY KEY, data TEXT, lastUpdate TEXT\");\n // await this.db?.runAsync(`DELETE FROM logs WHERE strftime('%s', 'now') - strftime('%s', time) > 3600`);\n } catch (e) {\n console.log(\"INITDB ERROR\", e);\n // systemLogError(\"sql\", \"[initDB]\", e);\n throw e;\n }\n }\n }\n\n private async getDb(): Promise<SQL.SQLiteDatabase> {\n if (!this.db) {\n await this.initDB();\n }\n\n if (!this.db) {\n throw new Error(\"Database is not initialized\");\n }\n\n return this.db;\n }\n\n private async createTable(table: string, tableSchema: string): Promise<SQL.SQLiteRunResult> {\n try {\n systemLog(\"sql\", \"[createTable]\", table);\n const db = await this.getDb();\n const result = await db.runAsync(`CREATE TABLE IF NOT EXISTS '${table}' (${tableSchema})`);\n systemLog(\"sql\", \"[createTable] result: \", JSON.stringify(result));\n return result;\n } catch (e) {\n systemLogError(\"sql\", \"[createTable]\", e);\n throw e;\n }\n }\n private async createTables(tables: { [key: string]: string }): Promise<SQL.SQLiteRunResult> {\n try {\n systemLog(\"sql\", \"[createTables]\", tables);\n const query = Object.entries(tables).reduce((acc, [table, schema]) => {\n return acc + `CREATE TABLE IF NOT EXISTS '${table}' (${schema});`;\n }, \"\");\n // console.log(\"Query: \", query);\n const db = await this.getDb();\n const result = await db.runAsync(query);\n systemLog(\"sql\", \"[createTables] result: \", JSON.stringify(result));\n return result;\n } catch (e) {\n systemLogError(\"sql\", \"[createTable]\", e);\n throw e;\n }\n }\n\n /**\n * Smazani starych logu\n */\n private async deleteLogs(): Promise<void> {\n systemLog(\"sql\", \"[query] delete old Logs\", this.db);\n try {\n const db = await this.getDb();\n await db.runAsync(`DELETE FROM logs WHERE strftime('%s', 'now') - strftime('%s', time) > 3600`);\n } catch (error) {\n throw error;\n }\n }\n\n public async read<T>(query: string, args?: SQL.SQLiteBindParams): Promise<T[]> {\n try {\n // Smazani starych zaznamu z logu\n systemLog(\"sql\", \"[read]\", query);\n const db = await this.getDb();\n const result = args === undefined ? await db.getAllAsync<T>(query) : await db.getAllAsync<T>(query, args);\n systemLog(\"sql\", \"[read] result \", result.length);\n return result;\n } catch (e) {\n systemLogError(\"sql\", \"[read]\", e);\n throw e;\n }\n }\n\n public async query<T>(query: string, args?: SQL.SQLiteBindParams): Promise<T[]> {\n try {\n systemLog(\"sql\", \"[query]->\", query);\n const db = await this.getDb();\n const result = args === undefined ? await db.getAllAsync<T>(query) : await db.getAllAsync<T>(query, args);\n systemLog(\"sql\", result);\n return result;\n } catch (error) {\n console.error(\"INSERT ERROR\", error);\n systemLogError(\"sql\", error);\n throw error;\n }\n }\n\n public async dropTable(table: string): Promise<SQL.SQLiteRunResult> {\n try {\n systemLog(\"sql\", \"dropTable\", table);\n console.time(\"[SQL] dropTable\");\n const db = await this.getDb();\n const result = await db.runAsync(`DROP TABLE ${table}`);\n console.timeEnd(\"[SQL] dropTable\");\n return result;\n } catch (error) {\n throw error;\n }\n }\n\n public async emptyTable(table: string): Promise<SQL.SQLiteRunResult> {\n try {\n systemLog(\"sql\", `[emptyTable]`, table);\n const db = await this.getDb();\n const result = await db.runAsync(`DELETE FROM '${table}'`);\n systemLog(\"sql\", \"[emptyTable] result\", result);\n return result;\n } catch (error) {\n throw error;\n }\n }\n\n public async getTables() {\n systemLog(\"sql\", \"Jdu zkusit nacist tabulky z \", JSON.stringify(this.dbName));\n try {\n const db = await this.getDb();\n const result = await db.getAllAsync('SELECT name FROM sqlite_master WHERE type=\"table\"');\n systemLog(\"sql\", \"DB Result:\", result);\n return result;\n } catch (error) {\n throw error;\n }\n }\n\n public async resetDatabase() {\n try {\n systemLog(\"sql\", \"Reset database\", this.dbName);\n console.time(\"DELETING\");\n systemLog(\"sql\", \"Closing\");\n const db = await this.getDb();\n await db.closeAsync();\n systemLog(\"sql\", \"Deleting\");\n await SQL.deleteDatabaseAsync(this.dbName);\n console.timeEnd(\"DELETING\");\n console.time(\"INIT\");\n this.db = null;\n systemLog(\"sql\", \"Zacinam inicializovat databazi databaze\");\n await this.initDB();\n systemLog(\"sql\", \"Inicializovana databaze\");\n console.timeEnd(\"INIT\");\n } catch (e) {\n systemLogError(\"sql\", \"[resetDatabase]\", e);\n }\n }\n}\n","export function systemLog(..._args: unknown[]): void {\n // No-op by default in the package. Consumers can wrap these calls if needed.\n}\n\nexport function systemLogError(...args: unknown[]): void {\n if (typeof console !== \"undefined\" && typeof console.error === \"function\") {\n console.error(...args);\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/expo-sqlite.ts","../src/database.ts","../src/log.ts"],"sourcesContent":["export { SQLite as ExpoSQLiteStorage } from \"./database\";\n\nimport { SQLite } from \"./database\";\n\n/**\n * Vytvoří výchozí Expo SQLite adapter pro DataStoreProvider.\n *\n * @param name Volitelný název SQLite databázového souboru.\n */\nexport function createExpoSQLiteStorage(name?: string) {\n return new SQLite(name);\n}","import * as SQL from \"expo-sqlite\";\nimport { systemLog, systemLogError } from \"./log\";\nimport type { DataStoreStorage } from \"./storage\";\n\nexport class SQLite implements DataStoreStorage {\n dbName: string;\n private db: SQL.SQLiteDatabase | null = null;\n\n constructor(name?: string) {\n this.dbName = name || \"modelaz.db\";\n this.initDB();\n }\n\n private async initDB(): Promise<void> {\n if (!this.db) {\n try {\n systemLog(\"sql\", \"[initDB]\");\n this.db = await SQL.openDatabaseAsync(this.dbName);\n // await this.createTable(\"documents\", \"id TEXT PRIMARY KEY, data TEXT, model TEXT, lastUpdate TEXT\");\n // await this.createTable(\"logs\", \"time TEXT PRIMARY KEY, module TEXT, message TEXT\");\n await this.createTables({\n documents: \"id TEXT PRIMARY KEY, data TEXT, model TEXT, lastUpdate TEXT\",\n // logs: \"time TEXT PRIMARY KEY, module TEXT, message TEXT\",\n });\n // await this.createTable(\"providers\", \"id TEXT PRIMARY KEY, data TEXT, lastUpdate TEXT\");\n // await this.db?.runAsync(`DELETE FROM logs WHERE strftime('%s', 'now') - strftime('%s', time) > 3600`);\n } catch (e) {\n console.log(\"INITDB ERROR\", e);\n // systemLogError(\"sql\", \"[initDB]\", e);\n throw e;\n }\n }\n }\n\n private async getDb(): Promise<SQL.SQLiteDatabase> {\n if (!this.db) {\n await this.initDB();\n }\n\n if (!this.db) {\n throw new Error(\"Database is not initialized\");\n }\n\n return this.db;\n }\n\n private async createTable(table: string, tableSchema: string): Promise<SQL.SQLiteRunResult> {\n try {\n systemLog(\"sql\", \"[createTable]\", table);\n const db = await this.getDb();\n const result = await db.runAsync(`CREATE TABLE IF NOT EXISTS '${table}' (${tableSchema})`);\n systemLog(\"sql\", \"[createTable] result: \", JSON.stringify(result));\n return result;\n } catch (e) {\n systemLogError(\"sql\", \"[createTable]\", e);\n throw e;\n }\n }\n private async createTables(tables: { [key: string]: string }): Promise<SQL.SQLiteRunResult> {\n try {\n systemLog(\"sql\", \"[createTables]\", tables);\n const query = Object.entries(tables).reduce((acc, [table, schema]) => {\n return acc + `CREATE TABLE IF NOT EXISTS '${table}' (${schema});`;\n }, \"\");\n // console.log(\"Query: \", query);\n const db = await this.getDb();\n const result = await db.runAsync(query);\n systemLog(\"sql\", \"[createTables] result: \", JSON.stringify(result));\n return result;\n } catch (e) {\n systemLogError(\"sql\", \"[createTable]\", e);\n throw e;\n }\n }\n\n /**\n * Smazani starych logu\n */\n private async deleteLogs(): Promise<void> {\n systemLog(\"sql\", \"[query] delete old Logs\", this.db);\n try {\n const db = await this.getDb();\n await db.runAsync(`DELETE FROM logs WHERE strftime('%s', 'now') - strftime('%s', time) > 3600`);\n } catch (error) {\n throw error;\n }\n }\n\n public async read<T>(query: string, args?: SQL.SQLiteBindParams): Promise<T[]> {\n try {\n // Smazani starych zaznamu z logu\n systemLog(\"sql\", \"[read]\", query);\n const db = await this.getDb();\n const result = args === undefined ? await db.getAllAsync<T>(query) : await db.getAllAsync<T>(query, args);\n systemLog(\"sql\", \"[read] result \", result.length);\n return result;\n } catch (e) {\n systemLogError(\"sql\", \"[read]\", e);\n throw e;\n }\n }\n\n public async query<T>(query: string, args?: SQL.SQLiteBindParams): Promise<T[]> {\n try {\n systemLog(\"sql\", \"[query]->\", query);\n const db = await this.getDb();\n const result = args === undefined ? await db.getAllAsync<T>(query) : await db.getAllAsync<T>(query, args);\n systemLog(\"sql\", result);\n return result;\n } catch (error) {\n console.error(\"INSERT ERROR\", error);\n systemLogError(\"sql\", error);\n throw error;\n }\n }\n\n public async dropTable(table: string): Promise<SQL.SQLiteRunResult> {\n try {\n systemLog(\"sql\", \"dropTable\", table);\n // console.time(\"[SQL] dropTable\");\n const db = await this.getDb();\n const result = await db.runAsync(`DROP TABLE ${table}`);\n // console.timeEnd(\"[SQL] dropTable\");\n return result;\n } catch (error) {\n throw error;\n }\n }\n\n public async emptyTable(table: string): Promise<SQL.SQLiteRunResult> {\n try {\n systemLog(\"sql\", `[emptyTable]`, table);\n const db = await this.getDb();\n const result = await db.runAsync(`DELETE FROM '${table}'`);\n systemLog(\"sql\", \"[emptyTable] result\", result);\n return result;\n } catch (error) {\n throw error;\n }\n }\n\n public async getTables() {\n systemLog(\"sql\", \"Jdu zkusit nacist tabulky z \", JSON.stringify(this.dbName));\n try {\n const db = await this.getDb();\n const result = await db.getAllAsync('SELECT name FROM sqlite_master WHERE type=\"table\"');\n systemLog(\"sql\", \"DB Result:\", result);\n return result;\n } catch (error) {\n throw error;\n }\n }\n\n public async resetDatabase() {\n try {\n systemLog(\"sql\", \"Reset database\", this.dbName);\n // console.time(\"DELETING\");\n systemLog(\"sql\", \"Closing\");\n const db = await this.getDb();\n await db.closeAsync();\n systemLog(\"sql\", \"Deleting\");\n await SQL.deleteDatabaseAsync(this.dbName);\n // console.timeEnd(\"DELETING\");\n // console.time(\"INIT\");\n this.db = null;\n systemLog(\"sql\", \"Zacinam inicializovat databazi databaze\");\n await this.initDB();\n systemLog(\"sql\", \"Inicializovana databaze\");\n // console.timeEnd(\"INIT\");\n } catch (e) {\n systemLogError(\"sql\", \"[resetDatabase]\", e);\n }\n }\n}\n","export function systemLog(..._args: unknown[]): void {\n // No-op by default in the package. Consumers can wrap these calls if needed.\n}\n\nexport function systemLogError(...args: unknown[]): void {\n if (typeof console !== \"undefined\" && typeof console.error === \"function\") {\n console.error(...args);\n }\n}\n"],"mappings":"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","names":[]}
@@ -102,10 +102,8 @@ var SQLite = class {
102
102
  async dropTable(table) {
103
103
  try {
104
104
  systemLog("sql", "dropTable", table);
105
- console.time("[SQL] dropTable");
106
105
  const db = await this.getDb();
107
106
  const result = await db.runAsync(`DROP TABLE ${table}`);
108
- console.timeEnd("[SQL] dropTable");
109
107
  return result;
110
108
  } catch (error) {
111
109
  throw error;
@@ -136,19 +134,15 @@ var SQLite = class {
136
134
  async resetDatabase() {
137
135
  try {
138
136
  systemLog("sql", "Reset database", this.dbName);
139
- console.time("DELETING");
140
137
  systemLog("sql", "Closing");
141
138
  const db = await this.getDb();
142
139
  await db.closeAsync();
143
140
  systemLog("sql", "Deleting");
144
141
  await SQL.deleteDatabaseAsync(this.dbName);
145
- console.timeEnd("DELETING");
146
- console.time("INIT");
147
142
  this.db = null;
148
143
  systemLog("sql", "Zacinam inicializovat databazi databaze");
149
144
  await this.initDB();
150
145
  systemLog("sql", "Inicializovana databaze");
151
- console.timeEnd("INIT");
152
146
  } catch (e) {
153
147
  systemLogError("sql", "[resetDatabase]", e);
154
148
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/database.ts","../src/expo-sqlite.ts"],"sourcesContent":["import * as SQL from \"expo-sqlite\";\nimport { systemLog, systemLogError } from \"./log\";\nimport type { DataStoreStorage } from \"./storage\";\n\nexport class SQLite implements DataStoreStorage {\n dbName: string;\n private db: SQL.SQLiteDatabase | null = null;\n\n constructor(name?: string) {\n this.dbName = name || \"modelaz.db\";\n this.initDB();\n }\n\n private async initDB(): Promise<void> {\n if (!this.db) {\n try {\n systemLog(\"sql\", \"[initDB]\");\n this.db = await SQL.openDatabaseAsync(this.dbName);\n // await this.createTable(\"documents\", \"id TEXT PRIMARY KEY, data TEXT, model TEXT, lastUpdate TEXT\");\n // await this.createTable(\"logs\", \"time TEXT PRIMARY KEY, module TEXT, message TEXT\");\n await this.createTables({\n documents: \"id TEXT PRIMARY KEY, data TEXT, model TEXT, lastUpdate TEXT\",\n // logs: \"time TEXT PRIMARY KEY, module TEXT, message TEXT\",\n });\n // await this.createTable(\"providers\", \"id TEXT PRIMARY KEY, data TEXT, lastUpdate TEXT\");\n // await this.db?.runAsync(`DELETE FROM logs WHERE strftime('%s', 'now') - strftime('%s', time) > 3600`);\n } catch (e) {\n console.log(\"INITDB ERROR\", e);\n // systemLogError(\"sql\", \"[initDB]\", e);\n throw e;\n }\n }\n }\n\n private async getDb(): Promise<SQL.SQLiteDatabase> {\n if (!this.db) {\n await this.initDB();\n }\n\n if (!this.db) {\n throw new Error(\"Database is not initialized\");\n }\n\n return this.db;\n }\n\n private async createTable(table: string, tableSchema: string): Promise<SQL.SQLiteRunResult> {\n try {\n systemLog(\"sql\", \"[createTable]\", table);\n const db = await this.getDb();\n const result = await db.runAsync(`CREATE TABLE IF NOT EXISTS '${table}' (${tableSchema})`);\n systemLog(\"sql\", \"[createTable] result: \", JSON.stringify(result));\n return result;\n } catch (e) {\n systemLogError(\"sql\", \"[createTable]\", e);\n throw e;\n }\n }\n private async createTables(tables: { [key: string]: string }): Promise<SQL.SQLiteRunResult> {\n try {\n systemLog(\"sql\", \"[createTables]\", tables);\n const query = Object.entries(tables).reduce((acc, [table, schema]) => {\n return acc + `CREATE TABLE IF NOT EXISTS '${table}' (${schema});`;\n }, \"\");\n // console.log(\"Query: \", query);\n const db = await this.getDb();\n const result = await db.runAsync(query);\n systemLog(\"sql\", \"[createTables] result: \", JSON.stringify(result));\n return result;\n } catch (e) {\n systemLogError(\"sql\", \"[createTable]\", e);\n throw e;\n }\n }\n\n /**\n * Smazani starych logu\n */\n private async deleteLogs(): Promise<void> {\n systemLog(\"sql\", \"[query] delete old Logs\", this.db);\n try {\n const db = await this.getDb();\n await db.runAsync(`DELETE FROM logs WHERE strftime('%s', 'now') - strftime('%s', time) > 3600`);\n } catch (error) {\n throw error;\n }\n }\n\n public async read<T>(query: string, args?: SQL.SQLiteBindParams): Promise<T[]> {\n try {\n // Smazani starych zaznamu z logu\n systemLog(\"sql\", \"[read]\", query);\n const db = await this.getDb();\n const result = args === undefined ? await db.getAllAsync<T>(query) : await db.getAllAsync<T>(query, args);\n systemLog(\"sql\", \"[read] result \", result.length);\n return result;\n } catch (e) {\n systemLogError(\"sql\", \"[read]\", e);\n throw e;\n }\n }\n\n public async query<T>(query: string, args?: SQL.SQLiteBindParams): Promise<T[]> {\n try {\n systemLog(\"sql\", \"[query]->\", query);\n const db = await this.getDb();\n const result = args === undefined ? await db.getAllAsync<T>(query) : await db.getAllAsync<T>(query, args);\n systemLog(\"sql\", result);\n return result;\n } catch (error) {\n console.error(\"INSERT ERROR\", error);\n systemLogError(\"sql\", error);\n throw error;\n }\n }\n\n public async dropTable(table: string): Promise<SQL.SQLiteRunResult> {\n try {\n systemLog(\"sql\", \"dropTable\", table);\n console.time(\"[SQL] dropTable\");\n const db = await this.getDb();\n const result = await db.runAsync(`DROP TABLE ${table}`);\n console.timeEnd(\"[SQL] dropTable\");\n return result;\n } catch (error) {\n throw error;\n }\n }\n\n public async emptyTable(table: string): Promise<SQL.SQLiteRunResult> {\n try {\n systemLog(\"sql\", `[emptyTable]`, table);\n const db = await this.getDb();\n const result = await db.runAsync(`DELETE FROM '${table}'`);\n systemLog(\"sql\", \"[emptyTable] result\", result);\n return result;\n } catch (error) {\n throw error;\n }\n }\n\n public async getTables() {\n systemLog(\"sql\", \"Jdu zkusit nacist tabulky z \", JSON.stringify(this.dbName));\n try {\n const db = await this.getDb();\n const result = await db.getAllAsync('SELECT name FROM sqlite_master WHERE type=\"table\"');\n systemLog(\"sql\", \"DB Result:\", result);\n return result;\n } catch (error) {\n throw error;\n }\n }\n\n public async resetDatabase() {\n try {\n systemLog(\"sql\", \"Reset database\", this.dbName);\n console.time(\"DELETING\");\n systemLog(\"sql\", \"Closing\");\n const db = await this.getDb();\n await db.closeAsync();\n systemLog(\"sql\", \"Deleting\");\n await SQL.deleteDatabaseAsync(this.dbName);\n console.timeEnd(\"DELETING\");\n console.time(\"INIT\");\n this.db = null;\n systemLog(\"sql\", \"Zacinam inicializovat databazi databaze\");\n await this.initDB();\n systemLog(\"sql\", \"Inicializovana databaze\");\n console.timeEnd(\"INIT\");\n } catch (e) {\n systemLogError(\"sql\", \"[resetDatabase]\", e);\n }\n }\n}\n","export { SQLite as ExpoSQLiteStorage } from \"./database\";\n\nimport { SQLite } from \"./database\";\n\n/**\n * Vytvoří výchozí Expo SQLite adapter pro DataStoreProvider.\n *\n * @param name Volitelný název SQLite databázového souboru.\n */\nexport function createExpoSQLiteStorage(name?: string) {\n return new SQLite(name);\n}"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/database.ts","../src/expo-sqlite.ts"],"sourcesContent":["import * as SQL from \"expo-sqlite\";\nimport { systemLog, systemLogError } from \"./log\";\nimport type { DataStoreStorage } from \"./storage\";\n\nexport class SQLite implements DataStoreStorage {\n dbName: string;\n private db: SQL.SQLiteDatabase | null = null;\n\n constructor(name?: string) {\n this.dbName = name || \"modelaz.db\";\n this.initDB();\n }\n\n private async initDB(): Promise<void> {\n if (!this.db) {\n try {\n systemLog(\"sql\", \"[initDB]\");\n this.db = await SQL.openDatabaseAsync(this.dbName);\n // await this.createTable(\"documents\", \"id TEXT PRIMARY KEY, data TEXT, model TEXT, lastUpdate TEXT\");\n // await this.createTable(\"logs\", \"time TEXT PRIMARY KEY, module TEXT, message TEXT\");\n await this.createTables({\n documents: \"id TEXT PRIMARY KEY, data TEXT, model TEXT, lastUpdate TEXT\",\n // logs: \"time TEXT PRIMARY KEY, module TEXT, message TEXT\",\n });\n // await this.createTable(\"providers\", \"id TEXT PRIMARY KEY, data TEXT, lastUpdate TEXT\");\n // await this.db?.runAsync(`DELETE FROM logs WHERE strftime('%s', 'now') - strftime('%s', time) > 3600`);\n } catch (e) {\n console.log(\"INITDB ERROR\", e);\n // systemLogError(\"sql\", \"[initDB]\", e);\n throw e;\n }\n }\n }\n\n private async getDb(): Promise<SQL.SQLiteDatabase> {\n if (!this.db) {\n await this.initDB();\n }\n\n if (!this.db) {\n throw new Error(\"Database is not initialized\");\n }\n\n return this.db;\n }\n\n private async createTable(table: string, tableSchema: string): Promise<SQL.SQLiteRunResult> {\n try {\n systemLog(\"sql\", \"[createTable]\", table);\n const db = await this.getDb();\n const result = await db.runAsync(`CREATE TABLE IF NOT EXISTS '${table}' (${tableSchema})`);\n systemLog(\"sql\", \"[createTable] result: \", JSON.stringify(result));\n return result;\n } catch (e) {\n systemLogError(\"sql\", \"[createTable]\", e);\n throw e;\n }\n }\n private async createTables(tables: { [key: string]: string }): Promise<SQL.SQLiteRunResult> {\n try {\n systemLog(\"sql\", \"[createTables]\", tables);\n const query = Object.entries(tables).reduce((acc, [table, schema]) => {\n return acc + `CREATE TABLE IF NOT EXISTS '${table}' (${schema});`;\n }, \"\");\n // console.log(\"Query: \", query);\n const db = await this.getDb();\n const result = await db.runAsync(query);\n systemLog(\"sql\", \"[createTables] result: \", JSON.stringify(result));\n return result;\n } catch (e) {\n systemLogError(\"sql\", \"[createTable]\", e);\n throw e;\n }\n }\n\n /**\n * Smazani starych logu\n */\n private async deleteLogs(): Promise<void> {\n systemLog(\"sql\", \"[query] delete old Logs\", this.db);\n try {\n const db = await this.getDb();\n await db.runAsync(`DELETE FROM logs WHERE strftime('%s', 'now') - strftime('%s', time) > 3600`);\n } catch (error) {\n throw error;\n }\n }\n\n public async read<T>(query: string, args?: SQL.SQLiteBindParams): Promise<T[]> {\n try {\n // Smazani starych zaznamu z logu\n systemLog(\"sql\", \"[read]\", query);\n const db = await this.getDb();\n const result = args === undefined ? await db.getAllAsync<T>(query) : await db.getAllAsync<T>(query, args);\n systemLog(\"sql\", \"[read] result \", result.length);\n return result;\n } catch (e) {\n systemLogError(\"sql\", \"[read]\", e);\n throw e;\n }\n }\n\n public async query<T>(query: string, args?: SQL.SQLiteBindParams): Promise<T[]> {\n try {\n systemLog(\"sql\", \"[query]->\", query);\n const db = await this.getDb();\n const result = args === undefined ? await db.getAllAsync<T>(query) : await db.getAllAsync<T>(query, args);\n systemLog(\"sql\", result);\n return result;\n } catch (error) {\n console.error(\"INSERT ERROR\", error);\n systemLogError(\"sql\", error);\n throw error;\n }\n }\n\n public async dropTable(table: string): Promise<SQL.SQLiteRunResult> {\n try {\n systemLog(\"sql\", \"dropTable\", table);\n // console.time(\"[SQL] dropTable\");\n const db = await this.getDb();\n const result = await db.runAsync(`DROP TABLE ${table}`);\n // console.timeEnd(\"[SQL] dropTable\");\n return result;\n } catch (error) {\n throw error;\n }\n }\n\n public async emptyTable(table: string): Promise<SQL.SQLiteRunResult> {\n try {\n systemLog(\"sql\", `[emptyTable]`, table);\n const db = await this.getDb();\n const result = await db.runAsync(`DELETE FROM '${table}'`);\n systemLog(\"sql\", \"[emptyTable] result\", result);\n return result;\n } catch (error) {\n throw error;\n }\n }\n\n public async getTables() {\n systemLog(\"sql\", \"Jdu zkusit nacist tabulky z \", JSON.stringify(this.dbName));\n try {\n const db = await this.getDb();\n const result = await db.getAllAsync('SELECT name FROM sqlite_master WHERE type=\"table\"');\n systemLog(\"sql\", \"DB Result:\", result);\n return result;\n } catch (error) {\n throw error;\n }\n }\n\n public async resetDatabase() {\n try {\n systemLog(\"sql\", \"Reset database\", this.dbName);\n // console.time(\"DELETING\");\n systemLog(\"sql\", \"Closing\");\n const db = await this.getDb();\n await db.closeAsync();\n systemLog(\"sql\", \"Deleting\");\n await SQL.deleteDatabaseAsync(this.dbName);\n // console.timeEnd(\"DELETING\");\n // console.time(\"INIT\");\n this.db = null;\n systemLog(\"sql\", \"Zacinam inicializovat databazi databaze\");\n await this.initDB();\n systemLog(\"sql\", \"Inicializovana databaze\");\n // console.timeEnd(\"INIT\");\n } catch (e) {\n systemLogError(\"sql\", \"[resetDatabase]\", e);\n }\n }\n}\n","export { SQLite as ExpoSQLiteStorage } from \"./database\";\n\nimport { SQLite } from \"./database\";\n\n/**\n * Vytvoří výchozí Expo SQLite adapter pro DataStoreProvider.\n *\n * @param name Volitelný název SQLite databázového souboru.\n */\nexport function createExpoSQLiteStorage(name?: string) {\n return new SQLite(name);\n}"],"mappings":"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","names":[]}
package/dist/index.cjs CHANGED
@@ -658,7 +658,6 @@ var saveData = async ({
658
658
  dateUpdate,
659
659
  SQLite
660
660
  }) => {
661
- console.time(`[SQL] saveData ${providerId}`);
662
661
  const batchSize = 8e3;
663
662
  const placeholders = "(?,?,?,?)";
664
663
  var i = 0;
@@ -671,10 +670,8 @@ var saveData = async ({
671
670
  }
672
671
  }
673
672
  const placeholdersArray = Array.from({ length: Math.ceil(values.length / 4) }, () => placeholders).join(",");
674
- const row = await SQLite.query(`INSERT OR REPLACE INTO documents (id, data, model, lastUpdate) VALUES ${placeholdersArray}`, values);
675
- systemLog("axios", "saveData result: ", JSON.stringify(row));
673
+ await SQLite.query(`INSERT OR REPLACE INTO documents (id, data, model, lastUpdate) VALUES ${placeholdersArray}`, values);
676
674
  }
677
- console.timeEnd(`[SQL] saveData ${providerId}`);
678
675
  };
679
676
  var serializeParams = (params) => {
680
677
  return Object.fromEntries(
@@ -796,11 +793,7 @@ var getData = async ({ id, dataSource, isPersisting, schema, SQLite, changeTime
796
793
  persistedData.forEach((item) => map.set(item.id, item));
797
794
  newData.forEach((item) => map.set(item.id, item));
798
795
  const updatedArray = Array.from(map.values());
799
- systemLog(
800
- "axios",
801
- `getData - Polozky ${id} persisted: ${persistedData.length}, newData: ${newData.length}, vysledek: ${updatedArray.length}`
802
- );
803
- console.error("[axios] NEW DATA: ", newData);
796
+ console.error("[axios] NEW DATA: ", updatedArray);
804
797
  return updatedArray;
805
798
  } else {
806
799
  return newData || [];
@@ -813,10 +806,7 @@ var getData = async ({ id, dataSource, isPersisting, schema, SQLite, changeTime
813
806
  };
814
807
  var postData = async ({ dataSource, variant, schema, val }) => {
815
808
  try {
816
- systemLog("axios", "POST", buildUri({ dataSource, variant, method: "create" }), ", Data: ", JSON.stringify(val, null, 2));
817
809
  const response = await import_axios.default.post(`${buildUri({ dataSource, variant, method: "create" })}`, val);
818
- systemLog("axios", "POST Query Time: ", response.data.queryTime);
819
- systemLog("axios", "POST Response Data: ", response.data.data.length, " B");
820
810
  return response.data.data;
821
811
  } catch (e) {
822
812
  console.error(`POST DATA: ${e}`);
@@ -827,8 +817,6 @@ var patchData = async ({ dataSource, variant, data }) => {
827
817
  try {
828
818
  console.log("PATCH: ", buildUri({ dataSource, variant, method: "update" }), ", Data: ", JSON.stringify(data, null, 2));
829
819
  const response = await import_axios.default.patch(buildUri({ dataSource, variant, method: "update" }), data);
830
- response.data?.queryTime && systemLog("axios", "PATCH Server Query Time: ", response.data.queryTime);
831
- systemLog("axios", "PATCH Response Data: ", response.data.data.length, " Bytes");
832
820
  return response.data.data;
833
821
  } catch (e) {
834
822
  console.error(`[AXIOS] PATCH DATA: ${e}`);
@@ -836,10 +824,7 @@ var patchData = async ({ dataSource, variant, data }) => {
836
824
  };
837
825
  var deleteData = async ({ dataSource, data }) => {
838
826
  try {
839
- systemLog("axios", "deleteData DS:", dataSource);
840
827
  const response = await import_axios.default.delete(`${buildUri({ dataSource, method: "delete" })}`, data);
841
- response.data?.queryTime && systemLog("axios", "deleteData - Query Time: ", response.data.queryTime);
842
- systemLog("axios", "deleteData Data response: ", response.data.data);
843
828
  return response.data.data;
844
829
  } catch (e) {
845
830
  console.error(`DELETE DATA: ${e}`);
@@ -895,7 +880,6 @@ var useFilteredDocuments = (filter) => {
895
880
  setFilter(filter);
896
881
  }, [JSON.stringify(filter)]);
897
882
  (0, import_react.useEffect)(() => {
898
- console.time("Filter");
899
883
  if (activeFilter && documents && Object.keys(documents).length > 0 && Object.keys(activeFilter).length > 0) {
900
884
  const result = dataStoreFilterObject(documents, activeFilter);
901
885
  const dataArray = Object.keys(result).map((id) => ({
@@ -904,7 +888,6 @@ var useFilteredDocuments = (filter) => {
904
888
  }));
905
889
  if (!(0, import_isEqual.default)(data, dataArray)) setData(dataArray);
906
890
  }
907
- console.timeEnd("Filter");
908
891
  }, [activeFilter, documents]);
909
892
  return { documents: data || documents, setFilter };
910
893
  };
@@ -1108,6 +1091,7 @@ var DataStoreProvider = (0, import_react.forwardRef)(
1108
1091
  ...rest,
1109
1092
  changeTime: lastUpdate.time
1110
1093
  });
1094
+ console.error("[DSP] synchronizeDataStore response:", key, response);
1111
1095
  if (response.length > 0) {
1112
1096
  const updateData = {};
1113
1097
  response.forEach((item) => {
@@ -1172,7 +1156,6 @@ var DataStoreProvider = (0, import_react.forwardRef)(
1172
1156
  socket.disconnect();
1173
1157
  }, [socket]);
1174
1158
  const resetDataStore = (0, import_react.useCallback)(async () => {
1175
- console.time("[DSP] resetDataStore");
1176
1159
  if (persistenceStorage?.emptyTable) {
1177
1160
  await persistenceStorage.emptyTable("documents");
1178
1161
  }
@@ -1181,7 +1164,6 @@ var DataStoreProvider = (0, import_react.forwardRef)(
1181
1164
  setDocuments({});
1182
1165
  setCounterProviders({});
1183
1166
  setCounterDocuments({});
1184
- console.timeEnd("[DSP] resetDataStore");
1185
1167
  }, [persistenceStorage]);
1186
1168
  const resetProvider = (0, import_react.useCallback)(
1187
1169
  async (provider) => {
@@ -1231,7 +1213,6 @@ var DataStoreProvider = (0, import_react.forwardRef)(
1231
1213
  if (dispatcher.actions.length > 0) {
1232
1214
  let result;
1233
1215
  const timeCode = uuid();
1234
- console.time(`Dispatcher ${dispatcher.actions[0].action} ${timeCode}`);
1235
1216
  setDispatcher((prev) => ({ ...prev, isBussy: true }));
1236
1217
  const item = dispatcher.actions[0];
1237
1218
  switch (item.action) {
@@ -1274,7 +1255,6 @@ var DataStoreProvider = (0, import_react.forwardRef)(
1274
1255
  isBussy: false,
1275
1256
  actions: prev.actions.slice(1)
1276
1257
  }));
1277
- console.timeEnd(`Dispatcher ${dispatcher.actions[0].action} ${timeCode}`);
1278
1258
  }
1279
1259
  }
1280
1260
  if (!dispatcher.isBussy) processDispatcher();
@@ -1293,7 +1273,6 @@ var DataStoreProvider = (0, import_react.forwardRef)(
1293
1273
  const documentsToPersist = [];
1294
1274
  const documentIdsToDelete = [];
1295
1275
  setDocuments((prev) => {
1296
- console.time("updateDocuments");
1297
1276
  let newDocs = { ...prev };
1298
1277
  if (Array.isArray(uDocuments)) {
1299
1278
  uDocuments.forEach((document) => {
@@ -1365,7 +1344,6 @@ var DataStoreProvider = (0, import_react.forwardRef)(
1365
1344
  }
1366
1345
  }
1367
1346
  }
1368
- console.timeEnd("updateDocuments");
1369
1347
  return newDocs;
1370
1348
  });
1371
1349
  const unique = uuid();
@@ -1401,6 +1379,7 @@ var DataStoreProvider = (0, import_react.forwardRef)(
1401
1379
  schema: dP.schema,
1402
1380
  SQLite: persistenceStorage || void 0
1403
1381
  });
1382
+ console.error("[DSP] updateDocument dataFromSource:", model, documentId, dataFromSource);
1404
1383
  data = dataFromSource;
1405
1384
  }
1406
1385
  }
@@ -1411,7 +1390,6 @@ var DataStoreProvider = (0, import_react.forwardRef)(
1411
1390
  var isProvidersUpdated = false;
1412
1391
  const rand = uuid();
1413
1392
  setProviders((prev) => {
1414
- console.time("[DSP UPDATE PROVIDERS INSIDE]");
1415
1393
  var newProviders = { ...prev };
1416
1394
  Object.keys(newProviders).forEach((key) => {
1417
1395
  const provider = newProviders[key];
@@ -1466,31 +1444,23 @@ var DataStoreProvider = (0, import_react.forwardRef)(
1466
1444
  }
1467
1445
  newProviders[key] = providerNext;
1468
1446
  });
1469
- console.timeEnd("[DSP UPDATE PROVIDERS INSIDE]");
1470
- console.time("[DSP UPDATE DOCUMENTS OUTSIDE]");
1471
1447
  setDocuments((prev2) => {
1472
- console.time("[DSP UPDATE DOCUMENTS INSIDE]");
1473
1448
  if (prev2[documentId]) {
1474
1449
  if (listeningProviders === 0) {
1475
1450
  const newD = { ...prev2 };
1476
1451
  delete newD[documentId];
1477
- console.timeEnd("[DSP UPDATE DOCUMENTS INSIDE]");
1478
1452
  return newD;
1479
1453
  } else {
1480
- console.timeEnd("[DSP UPDATE DOCUMENTS INSIDE]");
1481
1454
  return {
1482
1455
  ...prev2,
1483
1456
  [documentId]: mergeWithNullDeletion(prev2[documentId], dataWithDocumentId)
1484
1457
  };
1485
1458
  }
1486
1459
  } else if (listeningProviders > 0) {
1487
- console.timeEnd("[DSP UPDATE DOCUMENTS INSIDE]");
1488
1460
  return { ...prev2, [documentId]: mergeWithNullDeletion(void 0, dataWithDocumentId) };
1489
1461
  }
1490
- console.timeEnd("[DSP UPDATE DOCUMENTS INSIDE]");
1491
1462
  return prev2;
1492
1463
  });
1493
- console.timeEnd("[DSP UPDATE DOCUMENTS OUTSIDE]");
1494
1464
  return newProviders;
1495
1465
  });
1496
1466
  if (isProvidersUpdated) {
@@ -1814,11 +1784,10 @@ var DataStoreProvider = (0, import_react.forwardRef)(
1814
1784
  isPersisting: !!newItem.isPersisting && !!persistenceStorage,
1815
1785
  SQLite: persistenceStorage || void 0
1816
1786
  });
1817
- console.error("[DataStoreProvider] registerProvider:dataFromSource ", { id: newItem.id, dataFromSource });
1787
+ console.error("[DSP] registerProvider dataFromSource:", id, dataFromSource);
1818
1788
  var dataList = [];
1819
1789
  var items = {};
1820
1790
  const dataS = Array.isArray(dataFromSource) ? dataFromSource : [dataFromSource];
1821
- console.error("[DataStoreProvider] registerProvider:dataS ", { id: newItem.id, dataS });
1822
1791
  dataS.forEach((item) => {
1823
1792
  if (!item) return;
1824
1793
  const { id: itId, ...data } = item;
@@ -1833,7 +1802,6 @@ var DataStoreProvider = (0, import_react.forwardRef)(
1833
1802
  items[normalizedId] = data;
1834
1803
  }
1835
1804
  });
1836
- console.error("[DataStoreProvider] registerProvider:dataList ", { id: newItem.id, dataList });
1837
1805
  setCounterDocuments((prev) => {
1838
1806
  const newC = { ...prev };
1839
1807
  dataList.forEach((itemId) => {
@@ -1862,10 +1830,7 @@ var DataStoreProvider = (0, import_react.forwardRef)(
1862
1830
  [id]: 1
1863
1831
  }));
1864
1832
  if (provider.dataSource?.socketListeners) {
1865
- console.error("[DataStoreProvider] registerProvider:registering sockets ", {
1866
- id: newItem.id,
1867
- socketListeners: provider.dataSource.socketListeners
1868
- });
1833
+ console.log("TATATATA");
1869
1834
  registerProviderSockets(provider.dataSource.socketListeners, provider.dataSource.filter);
1870
1835
  }
1871
1836
  } catch (error) {