From a84187b1674dcb8700aa24b494d9125b7793ab0c Mon Sep 17 00:00:00 2001 From: Connor Prussin Date: Wed, 9 Oct 2024 17:26:48 -0700 Subject: [PATCH] feat(staking): add error logging to `useData` --- apps/staking/src/hooks/use-data.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/apps/staking/src/hooks/use-data.ts b/apps/staking/src/hooks/use-data.ts index b33665187..94d7d0a3c 100644 --- a/apps/staking/src/hooks/use-data.ts +++ b/apps/staking/src/hooks/use-data.ts @@ -1,10 +1,13 @@ import { useCallback } from "react"; import useSWR, { type KeyedMutator } from "swr"; +import { useLogger } from "./use-logger"; + export const useData = (...args: Parameters>) => { const { data, isLoading, mutate, ...rest } = useSWR(...args); const error = rest.error as unknown; + const logger = useLogger(); const reset = useCallback(() => { mutate(undefined).catch(() => { @@ -13,7 +16,8 @@ export const useData = (...args: Parameters>) => { }, [mutate]); if (error) { - return State.ErrorState(new LoadDashboardDataError(error), reset); + logger.error(error); + return State.ErrorState(new UseDataError(error), reset); } else if (isLoading) { return State.Loading(); } else if (data) { @@ -38,17 +42,17 @@ const State = { mutate, data, }), - ErrorState: (error: LoadDashboardDataError, reset: () => void) => ({ + ErrorState: (error: UseDataError, reset: () => void) => ({ type: StateType.Error as const, error, reset, }), }; -class LoadDashboardDataError extends Error { +class UseDataError extends Error { constructor(cause: unknown) { super(cause instanceof Error ? cause.message : ""); - this.name = "LoadDashboardDataError"; + this.name = "UseDataError"; this.cause = cause; } }