@buoy-gg/react-query 7.0.41 → 7.0.43
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/README.md +11 -73
- package/lib/commonjs/checkPeer.js +1 -8
- package/lib/commonjs/checkPeer.web.js +1 -3
- package/lib/commonjs/index.js +1 -657
- package/lib/commonjs/preset.js +1 -243
- package/lib/commonjs/react-query/components/DataEditorMode.js +1 -317
- package/lib/commonjs/react-query/components/FilterStatusBadge.js +1 -55
- package/lib/commonjs/react-query/components/MutationBrowserMode.js +1 -52
- package/lib/commonjs/react-query/components/MutationEditorMode.js +1 -276
- package/lib/commonjs/react-query/components/QueryBrowserMode.js +1 -99
- package/lib/commonjs/react-query/components/QueryDebugInfo.js +1 -107
- package/lib/commonjs/react-query/components/QueryFilterViewV3.js +1 -224
- package/lib/commonjs/react-query/components/QuerySelector.js +1 -209
- package/lib/commonjs/react-query/components/ReactQueryDevToolsModal.js +1 -91
- package/lib/commonjs/react-query/components/ReactQuerySection.js +1 -47
- package/lib/commonjs/react-query/components/ReactQueryTracker.js +1 -38
- package/lib/commonjs/react-query/components/WifiToggle.js +1 -51
- package/lib/commonjs/react-query/components/modals/DataEditorModal.js +1 -103
- package/lib/commonjs/react-query/components/modals/MutationBrowserFooter.js +1 -61
- package/lib/commonjs/react-query/components/modals/MutationBrowserModal.js +1 -164
- package/lib/commonjs/react-query/components/modals/MutationEditorModal.js +1 -106
- package/lib/commonjs/react-query/components/modals/QueryBrowserFooter.js +1 -56
- package/lib/commonjs/react-query/components/modals/QueryBrowserModal.js +1 -254
- package/lib/commonjs/react-query/components/modals/ReactQueryModal.js +1 -83
- package/lib/commonjs/react-query/components/modals/ReactQueryModalHeader.js +1 -194
- package/lib/commonjs/react-query/components/modals/SwipeIndicator.js +1 -204
- package/lib/commonjs/react-query/components/query-browser/ActionButton.js +1 -100
- package/lib/commonjs/react-query/components/query-browser/ClearCacheButton.js +1 -53
- package/lib/commonjs/react-query/components/query-browser/Explorer.js +1 -75
- package/lib/commonjs/react-query/components/query-browser/MutationButton.js +1 -190
- package/lib/commonjs/react-query/components/query-browser/MutationDetails.js +1 -124
- package/lib/commonjs/react-query/components/query-browser/MutationDetailsChips.js +1 -68
- package/lib/commonjs/react-query/components/query-browser/MutationInformation.js +1 -118
- package/lib/commonjs/react-query/components/query-browser/MutationStatusCount.js +1 -84
- package/lib/commonjs/react-query/components/query-browser/MutationsList.js +1 -220
- package/lib/commonjs/react-query/components/query-browser/NetworkToggleButton.js +1 -54
- package/lib/commonjs/react-query/components/query-browser/QueryActions.js +1 -124
- package/lib/commonjs/react-query/components/query-browser/QueryBrowser.js +1 -181
- package/lib/commonjs/react-query/components/query-browser/QueryDetails.js +1 -141
- package/lib/commonjs/react-query/components/query-browser/QueryDetailsChip.js +1 -78
- package/lib/commonjs/react-query/components/query-browser/QueryInformation.js +1 -95
- package/lib/commonjs/react-query/components/query-browser/QueryRow.js +1 -96
- package/lib/commonjs/react-query/components/query-browser/QueryStatus.js +1 -167
- package/lib/commonjs/react-query/components/query-browser/QueryStatusCount.js +1 -100
- package/lib/commonjs/react-query/components/query-browser/StorageStatusCount.js +1 -61
- package/lib/commonjs/react-query/components/query-browser/index.js +1 -170
- package/lib/commonjs/react-query/components/query-browser/svgs.js +1 -72
- package/lib/commonjs/react-query/hooks/useActionButtons.js +1 -51
- package/lib/commonjs/react-query/hooks/useAllMutations.js +1 -85
- package/lib/commonjs/react-query/hooks/useAllQueries.js +1 -117
- package/lib/commonjs/react-query/hooks/useModalManager.js +1 -178
- package/lib/commonjs/react-query/hooks/useModalPersistence.js +1 -71
- package/lib/commonjs/react-query/hooks/useMutationActionButtons.js +1 -21
- package/lib/commonjs/react-query/hooks/useQueryStatusCounts.js +1 -114
- package/lib/commonjs/react-query/hooks/useReactQueryState.js +1 -24
- package/lib/commonjs/react-query/hooks/useSelectedMutation.js +1 -30
- package/lib/commonjs/react-query/hooks/useSelectedQuery.js +1 -96
- package/lib/commonjs/react-query/hooks/useStorageQueryCounts.js +1 -28
- package/lib/commonjs/react-query/hooks/useWifiState.js +1 -67
- package/lib/commonjs/react-query/stores/reactQueryEventStore.js +1 -302
- package/lib/commonjs/react-query/sync/dehydrate.js +1 -166
- package/lib/commonjs/react-query/sync/reactQuerySyncAdapter.js +1 -593
- package/lib/commonjs/react-query/sync/snapshotProvider.js +1 -289
- package/lib/commonjs/react-query/sync/useReactQuerySyncAdapter.js +1 -34
- package/lib/commonjs/react-query/types/types.js +1 -14
- package/lib/commonjs/react-query/utils/actions/deleteItem.js +1 -23
- package/lib/commonjs/react-query/utils/actions/emitDevToolsEvent.js +1 -40
- package/lib/commonjs/react-query/utils/actions/invalidate.js +1 -15
- package/lib/commonjs/react-query/utils/actions/refetch.js +1 -17
- package/lib/commonjs/react-query/utils/actions/remove.js +1 -15
- package/lib/commonjs/react-query/utils/actions/reset.js +1 -17
- package/lib/commonjs/react-query/utils/actions/triggerError.js +1 -33
- package/lib/commonjs/react-query/utils/actions/triggerLoading.js +1 -54
- package/lib/commonjs/react-query/utils/deleteNestedDataByPath.js +1 -56
- package/lib/commonjs/react-query/utils/getQueryStatusColor.js +1 -16
- package/lib/commonjs/react-query/utils/getQueryStatusLabel.js +1 -23
- package/lib/commonjs/react-query/utils/getStorageQueryCounts.js +1 -35
- package/lib/commonjs/react-query/utils/modalStorageOperations.js +1 -127
- package/lib/commonjs/react-query/utils/storageQueryUtils.js +1 -149
- package/lib/commonjs/react-query/utils/testIDs.js +1 -61
- package/lib/commonjs/react-query/utils/updateNestedDataByPath.js +1 -61
- package/lib/module/checkPeer.js +1 -8
- package/lib/module/checkPeer.web.js +1 -3
- package/lib/module/index.js +1 -130
- package/lib/module/preset.js +1 -239
- package/lib/module/react-query/components/DataEditorMode.js +1 -311
- package/lib/module/react-query/components/FilterStatusBadge.js +1 -51
- package/lib/module/react-query/components/MutationBrowserMode.js +1 -47
- package/lib/module/react-query/components/MutationEditorMode.js +1 -270
- package/lib/module/react-query/components/QueryBrowserMode.js +1 -94
- package/lib/module/react-query/components/QueryDebugInfo.js +1 -104
- package/lib/module/react-query/components/QueryFilterViewV3.js +1 -221
- package/lib/module/react-query/components/QuerySelector.js +1 -205
- package/lib/module/react-query/components/ReactQueryDevToolsModal.js +1 -87
- package/lib/module/react-query/components/ReactQuerySection.js +1 -43
- package/lib/module/react-query/components/ReactQueryTracker.js +1 -35
- package/lib/module/react-query/components/WifiToggle.js +1 -48
- package/lib/module/react-query/components/modals/DataEditorModal.js +1 -99
- package/lib/module/react-query/components/modals/MutationBrowserFooter.js +1 -56
- package/lib/module/react-query/components/modals/MutationBrowserModal.js +1 -161
- package/lib/module/react-query/components/modals/MutationEditorModal.js +1 -102
- package/lib/module/react-query/components/modals/QueryBrowserFooter.js +1 -51
- package/lib/module/react-query/components/modals/QueryBrowserModal.js +1 -250
- package/lib/module/react-query/components/modals/ReactQueryModal.js +1 -79
- package/lib/module/react-query/components/modals/ReactQueryModalHeader.js +1 -190
- package/lib/module/react-query/components/modals/SwipeIndicator.js +1 -201
- package/lib/module/react-query/components/query-browser/ActionButton.js +1 -96
- package/lib/module/react-query/components/query-browser/ClearCacheButton.js +1 -49
- package/lib/module/react-query/components/query-browser/Explorer.js +1 -70
- package/lib/module/react-query/components/query-browser/MutationButton.js +1 -186
- package/lib/module/react-query/components/query-browser/MutationDetails.js +1 -119
- package/lib/module/react-query/components/query-browser/MutationDetailsChips.js +1 -64
- package/lib/module/react-query/components/query-browser/MutationInformation.js +1 -113
- package/lib/module/react-query/components/query-browser/MutationStatusCount.js +1 -79
- package/lib/module/react-query/components/query-browser/MutationsList.js +1 -215
- package/lib/module/react-query/components/query-browser/NetworkToggleButton.js +1 -50
- package/lib/module/react-query/components/query-browser/QueryActions.js +1 -119
- package/lib/module/react-query/components/query-browser/QueryBrowser.js +1 -176
- package/lib/module/react-query/components/query-browser/QueryDetails.js +1 -136
- package/lib/module/react-query/components/query-browser/QueryDetailsChip.js +1 -74
- package/lib/module/react-query/components/query-browser/QueryInformation.js +1 -90
- package/lib/module/react-query/components/query-browser/QueryRow.js +1 -92
- package/lib/module/react-query/components/query-browser/QueryStatus.js +1 -163
- package/lib/module/react-query/components/query-browser/QueryStatusCount.js +1 -95
- package/lib/module/react-query/components/query-browser/StorageStatusCount.js +1 -56
- package/lib/module/react-query/components/query-browser/index.js +1 -22
- package/lib/module/react-query/components/query-browser/svgs.js +1 -64
- package/lib/module/react-query/hooks/useActionButtons.js +1 -46
- package/lib/module/react-query/hooks/useAllMutations.js +1 -82
- package/lib/module/react-query/hooks/useAllQueries.js +1 -114
- package/lib/module/react-query/hooks/useModalManager.js +1 -175
- package/lib/module/react-query/hooks/useModalPersistence.js +1 -67
- package/lib/module/react-query/hooks/useMutationActionButtons.js +1 -17
- package/lib/module/react-query/hooks/useQueryStatusCounts.js +1 -112
- package/lib/module/react-query/hooks/useReactQueryState.js +1 -20
- package/lib/module/react-query/hooks/useSelectedMutation.js +1 -27
- package/lib/module/react-query/hooks/useSelectedQuery.js +1 -92
- package/lib/module/react-query/hooks/useStorageQueryCounts.js +1 -25
- package/lib/module/react-query/hooks/useWifiState.js +1 -64
- package/lib/module/react-query/stores/reactQueryEventStore.js +1 -293
- package/lib/module/react-query/sync/dehydrate.js +1 -156
- package/lib/module/react-query/sync/reactQuerySyncAdapter.js +1 -589
- package/lib/module/react-query/sync/snapshotProvider.js +1 -284
- package/lib/module/react-query/sync/useReactQuerySyncAdapter.js +1 -31
- package/lib/module/react-query/types/types.js +1 -10
- package/lib/module/react-query/utils/actions/deleteItem.js +1 -19
- package/lib/module/react-query/utils/actions/emitDevToolsEvent.js +1 -36
- package/lib/module/react-query/utils/actions/invalidate.js +1 -11
- package/lib/module/react-query/utils/actions/refetch.js +1 -13
- package/lib/module/react-query/utils/actions/remove.js +1 -11
- package/lib/module/react-query/utils/actions/reset.js +1 -13
- package/lib/module/react-query/utils/actions/triggerError.js +1 -29
- package/lib/module/react-query/utils/actions/triggerLoading.js +1 -50
- package/lib/module/react-query/utils/deleteNestedDataByPath.js +1 -51
- package/lib/module/react-query/utils/getQueryStatusColor.js +1 -12
- package/lib/module/react-query/utils/getQueryStatusLabel.js +1 -19
- package/lib/module/react-query/utils/getStorageQueryCounts.js +1 -31
- package/lib/module/react-query/utils/modalStorageOperations.js +1 -117
- package/lib/module/react-query/utils/storageQueryUtils.js +1 -140
- package/lib/module/react-query/utils/testIDs.js +1 -54
- package/lib/module/react-query/utils/updateNestedDataByPath.js +1 -56
- package/lib/web/index.mjs +3 -4
- package/package.json +4 -7
- package/lib/typescript/checkPeer.d.ts.map +0 -1
- package/lib/typescript/checkPeer.web.d.ts.map +0 -1
- package/lib/typescript/index.d.ts.map +0 -1
- package/lib/typescript/preset.d.ts.map +0 -1
- package/lib/typescript/react-query/components/DataEditorMode.d.ts.map +0 -1
- package/lib/typescript/react-query/components/FilterStatusBadge.d.ts.map +0 -1
- package/lib/typescript/react-query/components/MutationBrowserMode.d.ts.map +0 -1
- package/lib/typescript/react-query/components/MutationEditorMode.d.ts.map +0 -1
- package/lib/typescript/react-query/components/QueryBrowserMode.d.ts.map +0 -1
- package/lib/typescript/react-query/components/QueryDebugInfo.d.ts.map +0 -1
- package/lib/typescript/react-query/components/QueryFilterViewV3.d.ts.map +0 -1
- package/lib/typescript/react-query/components/QuerySelector.d.ts.map +0 -1
- package/lib/typescript/react-query/components/ReactQueryDevToolsModal.d.ts.map +0 -1
- package/lib/typescript/react-query/components/ReactQuerySection.d.ts.map +0 -1
- package/lib/typescript/react-query/components/ReactQueryTracker.d.ts.map +0 -1
- package/lib/typescript/react-query/components/WifiToggle.d.ts.map +0 -1
- package/lib/typescript/react-query/components/modals/DataEditorModal.d.ts.map +0 -1
- package/lib/typescript/react-query/components/modals/MutationBrowserFooter.d.ts.map +0 -1
- package/lib/typescript/react-query/components/modals/MutationBrowserModal.d.ts.map +0 -1
- package/lib/typescript/react-query/components/modals/MutationEditorModal.d.ts.map +0 -1
- package/lib/typescript/react-query/components/modals/QueryBrowserFooter.d.ts.map +0 -1
- package/lib/typescript/react-query/components/modals/QueryBrowserModal.d.ts.map +0 -1
- package/lib/typescript/react-query/components/modals/ReactQueryModal.d.ts.map +0 -1
- package/lib/typescript/react-query/components/modals/ReactQueryModalHeader.d.ts.map +0 -1
- package/lib/typescript/react-query/components/modals/SwipeIndicator.d.ts.map +0 -1
- package/lib/typescript/react-query/components/query-browser/ActionButton.d.ts.map +0 -1
- package/lib/typescript/react-query/components/query-browser/ClearCacheButton.d.ts.map +0 -1
- package/lib/typescript/react-query/components/query-browser/Explorer.d.ts.map +0 -1
- package/lib/typescript/react-query/components/query-browser/MutationButton.d.ts.map +0 -1
- package/lib/typescript/react-query/components/query-browser/MutationDetails.d.ts.map +0 -1
- package/lib/typescript/react-query/components/query-browser/MutationDetailsChips.d.ts.map +0 -1
- package/lib/typescript/react-query/components/query-browser/MutationInformation.d.ts.map +0 -1
- package/lib/typescript/react-query/components/query-browser/MutationStatusCount.d.ts.map +0 -1
- package/lib/typescript/react-query/components/query-browser/MutationsList.d.ts.map +0 -1
- package/lib/typescript/react-query/components/query-browser/NetworkToggleButton.d.ts.map +0 -1
- package/lib/typescript/react-query/components/query-browser/QueryActions.d.ts.map +0 -1
- package/lib/typescript/react-query/components/query-browser/QueryBrowser.d.ts.map +0 -1
- package/lib/typescript/react-query/components/query-browser/QueryDetails.d.ts.map +0 -1
- package/lib/typescript/react-query/components/query-browser/QueryDetailsChip.d.ts.map +0 -1
- package/lib/typescript/react-query/components/query-browser/QueryInformation.d.ts.map +0 -1
- package/lib/typescript/react-query/components/query-browser/QueryRow.d.ts.map +0 -1
- package/lib/typescript/react-query/components/query-browser/QueryStatus.d.ts.map +0 -1
- package/lib/typescript/react-query/components/query-browser/QueryStatusCount.d.ts.map +0 -1
- package/lib/typescript/react-query/components/query-browser/StorageStatusCount.d.ts.map +0 -1
- package/lib/typescript/react-query/components/query-browser/index.d.ts.map +0 -1
- package/lib/typescript/react-query/components/query-browser/svgs.d.ts.map +0 -1
- package/lib/typescript/react-query/hooks/useActionButtons.d.ts.map +0 -1
- package/lib/typescript/react-query/hooks/useAllMutations.d.ts.map +0 -1
- package/lib/typescript/react-query/hooks/useAllQueries.d.ts.map +0 -1
- package/lib/typescript/react-query/hooks/useModalManager.d.ts.map +0 -1
- package/lib/typescript/react-query/hooks/useModalPersistence.d.ts.map +0 -1
- package/lib/typescript/react-query/hooks/useMutationActionButtons.d.ts.map +0 -1
- package/lib/typescript/react-query/hooks/useQueryStatusCounts.d.ts.map +0 -1
- package/lib/typescript/react-query/hooks/useReactQueryState.d.ts.map +0 -1
- package/lib/typescript/react-query/hooks/useSelectedMutation.d.ts.map +0 -1
- package/lib/typescript/react-query/hooks/useSelectedQuery.d.ts.map +0 -1
- package/lib/typescript/react-query/hooks/useStorageQueryCounts.d.ts.map +0 -1
- package/lib/typescript/react-query/hooks/useWifiState.d.ts.map +0 -1
- package/lib/typescript/react-query/stores/reactQueryEventStore.d.ts.map +0 -1
- package/lib/typescript/react-query/sync/dehydrate.d.ts.map +0 -1
- package/lib/typescript/react-query/sync/reactQuerySyncAdapter.d.ts.map +0 -1
- package/lib/typescript/react-query/sync/snapshotProvider.d.ts.map +0 -1
- package/lib/typescript/react-query/sync/useReactQuerySyncAdapter.d.ts.map +0 -1
- package/lib/typescript/react-query/types/types.d.ts.map +0 -1
- package/lib/typescript/react-query/utils/actions/deleteItem.d.ts.map +0 -1
- package/lib/typescript/react-query/utils/actions/emitDevToolsEvent.d.ts.map +0 -1
- package/lib/typescript/react-query/utils/actions/invalidate.d.ts.map +0 -1
- package/lib/typescript/react-query/utils/actions/refetch.d.ts.map +0 -1
- package/lib/typescript/react-query/utils/actions/remove.d.ts.map +0 -1
- package/lib/typescript/react-query/utils/actions/reset.d.ts.map +0 -1
- package/lib/typescript/react-query/utils/actions/triggerError.d.ts.map +0 -1
- package/lib/typescript/react-query/utils/actions/triggerLoading.d.ts.map +0 -1
- package/lib/typescript/react-query/utils/deleteNestedDataByPath.d.ts.map +0 -1
- package/lib/typescript/react-query/utils/getQueryStatusColor.d.ts.map +0 -1
- package/lib/typescript/react-query/utils/getQueryStatusLabel.d.ts.map +0 -1
- package/lib/typescript/react-query/utils/getStorageQueryCounts.d.ts.map +0 -1
- package/lib/typescript/react-query/utils/modalStorageOperations.d.ts.map +0 -1
- package/lib/typescript/react-query/utils/storageQueryUtils.d.ts.map +0 -1
- package/lib/typescript/react-query/utils/testIDs.d.ts.map +0 -1
- package/lib/typescript/react-query/utils/updateNestedDataByPath.d.ts.map +0 -1
|
@@ -1,23 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.getQueryStatusLabel = getQueryStatusLabel;
|
|
7
|
-
/**
|
|
8
|
-
* Converts a query object into a human-friendly status string for badge rendering.
|
|
9
|
-
* Priority order: disabled > fetching > error > inactive > paused > stale > fresh
|
|
10
|
-
*
|
|
11
|
-
* "error" sits just below "fetching" so a hard-failed query (status === "error",
|
|
12
|
-
* i.e. failed with no cached data) surfaces as an error instead of hiding under
|
|
13
|
-
* "inactive"/"stale", while an in-flight retry still reads as "fetching". This
|
|
14
|
-
* is the single source of truth every consumer (cards, dots, counts, the Error
|
|
15
|
-
* filter) reads, and it matches the dashboard sidebar's error dot exactly.
|
|
16
|
-
*/
|
|
17
|
-
function getQueryStatusLabel(query) {
|
|
18
|
-
// Check disabled first - disabled queries won't automatically fetch
|
|
19
|
-
if (query.isDisabled()) {
|
|
20
|
-
return "disabled";
|
|
21
|
-
}
|
|
22
|
-
return query.state.fetchStatus === "fetching" ? "fetching" : query.state.status === "error" ? "error" : !query.getObserversCount() ? "inactive" : query.state.fetchStatus === "paused" ? "paused" : query.isStale() ? "stale" : "fresh";
|
|
23
|
-
}
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getQueryStatusLabel=getQueryStatusLabel;function getQueryStatusLabel(t){if(t.isDisabled()){return"disabled"}return t.state.fetchStatus==="fetching"?"fetching":t.state.status==="error"?"error":!t.getObserversCount()?"inactive":t.state.fetchStatus==="paused"?"paused":t.isStale()?"stale":"fresh"}
|
|
@@ -1,35 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.getStorageQueryCounts = getStorageQueryCounts;
|
|
7
|
-
var _storageQueryUtils = require("./storageQueryUtils");
|
|
8
|
-
var _sharedUi = require("@buoy-gg/shared-ui");
|
|
9
|
-
/**
|
|
10
|
-
* Calculate counts for each storage type from storage queries
|
|
11
|
-
* Following performance principles: no unnecessary memoization [[memory:4875074]]
|
|
12
|
-
*/
|
|
13
|
-
function getStorageQueryCounts(queries) {
|
|
14
|
-
const counts = {
|
|
15
|
-
mmkv: 0,
|
|
16
|
-
async: 0,
|
|
17
|
-
secure: 0,
|
|
18
|
-
total: 0
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
// Filter to storage queries only, then count by type
|
|
22
|
-
const storageQueries = queries.filter(query => (0, _storageQueryUtils.isStorageQuery)(query.queryKey));
|
|
23
|
-
storageQueries.forEach(query => {
|
|
24
|
-
const storageType = (0, _storageQueryUtils.getStorageType)(query.queryKey);
|
|
25
|
-
if (storageType) {
|
|
26
|
-
// Filter out dev tool keys from the counts
|
|
27
|
-
const cleanKey = (0, _storageQueryUtils.getCleanStorageKey)(query.queryKey);
|
|
28
|
-
if (!(0, _sharedUi.isDevToolsStorageKey)(cleanKey)) {
|
|
29
|
-
counts[storageType]++;
|
|
30
|
-
counts.total++;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
return counts;
|
|
35
|
-
}
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getStorageQueryCounts=getStorageQueryCounts;var _storageQueryUtils=require("./storageQueryUtils");var _sharedUi=require("@buoy-gg/shared-ui");function getStorageQueryCounts(o){const r={mmkv:0,async:0,secure:0,total:0};const s=o.filter(e=>(0,_storageQueryUtils.isStorageQuery)(e.queryKey));s.forEach(e=>{const t=(0,_storageQueryUtils.getStorageType)(e.queryKey);if(t){const u=(0,_storageQueryUtils.getCleanStorageKey)(e.queryKey);if(!(0,_sharedUi.isDevToolsStorageKey)(u)){r[t]++;r.total++}}});return r}
|
|
@@ -1,127 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.savePanelHeight = exports.savePanelDimensions = exports.saveModalVisibilityState = exports.saveFloatingMode = exports.loadPanelState = exports.loadModalVisibilityState = exports.clearModalVisibilityState = void 0;
|
|
7
|
-
var _sharedUi = require("@buoy-gg/shared-ui");
|
|
8
|
-
// Helper functions for persisting panel state using shared storage wrapper
|
|
9
|
-
const setItem = async (key, value) => {
|
|
10
|
-
await _sharedUi.persistentStorage.setItem(key, value);
|
|
11
|
-
};
|
|
12
|
-
const getItem = async key => {
|
|
13
|
-
return _sharedUi.persistentStorage.getItem(key);
|
|
14
|
-
};
|
|
15
|
-
// Storage operations
|
|
16
|
-
/**
|
|
17
|
-
* Persist the draggable panel dimensions so future sessions can restore the last window size.
|
|
18
|
-
*/
|
|
19
|
-
const savePanelDimensions = async (storagePrefix, dimensions) => {
|
|
20
|
-
try {
|
|
21
|
-
await setItem(`${storagePrefix}_panel_dimensions`, JSON.stringify(dimensions));
|
|
22
|
-
} catch {
|
|
23
|
-
// Silently fail - persistence is optional
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
/** Remember the last snap height of the panel for bottom-sheet style layouts. */
|
|
28
|
-
exports.savePanelDimensions = savePanelDimensions;
|
|
29
|
-
const savePanelHeight = async (storagePrefix, height) => {
|
|
30
|
-
try {
|
|
31
|
-
await setItem(`${storagePrefix}_panel_height`, height.toString());
|
|
32
|
-
} catch {
|
|
33
|
-
// Silently fail - persistence is optional
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* Persist whether the panel was in floating mode so we can reopen at the same presentation style.
|
|
39
|
-
*/
|
|
40
|
-
exports.savePanelHeight = savePanelHeight;
|
|
41
|
-
const saveFloatingMode = async (storagePrefix, isFloating) => {
|
|
42
|
-
try {
|
|
43
|
-
await setItem(`${storagePrefix}_is_floating_mode`, isFloating.toString());
|
|
44
|
-
} catch {
|
|
45
|
-
// Silently fail - persistence is optional
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Retrieve persisted panel geometry and presentation mode. Returns null values when nothing was
|
|
51
|
-
* previously stored so callers can fall back to defaults.
|
|
52
|
-
*/
|
|
53
|
-
exports.saveFloatingMode = saveFloatingMode;
|
|
54
|
-
const loadPanelState = async storagePrefix => {
|
|
55
|
-
try {
|
|
56
|
-
const [dimensionsStr, heightStr, floatingModeStr] = await Promise.all([getItem(`${storagePrefix}_panel_dimensions`), getItem(`${storagePrefix}_panel_height`), getItem(`${storagePrefix}_is_floating_mode`)]);
|
|
57
|
-
const dimensions = dimensionsStr ? JSON.parse(dimensionsStr) : null;
|
|
58
|
-
const height = heightStr ? parseInt(heightStr, 10) : null;
|
|
59
|
-
const isFloating = floatingModeStr ? floatingModeStr === "true" : null;
|
|
60
|
-
return {
|
|
61
|
-
dimensions,
|
|
62
|
-
height,
|
|
63
|
-
isFloating
|
|
64
|
-
};
|
|
65
|
-
} catch {
|
|
66
|
-
// Return defaults on error
|
|
67
|
-
return {
|
|
68
|
-
dimensions: null,
|
|
69
|
-
height: null,
|
|
70
|
-
isFloating: null
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
// Modal visibility state operations
|
|
76
|
-
/**
|
|
77
|
-
* Persist the comprehensive modal visibility state (open flags, selected query, etc.). Stored as a
|
|
78
|
-
* single JSON blob keyed by the provided prefix.
|
|
79
|
-
*/
|
|
80
|
-
exports.loadPanelState = loadPanelState;
|
|
81
|
-
const saveModalVisibilityState = async (storagePrefix, state) => {
|
|
82
|
-
try {
|
|
83
|
-
const stateJson = JSON.stringify(state);
|
|
84
|
-
// storagePrefix already contains the full key, don't append _modal_state
|
|
85
|
-
const key = storagePrefix;
|
|
86
|
-
await setItem(key, stateJson);
|
|
87
|
-
} catch {
|
|
88
|
-
// Silently fail - persistence is a nice-to-have feature
|
|
89
|
-
}
|
|
90
|
-
};
|
|
91
|
-
|
|
92
|
-
/**
|
|
93
|
-
* Read previously persisted modal visibility state. Returns null when no entry is stored or the
|
|
94
|
-
* payload cannot be parsed.
|
|
95
|
-
*/
|
|
96
|
-
exports.saveModalVisibilityState = saveModalVisibilityState;
|
|
97
|
-
const loadModalVisibilityState = async storagePrefix => {
|
|
98
|
-
try {
|
|
99
|
-
// storagePrefix already contains the full key, don't append _modal_state
|
|
100
|
-
const key = storagePrefix;
|
|
101
|
-
const stateStr = await getItem(key);
|
|
102
|
-
if (stateStr && stateStr !== "") {
|
|
103
|
-
const parsed = JSON.parse(stateStr);
|
|
104
|
-
return parsed;
|
|
105
|
-
}
|
|
106
|
-
return null;
|
|
107
|
-
} catch {
|
|
108
|
-
// Silently fail - persistence is a nice-to-have feature
|
|
109
|
-
return null;
|
|
110
|
-
}
|
|
111
|
-
};
|
|
112
|
-
|
|
113
|
-
/**
|
|
114
|
-
* Clear the cached modal visibility state. Useful when all modals close so we avoid reopening
|
|
115
|
-
* unintentionally on the next session.
|
|
116
|
-
*/
|
|
117
|
-
exports.loadModalVisibilityState = loadModalVisibilityState;
|
|
118
|
-
const clearModalVisibilityState = async storagePrefix => {
|
|
119
|
-
try {
|
|
120
|
-
// storagePrefix already contains the full key, don't append _modal_state
|
|
121
|
-
const key = storagePrefix;
|
|
122
|
-
await setItem(key, "");
|
|
123
|
-
} catch {
|
|
124
|
-
// Silently fail - persistence is a nice-to-have feature
|
|
125
|
-
}
|
|
126
|
-
};
|
|
127
|
-
exports.clearModalVisibilityState = clearModalVisibilityState;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.savePanelHeight=exports.savePanelDimensions=exports.saveModalVisibilityState=exports.saveFloatingMode=exports.loadPanelState=exports.loadModalVisibilityState=exports.clearModalVisibilityState=void 0;var _sharedUi=require("@buoy-gg/shared-ui");const setItem=async(t,e)=>{await _sharedUi.persistentStorage.setItem(t,e)};const getItem=async t=>{return _sharedUi.persistentStorage.getItem(t)};const savePanelDimensions=async(t,e)=>{try{await setItem(`${t}_panel_dimensions`,JSON.stringify(e))}catch{}};exports.savePanelDimensions=savePanelDimensions;const savePanelHeight=async(t,e)=>{try{await setItem(`${t}_panel_height`,e.toString())}catch{}};exports.savePanelHeight=savePanelHeight;const saveFloatingMode=async(t,e)=>{try{await setItem(`${t}_is_floating_mode`,e.toString())}catch{}};exports.saveFloatingMode=saveFloatingMode;const loadPanelState=async t=>{try{const[e,a,s]=await Promise.all([getItem(`${t}_panel_dimensions`),getItem(`${t}_panel_height`),getItem(`${t}_is_floating_mode`)]);const i=e?JSON.parse(e):null;const n=a?parseInt(a,10):null;const o=s?s==="true":null;return{dimensions:i,height:n,isFloating:o}}catch{return{dimensions:null,height:null,isFloating:null}}};exports.loadPanelState=loadPanelState;const saveModalVisibilityState=async(t,e)=>{try{const a=JSON.stringify(e);const s=t;await setItem(s,a)}catch{}};exports.saveModalVisibilityState=saveModalVisibilityState;const loadModalVisibilityState=async t=>{try{const e=t;const a=await getItem(e);if(a&&a!==""){const s=JSON.parse(a);return s}return null}catch{return null}};exports.loadModalVisibilityState=loadModalVisibilityState;const clearModalVisibilityState=async t=>{try{const e=t;await setItem(e,"")}catch{}};exports.clearModalVisibilityState=clearModalVisibilityState;
|
|
@@ -1,149 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.getCleanStorageKey = getCleanStorageKey;
|
|
7
|
-
exports.getStorageType = getStorageType;
|
|
8
|
-
exports.getStorageTypeColor = getStorageTypeColor;
|
|
9
|
-
exports.getStorageTypeHexColor = getStorageTypeHexColor;
|
|
10
|
-
exports.getStorageTypeLabel = getStorageTypeLabel;
|
|
11
|
-
exports.isStorageQuery = isStorageQuery;
|
|
12
|
-
exports.storageQueryKeys = void 0;
|
|
13
|
-
var _sharedUi = require("@buoy-gg/shared-ui");
|
|
14
|
-
/**
|
|
15
|
-
* Centralized storage query keys for all storage hooks
|
|
16
|
-
* This ensures consistency across MMKV, AsyncStorage, and SecureStorage hooks
|
|
17
|
-
* and allows easy modification of the base storage key in one place
|
|
18
|
-
*/
|
|
19
|
-
const storageQueryKeys = exports.storageQueryKeys = {
|
|
20
|
-
/**
|
|
21
|
-
* Base storage key - change this to update all storage-related queries
|
|
22
|
-
*/
|
|
23
|
-
base: () => ["#storage"],
|
|
24
|
-
/**
|
|
25
|
-
* MMKV storage query keys
|
|
26
|
-
*/
|
|
27
|
-
mmkv: {
|
|
28
|
-
root: () => [...storageQueryKeys.base(), "mmkv"],
|
|
29
|
-
key: key => [...storageQueryKeys.mmkv.root(), key],
|
|
30
|
-
all: () => [...storageQueryKeys.mmkv.root(), "all"]
|
|
31
|
-
},
|
|
32
|
-
/**
|
|
33
|
-
* AsyncStorage query keys
|
|
34
|
-
*/
|
|
35
|
-
async: {
|
|
36
|
-
root: () => [...storageQueryKeys.base(), "async"],
|
|
37
|
-
key: key => [...storageQueryKeys.async.root(), key],
|
|
38
|
-
all: () => [...storageQueryKeys.async.root(), "all"]
|
|
39
|
-
},
|
|
40
|
-
/**
|
|
41
|
-
* SecureStorage query keys
|
|
42
|
-
*/
|
|
43
|
-
secure: {
|
|
44
|
-
root: () => [...storageQueryKeys.base(), "secure"],
|
|
45
|
-
key: key => [...storageQueryKeys.secure.root(), key],
|
|
46
|
-
all: () => [...storageQueryKeys.secure.root(), "all"]
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* Storage types that can be enabled/disabled
|
|
52
|
-
*/
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* Check if a query key matches any of the storage patterns
|
|
56
|
-
*/
|
|
57
|
-
function isStorageQuery(queryKey) {
|
|
58
|
-
if (!Array.isArray(queryKey) || queryKey.length === 0) {
|
|
59
|
-
return false;
|
|
60
|
-
}
|
|
61
|
-
return queryKey[0] === "#storage";
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* Get the storage type from a query key
|
|
66
|
-
*/
|
|
67
|
-
function getStorageType(queryKey) {
|
|
68
|
-
if (!isStorageQuery(queryKey) || queryKey.length < 2) {
|
|
69
|
-
return null;
|
|
70
|
-
}
|
|
71
|
-
const storageType = queryKey[1];
|
|
72
|
-
if (storageType === "mmkv" || storageType === "async" || storageType === "secure") {
|
|
73
|
-
return storageType;
|
|
74
|
-
}
|
|
75
|
-
return null;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* Get display label for storage type
|
|
80
|
-
*/
|
|
81
|
-
function getStorageTypeLabel(storageType) {
|
|
82
|
-
switch (storageType) {
|
|
83
|
-
case "mmkv":
|
|
84
|
-
return "MMKV";
|
|
85
|
-
case "async":
|
|
86
|
-
return "Async";
|
|
87
|
-
case "secure":
|
|
88
|
-
return "Secure";
|
|
89
|
-
default:
|
|
90
|
-
return storageType;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
/**
|
|
95
|
-
* Get storage type color class for styling
|
|
96
|
-
*/
|
|
97
|
-
function getStorageTypeColor(storageType) {
|
|
98
|
-
switch (storageType) {
|
|
99
|
-
case "mmkv":
|
|
100
|
-
return "purple";
|
|
101
|
-
// Premium, high-performance
|
|
102
|
-
case "async":
|
|
103
|
-
return "blue";
|
|
104
|
-
// Standard, reliable
|
|
105
|
-
case "secure":
|
|
106
|
-
return "green";
|
|
107
|
-
// Security, safety
|
|
108
|
-
default:
|
|
109
|
-
return "gray";
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
/**
|
|
114
|
-
* Get storage type hex color for UI components
|
|
115
|
-
* Design rationale:
|
|
116
|
-
* - MMKV: Primary teal - Premium, high-performance, sophisticated
|
|
117
|
-
* - Async: Warning color - Standard, reliable, default
|
|
118
|
-
* - Secure: Success color - Security, safety, protection
|
|
119
|
-
*/
|
|
120
|
-
function getStorageTypeHexColor(storageType) {
|
|
121
|
-
switch (storageType) {
|
|
122
|
-
case "mmkv":
|
|
123
|
-
return _sharedUi.buoyColors.primary;
|
|
124
|
-
// Premium, high-performance
|
|
125
|
-
case "async":
|
|
126
|
-
return _sharedUi.buoyColors.warning;
|
|
127
|
-
// Standard, reliable
|
|
128
|
-
case "secure":
|
|
129
|
-
return _sharedUi.buoyColors.success;
|
|
130
|
-
// Security, safety
|
|
131
|
-
default:
|
|
132
|
-
return _sharedUi.buoyColors.textMuted;
|
|
133
|
-
// Gray
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
/**
|
|
138
|
-
* Extract clean storage key from storage query key
|
|
139
|
-
* Example: ["#storage", "async", "@dev_tools_modal_state"] → "@dev_tools_modal_state"
|
|
140
|
-
*/
|
|
141
|
-
function getCleanStorageKey(queryKey) {
|
|
142
|
-
if (!isStorageQuery(queryKey) || queryKey.length < 3) {
|
|
143
|
-
return "Unknown Storage Key";
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
// Return everything after the storage type (index 2 and beyond)
|
|
147
|
-
const cleanKeys = queryKey.slice(2);
|
|
148
|
-
return cleanKeys.filter(k => k != null).map(k => String(k)).join(" › ") || "Unknown Storage Key";
|
|
149
|
-
}
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getCleanStorageKey=getCleanStorageKey;exports.getStorageType=getStorageType;exports.getStorageTypeColor=getStorageTypeColor;exports.getStorageTypeHexColor=getStorageTypeHexColor;exports.getStorageTypeLabel=getStorageTypeLabel;exports.isStorageQuery=isStorageQuery;exports.storageQueryKeys=void 0;var _sharedUi=require("@buoy-gg/shared-ui");const storageQueryKeys=exports.storageQueryKeys={base:()=>["#storage"],mmkv:{root:()=>[...storageQueryKeys.base(),"mmkv"],key:e=>[...storageQueryKeys.mmkv.root(),e],all:()=>[...storageQueryKeys.mmkv.root(),"all"]},async:{root:()=>[...storageQueryKeys.base(),"async"],key:e=>[...storageQueryKeys.async.root(),e],all:()=>[...storageQueryKeys.async.root(),"all"]},secure:{root:()=>[...storageQueryKeys.base(),"secure"],key:e=>[...storageQueryKeys.secure.root(),e],all:()=>[...storageQueryKeys.secure.root(),"all"]}};function isStorageQuery(e){if(!Array.isArray(e)||e.length===0){return false}return e[0]==="#storage"}function getStorageType(e){if(!isStorageQuery(e)||e.length<2){return null}const r=e[1];if(r==="mmkv"||r==="async"||r==="secure"){return r}return null}function getStorageTypeLabel(e){switch(e){case"mmkv":return"MMKV";case"async":return"Async";case"secure":return"Secure";default:return e}}function getStorageTypeColor(e){switch(e){case"mmkv":return"purple";case"async":return"blue";case"secure":return"green";default:return"gray"}}function getStorageTypeHexColor(e){switch(e){case"mmkv":return _sharedUi.buoyColors.primary;case"async":return _sharedUi.buoyColors.warning;case"secure":return _sharedUi.buoyColors.success;default:return _sharedUi.buoyColors.textMuted}}function getCleanStorageKey(e){if(!isStorageQuery(e)||e.length<3){return"Unknown Storage Key"}const r=e.slice(2);return r.filter(t=>t!=null).map(t=>String(t)).join(" \u203A ")||"Unknown Storage Key"}
|
|
@@ -1,61 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.explorerTestID = explorerTestID;
|
|
7
|
-
exports.keySlug = keySlug;
|
|
8
|
-
exports.mutationRowTestID = mutationRowTestID;
|
|
9
|
-
exports.queryRowTestID = queryRowTestID;
|
|
10
|
-
/**
|
|
11
|
-
* Stable e2e handles for the React Query tool.
|
|
12
|
-
*
|
|
13
|
-
* Rows are addressed by their KEY, never by an index or a per-session id: a
|
|
14
|
-
* query's position moves every time the list re-sorts by `dataUpdatedAt`, and
|
|
15
|
-
* a mutation's `mutationId` is a counter that restarts with the process. The
|
|
16
|
-
* key is the one thing that means the same query on the next launch, which is
|
|
17
|
-
* also the only thing a test can name up front.
|
|
18
|
-
*
|
|
19
|
-
* `queryHash` would be stable too, but it is raw JSON (`["qbench","fresh"]`) —
|
|
20
|
-
* quotes and brackets that neither Detox's `by.id` nor a Maestro selector
|
|
21
|
-
* handles cleanly. So the parts are slugged and joined the way the rest of
|
|
22
|
-
* Buoy's handles read: `buoy-rq-query-row-qbench-fresh`.
|
|
23
|
-
*/
|
|
24
|
-
|
|
25
|
-
/** One key part → a testID-safe slug. */
|
|
26
|
-
function slugPart(part) {
|
|
27
|
-
return String(part).toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "");
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
/** A query/mutation key (array or scalar) → its slug, e.g. `qbench-fresh`. */
|
|
31
|
-
function keySlug(key) {
|
|
32
|
-
const parts = Array.isArray(key) ? key : [key];
|
|
33
|
-
return parts.filter(part => part != null).map(slugPart).filter(Boolean).join("-") || "unkeyed";
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
/** `buoy-rq-query-row-<slug>` for a query key. */
|
|
37
|
-
function queryRowTestID(queryKey) {
|
|
38
|
-
return `buoy-rq-query-row-${keySlug(queryKey)}`;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* `buoy-rq-mutation-row-<slug>` for a mutation.
|
|
43
|
-
*
|
|
44
|
-
* Anonymous mutations (no `mutationKey`) fall back to the id — unstable across
|
|
45
|
-
* launches, but so is the mutation itself, and an unkeyed mutation has nothing
|
|
46
|
-
* else to be named by.
|
|
47
|
-
*/
|
|
48
|
-
function mutationRowTestID(mutationKey, mutationId) {
|
|
49
|
-
return mutationKey == null ? `buoy-rq-mutation-row-id-${mutationId}` : `buoy-rq-mutation-row-${keySlug(mutationKey)}`;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* `buoy-rq-explorer-<path>` for one node of the data explorer.
|
|
54
|
-
*
|
|
55
|
-
* The path is the same array the editor writes through
|
|
56
|
-
* (`updateNestedDataByPath`), so the handle and the write target can't drift:
|
|
57
|
-
* `buoy-rq-explorer-nested-count` edits `data.nested.count`.
|
|
58
|
-
*/
|
|
59
|
-
function explorerTestID(dataPath) {
|
|
60
|
-
return dataPath.length === 0 ? "buoy-rq-explorer-root" : `buoy-rq-explorer-${dataPath.map(slugPart).filter(Boolean).join("-")}`;
|
|
61
|
-
}
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.explorerTestID=explorerTestID;exports.keySlug=keySlug;exports.mutationRowTestID=mutationRowTestID;exports.queryRowTestID=queryRowTestID;function slugPart(r){return String(r).toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}function keySlug(r){const e=Array.isArray(r)?r:[r];return e.filter(o=>o!=null).map(slugPart).filter(Boolean).join("-")||"unkeyed"}function queryRowTestID(r){return`buoy-rq-query-row-${keySlug(r)}`}function mutationRowTestID(r,e){return r==null?`buoy-rq-mutation-row-id-${e}`:`buoy-rq-mutation-row-${keySlug(r)}`}function explorerTestID(r){return r.length===0?"buoy-rq-explorer-root":`buoy-rq-explorer-${r.map(slugPart).filter(Boolean).join("-")}`}
|
|
@@ -1,61 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.updateNestedDataByPath = void 0;
|
|
7
|
-
/**
|
|
8
|
-
* updates nested data by path
|
|
9
|
-
*
|
|
10
|
-
* @param {JsonValue} oldData Data to be updated
|
|
11
|
-
* @param {Array<string>} updatePath Path to the data to be updated
|
|
12
|
-
* @param {JsonValue} value New value
|
|
13
|
-
*/
|
|
14
|
-
const updateNestedDataByPath = (oldData, updatePath, value) => {
|
|
15
|
-
if (updatePath.length === 0) {
|
|
16
|
-
return value;
|
|
17
|
-
}
|
|
18
|
-
if (oldData instanceof Map) {
|
|
19
|
-
const newData = new Map(oldData);
|
|
20
|
-
if (updatePath.length === 1) {
|
|
21
|
-
newData.set(updatePath[0], value);
|
|
22
|
-
return newData;
|
|
23
|
-
}
|
|
24
|
-
const [head, ...tail] = updatePath;
|
|
25
|
-
const currentValue = newData.get(head);
|
|
26
|
-
newData.set(head, updateNestedDataByPath(currentValue ?? null, tail, value));
|
|
27
|
-
return newData;
|
|
28
|
-
}
|
|
29
|
-
if (oldData instanceof Set) {
|
|
30
|
-
const setAsArray = updateNestedDataByPath(Array.from(oldData), updatePath, value);
|
|
31
|
-
return new Set(Array.isArray(setAsArray) ? setAsArray : []);
|
|
32
|
-
}
|
|
33
|
-
if (Array.isArray(oldData)) {
|
|
34
|
-
const newData = [...oldData];
|
|
35
|
-
if (updatePath.length === 1) {
|
|
36
|
-
// @ts-expect-error NAS
|
|
37
|
-
newData[updatePath[0]] = value;
|
|
38
|
-
return newData;
|
|
39
|
-
}
|
|
40
|
-
const [head, ...tail] = updatePath;
|
|
41
|
-
// @ts-expect-error NAS
|
|
42
|
-
newData[head] = updateNestedDataByPath(newData[head], tail, value);
|
|
43
|
-
return newData;
|
|
44
|
-
}
|
|
45
|
-
if (oldData instanceof Object) {
|
|
46
|
-
const newData = {
|
|
47
|
-
...oldData
|
|
48
|
-
};
|
|
49
|
-
if (updatePath.length === 1) {
|
|
50
|
-
// @ts-expect-error NAS
|
|
51
|
-
newData[updatePath[0]] = value;
|
|
52
|
-
return newData;
|
|
53
|
-
}
|
|
54
|
-
const [head, ...tail] = updatePath;
|
|
55
|
-
// @ts-expect-error NAS
|
|
56
|
-
newData[head] = updateNestedDataByPath(newData[head], tail, value);
|
|
57
|
-
return newData;
|
|
58
|
-
}
|
|
59
|
-
return oldData;
|
|
60
|
-
};
|
|
61
|
-
exports.updateNestedDataByPath = updateNestedDataByPath;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.updateNestedDataByPath=void 0;const updateNestedDataByPath=(n,e,t)=>{if(e.length===0){return t}if(n instanceof Map){const r=new Map(n);if(e.length===1){r.set(e[0],t);return r}const[s,...i]=e;const c=r.get(s);r.set(s,updateNestedDataByPath(c??null,i,t));return r}if(n instanceof Set){const r=updateNestedDataByPath(Array.from(n),e,t);return new Set(Array.isArray(r)?r:[])}if(Array.isArray(n)){const r=[...n];if(e.length===1){r[e[0]]=t;return r}const[s,...i]=e;r[s]=updateNestedDataByPath(r[s],i,t);return r}if(n instanceof Object){const r={...n};if(e.length===1){r[e[0]]=t;return r}const[s,...i]=e;r[s]=updateNestedDataByPath(r[s],i,t);return r}return n};exports.updateNestedDataByPath=updateNestedDataByPath;
|
package/lib/module/checkPeer.js
CHANGED
|
@@ -1,8 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
// Check if @tanstack/react-query is installed
|
|
4
|
-
try {
|
|
5
|
-
require("@tanstack/react-query");
|
|
6
|
-
} catch (error) {
|
|
7
|
-
throw new Error("\n\n[@buoy-gg/react-query] ERROR: Missing required peer dependency\n\n" + "This package requires @tanstack/react-query to be installed.\n\n" + "Install it with:\n" + " npm install @tanstack/react-query\n" + " or\n" + " pnpm add @tanstack/react-query\n" + " or\n" + " yarn add @tanstack/react-query\n\n" + "For more information, visit: https://tanstack.com/query/latest\n");
|
|
8
|
-
}
|
|
1
|
+
"use strict";try{require("@tanstack/react-query")}catch(r){throw new Error("\n\n[@buoy-gg/react-query] ERROR: Missing required peer dependency\n\nThis package requires @tanstack/react-query to be installed.\n\nInstall it with:\n npm install @tanstack/react-query\n or\n pnpm add @tanstack/react-query\n or\n yarn add @tanstack/react-query\n\nFor more information, visit: https://tanstack.com/query/latest\n")}
|
package/lib/module/index.js
CHANGED
|
@@ -1,130 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* @buoy-gg/react-query
|
|
5
|
-
*
|
|
6
|
-
* React Query DevTools for React Native.
|
|
7
|
-
*
|
|
8
|
-
* PUBLIC API - Only these exports are supported for external use.
|
|
9
|
-
* Internal stores and event subscription mechanisms are not exported
|
|
10
|
-
* to prevent bypassing the tool's intended usage patterns.
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
import './checkPeer';
|
|
14
|
-
|
|
15
|
-
// =============================================================================
|
|
16
|
-
// PRESET (Primary entry point for users)
|
|
17
|
-
// =============================================================================
|
|
18
|
-
export { reactQueryToolPreset, createReactQueryTool, wifiTogglePreset, createWifiToggleTool } from "./preset";
|
|
19
|
-
|
|
20
|
-
// =============================================================================
|
|
21
|
-
// QUERY CLIENT CONNECTION (Required for users to connect their QueryClient)
|
|
22
|
-
// =============================================================================
|
|
23
|
-
export { setQueryClient, disconnectQueryClient } from "./react-query/stores/reactQueryEventStore";
|
|
24
|
-
|
|
25
|
-
// =============================================================================
|
|
26
|
-
// EXTERNAL SYNC (Adapter factory for @buoy-gg/external-sync's useExternalSync)
|
|
27
|
-
// =============================================================================
|
|
28
|
-
export { createReactQuerySyncAdapter } from "./react-query/sync/reactQuerySyncAdapter";
|
|
29
|
-
export { useReactQuerySyncAdapter } from "./react-query/sync/useReactQuerySyncAdapter";
|
|
30
|
-
// =============================================================================
|
|
31
|
-
// COMPONENTS (For custom UI implementations)
|
|
32
|
-
// =============================================================================
|
|
33
|
-
|
|
34
|
-
// Main modals
|
|
35
|
-
export { ReactQueryModal } from "./react-query/components/modals/ReactQueryModal";
|
|
36
|
-
export { ReactQueryModalHeader } from "./react-query/components/modals/ReactQueryModalHeader";
|
|
37
|
-
export { QueryBrowserModal } from "./react-query/components/modals/QueryBrowserModal";
|
|
38
|
-
export { MutationBrowserModal } from "./react-query/components/modals/MutationBrowserModal";
|
|
39
|
-
export { MutationEditorModal } from "./react-query/components/modals/MutationEditorModal";
|
|
40
|
-
export { DataEditorModal } from "./react-query/components/modals/DataEditorModal";
|
|
41
|
-
export { QueryBrowserFooter } from "./react-query/components/modals/QueryBrowserFooter";
|
|
42
|
-
export { MutationBrowserFooter } from "./react-query/components/modals/MutationBrowserFooter";
|
|
43
|
-
export { SwipeIndicator } from "./react-query/components/modals/SwipeIndicator";
|
|
44
|
-
|
|
45
|
-
// Query browser components
|
|
46
|
-
export { Explorer, QueryBrowser, QueryDetails, QueryInformation, QueryActions, QueryRow, QueryStatus, QueryStatusCount, QueryDetailsChip, MutationsList, MutationDetails, MutationInformation, MutationButton, MutationStatusCount, MutationDetailsChips, ActionButton, ClearCacheButton, NetworkToggleButton, StorageStatusCount } from "./react-query/components/query-browser";
|
|
47
|
-
|
|
48
|
-
// Mode components
|
|
49
|
-
export { QueryBrowserMode } from "./react-query/components/QueryBrowserMode";
|
|
50
|
-
export { MutationBrowserMode } from "./react-query/components/MutationBrowserMode";
|
|
51
|
-
export { MutationEditorMode } from "./react-query/components/MutationEditorMode";
|
|
52
|
-
export { DataEditorMode } from "./react-query/components/DataEditorMode";
|
|
53
|
-
export { QuerySelector } from "./react-query/components/QuerySelector";
|
|
54
|
-
export { QueryDebugInfo } from "./react-query/components/QueryDebugInfo";
|
|
55
|
-
export { WifiToggle } from "./react-query/components/WifiToggle";
|
|
56
|
-
export { ReactQuerySection } from "./react-query/components/ReactQuerySection";
|
|
57
|
-
export { ReactQueryDevToolsModal } from "./react-query/components/ReactQueryDevToolsModal";
|
|
58
|
-
/**
|
|
59
|
-
* Connects the event store to the app's QueryClient at startup. Auto-rendered
|
|
60
|
-
* by `FloatingDevTools`; exported so a host that does not use the floating menu
|
|
61
|
-
* can mount it itself.
|
|
62
|
-
*/
|
|
63
|
-
export { ReactQueryTracker } from "./react-query/components/ReactQueryTracker";
|
|
64
|
-
|
|
65
|
-
// Shared data viewer components
|
|
66
|
-
export { VirtualizedDataExplorer, DataViewer, TypeLegend } from "@buoy-gg/shared-ui/dataViewer";
|
|
67
|
-
|
|
68
|
-
// =============================================================================
|
|
69
|
-
// HOOKS (For consuming React Query data)
|
|
70
|
-
// =============================================================================
|
|
71
|
-
export { default as useAllQueries } from "./react-query/hooks/useAllQueries";
|
|
72
|
-
export { default as useAllMutations } from "./react-query/hooks/useAllMutations";
|
|
73
|
-
export { useGetQueryByQueryKey, useGetQueryByQueryKeyWithVersion } from "./react-query/hooks/useSelectedQuery";
|
|
74
|
-
export { useGetMutationById } from "./react-query/hooks/useSelectedMutation";
|
|
75
|
-
export { default as useQueryStatusCounts } from "./react-query/hooks/useQueryStatusCounts";
|
|
76
|
-
export { useStorageQueryCounts } from "./react-query/hooks/useStorageQueryCounts";
|
|
77
|
-
export { useReactQueryState } from "./react-query/hooks/useReactQueryState";
|
|
78
|
-
export { useActionButtons } from "./react-query/hooks/useActionButtons";
|
|
79
|
-
export { useMutationActionButtons } from "./react-query/hooks/useMutationActionButtons";
|
|
80
|
-
export { useModalManager } from "./react-query/hooks/useModalManager";
|
|
81
|
-
export { useModalPersistence } from "./react-query/hooks/useModalPersistence";
|
|
82
|
-
export { useWifiState } from "./react-query/hooks/useWifiState";
|
|
83
|
-
|
|
84
|
-
// =============================================================================
|
|
85
|
-
// UTILITIES (Public helpers only)
|
|
86
|
-
// =============================================================================
|
|
87
|
-
|
|
88
|
-
// Action utilities
|
|
89
|
-
export { default as invalidate } from "./react-query/utils/actions/invalidate";
|
|
90
|
-
export { default as refetch } from "./react-query/utils/actions/refetch";
|
|
91
|
-
export { default as reset } from "./react-query/utils/actions/reset";
|
|
92
|
-
export { default as remove } from "./react-query/utils/actions/remove";
|
|
93
|
-
export { default as deleteItem } from "./react-query/utils/actions/deleteItem";
|
|
94
|
-
export { default as triggerError } from "./react-query/utils/actions/triggerError";
|
|
95
|
-
export { default as triggerLoading } from "./react-query/utils/actions/triggerLoading";
|
|
96
|
-
|
|
97
|
-
// Query status utilities
|
|
98
|
-
export * from "./react-query/utils/getQueryStatusLabel";
|
|
99
|
-
export * from "./react-query/utils/getQueryStatusColor";
|
|
100
|
-
|
|
101
|
-
// Storage utilities
|
|
102
|
-
export * from "./react-query/utils/getStorageQueryCounts";
|
|
103
|
-
export * from "./react-query/utils/storageQueryUtils";
|
|
104
|
-
export * from "./react-query/utils/modalStorageOperations";
|
|
105
|
-
|
|
106
|
-
// Data manipulation utilities
|
|
107
|
-
export * from "./react-query/utils/updateNestedDataByPath";
|
|
108
|
-
export * from "./react-query/utils/deleteNestedDataByPath";
|
|
109
|
-
export { safeStringify, displayValue, parseDisplayValue } from "@buoy-gg/shared-ui";
|
|
110
|
-
|
|
111
|
-
// =============================================================================
|
|
112
|
-
// TYPES
|
|
113
|
-
// =============================================================================
|
|
114
|
-
|
|
115
|
-
export { isPlainObject } from "./react-query/types/types";
|
|
116
|
-
|
|
117
|
-
// =============================================================================
|
|
118
|
-
// INTERNAL EXPORTS (For @buoy-gg/* packages only - not part of public API)
|
|
119
|
-
// =============================================================================
|
|
120
|
-
/** @internal */
|
|
121
|
-
export { reactQueryEventStore } from "./react-query/stores/reactQueryEventStore";
|
|
122
|
-
|
|
123
|
-
// =============================================================================
|
|
124
|
-
// NOT EXPORTED (Internal controls)
|
|
125
|
-
// =============================================================================
|
|
126
|
-
// The following are intentionally NOT exported to prevent bypassing:
|
|
127
|
-
// - getReactQueryEvents (internal store access)
|
|
128
|
-
// - subscribeToReactQueryEvents (internal subscription)
|
|
129
|
-
// - clearReactQueryEvents (internal store control)
|
|
130
|
-
// - isReactQueryConnected (internal state query)
|
|
1
|
+
"use strict";import"./checkPeer";export{reactQueryToolPreset,createReactQueryTool,wifiTogglePreset,createWifiToggleTool}from"./preset";export{setQueryClient,disconnectQueryClient}from"./react-query/stores/reactQueryEventStore";export{createReactQuerySyncAdapter}from"./react-query/sync/reactQuerySyncAdapter";export{useReactQuerySyncAdapter}from"./react-query/sync/useReactQuerySyncAdapter";export{ReactQueryModal}from"./react-query/components/modals/ReactQueryModal";export{ReactQueryModalHeader}from"./react-query/components/modals/ReactQueryModalHeader";export{QueryBrowserModal}from"./react-query/components/modals/QueryBrowserModal";export{MutationBrowserModal}from"./react-query/components/modals/MutationBrowserModal";export{MutationEditorModal}from"./react-query/components/modals/MutationEditorModal";export{DataEditorModal}from"./react-query/components/modals/DataEditorModal";export{QueryBrowserFooter}from"./react-query/components/modals/QueryBrowserFooter";export{MutationBrowserFooter}from"./react-query/components/modals/MutationBrowserFooter";export{SwipeIndicator}from"./react-query/components/modals/SwipeIndicator";export{Explorer,QueryBrowser,QueryDetails,QueryInformation,QueryActions,QueryRow,QueryStatus,QueryStatusCount,QueryDetailsChip,MutationsList,MutationDetails,MutationInformation,MutationButton,MutationStatusCount,MutationDetailsChips,ActionButton,ClearCacheButton,NetworkToggleButton,StorageStatusCount}from"./react-query/components/query-browser";export{QueryBrowserMode}from"./react-query/components/QueryBrowserMode";export{MutationBrowserMode}from"./react-query/components/MutationBrowserMode";export{MutationEditorMode}from"./react-query/components/MutationEditorMode";export{DataEditorMode}from"./react-query/components/DataEditorMode";export{QuerySelector}from"./react-query/components/QuerySelector";export{QueryDebugInfo}from"./react-query/components/QueryDebugInfo";export{WifiToggle}from"./react-query/components/WifiToggle";export{ReactQuerySection}from"./react-query/components/ReactQuerySection";export{ReactQueryDevToolsModal}from"./react-query/components/ReactQueryDevToolsModal";export{ReactQueryTracker}from"./react-query/components/ReactQueryTracker";export{VirtualizedDataExplorer,DataViewer,TypeLegend}from"@buoy-gg/shared-ui/dataViewer";export{default as useAllQueries}from"./react-query/hooks/useAllQueries";export{default as useAllMutations}from"./react-query/hooks/useAllMutations";export{useGetQueryByQueryKey,useGetQueryByQueryKeyWithVersion}from"./react-query/hooks/useSelectedQuery";export{useGetMutationById}from"./react-query/hooks/useSelectedMutation";export{default as useQueryStatusCounts}from"./react-query/hooks/useQueryStatusCounts";export{useStorageQueryCounts}from"./react-query/hooks/useStorageQueryCounts";export{useReactQueryState}from"./react-query/hooks/useReactQueryState";export{useActionButtons}from"./react-query/hooks/useActionButtons";export{useMutationActionButtons}from"./react-query/hooks/useMutationActionButtons";export{useModalManager}from"./react-query/hooks/useModalManager";export{useModalPersistence}from"./react-query/hooks/useModalPersistence";export{useWifiState}from"./react-query/hooks/useWifiState";export{default as invalidate}from"./react-query/utils/actions/invalidate";export{default as refetch}from"./react-query/utils/actions/refetch";export{default as reset}from"./react-query/utils/actions/reset";export{default as remove}from"./react-query/utils/actions/remove";export{default as deleteItem}from"./react-query/utils/actions/deleteItem";export{default as triggerError}from"./react-query/utils/actions/triggerError";export{default as triggerLoading}from"./react-query/utils/actions/triggerLoading";export*from"./react-query/utils/getQueryStatusLabel";export*from"./react-query/utils/getQueryStatusColor";export*from"./react-query/utils/getStorageQueryCounts";export*from"./react-query/utils/storageQueryUtils";export*from"./react-query/utils/modalStorageOperations";export*from"./react-query/utils/updateNestedDataByPath";export*from"./react-query/utils/deleteNestedDataByPath";export{safeStringify,displayValue,parseDisplayValue}from"@buoy-gg/shared-ui";export{isPlainObject}from"./react-query/types/types";export{reactQueryEventStore}from"./react-query/stores/reactQueryEventStore";
|