<A extends Any>(result: Result<A>): (
self: Entry<A>
) => Effect.Effect<void>
<A extends Any>(self: Entry<A>, result: Result<A>): Effect.Effect<void>Completes a request entry with the provided result.
When to use
Use when you need to finish a Request.Entry with a prebuilt final Exit
result.
export const 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>
}
Completes a request entry with the provided result.
When to use
Use when you need to finish a Request.Entry with a prebuilt final Exit
result.
complete: {
<function (type parameter) A in <A extends Any>(result: Result<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>(result: Result<A>result: type Result<
T extends Request<any, any, any>
> = T extends Request<infer A, infer E, infer _R>
? Exit.Exit<A, E>
: never
A utility type to extract the result type from a Request.
Example (Extracting a request result type)
import type { Request } from "effect"
interface GetUser extends Request.Request<string, Error> {
readonly _tag: "GetUser"
readonly id: number
}
// Extract the result type from a Request using the utility
type UserResult = Request.Result<GetUser> // Exit.Exit<string, Error>
Result<function (type parameter) A in <A extends Any>(result: Result<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>(result: Result<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>, result: Result<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>, result: Result<A>): Effect.Effect<void>A>, result: Result<A>result: type Result<
T extends Request<any, any, any>
> = T extends Request<infer A, infer E, infer _R>
? Exit.Exit<A, E>
: never
A utility type to extract the result type from a Request.
Example (Extracting a request result type)
import type { Request } from "effect"
interface GetUser extends Request.Request<string, Error> {
readonly _tag: "GetUser"
readonly id: number
}
// Extract the result type from a Request using the utility
type UserResult = Request.Result<GetUser> // Exit.Exit<string, Error>
Result<function (type parameter) A in <A extends Any>(self: Entry<A>, result: Result<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>, result: Result<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>, result: Result<A>): Effect.Effect<void>A>, result: Result<A>result: type Result<
T extends Request<any, any, any>
> = T extends Request<infer A, infer E, infer _R>
? Exit.Exit<A, E>
: never
A utility type to extract the result type from a Request.
Example (Extracting a request result type)
import type { Request } from "effect"
interface GetUser extends Request.Request<string, Error> {
readonly _tag: "GetUser"
readonly id: number
}
// Extract the result type from a Request using the utility
type UserResult = Request.Result<GetUser> // Exit.Exit<string, Error>
Result<function (type parameter) A in <A extends Any>(self: Entry<A>, result: Result<A>): Effect.Effect<void>A>): import EffectEffect.type Effect.Effect = /*unresolved*/ anyEffect<void> =>
import internalEffectinternalEffect.const sync: <A>(
thunk: LazyArg<A>
) => Effect.Effect<A>
sync(() => 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.Entry<A>.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>): voidcompleteUnsafe(result: Result<A>result))
)