@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 +88 -77
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +11 -36
- package/dist/index.d.ts +11 -36
- package/dist/index.js +87 -57
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
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
|
-
|
|
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
|
-
|
|
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(
|
|
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(
|
|
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], ...
|
|
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]:
|
|
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], ...
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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/
|
|
2251
|
-
|
|
2252
|
-
|
|
2253
|
-
|
|
2254
|
-
|
|
2255
|
-
|
|
2256
|
-
|
|
2257
|
-
|
|
2258
|
-
|
|
2259
|
-
|
|
2260
|
-
|
|
2261
|
-
|
|
2262
|
-
|
|
2263
|
-
|
|
2264
|
-
|
|
2265
|
-
|
|
2266
|
-
|
|
2267
|
-
|
|
2268
|
-
|
|
2269
|
-
|
|
2270
|
-
|
|
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,
|