Co-authored-by: Julien Valverdé <julien.valverde@mailo.com> Reviewed-on: https://gitea:3000/Thilawyn/reffuse/pulls/14
18 lines
597 B
TypeScript
18 lines
597 B
TypeScript
import { HttpClientError } from "@effect/platform"
|
|
import { QueryClient, QueryErrorHandler } from "@reffuse/extension-query"
|
|
import { Effect } from "effect"
|
|
|
|
|
|
export class AppQueryErrorHandler extends QueryErrorHandler.Service<AppQueryErrorHandler,
|
|
HttpClientError.HttpClientError
|
|
>()(
|
|
"AppQueryErrorHandler",
|
|
|
|
(self, failure, defect) => self.pipe(
|
|
Effect.catchTag("RequestError", "ResponseError", failure),
|
|
Effect.catchAllDefect(defect),
|
|
),
|
|
) {}
|
|
|
|
export class AppQueryClient extends QueryClient.Service<AppQueryClient>()({ ErrorHandler: AppQueryErrorHandler }) {}
|