@mgarlik/datastore 0.1.5 → 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.cjs +47 -10
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +8 -2
- package/dist/index.d.ts +8 -2
- package/dist/index.js +46 -10
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -378,7 +378,7 @@ declare const useDataProvider: (
|
|
|
378
378
|
*/
|
|
379
379
|
id: string | {
|
|
380
380
|
[key: string]: any;
|
|
381
|
-
},
|
|
381
|
+
} | false,
|
|
382
382
|
/**
|
|
383
383
|
* Parametry pro prerenderovani providera (profiles/<%= profileId %>)
|
|
384
384
|
*/
|
|
@@ -511,4 +511,10 @@ declare const COLOR_AXIOS = "\u001B[33m%s\u001B[0m";
|
|
|
511
511
|
declare const COLOR_APP = "\u001B[34m%s\u001B[0m";
|
|
512
512
|
declare const COLOR_DS = "\u001B[35m%s\u001B[0m";
|
|
513
513
|
|
|
514
|
-
|
|
514
|
+
/**
|
|
515
|
+
* Zobrazí obsah celé databáze v console.log
|
|
516
|
+
* Používá se pro debugging storage
|
|
517
|
+
*/
|
|
518
|
+
declare function logStorageContent(storage: DataStoreStorage): Promise<void>;
|
|
519
|
+
|
|
520
|
+
export { COLOR_APP, COLOR_AXIOS, COLOR_BLUE, COLOR_CONTEXT, COLOR_CYAN, COLOR_DS, COLOR_ERROR, COLOR_FUNCTION, COLOR_GREEN, COLOR_MAGENTA, COLOR_ORANGE, COLOR_PROVIDER, COLOR_RED, COLOR_RENDER, COLOR_SCREEN, COLOR_SOCKET, COLOR_SOCKETS, COLOR_WARNING, COLOR_WHITE, COLOR_YELLOW, type DataProviderType, type DataProvidersType, type DataStore, DataStoreActionsContext, DataStoreContext, DataStoreDocumentsContext, type DataStoreProps, DataStoreProvider, DataStoreProvidersContext, type DataStoreRef, DataStoreStableContext, DataStoreStorage, type DispatcherActionType, type DispatcherType, type FilterType, type JSONType, type ProductFiltersType, type ProviderSchemaItemType, type SocketFilterItem, type SocketItem, type SocketServerType, type UseDataProviderResult, type UseProviderActionsResult, type Uuid, dataStoreFilterObject, doesObjectMatchFilter, doesValueMatchFilter, filterDocuments, filterDocumentsAsync, type filterItemType, getValueByRules, isUuid, logStorageContent, recalculateObjectWithDocument, useDataProvider, useDataStore, useDataStoreActions, useDocument, useDocuments, useFilteredDocuments, useProvider, useProviderActions, useProviderDocuments, uuid };
|
package/dist/index.d.ts
CHANGED
|
@@ -378,7 +378,7 @@ declare const useDataProvider: (
|
|
|
378
378
|
*/
|
|
379
379
|
id: string | {
|
|
380
380
|
[key: string]: any;
|
|
381
|
-
},
|
|
381
|
+
} | false,
|
|
382
382
|
/**
|
|
383
383
|
* Parametry pro prerenderovani providera (profiles/<%= profileId %>)
|
|
384
384
|
*/
|
|
@@ -511,4 +511,10 @@ declare const COLOR_AXIOS = "\u001B[33m%s\u001B[0m";
|
|
|
511
511
|
declare const COLOR_APP = "\u001B[34m%s\u001B[0m";
|
|
512
512
|
declare const COLOR_DS = "\u001B[35m%s\u001B[0m";
|
|
513
513
|
|
|
514
|
-
|
|
514
|
+
/**
|
|
515
|
+
* Zobrazí obsah celé databáze v console.log
|
|
516
|
+
* Používá se pro debugging storage
|
|
517
|
+
*/
|
|
518
|
+
declare function logStorageContent(storage: DataStoreStorage): Promise<void>;
|
|
519
|
+
|
|
520
|
+
export { COLOR_APP, COLOR_AXIOS, COLOR_BLUE, COLOR_CONTEXT, COLOR_CYAN, COLOR_DS, COLOR_ERROR, COLOR_FUNCTION, COLOR_GREEN, COLOR_MAGENTA, COLOR_ORANGE, COLOR_PROVIDER, COLOR_RED, COLOR_RENDER, COLOR_SCREEN, COLOR_SOCKET, COLOR_SOCKETS, COLOR_WARNING, COLOR_WHITE, COLOR_YELLOW, type DataProviderType, type DataProvidersType, type DataStore, DataStoreActionsContext, DataStoreContext, DataStoreDocumentsContext, type DataStoreProps, DataStoreProvider, DataStoreProvidersContext, type DataStoreRef, DataStoreStableContext, DataStoreStorage, type DispatcherActionType, type DispatcherType, type FilterType, type JSONType, type ProductFiltersType, type ProviderSchemaItemType, type SocketFilterItem, type SocketItem, type SocketServerType, type UseDataProviderResult, type UseProviderActionsResult, type Uuid, dataStoreFilterObject, doesObjectMatchFilter, doesValueMatchFilter, filterDocuments, filterDocumentsAsync, type filterItemType, getValueByRules, isUuid, logStorageContent, recalculateObjectWithDocument, useDataProvider, useDataStore, useDataStoreActions, useDocument, useDocuments, useFilteredDocuments, useProvider, useProviderActions, useProviderDocuments, uuid };
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
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(
|
|
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], ...
|
|
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]:
|
|
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], ...
|
|
1457
|
+
data: { ...documents[documentId], ...dataWithDocumentId }
|
|
1455
1458
|
});
|
|
1456
1459
|
} else {
|
|
1457
1460
|
await removePersistedDocument(documentId);
|
|
@@ -1505,13 +1508,13 @@ var DataStoreProvider = forwardRef(
|
|
|
1505
1508
|
}, [dispatch, updateDocument]);
|
|
1506
1509
|
const createDocument = useCallback(
|
|
1507
1510
|
async ({ model, documentId, data }) => {
|
|
1508
|
-
const newDocument = data;
|
|
1511
|
+
const newDocument = data && typeof data === "object" && !Array.isArray(data) ? { ...data, id: data.id ?? documentId } : { id: documentId };
|
|
1509
1512
|
console.log(`Registruji model ${model}, documentId ${documentId}, data: ${JSON.stringify(data)}`);
|
|
1510
1513
|
var providerListenersCount = 0;
|
|
1511
1514
|
Object.keys(providers).forEach((key) => {
|
|
1512
1515
|
const provider = providers[key];
|
|
1513
1516
|
var socketListeners = provider.dataSource?.socketListeners;
|
|
1514
|
-
if ((socketListeners?.includes(model) || key === model) && (!provider.dataSource?.filter || filterDocuments(
|
|
1517
|
+
if ((socketListeners?.includes(model) || key === model) && (!provider.dataSource?.filter || filterDocuments(newDocument, provider.dataSource?.filter))) {
|
|
1515
1518
|
if (!provider.data.includes(documentId)) {
|
|
1516
1519
|
setCounterDocuments((prev) => {
|
|
1517
1520
|
const newC = { ...prev };
|
|
@@ -1834,6 +1837,7 @@ var DataStoreProvider = forwardRef(
|
|
|
1834
1837
|
[id]: 1
|
|
1835
1838
|
}));
|
|
1836
1839
|
if (provider.dataSource?.socketListeners) {
|
|
1840
|
+
console.log("TATATATA");
|
|
1837
1841
|
registerProviderSockets(provider.dataSource.socketListeners, provider.dataSource.filter);
|
|
1838
1842
|
}
|
|
1839
1843
|
console.timeEnd(`[DSP] VYTVARENI PROVIDERA ${id}`);
|
|
@@ -1999,6 +2003,7 @@ var useDataProvider = (id, params, dataFilter, settings) => {
|
|
|
1999
2003
|
const prov = renderJSONTemplate(id, params ?? void 0);
|
|
2000
2004
|
setProviderId(prov.id);
|
|
2001
2005
|
retId = prov.id;
|
|
2006
|
+
console.log("Registruji z useDataProvider 1", prov.id);
|
|
2002
2007
|
dispatch("registerProvider", prov);
|
|
2003
2008
|
} else {
|
|
2004
2009
|
if (presetProviders[id]) {
|
|
@@ -2009,7 +2014,9 @@ var useDataProvider = (id, params, dataFilter, settings) => {
|
|
|
2009
2014
|
systemLog("usedp", "Provider:", prov.id, "existuje");
|
|
2010
2015
|
if (!currentProviders[prov.id]?.isPermanent) updateProviderListeners(prov.id, 1);
|
|
2011
2016
|
} else {
|
|
2012
|
-
|
|
2017
|
+
console.log("Params: ", params);
|
|
2018
|
+
console.log("Registruji z useDataProvider 2 - novy provider", prov.id);
|
|
2019
|
+
console.log(JSON.stringify(prov, null, 2));
|
|
2013
2020
|
dispatch("registerProvider", prov);
|
|
2014
2021
|
}
|
|
2015
2022
|
} else {
|
|
@@ -2199,6 +2206,34 @@ var COLOR_SOCKETS = COLOR_YELLOW;
|
|
|
2199
2206
|
var COLOR_AXIOS = COLOR_YELLOW;
|
|
2200
2207
|
var COLOR_APP = COLOR_BLUE;
|
|
2201
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
|
+
}
|
|
2202
2237
|
export {
|
|
2203
2238
|
COLOR_APP,
|
|
2204
2239
|
COLOR_AXIOS,
|
|
@@ -2233,6 +2268,7 @@ export {
|
|
|
2233
2268
|
filterDocumentsAsync,
|
|
2234
2269
|
getValueByRules,
|
|
2235
2270
|
isUuid,
|
|
2271
|
+
logStorageContent,
|
|
2236
2272
|
recalculateObjectWithDocument,
|
|
2237
2273
|
useDataProvider,
|
|
2238
2274
|
useDataStore,
|