@buoy-gg/react-query 2.1.9 → 2.1.11

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.
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.ReactQueryDevToolsModal = ReactQueryDevToolsModal;
7
7
  var _react = require("react");
8
8
  var _reactQuery = require("@tanstack/react-query");
9
+ var _sharedUi = require("@buoy-gg/shared-ui");
9
10
  var _ReactQueryModal = require("./modals/ReactQueryModal");
10
11
  var _reactQueryEventStore = require("../stores/reactQueryEventStore");
11
12
  var _jsxRuntime = require("react/jsx-runtime");
@@ -69,20 +70,22 @@ function ReactQueryDevToolsModal({
69
70
  if (!visible) {
70
71
  return null;
71
72
  }
72
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ReactQueryModal.ReactQueryModal, {
73
- visible: visible,
74
- selectedQueryKey: selectedQueryKey,
75
- selectedMutationId: selectedMutationId,
76
- onQuerySelect: handleQuerySelect,
77
- onMutationSelect: handleMutationSelect,
78
- onClose: handleClose,
79
- onMinimize: onMinimize,
80
- activeFilter: activeFilter,
81
- onFilterChange: handleFilterChange,
82
- activeTab: activeTab,
83
- onTabChange: handleTabChange,
84
- searchText: searchText,
85
- onSearchChange: handleSearchChange,
86
- enableSharedModalDimensions: enableSharedModalDimensions
73
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.TickProvider, {
74
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ReactQueryModal.ReactQueryModal, {
75
+ visible: visible,
76
+ selectedQueryKey: selectedQueryKey,
77
+ selectedMutationId: selectedMutationId,
78
+ onQuerySelect: handleQuerySelect,
79
+ onMutationSelect: handleMutationSelect,
80
+ onClose: handleClose,
81
+ onMinimize: onMinimize,
82
+ activeFilter: activeFilter,
83
+ onFilterChange: handleFilterChange,
84
+ activeTab: activeTab,
85
+ onTabChange: handleTabChange,
86
+ searchText: searchText,
87
+ onSearchChange: handleSearchChange,
88
+ enableSharedModalDimensions: enableSharedModalDimensions
89
+ })
87
90
  });
88
91
  }
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = MutationButton;
7
7
  var _reactNative = require("react-native");
8
8
  var _svgs = require("./svgs");
9
- var _formatRelativeTime = require("../../utils/formatRelativeTime");
10
9
  var _sharedUi = require("@buoy-gg/shared-ui");
11
10
  var _jsxRuntime = require("react/jsx-runtime");
