@mgarlik/datastore 0.1.16 → 0.1.18
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 -92
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +7 -92
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -635,8 +635,8 @@ var buildUri = ({
|
|
|
635
635
|
return dataSource.uri || `${dataSource.model || ""}/`;
|
|
636
636
|
};
|
|
637
637
|
var getData = async ({ id, dataSource, isPersisting, schema, SQLite, changeTime }) => {
|
|
638
|
-
if (dataSource)
|
|
639
|
-
else
|
|
638
|
+
if (dataSource) console.error("[axios] GET Data Source: ", buildUri({ dataSource, method: "read" }));
|
|
639
|
+
else console.error("axios No DataSource for ", id);
|
|
640
640
|
let persistedData = [];
|
|
641
641
|
var params = { ...dataSource?.params };
|
|
642
642
|
if (dataSource?.filter) params.filter = dataSource.filter;
|
|
@@ -652,7 +652,7 @@ var getData = async ({ id, dataSource, isPersisting, schema, SQLite, changeTime
|
|
|
652
652
|
if (changeTime) {
|
|
653
653
|
params.changeTime = changeTime;
|
|
654
654
|
} else if (isPersisting && SQLite) {
|
|
655
|
-
console.
|
|
655
|
+
console.error("[axios] Nacitani dat z SQLite pro ", id, " s parametrem changeTimeFrom: ", params.changeTimeFrom);
|
|
656
656
|
const qDatum = await SQLite.read(`SELECT * FROM documents WHERE model = '${id}' ORDER BY lastUpdate DESC`);
|
|
657
657
|
console.warn("[axios] SQLite.read Posledni datum update: ", qDatum[0]?.lastUpdate);
|
|
658
658
|
if (qDatum[0]?.lastUpdate) params.changeTimeFrom = qDatum[0].lastUpdate;
|
|
@@ -669,10 +669,9 @@ var getData = async ({ id, dataSource, isPersisting, schema, SQLite, changeTime
|
|
|
669
669
|
return null;
|
|
670
670
|
}
|
|
671
671
|
}).filter((item) => item !== null);
|
|
672
|
-
console.timeEnd("Persisted Data");
|
|
673
672
|
}
|
|
674
673
|
if (dataSource) {
|
|
675
|
-
console.
|
|
674
|
+
console.error("[axios] Stahuji data z ", buildUri({ dataSource, method: "read" }), " s parametry ", params);
|
|
676
675
|
const axiosResponse = await axios.get(buildUri({ dataSource, method: "read" }), { params: serializeParams(params) });
|
|
677
676
|
if (schema && !dataSource.readAllFields) {
|
|
678
677
|
const mapBySchema = (element) => {
|
|
@@ -710,7 +709,7 @@ var getData = async ({ id, dataSource, isPersisting, schema, SQLite, changeTime
|
|
|
710
709
|
newData = axiosResponse.data.data;
|
|
711
710
|
}
|
|
712
711
|
const dataCount = Array.isArray(newData) ? newData.length : "single";
|
|
713
|
-
console.
|
|
712
|
+
console.error(
|
|
714
713
|
`[axios](SERVER TIME: ${axiosResponse.data.queryTime}) Data:`,
|
|
715
714
|
dataCount,
|
|
716
715
|
"items, Size:",
|
|
@@ -723,7 +722,6 @@ var getData = async ({ id, dataSource, isPersisting, schema, SQLite, changeTime
|
|
|
723
722
|
}
|
|
724
723
|
}
|
|
725
724
|
if (Array.isArray(newData)) {
|
|
726
|
-
console.time("Maping");
|
|
727
725
|
const map = /* @__PURE__ */ new Map();
|
|
728
726
|
persistedData.forEach((item) => map.set(item.id, item));
|
|
729
727
|
newData.forEach((item) => map.set(item.id, item));
|
|
@@ -732,17 +730,14 @@ var getData = async ({ id, dataSource, isPersisting, schema, SQLite, changeTime
|
|
|
732
730
|
"axios",
|
|
733
731
|
`getData - Polozky ${id} persisted: ${persistedData.length}, newData: ${newData.length}, vysledek: ${updatedArray.length}`
|
|
734
732
|
);
|
|
735
|
-
console.
|
|
736
|
-
console.log("================== NEW DATA");
|
|
737
|
-
console.log(newData);
|
|
733
|
+
console.error("[axios] NEW DATA: ", newData);
|
|
738
734
|
return updatedArray;
|
|
739
735
|
} else {
|
|
740
736
|
return newData || [];
|
|
741
737
|
}
|
|
742
738
|
} catch (e) {
|
|
743
739
|
const msg = e instanceof Error ? e.message : String(e);
|
|
744
|
-
console.
|
|
745
|
-
console.error(`[AXIOS] CHYBABA PRI NACITANI DAT Z:`, JSON.stringify(dataSource, null, 2), "\nChyba:", msg);
|
|
740
|
+
console.error(`[AXIOS] CHYBACA PRI NACITANI DAT Z:`, JSON.stringify(dataSource, null, 2), "\nChyba:", msg);
|
|
746
741
|
throw e;
|
|
747
742
|
}
|
|
748
743
|
};
|
|
@@ -937,34 +932,27 @@ var DataStoreProvider = forwardRef(
|
|
|
937
932
|
if (resolvedLocale) {
|
|
938
933
|
axios2.defaults.headers.common["Accept-Language"] = resolvedLocale;
|
|
939
934
|
}
|
|
940
|
-
systemLog("dsp", "[INIT] Axios baseURL:", restServer);
|
|
941
935
|
async function checkServer() {
|
|
942
936
|
try {
|
|
943
937
|
const response = await axios2.head("/", {
|
|
944
938
|
timeout: 7e3,
|
|
945
939
|
validateStatus: () => true
|
|
946
940
|
});
|
|
947
|
-
systemLog("dsp", "[INIT] Axios Success, status:", response.status);
|
|
948
941
|
} catch (e) {
|
|
949
942
|
if (axios2.isAxiosError(e)) {
|
|
950
|
-
systemLog("dsp", "[INIT] Axios Error:", e.code ?? "UNKNOWN", e.message);
|
|
951
943
|
} else {
|
|
952
|
-
systemLog("dsp", "[INIT] Axios Error:", String(e));
|
|
953
944
|
}
|
|
954
945
|
} finally {
|
|
955
|
-
systemLog("dsp", "[INIT] Axios check done");
|
|
956
946
|
}
|
|
957
947
|
}
|
|
958
948
|
checkServer();
|
|
959
949
|
}, [locale, restServer]);
|
|
960
950
|
useEffect(() => {
|
|
961
951
|
if (usePersistentStorage && !storage) {
|
|
962
|
-
systemLog("dsp", "[INIT] Persistence is enabled but no storage adapter was provided.");
|
|
963
952
|
}
|
|
964
953
|
}, [persistenceStorage, storage, usePersistentStorage]);
|
|
965
954
|
const socketRoomHandlersRef = useRef({});
|
|
966
955
|
const socketActionHandlersRef = useRef({});
|
|
967
|
-
systemLog("dsp", "START");
|
|
968
956
|
const socket = useMemo(() => ioSockets(socketServer?.url, socketServer?.params), [socketServer?.url, socketServer.params]);
|
|
969
957
|
const handleSocketConnect = useCallback(() => setIsLive(true), []);
|
|
970
958
|
const handleSocketDisconnect = useCallback(() => setIsLive(false), []);
|
|
@@ -1066,21 +1054,17 @@ var DataStoreProvider = forwardRef(
|
|
|
1066
1054
|
}
|
|
1067
1055
|
} finally {
|
|
1068
1056
|
setIsSynchronizing(false);
|
|
1069
|
-
systemLog("dsp", "[synchronizeDataStore] Hotovo:", stats);
|
|
1070
1057
|
}
|
|
1071
1058
|
}, [providers]);
|
|
1072
1059
|
useEffect(() => {
|
|
1073
1060
|
if (isLive) {
|
|
1074
|
-
systemLog("dsp", "useEffect[isLive] Sockets: ", JSON.stringify(sockets, null, 2));
|
|
1075
1061
|
const roomsToJoin = Object.entries(sockets).flatMap(
|
|
1076
1062
|
([roomName, socketItem]) => socketItem.filters.map(({ filter }) => ({ room: roomName, filter }))
|
|
1077
1063
|
);
|
|
1078
1064
|
console.log("Sokety pro p\u0159ipojen\xED:", roomsToJoin);
|
|
1079
|
-
systemLog("dsp", "useEffect[isLive] registruji", roomsToJoin);
|
|
1080
1065
|
if (roomsToJoin.length > 0) socket.emit("joinRooms", roomsToJoin);
|
|
1081
1066
|
if (!didInitialLiveSyncRef.current) {
|
|
1082
1067
|
didInitialLiveSyncRef.current = true;
|
|
1083
|
-
systemLog("dsp", "useEffect[isLive] Zacinam synchronizovat");
|
|
1084
1068
|
synchronizeDataStore();
|
|
1085
1069
|
}
|
|
1086
1070
|
} else {
|
|
@@ -1115,7 +1099,6 @@ var DataStoreProvider = forwardRef(
|
|
|
1115
1099
|
socket.connect();
|
|
1116
1100
|
}, [socket, socketServer?.params?.auth, getSocketAuthToken]);
|
|
1117
1101
|
const stopSockets = useCallback(() => {
|
|
1118
|
-
systemLog("dsp", "[DSP] ODPOJUJI LIVE SOCKETS");
|
|
1119
1102
|
socket.disconnect();
|
|
1120
1103
|
}, [socket]);
|
|
1121
1104
|
const resetDataStore = useCallback(async () => {
|
|
@@ -1151,7 +1134,6 @@ var DataStoreProvider = forwardRef(
|
|
|
1151
1134
|
[persistenceStorage, presetProviders, usePersistentStorage]
|
|
1152
1135
|
);
|
|
1153
1136
|
const dispatch = useCallback((action, data, callback) => {
|
|
1154
|
-
systemLog("dsp", "[DSP] DISPATCH Ukladam akci", action, ",", data);
|
|
1155
1137
|
setDispatcher((prev) => ({
|
|
1156
1138
|
isBussy: prev.isBussy,
|
|
1157
1139
|
actions: [...prev.actions, { action, data, callback }]
|
|
@@ -1178,7 +1160,6 @@ var DataStoreProvider = forwardRef(
|
|
|
1178
1160
|
async function processDispatcher() {
|
|
1179
1161
|
if (dispatcher.actions.length > 0) {
|
|
1180
1162
|
let result;
|
|
1181
|
-
systemLog("dsp", "[DSP] DISPATCHER Zpracovavam", dispatcher.actions[0].action);
|
|
1182
1163
|
const timeCode = uuid();
|
|
1183
1164
|
console.time(`Dispatcher ${dispatcher.actions[0].action} ${timeCode}`);
|
|
1184
1165
|
setDispatcher((prev) => ({ ...prev, isBussy: true }));
|
|
@@ -1234,10 +1215,8 @@ var DataStoreProvider = forwardRef(
|
|
|
1234
1215
|
documents: uDocuments,
|
|
1235
1216
|
mode = "update"
|
|
1236
1217
|
}) => {
|
|
1237
|
-
systemLog("dsp", "[DSP] updateDocuments updatuji model:", model, "Documents:", Object.keys(uDocuments).length);
|
|
1238
1218
|
const modelProvider = providers[model];
|
|
1239
1219
|
if (!modelProvider) {
|
|
1240
|
-
systemLog("dsp", "[DSP] updateDocuments - provider neexistuje:", model);
|
|
1241
1220
|
return;
|
|
1242
1221
|
}
|
|
1243
1222
|
let data = [...modelProvider.data || []];
|
|
@@ -1251,7 +1230,6 @@ var DataStoreProvider = forwardRef(
|
|
|
1251
1230
|
const { id, ...doc } = document;
|
|
1252
1231
|
switch (mode) {
|
|
1253
1232
|
case "replace":
|
|
1254
|
-
systemLog("dsp", "updateDocuments - replace", id);
|
|
1255
1233
|
newDocs[id] = doc;
|
|
1256
1234
|
if (doc._deleted) {
|
|
1257
1235
|
data = data.filter((d) => d !== id);
|
|
@@ -1265,17 +1243,14 @@ var DataStoreProvider = forwardRef(
|
|
|
1265
1243
|
case "update":
|
|
1266
1244
|
default:
|
|
1267
1245
|
if (!newDocs[id]) {
|
|
1268
|
-
systemLog("dsp", "updateDocuments - vytvarim", id);
|
|
1269
1246
|
data.push(id);
|
|
1270
1247
|
newDocs[id] = mergeWithNullDeletion(void 0, doc);
|
|
1271
1248
|
documentsToPersist.push({ id, data: newDocs[id] });
|
|
1272
1249
|
} else if (doc._deleted) {
|
|
1273
|
-
systemLog("dsp", "updateDocuments - mazu", id);
|
|
1274
1250
|
data = data.filter((d) => d !== id);
|
|
1275
1251
|
documentIdsToDelete.push(id);
|
|
1276
1252
|
delete newDocs[id];
|
|
1277
1253
|
} else {
|
|
1278
|
-
systemLog("dsp", "updateDocuments - updatuji", id);
|
|
1279
1254
|
newDocs[id] = mergeWithNullDeletion(newDocs[id], doc);
|
|
1280
1255
|
documentsToPersist.push({ id, data: newDocs[id] });
|
|
1281
1256
|
}
|
|
@@ -1342,15 +1317,11 @@ var DataStoreProvider = forwardRef(
|
|
|
1342
1317
|
);
|
|
1343
1318
|
const updateDocument = useCallback(
|
|
1344
1319
|
async ({ documentId, model, fields, data: pData }) => {
|
|
1345
|
-
systemLog("dsp", "[updateDocument]:", documentId, ", model:", model);
|
|
1346
1320
|
let data = pData;
|
|
1347
1321
|
if (typeof pData === "function") data = pData(documents[documentId]);
|
|
1348
1322
|
const dataWithDocumentId = data && typeof data === "object" && !Array.isArray(data) ? { ...data, id: data.id ?? documentId } : { id: documentId };
|
|
1349
1323
|
if (fields) {
|
|
1350
|
-
systemLog("dsp", "[updateDocument] Stahovani ", model, ", document: ", documentId, ", fields: ", fields);
|
|
1351
|
-
systemLog("dsp", "[updateDocument] Providers: ", Object.keys(providers));
|
|
1352
1324
|
const provider = presetProviders[model];
|
|
1353
|
-
systemLog("dsp", "[updateDocument]", provider);
|
|
1354
1325
|
let dP = renderJSONTemplate(presetProviders[model], buildDocumentTemplateParams(model, documentId));
|
|
1355
1326
|
if (dP) {
|
|
1356
1327
|
const dataFromSource = await getData({
|
|
@@ -1360,7 +1331,6 @@ var DataStoreProvider = forwardRef(
|
|
|
1360
1331
|
schema: dP.schema,
|
|
1361
1332
|
SQLite: persistenceStorage || void 0
|
|
1362
1333
|
});
|
|
1363
|
-
systemLog("dsp", "[updateDocument] DATA: ", dataFromSource);
|
|
1364
1334
|
data = dataFromSource;
|
|
1365
1335
|
}
|
|
1366
1336
|
}
|
|
@@ -1371,7 +1341,6 @@ var DataStoreProvider = forwardRef(
|
|
|
1371
1341
|
var isProvidersUpdated = false;
|
|
1372
1342
|
const rand = uuid();
|
|
1373
1343
|
setProviders((prev) => {
|
|
1374
|
-
systemLog("dsp", "[updateDocument] setProviders", rand);
|
|
1375
1344
|
console.time("[DSP UPDATE PROVIDERS INSIDE]");
|
|
1376
1345
|
var newProviders = { ...prev };
|
|
1377
1346
|
Object.keys(newProviders).forEach((key) => {
|
|
@@ -1384,7 +1353,6 @@ var DataStoreProvider = forwardRef(
|
|
|
1384
1353
|
if (socketListeners.length === 0) {
|
|
1385
1354
|
if (providerNext.data.includes(documentId)) {
|
|
1386
1355
|
if (!providerNext.dataSource?.filter || filterDocuments(documentForFilter, providerNext.dataSource?.filter)) {
|
|
1387
|
-
systemLog("dsp", "[updateDocument] - zustava v Provider bez Listeners:", key);
|
|
1388
1356
|
listeningProviders++;
|
|
1389
1357
|
providerNext.lastUpdate = {
|
|
1390
1358
|
id: uuid(),
|
|
@@ -1416,7 +1384,6 @@ var DataStoreProvider = forwardRef(
|
|
|
1416
1384
|
}
|
|
1417
1385
|
} else {
|
|
1418
1386
|
if (providerNext.data.includes(documentId)) {
|
|
1419
|
-
systemLog("dsp", "[updateDocument] - mazu:", key);
|
|
1420
1387
|
providerNext.data = providerNext.data.filter((item) => item !== documentId);
|
|
1421
1388
|
isProvidersUpdated = true;
|
|
1422
1389
|
providerNext.lastUpdate = {
|
|
@@ -1454,12 +1421,9 @@ var DataStoreProvider = forwardRef(
|
|
|
1454
1421
|
return prev2;
|
|
1455
1422
|
});
|
|
1456
1423
|
console.timeEnd("[DSP UPDATE DOCUMENTS OUTSIDE]");
|
|
1457
|
-
systemLog("dsp", "OUTSIDE", documentId);
|
|
1458
1424
|
return newProviders;
|
|
1459
1425
|
});
|
|
1460
|
-
systemLog("dsp", "updateDocument - meni se pocet naslouchajicich Provideru ?", isProvidersUpdated ? "true" : "false");
|
|
1461
1426
|
if (isProvidersUpdated) {
|
|
1462
|
-
systemLog("dsp", "updateDocument - menim counterDocuments pro", listeningProviders, "Providers");
|
|
1463
1427
|
setCounterDocuments((prev) => {
|
|
1464
1428
|
if (listeningProviders === 0) {
|
|
1465
1429
|
const newD = { ...prev };
|
|
@@ -1470,7 +1434,6 @@ var DataStoreProvider = forwardRef(
|
|
|
1470
1434
|
}
|
|
1471
1435
|
});
|
|
1472
1436
|
} else {
|
|
1473
|
-
systemLog("dsp", "updateDocument - nemenim counterDocuments. Dokument zustava v", listeningProviders, "Providers");
|
|
1474
1437
|
}
|
|
1475
1438
|
if (providers[model]?.isPersisting && persistenceStorage) {
|
|
1476
1439
|
if (listeningProviders > 0) {
|
|
@@ -1500,7 +1463,6 @@ var DataStoreProvider = forwardRef(
|
|
|
1500
1463
|
const updateDataStore = useCallback(
|
|
1501
1464
|
async ({ id, documentId, params, variant, data }) => {
|
|
1502
1465
|
if (!providers[id]) {
|
|
1503
|
-
systemLog("dsp", "[updateDataStore] Provider neexistuje:", id);
|
|
1504
1466
|
return;
|
|
1505
1467
|
}
|
|
1506
1468
|
if (!providers[id].dataSource?.uri && !providers[id].dataSource?.crud) {
|
|
@@ -1509,15 +1471,6 @@ var DataStoreProvider = forwardRef(
|
|
|
1509
1471
|
} else updateDocument({ documentId, model: id, data });
|
|
1510
1472
|
return true;
|
|
1511
1473
|
}
|
|
1512
|
-
systemLog(
|
|
1513
|
-
"dsp",
|
|
1514
|
-
"[updateDataStore] Posilam patchData: ",
|
|
1515
|
-
id,
|
|
1516
|
-
",\n params: ",
|
|
1517
|
-
JSON.stringify(params, null, 2),
|
|
1518
|
-
"\n data: ",
|
|
1519
|
-
JSON.stringify(data, null, 2)
|
|
1520
|
-
);
|
|
1521
1474
|
const result = await patchData({
|
|
1522
1475
|
dataSource: renderJSONTemplate(providers[id].dataSource, params),
|
|
1523
1476
|
variant,
|
|
@@ -1526,10 +1479,8 @@ var DataStoreProvider = forwardRef(
|
|
|
1526
1479
|
if (typeof result === "object") {
|
|
1527
1480
|
const { id: rDocumentId, ...document } = result;
|
|
1528
1481
|
if (!isLive) {
|
|
1529
|
-
systemLog("dsp", "[updateDataStore] UPDATE DATA STORE RESULT: ", result);
|
|
1530
1482
|
updateDocument({ documentId: rDocumentId, model: id, data: document });
|
|
1531
1483
|
} else {
|
|
1532
|
-
systemLog("dsp", "[updateDataStore] Updatuje Socket");
|
|
1533
1484
|
}
|
|
1534
1485
|
}
|
|
1535
1486
|
return result;
|
|
@@ -1591,13 +1542,10 @@ var DataStoreProvider = forwardRef(
|
|
|
1591
1542
|
const deleteDocument = useCallback(
|
|
1592
1543
|
async ({ documentId }) => {
|
|
1593
1544
|
console.log("Mazani dokumentu ", documentId);
|
|
1594
|
-
systemLog("dsp", `[deleteDocument] Mazu document ${documentId}}`);
|
|
1595
1545
|
await removePersistedDocument(documentId);
|
|
1596
1546
|
setDocuments((prev) => {
|
|
1597
1547
|
const newDocs = { ...prev };
|
|
1598
|
-
systemLog("dsp", "[deleteDocument] MAZU ", documentId, " z ", newDocs);
|
|
1599
1548
|
delete newDocs[documentId];
|
|
1600
|
-
systemLog("dsp", "[deleteDocument] NEW DOCS: ", newDocs);
|
|
1601
1549
|
return newDocs;
|
|
1602
1550
|
});
|
|
1603
1551
|
setCounterDocuments((prev) => {
|
|
@@ -1613,7 +1561,6 @@ var DataStoreProvider = forwardRef(
|
|
|
1613
1561
|
updatedDataObj[key].data = updatedDataObj[key].data.filter((element) => element !== documentId);
|
|
1614
1562
|
updatedDataObj[key].lastUpdate = { id: uuid(), time: /* @__PURE__ */ new Date() };
|
|
1615
1563
|
deletedCount += initialLength - updatedDataObj[key].data.length;
|
|
1616
|
-
if (initialLength - updatedDataObj[key].data.length > 0) systemLog("dsp", "[deleteDocument] Smazan zaznam...", deletedCount);
|
|
1617
1564
|
}
|
|
1618
1565
|
return updatedDataObj;
|
|
1619
1566
|
});
|
|
@@ -1623,7 +1570,6 @@ var DataStoreProvider = forwardRef(
|
|
|
1623
1570
|
const createProviderItem = useCallback(
|
|
1624
1571
|
async ({ id, data, variant }) => {
|
|
1625
1572
|
if (!providers[id]) {
|
|
1626
|
-
systemLog("dsp", "[createProviderItem] Provider neexistuje:", id);
|
|
1627
1573
|
return;
|
|
1628
1574
|
}
|
|
1629
1575
|
if (!providers[id].dataSource) {
|
|
@@ -1645,7 +1591,6 @@ var DataStoreProvider = forwardRef(
|
|
|
1645
1591
|
const deleteProviderItem = useCallback(
|
|
1646
1592
|
async ({ providerId, data, params }) => {
|
|
1647
1593
|
if (!providers[providerId]) {
|
|
1648
|
-
systemLog("dsp", "[deleteProviderItem] Provider neexistuje:", providerId);
|
|
1649
1594
|
return;
|
|
1650
1595
|
}
|
|
1651
1596
|
const response = await deleteData({
|
|
@@ -1661,7 +1606,6 @@ var DataStoreProvider = forwardRef(
|
|
|
1661
1606
|
(sockets2, filter) => {
|
|
1662
1607
|
if (!sockets2) return;
|
|
1663
1608
|
const normalizedFilter = filter ?? {};
|
|
1664
|
-
systemLog("dsp", "[registerProviderSockets]", sockets2, `filter: ${JSON.stringify(normalizedFilter)}`);
|
|
1665
1609
|
const d = Array.isArray(sockets2) ? sockets2 : [sockets2];
|
|
1666
1610
|
setSockets((prev) => {
|
|
1667
1611
|
const newS = { ...prev };
|
|
@@ -1670,14 +1614,9 @@ var DataStoreProvider = forwardRef(
|
|
|
1670
1614
|
const existingFilter = newS[item].filters.find((f) => isEqual(f.filter, normalizedFilter));
|
|
1671
1615
|
if (existingFilter) {
|
|
1672
1616
|
existingFilter.listeners++;
|
|
1673
|
-
systemLog("dsp", `[registerProviderSockets] Filter uz existuje, navysuji listeners na ${existingFilter.listeners}`);
|
|
1674
1617
|
} else {
|
|
1675
1618
|
newS[item].filters = [...newS[item].filters, { filter: normalizedFilter, listeners: 1 }];
|
|
1676
1619
|
socket.emit("joinRoom", { room: item, filter: normalizedFilter });
|
|
1677
|
-
systemLog(
|
|
1678
|
-
"dsp",
|
|
1679
|
-
`[registerProviderSockets] Novy filter, registruji room ${item} s filterem ${JSON.stringify(normalizedFilter)}`
|
|
1680
|
-
);
|
|
1681
1620
|
}
|
|
1682
1621
|
} else {
|
|
1683
1622
|
newS[item] = {
|
|
@@ -1685,7 +1624,6 @@ var DataStoreProvider = forwardRef(
|
|
|
1685
1624
|
data: []
|
|
1686
1625
|
};
|
|
1687
1626
|
socket.emit("joinRoom", { room: item, filter: normalizedFilter });
|
|
1688
|
-
systemLog("dsp", `[registerProviderSockets] Nova room ${item}, filter: ${JSON.stringify(normalizedFilter)}`);
|
|
1689
1627
|
}
|
|
1690
1628
|
});
|
|
1691
1629
|
return newS;
|
|
@@ -1696,12 +1634,6 @@ var DataStoreProvider = forwardRef(
|
|
|
1696
1634
|
const unregisterProviderSockets = useCallback(
|
|
1697
1635
|
(sockets2, filter) => {
|
|
1698
1636
|
const normalizedFilter = filter ?? {};
|
|
1699
|
-
systemLog(
|
|
1700
|
-
"dsp",
|
|
1701
|
-
"[unregisterProviderSockets] Mazu sockety",
|
|
1702
|
-
JSON.stringify(sockets2, null, 2),
|
|
1703
|
-
`filter: ${JSON.stringify(normalizedFilter)}`
|
|
1704
|
-
);
|
|
1705
1637
|
const d = Array.isArray(sockets2) ? sockets2 : [sockets2];
|
|
1706
1638
|
setSockets((prev) => {
|
|
1707
1639
|
const newS = { ...prev };
|
|
@@ -1713,18 +1645,12 @@ var DataStoreProvider = forwardRef(
|
|
|
1713
1645
|
if (existingFilter.listeners <= 1) {
|
|
1714
1646
|
newS[item].filters = newS[item].filters.filter((f) => !isEqual(f.filter, normalizedFilter));
|
|
1715
1647
|
socket.emit("leaveRoom", { room: item, filter: normalizedFilter });
|
|
1716
|
-
systemLog(
|
|
1717
|
-
"dsp",
|
|
1718
|
-
`[unregisterProviderSockets] Filter smazan, odhlaseni room ${item} s filterem ${JSON.stringify(normalizedFilter)}`
|
|
1719
|
-
);
|
|
1720
1648
|
} else {
|
|
1721
1649
|
existingFilter.listeners--;
|
|
1722
|
-
systemLog("dsp", `[unregisterProviderSockets] Filter listeners snizen na ${existingFilter.listeners}`);
|
|
1723
1650
|
}
|
|
1724
1651
|
if (newS[item].filters.length === 0) {
|
|
1725
1652
|
removeSocketListeners.push(item);
|
|
1726
1653
|
delete newS[item];
|
|
1727
|
-
systemLog("dsp", `[unregisterProviderSockets] Room ${item} uplne smazana`);
|
|
1728
1654
|
}
|
|
1729
1655
|
});
|
|
1730
1656
|
if (removeSocketListeners.length > 0) {
|
|
@@ -1737,14 +1663,12 @@ var DataStoreProvider = forwardRef(
|
|
|
1737
1663
|
);
|
|
1738
1664
|
const updateProviderListeners = useCallback(
|
|
1739
1665
|
async (id, val) => {
|
|
1740
|
-
systemLog("dsp", `[updateProviderListeners] provider:`, id, "menim o", val);
|
|
1741
1666
|
setCounterProviders((prev) => {
|
|
1742
1667
|
if (!prev[id]) return prev;
|
|
1743
1668
|
if (prev[id] + val > 0) {
|
|
1744
1669
|
return { ...prev, [id]: prev[id] + val };
|
|
1745
1670
|
}
|
|
1746
1671
|
setProviders((prevP) => {
|
|
1747
|
-
systemLog("dsp", "[DSP] UPDATE PROVIDER - mazu sockets ", id);
|
|
1748
1672
|
setSockets((prevS) => {
|
|
1749
1673
|
const newS = { ...prevS };
|
|
1750
1674
|
const removeSocketListeners = [];
|
|
@@ -1758,15 +1682,12 @@ var DataStoreProvider = forwardRef(
|
|
|
1758
1682
|
if (existingFilter.listeners + val <= 0) {
|
|
1759
1683
|
newS[socketName].filters = newS[socketName].filters.filter((f) => !isEqual(f.filter, normalizedFilter));
|
|
1760
1684
|
socket.emit("leaveRoom", { room: socketName, filter: normalizedFilter });
|
|
1761
|
-
systemLog("dsp", `[updateProviderListeners] Filter smazan pro room ${socketName}`);
|
|
1762
1685
|
} else {
|
|
1763
1686
|
existingFilter.listeners = existingFilter.listeners + val;
|
|
1764
|
-
systemLog("dsp", `[updateProviderListeners] Filter listeners snizen na ${existingFilter.listeners}`);
|
|
1765
1687
|
}
|
|
1766
1688
|
if (newS[socketName].filters.length === 0) {
|
|
1767
1689
|
removeSocketListeners.push(socketName);
|
|
1768
1690
|
delete newS[socketName];
|
|
1769
|
-
systemLog("dsp", `[updateProviderListeners] Room ${socketName} uplne smazana`);
|
|
1770
1691
|
}
|
|
1771
1692
|
});
|
|
1772
1693
|
if (removeSocketListeners.length > 0) {
|
|
@@ -1804,12 +1725,10 @@ var DataStoreProvider = forwardRef(
|
|
|
1804
1725
|
const registerProvider = useCallback(
|
|
1805
1726
|
async (newItem) => {
|
|
1806
1727
|
console.log("Registruji provider ", newItem.id, " se schema ", newItem.schema);
|
|
1807
|
-
systemLog("dsp", "[registerProvider]", newItem.id);
|
|
1808
1728
|
let result;
|
|
1809
1729
|
const { id, ...provider } = newItem;
|
|
1810
1730
|
if (providers[id]) {
|
|
1811
1731
|
setCounterProviders((prev) => {
|
|
1812
|
-
systemLog("dsp", "[registerProvider] Pouze navysuji ", id, " ", prev[id], " -> ", prev[id] + 1);
|
|
1813
1732
|
return {
|
|
1814
1733
|
...prev,
|
|
1815
1734
|
[id]: prev[id] + 1
|
|
@@ -1889,15 +1808,12 @@ var DataStoreProvider = forwardRef(
|
|
|
1889
1808
|
setCounterProviders((prev) => {
|
|
1890
1809
|
if (prev[itemId]) {
|
|
1891
1810
|
if (prev[itemId] > 1) {
|
|
1892
|
-
systemLog("dsp", "[unregisterProvider] snizuji ", itemId, "z ", prev[itemId], " na ", prev[itemId] - 1);
|
|
1893
1811
|
return {
|
|
1894
1812
|
...prev,
|
|
1895
1813
|
[itemId]: prev[itemId] - 1
|
|
1896
1814
|
};
|
|
1897
1815
|
} else {
|
|
1898
|
-
systemLog("dsp", "[unregisterProvider] mazu ", Object.keys(providers));
|
|
1899
1816
|
unregisterProviderSockets(providers[itemId]?.dataSource.socketListeners, providers[itemId]?.dataSource.filter);
|
|
1900
|
-
systemLog("dsp", "[unregisterProvider] Mazu dokumenty providera ", itemId);
|
|
1901
1817
|
setCounterDocuments((cd) => {
|
|
1902
1818
|
const newC = { ...cd };
|
|
1903
1819
|
const deleteDocumentIds = [];
|
|
@@ -1989,7 +1905,6 @@ var DataStoreProvider = forwardRef(
|
|
|
1989
1905
|
]
|
|
1990
1906
|
);
|
|
1991
1907
|
useImperativeHandle(ref, () => actionsValue, [actionsValue]);
|
|
1992
|
-
systemLog("dsp", "END");
|
|
1993
1908
|
return (
|
|
1994
1909
|
// <DatabaseProvider>
|
|
1995
1910
|
/* @__PURE__ */ jsx(DataStoreStableContext.Provider, { value: stableValue, children: /* @__PURE__ */ jsx(DataStoreActionsContext.Provider, { value: actionsValue, children: /* @__PURE__ */ jsx(DataStoreProvidersContext.Provider, { value: providers, children: /* @__PURE__ */ jsx(DataStoreDocumentsContext.Provider, { value: documents, children: /* @__PURE__ */ jsx(DataStoreContext.Provider, { value: metaValue, children: props.children }) }) }) }) })
|