@trackunit/react-graphql-hooks 1.18.19-alpha-192bcb42ded.0 → 1.18.19

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/index.cjs.js CHANGED
@@ -106,19 +106,22 @@ const useLazyQuery = (document, options) => {
106
106
 
107
107
  /**
108
108
  * Creates a reducer function for managing pagination state.
109
- * Handles data updates, reset, and reset trigger increments.
109
+ * Handles data updates, error tracking, reset, and reset trigger increments.
110
110
  */
111
111
  const createPaginationReducer = () => {
112
112
  return (state, action) => {
113
113
  switch (action.type) {
114
114
  case "SET_DATA": {
115
- return { ...state, data: action.payload };
115
+ return { ...state, data: action.payload, error: undefined };
116
116
  }
117
117
  case "SET_LAST_FETCHED_DATA": {
118
118
  return { ...state, lastFetchedData: action.payload };
119
119
  }
120
+ case "SET_ERROR": {
121
+ return { ...state, error: action.payload };
122
+ }
120
123
  case "RESET": {
121
- return { ...state, data: undefined, lastFetchedData: undefined };
124
+ return { ...state, data: undefined, lastFetchedData: undefined, error: undefined };
122
125
  }
123
126
  case "INCREMENT_RESET_TRIGGER": {
124
127
  return { ...state, resetTrigger: state.resetTrigger + 1 };
@@ -313,6 +316,7 @@ const usePaginationQuery = (document, props) => {
313
316
  data: undefined,
314
317
  lastFetchedData: undefined,
315
318
  resetTrigger: 0,
319
+ error: undefined,
316
320
  });
317
321
  const updateQueryRef = react.useRef(props.updateQuery);
318
322
  react.useEffect(() => {
@@ -421,6 +425,7 @@ const usePaginationQuery = (document, props) => {
421
425
  if (signal.aborted) {
422
426
  return;
423
427
  }
428
+ dispatch({ type: "SET_ERROR", payload: error });
424
429
  if (onErrorRef.current) {
425
430
  return onErrorRef.current(error);
426
431
  }
@@ -513,12 +518,14 @@ const usePaginationQuery = (document, props) => {
513
518
  data: state.data ?? previousData,
514
519
  previousData,
515
520
  loading: isLoading || lazyLoading,
521
+ error: state.error,
516
522
  pagination: { setIsLoading, isLoading, setPageInfo, pageInfo, reset, nextPage, previousPage },
517
523
  lastFetchedData: state.lastFetchedData,
518
524
  reset,
519
525
  }), [
520
526
  state.data,
521
527
  state.lastFetchedData,
528
+ state.error,
522
529
  isLoading,
523
530
  lazyLoading,
524
531
  setIsLoading,
package/index.esm.js CHANGED
@@ -104,19 +104,22 @@ const useLazyQuery = (document, options) => {
104
104
 
105
105
  /**
106
106
  * Creates a reducer function for managing pagination state.
107
- * Handles data updates, reset, and reset trigger increments.
107
+ * Handles data updates, error tracking, reset, and reset trigger increments.
108
108
  */
109
109
  const createPaginationReducer = () => {
110
110
  return (state, action) => {
111
111
  switch (action.type) {
112
112
  case "SET_DATA": {
113
- return { ...state, data: action.payload };
113
+ return { ...state, data: action.payload, error: undefined };
114
114
  }
115
115
  case "SET_LAST_FETCHED_DATA": {
116
116
  return { ...state, lastFetchedData: action.payload };
117
117
  }
118
+ case "SET_ERROR": {
119
+ return { ...state, error: action.payload };
120
+ }
118
121
  case "RESET": {
119
- return { ...state, data: undefined, lastFetchedData: undefined };
122
+ return { ...state, data: undefined, lastFetchedData: undefined, error: undefined };
120
123
  }
121
124
  case "INCREMENT_RESET_TRIGGER": {
122
125
  return { ...state, resetTrigger: state.resetTrigger + 1 };
@@ -311,6 +314,7 @@ const usePaginationQuery = (document, props) => {
311
314
  data: undefined,
312
315
  lastFetchedData: undefined,
313
316
  resetTrigger: 0,
317
+ error: undefined,
314
318
  });
315
319
  const updateQueryRef = useRef(props.updateQuery);
316
320
  useEffect(() => {
@@ -419,6 +423,7 @@ const usePaginationQuery = (document, props) => {
419
423
  if (signal.aborted) {
420
424
  return;
421
425
  }
426
+ dispatch({ type: "SET_ERROR", payload: error });
422
427
  if (onErrorRef.current) {
423
428
  return onErrorRef.current(error);
424
429
  }
@@ -511,12 +516,14 @@ const usePaginationQuery = (document, props) => {
511
516
  data: state.data ?? previousData,
512
517
  previousData,
513
518
  loading: isLoading || lazyLoading,
519
+ error: state.error,
514
520
  pagination: { setIsLoading, isLoading, setPageInfo, pageInfo, reset, nextPage, previousPage },
515
521
  lastFetchedData: state.lastFetchedData,
516
522
  reset,
517
523
  }), [
518
524
  state.data,
519
525
  state.lastFetchedData,
526
+ state.error,
520
527
  isLoading,
521
528
  lazyLoading,
522
529
  setIsLoading,
package/package.json CHANGED
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "@trackunit/react-graphql-hooks",
3
- "version": "1.18.19-alpha-192bcb42ded.0",
3
+ "version": "1.18.19",
4
4
  "repository": "https://github.com/Trackunit/manager",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "engines": {
7
7
  "node": ">=24.x"
8
8
  },
9
9
  "dependencies": {
10
- "@trackunit/i18n-library-translation": "1.15.18-alpha-192bcb42ded.0",
11
- "@trackunit/shared-utils": "1.13.87-alpha-192bcb42ded.0",
10
+ "@trackunit/i18n-library-translation": "1.15.17",
11
+ "@trackunit/shared-utils": "1.13.86",
12
12
  "es-toolkit": "^1.39.10",
13
- "@trackunit/react-components": "1.20.16-alpha-192bcb42ded.0"
13
+ "@trackunit/react-components": "1.20.15"
14
14
  },
15
15
  "peerDependencies": {
16
16
  "react": "^19.0.0",
@@ -7,6 +7,7 @@ import { type UpdateQueryOptions } from "./utils/createUpdateQueryHandler";
7
7
  export type PaginationQuery<TData> = {
8
8
  data: TData | undefined;
9
9
  loading: boolean;
10
+ error?: unknown;
10
11
  lastFetchedData?: TData;
11
12
  pagination: RelayTableSupport;
12
13
  previousData: TData | undefined;
@@ -2,6 +2,7 @@ export type PaginationState<TData> = {
2
2
  data: TData | undefined;
3
3
  lastFetchedData: TData | undefined;
4
4
  resetTrigger: number;
5
+ error: unknown;
5
6
  };
6
7
  export type PaginationAction<TData> = {
7
8
  type: "SET_DATA";
@@ -9,6 +10,9 @@ export type PaginationAction<TData> = {
9
10
  } | {
10
11
  type: "SET_LAST_FETCHED_DATA";
11
12
  payload: TData;
13
+ } | {
14
+ type: "SET_ERROR";
15
+ payload: unknown;
12
16
  } | {
13
17
  type: "RESET";
14
18
  } | {
@@ -16,6 +20,6 @@ export type PaginationAction<TData> = {
16
20
  };
17
21
  /**
18
22
  * Creates a reducer function for managing pagination state.
19
- * Handles data updates, reset, and reset trigger increments.
23
+ * Handles data updates, error tracking, reset, and reset trigger increments.
20
24
  */
21
25
  export declare const createPaginationReducer: <TData>() => (state: PaginationState<TData>, action: PaginationAction<TData>) => PaginationState<TData>;