@mgarlik/datastore 0.1.5 → 0.1.9

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.cjs CHANGED
@@ -30,26 +30,6 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
30
30
  // src/index.ts
31
31
  var index_exports = {};
32
32
  __export(index_exports, {
33
- COLOR_APP: () => COLOR_APP,
34
- COLOR_AXIOS: () => COLOR_AXIOS,
35
- COLOR_BLUE: () => COLOR_BLUE,
36
- COLOR_CONTEXT: () => COLOR_CONTEXT,
37
- COLOR_CYAN: () => COLOR_CYAN,
38
- COLOR_DS: () => COLOR_DS,
39
- COLOR_ERROR: () => COLOR_ERROR,
40
- COLOR_FUNCTION: () => COLOR_FUNCTION,
41
- COLOR_GREEN: () => COLOR_GREEN,
42
- COLOR_MAGENTA: () => COLOR_MAGENTA,
43
- COLOR_ORANGE: () => COLOR_ORANGE,
44
- COLOR_PROVIDER: () => COLOR_PROVIDER,
45
- COLOR_RED: () => COLOR_RED,
46
- COLOR_RENDER: () => COLOR_RENDER,
47
- COLOR_SCREEN: () => COLOR_SCREEN,
48
- COLOR_SOCKET: () => COLOR_SOCKET,
49
- COLOR_SOCKETS: () => COLOR_SOCKETS,
50
- COLOR_WARNING: () => COLOR_WARNING,
51
- COLOR_WHITE: () => COLOR_WHITE,
52
- COLOR_YELLOW: () => COLOR_YELLOW,
53
33
  DataStoreActionsContext: () => DataStoreActionsContext,
54
34
  DataStoreContext: () => DataStoreContext,
55
35
  DataStoreDocumentsContext: () => DataStoreDocumentsContext,
@@ -63,6 +43,7 @@ __export(index_exports, {
63
43
  filterDocumentsAsync: () => filterDocumentsAsync,
64
44
  getValueByRules: () => getValueByRules,
65
45
  isUuid: () => isUuid,
46
+ logStorageContent: () => logStorageContent,
66
47
  recalculateObjectWithDocument: () => recalculateObjectWithDocument,
67
48
  useDataProvider: () => useDataProvider,
68
49
  useDataStore: () => useDataStore,
@@ -824,7 +805,7 @@ var postData = async ({ dataSource, variant, schema, val }) => {
824
805
  };
825
806
  var patchData = async ({ dataSource, variant, data }) => {
826
807
  try {
827
- systemLog("axios", "PATCH: ", buildUri({ dataSource, variant, method: "update" }), ", Data: ", JSON.stringify(data, null, 2));
808
+ console.log("PATCH: ", buildUri({ dataSource, variant, method: "update" }), ", Data: ", JSON.stringify(data, null, 2));
828
809
  const response = await import_axios.default.patch(buildUri({ dataSource, variant, method: "update" }), data);
829
810
  response.data?.queryTime && systemLog("axios", "PATCH Server Query Time: ", response.data.queryTime);
830
811
  systemLog("axios", "PATCH Response Data: ", response.data.data.length, " Bytes");
@@ -1175,7 +1156,7 @@ var DataStoreProvider = (0, import_react.forwardRef)(
1175
1156
  ...socketServer?.params?.auth || {},
1176
1157
  token: getSocketAuthToken()
1177
1158
  };
1178
- systemLog("dsp", "PRIPOJUJI LIVE SOCKETS");
1159
+ console.log("PRIPOJUJI LIVE SOCKETS");
1179
1160
  socket.connect();
1180
1161
  }, [socket, socketServer?.params?.auth, getSocketAuthToken]);
1181
1162
  const stopSockets = (0, import_react.useCallback)(() => {
@@ -1232,6 +1213,7 @@ var DataStoreProvider = (0, import_react.forwardRef)(
1232
1213
  const item = dispatcher.actions[0];
1233
1214
  switch (item.action) {
1234
1215
  case "registerProvider":
1216
+ console.log("[DSP] Dispatcher registerProvider", item.data);
1235
1217
  await registerProvider(item.data);
1236
1218
  break;
1237
1219
  case "unregisterProvider":
@@ -1391,6 +1373,7 @@ var DataStoreProvider = (0, import_react.forwardRef)(
1391
1373
  systemLog("dsp", "[updateDocument]:", documentId, ", model:", model);
1392
1374
  let data = pData;
1393
1375
  if (typeof pData === "function") data = pData(documents[documentId]);
1376
+ const dataWithDocumentId = data && typeof data === "object" && !Array.isArray(data) ? { ...data, id: data.id ?? documentId } : { id: documentId };
1394
1377
  if (fields) {
1395
1378
  systemLog("dsp", "[updateDocument] Stahovani ", model, ", document: ", documentId, ", fields: ", fields);
1396
1379
  systemLog("dsp", "[updateDocument] Providers: ", Object.keys(providers));
@@ -1410,6 +1393,7 @@ var DataStoreProvider = (0, import_react.forwardRef)(
1410
1393
  }
1411
1394
  }
1412
1395
  if (data) {
1396
+ console.log("[updateDocument]:", documentId, ", model:", model);
1413
1397
  var listeningProviders = 0;
1414
1398
  var isProvidersUpdated = false;
1415
1399
  const rand = uuid();
@@ -1426,7 +1410,7 @@ var DataStoreProvider = (0, import_react.forwardRef)(
1426
1410
  var socketListeners = providerNext.dataSource?.socketListeners || [];
1427
1411
  if (socketListeners.length === 0) {
1428
1412
  if (providerNext.data.includes(documentId)) {
1429
- if (!providerNext.dataSource?.filter || filterDocuments(data, providerNext.dataSource?.filter)) {
1413
+ if (!providerNext.dataSource?.filter || filterDocuments(dataWithDocumentId, providerNext.dataSource?.filter)) {
1430
1414
  systemLog("dsp", "[updateDocument] - zustava v Provider bez Listeners:", key);
1431
1415
  listeningProviders++;
1432
1416
  providerNext.lastUpdate = {
@@ -1446,7 +1430,7 @@ var DataStoreProvider = (0, import_react.forwardRef)(
1446
1430
  }
1447
1431
  } else if (socketListeners.includes(model) || // socketListeners.includes(documentId) ||
1448
1432
  key === model) {
1449
- if (!providerNext.dataSource.filter || filterDocuments(data, providerNext.dataSource.filter)) {
1433
+ if (!providerNext.dataSource.filter || filterDocuments(dataWithDocumentId, providerNext.dataSource.filter)) {
1450
1434
  listeningProviders++;
1451
1435
  providerNext.lastUpdate = {
1452
1436
  id: uuid(),
@@ -1486,12 +1470,12 @@ var DataStoreProvider = (0, import_react.forwardRef)(
1486
1470
  console.timeEnd("[DSP UPDATE DOCUMENTS INSIDE]");
1487
1471
  return {
1488
1472
  ...prev2,
1489
- [documentId]: { ...prev2[documentId], ...data }
1473
+ [documentId]: { ...prev2[documentId], ...dataWithDocumentId }
1490
1474
  };
1491
1475
  }
1492
1476
  } else if (listeningProviders > 0) {
1493
1477
  console.timeEnd("[DSP UPDATE DOCUMENTS INSIDE]");
1494
- return { ...prev2, [documentId]: data };
1478
+ return { ...prev2, [documentId]: dataWithDocumentId };
1495
1479
  }
1496
1480
  console.timeEnd("[DSP UPDATE DOCUMENTS INSIDE]");
1497
1481
  return prev2;
@@ -1520,7 +1504,7 @@ var DataStoreProvider = (0, import_react.forwardRef)(
1520
1504
  await persistDocument({
1521
1505
  documentId,
1522
1506
  model,
1523
- data: { ...documents[documentId], ...data }
1507
+ data: { ...documents[documentId], ...dataWithDocumentId }
1524
1508
  });
1525
1509
  } else {
1526
1510
  await removePersistedDocument(documentId);
@@ -1574,13 +1558,13 @@ var DataStoreProvider = (0, import_react.forwardRef)(
1574
1558
  }, [dispatch, updateDocument]);
1575
1559
  const createDocument = (0, import_react.useCallback)(
1576
1560
  async ({ model, documentId, data }) => {
1577
- const newDocument = data;
1561
+ const newDocument = data && typeof data === "object" && !Array.isArray(data) ? { ...data, id: data.id ?? documentId } : { id: documentId };
1578
1562
  console.log(`Registruji model ${model}, documentId ${documentId}, data: ${JSON.stringify(data)}`);
1579
1563
  var providerListenersCount = 0;
1580
1564
  Object.keys(providers).forEach((key) => {
1581
1565
  const provider = providers[key];
1582
1566
  var socketListeners = provider.dataSource?.socketListeners;
1583
- if ((socketListeners?.includes(model) || key === model) && (!provider.dataSource?.filter || filterDocuments(data, provider.dataSource?.filter))) {
1567
+ if ((socketListeners?.includes(model) || key === model) && (!provider.dataSource?.filter || filterDocuments(newDocument, provider.dataSource?.filter))) {
1584
1568
  if (!provider.data.includes(documentId)) {
1585
1569
  setCounterDocuments((prev) => {
1586
1570
  const newC = { ...prev };
@@ -1903,6 +1887,7 @@ var DataStoreProvider = (0, import_react.forwardRef)(
1903
1887
  [id]: 1
1904
1888
  }));
1905
1889
  if (provider.dataSource?.socketListeners) {
1890
+ console.log("TATATATA");
1906
1891
  registerProviderSockets(provider.dataSource.socketListeners, provider.dataSource.filter);
1907
1892
  }
1908
1893
  console.timeEnd(`[DSP] VYTVARENI PROVIDERA ${id}`);
@@ -2068,6 +2053,7 @@ var useDataProvider = (id, params, dataFilter, settings) => {
2068
2053
  const prov = renderJSONTemplate(id, params ?? void 0);
2069
2054
  setProviderId(prov.id);
2070
2055
  retId = prov.id;
2056
+ console.log("Registruji z useDataProvider 1", prov.id);
2071
2057
  dispatch("registerProvider", prov);
2072
2058
  } else {
2073
2059
  if (presetProviders[id]) {
@@ -2078,7 +2064,9 @@ var useDataProvider = (id, params, dataFilter, settings) => {
2078
2064
  systemLog("usedp", "Provider:", prov.id, "existuje");
2079
2065
  if (!currentProviders[prov.id]?.isPermanent) updateProviderListeners(prov.id, 1);
2080
2066
  } else {
2081
- systemLog("usedp", "Registruji novy provider:", prov.id);
2067
+ console.log("Params: ", params);
2068
+ console.log("Registruji z useDataProvider 2 - novy provider", prov.id);
2069
+ console.log(JSON.stringify(prov, null, 2));
2082
2070
  dispatch("registerProvider", prov);
2083
2071
  }
2084
2072
  } else {
@@ -2100,14 +2088,32 @@ var useDataProvider = (id, params, dataFilter, settings) => {
2100
2088
  };
2101
2089
  const updateItem = ({ params: params2, data, variant, documentId = void 0 }, callback) => {
2102
2090
  systemLog("usedp", "UPDATUJI:", providerId, ", variant:", variant, ", documentId: ", documentId, ", params:", params2, ", data:", data);
2103
- dispatch("updateDataStore", { id: providerId, variant, params: params2, data, documentId }, callback);
2091
+ return new Promise((resolve, reject) => {
2092
+ const wrappedCallback = (result) => {
2093
+ callback?.(result);
2094
+ resolve(result);
2095
+ };
2096
+ dispatch("updateDataStore", { id: providerId, variant, params: params2, data, documentId }, wrappedCallback);
2097
+ });
2104
2098
  };
2105
2099
  const deleteItem = ({ params: params2, data }, callback) => {
2106
2100
  systemLog("usedp", "DELETE FROM:", providerId, ", params:", params2, "data:", data);
2107
- dispatch("deleteProviderItem", { providerId, data, params: params2 }, callback);
2101
+ return new Promise((resolve, reject) => {
2102
+ const wrappedCallback = (result) => {
2103
+ callback?.(result);
2104
+ resolve(result);
2105
+ };
2106
+ dispatch("deleteProviderItem", { providerId, data, params: params2 }, wrappedCallback);
2107
+ });
2108
2108
  };
2109
2109
  const createItem = (data, callback) => {
2110
- dispatch("createProviderItem", { id, data }, callback);
2110
+ return new Promise((resolve, reject) => {
2111
+ const wrappedCallback = (result) => {
2112
+ callback?.(result);
2113
+ resolve(result);
2114
+ };
2115
+ dispatch("createProviderItem", { id, data }, wrappedCallback);
2116
+ });
2111
2117
  };
2112
2118
  const provider = (0, import_react2.useMemo)(() => {
2113
2119
  systemLog("usedp", "Vytvoreni dat: ", filter);
@@ -2229,14 +2235,32 @@ var useProviderActions = (providerId, data) => {
2229
2235
  dispatch("updateDataStore", { id: providerId, data: val });
2230
2236
  };
2231
2237
  const updateItem = ({ params, data: data2, variant, documentId = void 0 }, callback) => {
2232
- dispatch("updateDataStore", { id: providerId, variant, params, data: data2, documentId }, callback);
2238
+ return new Promise((resolve, reject) => {
2239
+ const wrappedCallback = (result) => {
2240
+ callback?.(result);
2241
+ resolve(result);
2242
+ };
2243
+ dispatch("updateDataStore", { id: providerId, variant, params, data: data2, documentId }, wrappedCallback);
2244
+ });
2233
2245
  };
2234
2246
  const deleteItem = ({ params, data: data2 }, callback) => {
2235
- dispatch("deleteProviderItem", { providerId, data: data2, params }, callback);
2247
+ return new Promise((resolve, reject) => {
2248
+ const wrappedCallback = (result) => {
2249
+ callback?.(result);
2250
+ resolve(result);
2251
+ };
2252
+ dispatch("deleteProviderItem", { providerId, data: data2, params }, wrappedCallback);
2253
+ });
2236
2254
  };
2237
2255
  const createItem = (data2, callback) => {
2238
2256
  systemLog("usedp", "createItem Prov. id:", providerId);
2239
- dispatch("createProviderItem", { id: providerId, data: data2 }, callback);
2257
+ return new Promise((resolve, reject) => {
2258
+ const wrappedCallback = (result) => {
2259
+ callback?.(result);
2260
+ resolve(result);
2261
+ };
2262
+ dispatch("createProviderItem", { id: providerId, data: data2 }, wrappedCallback);
2263
+ });
2240
2264
  };
2241
2265
  return {
2242
2266
  schema: providers[providerId]?.schema,
@@ -2247,49 +2271,35 @@ var useProviderActions = (providerId, data) => {
2247
2271
  };
2248
2272
  };
2249
2273
 
2250
- // src/logColors.ts
2251
- var COLOR_WHITE = `\x1B[37m%s\x1B[0m`;
2252
- var COLOR_MAGENTA = `\x1B[35m%s\x1B[0m`;
2253
- var COLOR_BLUE = `\x1B[34m%s\x1B[0m`;
2254
- var COLOR_CYAN = `\x1B[36m%s\x1B[0m`;
2255
- var COLOR_GREEN = `\x1B[32m%s\x1B[0m`;
2256
- var COLOR_RED = `\x1B[31m%s\x1B[0m`;
2257
- var COLOR_ERROR = `\x1B[31m%s\x1B[0m`;
2258
- var COLOR_YELLOW = `\x1B[33m%s\x1B[0m`;
2259
- var COLOR_ORANGE = `\x1B[38;5;208m%s\x1B[0m`;
2260
- var COLOR_WARNING = `\x1B[33m%s\x1B[0m`;
2261
- var COLOR_PROVIDER = COLOR_MAGENTA;
2262
- var COLOR_CONTEXT = COLOR_MAGENTA;
2263
- var COLOR_RENDER = COLOR_BLUE;
2264
- var COLOR_FUNCTION = COLOR_CYAN;
2265
- var COLOR_SCREEN = COLOR_GREEN;
2266
- var COLOR_SOCKET = COLOR_CYAN;
2267
- var COLOR_SOCKETS = COLOR_YELLOW;
2268
- var COLOR_AXIOS = COLOR_YELLOW;
2269
- var COLOR_APP = COLOR_BLUE;
2270
- var COLOR_DS = COLOR_MAGENTA;
2274
+ // src/debugStorage.ts
2275
+ async function logStorageContent(storage) {
2276
+ try {
2277
+ systemLog("debug", "=== STORAGE CONTENT ===");
2278
+ if ("getTables" in storage) {
2279
+ const tablesResult = await storage.getTables();
2280
+ console.log("\u{1F4CA} TABULKY V DATAB\xC1ZI:", tablesResult);
2281
+ for (const table of tablesResult) {
2282
+ const tableName = table.name;
2283
+ try {
2284
+ const content = await storage.read(`SELECT * FROM '${tableName}'`);
2285
+ console.log(`
2286
+ \u{1F4CB} TABULKA: ${tableName}`);
2287
+ console.log(` Po\u010Det \u0159\xE1dk\u016F: ${content.length}`);
2288
+ console.log(content);
2289
+ } catch (error) {
2290
+ console.error(` Chyba p\u0159i \u010Dten\xED tabulky ${tableName}:`, error);
2291
+ }
2292
+ }
2293
+ } else {
2294
+ console.log("Storage neimplementuje getTables()");
2295
+ }
2296
+ systemLog("debug", "=== KONEC STORAGE CONTENT ===");
2297
+ } catch (error) {
2298
+ console.error("Chyba p\u0159i loggingu storage obsahu:", error);
2299
+ }
2300
+ }
2271
2301
  // Annotate the CommonJS export names for ESM import in node:
2272
2302
  0 && (module.exports = {
2273
- COLOR_APP,
2274
- COLOR_AXIOS,
2275
- COLOR_BLUE,
2276
- COLOR_CONTEXT,
2277
- COLOR_CYAN,
2278
- COLOR_DS,
2279
- COLOR_ERROR,
2280
- COLOR_FUNCTION,
2281
- COLOR_GREEN,
2282
- COLOR_MAGENTA,
2283
- COLOR_ORANGE,
2284
- COLOR_PROVIDER,
2285
- COLOR_RED,
2286
- COLOR_RENDER,
2287
- COLOR_SCREEN,
2288
- COLOR_SOCKET,
2289
- COLOR_SOCKETS,
2290
- COLOR_WARNING,
2291
- COLOR_WHITE,
2292
- COLOR_YELLOW,
2293
2303
  DataStoreActionsContext,
2294
2304
  DataStoreContext,
2295
2305
  DataStoreDocumentsContext,
@@ -2303,6 +2313,7 @@ var COLOR_DS = COLOR_MAGENTA;
2303
2313
  filterDocumentsAsync,
2304
2314
  getValueByRules,
2305
2315
  isUuid,
2316
+ logStorageContent,
2306
2317
  recalculateObjectWithDocument,
2307
2318
  useDataProvider,
2308
2319
  useDataStore,