@buoy-gg/react-query 1.7.8 → 2.1.1

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.
Files changed (38) hide show
  1. package/lib/commonjs/index.js +619 -24
  2. package/lib/commonjs/preset.js +1 -1
  3. package/lib/commonjs/react-query/components/ReactQueryDevToolsModal.js +12 -0
  4. package/lib/commonjs/react-query/components/modals/MutationBrowserModal.js +2 -1
  5. package/lib/commonjs/react-query/components/modals/QueryBrowserModal.js +8 -14
  6. package/lib/commonjs/react-query/hooks/useAllMutations.js +65 -15
  7. package/lib/commonjs/react-query/hooks/useWifiState.js +3 -3
  8. package/lib/commonjs/react-query/index.js +11 -0
  9. package/lib/commonjs/react-query/stores/index.js +48 -0
  10. package/lib/commonjs/react-query/stores/reactQueryEventStore.js +311 -0
  11. package/lib/commonjs/react-query/utils/modalStorageOperations.js +2 -2
  12. package/lib/module/index.js +113 -8
  13. package/lib/module/preset.js +2 -2
  14. package/lib/module/react-query/components/ReactQueryDevToolsModal.js +13 -1
  15. package/lib/module/react-query/components/modals/MutationBrowserModal.js +2 -1
  16. package/lib/module/react-query/components/modals/QueryBrowserModal.js +9 -15
  17. package/lib/module/react-query/hooks/useAllMutations.js +66 -16
  18. package/lib/module/react-query/hooks/useWifiState.js +4 -4
  19. package/lib/module/react-query/index.js +2 -1
  20. package/lib/module/react-query/stores/index.js +3 -0
  21. package/lib/module/react-query/stores/reactQueryEventStore.js +302 -0
  22. package/lib/module/react-query/utils/modalStorageOperations.js +3 -3
  23. package/lib/typescript/index.d.ts +61 -5
  24. package/lib/typescript/index.d.ts.map +1 -1
  25. package/lib/typescript/react-query/components/ReactQueryDevToolsModal.d.ts.map +1 -1
  26. package/lib/typescript/react-query/components/modals/MutationBrowserModal.d.ts.map +1 -1
  27. package/lib/typescript/react-query/components/modals/QueryBrowserModal.d.ts.map +1 -1
  28. package/lib/typescript/react-query/hooks/useAllMutations.d.ts +2 -2
  29. package/lib/typescript/react-query/hooks/useAllMutations.d.ts.map +1 -1
  30. package/lib/typescript/react-query/hooks/useWifiState.d.ts +1 -1
  31. package/lib/typescript/react-query/hooks/useWifiState.d.ts.map +1 -1
  32. package/lib/typescript/react-query/index.d.ts +1 -0
  33. package/lib/typescript/react-query/index.d.ts.map +1 -1
  34. package/lib/typescript/react-query/stores/index.d.ts +2 -0
  35. package/lib/typescript/react-query/stores/index.d.ts.map +1 -0
  36. package/lib/typescript/react-query/stores/reactQueryEventStore.d.ts +99 -0
  37. package/lib/typescript/react-query/stores/reactQueryEventStore.d.ts.map +1 -0
  38. package/package.json +17 -3
