<A extends Any>(error: Error<A>): (self: Entry<A>) => Effect.Effect<void>
<A extends Any>(self: Entry<A>, error: Error<A>): Effect.Effect<void>Completes a request entry with a typed failure.
When to use
Use to report a request-specific typed error while implementing a
RequestResolver.
export const const fail: {
<A extends Any>(error: Error<A>): (
self: Entry<A>
) => Effect.Effect<void>
<A extends Any>(
self: Entry<A>,
error: Error<A>
): Effect.Effect<void>
}
Completes a request entry with a typed failure.
When to use
Use to report a request-specific typed error while implementing a
RequestResolver.
fail: {
<function (type parameter) A in <A extends Any>(error: Error<A>): (self: Entry<A>) => Effect.Effect<void>A extends type Any = Request<any, any, any>Alias for any Request, regardless of its success, error, or service
requirements.
When to use
Use as a generic constraint for APIs that accept any request while preserving
each concrete request's success, error, and service types.
Any>(error: Error<A>error: type Error<
T extends Request<any, any, any>
> = [T] extends [
Request<infer _A, infer _E, infer _R>
]
? _E
: never
A utility type to extract the error type from a Request.
Example (Extracting a request error type)
import type { Request } from "effect"
interface GetUser extends Request.Request<string, Error> {
readonly id: number
}
// Extract the error type from a Request using the utility
type UserError = Request.Error<GetUser> // Error
Error<function (type parameter) A in <A extends Any>(error: Error<A>): (self: Entry<A>) => Effect.Effect<void>A>): (self: Entry<A>(parameter) self: {
request: R;
context: Context.Context<[R] extends [Request<infer _A, infer _E, infer _R>] ? _R : never>;
uninterruptible: boolean;
completeUnsafe: (exit: Exit.Exit<[A] extends [Request<infer _A, infer _E, infer _R>] ? _A : never, [A] extends [Request<infer _A, infer _E, infer _R>] ? _E : never>) => void;
}
self: interface Entry<out R>A pending request handed to a RequestResolver.
Details
An entry contains the original request, the fiber context needed to run it,
an uninterruptible flag used by batching and caching internals, and the
completeUnsafe callback used by resolvers to supply the final Exit.
Entry<function (type parameter) A in <A extends Any>(error: Error<A>): (self: Entry<A>) => Effect.Effect<void>A>) => import EffectEffect.type Effect.Effect = /*unresolved*/ anyEffect<void>
<function (type parameter) A in <A extends Any>(self: Entry<A>, error: Error<A>): Effect.Effect<void>A extends type Any = Request<any, any, any>Alias for any Request, regardless of its success, error, or service
requirements.
When to use
Use as a generic constraint for APIs that accept any request while preserving
each concrete request's success, error, and service types.
Any>(self: Entry<A>(parameter) self: {
request: R;
context: Context.Context<[R] extends [Request<infer _A, infer _E, infer _R>] ? _R : never>;
uninterruptible: boolean;
completeUnsafe: (exit: Exit.Exit<[A] extends [Request<infer _A, infer _E, infer _R>] ? _A : never, [A] extends [Request<infer _A, infer _E, infer _R>] ? _E : never>) => void;
}
self: interface Entry<out R>A pending request handed to a RequestResolver.
Details
An entry contains the original request, the fiber context needed to run it,
an uninterruptible flag used by batching and caching internals, and the
completeUnsafe callback used by resolvers to supply the final Exit.
Entry<function (type parameter) A in <A extends Any>(self: Entry<A>, error: Error<A>): Effect.Effect<void>A>, error: Error<A>error: type Error<
T extends Request<any, any, any>
> = [T] extends [
Request<infer _A, infer _E, infer _R>
]
? _E
: never
A utility type to extract the error type from a Request.
Example (Extracting a request error type)
import type { Request } from "effect"
interface GetUser extends Request.Request<string, Error> {
readonly id: number
}
// Extract the error type from a Request using the utility
type UserError = Request.Error<GetUser> // Error
Error<function (type parameter) A in <A extends Any>(self: Entry<A>, error: Error<A>): Effect.Effect<void>A>): import EffectEffect.type Effect.Effect = /*unresolved*/ anyEffect<void>
} = import dualdual(
2,
<function (type parameter) A in <A extends Any>(self: Entry<A>, error: Error<A>): Effect.Effect<void>A extends type Any = Request<any, any, any>Alias for any Request, regardless of its success, error, or service
requirements.
When to use
Use as a generic constraint for APIs that accept any request while preserving
each concrete request's success, error, and service types.
Any>(self: Entry<A>(parameter) self: {
request: R;
context: Context.Context<[R] extends [Request<infer _A, infer _E, infer _R>] ? _R : never>;
uninterruptible: boolean;
completeUnsafe: (exit: Exit.Exit<[A] extends [Request<infer _A, infer _E, infer _R>] ? _A : never, [A] extends [Request<infer _A, infer _E, infer _R>] ? _E : never>) => void;
}
self: interface Entry<out R>A pending request handed to a RequestResolver.
Details
An entry contains the original request, the fiber context needed to run it,
an uninterruptible flag used by batching and caching internals, and the
completeUnsafe callback used by resolvers to supply the final Exit.
Entry<function (type parameter) A in <A extends Any>(self: Entry<A>, error: Error<A>): Effect.Effect<void>A>, error: Error<A>error: type Error<
T extends Request<any, any, any>
> = [T] extends [
Request<infer _A, infer _E, infer _R>
]
? _E
: never
A utility type to extract the error type from a Request.
Example (Extracting a request error type)
import type { Request } from "effect"
interface GetUser extends Request.Request<string, Error> {
readonly id: number
}
// Extract the error type from a Request using the utility
type UserError = Request.Error<GetUser> // Error
Error<function (type parameter) A in <A extends Any>(self: Entry<A>, error: Error<A>): Effect.Effect<void>A>): import EffectEffect.type Effect.Effect = /*unresolved*/ anyEffect<void> => const complete: {
<A extends Any>(result: Result<A>): (
self: Entry<A>
) => Effect.Effect<void>
<A extends Any>(
self: Entry<A>,
result: Result<A>
): Effect.Effect<void>
}
complete(self: Entry<A>(parameter) self: {
request: R;
context: Context.Context<[R] extends [Request<infer _A, infer _E, infer _R>] ? _R : never>;
uninterruptible: boolean;
completeUnsafe: (exit: Exit.Exit<[A] extends [Request<infer _A, infer _E, infer _R>] ? _A : never, [A] extends [Request<infer _A, infer _E, infer _R>] ? _E : never>) => void;
}
self, import corecore.const exitFail: <E>(
e: E
) => Exit.Exit<never, E>
exitFail(error: Error<A>error) as any)
)