@mgarlik/datastore 0.1.4 → 0.1.8

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.
package/dist/index.js CHANGED
@@ -755,7 +755,7 @@ var postData = async ({ dataSource, variant, schema, val }) => {
755
755
  };
756
756
  var patchData = async ({ dataSource, variant, data }) => {
757
757
  try {
758
- systemLog("axios", "PATCH: ", buildUri({ dataSource, variant, method: "update" }), ", Data: ", JSON.stringify(data, null, 2));
758
+ console.log("PATCH: ", buildUri({ dataSource, variant, method: "update" }), ", Data: ", JSON.stringify(data, null, 2));
759
759
  const response = await axios.patch(buildUri({ dataSource, variant, method: "update" }), data);
760
760
  response.data?.queryTime && systemLog("axios", "PATCH Server Query Time: ", response.data.queryTime);
761
761
  systemLog("axios", "PATCH Response Data: ", response.data.data.length, " Bytes");
@@ -1106,7 +1106,7 @@ var DataStoreProvider = forwardRef(
1106
1106
  ...socketServer?.params?.auth || {},
1107
1107
  token: getSocketAuthToken()
1108
1108
  };
1109
- systemLog("dsp", "PRIPOJUJI LIVE SOCKETS");
1109
+ console.log("PRIPOJUJI LIVE SOCKETS");
1110
1110
  socket.connect();
1111
1111
  }, [socket, socketServer?.params?.auth, getSocketAuthToken]);
