diff --git a/packages/example/src/QueryErrorHandler.tsx b/packages/example/src/QueryErrorHandler.tsx index 2a458ea..5a072ee 100644 --- a/packages/example/src/QueryErrorHandler.tsx +++ b/packages/example/src/QueryErrorHandler.tsx @@ -1,5 +1,5 @@ import { AlertDialog, Button, Flex, Text } from "@radix-ui/themes" -import { ErrorHandler } from "@reffuse/extension-query" +import { QueryErrorHandler } from "@reffuse/extension-query" import { Cause, Console, Context, Effect, Either, flow, Match, Option, Stream } from "effect" import { useState } from "react" import { AppQueryErrorHandler } from "./query" @@ -8,7 +8,7 @@ import { R } from "./reffuse" export function VQueryErrorHandler() { const [failure, setFailure] = useState(Option.none> + QueryErrorHandler.Error> >>()) R.useFork(() => AppQueryErrorHandler.pipe(Effect.flatMap(handler => diff --git a/packages/example/src/main.tsx b/packages/example/src/main.tsx index a730288..a5da407 100644 --- a/packages/example/src/main.tsx +++ b/packages/example/src/main.tsx @@ -6,17 +6,17 @@ import { StrictMode } from "react" import { createRoot } from "react-dom/client" import { ReffuseRuntime } from "reffuse" import { AppQueryClient, AppQueryErrorHandler } from "./query" -import { GlobalContext } from "./reffuse" +import { RootContext } from "./reffuse" import { routeTree } from "./routeTree.gen" const layer = Layer.empty.pipe( + Layer.provideMerge(AppQueryClient.Live), + Layer.provideMerge(AppQueryErrorHandler.Live), Layer.provideMerge(Clipboard.layer), Layer.provideMerge(Geolocation.layer), Layer.provideMerge(Permissions.layer), Layer.provideMerge(FetchHttpClient.layer), - Layer.provideMerge(AppQueryClient.Live), - Layer.provideMerge(AppQueryErrorHandler.Live), ) const router = createRouter({ routeTree }) @@ -31,9 +31,9 @@ declare module "@tanstack/react-router" { createRoot(document.getElementById("root")!).render( - + - + ) diff --git a/packages/example/src/query.ts b/packages/example/src/query.ts index 7b659eb..ecf7e53 100644 --- a/packages/example/src/query.ts +++ b/packages/example/src/query.ts @@ -1,9 +1,9 @@ import { HttpClientError } from "@effect/platform" -import { ErrorHandler, QueryClient } from "@reffuse/extension-query" +import { QueryClient, QueryErrorHandler } from "@reffuse/extension-query" import { Effect } from "effect" -export class AppQueryErrorHandler extends ErrorHandler.Service()( "AppQueryErrorHandler", diff --git a/packages/example/src/query/reffuse.ts b/packages/example/src/query/reffuse.ts index ced8e18..08cf368 100644 --- a/packages/example/src/query/reffuse.ts +++ b/packages/example/src/query/reffuse.ts @@ -1,10 +1,10 @@ -import { GlobalReffuse } from "@/reffuse" +import { RootReffuse } from "@/reffuse" import { Reffuse, ReffuseContext } from "reffuse" import { Uuid4Query } from "./services" export const QueryContext = ReffuseContext.make() -export const R = new class QueryReffuse extends GlobalReffuse.pipe( +export const R = new class QueryReffuse extends RootReffuse.pipe( Reffuse.withContexts(QueryContext) ) {} diff --git a/packages/example/src/reffuse.ts b/packages/example/src/reffuse.ts index f23c07e..25a8fa7 100644 --- a/packages/example/src/reffuse.ts +++ b/packages/example/src/reffuse.ts @@ -6,19 +6,19 @@ import { Reffuse, ReffuseContext } from "reffuse" import { AppQueryClient, AppQueryErrorHandler } from "./query" -export const GlobalContext = ReffuseContext.make< +export const RootContext = ReffuseContext.make< + | AppQueryClient + | AppQueryErrorHandler | Clipboard.Clipboard | Geolocation.Geolocation | Permissions.Permissions | HttpClient.HttpClient - | AppQueryClient - | AppQueryErrorHandler >() -export class GlobalReffuse extends Reffuse.Reffuse.pipe( +export class RootReffuse extends Reffuse.Reffuse.pipe( Reffuse.withExtension(LazyRefExtension), Reffuse.withExtension(QueryExtension), - Reffuse.withContexts(GlobalContext), + Reffuse.withContexts(RootContext), ) {} -export const R = new GlobalReffuse() +export const R = new RootReffuse() diff --git a/packages/example/src/todos/reffuse.ts b/packages/example/src/todos/reffuse.ts index d01357c..986f562 100644 --- a/packages/example/src/todos/reffuse.ts +++ b/packages/example/src/todos/reffuse.ts @@ -1,10 +1,10 @@ -import { GlobalReffuse } from "@/reffuse" +import { RootReffuse } from "@/reffuse" import { Reffuse, ReffuseContext } from "reffuse" import { TodosState } from "./services" export const TodosContext = ReffuseContext.make() -export const R = new class TodosReffuse extends GlobalReffuse.pipe( +export const R = new class TodosReffuse extends RootReffuse.pipe( Reffuse.withContexts(TodosContext) ) {} diff --git a/packages/extension-query/src/QueryClient.ts b/packages/extension-query/src/QueryClient.ts index 08e01ca..2b9b003 100644 --- a/packages/extension-query/src/QueryClient.ts +++ b/packages/extension-query/src/QueryClient.ts @@ -29,7 +29,7 @@ export interface ServiceResult extends Context.Ta QueryClient > { readonly Live: Layer.Layer< - Self | EH extends QueryErrorHandler.DefaultQueryErrorHandler ? EH : never, + Self | (EH extends QueryErrorHandler.DefaultQueryErrorHandler ? EH : never), never, EH extends QueryErrorHandler.DefaultQueryErrorHandler ? never : EH >