This commit is contained in:
11
packages/extension-query/src/FailureHandler.ts
Normal file
11
packages/extension-query/src/FailureHandler.ts
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
import { Effect, type Queue, type Stream } from "effect"
|
||||||
|
|
||||||
|
|
||||||
|
export interface FailureHandler<E> {
|
||||||
|
readonly failures: Stream.Stream<E>
|
||||||
|
readonly queue: Queue.Queue<E>
|
||||||
|
}
|
||||||
|
|
||||||
|
export const Tag = <const Id extends string>(id: Id) => <
|
||||||
|
Self, E = never,
|
||||||
|
>() => Effect.Tag(id)<Self, FailureHandler<E>>()
|
||||||
@@ -6,11 +6,11 @@ import * as QueryRunner from "./QueryRunner.js"
|
|||||||
import type * as QueryService from "./QueryService.js"
|
import type * as QueryService from "./QueryService.js"
|
||||||
|
|
||||||
|
|
||||||
export interface QueryExtension<GlobalE> {
|
export interface QueryExtension<HandlerE> {
|
||||||
useQuery<K extends readonly unknown[], A, E, R>(
|
useQuery<K extends readonly unknown[], A, E, R>(
|
||||||
this: ReffuseHelpers.ReffuseHelpers<R>,
|
this: ReffuseHelpers.ReffuseHelpers<R>,
|
||||||
props: UseQueryProps<K, A, E, R>,
|
props: UseQueryProps<K, A, E, R>,
|
||||||
): UseQueryResult<K, A, Exclude<E, GlobalE>>
|
): UseQueryResult<K, A, Exclude<E, HandlerE>>
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface UseQueryProps<K extends readonly unknown[], A, E, R> {
|
export interface UseQueryProps<K extends readonly unknown[], A, E, R> {
|
||||||
|
|||||||
Reference in New Issue
Block a user