1112
1112
  const stopSockets = useCallback(() => {
@@ -1163,6 +1163,7 @@ var DataStoreProvider = forwardRef(
1163
1163
  const item = dispatcher.actions[0];
1164
1164
  switch (item.action) {
1165
1165
  case "registerProvider":
1166
+ console.log("[DSP] Dispatcher registerProvider", item.data);
1166
1167
  await registerProvider(item.data);
1167
1168
  break;
1168
1169
  case "unregisterProvider":
@@ -1322,6 +1323,7 @@ var DataStoreProvider = forwardRef(
1322
1323
  systemLog("dsp", "[updateDocument]:", documentId, ", model:", model);
1323
1324
  let data = pData;
1324
1325
  if (typeof pData === "function") data = pData(documents[documentId]);
1326
+ const dataWithDocumentId = data && typeof data === "object" && !Array.isArray(data) ? { ...data, id: data.id ?? documentId } : { id: documentId };
1325
1327
  if (fields) {
1326
1328
  systemLog("dsp", "[updateDocument] Stahovani ", model, ", document: ", documentId, ", fields: ", fields);
1327
1329
  systemLog("dsp", "[updateDocument] Providers: ", Object.keys(providers));
@@ -1341,6 +1343,7 @@ var DataStoreProvider = forwardRef(
1341
1343
  }
1342
1344
  }
1343
1345
  if (data) {
1346
+ console.log("[updateDocument]:", documentId, ", model:", model);
1344
1347
  var listeningProviders = 0;
1345
1348
  var isProvidersUpdated = false;
1346
1349
  const rand = uuid();
@@ -1357,7 +1360,7 @@ var DataStoreProvider = forwardRef(
1357
1360
  var socketListeners = providerNext.dataSource?.socketListeners || [];
1358
1361
  if (socketListeners.length === 0) {
1359
1362
  if (providerNext.data.includes(documentId)) {
1360
- if (!providerNext.dataSource?.filter || filterDocuments(data, providerNext.dataSource?.filter)) {
1363
+ if (!providerNext.dataSource?.filter || filterDocuments(dataWithDocumentId, providerNext.dataSource?.filter)) {
1361
1364
  systemLog("dsp", "[updateDocument] - zustava v Provider bez Listeners:", key);
1362
1365
  listeningProviders++;
1363
1366
  providerNext.lastUpdate = {
@@ -1377,7 +1380,7 @@ var DataStoreProvider = forwardRef(
1377
1380
  }
1378
1381
  } else if (socketListeners.includes(model) || // socketListeners.includes(documentId) ||
1379
1382
  key === model) {
1380
- if (!providerNext.dataSource.filter || filterDocuments(data, providerNext.dataSource.filter)) {
1383
+ if (!providerNext.dataSource.filter || filterDocuments(dataWithDocumentId, providerNext.dataSource.filter)) {
1381
1384
  listeningProviders++;
1382
1385
  providerNext.lastUpdate = {
1383
1386
  id: uuid(),
@@ -1417,12 +1420,12 @@ var DataStoreProvider = forwardRef(
1417
1420
  console.timeEnd("[DSP UPDATE DOCUMENTS INSIDE]");
1418
1421
  return {
1419
1422
  ...prev2,
1420
- [documentId]: { ...prev2[documentId], ...data }
1423
+ [documentId]: { ...prev2[documentId], ...dataWithDocumentId }
1421
1424
  };
1422
1425
  }
1423
1426
  } else if (listeningProviders > 0) {
1424
1427
  console.timeEnd("[DSP UPDATE DOCUMENTS INSIDE]");
1425
- return { ...prev2, [documentId]: data };
1428
+ return { ...prev2, [documentId]: dataWithDocumentId };
1426
1429
  }
1427
1430
  console.timeEnd("[DSP UPDATE DOCUMENTS INSIDE]");
1428
1431
  return prev2;
@@ -1451,7 +1454,7 @@ var DataStoreProvider = forwardRef(
1451
1454
  await persistDocument({
1452
1455
  documentId,
1453
1456
  model,
1454
- data: { ...documents[documentId], ...data }
1457
+ data: { ...documents[documentId], ...dataWithDocumentId }
1455
1458
  });
1456
1459
  } else {
1457
1460
  await removePersistedDocument(documentId);
@@ -1462,13 +1465,7 @@ var DataStoreProvider = forwardRef(
1462
1465
  [documents, providers, setDocuments, setProviders, setCounterDocuments, persistDocument, removePersistedDocument, persistenceStorage]
1463
1466
  );
1464
1467
  const updateDataStore = useCallback(
1465
- async ({
1466
- id,
1467
- documentId,
1468
- params,
1469
- variant,
1470
- data
1471
- }) => {
1468
+ async ({ id, documentId, params, variant, data }) => {
1472
1469
  if (!providers[id]) {
1473
1470
  systemLog("dsp", "[updateDataStore] Provider neexistuje:", id);
1474
1471
  return;
@@ -1511,13 +1508,13 @@ var DataStoreProvider = forwardRef(
1511
1508
  }, [dispatch, updateDocument]);
1512
1509
  const createDocument = useCallback(
1513
1510
  async ({ model, documentId, data }) => {
1514
- const newDocument = data;
1511
+ const newDocument = data && typeof data === "object" && !Array.isArray(data) ? { ...data, id: data.id ?? documentId } : { id: documentId };
1515
1512
  console.log(`Registruji model ${model}, documentId ${documentId}, data: ${JSON.stringify(data)}`);
1516
1513
  var providerListenersCount = 0;
1517
1514
  Object.keys(providers).forEach((key) => {
1518
1515
  const provider = providers[key];
1519
1516
  var socketListeners = provider.dataSource?.socketListeners;
1520
- if ((socketListeners?.includes(model) || key === model) && (!provider.dataSource?.filter || filterDocuments(data, provider.dataSource?.filter))) {
1517
+ if ((socketListeners?.includes(model) || key === model) && (!provider.dataSource?.filter || filterDocuments(newDocument, provider.dataSource?.filter))) {
1521
1518
  if (!provider.data.includes(documentId)) {
1522
1519
  setCounterDocuments((prev) => {
1523
1520
  const newC = { ...prev };
@@ -1840,6 +1837,7 @@ var DataStoreProvider = forwardRef(
1840
1837
  [id]: 1
1841
1838
  }));
1842
1839
  if (provider.dataSource?.socketListeners) {
1840
+ console.log("TATATATA");
1843
1841
  registerProviderSockets(provider.dataSource.socketListeners, provider.dataSource.filter);
1844
1842
  }
1845
1843
  console.timeEnd(`[DSP] VYTVARENI PROVIDERA ${id}`);
@@ -2005,6 +2003,7 @@ var useDataProvider = (id, params, dataFilter, settings) => {
2005
2003
  const prov = renderJSONTemplate(id, params ?? void 0);
2006
2004
  setProviderId(prov.id);
2007
2005
  retId = prov.id;
2006
+ console.log("Registruji z useDataProvider 1", prov.id);
2008
2007
  dispatch("registerProvider", prov);
2009
2008
  } else {
2010
2009
  if (presetProviders[id]) {
@@ -2015,7 +2014,9 @@ var useDataProvider = (id, params, dataFilter, settings) => {
2015
2014
  systemLog("usedp", "Provider:", prov.id, "existuje");
2016
2015
  if (!currentProviders[prov.id]?.isPermanent) updateProviderListeners(prov.id, 1);
2017
2016
  } else {
2018
- systemLog("usedp", "Registruji novy provider:", prov.id);
2017
+ console.log("Params: ", params);
2018
+ console.log("Registruji z useDataProvider 2 - novy provider", prov.id);
2019
+ console.log(JSON.stringify(prov, null, 2));
2019
2020
  dispatch("registerProvider", prov);
2020
2021
  }
2021
2022
  } else {
@@ -2205,6 +2206,34 @@ var COLOR_SOCKETS = COLOR_YELLOW;
2205
2206
  var COLOR_AXIOS = COLOR_YELLOW;
2206
2207
  var COLOR_APP = COLOR_BLUE;
2207
2208
  var COLOR_DS = COLOR_MAGENTA;
2209
+
2210
+ // src/debugStorage.ts
2211
+ async function logStorageContent(storage) {
2212
+ try {
2213
+ systemLog("debug", "=== STORAGE CONTENT ===");
2214
+ if ("getTables" in storage) {
2215
+ const tablesResult = await storage.getTables();
2216
+ console.log("\u{1F4CA} TABULKY V DATAB\xC1ZI:", tablesResult);
2217
+ for (const table of tablesResult) {
2218
+ const tableName = table.name;
2219
+ try {
2220
+ const content = await storage.read(`SELECT * FROM '${tableName}'`);
2221
+ console.log(`
2222
+ \u{1F4CB} TABULKA: ${tableName}`);
2223
+ console.log(` Po\u010Det \u0159\xE1dk\u016F: ${content.length}`);
2224
+ console.log(content);
2225
+ } catch (error) {
2226
+ console.error(` Chyba p\u0159i \u010Dten\xED tabulky ${tableName}:`, error);
2227
+ }
2228
+ }
2229
+ } else {
2230
+ console.log("Storage neimplementuje getTables()");
2231
+ }
2232
+ systemLog("debug", "=== KONEC STORAGE CONTENT ===");
2233
+ } catch (error) {
2234
+ console.error("Chyba p\u0159i loggingu storage obsahu:", error);
2235
+ }
2236
+ }
2208
2237
  export {
2209
2238
  COLOR_APP,
2210
2239
  COLOR_AXIOS,
@@ -2239,6 +2268,7 @@ export {
2239
2268
  filterDocumentsAsync,
2240
2269
  getValueByRules,
2241
2270
  isUuid,
2271
+ logStorageContent,
2242
2272
  recalculateObjectWithDocument,
2243
2273
  useDataProvider,
2244
2274
  useDataStore,