@@ -0,0 +1,302 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * React Query Event Store
5
+ *
6
+ * Bridges React Query's cache subscription system to a simple pub/sub pattern
7
+ * that can be consumed by the unified Events DevTools.
8
+ *
9
+ * Usage:
10
+ * 1. In your app, call setQueryClient(queryClient) to connect
11
+ * 2. The store will emit events for query/mutation state changes
12
+ * 3. The Events DevTools subscribes to these events
13
+ */
14
+
15
+ import { isStorageQuery } from "../utils/storageQueryUtils";
16
+
17
+ /**
18
+ * React Query event types for the unified timeline
19
+ */
20
+
21
+ /**
22
+ * Unified React Query event for the timeline
23
+ */
24
+
25
+ let eventIdCounter = 0;
26
+ function generateEventId() {
27
+ return `rq-${Date.now()}-${++eventIdCounter}`;
28
+ }
29
+ class ReactQueryEventStore {
30
+ events = [];
31
+ listeners = new Set();
32
+ queryClient = null;
33
+ queryUnsubscribe = null;
34
+ mutationUnsubscribe = null;
35
+ maxEvents = 200;
36
+
37
+ // Track fetch start times for duration calculation
38
+ fetchStartTimes = new Map();
39
+ mutationStartTimes = new Map();
40
+
41
+ // Track last known states to detect transitions
42
+ lastQueryStates = new Map();
43
+ lastMutationStates = new Map();
44
+
45
+ /**
46
+ * Connect a QueryClient to the store
47
+ * Call this in your app after creating the QueryClient
48
+ */
49
+ setQueryClient(queryClient) {
50
+ // Cleanup previous connection
51
+ this.disconnect();
52
+ this.queryClient = queryClient;
53
+
54
+ // Subscribe to query cache
55
+ this.queryUnsubscribe = queryClient.getQueryCache().subscribe(event => {
56
+ if (event.type === "updated" && event.query) {
57
+ this.handleQueryUpdate(event.query);
58
+ }
59
+ });
60
+
61
+ // Subscribe to mutation cache
62
+ this.mutationUnsubscribe = queryClient.getMutationCache().subscribe(event => {
63
+ if (event.type === "updated" && event.mutation) {
64
+ this.handleMutationUpdate(event.mutation);
65
+ }
66
+ });
67
+ }
68
+
69
+ /**
70
+ * Disconnect from the QueryClient
71
+ */
72
+ disconnect() {
73
+ if (this.queryUnsubscribe) {
74
+ this.queryUnsubscribe();
75
+ this.queryUnsubscribe = null;
76
+ }
77
+ if (this.mutationUnsubscribe) {
78
+ this.mutationUnsubscribe();
79
+ this.mutationUnsubscribe = null;
80
+ }
81
+ this.queryClient = null;
82
+ this.lastQueryStates.clear();
83
+ this.lastMutationStates.clear();
84
+ this.fetchStartTimes.clear();
85
+ this.mutationStartTimes.clear();
86
+ }
87
+
88
+ /**
89
+ * Handle query state updates and emit appropriate events
90
+ */
91
+ handleQueryUpdate(query) {
92
+ // Skip storage queries (internal to the devtools)
93
+ if (isStorageQuery(query.queryKey)) {
94
+ return;
95
+ }
96
+ const queryHash = query.queryHash;
97
+ const currentState = {
98
+ fetchStatus: query.state.fetchStatus,
99
+ status: query.state.status
100
+ };
101
+ const lastState = this.lastQueryStates.get(queryHash);
102
+
103
+ // Detect state transitions
104
+ if (!lastState) {
105
+ // New query - if it's fetching, emit fetch start
106
+ if (currentState.fetchStatus === "fetching") {
107
+ this.fetchStartTimes.set(queryHash, Date.now());
108
+ this.addEvent({
109
+ id: generateEventId(),
110
+ type: "query-fetch-start",
111
+ timestamp: Date.now(),
112
+ queryKey: query.queryKey,
113
+ queryHash,
114
+ query
115
+ });
116
+ }
117
+ } else {
118
+ // Existing query - check for transitions
119
+ const wasFetching = lastState.fetchStatus === "fetching";
120
+ const isFetching = currentState.fetchStatus === "fetching";
121
+
122
+ // Started fetching
123
+ if (!wasFetching && isFetching) {
124
+ this.fetchStartTimes.set(queryHash, Date.now());
125
+ this.addEvent({
126
+ id: generateEventId(),
127
+ type: "query-fetch-start",
128
+ timestamp: Date.now(),
129
+ queryKey: query.queryKey,
130
+ queryHash,
131
+ query
132
+ });
133
+ }
134
+
135
+ // Finished fetching
136
+ if (wasFetching && !isFetching) {
137
+ const startTime = this.fetchStartTimes.get(queryHash);
138
+ const duration = startTime ? Date.now() - startTime : undefined;
139
+ this.fetchStartTimes.delete(queryHash);
140
+ if (currentState.status === "error") {
141
+ this.addEvent({
142
+ id: generateEventId(),
143
+ type: "query-fetch-error",
144
+ timestamp: Date.now(),
145
+ queryKey: query.queryKey,
146
+ queryHash,
147
+ queryError: query.state.error,
148
+ duration,
149
+ query
150
+ });
151
+ } else {
152
+ this.addEvent({
153
+ id: generateEventId(),
154
+ type: "query-fetch-success",
155
+ timestamp: Date.now(),
156
+ queryKey: query.queryKey,
157
+ queryHash,
158
+ queryData: query.state.data,
159
+ duration,
160
+ query
161
+ });
162
+ }
163
+ }
164
+
165
+ // Query was invalidated
166
+ if (!lastState.status && query.state.isInvalidated) {
167
+ this.addEvent({
168
+ id: generateEventId(),
169
+ type: "query-invalidated",
170
+ timestamp: Date.now(),
171
+ queryKey: query.queryKey,
172
+ queryHash,
173
+ query
174
+ });
175
+ }
176
+ }
177
+
178
+ // Update last known state
179
+ this.lastQueryStates.set(queryHash, currentState);
180
+ }
181
+
182
+ /**
183
+ * Handle mutation state updates and emit appropriate events
184
+ */
185
+ handleMutationUpdate(mutation) {
186
+ const mutationId = mutation.mutationId;
187
+ const currentStatus = mutation.state.status;
188
+ const lastStatus = this.lastMutationStates.get(mutationId);
189
+ if (lastStatus !== currentStatus) {
190
+ // Status changed
191
+ if (currentStatus === "pending" && lastStatus !== "pending") {
192
+ // Mutation started
193
+ this.mutationStartTimes.set(mutationId, Date.now());
194
+ this.addEvent({
195
+ id: generateEventId(),
196
+ type: "mutation-start",
197
+ timestamp: Date.now(),
198
+ mutationId,
199
+ mutationKey: mutation.options.mutationKey,
200
+ mutationVariables: mutation.state.variables,
201
+ mutation
202
+ });
203
+ } else if (currentStatus === "success" && lastStatus === "pending") {
204
+ // Mutation succeeded
205
+ const startTime = this.mutationStartTimes.get(mutationId);
206
+ const duration = startTime ? Date.now() - startTime : undefined;
207
+ this.mutationStartTimes.delete(mutationId);
208
+ this.addEvent({
209
+ id: generateEventId(),
210
+ type: "mutation-success",
211
+ timestamp: Date.now(),
212
+ mutationId,
213
+ mutationKey: mutation.options.mutationKey,
214
+ mutationVariables: mutation.state.variables,
215
+ mutationData: mutation.state.data,
216
+ duration,
217
+ mutation
218
+ });
219
+ } else if (currentStatus === "error" && lastStatus === "pending") {
220
+ // Mutation failed
221
+ const startTime = this.mutationStartTimes.get(mutationId);
222
+ const duration = startTime ? Date.now() - startTime : undefined;
223
+ this.mutationStartTimes.delete(mutationId);
224
+ this.addEvent({
225
+ id: generateEventId(),
226
+ type: "mutation-error",
227
+ timestamp: Date.now(),
228
+ mutationId,
229
+ mutationKey: mutation.options.mutationKey,
230
+ mutationVariables: mutation.state.variables,
231
+ mutationError: mutation.state.error,
232
+ duration,
233
+ mutation
234
+ });
235
+ }
236
+ }
237
+
238
+ // Update last known status
239
+ this.lastMutationStates.set(mutationId, currentStatus);
240
+ }
241
+
242
+ /**
243
+ * Add an event to the store
244
+ */
245
+ addEvent(event) {
246
+ this.events = [event, ...this.events].slice(0, this.maxEvents);
247
+ this.notifyListeners();
248
+ }
249
+
250
+ /**
251
+ * Get all events
252
+ */
253
+ getEvents() {
254
+ return this.events;
255
+ }
256
+
257
+ /**
258
+ * Subscribe to event changes
259
+ */
260
+ subscribe(listener) {
261
+ this.listeners.add(listener);
262
+ // Immediately call with current events
263
+ listener(this.events);
264
+ return () => {
265
+ this.listeners.delete(listener);
266
+ };
267
+ }
268
+
269
+ /**
270
+ * Notify all listeners
271
+ */
272
+ notifyListeners() {
273
+ const events = this.events;
274
+ this.listeners.forEach(listener => listener(events));
275
+ }
276
+
277
+ /**
278
+ * Clear all events
279
+ */
280
+ clearEvents() {
281
+ this.events = [];
282
+ this.notifyListeners();
283
+ }
284
+
285
+ /**
286
+ * Check if connected to a QueryClient
287
+ */
288
+ isConnected() {
289
+ return this.queryClient !== null;
290
+ }
291
+ }
292
+
293
+ // Singleton instance
294
+ export const reactQueryEventStore = new ReactQueryEventStore();
295
+
296
+ // Convenience exports
297
+ export const setQueryClient = queryClient => reactQueryEventStore.setQueryClient(queryClient);
298
+ export const disconnectQueryClient = () => reactQueryEventStore.disconnect();
299
+ export const getReactQueryEvents = () => reactQueryEventStore.getEvents();
300
+ export const subscribeToReactQueryEvents = listener => reactQueryEventStore.subscribe(listener);
301
+ export const clearReactQueryEvents = () => reactQueryEventStore.clearEvents();
302
+ export const isReactQueryConnected = () => reactQueryEventStore.isConnected();
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
 