12
11
  const getMutationText = mutation => {
@@ -24,24 +23,20 @@ function MutationButton({
24
23
  }) {
25
24
  const submittedAt = new Date(mutation.state.submittedAt).toLocaleTimeString();
26
25
 
27
- // Get last updated timestamp - always show something for debugging
28
- const getTimestamp = () => {
26
+ // Get the best available timestamp for this mutation
27
+ const bestTimestamp = (() => {
29
28
  if (mutation.state.submittedAt && mutation.state.submittedAt > 0) {
30
- return (0, _formatRelativeTime.formatRelativeTime)(mutation.state.submittedAt);
29
+ return mutation.state.submittedAt;
31
30
  }
32
-
33
31
  // @ts-ignore - exploring state fields for debugging
34
32
  const stateAny = mutation.state;
35
-
36
- // Try other timestamp fields
37
33
  if (stateAny.updatedAt && stateAny.updatedAt > 0) {
38
- return (0, _formatRelativeTime.formatRelativeTime)(stateAny.updatedAt);
34
+ return stateAny.updatedAt;
39
35
  }
40
-
41
- // Debug fallback
42
- return `N/A (${mutation.state.submittedAt || 0})`;
43
- };
44
- const lastUpdated = getTimestamp();
36
+ return null;
37
+ })();
38
+ const relativeTime = (0, _sharedUi.useRelativeTime)(bestTimestamp);
39
+ const lastUpdated = relativeTime || `N/A (${mutation.state.submittedAt || 0})`;
45
40
  const getStatusInfo = () => {
46
41
  if (mutation.state.isPaused) {
47
42
  return {
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _getQueryStatusLabel = require("../../utils/getQueryStatusLabel");
8
- var _formatRelativeTime = require("../../utils/formatRelativeTime");
9
8
  var _sharedUi = require("@buoy-gg/shared-ui");
10
9
  var _jsxRuntime = require("react/jsx-runtime");
11
10
  const getQueryText = query => {
@@ -48,36 +47,21 @@ const QueryRow = ({
48
47
  const isDisabled = query.isDisabled();
49
48
  const queryHash = getQueryText(query);
50
49
 
51
- // Get last updated time - try multiple timestamp fields
52
- const getTimestamp = () => {
53
- // Special handling for disabled queries
54
- if (isDisabled) {
55
- return "Disabled";
56
- }
57
-
58
- // Primary: dataUpdatedAt (when data was last fetched/updated)
50
+ // Get the best available timestamp for this query
51
+ const bestTimestamp = (() => {
52
+ if (isDisabled) return null;
59
53
  if (query.state.dataUpdatedAt && query.state.dataUpdatedAt > 0) {
60
- return (0, _formatRelativeTime.formatRelativeTime)(query.state.dataUpdatedAt);
54
+ return query.state.dataUpdatedAt;
61
55
  }
62
-
63
- // Fallback: Check other potential timestamp fields
64
56
  // @ts-ignore - exploring state fields for debugging
65
57
  const stateAny = query.state;
66
-
67
- // Try fetchedAt or other common timestamp fields
68
58
  if (stateAny.fetchedAt && stateAny.fetchedAt > 0) {
69
- return (0, _formatRelativeTime.formatRelativeTime)(stateAny.fetchedAt);
59
+ return stateAny.fetchedAt;
70
60
  }
71
-
72
- // For queries that haven't fetched yet (but aren't disabled)
73
- if (query.state.dataUpdatedAt === 0) {
74
- return "Not fetched";
75
- }
76
-
77
- // Debug fallback - show what we have
78
- return `N/A (${query.state.dataUpdatedAt || 0})`;
79
- };
80
- const lastUpdated = getTimestamp();
61
+ return null;
62
+ })();
63
+ const relativeTime = (0, _sharedUi.useRelativeTime)(bestTimestamp);
64
+ const lastUpdated = isDisabled ? "Disabled" : relativeTime || (query.state.dataUpdatedAt === 0 ? "Not fetched" : `N/A (${query.state.dataUpdatedAt || 0})`);
81
65
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.CompactRow, {
82
66
  statusDotColor: getStatusHexColor(status),
83
67
  statusLabel: status.charAt(0).toUpperCase() + status.slice(1),
@@ -2,6 +2,7 @@
2
2
 
3
3
  import { useCallback, useState, useEffect } from "react";
4
4
  import { useQueryClient } from "@tanstack/react-query";
5
+ import { TickProvider } from "@buoy-gg/shared-ui";
5
6
  import { ReactQueryModal } from "./modals/ReactQueryModal";
6
7
  import { reactQueryEventStore } from "../stores/reactQueryEventStore";
7
8
 
@@ -65,20 +66,22 @@ export function ReactQueryDevToolsModal({
65
66
  if (!visible) {
66
67
  return null;
67
68
  }
68
- return /*#__PURE__*/_jsx(ReactQueryModal, {
69
- visible: visible,
70
- selectedQueryKey: selectedQueryKey,
71
- selectedMutationId: selectedMutationId,
72
- onQuerySelect: handleQuerySelect,
73
- onMutationSelect: handleMutationSelect,
74
- onClose: handleClose,
75
- onMinimize: onMinimize,
76
- activeFilter: activeFilter,
77
- onFilterChange: handleFilterChange,
78
- activeTab: activeTab,
79
- onTabChange: handleTabChange,
80
- searchText: searchText,
81
- onSearchChange: handleSearchChange,
82
- enableSharedModalDimensions: enableSharedModalDimensions
69
+ return /*#__PURE__*/_jsx(TickProvider, {
70
+ children: /*#__PURE__*/_jsx(ReactQueryModal, {
71
+ visible: visible,
72
+ selectedQueryKey: selectedQueryKey,
73
+ selectedMutationId: selectedMutationId,
74
+ onQuerySelect: handleQuerySelect,
75
+ onMutationSelect: handleMutationSelect,
76
+ onClose: handleClose,
77
+ onMinimize: onMinimize,
78
+ activeFilter: activeFilter,
79
+ onFilterChange: handleFilterChange,
80
+ activeTab: activeTab,
81
+ onTabChange: handleTabChange,
82
+ searchText: searchText,
83
+ onSearchChange: handleSearchChange,
84
+ enableSharedModalDimensions: enableSharedModalDimensions
85
+ })
83
86
  });
84
87
  }
@@ -2,8 +2,7 @@
2
2
 
3
3
  import { TouchableOpacity, Text, View, StyleSheet } from "react-native";
4
4
  import { CheckCircle, LoadingCircle, PauseCircle, XCircle } from "./svgs";
5
- import { formatRelativeTime } from "../../utils/formatRelativeTime";
6
- import { buoyColors } from "@buoy-gg/shared-ui";
5
+ import { buoyColors, useRelativeTime } from "@buoy-gg/shared-ui";
7
6
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
7
  const getMutationText = mutation => {
9
8
  if (!mutation.options.mutationKey) return "Anonymous Mutation";
@@ -20,24 +19,20 @@ export default function MutationButton({
20
19
  }) {
21
20
  const submittedAt = new Date(mutation.state.submittedAt).toLocaleTimeString();
22
21
 
23
- // Get last updated timestamp - always show something for debugging
24
- const getTimestamp = () => {
22
+ // Get the best available timestamp for this mutation
23
+ const bestTimestamp = (() => {
25
24
  if (mutation.state.submittedAt && mutation.state.submittedAt > 0) {
26
- return formatRelativeTime(mutation.state.submittedAt);
25
+ return mutation.state.submittedAt;
27
26
  }
28
-
29
27
  // @ts-ignore - exploring state fields for debugging
30
28
  const stateAny = mutation.state;
31
-
32
- // Try other timestamp fields
33
29
  if (stateAny.updatedAt && stateAny.updatedAt > 0) {
34
- return formatRelativeTime(stateAny.updatedAt);
30
+ return stateAny.updatedAt;
35
31
  }
36
-
37
- // Debug fallback
38
- return `N/A (${mutation.state.submittedAt || 0})`;
39
- };
40
- const lastUpdated = getTimestamp();
32
+ return null;
33
+ })();
34
+ const relativeTime = useRelativeTime(bestTimestamp);
35
+ const lastUpdated = relativeTime || `N/A (${mutation.state.submittedAt || 0})`;
41
36
  const getStatusInfo = () => {
42
37
  if (mutation.state.isPaused) {
43
38
  return {
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import { getQueryStatusLabel } from "../../utils/getQueryStatusLabel";
4
- import { formatRelativeTime } from "../../utils/formatRelativeTime";
5
- import { CompactRow, buoyColors } from "@buoy-gg/shared-ui";
4
+ import { CompactRow, buoyColors, useRelativeTime } from "@buoy-gg/shared-ui";
6
5
  import { jsx as _jsx } from "react/jsx-runtime";
7
6
  const getQueryText = query => {
8
7
  if (!query?.queryKey) return "Unknown Query";
@@ -44,36 +43,21 @@ const QueryRow = ({
44
43
  const isDisabled = query.isDisabled();
45
44
  const queryHash = getQueryText(query);
46
45
 
47
- // Get last updated time - try multiple timestamp fields
48
- const getTimestamp = () => {
49
- // Special handling for disabled queries
50
- if (isDisabled) {
51
- return "Disabled";
52
- }
53
-
54
- // Primary: dataUpdatedAt (when data was last fetched/updated)
46
+ // Get the best available timestamp for this query
47
+ const bestTimestamp = (() => {
48
+ if (isDisabled) return null;
55
49
  if (query.state.dataUpdatedAt && query.state.dataUpdatedAt > 0) {
56
- return formatRelativeTime(query.state.dataUpdatedAt);
50
+ return query.state.dataUpdatedAt;
57
51
  }
58
-
59
- // Fallback: Check other potential timestamp fields
60
52
  // @ts-ignore - exploring state fields for debugging
61
53
  const stateAny = query.state;
62
-
63
- // Try fetchedAt or other common timestamp fields
64
54
  if (stateAny.fetchedAt && stateAny.fetchedAt > 0) {
65
- return formatRelativeTime(stateAny.fetchedAt);
55
+ return stateAny.fetchedAt;
66
56
  }
67
-
68
- // For queries that haven't fetched yet (but aren't disabled)
69
- if (query.state.dataUpdatedAt === 0) {
70
- return "Not fetched";
71
- }
72
-
73
- // Debug fallback - show what we have
74
- return `N/A (${query.state.dataUpdatedAt || 0})`;
75
- };
76
- const lastUpdated = getTimestamp();
57
+ return null;
58
+ })();
59
+ const relativeTime = useRelativeTime(bestTimestamp);
60
+ const lastUpdated = isDisabled ? "Disabled" : relativeTime || (query.state.dataUpdatedAt === 0 ? "Not fetched" : `N/A (${query.state.dataUpdatedAt || 0})`);
77
61
  return /*#__PURE__*/_jsx(CompactRow, {
78
62
  statusDotColor: getStatusHexColor(status),
79
63
  statusLabel: status.charAt(0).toUpperCase() + status.slice(1),
@@ -1 +1 @@
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
+ {"version":3,"file":"ReactQueryDevToolsModal.d.ts","sourceRoot":"","sources":["../../../../src/react-query/components/ReactQueryDevToolsModal.tsx"],"names":[],"mappings":"AAMA,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,sCAsF9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"MutationButton.d.ts","sourceRoot":"","sources":["../../../../../src/react-query/components/query-browser/MutationButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAmBjD,UAAU,KAAK;IACb,QAAQ,EAAE,QAAQ,CAAC;IACnB,mBAAmB,EAAE,KAAK,CAAC,QAAQ,CACjC,KAAK,CAAC,cAAc,CAAC,QAAQ,GAAG,SAAS,CAAC,CAC3C,CAAC;IACF,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAC;CAChC;AACD;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,QAAQ,EACR,mBAAmB,EACnB,QAAQ,GACT,EAAE,KAAK,+BA4FP"}
1
+ {"version":3,"file":"MutationButton.d.ts","sourceRoot":"","sources":["../../../../../src/react-query/components/query-browser/MutationButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAkBjD,UAAU,KAAK;IACb,QAAQ,EAAE,QAAQ,CAAC;IACnB,mBAAmB,EAAE,KAAK,CAAC,QAAQ,CACjC,KAAK,CAAC,cAAc,CAAC,QAAQ,GAAG,SAAS,CAAC,CAC3C,CAAC;IACF,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAC;CAChC;AACD;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,QAAQ,EACR,mBAAmB,EACnB,QAAQ,GACT,EAAE,KAAK,+BAwFP"}
@@ -1 +1 @@
1
- {"version":3,"file":"QueryRow.d.ts","sourceRoot":"","sources":["../../../../../src/react-query/components/query-browser/QueryRow.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAkB9C,UAAU,aAAa;IACrB,KAAK,EAAE,KAAK,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED;;GAEG;AACH,QAAA,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAuErC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"QueryRow.d.ts","sourceRoot":"","sources":["../../../../../src/react-query/components/query-browser/QueryRow.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAiB9C,UAAU,aAAa;IACrB,KAAK,EAAE,KAAK,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED;;GAEG;AACH,QAAA,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA2DrC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@buoy-gg/react-query",
3
- "version": "2.1.9",
3
+ "version": "2.1.11",
4
4
  "description": "react-query package",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -25,9 +25,16 @@
25
25
  "lib"
26
26
  ],
27
27
  "sideEffects": false,
28
+ "scripts": {
29
+ "build": "bob build",
30
+ "typecheck": "tsc --noEmit",
31
+ "prepublishOnly": "bob build",
32
+ "clean": "rimraf lib",
33
+ "test": "pnpm run typecheck"
34
+ },
28
35
  "dependencies": {
29
- "@buoy-gg/floating-tools-core": "2.1.9",
30
- "@buoy-gg/shared-ui": "2.1.9"
36
+ "@buoy-gg/floating-tools-core": "workspace:*",
37
+ "@buoy-gg/shared-ui": "workspace:*"
31
38
  },
32
39
  "peerDependencies": {
33
40
  "@tanstack/react-query": ">=5.0.0",
@@ -71,11 +78,5 @@
71
78
  "publishConfig": {
72
79
  "access": "public",
73
80
  "tag": "latest"
74
- },
75
- "scripts": {
76
- "build": "bob build",
77
- "typecheck": "tsc --noEmit",
78
- "clean": "rimraf lib",
79
- "test": "pnpm run typecheck"
80
81
  }
81
- }
82
+ }
package/LICENSE DELETED
@@ -1,58 +0,0 @@
1
- PROPRIETARY SOFTWARE LICENSE
2
-
3
- Copyright (c) 2024-present Buoy. All rights reserved.
4
-
5
- This software and its source code are proprietary and confidential.
6
-
7
- NOTICE: This is NOT open source software. This software is licensed,
8
- not sold, and is protected by copyright laws and international treaties.
9
-
10
- TERMS AND CONDITIONS:
11
-
12
- 1. LICENSE GRANT
13
- Subject to the terms of this Agreement and payment of applicable fees,
14
- Buoy grants you a limited, non-exclusive, non-transferable license
15
- to use the compiled software packages in your applications.
16
-
17
- 2. RESTRICTIONS
18
- You may NOT:
19
- - Copy, modify, or distribute the source code
20
- - Reverse engineer, decompile, or disassemble the software
21
- - Remove or alter any proprietary notices or labels
22
- - Sublicense, rent, lease, or lend the software
23
- - Use the software to create competing products
24
- - Share access credentials with unauthorized parties
25
-
26
- 3. OWNERSHIP
27
- React Buoy retains all right, title, and interest in the software,
28
- including all intellectual property rights. This license does not
29
- grant you any rights to trademarks or service marks.
30
-
31
- 4. TERMINATION
32
- This license is effective until terminated. Your rights under this
33
- license will terminate automatically without notice if you fail to
34
- comply with any of its terms. Upon termination, you must cease all
35
- use and destroy all copies of the software.
36
-
37
- 5. DISCLAIMER OF WARRANTIES
38
- THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
39
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
40
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT.
41
-
42
- 6. LIMITATION OF LIABILITY
43
- IN NO EVENT SHALL BUOY BE LIABLE FOR ANY INDIRECT, INCIDENTAL,
44
- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR IN
45
- CONNECTION WITH THIS LICENSE OR THE USE OF THE SOFTWARE.
46
-
47
- 7. GOVERNING LAW
48
- This Agreement shall be governed by and construed in accordance with
49
- the laws of the United States, without regard to its conflict of
50
- law provisions.
51
-
52
- For licensing inquiries and subscription information:
53
- - Website: https://buoy.gg
54
- - Email: AustinLovesWorking@gmail.com
55
-
56
- Unauthorized reproduction or distribution of this software, or any
57
- portion of it, may result in severe civil and criminal penalties,
58
- and will be prosecuted to the maximum extent possible under the law.