@mgarlik/datastore 0.1.17 → 0.1.19
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 +7 -83
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +7 -83
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1002,34 +1002,27 @@ var DataStoreProvider = (0, import_react.forwardRef)(
|
|
|
1002
1002
|
if (resolvedLocale) {
|
|
1003
1003
|
import_axios2.default.defaults.headers.common["Accept-Language"] = resolvedLocale;
|
|
1004
1004
|
}
|
|
1005
|
-
systemLog("dsp", "[INIT] Axios baseURL:", restServer);
|
|
1006
1005
|
async function checkServer() {
|
|
1007
1006
|
try {
|
|
1008
1007
|
const response = await import_axios2.default.head("/", {
|
|
1009
1008
|
timeout: 7e3,
|
|
1010
1009
|
validateStatus: () => true
|
|
1011
1010
|
});
|
|
1012
|
-
systemLog("dsp", "[INIT] Axios Success, status:", response.status);
|
|
1013
1011
|
} catch (e) {
|
|
1014
1012
|
if (import_axios2.default.isAxiosError(e)) {
|
|
1015
|
-
systemLog("dsp", "[INIT] Axios Error:", e.code ?? "UNKNOWN", e.message);
|
|
1016
1013
|
} else {
|
|
1017
|
-
systemLog("dsp", "[INIT] Axios Error:", String(e));
|
|
1018
1014
|
}
|
|
1019
1015
|
} finally {
|
|
1020
|
-
systemLog("dsp", "[INIT] Axios check done");
|
|
1021
1016
|
}
|
|
1022
1017
|
}
|
|
1023
1018
|
checkServer();
|
|
1024
1019
|
}, [locale, restServer]);
|
|
1025
1020
|
(0, import_react.useEffect)(() => {
|
|
1026
1021
|
if (usePersistentStorage && !storage) {
|
|
1027
|
-
systemLog("dsp", "[INIT] Persistence is enabled but no storage adapter was provided.");
|
|
1028
1022
|
}
|
|
1029
1023
|
}, [persistenceStorage, storage, usePersistentStorage]);
|
|
1030
1024
|
const socketRoomHandlersRef = (0, import_react.useRef)({});
|
|
1031
1025
|
const socketActionHandlersRef = (0, import_react.useRef)({});
|
|
1032
|
-
systemLog("dsp", "START");
|
|
1033
1026
|
const socket = (0, import_react.useMemo)(() => (0, import_socket.io)(socketServer?.url, socketServer?.params), [socketServer?.url, socketServer.params]);
|
|
1034
1027
|
const handleSocketConnect = (0, import_react.useCallback)(() => setIsLive(true), []);
|
|
1035
1028
|
const handleSocketDisconnect = (0, import_react.useCallback)(() => setIsLive(false), []);
|
|
@@ -1131,21 +1124,17 @@ var DataStoreProvider = (0, import_react.forwardRef)(
|
|
|
1131
1124
|
}
|
|
1132
1125
|
} finally {
|
|
1133
1126
|
setIsSynchronizing(false);
|
|
1134
|
-
systemLog("dsp", "[synchronizeDataStore] Hotovo:", stats);
|
|
1135
1127
|
}
|
|
1136
1128
|
}, [providers]);
|
|
1137
1129
|
(0, import_react.useEffect)(() => {
|
|
1138
1130
|
if (isLive) {
|
|
1139
|
-
systemLog("dsp", "useEffect[isLive] Sockets: ", JSON.stringify(sockets, null, 2));
|
|
1140
1131
|
const roomsToJoin = Object.entries(sockets).flatMap(
|
|
1141
1132
|
([roomName, socketItem]) => socketItem.filters.map(({ filter }) => ({ room: roomName, filter }))
|
|
1142
1133
|
);
|
|
1143
1134
|
console.log("Sokety pro p\u0159ipojen\xED:", roomsToJoin);
|
|
1144
|
-
systemLog("dsp", "useEffect[isLive] registruji", roomsToJoin);
|
|
1145
1135
|
if (roomsToJoin.length > 0) socket.emit("joinRooms", roomsToJoin);
|
|
1146
1136
|
if (!didInitialLiveSyncRef.current) {
|
|
1147
1137
|
didInitialLiveSyncRef.current = true;
|
|
1148
|
-
systemLog("dsp", "useEffect[isLive] Zacinam synchronizovat");
|
|
1149
1138
|
synchronizeDataStore();
|
|
1150
1139
|
}
|
|
1151
1140
|
} else {
|
|
@@ -1180,7 +1169,6 @@ var DataStoreProvider = (0, import_react.forwardRef)(
|
|
|
1180
1169
|
socket.connect();
|
|
1181
1170
|
}, [socket, socketServer?.params?.auth, getSocketAuthToken]);
|
|
1182
1171
|
const stopSockets = (0, import_react.useCallback)(() => {
|
|
1183
|
-
systemLog("dsp", "[DSP] ODPOJUJI LIVE SOCKETS");
|
|
1184
1172
|
socket.disconnect();
|
|
1185
1173
|
}, [socket]);
|
|
1186
1174
|
const resetDataStore = (0, import_react.useCallback)(async () => {
|
|
@@ -1216,7 +1204,6 @@ var DataStoreProvider = (0, import_react.forwardRef)(
|
|
|
1216
1204
|
[persistenceStorage, presetProviders, usePersistentStorage]
|
|
1217
1205
|
);
|
|
1218
1206
|
const dispatch = (0, import_react.useCallback)((action, data, callback) => {
|
|
1219
|
-
systemLog("dsp", "[DSP] DISPATCH Ukladam akci", action, ",", data);
|
|
1220
1207
|
setDispatcher((prev) => ({
|
|
1221
1208
|
isBussy: prev.isBussy,
|
|
1222
1209
|
actions: [...prev.actions, { action, data, callback }]
|
|
@@ -1243,7 +1230,6 @@ var DataStoreProvider = (0, import_react.forwardRef)(
|
|
|
1243
1230
|
async function processDispatcher() {
|
|
1244
1231
|
if (dispatcher.actions.length > 0) {
|
|
1245
1232
|
let result;
|
|
1246
|
-
systemLog("dsp", "[DSP] DISPATCHER Zpracovavam", dispatcher.actions[0].action);
|
|
1247
1233
|
const timeCode = uuid();
|
|
1248
1234
|
console.time(`Dispatcher ${dispatcher.actions[0].action} ${timeCode}`);
|
|
1249
1235
|
setDispatcher((prev) => ({ ...prev, isBussy: true }));
|
|
@@ -1299,10 +1285,8 @@ var DataStoreProvider = (0, import_react.forwardRef)(
|
|
|
1299
1285
|
documents: uDocuments,
|
|
1300
1286
|
mode = "update"
|
|
1301
1287
|
}) => {
|
|
1302
|
-
systemLog("dsp", "[DSP] updateDocuments updatuji model:", model, "Documents:", Object.keys(uDocuments).length);
|
|
1303
1288
|
const modelProvider = providers[model];
|
|
1304
1289
|
if (!modelProvider) {
|
|
1305
|
-
systemLog("dsp", "[DSP] updateDocuments - provider neexistuje:", model);
|
|
1306
1290
|
return;
|
|
1307
1291
|
}
|
|
1308
1292
|
let data = [...modelProvider.data || []];
|
|
@@ -1316,7 +1300,6 @@ var DataStoreProvider = (0, import_react.forwardRef)(
|
|
|
1316
1300
|
const { id, ...doc } = document;
|
|
1317
1301
|
switch (mode) {
|
|
1318
1302
|
case "replace":
|
|
1319
|
-
systemLog("dsp", "updateDocuments - replace", id);
|
|
1320
1303
|
newDocs[id] = doc;
|
|
1321
1304
|
if (doc._deleted) {
|
|
1322
1305
|
data = data.filter((d) => d !== id);
|
|
@@ -1330,17 +1313,14 @@ var DataStoreProvider = (0, import_react.forwardRef)(
|
|
|
1330
1313
|
case "update":
|
|
1331
1314
|
default:
|
|
1332
1315
|
if (!newDocs[id]) {
|
|
1333
|
-
systemLog("dsp", "updateDocuments - vytvarim", id);
|
|
1334
1316
|
data.push(id);
|
|
1335
1317
|
newDocs[id] = mergeWithNullDeletion(void 0, doc);
|
|
1336
1318
|
documentsToPersist.push({ id, data: newDocs[id] });
|
|
1337
1319
|
} else if (doc._deleted) {
|
|
1338
|
-
systemLog("dsp", "updateDocuments - mazu", id);
|
|
1339
1320
|
data = data.filter((d) => d !== id);
|
|
1340
1321
|
documentIdsToDelete.push(id);
|
|
1341
1322
|
delete newDocs[id];
|
|
1342
1323
|
} else {
|
|
1343
|
-
systemLog("dsp", "updateDocuments - updatuji", id);
|
|
1344
1324
|
newDocs[id] = mergeWithNullDeletion(newDocs[id], doc);
|
|
1345
1325
|
documentsToPersist.push({ id, data: newDocs[id] });
|
|
1346
1326
|
}
|
|
@@ -1407,15 +1387,11 @@ var DataStoreProvider = (0, import_react.forwardRef)(
|
|
|
1407
1387
|
);
|
|
1408
1388
|
const updateDocument = (0, import_react.useCallback)(
|
|
1409
1389
|
async ({ documentId, model, fields, data: pData }) => {
|
|
1410
|
-
systemLog("dsp", "[updateDocument]:", documentId, ", model:", model);
|
|
1411
1390
|
let data = pData;
|
|
1412
1391
|
if (typeof pData === "function") data = pData(documents[documentId]);
|
|
1413
1392
|
const dataWithDocumentId = data && typeof data === "object" && !Array.isArray(data) ? { ...data, id: data.id ?? documentId } : { id: documentId };
|
|
1414
1393
|
if (fields) {
|
|
1415
|
-
systemLog("dsp", "[updateDocument] Stahovani ", model, ", document: ", documentId, ", fields: ", fields);
|
|
1416
|
-
systemLog("dsp", "[updateDocument] Providers: ", Object.keys(providers));
|
|
1417
1394
|
const provider = presetProviders[model];
|
|
1418
|
-
systemLog("dsp", "[updateDocument]", provider);
|
|
1419
1395
|
let dP = renderJSONTemplate(presetProviders[model], buildDocumentTemplateParams(model, documentId));
|
|
1420
1396
|
if (dP) {
|
|
1421
1397
|
const dataFromSource = await getData({
|
|
@@ -1425,7 +1401,6 @@ var DataStoreProvider = (0, import_react.forwardRef)(
|
|
|
1425
1401
|
schema: dP.schema,
|
|
1426
1402
|
SQLite: persistenceStorage || void 0
|
|
1427
1403
|
});
|
|
1428
|
-
systemLog("dsp", "[updateDocument] DATA: ", dataFromSource);
|
|
1429
1404
|
data = dataFromSource;
|
|
1430
1405
|
}
|
|
1431
1406
|
}
|
|
@@ -1436,7 +1411,6 @@ var DataStoreProvider = (0, import_react.forwardRef)(
|
|
|
1436
1411
|
var isProvidersUpdated = false;
|
|
1437
1412
|
const rand = uuid();
|
|
1438
1413
|
setProviders((prev) => {
|
|
1439
|
-
systemLog("dsp", "[updateDocument] setProviders", rand);
|
|
1440
1414
|
console.time("[DSP UPDATE PROVIDERS INSIDE]");
|
|
1441
1415
|
var newProviders = { ...prev };
|
|
1442
1416
|
Object.keys(newProviders).forEach((key) => {
|
|
@@ -1449,7 +1423,6 @@ var DataStoreProvider = (0, import_react.forwardRef)(
|
|
|
1449
1423
|
if (socketListeners.length === 0) {
|
|
1450
1424
|
if (providerNext.data.includes(documentId)) {
|
|
1451
1425
|
if (!providerNext.dataSource?.filter || filterDocuments(documentForFilter, providerNext.dataSource?.filter)) {
|
|
1452
|
-
systemLog("dsp", "[updateDocument] - zustava v Provider bez Listeners:", key);
|
|
1453
1426
|
listeningProviders++;
|
|
1454
1427
|
providerNext.lastUpdate = {
|
|
1455
1428
|
id: uuid(),
|
|
@@ -1481,7 +1454,6 @@ var DataStoreProvider = (0, import_react.forwardRef)(
|
|
|
1481
1454
|
}
|
|
1482
1455
|
} else {
|
|
1483
1456
|
if (providerNext.data.includes(documentId)) {
|
|
1484
|
-
systemLog("dsp", "[updateDocument] - mazu:", key);
|
|
1485
1457
|
providerNext.data = providerNext.data.filter((item) => item !== documentId);
|
|
1486
1458
|
isProvidersUpdated = true;
|
|
1487
1459
|
providerNext.lastUpdate = {
|
|
@@ -1519,12 +1491,9 @@ var DataStoreProvider = (0, import_react.forwardRef)(
|
|
|
1519
1491
|
return prev2;
|
|
1520
1492
|
});
|
|
1521
1493
|
console.timeEnd("[DSP UPDATE DOCUMENTS OUTSIDE]");
|
|
1522
|
-
systemLog("dsp", "OUTSIDE", documentId);
|
|
1523
1494
|
return newProviders;
|
|
1524
1495
|
});
|
|
1525
|
-
systemLog("dsp", "updateDocument - meni se pocet naslouchajicich Provideru ?", isProvidersUpdated ? "true" : "false");
|
|
1526
1496
|
if (isProvidersUpdated) {
|
|
1527
|
-
systemLog("dsp", "updateDocument - menim counterDocuments pro", listeningProviders, "Providers");
|
|
1528
1497
|
setCounterDocuments((prev) => {
|
|
1529
1498
|
if (listeningProviders === 0) {
|
|
1530
1499
|
const newD = { ...prev };
|
|
@@ -1535,7 +1504,6 @@ var DataStoreProvider = (0, import_react.forwardRef)(
|
|
|
1535
1504
|
}
|
|
1536
1505
|
});
|
|
1537
1506
|
} else {
|
|
1538
|
-
systemLog("dsp", "updateDocument - nemenim counterDocuments. Dokument zustava v", listeningProviders, "Providers");
|
|
1539
1507
|
}
|
|
1540
1508
|
if (providers[model]?.isPersisting && persistenceStorage) {
|
|
1541
1509
|
if (listeningProviders > 0) {
|
|
@@ -1565,7 +1533,6 @@ var DataStoreProvider = (0, import_react.forwardRef)(
|
|
|
1565
1533
|
const updateDataStore = (0, import_react.useCallback)(
|
|
1566
1534
|
async ({ id, documentId, params, variant, data }) => {
|
|
1567
1535
|
if (!providers[id]) {
|
|
1568
|
-
systemLog("dsp", "[updateDataStore] Provider neexistuje:", id);
|
|
1569
1536
|
return;
|
|
1570
1537
|
}
|
|
1571
1538
|
if (!providers[id].dataSource?.uri && !providers[id].dataSource?.crud) {
|
|
@@ -1574,15 +1541,6 @@ var DataStoreProvider = (0, import_react.forwardRef)(
|
|
|
1574
1541
|
} else updateDocument({ documentId, model: id, data });
|
|
1575
1542
|
return true;
|
|
1576
1543
|
}
|
|
1577
|
-
systemLog(
|
|
1578
|
-
"dsp",
|
|
1579
|
-
"[updateDataStore] Posilam patchData: ",
|
|
1580
|
-
id,
|
|
1581
|
-
",\n params: ",
|
|
1582
|
-
JSON.stringify(params, null, 2),
|
|
1583
|
-
"\n data: ",
|
|
1584
|
-
JSON.stringify(data, null, 2)
|
|
1585
|
-
);
|
|
1586
1544
|
const result = await patchData({
|
|
1587
1545
|
dataSource: renderJSONTemplate(providers[id].dataSource, params),
|
|
1588
1546
|
variant,
|
|
@@ -1591,10 +1549,8 @@ var DataStoreProvider = (0, import_react.forwardRef)(
|
|
|
1591
1549
|
if (typeof result === "object") {
|
|
1592
1550
|
const { id: rDocumentId, ...document } = result;
|
|
1593
1551
|
if (!isLive) {
|
|
1594
|
-
systemLog("dsp", "[updateDataStore] UPDATE DATA STORE RESULT: ", result);
|
|
1595
1552
|
updateDocument({ documentId: rDocumentId, model: id, data: document });
|
|
1596
1553
|
} else {
|
|
1597
|
-
systemLog("dsp", "[updateDataStore] Updatuje Socket");
|
|
1598
1554
|
}
|
|
1599
1555
|
}
|
|
1600
1556
|
return result;
|
|
@@ -1656,13 +1612,10 @@ var DataStoreProvider = (0, import_react.forwardRef)(
|
|
|
1656
1612
|
const deleteDocument = (0, import_react.useCallback)(
|
|
1657
1613
|
async ({ documentId }) => {
|
|
1658
1614
|
console.log("Mazani dokumentu ", documentId);
|
|
1659
|
-
systemLog("dsp", `[deleteDocument] Mazu document ${documentId}}`);
|
|
1660
1615
|
await removePersistedDocument(documentId);
|
|
1661
1616
|
setDocuments((prev) => {
|
|
1662
1617
|
const newDocs = { ...prev };
|
|
1663
|
-
systemLog("dsp", "[deleteDocument] MAZU ", documentId, " z ", newDocs);
|
|
1664
1618
|
delete newDocs[documentId];
|
|
1665
|
-
systemLog("dsp", "[deleteDocument] NEW DOCS: ", newDocs);
|
|
1666
1619
|
return newDocs;
|
|
1667
1620
|
});
|
|
1668
1621
|
setCounterDocuments((prev) => {
|
|
@@ -1678,7 +1631,6 @@ var DataStoreProvider = (0, import_react.forwardRef)(
|
|
|
1678
1631
|
updatedDataObj[key].data = updatedDataObj[key].data.filter((element) => element !== documentId);
|
|
1679
1632
|
updatedDataObj[key].lastUpdate = { id: uuid(), time: /* @__PURE__ */ new Date() };
|
|
1680
1633
|
deletedCount += initialLength - updatedDataObj[key].data.length;
|
|
1681
|
-
if (initialLength - updatedDataObj[key].data.length > 0) systemLog("dsp", "[deleteDocument] Smazan zaznam...", deletedCount);
|
|
1682
1634
|
}
|
|
1683
1635
|
return updatedDataObj;
|
|
1684
1636
|
});
|
|
@@ -1688,7 +1640,6 @@ var DataStoreProvider = (0, import_react.forwardRef)(
|
|
|
1688
1640
|
const createProviderItem = (0, import_react.useCallback)(
|
|
1689
1641
|
async ({ id, data, variant }) => {
|
|
1690
1642
|
if (!providers[id]) {
|
|
1691
|
-
systemLog("dsp", "[createProviderItem] Provider neexistuje:", id);
|
|
1692
1643
|
return;
|
|
1693
1644
|
}
|
|
1694
1645
|
if (!providers[id].dataSource) {
|
|
@@ -1710,7 +1661,6 @@ var DataStoreProvider = (0, import_react.forwardRef)(
|
|
|
1710
1661
|
const deleteProviderItem = (0, import_react.useCallback)(
|
|
1711
1662
|
async ({ providerId, data, params }) => {
|
|
1712
1663
|
if (!providers[providerId]) {
|
|
1713
|
-
systemLog("dsp", "[deleteProviderItem] Provider neexistuje:", providerId);
|
|
1714
1664
|
return;
|
|
1715
1665
|
}
|
|
1716
1666
|
const response = await deleteData({
|
|
@@ -1726,7 +1676,6 @@ var DataStoreProvider = (0, import_react.forwardRef)(
|
|
|
1726
1676
|
(sockets2, filter) => {
|
|
1727
1677
|
if (!sockets2) return;
|
|
1728
1678
|
const normalizedFilter = filter ?? {};
|
|
1729
|
-
systemLog("dsp", "[registerProviderSockets]", sockets2, `filter: ${JSON.stringify(normalizedFilter)}`);
|
|
1730
1679
|
const d = Array.isArray(sockets2) ? sockets2 : [sockets2];
|
|
1731
1680
|
setSockets((prev) => {
|
|
1732
1681
|
const newS = { ...prev };
|
|
@@ -1735,14 +1684,9 @@ var DataStoreProvider = (0, import_react.forwardRef)(
|
|
|
1735
1684
|
const existingFilter = newS[item].filters.find((f) => (0, import_isEqual.default)(f.filter, normalizedFilter));
|
|
1736
1685
|
if (existingFilter) {
|
|
1737
1686
|
existingFilter.listeners++;
|
|
1738
|
-
systemLog("dsp", `[registerProviderSockets] Filter uz existuje, navysuji listeners na ${existingFilter.listeners}`);
|
|
1739
1687
|
} else {
|
|
1740
1688
|
newS[item].filters = [...newS[item].filters, { filter: normalizedFilter, listeners: 1 }];
|
|
1741
1689
|
socket.emit("joinRoom", { room: item, filter: normalizedFilter });
|
|
1742
|
-
systemLog(
|
|
1743
|
-
"dsp",
|
|
1744
|
-
`[registerProviderSockets] Novy filter, registruji room ${item} s filterem ${JSON.stringify(normalizedFilter)}`
|
|
1745
|
-
);
|
|
1746
1690
|
}
|
|
1747
1691
|
} else {
|
|
1748
1692
|
newS[item] = {
|
|
@@ -1750,7 +1694,6 @@ var DataStoreProvider = (0, import_react.forwardRef)(
|
|
|
1750
1694
|
data: []
|
|
1751
1695
|
};
|
|
1752
1696
|
socket.emit("joinRoom", { room: item, filter: normalizedFilter });
|
|
1753
|
-
systemLog("dsp", `[registerProviderSockets] Nova room ${item}, filter: ${JSON.stringify(normalizedFilter)}`);
|
|
1754
1697
|
}
|
|
1755
1698
|
});
|
|
1756
1699
|
return newS;
|
|
@@ -1761,12 +1704,6 @@ var DataStoreProvider = (0, import_react.forwardRef)(
|
|
|
1761
1704
|
const unregisterProviderSockets = (0, import_react.useCallback)(
|
|
1762
1705
|
(sockets2, filter) => {
|
|
1763
1706
|
const normalizedFilter = filter ?? {};
|
|
1764
|
-
systemLog(
|
|
1765
|
-
"dsp",
|
|
1766
|
-
"[unregisterProviderSockets] Mazu sockety",
|
|
1767
|
-
JSON.stringify(sockets2, null, 2),
|
|
1768
|
-
`filter: ${JSON.stringify(normalizedFilter)}`
|
|
1769
|
-
);
|
|
1770
1707
|
const d = Array.isArray(sockets2) ? sockets2 : [sockets2];
|
|
1771
1708
|
setSockets((prev) => {
|
|
1772
1709
|
const newS = { ...prev };
|
|
@@ -1778,18 +1715,12 @@ var DataStoreProvider = (0, import_react.forwardRef)(
|
|
|
1778
1715
|
if (existingFilter.listeners <= 1) {
|
|
1779
1716
|
newS[item].filters = newS[item].filters.filter((f) => !(0, import_isEqual.default)(f.filter, normalizedFilter));
|
|
1780
1717
|
socket.emit("leaveRoom", { room: item, filter: normalizedFilter });
|
|
1781
|
-
systemLog(
|
|
1782
|
-
"dsp",
|
|
1783
|
-
`[unregisterProviderSockets] Filter smazan, odhlaseni room ${item} s filterem ${JSON.stringify(normalizedFilter)}`
|
|
1784
|
-
);
|
|
1785
1718
|
} else {
|
|
1786
1719
|
existingFilter.listeners--;
|
|
1787
|
-
systemLog("dsp", `[unregisterProviderSockets] Filter listeners snizen na ${existingFilter.listeners}`);
|
|
1788
1720
|
}
|
|
1789
1721
|
if (newS[item].filters.length === 0) {
|
|
1790
1722
|
removeSocketListeners.push(item);
|
|
1791
1723
|
delete newS[item];
|
|
1792
|
-
systemLog("dsp", `[unregisterProviderSockets] Room ${item} uplne smazana`);
|
|
1793
1724
|
}
|
|
1794
1725
|
});
|
|
1795
1726
|
if (removeSocketListeners.length > 0) {
|
|
@@ -1802,14 +1733,12 @@ var DataStoreProvider = (0, import_react.forwardRef)(
|
|
|
1802
1733
|
);
|
|
1803
1734
|
const updateProviderListeners = (0, import_react.useCallback)(
|
|
1804
1735
|
async (id, val) => {
|
|
1805
|
-
systemLog("dsp", `[updateProviderListeners] provider:`, id, "menim o", val);
|
|
1806
1736
|
setCounterProviders((prev) => {
|
|
1807
1737
|
if (!prev[id]) return prev;
|
|
1808
1738
|
if (prev[id] + val > 0) {
|
|
1809
1739
|
return { ...prev, [id]: prev[id] + val };
|
|
1810
1740
|
}
|
|
1811
1741
|
setProviders((prevP) => {
|
|
1812
|
-
systemLog("dsp", "[DSP] UPDATE PROVIDER - mazu sockets ", id);
|
|
1813
1742
|
setSockets((prevS) => {
|
|
1814
1743
|
const newS = { ...prevS };
|
|
1815
1744
|
const removeSocketListeners = [];
|
|
@@ -1823,15 +1752,12 @@ var DataStoreProvider = (0, import_react.forwardRef)(
|
|
|
1823
1752
|
if (existingFilter.listeners + val <= 0) {
|
|
1824
1753
|
newS[socketName].filters = newS[socketName].filters.filter((f) => !(0, import_isEqual.default)(f.filter, normalizedFilter));
|
|
1825
1754
|
socket.emit("leaveRoom", { room: socketName, filter: normalizedFilter });
|
|
1826
|
-
systemLog("dsp", `[updateProviderListeners] Filter smazan pro room ${socketName}`);
|
|
1827
1755
|
} else {
|
|
1828
1756
|
existingFilter.listeners = existingFilter.listeners + val;
|
|
1829
|
-
systemLog("dsp", `[updateProviderListeners] Filter listeners snizen na ${existingFilter.listeners}`);
|
|
1830
1757
|
}
|
|
1831
1758
|
if (newS[socketName].filters.length === 0) {
|
|
1832
1759
|
removeSocketListeners.push(socketName);
|
|
1833
1760
|
delete newS[socketName];
|
|
1834
|
-
systemLog("dsp", `[updateProviderListeners] Room ${socketName} uplne smazana`);
|
|
1835
1761
|
}
|
|
1836
1762
|
});
|
|
1837
1763
|
if (removeSocketListeners.length > 0) {
|
|
@@ -1869,12 +1795,10 @@ var DataStoreProvider = (0, import_react.forwardRef)(
|
|
|
1869
1795
|
const registerProvider = (0, import_react.useCallback)(
|
|
1870
1796
|
async (newItem) => {
|
|
1871
1797
|
console.log("Registruji provider ", newItem.id, " se schema ", newItem.schema);
|
|
1872
|
-
systemLog("dsp", "[registerProvider]", newItem.id);
|
|
1873
1798
|
let result;
|
|
1874
1799
|
const { id, ...provider } = newItem;
|
|
1875
1800
|
if (providers[id]) {
|
|
1876
1801
|
setCounterProviders((prev) => {
|
|
1877
|
-
systemLog("dsp", "[registerProvider] Pouze navysuji ", id, " ", prev[id], " -> ", prev[id] + 1);
|
|
1878
1802
|
return {
|
|
1879
1803
|
...prev,
|
|
1880
1804
|
[id]: prev[id] + 1
|
|
@@ -1890,10 +1814,11 @@ var DataStoreProvider = (0, import_react.forwardRef)(
|
|
|
1890
1814
|
isPersisting: !!newItem.isPersisting && !!persistenceStorage,
|
|
1891
1815
|
SQLite: persistenceStorage || void 0
|
|
1892
1816
|
});
|
|
1893
|
-
console.
|
|
1817
|
+
console.error("[DataStoreProvider] registerProvider:dataFromSource ", { id: newItem.id, dataFromSource });
|
|
1894
1818
|
var dataList = [];
|
|
1895
1819
|
var items = {};
|
|
1896
1820
|
const dataS = Array.isArray(dataFromSource) ? dataFromSource : [dataFromSource];
|
|
1821
|
+
console.error("[DataStoreProvider] registerProvider:dataS ", { id: newItem.id, dataS });
|
|
1897
1822
|
dataS.forEach((item) => {
|
|
1898
1823
|
if (!item) return;
|
|
1899
1824
|
const { id: itId, ...data } = item;
|
|
@@ -1908,6 +1833,7 @@ var DataStoreProvider = (0, import_react.forwardRef)(
|
|
|
1908
1833
|
items[normalizedId] = data;
|
|
1909
1834
|
}
|
|
1910
1835
|
});
|
|
1836
|
+
console.error("[DataStoreProvider] registerProvider:dataList ", { id: newItem.id, dataList });
|
|
1911
1837
|
setCounterDocuments((prev) => {
|
|
1912
1838
|
const newC = { ...prev };
|
|
1913
1839
|
dataList.forEach((itemId) => {
|
|
@@ -1936,10 +1862,12 @@ var DataStoreProvider = (0, import_react.forwardRef)(
|
|
|
1936
1862
|
[id]: 1
|
|
1937
1863
|
}));
|
|
1938
1864
|
if (provider.dataSource?.socketListeners) {
|
|
1939
|
-
console.
|
|
1865
|
+
console.error("[DataStoreProvider] registerProvider:registering sockets ", {
|
|
1866
|
+
id: newItem.id,
|
|
1867
|
+
socketListeners: provider.dataSource.socketListeners
|
|
1868
|
+
});
|
|
1940
1869
|
registerProviderSockets(provider.dataSource.socketListeners, provider.dataSource.filter);
|
|
1941
1870
|
}
|
|
1942
|
-
console.timeEnd(`[DSP] VYTVARENI PROVIDERA ${id}`);
|
|
1943
1871
|
} catch (error) {
|
|
1944
1872
|
console.error("[DataStoreProvider] registerProvider:error", { id: newItem.id, error });
|
|
1945
1873
|
throw error;
|
|
@@ -1954,15 +1882,12 @@ var DataStoreProvider = (0, import_react.forwardRef)(
|
|
|
1954
1882
|
setCounterProviders((prev) => {
|
|
1955
1883
|
if (prev[itemId]) {
|
|
1956
1884
|
if (prev[itemId] > 1) {
|
|
1957
|
-
systemLog("dsp", "[unregisterProvider] snizuji ", itemId, "z ", prev[itemId], " na ", prev[itemId] - 1);
|
|
1958
1885
|
return {
|
|
1959
1886
|
...prev,
|
|
1960
1887
|
[itemId]: prev[itemId] - 1
|
|
1961
1888
|
};
|
|
1962
1889
|
} else {
|
|
1963
|
-
systemLog("dsp", "[unregisterProvider] mazu ", Object.keys(providers));
|
|
1964
1890
|
unregisterProviderSockets(providers[itemId]?.dataSource.socketListeners, providers[itemId]?.dataSource.filter);
|
|
1965
|
-
systemLog("dsp", "[unregisterProvider] Mazu dokumenty providera ", itemId);
|
|
1966
1891
|
setCounterDocuments((cd) => {
|
|
1967
1892
|
const newC = { ...cd };
|
|
1968
1893
|
const deleteDocumentIds = [];
|
|
@@ -2054,7 +1979,6 @@ var DataStoreProvider = (0, import_react.forwardRef)(
|
|
|
2054
1979
|
]
|
|
2055
1980
|
);
|
|
2056
1981
|
(0, import_react.useImperativeHandle)(ref, () => actionsValue, [actionsValue]);
|
|
2057
|
-
systemLog("dsp", "END");
|
|
2058
1982
|
return (
|
|
2059
1983
|
// <DatabaseProvider>
|
|
2060
1984
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(DataStoreStableContext.Provider, { value: stableValue, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DataStoreActionsContext.Provider, { value: actionsValue, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DataStoreProvidersContext.Provider, { value: providers, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DataStoreDocumentsContext.Provider, { value: documents, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DataStoreContext.Provider, { value: metaValue, children: props.children }) }) }) }) })
|