3
- import { safeSetItem, safeGetItem } from "@buoy-gg/shared-ui";
3
+ import { persistentStorage } from "@buoy-gg/shared-ui";
4
4
 
5
5
  // Helper functions for persisting panel state using shared storage wrapper
6
6
  const setItem = async (key, value) => {
7
- await safeSetItem(key, value);
7
+ await persistentStorage.setItem(key, value);
8
8
  };
9
9
  const getItem = async key => {
10
- return safeGetItem(key);
10
+ return persistentStorage.getItem(key);
11
11
  };
12
12
  // Storage operations
13
13
  /**
@@ -1,7 +1,63 @@
1
+ /**
2
+ * @buoy-gg/react-query
3
+ *
4
+ * React Query DevTools for React Native.
5
+ *
6
+ * PUBLIC API - Only these exports are supported for external use.
7
+ * Internal stores and event subscription mechanisms are not exported
8
+ * to prevent bypassing the tool's intended usage patterns.
9
+ */
1
10
  export { reactQueryToolPreset, createReactQueryTool, wifiTogglePreset, createWifiToggleTool, } from "./preset";
2
- export * from "./react-query";
3
- export * from "./react-query/components";
4
- export * from "./react-query/hooks";
5
- export * from "./react-query/utils";
6
- export * from "./react-query/types";
11
+ export { setQueryClient, disconnectQueryClient, type ReactQueryEvent, type ReactQueryEventType, } from "./react-query/stores/reactQueryEventStore";
12
+ export { ReactQueryModal } from "./react-query/components/modals/ReactQueryModal";
13
+ export { ReactQueryModalHeader } from "./react-query/components/modals/ReactQueryModalHeader";
14
+ export { QueryBrowserModal } from "./react-query/components/modals/QueryBrowserModal";
15
+ export { MutationBrowserModal } from "./react-query/components/modals/MutationBrowserModal";
16
+ export { MutationEditorModal } from "./react-query/components/modals/MutationEditorModal";
17
+ export { DataEditorModal } from "./react-query/components/modals/DataEditorModal";
18
+ export { QueryBrowserFooter } from "./react-query/components/modals/QueryBrowserFooter";
19
+ export { MutationBrowserFooter } from "./react-query/components/modals/MutationBrowserFooter";
20
+ export { SwipeIndicator } from "./react-query/components/modals/SwipeIndicator";
21
+ 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";
22
+ export { QueryBrowserMode } from "./react-query/components/QueryBrowserMode";
23
+ export { MutationBrowserMode } from "./react-query/components/MutationBrowserMode";
24
+ export { MutationEditorMode } from "./react-query/components/MutationEditorMode";
25
+ export { DataEditorMode } from "./react-query/components/DataEditorMode";
26
+ export { QuerySelector } from "./react-query/components/QuerySelector";
27
+ export { QueryDebugInfo } from "./react-query/components/QueryDebugInfo";
28
+ export { WifiToggle } from "./react-query/components/WifiToggle";
29
+ export { ReactQuerySection } from "./react-query/components/ReactQuerySection";
30
+ export { ReactQueryDevToolsModal } from "./react-query/components/ReactQueryDevToolsModal";
31
+ export { VirtualizedDataExplorer, DataViewer, TypeLegend, } from "@buoy-gg/shared-ui/dataViewer";
32
+ export { default as useAllQueries } from "./react-query/hooks/useAllQueries";
33
+ export { default as useAllMutations } from "./react-query/hooks/useAllMutations";
34
+ export { useGetQueryByQueryKey, useGetQueryByQueryKeyWithVersion, } from "./react-query/hooks/useSelectedQuery";
35
+ export { useGetMutationById } from "./react-query/hooks/useSelectedMutation";
36
+ export { default as useQueryStatusCounts } from "./react-query/hooks/useQueryStatusCounts";
37
+ export { useStorageQueryCounts } from "./react-query/hooks/useStorageQueryCounts";
38
+ export { useReactQueryState } from "./react-query/hooks/useReactQueryState";
39
+ export { useActionButtons } from "./react-query/hooks/useActionButtons";
40
+ export { useMutationActionButtons } from "./react-query/hooks/useMutationActionButtons";
41
+ export { useModalManager } from "./react-query/hooks/useModalManager";
42
+ export { useModalPersistence } from "./react-query/hooks/useModalPersistence";
43
+ export { useWifiState } from "./react-query/hooks/useWifiState";
44
+ export { default as invalidate } from "./react-query/utils/actions/invalidate";
45
+ export { default as refetch } from "./react-query/utils/actions/refetch";
46
+ export { default as reset } from "./react-query/utils/actions/reset";
47
+ export { default as remove } from "./react-query/utils/actions/remove";
48
+ export { default as deleteItem } from "./react-query/utils/actions/deleteItem";
49
+ export { default as triggerError } from "./react-query/utils/actions/triggerError";
50
+ export { default as triggerLoading } from "./react-query/utils/actions/triggerLoading";
51
+ export * from "./react-query/utils/getQueryStatusLabel";
52
+ export * from "./react-query/utils/getQueryStatusColor";
53
+ export * from "./react-query/utils/getStorageQueryCounts";
54
+ export * from "./react-query/utils/storageQueryUtils";
55
+ export * from "./react-query/utils/modalStorageOperations";
56
+ export * from "./react-query/utils/updateNestedDataByPath";
57
+ export * from "./react-query/utils/deleteNestedDataByPath";
58
+ export { safeStringify, displayValue, parseDisplayValue } from "@buoy-gg/shared-ui";
59
+ export type { JsonValue } from "./react-query/types/types";
60
+ export { isPlainObject } from "./react-query/types/types";
61
+ /** @internal */
62
+ export { reactQueryEventStore } from "./react-query/stores/reactQueryEventStore";
7
63
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAkBA,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,UAAU,CAAC;AAIlB,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ReactQueryDevToolsModal.d.ts","sourceRoot":"","sources":["../../../../src/react-query/components/ReactQueryDevToolsModal.tsx"],"names":[],"mappings":"AAIA,oFAAoF;AACpF,MAAM,WAAW,4BAA4B;IAC3C,8CAA8C;IAC9C,OAAO,EAAE,OAAO,CAAC;IACjB,yEAAyE;IACzE,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,yFAAyF;IACzF,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,KAAK,IAAI,CAAC;IACvC;;OAEG;IACH,2BAA2B,CAAC,EAAE,OAAO,CAAC;CACvC;AAQD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,OAAO,EACP,OAAO,EACP,UAAU,EACV,2BAAkC,GACnC,EAAE,4BAA4B,sCAwE9B"}
1
+ {"version":3,"file":"ReactQueryDevToolsModal.d.ts","sourceRoot":"","sources":["../../../../src/react-query/components/ReactQueryDevToolsModal.tsx"],"names":[],"mappings":"AAKA,oFAAoF;AACpF,MAAM,WAAW,4BAA4B;IAC3C,8CAA8C;IAC9C,OAAO,EAAE,OAAO,CAAC;IACjB,yEAAyE;IACzE,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,yFAAyF;IACzF,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,KAAK,IAAI,CAAC;IACvC;;OAEG;IACH,2BAA2B,CAAC,EAAE,OAAO,CAAC;CACvC;AAQD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,OAAO,EACP,OAAO,EACP,UAAU,EACV,2BAAkC,GACnC,EAAE,4BAA4B,sCAoF9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"MutationBrowserModal.d.ts","sourceRoot":"","sources":["../../../../../src/react-query/components/modals/MutationBrowserModal.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAkB,MAAM,uBAAuB,CAAC;AAcjE,UAAU,yBAAyB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,KAAK,IAAI,CAAC;IAC3D,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,KAAK,IAAI,CAAC;IACvC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACjD,WAAW,EAAE,CAAC,GAAG,EAAE,SAAS,GAAG,WAAW,KAAK,IAAI,CAAC;IACpD,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,OAAO,EACP,kBAAkB,EAClB,gBAAgB,EAChB,OAAO,EACP,UAAU,EACV,YAAY,EAAE,oBAAoB,EAClC,cAAc,EAAE,sBAAsB,EACtC,WAAW,EACX,2BAAmC,EACnC,UAAe,EACf,cAAc,GACf,EAAE,yBAAyB,sCA0I3B"}
1
+ {"version":3,"file":"MutationBrowserModal.d.ts","sourceRoot":"","sources":["../../../../../src/react-query/components/modals/MutationBrowserModal.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAkB,MAAM,uBAAuB,CAAC;AAcjE,UAAU,yBAAyB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,KAAK,IAAI,CAAC;IAC3D,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,KAAK,IAAI,CAAC;IACvC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACjD,WAAW,EAAE,CAAC,GAAG,EAAE,SAAS,GAAG,WAAW,KAAK,IAAI,CAAC;IACpD,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,OAAO,EACP,kBAAkB,EAClB,gBAAgB,EAChB,OAAO,EACP,UAAU,EACV,YAAY,EAAE,oBAAoB,EAClC,cAAc,EAAE,sBAAsB,EACtC,WAAW,EACX,2BAAmC,EACnC,UAAe,EACf,cAAc,GACf,EAAE,yBAAyB,sCA2I3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBrowserModal.d.ts","sourceRoot":"","sources":["../../../../../src/react-query/components/modals/QueryBrowserModal.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAkB,MAAM,uBAAuB,CAAC;AAiBxE,UAAU,sBAAsB;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,QAAQ,CAAC;IAC5B,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,KAAK,IAAI,CAAC;IAClD,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,KAAK,IAAI,CAAC;IACvC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACjD,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,WAAW,EAAE,CAAC,GAAG,EAAE,SAAS,GAAG,WAAW,KAAK,IAAI,CAAC;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,OAAO,EACP,gBAAgB,EAChB,aAAa,EACb,OAAO,EACP,UAAU,EACV,YAAY,EAAE,oBAAoB,EAClC,cAAc,EAAE,sBAAsB,EACtC,2BAAmC,EACnC,WAAW,EACX,UAAe,EACf,cAAc,GACf,EAAE,sBAAsB,sCA+NxB"}
1
+ {"version":3,"file":"QueryBrowserModal.d.ts","sourceRoot":"","sources":["../../../../../src/react-query/components/modals/QueryBrowserModal.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAkB,MAAM,uBAAuB,CAAC;AAiBxE,UAAU,sBAAsB;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,QAAQ,CAAC;IAC5B,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,KAAK,IAAI,CAAC;IAClD,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,KAAK,IAAI,CAAC;IACvC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACjD,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,WAAW,EAAE,CAAC,GAAG,EAAE,SAAS,GAAG,WAAW,KAAK,IAAI,CAAC;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,OAAO,EACP,gBAAgB,EAChB,aAAa,EACb,OAAO,EACP,UAAU,EACV,YAAY,EAAE,oBAAoB,EAClC,cAAc,EAAE,sBAAsB,EACtC,2BAAmC,EACnC,WAAW,EACX,UAAe,EACf,cAAc,GACf,EAAE,sBAAsB,sCA4NxB"}
@@ -1,7 +1,7 @@
1
1
  import { Mutation } from "@tanstack/react-query";
2
2
  /**
3
- * Tracks all active React Query mutations with lightweight change detection. Debounces cache
4
- * updates so large mutation batches do not thrash the UI thread on mobile.
3
+ * Tracks all active React Query mutations with lightweight change detection.
4
+ * Mirrors the pattern used in useAllQueries for consistency.
5
5
  */
6
6
  declare function useAllMutations(): {
7
7
  mutations: Mutation<unknown, Error, unknown, unknown>[];
@@ -1 +1 @@
1
- {"version":3,"file":"useAllMutations.d.ts","sourceRoot":"","sources":["../../../../src/react-query/hooks/useAllMutations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAkB,MAAM,uBAAuB,CAAC;AAEjE;;;GAGG;AACH,iBAAS,eAAe;;EAyBvB;AAED,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"useAllMutations.d.ts","sourceRoot":"","sources":["../../../../src/react-query/hooks/useAllMutations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAkB,MAAM,uBAAuB,CAAC;AAEjE;;;GAGG;AACH,iBAAS,eAAe;;EAqFvB;AAED,eAAe,eAAe,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Synchronizes a local Wi-Fi toggle with React Querys `onlineManager`, persisting the selection
2
+ * Synchronizes a local Wi-Fi toggle with React Query's `onlineManager`, persisting the selection
3
3
  * so developers can simulate offline mode across reloads.
4
4
  */
5
5
  export declare function useWifiState(): {
@@ -1 +1 @@
1
- {"version":3,"file":"useWifiState.d.ts","sourceRoot":"","sources":["../../../../src/react-query/hooks/useWifiState.ts"],"names":[],"mappings":"AAQA;;;GAGG;AACH,wBAAgB,YAAY;;;EAiE3B"}
1
+ {"version":3,"file":"useWifiState.d.ts","sourceRoot":"","sources":["../../../../src/react-query/hooks/useWifiState.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,wBAAgB,YAAY;;;EAiE3B"}
@@ -1,2 +1,3 @@
1
1
  export * from "./ReactQueryDevTools";
2
+ export * from "./stores";
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react-query/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react-query/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { reactQueryEventStore, setQueryClient, disconnectQueryClient, getReactQueryEvents, subscribeToReactQueryEvents, clearReactQueryEvents, isReactQueryConnected, type ReactQueryEvent, type ReactQueryEventType, } from "./reactQueryEventStore";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/react-query/stores/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,2BAA2B,EAC3B,qBAAqB,EACrB,qBAAqB,EACrB,KAAK,eAAe,EACpB,KAAK,mBAAmB,GACzB,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * React Query Event Store
3
+ *
4
+ * Bridges React Query's cache subscription system to a simple pub/sub pattern
5
+ * that can be consumed by the unified Events DevTools.
6
+ *
7
+ * Usage:
8
+ * 1. In your app, call setQueryClient(queryClient) to connect
9
+ * 2. The store will emit events for query/mutation state changes
10
+ * 3. The Events DevTools subscribes to these events
11
+ */
12
+ import type { QueryClient, Query, Mutation } from "@tanstack/react-query";
13
+ /**
14
+ * React Query event types for the unified timeline
15
+ */
16
+ export type ReactQueryEventType = "query-fetch-start" | "query-fetch-success" | "query-fetch-error" | "query-invalidated" | "mutation-start" | "mutation-success" | "mutation-error";
17
+ /**
18
+ * Unified React Query event for the timeline
19
+ */
20
+ export interface ReactQueryEvent {
21
+ id: string;
22
+ type: ReactQueryEventType;
23
+ timestamp: number;
24
+ queryKey?: unknown[];
25
+ queryHash?: string;
26
+ queryData?: unknown;
27
+ queryError?: unknown;
28
+ mutationId?: number;
29
+ mutationKey?: unknown[];
30
+ mutationVariables?: unknown;
31
+ mutationData?: unknown;
32
+ mutationError?: unknown;
33
+ duration?: number;
34
+ query?: Query;
35
+ mutation?: Mutation;
36
+ }
37
+ type ReactQueryEventListener = (events: ReactQueryEvent[]) => void;
38
+ declare class ReactQueryEventStore {
39
+ private events;
40
+ private listeners;
41
+ private queryClient;
42
+ private queryUnsubscribe;
43
+ private mutationUnsubscribe;
44
+ private maxEvents;
45
+ private fetchStartTimes;
46
+ private mutationStartTimes;
47
+ private lastQueryStates;
48
+ private lastMutationStates;
49
+ /**
50
+ * Connect a QueryClient to the store
51
+ * Call this in your app after creating the QueryClient
52
+ */
53
+ setQueryClient(queryClient: QueryClient): void;
54
+ /**
55
+ * Disconnect from the QueryClient
56
+ */
57
+ disconnect(): void;
58
+ /**
59
+ * Handle query state updates and emit appropriate events
60
+ */
61
+ private handleQueryUpdate;
62
+ /**
63
+ * Handle mutation state updates and emit appropriate events
64
+ */
65
+ private handleMutationUpdate;
66
+ /**
67
+ * Add an event to the store
68
+ */
69
+ private addEvent;
70
+ /**
71
+ * Get all events
72
+ */
73
+ getEvents(): ReactQueryEvent[];
74
+ /**
75
+ * Subscribe to event changes
76
+ */
77
+ subscribe(listener: ReactQueryEventListener): () => void;
78
+ /**
79
+ * Notify all listeners
80
+ */
81
+ private notifyListeners;
82
+ /**
83
+ * Clear all events
84
+ */
85
+ clearEvents(): void;
86
+ /**
87
+ * Check if connected to a QueryClient
88
+ */
89
+ isConnected(): boolean;
90
+ }
91
+ export declare const reactQueryEventStore: ReactQueryEventStore;
92
+ export declare const setQueryClient: (queryClient: QueryClient) => void;
93
+ export declare const disconnectQueryClient: () => void;
94
+ export declare const getReactQueryEvents: () => ReactQueryEvent[];
95
+ export declare const subscribeToReactQueryEvents: (listener: ReactQueryEventListener) => () => void;
96
+ export declare const clearReactQueryEvents: () => void;
97
+ export declare const isReactQueryConnected: () => boolean;
98
+ export {};
99
+ //# sourceMappingURL=reactQueryEventStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactQueryEventStore.d.ts","sourceRoot":"","sources":["../../../../src/react-query/stores/reactQueryEventStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAG1E;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAC3B,mBAAmB,GACnB,qBAAqB,GACrB,mBAAmB,GACnB,mBAAmB,GACnB,gBAAgB,GAChB,kBAAkB,GAClB,gBAAgB,CAAC;AAErB;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,mBAAmB,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAElB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,KAAK,uBAAuB,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,IAAI,CAAC;AAOnE,cAAM,oBAAoB;IACxB,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,SAAS,CAA2C;IAC5D,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,gBAAgB,CAA6B;IACrD,OAAO,CAAC,mBAAmB,CAA6B;IACxD,OAAO,CAAC,SAAS,CAAO;IAGxB,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,kBAAkB,CAAkC;IAG5D,OAAO,CAAC,eAAe,CAAmE;IAC1F,OAAO,CAAC,kBAAkB,CAAkC;IAE5D;;;OAGG;IACH,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAqB9C;;OAEG;IACH,UAAU,IAAI,IAAI;IAgBlB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA6FzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA4D5B;;OAEG;IACH,OAAO,CAAC,QAAQ;IAKhB;;OAEG;IACH,SAAS,IAAI,eAAe,EAAE;IAI9B;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,uBAAuB,GAAG,MAAM,IAAI;IASxD;;OAEG;IACH,OAAO,CAAC,eAAe;IAKvB;;OAEG;IACH,WAAW,IAAI,IAAI;IAKnB;;OAEG;IACH,WAAW,IAAI,OAAO;CAGvB;AAGD,eAAO,MAAM,oBAAoB,sBAA6B,CAAC;AAG/D,eAAO,MAAM,cAAc,GAAI,aAAa,WAAW,SACL,CAAC;AACnD,eAAO,MAAM,qBAAqB,YAA0C,CAAC;AAC7E,eAAO,MAAM,mBAAmB,yBAAyC,CAAC;AAC1E,eAAO,MAAM,2BAA2B,GAAI,UAAU,uBAAuB,WAzCvB,IA0CZ,CAAC;AAC3C,eAAO,MAAM,qBAAqB,YAA2C,CAAC;AAC9E,eAAO,MAAM,qBAAqB,eAA2C,CAAC"}
package/package.json CHANGED
@@ -1,19 +1,33 @@
1
1
  {
2
2
  "name": "@buoy-gg/react-query",
3
- "version": "1.7.8",
3
+ "version": "2.1.1",
4
4
  "description": "react-query package",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
7
7
  "types": "lib/typescript/index.d.ts",
8
8
  "react-native": "lib/module/index.js",
9
9
  "source": "src/index.tsx",
10
+ "exports": {
11
+ ".": {
12
+ "react-native": "./lib/module/index.js",
13
+ "import": {
14
+ "default": "./lib/module/index.js",
15
+ "types": "./lib/typescript/index.d.ts"
16
+ },
17
+ "require": {
18
+ "default": "./lib/commonjs/index.js",
19
+ "types": "./lib/typescript/index.d.ts"
20
+ }
21
+ },
22
+ "./package.json": "./package.json"
23
+ },
10
24
  "files": [
11
25
  "lib"
12
26
  ],
13
27
  "sideEffects": false,
14
28
  "dependencies": {
15
- "@buoy-gg/floating-tools-core": "1.7.8",
16
- "@buoy-gg/shared-ui": "1.7.8"
29
+ "@buoy-gg/floating-tools-core": "2.1.1",
30
+ "@buoy-gg/shared-ui": "2.1.1"
17
31
  },
18
32
  "peerDependencies": {
19
33
  "@tanstack/react-query": ">=5.0.0",