@reffuse/extension-query 0.1.2 (#8)
All checks were successful
Publish / publish (push) Successful in 22s
Lint / lint (push) Successful in 12s

Co-authored-by: Julien Valverdé <julien.valverde@mailo.com>
Reviewed-on: https://gitea:3000/Thilawyn/reffuse/pulls/8
This commit was merged in pull request #8.
This commit is contained in:
Julien Valverdé
2025-03-31 21:42:24 +02:00
parent 74fa30cf4f
commit d7c648994d
14 changed files with 186 additions and 151 deletions

View File

@@ -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<Cause.Cause<
ErrorHandler.Error<Context.Tag.Service<AppQueryErrorHandler>>
QueryErrorHandler.Error<Context.Tag.Service<AppQueryErrorHandler>>
>>())
R.useFork(() => AppQueryErrorHandler.pipe(Effect.flatMap(handler =>

View File

@@ -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(
<StrictMode>
<ReffuseRuntime.Provider>
<GlobalContext.Provider layer={layer}>
<RootContext.Provider layer={layer}>
<RouterProvider router={router} />
</GlobalContext.Provider>
</RootContext.Provider>
</ReffuseRuntime.Provider>
</StrictMode>
)

View File

@@ -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,
export class AppQueryErrorHandler extends QueryErrorHandler.Service<AppQueryErrorHandler,
HttpClientError.HttpClientError
>()(
"AppQueryErrorHandler",

View File

@@ -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<Uuid4Query.Uuid4Query>()
export const R = new class QueryReffuse extends GlobalReffuse.pipe(
export const R = new class QueryReffuse extends RootReffuse.pipe(
Reffuse.withContexts(QueryContext)
) {}

View File

@@ -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()

View File

@@ -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<TodosState.TodosState>()
export const R = new class TodosReffuse extends GlobalReffuse.pipe(
export const R = new class TodosReffuse extends RootReffuse.pipe(
Reffuse.withContexts(TodosContext)
) {}