Elysia
Members
Section titled “Members”Properties
Section titled “Properties”| Property | Description |
|---|---|
| server | - |
Accessors
Section titled “Accessors”Methods
Section titled “Methods”| Method | Description |
|---|---|
| all | - |
| as | - |
| compile | Force all route handlers to compile immediately (sets precompile: true on the config and triggers a fresh build of the fetch handler). |
| decorate | Define custom property to Context accessible for all handler. |
| delete | Register handler for path with method [DELETE] |
| derive | - |
| get | Register handler for path with method [GET] |
| group | - |
| guard | Apply a hook and schema to every route defined after it on this instance. |
| handler | - |
| has | - |
| head | Register handler for path with method [HEAD] |
| headers | - |
| listen | - |
| macro | Declare a custom route property: applying it on a route or guard folds the definition’s schema, lifecycle hooks, and derive result into that route |
| mapDerive | - |
| mapResponse | - |
| method | Register handler for path with custom method |
| model | - |
| mount | - |
| onAfterHandle | - |
| onAfterResponse | - |
| onBeforeHandle | - |
| onError | - |
| onParse | - |
| onRequest | - |
| onStart | Called after server is ready for serving |
| onStop | Called after server stop serving request |
| onTransform | - |
| options | Register handler for path with method [OPTIONS] |
| parser | - |
| patch | Register handler for path with method [PATCH] |
| post | Register handler for path with method [POST] |
| put | Register handler for path with method [PUT] |
| query | Register handler for path with method [QUERY] |
| Ref | - |
| state | Assign global mutable state accessible for all handler. |
| stop | Stop the underlying server (if any), then run every onStop handler |
| trace | - |
| use | Merge a plugin instance |
| wrap | Add a higher order function over Elysia.fetch |
| ws | Register a WebSocket route as (path, options), (path, handler), or (path, options, handler). Requires .use(websocket()) from elysia/websocket. |
Defined in: elysia/dist/base.d.ts:44
Type Parameters
Section titled “Type Parameters”| Type Parameter | Default type |
|---|---|
BasePath extends string | "" |
Scope extends EventScope | "local" |
Singleton extends SingletonBase | DefaultSingleton |
Definitions extends DefinitionBase | object |
Metadata extends MetadataBase | DefaultMetadata |
Routes extends RouteBase | object |
Ephemeral extends EphemeralType | DefaultEphemeral |
Volatile extends EphemeralType | DefaultEphemeral |
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile>(config?): Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile>;Defined in: elysia/dist/base.d.ts:127
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
config? | ElysiaConfig<BasePath, Scope> |
Returns
Section titled “Returns”Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile>
Properties
Section titled “Properties”server?
Section titled “server?”optional server?: Server;Defined in: elysia/dist/base.d.ts:94
Accessors
Section titled “Accessors”Get Signature
Section titled “Get Signature”get fetch(): (request) => MaybePromise<Response>;Defined in: elysia/dist/base.d.ts:1047
Returns
Section titled “Returns”(request) => MaybePromise<Response>
handle
Section titled “handle”Get Signature
Section titled “Get Signature”get handle(): (url, options?) => Promise<Response>;Defined in: elysia/dist/base.d.ts:1049
Returns
Section titled “Returns”(url, options?) => Promise<Response>
history
Section titled “history”Get Signature
Section titled “Get Signature”get history(): readonly HistoryEntry[];Defined in: elysia/dist/base.d.ts:99
Returns
Section titled “Returns”readonly HistoryEntry[]
models
Section titled “models”Get Signature
Section titled “Get Signature”get models(): Definitions["typebox"];Defined in: elysia/dist/base.d.ts:830
Registered reusable models (via .model()), keyed by name.
Returns
Section titled “Returns”Definitions["typebox"]
modules
Section titled “modules”Get Signature
Section titled “Get Signature”get modules(): Promise<void>;Defined in: elysia/dist/base.d.ts:813
Returns
Section titled “Returns”Promise<void>
pending
Section titled “pending”Get Signature
Section titled “Get Signature”get pending(): boolean;Defined in: elysia/dist/base.d.ts:814
Returns
Section titled “Returns”boolean
routes
Section titled “routes”Get Signature
Section titled “Get Signature”get routes(): PublicRoute[];Defined in: elysia/dist/base.d.ts:134
Every registered route with its merged hooks. Development shares a frozen cache. Production rebuilds the list on every read so its metadata can be released after startup.
Returns
Section titled “Returns”PublicRoute[]
Methods
Section titled “Methods”Call Signature
Section titled “Call Signature”all<Path, Input, Schema, Decorator, MacroContext, Handle, UnknownKey>( path, hook, fn): this;Defined in: elysia/dist/base.d.ts:1011
Type Parameters
Section titled “Type Parameters”| Type Parameter | Default type |
|---|---|
Path extends string | - |
Input extends BaseMacro & InputSchema<keyof Definitions["typebox"] & string> | - |
Schema extends IntersectIfObjectSchema<object extends MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"], "", false>, "", false> ? UnwrapRoute<Input, Definitions["typebox"], JoinPath<BasePath, Path>> : object, MergeScopedSchemas<Metadata["schemas"], Ephemeral["schemas"], Volatile["schemas"]>> | - |
Decorator extends SingletonBase & object | - |
MacroContext extends | Macro<{ }, { }, { }, DefaultSingleton, []> | { [K in string | number | symbol]: (InnerMacroToContext<Metadata[“macroFn”], Pick<Input, Extract<keyof Metadata[“macroFn”], keyof Input>>, Definitions[“typebox”], []> extends A ? { [K in string | number | symbol]: K extends “derive” ? UnionToIntersect<A[K]> : K extends “meta” ? ((…)[(…)] & { value: … })[“value”] : A[K] } & { return: FlattenMacroResponse<A[“return”]> } : {})[K] } | - |
Handle extends | MaybePromise<InlineResponse> | ((context) => MaybePromise<Response> | MaybePromise<{} extends NoInfer<Schema>[“response”] ? unknown : Error | (NoInfer<Schema>[“response”] extends { …; } ? NoInfer<Schema>[“response”][200] | … 2 more … | AsyncGenerator<…> : unknown) | NoInfer<Schema>[“response”][keyof NoInfer<Schema>[“response”]] | InlineHandlerResponse<…) | ((context) => MaybePromise<Response> | MaybePromise<{} extends (NoInfer<Schema> & MacroContext)[“response”] ? unknown : Error | ((NoInfer<Schema> & MacroContext)[“response”] extends { …; } ? (NoInfer<Schema> & MacroContext)[“response”][200] | … 2 more … | AsyncGenerator<…> : unknown) | (NoInfer<Schema> & MacroContext)[“re…) | - |
UnknownKey extends PropertyKey | Exclude<keyof Input, HookObjectKey | keyof Metadata["macro"]> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
path | Path |
hook | object & Input extends any ? Input : { [K in string | number | symbol]: Input[K] } & MacroOptionContext<Metadata["macroFn"], Schema, Decorator> & UnknownHookKey<UnknownKey> |
fn | Handle |
Returns
Section titled “Returns”this
Call Signature
Section titled “Call Signature”all<Path, Schema, Decorator, Handle>(path, fn): this;Defined in: elysia/dist/base.d.ts:1014
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Path extends string |
Schema extends IntersectIfObjectSchema<object extends MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"], "", false>, "", false> ? UnwrapRoute<{ }, Definitions["typebox"], JoinPath<BasePath, Path>> : object, MergeScopedSchemas<Metadata["schemas"], Ephemeral["schemas"], Volatile["schemas"]>> |
Decorator extends SingletonBase & object |
Handle extends | MaybePromise<InlineResponse> | ((context) => MaybePromise<Response> | MaybePromise<{} extends NoInfer<Schema>[“response”] ? unknown : Error | (NoInfer<Schema>[“response”] extends { …; } ? NoInfer<Schema>[“response”][200] | … 2 more … | AsyncGenerator<…> : unknown) | NoInfer<Schema>[“response”][keyof NoInfer<Schema>[“response”]] | InlineHandlerResponse<…) |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
path | Path |
fn | Handle & Metadata["macro"] |
Returns
Section titled “Returns”this
Call Signature
Section titled “Call Signature”as(type): Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes, { derive: Ephemeral["derive"] & Volatile["derive"]; error: [...Ephemeral["error"][], ...Volatile["error"][]]; response: UnionResponseStatus<Ephemeral["response"], Volatile["response"]>; schema: MergeSchema<Volatile["schema"], Ephemeral["schema"]>; schemas: Ephemeral["schemas"] & Volatile["schemas"];}, DefaultEphemeral>;Defined in: elysia/dist/base.d.ts:436
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
type | "plugin" |
Returns
Section titled “Returns”Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes, {
derive: Ephemeral["derive"] & Volatile["derive"];
error: [...Ephemeral["error"][], ...Volatile["error"][]];
response: UnionResponseStatus<Ephemeral["response"], Volatile["response"]>;
schema: MergeSchema<Volatile["schema"], Ephemeral["schema"]>;
schemas: Ephemeral["schemas"] & Volatile["schemas"];
}, DefaultEphemeral>
Call Signature
Section titled “Call Signature”as(type): Elysia<BasePath, Scope, { decorator: Singleton["decorator"]; derive: Singleton["derive"] & Ephemeral["derive"] & Volatile["derive"]; store: Singleton["store"];}, { error: [...Definitions["error"][], ...Ephemeral["error"][], ...Volatile["error"][]]; typebox: Definitions["typebox"];}, { macro: Metadata["macro"]; macroFn: Metadata["macroFn"]; parser: Metadata["parser"]; response: UnionResponseStatus<Metadata["response"], UnionResponseStatus<Ephemeral["response"], Volatile["response"]>>; schema: MergeSchema<MergeSchema<Volatile["schema"], Ephemeral["schema"]>, Metadata["schema"]>; schemas: Metadata["schemas"] & Ephemeral["schemas"] & Volatile["schemas"];}, Routes, DefaultEphemeral, DefaultEphemeral>;Defined in: elysia/dist/base.d.ts:443
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
type | "global" |
Returns
Section titled “Returns”Elysia<BasePath, Scope, {
decorator: Singleton["decorator"];
derive: Singleton["derive"] & Ephemeral["derive"] & Volatile["derive"];
store: Singleton["store"];
}, {
error: [...Definitions["error"][], ...Ephemeral["error"][], ...Volatile["error"][]];
typebox: Definitions["typebox"];
}, {
macro: Metadata["macro"];
macroFn: Metadata["macroFn"];
parser: Metadata["parser"];
response: UnionResponseStatus<Metadata["response"], UnionResponseStatus<Ephemeral["response"], Volatile["response"]>>;
schema: MergeSchema<MergeSchema<Volatile["schema"], Ephemeral["schema"]>, Metadata["schema"]>;
schemas: Metadata["schemas"] & Ephemeral["schemas"] & Volatile["schemas"];
}, Routes, DefaultEphemeral, DefaultEphemeral>
compile()
Section titled “compile()”compile(): this;Defined in: elysia/dist/base.d.ts:1043
Force all route handlers to compile immediately (sets precompile: true
on the config and triggers a fresh build of the fetch handler).
Returns
Section titled “Returns”this
decorate()
Section titled “decorate()”Call Signature
Section titled “Call Signature”decorate<Name, Value>(name, value): Elysia<BasePath, Scope, { decorator: { [K in string | number | symbol]: (Singleton["decorator"] & { [k in string]: Value })[K] }; derive: Singleton["derive"]; store: Singleton["store"];}, Definitions, Metadata, Routes, Ephemeral, Volatile>;Defined in: elysia/dist/base.d.ts:147
Define custom property to Context accessible for all handler.
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Name extends string |
Value |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
name | Name |
value | Value |
Returns
Section titled “Returns”Elysia<BasePath, Scope, {
decorator: { [K in string | number | symbol]: (Singleton[“decorator”] & { [k in string]: Value })[K] };
derive: Singleton["derive"];
store: Singleton["store"];
}, Definitions, Metadata, Routes, Ephemeral, Volatile>
Example
Section titled “Example”new Elysia() .decorate('getDate', () => Date.now()) .get('/', ({ getDate }) => getDate())Call Signature
Section titled “Call Signature”decorate<NewDecorators>(decorators): Elysia<BasePath, Scope, { decorator: { [K in string | number | symbol]: (Singleton["decorator"] & NewDecorators)[K] }; derive: Singleton["derive"]; store: Singleton["store"];}, Definitions, Metadata, Routes, Ephemeral, Volatile>;Defined in: elysia/dist/base.d.ts:152
Define custom property to Context accessible for all handler.
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
NewDecorators extends Record<string, unknown> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
decorators | NewDecorators |
Returns
Section titled “Returns”Elysia<BasePath, Scope, {
decorator: { [K in string | number | symbol]: (Singleton[“decorator”] & NewDecorators)[K] };
derive: Singleton["derive"];
store: Singleton["store"];
}, Definitions, Metadata, Routes, Ephemeral, Volatile>
Example
Section titled “Example”new Elysia() .decorate('getDate', () => Date.now()) .get('/', ({ getDate }) => getDate())Call Signature
Section titled “Call Signature”decorate<NewDecorators>(mapper): Elysia<BasePath, Scope, { decorator: NewDecorators; derive: Singleton["derive"]; store: Singleton["store"];}, Definitions, Metadata, Routes, Ephemeral, Volatile>;Defined in: elysia/dist/base.d.ts:157
Define custom property to Context accessible for all handler.
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
NewDecorators extends Record<string, unknown> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
mapper | (decorators) => NewDecorators |
Returns
Section titled “Returns”Elysia<BasePath, Scope, {
decorator: NewDecorators;
derive: Singleton["derive"];
store: Singleton["store"];
}, Definitions, Metadata, Routes, Ephemeral, Volatile>
Example
Section titled “Example”new Elysia() .decorate('getDate', () => Date.now()) .get('/', ({ getDate }) => getDate())Call Signature
Section titled “Call Signature”decorate<Name, Value>( type, name, value): Elysia<BasePath, Scope, { decorator: { [K in string | number | symbol]: (Singleton["decorator"] & { [k in string]: Value })[K] }; derive: Singleton["derive"]; store: Singleton["store"];}, Definitions, Metadata, Routes, Ephemeral, Volatile>;Defined in: elysia/dist/base.d.ts:162
Define custom property to Context accessible for all handler.
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Name extends string |
Value |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
type | "append" |
name | Name |
value | Value |
Returns
Section titled “Returns”Elysia<BasePath, Scope, {
decorator: { [K in string | number | symbol]: (Singleton[“decorator”] & { [k in string]: Value })[K] };
derive: Singleton["derive"];
store: Singleton["store"];
}, Definitions, Metadata, Routes, Ephemeral, Volatile>
Example
Section titled “Example”new Elysia() .decorate('getDate', () => Date.now()) .get('/', ({ getDate }) => getDate())Call Signature
Section titled “Call Signature”decorate<Name, Value>( type, name, value): Elysia<BasePath, Scope, { decorator: { [K in string | number | symbol]: (Omit<Singleton["decorator"], Name> & { [k in string]: Value })[K] }; derive: Singleton["derive"]; store: Singleton["store"];}, Definitions, Metadata, Routes, Ephemeral, Volatile>;Defined in: elysia/dist/base.d.ts:167
Define custom property to Context accessible for all handler.
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Name extends string |
Value |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
type | "override" |
name | Name |
value | Value |
Returns
Section titled “Returns”Elysia<BasePath, Scope, {
decorator: { [K in string | number | symbol]: (Omit<Singleton[“decorator”], Name> & { [k in string]: Value })[K] };
derive: Singleton["derive"];
store: Singleton["store"];
}, Definitions, Metadata, Routes, Ephemeral, Volatile>
Example
Section titled “Example”new Elysia() .decorate('getDate', () => Date.now()) .get('/', ({ getDate }) => getDate())Call Signature
Section titled “Call Signature”decorate<NewDecorators>(type, decorators): Elysia<BasePath, Scope, { decorator: { [K in string | number | symbol]: (Singleton["decorator"] & NewDecorators)[K] }; derive: Singleton["derive"]; store: Singleton["store"];}, Definitions, Metadata, Routes, Ephemeral, Volatile>;Defined in: elysia/dist/base.d.ts:172
Define custom property to Context accessible for all handler.
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
NewDecorators extends Record<string, unknown> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
type | "append" |
decorators | NewDecorators |
Returns
Section titled “Returns”Elysia<BasePath, Scope, {
decorator: { [K in string | number | symbol]: (Singleton[“decorator”] & NewDecorators)[K] };
derive: Singleton["derive"];
store: Singleton["store"];
}, Definitions, Metadata, Routes, Ephemeral, Volatile>
Example
Section titled “Example”new Elysia() .decorate('getDate', () => Date.now()) .get('/', ({ getDate }) => getDate())Call Signature
Section titled “Call Signature”decorate<NewDecorators>(type, decorators): Elysia<BasePath, Scope, { decorator: { [K in string | number | symbol]: (Omit<Singleton["decorator"], keyof NewDecorators> & NewDecorators)[K] }; derive: Singleton["derive"]; store: Singleton["store"];}, Definitions, Metadata, Routes, Ephemeral, Volatile>;Defined in: elysia/dist/base.d.ts:177
Define custom property to Context accessible for all handler.
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
NewDecorators extends Record<string, unknown> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
type | "override" |
decorators | NewDecorators |
Returns
Section titled “Returns”Elysia<BasePath, Scope, {
decorator: { [K in string | number | symbol]: (Omit<Singleton[“decorator”], keyof NewDecorators> & NewDecorators)[K] };
derive: Singleton["derive"];
store: Singleton["store"];
}, Definitions, Metadata, Routes, Ephemeral, Volatile>
Example
Section titled “Example”new Elysia() .decorate('getDate', () => Date.now()) .get('/', ({ getDate }) => getDate())delete()
Section titled “delete()”Call Signature
Section titled “Call Signature”delete<Path, Input, Schema, Decorator, MacroContext, Handle, UnknownKey>( path, hook, fn): AddRoute<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, "delete", Path, Schema, MacroContext, Handle, Input>;Defined in: elysia/dist/base.d.ts:926
Register handler for path with method [DELETE]
Type Parameters
Section titled “Type Parameters”| Type Parameter | Default type |
|---|---|
Path extends string | - |
Input extends BaseMacro & InputSchema<keyof Definitions["typebox"] & string> & RouteHookCapture | - |
Schema extends IntersectIfObjectSchema<MergeSchema<UnwrapRoute<Input, Definitions["typebox"], JoinPath<BasePath, Path>>, MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>, "", undefined extends Input["params"] ? true : false>, MergeScopedSchemas<Metadata["schemas"], Ephemeral["schemas"], Volatile["schemas"]>> | - |
Decorator extends SingletonBase & object | - |
MacroContext extends | Macro<{ }, { }, { }, DefaultSingleton, []> | { [K in string | number | symbol]: (InnerMacroToContext<Metadata[“macroFn”], Pick<Input, Extract<keyof Metadata[“macroFn”], keyof Input>>, Definitions[“typebox”], []> extends A ? { [K in string | number | symbol]: K extends “derive” ? UnionToIntersect<A[K]> : K extends “meta” ? ((…)[(…)] & { value: … })[“value”] : A[K] } & { return: FlattenMacroResponse<A[“return”]> } : {})[K] } | - |
Handle extends | MaybePromise<InlineResponse> | ((context) => MaybePromise<Response> | MaybePromise<{} extends NoInfer<Schema>[“response”] ? unknown : Error | (NoInfer<Schema>[“response”] extends { …; } ? NoInfer<Schema>[“response”][200] | … 2 more … | AsyncGenerator<…> : unknown) | NoInfer<Schema>[“response”][keyof NoInfer<Schema>[“response”]] | InlineHandlerResponse<…) | ((context) => MaybePromise<Response> | MaybePromise<{} extends (NoInfer<Schema> & MacroContext)[“response”] ? unknown : Error | ((NoInfer<Schema> & MacroContext)[“response”] extends { …; } ? (NoInfer<Schema> & MacroContext)[“response”][200] | … 2 more … | AsyncGenerator<…> : unknown) | (NoInfer<Schema> & MacroContext)[“re…) | - |
UnknownKey extends PropertyKey | Exclude<keyof Input, HookObjectKey | keyof Metadata["macro"]> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
path | Path |
hook | object & Input extends any ? Input : { [K in string | number | symbol]: Input[K] } & MacroOptionContext<Metadata["macroFn"], Schema, Decorator> & UnknownHookKey<UnknownKey> |
fn | Handle |
Returns
Section titled “Returns”AddRoute<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, "delete", Path, Schema, MacroContext, Handle, Input>
Example
Section titled “Example”import { Elysia, t } from 'elysia'
new Elysia() .delete('/', () => 'hi') .delete('/hook', { query: t.Object({ name: t.String() }) }, () => 'hi')Call Signature
Section titled “Call Signature”delete<Path, Schema, Decorator, Handle>(path, fn): AddRoute<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, "delete", Path, Schema, {}, Handle>;Defined in: elysia/dist/base.d.ts:929
Register handler for path with method [DELETE]
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Path extends string |
Schema extends IntersectIfObjectSchema<MergeSchema<UnwrapRoute<{ }, Definitions["typebox"], JoinPath<BasePath, Path>>, MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>, "", true>, MergeScopedSchemas<Metadata["schemas"], Ephemeral["schemas"], Volatile["schemas"]>> |
Decorator extends SingletonBase & object |
Handle extends | MaybePromise<InlineResponse> | ((context) => MaybePromise<Response> | MaybePromise<{} extends NoInfer<Schema>[“response”] ? unknown : Error | (NoInfer<Schema>[“response”] extends { …; } ? NoInfer<Schema>[“response”][200] | … 2 more … | AsyncGenerator<…> : unknown) | NoInfer<Schema>[“response”][keyof NoInfer<Schema>[“response”]] | InlineHandlerResponse<…) |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
path | Path |
fn | Handle & Metadata["macro"] |
Returns
Section titled “Returns”AddRoute<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, "delete", Path, Schema, {
}, Handle>
Example
Section titled “Example”import { Elysia, t } from 'elysia'
new Elysia() .delete('/', () => 'hi') .delete('/hook', { query: t.Object({ name: t.String() }) }, () => 'hi')derive()
Section titled “derive()”Call Signature
Section titled “Call Signature”derive<Derivative>(transform): LocalHookReturn<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, DeriveResponse<Derivative>, ExcludeElysiaResponse<Derivative>>;Defined in: elysia/dist/base.d.ts:278
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Derivative extends | void | Record<string, unknown> | Error | ElysiaStatus<any, any, any> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
transform | (context) => MaybePromise<Derivative> |
Returns
Section titled “Returns”LocalHookReturn<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, DeriveResponse<Derivative>, ExcludeElysiaResponse<Derivative>>
Call Signature
Section titled “Call Signature”derive<Derivative>(scope, transform): LocalHookReturn<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, DeriveResponse<Derivative>, ExcludeElysiaResponse<Derivative>>;Defined in: elysia/dist/base.d.ts:279
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Derivative extends | void | Record<string, unknown> | Error | ElysiaStatus<any, any, any> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
scope | "local" |
transform | (context) => MaybePromise<Derivative> |
Returns
Section titled “Returns”LocalHookReturn<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, DeriveResponse<Derivative>, ExcludeElysiaResponse<Derivative>>
Call Signature
Section titled “Call Signature”derive<Derivative>(scope, transform): PluginHookReturn<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, DeriveResponse<Derivative>, ExcludeElysiaResponse<Derivative>>;Defined in: elysia/dist/base.d.ts:280
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Derivative extends | void | Record<string, unknown> | Error | ElysiaStatus<any, any, any> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
scope | "plugin" |
transform | (context) => MaybePromise<Derivative> |
Returns
Section titled “Returns”PluginHookReturn<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, DeriveResponse<Derivative>, ExcludeElysiaResponse<Derivative>>
Call Signature
Section titled “Call Signature”derive<Derivative>(scope, transform): GlobalHookReturn<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, DeriveResponse<Derivative>, ExcludeElysiaResponse<Derivative>>;Defined in: elysia/dist/base.d.ts:281
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Derivative extends | void | Record<string, unknown> | Error | ElysiaStatus<any, any, any> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
scope | "global" |
transform | (context) => MaybePromise<Derivative> |
Returns
Section titled “Returns”GlobalHookReturn<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, DeriveResponse<Derivative>, ExcludeElysiaResponse<Derivative>>
Call Signature
Section titled “Call Signature”derive<As, Derivative>(options, transform): ScopedHookReturn<LegacyScope<As>, BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, DeriveResponse<Derivative>, ExcludeElysiaResponse<Derivative>>;Defined in: elysia/dist/base.d.ts:283
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
As extends "global" | "local" | "scoped" |
Derivative extends | void | Record<string, unknown> | Error | ElysiaStatus<any, any, any> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
options | { as: As; } |
options.as | As |
transform | (context) => MaybePromise<Derivative> |
Returns
Section titled “Returns”ScopedHookReturn<LegacyScope<As>, BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, DeriveResponse<Derivative>, ExcludeElysiaResponse<Derivative>>
Call Signature
Section titled “Call Signature”derive<HookScope, Derivative>(scope, transform): ScopedHookReturn<HookScope, BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, DeriveResponse<Derivative>, ExcludeElysiaResponse<Derivative>>;Defined in: elysia/dist/base.d.ts:286
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
HookScope extends EventScope |
Derivative extends | void | Record<string, unknown> | Error | ElysiaStatus<any, any, any> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
scope | HookScope |
transform | (context) => MaybePromise<Derivative> |
Returns
Section titled “Returns”ScopedHookReturn<HookScope, BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, DeriveResponse<Derivative>, ExcludeElysiaResponse<Derivative>>
Call Signature
Section titled “Call Signature”get<Path, Input, Schema, Decorator, MacroContext, Handle, UnknownKey>( path, hook, fn): AddRoute<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, "get", Path, Schema, MacroContext, Handle, Input>;Defined in: elysia/dist/base.d.ts:846
Register handler for path with method [GET]
Type Parameters
Section titled “Type Parameters”| Type Parameter | Default type |
|---|---|
Path extends string | - |
Input extends BaseMacro & InputSchema<keyof Definitions["typebox"] & string> & RouteHookCapture | - |
Schema extends IntersectIfObjectSchema<MergeSchema<UnwrapRoute<Input, Definitions["typebox"], JoinPath<BasePath, Path>>, MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>, "", undefined extends Input["params"] ? true : false>, MergeScopedSchemas<Metadata["schemas"], Ephemeral["schemas"], Volatile["schemas"]>> | - |
Decorator extends SingletonBase & object | - |
MacroContext extends | Macro<{ }, { }, { }, DefaultSingleton, []> | { [K in string | number | symbol]: (InnerMacroToContext<Metadata[“macroFn”], Pick<Input, Extract<keyof Metadata[“macroFn”], keyof Input>>, Definitions[“typebox”], []> extends A ? { [K in string | number | symbol]: K extends “derive” ? UnionToIntersect<A[K]> : K extends “meta” ? ((…)[(…)] & { value: … })[“value”] : A[K] } & { return: FlattenMacroResponse<A[“return”]> } : {})[K] } | - |
Handle extends | ((context) => MaybePromise<Response> | MaybePromise<{} extends NoInfer<Schema>[“response”] ? unknown : Error | (NoInfer<Schema>[“response”] extends { …; } ? NoInfer<Schema>[“response”][200] | … 2 more … | AsyncGenerator<…> : unknown) | NoInfer<Schema>[“response”][keyof NoInfer<Schema>[“response”]] | InlineHandlerResponse<…) | ((context) => MaybePromise<Response> | MaybePromise<{} extends (NoInfer<Schema> & MacroContext)[“response”] ? unknown : Error | ((NoInfer<Schema> & MacroContext)[“response”] extends { …; } ? (NoInfer<Schema> & MacroContext)[“response”][200] | … 2 more … | AsyncGenerator<…> : unknown) | (NoInfer<Schema> & MacroContext)[“re…) | MaybePromise<InlineResponse> | - |
UnknownKey extends PropertyKey | Exclude<keyof Input, HookObjectKey | keyof Metadata["macro"]> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
path | Path |
hook | object & Input extends any ? Input : { [K in string | number | symbol]: Input[K] } & MacroOptionContext<Metadata["macroFn"], Schema, Decorator> & UnknownHookKey<UnknownKey> |
fn | Handle |
Returns
Section titled “Returns”AddRoute<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, "get", Path, Schema, MacroContext, Handle, Input>
Example
Section titled “Example”import { Elysia, t } from 'elysia'
new Elysia() .get('/', () => 'hi') .get('/hook', { query: t.Object({ name: t.String() }) }, () => 'hi')Call Signature
Section titled “Call Signature”get<Path, Schema, Decorator, Handle>(path, fn): AddRoute<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, "get", Path, Schema, {}, Handle>;Defined in: elysia/dist/base.d.ts:849
Register handler for path with method [GET]
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Path extends string |
Schema extends IntersectIfObjectSchema<MergeSchema<UnwrapRoute<{ }, Definitions["typebox"], JoinPath<BasePath, Path>>, MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>, "", true>, MergeScopedSchemas<Metadata["schemas"], Ephemeral["schemas"], Volatile["schemas"]>> |
Decorator extends SingletonBase & object |
Handle extends | MaybePromise<InlineResponse> | ((context) => MaybePromise<Response> | MaybePromise<{} extends NoInfer<Schema>[“response”] ? unknown : Error | (NoInfer<Schema>[“response”] extends { …; } ? NoInfer<Schema>[“response”][200] | … 2 more … | AsyncGenerator<…> : unknown) | NoInfer<Schema>[“response”][keyof NoInfer<Schema>[“response”]] | InlineHandlerResponse<…) |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
path | Path |
fn | Handle & Metadata["macro"] |
Returns
Section titled “Returns”AddRoute<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, "get", Path, Schema, {
}, Handle>
Example
Section titled “Example”import { Elysia, t } from 'elysia'
new Elysia() .get('/', () => 'hi') .get('/hook', { query: t.Object({ name: t.String() }) }, () => 'hi')group()
Section titled “group()”Call Signature
Section titled “Call Signature”group<Prefix, NewElysia>(prefix, run): Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes & NewElysia["~Routes"], Ephemeral, Volatile>;Defined in: elysia/dist/base.d.ts:602
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Prefix extends string |
NewElysia extends AnyElysia |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
prefix | Prefix |
run | (group) => NewElysia |
Returns
Section titled “Returns”Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes & NewElysia["~Routes"], Ephemeral, Volatile>
Call Signature
Section titled “Call Signature”group<Prefix, Input, Schema, MacroContext, BeforeHandle, AfterHandle, ErrorHandle, NewElysia>( prefix, schema, run): Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes & NewElysia["~Routes"], Ephemeral, Volatile>;Defined in: elysia/dist/base.d.ts:610
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Prefix extends string |
Input extends BaseMacro & InputSchema<keyof Definitions["typebox"] & string> |
Schema extends | UnwrapRoute<Input, Definitions["typebox"], JoinPath<BasePath, Prefix>> | { body: undefined extends UnwrapBodySchema<Input["body"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["body"] : UnwrapBodySchema<Input["body"], Definitions["typebox"], "output">; cookie: undefined extends UnwrapSchema<Input["cookie"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["cookie"] : UnwrapSchema<Input["cookie"], Definitions["typebox"], "output">; headers: undefined extends UnwrapSchema<Input["headers"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["headers"] : UnwrapSchema<Input["headers"], Definitions["typebox"], "output">; params: IsNever<keyof object extends Input["params"] ? ResolvePath<JoinPath<BasePath, Prefix>> : object extends Input ? ResolvePath<JoinPath<BasePath, Prefix>> : UnwrapSchema<Input["params"], Definitions["typebox"], "output">> extends true ? IsNever<keyof MergeSchema<Volatile["schema"], MergeSchema<…[…], …[…]>>["params"]> extends true ? object : MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["params"] : object extends Input["params"] ? ResolvePath<JoinPath<BasePath, Prefix>> : object extends Input ? ResolvePath<JoinPath<BasePath, Prefix>> : UnwrapSchema<Input["params"], Definitions["typebox"], "output">; query: undefined extends UnwrapSchema<Input["query"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["query"] : UnwrapSchema<Input["query"], Definitions["typebox"], "output">; response: object extends Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<any[any][k], Definitions[“typebox”]> extends A ? A extends File ? File | ElysiaFile : A : unknown } : unknown ? Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…), (…)> extends A ? (…) extends (…) ? (…) : (…) : unknown } : unknown & object extends MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] & Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…), (…)> extends A ? (…) extends (…) ? (…) : (…) : unknown } : unknown & object : MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] : object extends MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] ? Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…)[(…)], (…)[(…)]> extends A ? A extends File ? (…) | (…) : A : unknown } : unknown : Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…), (…)> extends A ? (…) extends (…) ? (…) : (…) : unknown } : unknown & Omit<MergeSchema<Volatile["schema"], MergeSchema<…[…], …[…]>>["response"], keyof Input["response"] extends string | AnySchema ? object : …[…] extends object ? { [k in (...)]: (...) } : unknown>; } & RouteSchema |
MacroContext extends | Macro<{ }, { }, { }, DefaultSingleton, []> | { [K in string | number | symbol]: (InnerMacroToContext<Metadata[“macroFn”], Pick<Input, Extract<keyof Metadata[“macroFn”], keyof Input>>, Definitions[“typebox”], []> extends A ? { [K in string | number | symbol]: K extends “derive” ? UnionToIntersect<A[K]> : K extends “meta” ? ((…)[(…)] & { value: … })[“value”] : A[K] } & { return: FlattenMacroResponse<A[“return”]> } : {})[K] } |
BeforeHandle extends MaybeArray<OptionalHandler<Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, MacroContext>>> |
AfterHandle extends MaybeArray<AfterHandler<Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, MacroContext>>> |
ErrorHandle extends MaybeArray<ErrorHandler<Definitions["error"], Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, MacroContext>>> |
NewElysia extends AnyElysia |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
prefix | Prefix |
schema | Input extends any ? Input : { [K in string | number | symbol]: Input[K] } & object & object & MacroOptionContext<Metadata["macroFn"], Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, { derive: { }; }>> |
run | (group) => NewElysia |
Returns
Section titled “Returns”Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes & NewElysia["~Routes"], Ephemeral, Volatile>
Call Signature
Section titled “Call Signature”group<Prefix, Input, Schema, MacroContext, BeforeHandle, AfterHandle, ErrorHandle, NewElysia>( prefix, schema, run): Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes & NewElysia["~Routes"], Ephemeral, Volatile>;Defined in: elysia/dist/base.d.ts:626
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Prefix extends string |
Input extends BaseMacro & InputSchema<keyof Definitions["typebox"] & string> |
Schema extends | UnwrapRoute<Input, Definitions["typebox"], JoinPath<BasePath, Prefix>> | { body: undefined extends UnwrapBodySchema<Input["body"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["body"] : UnwrapBodySchema<Input["body"], Definitions["typebox"], "output">; cookie: undefined extends UnwrapSchema<Input["cookie"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["cookie"] : UnwrapSchema<Input["cookie"], Definitions["typebox"], "output">; headers: undefined extends UnwrapSchema<Input["headers"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["headers"] : UnwrapSchema<Input["headers"], Definitions["typebox"], "output">; params: IsNever<keyof object extends Input["params"] ? ResolvePath<JoinPath<BasePath, Prefix>> : object extends Input ? ResolvePath<JoinPath<BasePath, Prefix>> : UnwrapSchema<Input["params"], Definitions["typebox"], "output">> extends true ? IsNever<keyof MergeSchema<Volatile["schema"], MergeSchema<…[…], …[…]>>["params"]> extends true ? object : MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["params"] : object extends Input["params"] ? ResolvePath<JoinPath<BasePath, Prefix>> : object extends Input ? ResolvePath<JoinPath<BasePath, Prefix>> : UnwrapSchema<Input["params"], Definitions["typebox"], "output">; query: undefined extends UnwrapSchema<Input["query"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["query"] : UnwrapSchema<Input["query"], Definitions["typebox"], "output">; response: object extends Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<any[any][k], Definitions[“typebox”]> extends A ? A extends File ? File | ElysiaFile : A : unknown } : unknown ? Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…), (…)> extends A ? (…) extends (…) ? (…) : (…) : unknown } : unknown & object extends MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] & Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…), (…)> extends A ? (…) extends (…) ? (…) : (…) : unknown } : unknown & object : MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] : object extends MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] ? Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…)[(…)], (…)[(…)]> extends A ? A extends File ? (…) | (…) : A : unknown } : unknown : Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…), (…)> extends A ? (…) extends (…) ? (…) : (…) : unknown } : unknown & Omit<MergeSchema<Volatile["schema"], MergeSchema<…[…], …[…]>>["response"], keyof Input["response"] extends string | AnySchema ? object : …[…] extends object ? { [k in (...)]: (...) } : unknown>; } & RouteSchema |
MacroContext extends | Macro<{ }, { }, { }, DefaultSingleton, []> | { [K in string | number | symbol]: (InnerMacroToContext<Metadata[“macroFn”], Pick<Input, Extract<keyof Metadata[“macroFn”], keyof Input>>, Definitions[“typebox”], []> extends A ? { [K in string | number | symbol]: K extends “derive” ? UnionToIntersect<A[K]> : K extends “meta” ? ((…)[(…)] & { value: … })[“value”] : A[K] } & { return: FlattenMacroResponse<A[“return”]> } : {})[K] } |
BeforeHandle extends MaybeArray<OptionalHandler<Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, MacroContext>>> |
AfterHandle extends MaybeArray<AfterHandler<Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, MacroContext>>> |
ErrorHandle extends MaybeArray<ErrorHandler<Definitions["error"], Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, MacroContext>>> |
NewElysia extends AnyElysia |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
prefix | Prefix |
schema | Input extends any ? Input : { [K in string | number | symbol]: Input[K] } & object & MacroOptionContext<Metadata["macroFn"], Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, { derive: { }; }>> |
run | (group) => NewElysia |
Returns
Section titled “Returns”Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes & NewElysia["~Routes"], Ephemeral, Volatile>
guard()
Section titled “guard()”Call Signature
Section titled “Call Signature”guard<Input, Schema, MacroContext, BeforeHandle, AfterHandle, ErrorHandle>(hook): Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, { derive: Volatile["derive"] & MacroContext["derive"]; error: [...Volatile["error"][], ...CatchAllEntries<ErrorHandle>[], ...MacroCatchAll<MacroContext["return" & keyof MacroContext]>[]]; response: UnionResponseStatus<UnionResponseStatus<Volatile["response"], ElysiaHandlerToResponseSchemaAmbiguous<BeforeHandle>>, UnionResponseStatus<ElysiaHandlerToResponseSchemaAmbiguous<AfterHandle>, UnionResponseStatus<ErrorHookStatus<ErrorHandle>, WithoutMacroCatch<MacroContext["return" & keyof MacroContext]> & object>>>; schema: Volatile["schema"]; schemas: Volatile["schemas"] & UnwrapRoute<Input, Definitions["typebox"], ""> & MacroContext;}>;Defined in: elysia/dist/base.d.ts:470
Apply a hook and schema to every route defined after it on this instance.
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Input extends BaseMacro & InputSchema<keyof Definitions["typebox"] & string> |
Schema extends | UnwrapRoute<Input, Definitions["typebox"], BasePath> | { body: undefined extends UnwrapBodySchema<Input["body"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["body"] : UnwrapBodySchema<Input["body"], Definitions["typebox"], "output">; cookie: undefined extends UnwrapSchema<Input["cookie"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["cookie"] : UnwrapSchema<Input["cookie"], Definitions["typebox"], "output">; headers: undefined extends UnwrapSchema<Input["headers"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["headers"] : UnwrapSchema<Input["headers"], Definitions["typebox"], "output">; params: IsNever<keyof object extends Input["params"] ? ResolvePath<BasePath> : object extends Input ? ResolvePath<BasePath> : UnwrapSchema<Input["params"], Definitions["typebox"], "output">> extends true ? IsNever<keyof MergeSchema<Volatile["schema"], MergeSchema<…[…], …[…]>>["params"]> extends true ? object : MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["params"] : object extends Input["params"] ? ResolvePath<BasePath> : object extends Input ? ResolvePath<BasePath> : UnwrapSchema<Input["params"], Definitions["typebox"], "output">; query: undefined extends UnwrapSchema<Input["query"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["query"] : UnwrapSchema<Input["query"], Definitions["typebox"], "output">; response: object extends Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<any[any][k], Definitions[“typebox”]> extends A ? A extends File ? File | ElysiaFile : A : unknown } : unknown ? Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…), (…)> extends A ? (…) extends (…) ? (…) : (…) : unknown } : unknown & object extends MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] & Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…), (…)> extends A ? (…) extends (…) ? (…) : (…) : unknown } : unknown & object : MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] : object extends MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] ? Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…)[(…)], (…)[(…)]> extends A ? A extends File ? (…) | (…) : A : unknown } : unknown : Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…), (…)> extends A ? (…) extends (…) ? (…) : (…) : unknown } : unknown & Omit<MergeSchema<Volatile["schema"], MergeSchema<…[…], …[…]>>["response"], keyof Input["response"] extends string | AnySchema ? object : …[…] extends object ? { [k in (...)]: (...) } : unknown>; } & RouteSchema |
MacroContext extends | Macro<{ }, { }, { }, DefaultSingleton, []> | { [K in string | number | symbol]: (InnerMacroToContext<Metadata[“macroFn”], Pick<Input, Extract<keyof Metadata[“macroFn”], keyof Input>>, Definitions[“typebox”], []> extends A ? { [K in string | number | symbol]: K extends “derive” ? UnionToIntersect<A[K]> : K extends “meta” ? ((…)[(…)] & { value: … })[“value”] : A[K] } & { return: FlattenMacroResponse<A[“return”]> } : {})[K] } |
BeforeHandle extends MaybeArray<OptionalHandler<Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, MacroContext>>> |
AfterHandle extends MaybeArray<AfterHandler<Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, MacroContext>>> |
ErrorHandle extends MaybeArray<ErrorHandler<Definitions["error"], Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, MacroContext>>> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
hook | Input extends any ? Input : { [K in string | number | symbol]: Input[K] } & object & object & MacroOptionContext<Metadata["macroFn"], Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, { derive: { }; }>> |
Returns
Section titled “Returns”Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, {
derive: Volatile["derive"] & MacroContext["derive"];
error: [...Volatile["error"][], ...CatchAllEntries<ErrorHandle>[], ...MacroCatchAll<MacroContext["return" & keyof MacroContext]>[]];
response: UnionResponseStatus<UnionResponseStatus<Volatile["response"], ElysiaHandlerToResponseSchemaAmbiguous<BeforeHandle>>, UnionResponseStatus<ElysiaHandlerToResponseSchemaAmbiguous<AfterHandle>, UnionResponseStatus<ErrorHookStatus<ErrorHandle>, WithoutMacroCatch<MacroContext["return" & keyof MacroContext]> & object>>>;
schema: Volatile["schema"];
schemas: Volatile["schemas"] & UnwrapRoute<Input, Definitions["typebox"], ""> & MacroContext;
}>
Example
Section titled “Example”new Elysia() .guard({ body: t.Object({ name: t.String() }) }) .post('/', ({ body }) => body)Call Signature
Section titled “Call Signature”guard<Input, Schema, MacroContext, BeforeHandle, AfterHandle, ErrorHandle>(hook): Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, { derive: Volatile["derive"] & MacroContext["derive"]; error: [...Volatile["error"][], ...CatchAllEntries<ErrorHandle>[], ...MacroCatchAll<MacroContext["return" & keyof MacroContext]>[]]; response: UnionResponseStatus<UnionResponseStatus<Volatile["response"], ElysiaHandlerToResponseSchemaAmbiguous<BeforeHandle>>, UnionResponseStatus<ElysiaHandlerToResponseSchemaAmbiguous<AfterHandle>, UnionResponseStatus<ErrorHookStatus<ErrorHandle>, WithoutMacroCatch<MacroContext["return" & keyof MacroContext]> & object>>>; schema: object extends Pick<Input, Extract<keyof Input, keyof InputSchema<string>>> ? Volatile["schema"] : MergeSchema<UnwrapRoute<Input, Definitions["typebox"], "">, Volatile["schema"]>; schemas: Volatile["schemas"] & MacroContext;}>;Defined in: elysia/dist/base.d.ts:481
Apply a hook and schema to every route defined after it on this instance.
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Input extends BaseMacro & InputSchema<keyof Definitions["typebox"] & string> |
Schema extends | UnwrapRoute<Input, Definitions["typebox"], BasePath> | { body: undefined extends UnwrapBodySchema<Input["body"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["body"] : UnwrapBodySchema<Input["body"], Definitions["typebox"], "output">; cookie: undefined extends UnwrapSchema<Input["cookie"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["cookie"] : UnwrapSchema<Input["cookie"], Definitions["typebox"], "output">; headers: undefined extends UnwrapSchema<Input["headers"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["headers"] : UnwrapSchema<Input["headers"], Definitions["typebox"], "output">; params: IsNever<keyof object extends Input["params"] ? ResolvePath<BasePath> : object extends Input ? ResolvePath<BasePath> : UnwrapSchema<Input["params"], Definitions["typebox"], "output">> extends true ? IsNever<keyof MergeSchema<Volatile["schema"], MergeSchema<…[…], …[…]>>["params"]> extends true ? object : MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["params"] : object extends Input["params"] ? ResolvePath<BasePath> : object extends Input ? ResolvePath<BasePath> : UnwrapSchema<Input["params"], Definitions["typebox"], "output">; query: undefined extends UnwrapSchema<Input["query"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["query"] : UnwrapSchema<Input["query"], Definitions["typebox"], "output">; response: object extends Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<any[any][k], Definitions[“typebox”]> extends A ? A extends File ? File | ElysiaFile : A : unknown } : unknown ? Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…), (…)> extends A ? (…) extends (…) ? (…) : (…) : unknown } : unknown & object extends MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] & Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…), (…)> extends A ? (…) extends (…) ? (…) : (…) : unknown } : unknown & object : MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] : object extends MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] ? Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…)[(…)], (…)[(…)]> extends A ? A extends File ? (…) | (…) : A : unknown } : unknown : Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…), (…)> extends A ? (…) extends (…) ? (…) : (…) : unknown } : unknown & Omit<MergeSchema<Volatile["schema"], MergeSchema<…[…], …[…]>>["response"], keyof Input["response"] extends string | AnySchema ? object : …[…] extends object ? { [k in (...)]: (...) } : unknown>; } & RouteSchema |
MacroContext extends | Macro<{ }, { }, { }, DefaultSingleton, []> | { [K in string | number | symbol]: (InnerMacroToContext<Metadata[“macroFn”], Pick<Input, Extract<keyof Metadata[“macroFn”], keyof Input>>, Definitions[“typebox”], []> extends A ? { [K in string | number | symbol]: K extends “derive” ? UnionToIntersect<A[K]> : K extends “meta” ? ((…)[(…)] & { value: … })[“value”] : A[K] } & { return: FlattenMacroResponse<A[“return”]> } : {})[K] } |
BeforeHandle extends MaybeArray<OptionalHandler<Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, MacroContext>>> |
AfterHandle extends MaybeArray<AfterHandler<Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, MacroContext>>> |
ErrorHandle extends MaybeArray<ErrorHandler<Definitions["error"], Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, MacroContext>>> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
hook | Input extends any ? Input : { [K in string | number | symbol]: Input[K] } & object & MacroOptionContext<Metadata["macroFn"], Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, { derive: { }; }>> |
Returns
Section titled “Returns”Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, {
derive: Volatile["derive"] & MacroContext["derive"];
error: [...Volatile["error"][], ...CatchAllEntries<ErrorHandle>[], ...MacroCatchAll<MacroContext["return" & keyof MacroContext]>[]];
response: UnionResponseStatus<UnionResponseStatus<Volatile["response"], ElysiaHandlerToResponseSchemaAmbiguous<BeforeHandle>>, UnionResponseStatus<ElysiaHandlerToResponseSchemaAmbiguous<AfterHandle>, UnionResponseStatus<ErrorHookStatus<ErrorHandle>, WithoutMacroCatch<MacroContext["return" & keyof MacroContext]> & object>>>;
schema: object extends Pick<Input, Extract<keyof Input, keyof InputSchema<string>>> ? Volatile["schema"] : MergeSchema<UnwrapRoute<Input, Definitions["typebox"], "">, Volatile["schema"]>;
schemas: Volatile["schemas"] & MacroContext;
}>
Example
Section titled “Example”new Elysia() .guard({ body: t.Object({ name: t.String() }) }) .post('/', ({ body }) => body)Call Signature
Section titled “Call Signature”guard<Input, Schema, MacroContext, BeforeHandle, AfterHandle, ErrorHandle, NewElysia>(hook, run): Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes & NewElysia["~Routes"], Ephemeral, Volatile>;Defined in: elysia/dist/base.d.ts:490
Apply a hook and schema to every route defined after it on this instance.
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Input extends BaseMacro & InputSchema<keyof Definitions["typebox"] & string> |
Schema extends | UnwrapRoute<Input, Definitions["typebox"], BasePath> | { body: undefined extends UnwrapBodySchema<Input["body"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["body"] : UnwrapBodySchema<Input["body"], Definitions["typebox"], "output">; cookie: undefined extends UnwrapSchema<Input["cookie"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["cookie"] : UnwrapSchema<Input["cookie"], Definitions["typebox"], "output">; headers: undefined extends UnwrapSchema<Input["headers"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["headers"] : UnwrapSchema<Input["headers"], Definitions["typebox"], "output">; params: IsNever<keyof object extends Input["params"] ? ResolvePath<BasePath> : object extends Input ? ResolvePath<BasePath> : UnwrapSchema<Input["params"], Definitions["typebox"], "output">> extends true ? IsNever<keyof MergeSchema<Volatile["schema"], MergeSchema<…[…], …[…]>>["params"]> extends true ? object : MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["params"] : object extends Input["params"] ? ResolvePath<BasePath> : object extends Input ? ResolvePath<BasePath> : UnwrapSchema<Input["params"], Definitions["typebox"], "output">; query: undefined extends UnwrapSchema<Input["query"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["query"] : UnwrapSchema<Input["query"], Definitions["typebox"], "output">; response: object extends Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<any[any][k], Definitions[“typebox”]> extends A ? A extends File ? File | ElysiaFile : A : unknown } : unknown ? Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…), (…)> extends A ? (…) extends (…) ? (…) : (…) : unknown } : unknown & object extends MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] & Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…), (…)> extends A ? (…) extends (…) ? (…) : (…) : unknown } : unknown & object : MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] : object extends MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] ? Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…)[(…)], (…)[(…)]> extends A ? A extends File ? (…) | (…) : A : unknown } : unknown : Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…), (…)> extends A ? (…) extends (…) ? (…) : (…) : unknown } : unknown & Omit<MergeSchema<Volatile["schema"], MergeSchema<…[…], …[…]>>["response"], keyof Input["response"] extends string | AnySchema ? object : …[…] extends object ? { [k in (...)]: (...) } : unknown>; } & RouteSchema |
MacroContext extends | Macro<{ }, { }, { }, DefaultSingleton, []> | { [K in string | number | symbol]: (InnerMacroToContext<Metadata[“macroFn”], Pick<Input, Extract<keyof Metadata[“macroFn”], keyof Input>>, Definitions[“typebox”], []> extends A ? { [K in string | number | symbol]: K extends “derive” ? UnionToIntersect<A[K]> : K extends “meta” ? ((…)[(…)] & { value: … })[“value”] : A[K] } & { return: FlattenMacroResponse<A[“return”]> } : {})[K] } |
BeforeHandle extends MaybeArray<OptionalHandler<Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, MacroContext>>> |
AfterHandle extends MaybeArray<AfterHandler<Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, MacroContext>>> |
ErrorHandle extends MaybeArray<ErrorHandler<Definitions["error"], Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, MacroContext>>> |
NewElysia extends AnyElysia |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
hook | Input extends any ? Input : { [K in string | number | symbol]: Input[K] } & object & object & MacroOptionContext<Metadata["macroFn"], Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, { derive: { }; }>> |
run | (group) => NewElysia |
Returns
Section titled “Returns”Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes & NewElysia["~Routes"], Ephemeral, Volatile>
Example
Section titled “Example”new Elysia() .guard({ body: t.Object({ name: t.String() }) }) .post('/', ({ body }) => body)Call Signature
Section titled “Call Signature”guard<Input, Schema, MacroContext, BeforeHandle, AfterHandle, ErrorHandle, NewElysia>(hook, run): Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes & NewElysia["~Routes"], Ephemeral, Volatile>;Defined in: elysia/dist/base.d.ts:506
Apply a hook and schema to every route defined after it on this instance.
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Input extends BaseMacro & InputSchema<keyof Definitions["typebox"] & string> |
Schema extends | UnwrapRoute<Input, Definitions["typebox"], BasePath> | { body: undefined extends UnwrapBodySchema<Input["body"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["body"] : UnwrapBodySchema<Input["body"], Definitions["typebox"], "output">; cookie: undefined extends UnwrapSchema<Input["cookie"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["cookie"] : UnwrapSchema<Input["cookie"], Definitions["typebox"], "output">; headers: undefined extends UnwrapSchema<Input["headers"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["headers"] : UnwrapSchema<Input["headers"], Definitions["typebox"], "output">; params: IsNever<keyof object extends Input["params"] ? ResolvePath<BasePath> : object extends Input ? ResolvePath<BasePath> : UnwrapSchema<Input["params"], Definitions["typebox"], "output">> extends true ? IsNever<keyof MergeSchema<Volatile["schema"], MergeSchema<…[…], …[…]>>["params"]> extends true ? object : MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["params"] : object extends Input["params"] ? ResolvePath<BasePath> : object extends Input ? ResolvePath<BasePath> : UnwrapSchema<Input["params"], Definitions["typebox"], "output">; query: undefined extends UnwrapSchema<Input["query"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["query"] : UnwrapSchema<Input["query"], Definitions["typebox"], "output">; response: object extends Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<any[any][k], Definitions[“typebox”]> extends A ? A extends File ? File | ElysiaFile : A : unknown } : unknown ? Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…), (…)> extends A ? (…) extends (…) ? (…) : (…) : unknown } : unknown & object extends MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] & Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…), (…)> extends A ? (…) extends (…) ? (…) : (…) : unknown } : unknown & object : MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] : object extends MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] ? Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…)[(…)], (…)[(…)]> extends A ? A extends File ? (…) | (…) : A : unknown } : unknown : Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…), (…)> extends A ? (…) extends (…) ? (…) : (…) : unknown } : unknown & Omit<MergeSchema<Volatile["schema"], MergeSchema<…[…], …[…]>>["response"], keyof Input["response"] extends string | AnySchema ? object : …[…] extends object ? { [k in (...)]: (...) } : unknown>; } & RouteSchema |
MacroContext extends | Macro<{ }, { }, { }, DefaultSingleton, []> | { [K in string | number | symbol]: (InnerMacroToContext<Metadata[“macroFn”], Pick<Input, Extract<keyof Metadata[“macroFn”], keyof Input>>, Definitions[“typebox”], []> extends A ? { [K in string | number | symbol]: K extends “derive” ? UnionToIntersect<A[K]> : K extends “meta” ? ((…)[(…)] & { value: … })[“value”] : A[K] } & { return: FlattenMacroResponse<A[“return”]> } : {})[K] } |
BeforeHandle extends MaybeArray<OptionalHandler<Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, MacroContext>>> |
AfterHandle extends MaybeArray<AfterHandler<Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, MacroContext>>> |
ErrorHandle extends MaybeArray<ErrorHandler<Definitions["error"], Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, MacroContext>>> |
NewElysia extends AnyElysia |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
hook | Input extends any ? Input : { [K in string | number | symbol]: Input[K] } & object & MacroOptionContext<Metadata["macroFn"], Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, { derive: { }; }>> |
run | (group) => NewElysia |
Returns
Section titled “Returns”Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes & NewElysia["~Routes"], Ephemeral, Volatile>
Example
Section titled “Example”new Elysia() .guard({ body: t.Object({ name: t.String() }) }) .post('/', ({ body }) => body)Call Signature
Section titled “Call Signature”guard<Input, Schema, MacroContext, BeforeHandle, AfterHandle, ErrorHandle>(scope, hook): Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, { derive: Volatile["derive"] & MacroContext["derive"]; error: [...Volatile["error"][], ...CatchAllEntries<ErrorHandle>[], ...MacroCatchAll<MacroContext["return" & keyof MacroContext]>[]]; response: UnionResponseStatus<UnionResponseStatus<Volatile["response"], ElysiaHandlerToResponseSchemaAmbiguous<BeforeHandle>>, UnionResponseStatus<ElysiaHandlerToResponseSchemaAmbiguous<AfterHandle>, UnionResponseStatus<ErrorHookStatus<ErrorHandle>, WithoutMacroCatch<MacroContext["return" & keyof MacroContext]> & object>>>; schema: Volatile["schema"]; schemas: Volatile["schemas"] & UnwrapRoute<Input, Definitions["typebox"], ""> & MacroContext;}>;Defined in: elysia/dist/base.d.ts:532
Apply a hook and schema to every route defined after it on this instance.
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Input extends BaseMacro & InputSchema<keyof Definitions["typebox"] & string> |
Schema extends | UnwrapRoute<Input, Definitions["typebox"], BasePath> | { body: undefined extends UnwrapBodySchema<Input["body"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["body"] : UnwrapBodySchema<Input["body"], Definitions["typebox"], "output">; cookie: undefined extends UnwrapSchema<Input["cookie"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["cookie"] : UnwrapSchema<Input["cookie"], Definitions["typebox"], "output">; headers: undefined extends UnwrapSchema<Input["headers"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["headers"] : UnwrapSchema<Input["headers"], Definitions["typebox"], "output">; params: IsNever<keyof object extends Input["params"] ? ResolvePath<BasePath> : object extends Input ? ResolvePath<BasePath> : UnwrapSchema<Input["params"], Definitions["typebox"], "output">> extends true ? IsNever<keyof MergeSchema<Volatile["schema"], MergeSchema<…[…], …[…]>>["params"]> extends true ? object : MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["params"] : object extends Input["params"] ? ResolvePath<BasePath> : object extends Input ? ResolvePath<BasePath> : UnwrapSchema<Input["params"], Definitions["typebox"], "output">; query: undefined extends UnwrapSchema<Input["query"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["query"] : UnwrapSchema<Input["query"], Definitions["typebox"], "output">; response: object extends Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<any[any][k], Definitions[“typebox”]> extends A ? A extends File ? File | ElysiaFile : A : unknown } : unknown ? Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…), (…)> extends A ? (…) extends (…) ? (…) : (…) : unknown } : unknown & object extends MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] & Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…), (…)> extends A ? (…) extends (…) ? (…) : (…) : unknown } : unknown & object : MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] : object extends MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] ? Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…)[(…)], (…)[(…)]> extends A ? A extends File ? (…) | (…) : A : unknown } : unknown : Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…), (…)> extends A ? (…) extends (…) ? (…) : (…) : unknown } : unknown & Omit<MergeSchema<Volatile["schema"], MergeSchema<…[…], …[…]>>["response"], keyof Input["response"] extends string | AnySchema ? object : …[…] extends object ? { [k in (...)]: (...) } : unknown>; } & RouteSchema |
MacroContext extends | Macro<{ }, { }, { }, DefaultSingleton, []> | { [K in string | number | symbol]: (InnerMacroToContext<Metadata[“macroFn”], Pick<Input, Extract<keyof Metadata[“macroFn”], keyof Input>>, Definitions[“typebox”], []> extends A ? { [K in string | number | symbol]: K extends “derive” ? UnionToIntersect<A[K]> : K extends “meta” ? ((…)[(…)] & { value: … })[“value”] : A[K] } & { return: FlattenMacroResponse<A[“return”]> } : {})[K] } |
BeforeHandle extends MaybeArray<OptionalHandler<Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, MacroContext>>> |
AfterHandle extends MaybeArray<AfterHandler<Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, MacroContext>>> |
ErrorHandle extends MaybeArray<ErrorHandler<Definitions["error"], Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, MacroContext>>> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
scope | "local" |
hook | Input extends any ? Input : { [K in string | number | symbol]: Input[K] } & object & object & MacroOptionContext<Metadata["macroFn"], Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, { derive: { }; }>> |
Returns
Section titled “Returns”Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, {
derive: Volatile["derive"] & MacroContext["derive"];
error: [...Volatile["error"][], ...CatchAllEntries<ErrorHandle>[], ...MacroCatchAll<MacroContext["return" & keyof MacroContext]>[]];
response: UnionResponseStatus<UnionResponseStatus<Volatile["response"], ElysiaHandlerToResponseSchemaAmbiguous<BeforeHandle>>, UnionResponseStatus<ElysiaHandlerToResponseSchemaAmbiguous<AfterHandle>, UnionResponseStatus<ErrorHookStatus<ErrorHandle>, WithoutMacroCatch<MacroContext["return" & keyof MacroContext]> & object>>>;
schema: Volatile["schema"];
schemas: Volatile["schemas"] & UnwrapRoute<Input, Definitions["typebox"], ""> & MacroContext;
}>
Example
Section titled “Example”new Elysia() .guard({ body: t.Object({ name: t.String() }) }) .post('/', ({ body }) => body)Call Signature
Section titled “Call Signature”guard<Input, Schema, MacroContext, BeforeHandle, AfterHandle, ErrorHandle>(scope, hook): Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, { derive: Volatile["derive"] & MacroContext["derive"]; error: [...Volatile["error"][], ...CatchAllEntries<ErrorHandle>[], ...MacroCatchAll<MacroContext["return" & keyof MacroContext]>[]]; response: UnionResponseStatus<UnionResponseStatus<Volatile["response"], ElysiaHandlerToResponseSchemaAmbiguous<BeforeHandle>>, UnionResponseStatus<ElysiaHandlerToResponseSchemaAmbiguous<AfterHandle>, UnionResponseStatus<ErrorHookStatus<ErrorHandle>, WithoutMacroCatch<MacroContext["return" & keyof MacroContext]> & object>>>; schema: object extends Pick<Input, Extract<keyof Input, keyof InputSchema<string>>> ? Volatile["schema"] : MergeSchema<UnwrapRoute<Input, Definitions["typebox"], "">, Volatile["schema"]>; schemas: Volatile["schemas"] & MacroContext;}>;Defined in: elysia/dist/base.d.ts:543
Apply a hook and schema to every route defined after it on this instance.
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Input extends BaseMacro & InputSchema<keyof Definitions["typebox"] & string> |
Schema extends | UnwrapRoute<Input, Definitions["typebox"], BasePath> | { body: undefined extends UnwrapBodySchema<Input["body"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["body"] : UnwrapBodySchema<Input["body"], Definitions["typebox"], "output">; cookie: undefined extends UnwrapSchema<Input["cookie"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["cookie"] : UnwrapSchema<Input["cookie"], Definitions["typebox"], "output">; headers: undefined extends UnwrapSchema<Input["headers"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["headers"] : UnwrapSchema<Input["headers"], Definitions["typebox"], "output">; params: IsNever<keyof object extends Input["params"] ? ResolvePath<BasePath> : object extends Input ? ResolvePath<BasePath> : UnwrapSchema<Input["params"], Definitions["typebox"], "output">> extends true ? IsNever<keyof MergeSchema<Volatile["schema"], MergeSchema<…[…], …[…]>>["params"]> extends true ? object : MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["params"] : object extends Input["params"] ? ResolvePath<BasePath> : object extends Input ? ResolvePath<BasePath> : UnwrapSchema<Input["params"], Definitions["typebox"], "output">; query: undefined extends UnwrapSchema<Input["query"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["query"] : UnwrapSchema<Input["query"], Definitions["typebox"], "output">; response: object extends Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<any[any][k], Definitions[“typebox”]> extends A ? A extends File ? File | ElysiaFile : A : unknown } : unknown ? Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…), (…)> extends A ? (…) extends (…) ? (…) : (…) : unknown } : unknown & object extends MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] & Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…), (…)> extends A ? (…) extends (…) ? (…) : (…) : unknown } : unknown & object : MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] : object extends MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] ? Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…)[(…)], (…)[(…)]> extends A ? A extends File ? (…) | (…) : A : unknown } : unknown : Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…), (…)> extends A ? (…) extends (…) ? (…) : (…) : unknown } : unknown & Omit<MergeSchema<Volatile["schema"], MergeSchema<…[…], …[…]>>["response"], keyof Input["response"] extends string | AnySchema ? object : …[…] extends object ? { [k in (...)]: (...) } : unknown>; } & RouteSchema |
MacroContext extends | Macro<{ }, { }, { }, DefaultSingleton, []> | { [K in string | number | symbol]: (InnerMacroToContext<Metadata[“macroFn”], Pick<Input, Extract<keyof Metadata[“macroFn”], keyof Input>>, Definitions[“typebox”], []> extends A ? { [K in string | number | symbol]: K extends “derive” ? UnionToIntersect<A[K]> : K extends “meta” ? ((…)[(…)] & { value: … })[“value”] : A[K] } & { return: FlattenMacroResponse<A[“return”]> } : {})[K] } |
BeforeHandle extends MaybeArray<OptionalHandler<Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, MacroContext>>> |
AfterHandle extends MaybeArray<AfterHandler<Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, MacroContext>>> |
ErrorHandle extends MaybeArray<ErrorHandler<Definitions["error"], Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, MacroContext>>> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
scope | "local" |
hook | Input extends any ? Input : { [K in string | number | symbol]: Input[K] } & object & MacroOptionContext<Metadata["macroFn"], Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, { derive: { }; }>> |
Returns
Section titled “Returns”Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, {
derive: Volatile["derive"] & MacroContext["derive"];
error: [...Volatile["error"][], ...CatchAllEntries<ErrorHandle>[], ...MacroCatchAll<MacroContext["return" & keyof MacroContext]>[]];
response: UnionResponseStatus<UnionResponseStatus<Volatile["response"], ElysiaHandlerToResponseSchemaAmbiguous<BeforeHandle>>, UnionResponseStatus<ElysiaHandlerToResponseSchemaAmbiguous<AfterHandle>, UnionResponseStatus<ErrorHookStatus<ErrorHandle>, WithoutMacroCatch<MacroContext["return" & keyof MacroContext]> & object>>>;
schema: object extends Pick<Input, Extract<keyof Input, keyof InputSchema<string>>> ? Volatile["schema"] : MergeSchema<UnwrapRoute<Input, Definitions["typebox"], "">, Volatile["schema"]>;
schemas: Volatile["schemas"] & MacroContext;
}>
Example
Section titled “Example”new Elysia() .guard({ body: t.Object({ name: t.String() }) }) .post('/', ({ body }) => body)Call Signature
Section titled “Call Signature”guard<Input, Schema, MacroContext, BeforeHandle, AfterHandle, ErrorHandle>(scope, hook): Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes, { derive: Ephemeral["derive"] & MacroContext["derive"]; error: [...Ephemeral["error"][], ...CatchAllEntries<ErrorHandle>[], ...MacroCatchAll<MacroContext["return" & keyof MacroContext]>[]]; response: UnionResponseStatus<UnionResponseStatus<Ephemeral["response"], ElysiaHandlerToResponseSchemaAmbiguous<BeforeHandle>>, UnionResponseStatus<ElysiaHandlerToResponseSchemaAmbiguous<AfterHandle>, UnionResponseStatus<ErrorHookStatus<ErrorHandle>, WithoutMacroCatch<MacroContext["return" & keyof MacroContext]> & object>>>; schema: Ephemeral["schema"]; schemas: Ephemeral["schemas"] & UnwrapRoute<Input, Definitions["typebox"], ""> & MacroContext;}, Volatile>;Defined in: elysia/dist/base.d.ts:552
Apply a hook and schema to every route defined after it on this instance.
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Input extends BaseMacro & InputSchema<keyof Definitions["typebox"] & string> |
Schema extends | UnwrapRoute<Input, Definitions["typebox"], BasePath> | { body: undefined extends UnwrapBodySchema<Input["body"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["body"] : UnwrapBodySchema<Input["body"], Definitions["typebox"], "output">; cookie: undefined extends UnwrapSchema<Input["cookie"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["cookie"] : UnwrapSchema<Input["cookie"], Definitions["typebox"], "output">; headers: undefined extends UnwrapSchema<Input["headers"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["headers"] : UnwrapSchema<Input["headers"], Definitions["typebox"], "output">; params: IsNever<keyof object extends Input["params"] ? ResolvePath<BasePath> : object extends Input ? ResolvePath<BasePath> : UnwrapSchema<Input["params"], Definitions["typebox"], "output">> extends true ? IsNever<keyof MergeSchema<Volatile["schema"], MergeSchema<…[…], …[…]>>["params"]> extends true ? object : MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["params"] : object extends Input["params"] ? ResolvePath<BasePath> : object extends Input ? ResolvePath<BasePath> : UnwrapSchema<Input["params"], Definitions["typebox"], "output">; query: undefined extends UnwrapSchema<Input["query"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["query"] : UnwrapSchema<Input["query"], Definitions["typebox"], "output">; response: object extends Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<any[any][k], Definitions[“typebox”]> extends A ? A extends File ? File | ElysiaFile : A : unknown } : unknown ? Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…), (…)> extends A ? (…) extends (…) ? (…) : (…) : unknown } : unknown & object extends MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] & Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…), (…)> extends A ? (…) extends (…) ? (…) : (…) : unknown } : unknown & object : MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] : object extends MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] ? Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…)[(…)], (…)[(…)]> extends A ? A extends File ? (…) | (…) : A : unknown } : unknown : Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…), (…)> extends A ? (…) extends (…) ? (…) : (…) : unknown } : unknown & Omit<MergeSchema<Volatile["schema"], MergeSchema<…[…], …[…]>>["response"], keyof Input["response"] extends string | AnySchema ? object : …[…] extends object ? { [k in (...)]: (...) } : unknown>; } & RouteSchema |
MacroContext extends | Macro<{ }, { }, { }, DefaultSingleton, []> | { [K in string | number | symbol]: (InnerMacroToContext<Metadata[“macroFn”], Pick<Input, Extract<keyof Metadata[“macroFn”], keyof Input>>, Definitions[“typebox”], []> extends A ? { [K in string | number | symbol]: K extends “derive” ? UnionToIntersect<A[K]> : K extends “meta” ? ((…)[(…)] & { value: … })[“value”] : A[K] } & { return: FlattenMacroResponse<A[“return”]> } : {})[K] } |
BeforeHandle extends MaybeArray<OptionalHandler<Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, MacroContext>>> |
AfterHandle extends MaybeArray<AfterHandler<Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, MacroContext>>> |
ErrorHandle extends MaybeArray<ErrorHandler<Definitions["error"], Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, MacroContext>>> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
scope | "plugin" |
hook | Input extends any ? Input : { [K in string | number | symbol]: Input[K] } & object & object & MacroOptionContext<Metadata["macroFn"], Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, { derive: { }; }>> |
Returns
Section titled “Returns”Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes, {
derive: Ephemeral["derive"] & MacroContext["derive"];
error: [...Ephemeral["error"][], ...CatchAllEntries<ErrorHandle>[], ...MacroCatchAll<MacroContext["return" & keyof MacroContext]>[]];
response: UnionResponseStatus<UnionResponseStatus<Ephemeral["response"], ElysiaHandlerToResponseSchemaAmbiguous<BeforeHandle>>, UnionResponseStatus<ElysiaHandlerToResponseSchemaAmbiguous<AfterHandle>, UnionResponseStatus<ErrorHookStatus<ErrorHandle>, WithoutMacroCatch<MacroContext["return" & keyof MacroContext]> & object>>>;
schema: Ephemeral["schema"];
schemas: Ephemeral["schemas"] & UnwrapRoute<Input, Definitions["typebox"], ""> & MacroContext;
}, Volatile>
Example
Section titled “Example”new Elysia() .guard({ body: t.Object({ name: t.String() }) }) .post('/', ({ body }) => body)Call Signature
Section titled “Call Signature”guard<Input, Schema, MacroContext, BeforeHandle, AfterHandle, ErrorHandle>(scope, hook): Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes, { derive: Ephemeral["derive"] & MacroContext["derive"]; error: [...Ephemeral["error"][], ...CatchAllEntries<ErrorHandle>[], ...MacroCatchAll<MacroContext["return" & keyof MacroContext]>[]]; response: UnionResponseStatus<UnionResponseStatus<Ephemeral["response"], ElysiaHandlerToResponseSchemaAmbiguous<BeforeHandle>>, UnionResponseStatus<ElysiaHandlerToResponseSchemaAmbiguous<AfterHandle>, UnionResponseStatus<ErrorHookStatus<ErrorHandle>, WithoutMacroCatch<MacroContext["return" & keyof MacroContext]> & object>>>; schema: object extends Pick<Input, Extract<keyof Input, keyof InputSchema<string>>> ? Ephemeral["schema"] : MergeSchema<UnwrapRoute<Input, Definitions["typebox"], "">, Ephemeral["schema"]>; schemas: Ephemeral["schemas"] & MacroContext;}, Volatile>;Defined in: elysia/dist/base.d.ts:563
Apply a hook and schema to every route defined after it on this instance.
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Input extends BaseMacro & InputSchema<keyof Definitions["typebox"] & string> |
Schema extends | UnwrapRoute<Input, Definitions["typebox"], BasePath> | { body: undefined extends UnwrapBodySchema<Input["body"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["body"] : UnwrapBodySchema<Input["body"], Definitions["typebox"], "output">; cookie: undefined extends UnwrapSchema<Input["cookie"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["cookie"] : UnwrapSchema<Input["cookie"], Definitions["typebox"], "output">; headers: undefined extends UnwrapSchema<Input["headers"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["headers"] : UnwrapSchema<Input["headers"], Definitions["typebox"], "output">; params: IsNever<keyof object extends Input["params"] ? ResolvePath<BasePath> : object extends Input ? ResolvePath<BasePath> : UnwrapSchema<Input["params"], Definitions["typebox"], "output">> extends true ? IsNever<keyof MergeSchema<Volatile["schema"], MergeSchema<…[…], …[…]>>["params"]> extends true ? object : MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["params"] : object extends Input["params"] ? ResolvePath<BasePath> : object extends Input ? ResolvePath<BasePath> : UnwrapSchema<Input["params"], Definitions["typebox"], "output">; query: undefined extends UnwrapSchema<Input["query"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["query"] : UnwrapSchema<Input["query"], Definitions["typebox"], "output">; response: object extends Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<any[any][k], Definitions[“typebox”]> extends A ? A extends File ? File | ElysiaFile : A : unknown } : unknown ? Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…), (…)> extends A ? (…) extends (…) ? (…) : (…) : unknown } : unknown & object extends MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] & Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…), (…)> extends A ? (…) extends (…) ? (…) : (…) : unknown } : unknown & object : MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] : object extends MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] ? Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…)[(…)], (…)[(…)]> extends A ? A extends File ? (…) | (…) : A : unknown } : unknown : Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…), (…)> extends A ? (…) extends (…) ? (…) : (…) : unknown } : unknown & Omit<MergeSchema<Volatile["schema"], MergeSchema<…[…], …[…]>>["response"], keyof Input["response"] extends string | AnySchema ? object : …[…] extends object ? { [k in (...)]: (...) } : unknown>; } & RouteSchema |
MacroContext extends | Macro<{ }, { }, { }, DefaultSingleton, []> | { [K in string | number | symbol]: (InnerMacroToContext<Metadata[“macroFn”], Pick<Input, Extract<keyof Metadata[“macroFn”], keyof Input>>, Definitions[“typebox”], []> extends A ? { [K in string | number | symbol]: K extends “derive” ? UnionToIntersect<A[K]> : K extends “meta” ? ((…)[(…)] & { value: … })[“value”] : A[K] } & { return: FlattenMacroResponse<A[“return”]> } : {})[K] } |
BeforeHandle extends MaybeArray<OptionalHandler<Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, MacroContext>>> |
AfterHandle extends MaybeArray<AfterHandler<Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, MacroContext>>> |
ErrorHandle extends MaybeArray<ErrorHandler<Definitions["error"], Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, MacroContext>>> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
scope | "plugin" |
hook | Input extends any ? Input : { [K in string | number | symbol]: Input[K] } & object & MacroOptionContext<Metadata["macroFn"], Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, { derive: { }; }>> |
Returns
Section titled “Returns”Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes, {
derive: Ephemeral["derive"] & MacroContext["derive"];
error: [...Ephemeral["error"][], ...CatchAllEntries<ErrorHandle>[], ...MacroCatchAll<MacroContext["return" & keyof MacroContext]>[]];
response: UnionResponseStatus<UnionResponseStatus<Ephemeral["response"], ElysiaHandlerToResponseSchemaAmbiguous<BeforeHandle>>, UnionResponseStatus<ElysiaHandlerToResponseSchemaAmbiguous<AfterHandle>, UnionResponseStatus<ErrorHookStatus<ErrorHandle>, WithoutMacroCatch<MacroContext["return" & keyof MacroContext]> & object>>>;
schema: object extends Pick<Input, Extract<keyof Input, keyof InputSchema<string>>> ? Ephemeral["schema"] : MergeSchema<UnwrapRoute<Input, Definitions["typebox"], "">, Ephemeral["schema"]>;
schemas: Ephemeral["schemas"] & MacroContext;
}, Volatile>
Example
Section titled “Example”new Elysia() .guard({ body: t.Object({ name: t.String() }) }) .post('/', ({ body }) => body)Call Signature
Section titled “Call Signature”guard<Input, Schema, MacroContext, BeforeHandle, AfterHandle, ErrorHandle>(scope, hook): Elysia<BasePath, Scope, { decorator: Singleton["decorator"]; derive: Singleton["derive"] & MacroContext["derive"]; store: Singleton["store"];}, WithErrorEntries<Definitions, [...CatchAllEntries<ErrorHandle>[], ...MacroCatchAll<MacroContext["return" & keyof MacroContext]>[]]>, { macro: Metadata["macro"]; macroFn: Metadata["macroFn"]; parser: Metadata["parser"]; response: UnionResponseStatus<UnionResponseStatus<Metadata["response"], ElysiaHandlerToResponseSchemaAmbiguous<BeforeHandle>>, UnionResponseStatus<ElysiaHandlerToResponseSchemaAmbiguous<AfterHandle>, UnionResponseStatus<ErrorHookStatus<ErrorHandle>, WithoutMacroCatch<MacroContext["return" & keyof MacroContext]> & object>>>; schema: Metadata["schema"]; schemas: Metadata["schemas"] & UnwrapRoute<Input, Definitions["typebox"], ""> & MacroContext;}, Routes, Ephemeral, Volatile>;Defined in: elysia/dist/base.d.ts:572
Apply a hook and schema to every route defined after it on this instance.
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Input extends BaseMacro & InputSchema<keyof Definitions["typebox"] & string> |
Schema extends | UnwrapRoute<Input, Definitions["typebox"], BasePath> | { body: undefined extends UnwrapBodySchema<Input["body"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["body"] : UnwrapBodySchema<Input["body"], Definitions["typebox"], "output">; cookie: undefined extends UnwrapSchema<Input["cookie"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["cookie"] : UnwrapSchema<Input["cookie"], Definitions["typebox"], "output">; headers: undefined extends UnwrapSchema<Input["headers"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["headers"] : UnwrapSchema<Input["headers"], Definitions["typebox"], "output">; params: IsNever<keyof object extends Input["params"] ? ResolvePath<BasePath> : object extends Input ? ResolvePath<BasePath> : UnwrapSchema<Input["params"], Definitions["typebox"], "output">> extends true ? IsNever<keyof MergeSchema<Volatile["schema"], MergeSchema<…[…], …[…]>>["params"]> extends true ? object : MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["params"] : object extends Input["params"] ? ResolvePath<BasePath> : object extends Input ? ResolvePath<BasePath> : UnwrapSchema<Input["params"], Definitions["typebox"], "output">; query: undefined extends UnwrapSchema<Input["query"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["query"] : UnwrapSchema<Input["query"], Definitions["typebox"], "output">; response: object extends Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<any[any][k], Definitions[“typebox”]> extends A ? A extends File ? File | ElysiaFile : A : unknown } : unknown ? Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…), (…)> extends A ? (…) extends (…) ? (…) : (…) : unknown } : unknown & object extends MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] & Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…), (…)> extends A ? (…) extends (…) ? (…) : (…) : unknown } : unknown & object : MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] : object extends MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] ? Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…)[(…)], (…)[(…)]> extends A ? A extends File ? (…) | (…) : A : unknown } : unknown : Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…), (…)> extends A ? (…) extends (…) ? (…) : (…) : unknown } : unknown & Omit<MergeSchema<Volatile["schema"], MergeSchema<…[…], …[…]>>["response"], keyof Input["response"] extends string | AnySchema ? object : …[…] extends object ? { [k in (...)]: (...) } : unknown>; } & RouteSchema |
MacroContext extends | Macro<{ }, { }, { }, DefaultSingleton, []> | { [K in string | number | symbol]: (InnerMacroToContext<Metadata[“macroFn”], Pick<Input, Extract<keyof Metadata[“macroFn”], keyof Input>>, Definitions[“typebox”], []> extends A ? { [K in string | number | symbol]: K extends “derive” ? UnionToIntersect<A[K]> : K extends “meta” ? ((…)[(…)] & { value: … })[“value”] : A[K] } & { return: FlattenMacroResponse<A[“return”]> } : {})[K] } |
BeforeHandle extends MaybeArray<OptionalHandler<Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, MacroContext>>> |
AfterHandle extends MaybeArray<AfterHandler<Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, MacroContext>>> |
ErrorHandle extends MaybeArray<ErrorHandler<Definitions["error"], Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, MacroContext>>> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
scope | "global" |
hook | Input extends any ? Input : { [K in string | number | symbol]: Input[K] } & object & object & MacroOptionContext<Metadata["macroFn"], Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, { derive: { }; }>> |
Returns
Section titled “Returns”Elysia<BasePath, Scope, {
decorator: Singleton["decorator"];
derive: Singleton["derive"] & MacroContext["derive"];
store: Singleton["store"];
}, WithErrorEntries<Definitions, [...CatchAllEntries<ErrorHandle>[], ...MacroCatchAll<MacroContext["return" & keyof MacroContext]>[]]>, {
macro: Metadata["macro"];
macroFn: Metadata["macroFn"];
parser: Metadata["parser"];
response: UnionResponseStatus<UnionResponseStatus<Metadata["response"], ElysiaHandlerToResponseSchemaAmbiguous<BeforeHandle>>, UnionResponseStatus<ElysiaHandlerToResponseSchemaAmbiguous<AfterHandle>, UnionResponseStatus<ErrorHookStatus<ErrorHandle>, WithoutMacroCatch<MacroContext["return" & keyof MacroContext]> & object>>>;
schema: Metadata["schema"];
schemas: Metadata["schemas"] & UnwrapRoute<Input, Definitions["typebox"], ""> & MacroContext;
}, Routes, Ephemeral, Volatile>
Example
Section titled “Example”new Elysia() .guard({ body: t.Object({ name: t.String() }) }) .post('/', ({ body }) => body)Call Signature
Section titled “Call Signature”guard<Input, Schema, MacroContext, BeforeHandle, AfterHandle, ErrorHandle>(scope, hook): Elysia<BasePath, Scope, { decorator: Singleton["decorator"]; derive: Singleton["derive"] & MacroContext["derive"]; store: Singleton["store"];}, WithErrorEntries<Definitions, [...CatchAllEntries<ErrorHandle>[], ...MacroCatchAll<MacroContext["return" & keyof MacroContext]>[]]>, { macro: Metadata["macro"]; macroFn: Metadata["macroFn"]; parser: Metadata["parser"]; response: UnionResponseStatus<UnionResponseStatus<Metadata["response"], ElysiaHandlerToResponseSchemaAmbiguous<BeforeHandle>>, UnionResponseStatus<ElysiaHandlerToResponseSchemaAmbiguous<AfterHandle>, UnionResponseStatus<ErrorHookStatus<ErrorHandle>, WithoutMacroCatch<MacroContext["return" & keyof MacroContext]> & object>>>; schema: object extends Pick<Input, Extract<keyof Input, keyof InputSchema<string>>> ? Metadata["schema"] : MergeSchema<UnwrapRoute<Input, Definitions["typebox"], "">, Metadata["schema"]>; schemas: Metadata["schemas"] & MacroContext;}, Routes, Ephemeral, Volatile>;Defined in: elysia/dist/base.d.ts:588
Apply a hook and schema to every route defined after it on this instance.
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Input extends BaseMacro & InputSchema<keyof Definitions["typebox"] & string> |
Schema extends | UnwrapRoute<Input, Definitions["typebox"], BasePath> | { body: undefined extends UnwrapBodySchema<Input["body"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["body"] : UnwrapBodySchema<Input["body"], Definitions["typebox"], "output">; cookie: undefined extends UnwrapSchema<Input["cookie"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["cookie"] : UnwrapSchema<Input["cookie"], Definitions["typebox"], "output">; headers: undefined extends UnwrapSchema<Input["headers"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["headers"] : UnwrapSchema<Input["headers"], Definitions["typebox"], "output">; params: IsNever<keyof object extends Input["params"] ? ResolvePath<BasePath> : object extends Input ? ResolvePath<BasePath> : UnwrapSchema<Input["params"], Definitions["typebox"], "output">> extends true ? IsNever<keyof MergeSchema<Volatile["schema"], MergeSchema<…[…], …[…]>>["params"]> extends true ? object : MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["params"] : object extends Input["params"] ? ResolvePath<BasePath> : object extends Input ? ResolvePath<BasePath> : UnwrapSchema<Input["params"], Definitions["typebox"], "output">; query: undefined extends UnwrapSchema<Input["query"], Definitions["typebox"], "output"> ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["query"] : UnwrapSchema<Input["query"], Definitions["typebox"], "output">; response: object extends Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<any[any][k], Definitions[“typebox”]> extends A ? A extends File ? File | ElysiaFile : A : unknown } : unknown ? Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…), (…)> extends A ? (…) extends (…) ? (…) : (…) : unknown } : unknown & object extends MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] ? MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] & Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…), (…)> extends A ? (…) extends (…) ? (…) : (…) : unknown } : unknown & object : MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] : object extends MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>["response"] ? Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…)[(…)], (…)[(…)]> extends A ? A extends File ? (…) | (…) : A : unknown } : unknown : Input["response"] extends string | AnySchema ? object : Input["response"] extends object ? { [k in string | number | symbol]: UnwrapResponseSchema<(…), (…)> extends A ? (…) extends (…) ? (…) : (…) : unknown } : unknown & Omit<MergeSchema<Volatile["schema"], MergeSchema<…[…], …[…]>>["response"], keyof Input["response"] extends string | AnySchema ? object : …[…] extends object ? { [k in (...)]: (...) } : unknown>; } & RouteSchema |
MacroContext extends | Macro<{ }, { }, { }, DefaultSingleton, []> | { [K in string | number | symbol]: (InnerMacroToContext<Metadata[“macroFn”], Pick<Input, Extract<keyof Metadata[“macroFn”], keyof Input>>, Definitions[“typebox”], []> extends A ? { [K in string | number | symbol]: K extends “derive” ? UnionToIntersect<A[K]> : K extends “meta” ? ((…)[(…)] & { value: … })[“value”] : A[K] } & { return: FlattenMacroResponse<A[“return”]> } : {})[K] } |
BeforeHandle extends MaybeArray<OptionalHandler<Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, MacroContext>>> |
AfterHandle extends MaybeArray<AfterHandler<Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, MacroContext>>> |
ErrorHandle extends MaybeArray<ErrorHandler<Definitions["error"], Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, MacroContext>>> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
scope | "global" |
hook | Input extends any ? Input : { [K in string | number | symbol]: Input[K] } & object & MacroOptionContext<Metadata["macroFn"], Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, { derive: { }; }>> |
Returns
Section titled “Returns”Elysia<BasePath, Scope, {
decorator: Singleton["decorator"];
derive: Singleton["derive"] & MacroContext["derive"];
store: Singleton["store"];
}, WithErrorEntries<Definitions, [...CatchAllEntries<ErrorHandle>[], ...MacroCatchAll<MacroContext["return" & keyof MacroContext]>[]]>, {
macro: Metadata["macro"];
macroFn: Metadata["macroFn"];
parser: Metadata["parser"];
response: UnionResponseStatus<UnionResponseStatus<Metadata["response"], ElysiaHandlerToResponseSchemaAmbiguous<BeforeHandle>>, UnionResponseStatus<ElysiaHandlerToResponseSchemaAmbiguous<AfterHandle>, UnionResponseStatus<ErrorHookStatus<ErrorHandle>, WithoutMacroCatch<MacroContext["return" & keyof MacroContext]> & object>>>;
schema: object extends Pick<Input, Extract<keyof Input, keyof InputSchema<string>>> ? Metadata["schema"] : MergeSchema<UnwrapRoute<Input, Definitions["typebox"], "">, Metadata["schema"]>;
schemas: Metadata["schemas"] & MacroContext;
}, Routes, Ephemeral, Volatile>
Example
Section titled “Example”new Elysia() .guard({ body: t.Object({ name: t.String() }) }) .post('/', ({ body }) => body)handler()
Section titled “handler()”handler( index, immediate?, route?, aliases?, table?): CompiledHandler;Defined in: elysia/dist/base.d.ts:1044
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
index | number |
immediate? | boolean |
route? | InternalRoute |
aliases? | StaticMapAliases |
table? | RouteTable |
Returns
Section titled “Returns”CompiledHandler
has(plugin): boolean;Defined in: elysia/dist/base.d.ts:812
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
plugin | AnyElysia |
Returns
Section titled “Returns”boolean
head()
Section titled “head()”Call Signature
Section titled “Call Signature”head<Path, Input, Schema, Decorator, MacroContext, Handle, UnknownKey>( path, hook, fn): AddRoute<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, "head", Path, Schema, MacroContext, Handle, Input>;Defined in: elysia/dist/base.d.ts:986
Register handler for path with method [HEAD]
Type Parameters
Section titled “Type Parameters”| Type Parameter | Default type |
|---|---|
Path extends string | - |
Input extends BaseMacro & InputSchema<keyof Definitions["typebox"] & string> & RouteHookCapture | - |
Schema extends IntersectIfObjectSchema<MergeSchema<UnwrapRoute<Input, Definitions["typebox"], JoinPath<BasePath, Path>>, MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>, "", undefined extends Input["params"] ? true : false>, MergeScopedSchemas<Metadata["schemas"], Ephemeral["schemas"], Volatile["schemas"]>> | - |
Decorator extends SingletonBase & object | - |
MacroContext extends | Macro<{ }, { }, { }, DefaultSingleton, []> | { [K in string | number | symbol]: (InnerMacroToContext<Metadata[“macroFn”], Pick<Input, Extract<keyof Metadata[“macroFn”], keyof Input>>, Definitions[“typebox”], []> extends A ? { [K in string | number | symbol]: K extends “derive” ? UnionToIntersect<A[K]> : K extends “meta” ? ((…)[(…)] & { value: … })[“value”] : A[K] } & { return: FlattenMacroResponse<A[“return”]> } : {})[K] } | - |
Handle extends | MaybePromise<InlineResponse> | ((context) => MaybePromise<Response> | MaybePromise<{} extends NoInfer<Schema>[“response”] ? unknown : Error | (NoInfer<Schema>[“response”] extends { …; } ? NoInfer<Schema>[“response”][200] | … 2 more … | AsyncGenerator<…> : unknown) | NoInfer<Schema>[“response”][keyof NoInfer<Schema>[“response”]] | InlineHandlerResponse<…) | ((context) => MaybePromise<Response> | MaybePromise<{} extends (NoInfer<Schema> & MacroContext)[“response”] ? unknown : Error | ((NoInfer<Schema> & MacroContext)[“response”] extends { …; } ? (NoInfer<Schema> & MacroContext)[“response”][200] | … 2 more … | AsyncGenerator<…> : unknown) | (NoInfer<Schema> & MacroContext)[“re…) | - |
UnknownKey extends PropertyKey | Exclude<keyof Input, HookObjectKey | keyof Metadata["macro"]> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
path | Path |
hook | object & Input extends any ? Input : { [K in string | number | symbol]: Input[K] } & MacroOptionContext<Metadata["macroFn"], Schema, Decorator> & UnknownHookKey<UnknownKey> |
fn | Handle |
Returns
Section titled “Returns”AddRoute<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, "head", Path, Schema, MacroContext, Handle, Input>
Example
Section titled “Example”import { Elysia, t } from 'elysia'
new Elysia() .head('/', () => 'hi') .head('/hook', { query: t.Object({ name: t.String() }) }, () => 'hi')Call Signature
Section titled “Call Signature”head<Path, Schema, Decorator, Handle>(path, fn): AddRoute<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, "head", Path, Schema, {}, Handle>;Defined in: elysia/dist/base.d.ts:989
Register handler for path with method [HEAD]
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Path extends string |
Schema extends IntersectIfObjectSchema<MergeSchema<UnwrapRoute<{ }, Definitions["typebox"], JoinPath<BasePath, Path>>, MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>, "", true>, MergeScopedSchemas<Metadata["schemas"], Ephemeral["schemas"], Volatile["schemas"]>> |
Decorator extends SingletonBase & object |
Handle extends | MaybePromise<InlineResponse> | ((context) => MaybePromise<Response> | MaybePromise<{} extends NoInfer<Schema>[“response”] ? unknown : Error | (NoInfer<Schema>[“response”] extends { …; } ? NoInfer<Schema>[“response”][200] | … 2 more … | AsyncGenerator<…> : unknown) | NoInfer<Schema>[“response”][keyof NoInfer<Schema>[“response”]] | InlineHandlerResponse<…) |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
path | Path |
fn | Handle & Metadata["macro"] |
Returns
Section titled “Returns”AddRoute<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, "head", Path, Schema, {
}, Handle>
Example
Section titled “Example”import { Elysia, t } from 'elysia'
new Elysia() .head('/', () => 'hi') .head('/hook', { query: t.Object({ name: t.String() }) }, () => 'hi')headers()
Section titled “headers()”headers(headers): this;Defined in: elysia/dist/base.d.ts:229
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
headers | Record<string, string> |
Returns
Section titled “Returns”this
listen()
Section titled “listen()”listen(options, callback?): this;Defined in: elysia/dist/base.d.ts:1050
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
options | string | number | Partial<Options<unknown, string>> |
callback? | ListenCallback |
Returns
Section titled “Returns”this
macro()
Section titled “macro()”macro<NewMacro, Refs>(macro): Elysia<BasePath, Scope, Singleton, Definitions, { macro: Metadata["macro"] & Partial<{ [K in string | number | symbol]: { [K in string | number | symbol]: NewMacro[K] extends Function ? any[any] extends (a: Params) => any ? MacroOptionLambda<(...)> extends never ? Params : unknown : boolean : boolean }[K] }>; macroFn: Metadata["macroFn"] & NewMacro; parser: Metadata["parser"]; response: Metadata["response"]; schema: Metadata["schema"]; schemas: Metadata["schemas"];}, Routes, Ephemeral, Volatile>;Defined in: elysia/dist/base.d.ts:677
Declare a custom route property: applying it on a route or guard folds
the definition’s schema, lifecycle hooks, and derive result into that
route
new Elysia() .macro({ auth: { headers: t.Object({ authorization: t.String() }), derive: ({ headers }) => ({ user: headers.authorization }) }, role: (role: 'admin' | 'user') => ({ beforeHandle() { ... } }) }) .get('/', { auth: true, role: 'admin' }, ({ user }) => user)Type Parameters
Section titled “Type Parameters”| Type Parameter | Default type |
|---|---|
NewMacro | - |
Refs | object |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
macro | ObjectMacroDefs<NewMacro, MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>, MergeScopedSchemas<Metadata["schemas"], Ephemeral["schemas"], Volatile["schemas"]>, Singleton & object, Definitions, Metadata["macro"], Metadata["macroFn"], Refs> |
Returns
Section titled “Returns”Elysia<BasePath, Scope, Singleton, Definitions, {
macro: Metadata["macro"] & Partial<{ [K in string | number | symbol]: { [K in string | number | symbol]: NewMacro[K] extends Function ? any[any] extends (a: Params) => any ? MacroOptionLambda<(…)> extends never ? Params : unknown : boolean : boolean }[K] }>;
macroFn: Metadata["macroFn"] & NewMacro;
parser: Metadata["parser"];
response: Metadata["response"];
schema: Metadata["schema"];
schemas: Metadata["schemas"];
}, Routes, Ephemeral, Volatile>
mapDerive()
Section titled “mapDerive()”Call Signature
Section titled “Call Signature”mapDerive<Derivative>(transform): Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, { derive: ExcludeElysiaResponse<Derivative>; error: Volatile["error"]; response: UnionResponseStatus<Volatile["response"], DeriveResponse<Derivative>>; schema: Volatile["schema"]; schemas: Volatile["schemas"];}>;Defined in: elysia/dist/base.d.ts:287
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Derivative extends | void | Record<string, unknown> | Error | ElysiaStatus<any, any, any> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
transform | (context) => MaybePromise<Derivative> |
Returns
Section titled “Returns”Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, {
derive: ExcludeElysiaResponse<Derivative>;
error: Volatile["error"];
response: UnionResponseStatus<Volatile["response"], DeriveResponse<Derivative>>;
schema: Volatile["schema"];
schemas: Volatile["schemas"];
}>
Call Signature
Section titled “Call Signature”mapDerive<Derivative>(scope, transform): Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, { derive: ExcludeElysiaResponse<Derivative>; error: Volatile["error"]; response: UnionResponseStatus<Volatile["response"], DeriveResponse<Derivative>>; schema: Volatile["schema"]; schemas: Volatile["schemas"];}>;Defined in: elysia/dist/base.d.ts:294
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Derivative extends | void | Record<string, unknown> | Error | ElysiaStatus<any, any, any> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
scope | "local" |
transform | (context) => MaybePromise<Derivative> |
Returns
Section titled “Returns”Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, {
derive: ExcludeElysiaResponse<Derivative>;
error: Volatile["error"];
response: UnionResponseStatus<Volatile["response"], DeriveResponse<Derivative>>;
schema: Volatile["schema"];
schemas: Volatile["schemas"];
}>
Call Signature
Section titled “Call Signature”mapDerive<Derivative>(scope, transform): Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes, { derive: ExcludeElysiaResponse<Derivative>; error: Ephemeral["error"]; response: UnionResponseStatus<Ephemeral["response"], DeriveResponse<Derivative>>; schema: Ephemeral["schema"]; schemas: Ephemeral["schemas"];}, Volatile>;Defined in: elysia/dist/base.d.ts:301
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Derivative extends | void | Record<string, unknown> | Error | ElysiaStatus<any, any, any> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
scope | "plugin" |
transform | (context) => MaybePromise<Derivative> |
Returns
Section titled “Returns”Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes, {
derive: ExcludeElysiaResponse<Derivative>;
error: Ephemeral["error"];
response: UnionResponseStatus<Ephemeral["response"], DeriveResponse<Derivative>>;
schema: Ephemeral["schema"];
schemas: Ephemeral["schemas"];
}, Volatile>
Call Signature
Section titled “Call Signature”mapDerive<Derivative>(scope, transform): Elysia<BasePath, Scope, { decorator: Singleton["decorator"]; derive: ExcludeElysiaResponse<Derivative>; store: Singleton["store"];}, Definitions, { macro: Metadata["macro"]; macroFn: Metadata["macroFn"]; parser: Metadata["parser"]; response: UnionResponseStatus<Metadata["response"], DeriveResponse<Derivative>>; schema: Metadata["schema"]; schemas: Metadata["schemas"];}, Routes, Ephemeral, Volatile>;Defined in: elysia/dist/base.d.ts:308
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Derivative extends | void | Record<string, unknown> | Error | ElysiaStatus<any, any, any> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
scope | "global" |
transform | (context) => MaybePromise<Derivative> |
Returns
Section titled “Returns”Elysia<BasePath, Scope, {
decorator: Singleton["decorator"];
derive: ExcludeElysiaResponse<Derivative>;
store: Singleton["store"];
}, Definitions, {
macro: Metadata["macro"];
macroFn: Metadata["macroFn"];
parser: Metadata["parser"];
response: UnionResponseStatus<Metadata["response"], DeriveResponse<Derivative>>;
schema: Metadata["schema"];
schemas: Metadata["schemas"];
}, Routes, Ephemeral, Volatile>
Call Signature
Section titled “Call Signature”mapDerive<As, Derivative>(options, transform): ScopedMapDeriveReturn<LegacyScope<As>, BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, DeriveResponse<Derivative>, ExcludeElysiaResponse<Derivative>>;Defined in: elysia/dist/base.d.ts:321
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
As extends "global" | "local" | "scoped" |
Derivative extends | void | Record<string, unknown> | Error | ElysiaStatus<any, any, any> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
options | { as: As; } |
options.as | As |
transform | (context) => MaybePromise<Derivative> |
Returns
Section titled “Returns”ScopedMapDeriveReturn<LegacyScope<As>, BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, DeriveResponse<Derivative>, ExcludeElysiaResponse<Derivative>>
Call Signature
Section titled “Call Signature”mapDerive<HookScope, Derivative>(scope, transform): ScopedMapDeriveReturn<HookScope, BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, DeriveResponse<Derivative>, ExcludeElysiaResponse<Derivative>>;Defined in: elysia/dist/base.d.ts:324
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
HookScope extends EventScope |
Derivative extends | void | Record<string, unknown> | Error | ElysiaStatus<any, any, any> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
scope | HookScope |
transform | (context) => MaybePromise<Derivative> |
Returns
Section titled “Returns”ScopedMapDeriveReturn<HookScope, BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, DeriveResponse<Derivative>, ExcludeElysiaResponse<Derivative>>
mapResponse()
Section titled “mapResponse()”Call Signature
Section titled “Call Signature”mapResponse(fn): this;Defined in: elysia/dist/base.d.ts:334
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
fn | MaybeArray<MapResponse<HookContextSchema<Metadata, Ephemeral, Volatile, BasePath>, HookContextSingleton<Singleton, Ephemeral, Volatile>>> |
Returns
Section titled “Returns”this
Call Signature
Section titled “Call Signature”mapResponse<As>(options, fn): this;Defined in: elysia/dist/base.d.ts:336
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
As extends "global" | "local" | "scoped" |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
options | { as: As; } |
options.as | As |
fn | MaybeArray<MapResponse<HookContextSchema<Metadata, Ephemeral, Volatile, BasePath>, HookContextSingleton<Singleton, Ephemeral, Volatile>, undefined, LegacyScope<As>>> |
Returns
Section titled “Returns”this
Call Signature
Section titled “Call Signature”mapResponse<HookScope>(scope, fn): this;Defined in: elysia/dist/base.d.ts:339
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
HookScope extends EventScope |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
scope | HookScope |
fn | MaybeArray<MapResponse<HookContextSchema<Metadata, Ephemeral, Volatile, BasePath>, HookContextSingleton<Singleton, Ephemeral, Volatile>, undefined, HookScope>> |
Returns
Section titled “Returns”this
method()
Section titled “method()”Call Signature
Section titled “Call Signature”method<Method, Path, Input, Schema, Decorator, MacroContext, Handle, UnknownKey>( method, path, hook, fn): AddRoute<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, Method, Path, Schema, MacroContext, Handle, Input>;Defined in: elysia/dist/base.d.ts:1005
Register handler for path with custom method
Type Parameters
Section titled “Type Parameters”| Type Parameter | Default type |
|---|---|
Method extends HTTPMethod | - |
Path extends string | - |
Input extends BaseMacro & InputSchema<keyof Definitions["typebox"] & string> & RouteHookCapture | - |
Schema extends IntersectIfObjectSchema<MergeSchema<UnwrapRoute<Input, Definitions["typebox"], JoinPath<BasePath, Path>>, MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>, "", undefined extends Input["params"] ? true : false>, MergeScopedSchemas<Metadata["schemas"], Ephemeral["schemas"], Volatile["schemas"]>> | - |
Decorator extends SingletonBase & object | - |
MacroContext extends | Macro<{ }, { }, { }, DefaultSingleton, []> | { [K in string | number | symbol]: (InnerMacroToContext<Metadata[“macroFn”], Pick<Input, Extract<keyof Metadata[“macroFn”], keyof Input>>, Definitions[“typebox”], []> extends A ? { [K in string | number | symbol]: K extends “derive” ? UnionToIntersect<A[K]> : K extends “meta” ? ((…)[(…)] & { value: … })[“value”] : A[K] } & { return: FlattenMacroResponse<A[“return”]> } : {})[K] } | - |
Handle extends | MaybePromise<InlineResponse> | ((context) => MaybePromise<Response> | MaybePromise<{} extends NoInfer<Schema>[“response”] ? unknown : Error | (NoInfer<Schema>[“response”] extends { …; } ? NoInfer<Schema>[“response”][200] | … 2 more … | AsyncGenerator<…> : unknown) | NoInfer<Schema>[“response”][keyof NoInfer<Schema>[“response”]] | InlineHandlerResponse<…) | ((context) => MaybePromise<Response> | MaybePromise<{} extends (NoInfer<Schema> & MacroContext)[“response”] ? unknown : Error | ((NoInfer<Schema> & MacroContext)[“response”] extends { …; } ? (NoInfer<Schema> & MacroContext)[“response”][200] | … 2 more … | AsyncGenerator<…> : unknown) | (NoInfer<Schema> & MacroContext)[“re…) | - |
UnknownKey extends PropertyKey | Exclude<keyof Input, HookObjectKey | keyof Metadata["macro"]> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
method | Method |
path | Path |
hook | object & Input extends any ? Input : { [K in string | number | symbol]: Input[K] } & MacroOptionContext<Metadata["macroFn"], Schema, Decorator> & UnknownHookKey<UnknownKey> |
fn | Handle |
Returns
Section titled “Returns”AddRoute<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, Method, Path, Schema, MacroContext, Handle, Input>
Example
Section titled “Example”import { Elysia, t } from 'elysia'
new Elysia() .method('Elysia', '/', 'hi')Call Signature
Section titled “Call Signature”method<Method, Path, Schema, Decorator, Handle>( method, path, fn): AddRoute<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, Method, Path, Schema, {}, Handle>;Defined in: elysia/dist/base.d.ts:1008
Register handler for path with custom method
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Method extends HTTPMethod |
Path extends string |
Schema extends IntersectIfObjectSchema<MergeSchema<UnwrapRoute<{ }, Definitions["typebox"], JoinPath<BasePath, Path>>, MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>, "", true>, MergeScopedSchemas<Metadata["schemas"], Ephemeral["schemas"], Volatile["schemas"]>> |
Decorator extends SingletonBase & object |
Handle extends | MaybePromise<InlineResponse> | ((context) => MaybePromise<Response> | MaybePromise<{} extends NoInfer<Schema>[“response”] ? unknown : Error | (NoInfer<Schema>[“response”] extends { …; } ? NoInfer<Schema>[“response”][200] | … 2 more … | AsyncGenerator<…> : unknown) | NoInfer<Schema>[“response”][keyof NoInfer<Schema>[“response”]] | InlineHandlerResponse<…) |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
method | Method |
path | Path |
fn | Handle & Metadata["macro"] |
Returns
Section titled “Returns”AddRoute<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, Method, Path, Schema, {
}, Handle>
Example
Section titled “Example”import { Elysia, t } from 'elysia'
new Elysia() .method('Elysia', '/', 'hi')model()
Section titled “model()”Call Signature
Section titled “Call Signature”model<Name, Model>(name, model): Elysia<BasePath, Scope, Singleton, { error: Definitions["error"]; typebox: Definitions["typebox"] & { [name in string]: Model };}, Metadata, Routes, Ephemeral, Volatile>;Defined in: elysia/dist/base.d.ts:815
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Name extends string |
Model extends AnySchema |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
name | Name |
model | Model |
Returns
Section titled “Returns”Elysia<BasePath, Scope, Singleton, {
error: Definitions["error"];
typebox: Definitions["typebox"] & { [name in string]: Model };
}, Metadata, Routes, Ephemeral, Volatile>
Call Signature
Section titled “Call Signature”model<Recorder>(record): Elysia<BasePath, Scope, Singleton, { error: Definitions["error"]; typebox: Definitions["typebox"] & Recorder;}, Metadata, Routes, Ephemeral, Volatile>;Defined in: elysia/dist/base.d.ts:819
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Recorder extends Record<string, AnySchema> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
record | Recorder |
Returns
Section titled “Returns”Elysia<BasePath, Scope, Singleton, {
error: Definitions["error"];
typebox: Definitions["typebox"] & Recorder;
}, Metadata, Routes, Ephemeral, Volatile>
Call Signature
Section titled “Call Signature”model<NewType>(mapper): Elysia<BasePath, Scope, Singleton, { error: Definitions["error"]; typebox: { [Name in string | number | symbol]: NewType[Name] extends TRef<Name & string> ? Definitions["typebox"][Name] : NewType[Name] };}, Metadata, Routes, Ephemeral, Volatile>;Defined in: elysia/dist/base.d.ts:823
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
NewType extends Record<string, AnySchema> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
mapper | (decorators) => NewType |
Returns
Section titled “Returns”Elysia<BasePath, Scope, Singleton, {
error: Definitions["error"];
typebox: { [Name in string | number | symbol]: NewType[Name] extends TRef<Name & string> ? Definitions[“typebox”][Name] : NewType[Name] };
}, Metadata, Routes, Ephemeral, Volatile>
mount()
Section titled “mount()”Call Signature
Section titled “Call Signature”mount(handle): this;Defined in: elysia/dist/base.d.ts:1037
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
handle | (request) => MaybePromise<Response> |
Returns
Section titled “Returns”this
Call Signature
Section titled “Call Signature”mount(path, handle): this;Defined in: elysia/dist/base.d.ts:1038
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
path | string |
handle | (request) => MaybePromise<Response> |
Returns
Section titled “Returns”this
onAfterHandle()
Section titled “onAfterHandle()”Call Signature
Section titled “Call Signature”onAfterHandle<Handler>(fn): LocalHookReturn<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, ElysiaHandlerToResponseSchemaAmbiguous<Handler>>;Defined in: elysia/dist/base.d.ts:325
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Handler extends MaybeArray<AfterHandler<HookContextSchema<Metadata, Ephemeral, Volatile, BasePath>, HookContextSingleton<Singleton, Ephemeral, Volatile>>> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
fn | Handler |
Returns
Section titled “Returns”LocalHookReturn<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, ElysiaHandlerToResponseSchemaAmbiguous<Handler>>
Call Signature
Section titled “Call Signature”onAfterHandle<Handler>(scope, fn): LocalHookReturn<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, ElysiaHandlerToResponseSchemaAmbiguous<Handler>>;Defined in: elysia/dist/base.d.ts:326
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Handler extends MaybeArray<AfterHandler<HookContextSchema<Metadata, Ephemeral, Volatile, BasePath>, HookContextSingleton<Singleton, Ephemeral, Volatile>>> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
scope | "local" |
fn | Handler |
Returns
Section titled “Returns”LocalHookReturn<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, ElysiaHandlerToResponseSchemaAmbiguous<Handler>>
Call Signature
Section titled “Call Signature”onAfterHandle<Handler>(scope, fn): PluginHookReturn<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, ElysiaHandlerToResponseSchemaAmbiguous<Handler>>;Defined in: elysia/dist/base.d.ts:327
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Handler extends MaybeArray<AfterHandler<HookContextSchema<Metadata, Ephemeral, Volatile, BasePath>, HookContextSingleton<Singleton, Ephemeral, Volatile>, undefined, "plugin">> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
scope | "plugin" |
fn | Handler |
Returns
Section titled “Returns”PluginHookReturn<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, ElysiaHandlerToResponseSchemaAmbiguous<Handler>>
Call Signature
Section titled “Call Signature”onAfterHandle<Handler>(scope, fn): GlobalHookReturn<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, ElysiaHandlerToResponseSchemaAmbiguous<Handler>>;Defined in: elysia/dist/base.d.ts:328
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Handler extends MaybeArray<AfterHandler<HookContextSchema<Metadata, Ephemeral, Volatile, BasePath>, HookContextSingleton<Singleton, Ephemeral, Volatile>, undefined, "global">> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
scope | "global" |
fn | Handler |
Returns
Section titled “Returns”GlobalHookReturn<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, ElysiaHandlerToResponseSchemaAmbiguous<Handler>>
Call Signature
Section titled “Call Signature”onAfterHandle<As, Handler>(options, fn): ScopedHookReturn<LegacyScope<As>, BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, ElysiaHandlerToResponseSchemaAmbiguous<Handler>>;Defined in: elysia/dist/base.d.ts:330
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
As extends "global" | "local" | "scoped" |
Handler extends MaybeArray<AfterHandler<HookContextSchema<Metadata, Ephemeral, Volatile, BasePath>, HookContextSingleton<Singleton, Ephemeral, Volatile>, undefined, LegacyScope<As>>> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
options | { as: As; } |
options.as | As |
fn | Handler |
Returns
Section titled “Returns”ScopedHookReturn<LegacyScope<As>, BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, ElysiaHandlerToResponseSchemaAmbiguous<Handler>>
Call Signature
Section titled “Call Signature”onAfterHandle<HookScope, Handler>(scope, fn): ScopedHookReturn<HookScope, BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, ElysiaHandlerToResponseSchemaAmbiguous<Handler>>;Defined in: elysia/dist/base.d.ts:333
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
HookScope extends EventScope |
Handler extends MaybeArray<AfterHandler<HookContextSchema<Metadata, Ephemeral, Volatile, BasePath>, HookContextSingleton<Singleton, Ephemeral, Volatile>, undefined, HookScope>> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
scope | HookScope |
fn | Handler |
Returns
Section titled “Returns”ScopedHookReturn<HookScope, BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, ElysiaHandlerToResponseSchemaAmbiguous<Handler>>
onAfterResponse()
Section titled “onAfterResponse()”Call Signature
Section titled “Call Signature”onAfterResponse(fn): this;Defined in: elysia/dist/base.d.ts:340
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
fn | AfterResponseHandler<HookContextSchema<Metadata, Ephemeral, Volatile, BasePath>, HookContextSingleton<Singleton, Ephemeral, Volatile>> |
Returns
Section titled “Returns”this
Call Signature
Section titled “Call Signature”onAfterResponse<As>(options, fn): this;Defined in: elysia/dist/base.d.ts:342
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
As extends "global" | "local" | "scoped" |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
options | { as: As; } |
options.as | As |
fn | AfterResponseHandler<HookContextSchema<Metadata, Ephemeral, Volatile, BasePath>, HookContextSingleton<Singleton, Ephemeral, Volatile>, undefined, LegacyScope<As>> |
Returns
Section titled “Returns”this
Call Signature
Section titled “Call Signature”onAfterResponse<HookScope>(scope, fn): this;Defined in: elysia/dist/base.d.ts:345
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
HookScope extends EventScope |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
scope | HookScope |
fn | AfterResponseHandler<HookContextSchema<Metadata, Ephemeral, Volatile, BasePath>, HookContextSingleton<Singleton, Ephemeral, Volatile>, undefined, HookScope> |
Returns
Section titled “Returns”this
onBeforeHandle()
Section titled “onBeforeHandle()”Call Signature
Section titled “Call Signature”onBeforeHandle<Handler>(fn): LocalHookReturn<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, ElysiaHandlerToResponseSchemaAmbiguous<Handler>>;Defined in: elysia/dist/base.d.ts:269
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Handler extends MaybeArray<OptionalHandler<HookContextSchema<Metadata, Ephemeral, Volatile, BasePath>, HookContextSingleton<Singleton, Ephemeral, Volatile>>> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
fn | Handler |
Returns
Section titled “Returns”LocalHookReturn<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, ElysiaHandlerToResponseSchemaAmbiguous<Handler>>
Call Signature
Section titled “Call Signature”onBeforeHandle<Handler>(scope, fn): LocalHookReturn<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, ElysiaHandlerToResponseSchemaAmbiguous<Handler>>;Defined in: elysia/dist/base.d.ts:270
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Handler extends MaybeArray<OptionalHandler<HookContextSchema<Metadata, Ephemeral, Volatile, BasePath>, HookContextSingleton<Singleton, Ephemeral, Volatile>>> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
scope | "local" |
fn | Handler |
Returns
Section titled “Returns”LocalHookReturn<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, ElysiaHandlerToResponseSchemaAmbiguous<Handler>>
Call Signature
Section titled “Call Signature”onBeforeHandle<Handler>(scope, fn): PluginHookReturn<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, ElysiaHandlerToResponseSchemaAmbiguous<Handler>>;Defined in: elysia/dist/base.d.ts:271
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Handler extends MaybeArray<OptionalHandler<HookContextSchema<Metadata, Ephemeral, Volatile, BasePath>, HookContextSingleton<Singleton, Ephemeral, Volatile>, undefined, "plugin">> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
scope | "plugin" |
fn | Handler |
Returns
Section titled “Returns”PluginHookReturn<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, ElysiaHandlerToResponseSchemaAmbiguous<Handler>>
Call Signature
Section titled “Call Signature”onBeforeHandle<Handler>(scope, fn): GlobalHookReturn<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, ElysiaHandlerToResponseSchemaAmbiguous<Handler>>;Defined in: elysia/dist/base.d.ts:272
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Handler extends MaybeArray<OptionalHandler<HookContextSchema<Metadata, Ephemeral, Volatile, BasePath>, HookContextSingleton<Singleton, Ephemeral, Volatile>, undefined, "global">> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
scope | "global" |
fn | Handler |
Returns
Section titled “Returns”GlobalHookReturn<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, ElysiaHandlerToResponseSchemaAmbiguous<Handler>>
Call Signature
Section titled “Call Signature”onBeforeHandle<As, Handler>(options, fn): ScopedHookReturn<LegacyScope<As>, BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, ElysiaHandlerToResponseSchemaAmbiguous<Handler>>;Defined in: elysia/dist/base.d.ts:274
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
As extends "global" | "local" | "scoped" |
Handler extends MaybeArray<OptionalHandler<HookContextSchema<Metadata, Ephemeral, Volatile, BasePath>, HookContextSingleton<Singleton, Ephemeral, Volatile>, undefined, LegacyScope<As>>> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
options | { as: As; } |
options.as | As |
fn | Handler |
Returns
Section titled “Returns”ScopedHookReturn<LegacyScope<As>, BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, ElysiaHandlerToResponseSchemaAmbiguous<Handler>>
Call Signature
Section titled “Call Signature”onBeforeHandle<HookScope, Handler>(scope, fn): ScopedHookReturn<HookScope, BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, ElysiaHandlerToResponseSchemaAmbiguous<Handler>>;Defined in: elysia/dist/base.d.ts:277
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
HookScope extends EventScope |
Handler extends MaybeArray<OptionalHandler<HookContextSchema<Metadata, Ephemeral, Volatile, BasePath>, HookContextSingleton<Singleton, Ephemeral, Volatile>, undefined, HookScope>> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
scope | HookScope |
fn | Handler |
Returns
Section titled “Returns”ScopedHookReturn<HookScope, BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, ElysiaHandlerToResponseSchemaAmbiguous<Handler>>
onError()
Section titled “onError()”Call Signature
Section titled “Call Signature”onError<Handler>(fn): CatchAllHookReturn<"local", BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, Handler>;Defined in: elysia/dist/base.d.ts:346
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Handler extends MaybeArray<ErrorHandler<[...Definitions["error"][], ...Ephemeral["error"][], ...Volatile["error"][]], { }, Singleton>> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
fn | Handler |
Returns
Section titled “Returns”CatchAllHookReturn<"local", BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, Handler>
Call Signature
Section titled “Call Signature”onError<E, Fn>(error, fn): Scope extends "local" ? Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, { derive: Volatile["derive"]; error: [...Volatile["error"][], ErrorDefinitionEntry<E, ReturnType<Fn>>]; response: Volatile["response"]; schema: Volatile["schema"]; schemas: Volatile["schemas"];}> : Scope extends "plugin" ? Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes, { derive: Ephemeral["derive"]; error: [...Ephemeral["error"][], ErrorDefinitionEntry<E, ReturnType<Fn>>]; response: Ephemeral["response"]; schema: Ephemeral["schema"]; schemas: Ephemeral["schemas"];}, Volatile> : Elysia<BasePath, Scope, Singleton, { error: [...Definitions["error"][], ErrorDefinitionEntry<E, ReturnType<Fn>>]; typebox: Definitions["typebox"];}, Metadata, Routes, Ephemeral, Volatile>;Defined in: elysia/dist/base.d.ts:347
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
E extends AnyErrorConstructor & (…args) => Error |
Fn extends (context) => unknown |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
error | E |
fn | Fn |
Returns
Section titled “Returns”Scope extends "local" ? Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, {
derive: Volatile["derive"];
error: [...Volatile["error"][], ErrorDefinitionEntry<E, ReturnType<Fn>>];
response: Volatile["response"];
schema: Volatile["schema"];
schemas: Volatile["schemas"];
}> : Scope extends "plugin" ? Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes, {
derive: Ephemeral["derive"];
error: [...Ephemeral["error"][], ErrorDefinitionEntry<E, ReturnType<Fn>>];
response: Ephemeral["response"];
schema: Ephemeral["schema"];
schemas: Ephemeral["schemas"];
}, Volatile> : Elysia<BasePath, Scope, Singleton, {
error: [...Definitions["error"][], ErrorDefinitionEntry<E, ReturnType<Fn>>];
typebox: Definitions["typebox"];
}, Metadata, Routes, Ephemeral, Volatile>
Call Signature
Section titled “Call Signature”onError<E, Value>(error, value): Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, { derive: Volatile["derive"]; error: [...Volatile["error"][], ErrorDefinitionEntry<E, Value>]; response: Volatile["response"]; schema: Volatile["schema"]; schemas: Volatile["schemas"];}>;Defined in: elysia/dist/base.d.ts:367
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
E extends AnyErrorConstructor & (…args) => Error |
Value |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
error | E |
value | Value |
Returns
Section titled “Returns”Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, {
derive: Volatile["derive"];
error: [...Volatile["error"][], ErrorDefinitionEntry<E, Value>];
response: Volatile["response"];
schema: Volatile["schema"];
schemas: Volatile["schemas"];
}>
Call Signature
Section titled “Call Signature”onError<Handler>(scope, fn): CatchAllHookReturn<"local", BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, Handler>;Defined in: elysia/dist/base.d.ts:374
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Handler extends MaybeArray<ErrorHandler<[...Definitions["error"][], ...Ephemeral["error"][], ...Volatile["error"][]], { }, Singleton & object>> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
scope | "local" |
fn | Handler |
Returns
Section titled “Returns”CatchAllHookReturn<"local", BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, Handler>
Call Signature
Section titled “Call Signature”onError<Handler>(scope, fn): CatchAllHookReturn<"plugin", BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, Handler>;Defined in: elysia/dist/base.d.ts:377
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Handler extends MaybeArray<ErrorHandler<[...Definitions["error"][], ...Ephemeral["error"][], ...Volatile["error"][]], { }, Singleton & object>> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
scope | "plugin" |
fn | Handler |
Returns
Section titled “Returns”CatchAllHookReturn<"plugin", BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, Handler>
Call Signature
Section titled “Call Signature”onError<Handler>(scope, fn): CatchAllHookReturn<"global", BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, Handler>;Defined in: elysia/dist/base.d.ts:380
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Handler extends MaybeArray<ErrorHandler<[...Definitions["error"][], ...Ephemeral["error"][], ...Volatile["error"][]], { }, Singleton & object>> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
scope | "global" |
fn | Handler |
Returns
Section titled “Returns”CatchAllHookReturn<"global", BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, Handler>
Call Signature
Section titled “Call Signature”onError<As, Handler>(options, fn): CatchAllHookReturn<LegacyScope<As>, BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, Handler>;Defined in: elysia/dist/base.d.ts:384
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
As extends "global" | "local" | "scoped" |
Handler extends MaybeArray<ErrorHandler<[...Definitions["error"][], ...Ephemeral["error"][], ...Volatile["error"][]], { }, Singleton & object>> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
options | { as: As; } |
options.as | As |
fn | Handler |
Returns
Section titled “Returns”CatchAllHookReturn<LegacyScope<As>, BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, Handler>
Call Signature
Section titled “Call Signature”onError<HookScope, Handler>(scope, fn): CatchAllHookReturn<HookScope, BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, Handler>;Defined in: elysia/dist/base.d.ts:389
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
HookScope extends EventScope |
Handler extends MaybeArray<ErrorHandler<[...Definitions["error"][], ...Ephemeral["error"][], ...Volatile["error"][]], { }, Singleton & object>> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
scope | HookScope |
fn | Handler |
Returns
Section titled “Returns”CatchAllHookReturn<HookScope, BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, Handler>
Call Signature
Section titled “Call Signature”onError<S, E, Fn>( scope, error, fn): S extends "global" ? Elysia<BasePath, Scope, Singleton, { error: [...Definitions["error"][], ErrorDefinitionEntry<E, ReturnType<Fn>>]; typebox: Definitions["typebox"];}, Metadata, Routes, Ephemeral, Volatile> : S extends "plugin" ? Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes, { derive: Ephemeral["derive"]; error: [...Ephemeral["error"][], ErrorDefinitionEntry<E, ReturnType<Fn>>]; response: Ephemeral["response"]; schema: Ephemeral["schema"]; schemas: Ephemeral["schemas"];}, Volatile> : Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, { derive: Volatile["derive"]; error: [...Volatile["error"][], ErrorDefinitionEntry<E, ReturnType<Fn>>]; response: Volatile["response"]; schema: Volatile["schema"]; schemas: Volatile["schemas"];}>;Defined in: elysia/dist/base.d.ts:392
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
S extends EventScope |
E extends AnyErrorConstructor & (…args) => Error |
Fn extends (context) => unknown |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
scope | S |
error | E |
fn | Fn |
Returns
Section titled “Returns”S extends "global" ? Elysia<BasePath, Scope, Singleton, {
error: [...Definitions["error"][], ErrorDefinitionEntry<E, ReturnType<Fn>>];
typebox: Definitions["typebox"];
}, Metadata, Routes, Ephemeral, Volatile> : S extends "plugin" ? Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes, {
derive: Ephemeral["derive"];
error: [...Ephemeral["error"][], ErrorDefinitionEntry<E, ReturnType<Fn>>];
response: Ephemeral["response"];
schema: Ephemeral["schema"];
schemas: Ephemeral["schemas"];
}, Volatile> : Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, {
derive: Volatile["derive"];
error: [...Volatile["error"][], ErrorDefinitionEntry<E, ReturnType<Fn>>];
response: Volatile["response"];
schema: Volatile["schema"];
schemas: Volatile["schemas"];
}>
Call Signature
Section titled “Call Signature”onError<S, E, Value>( scope, error, value): S extends "global" ? Elysia<BasePath, Scope, Singleton, { error: [...Definitions["error"][], ErrorDefinitionEntry<E, Value>]; typebox: Definitions["typebox"];}, Metadata, Routes, Ephemeral, Volatile> : S extends "plugin" ? Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes, { derive: Ephemeral["derive"]; error: [...Ephemeral["error"][], ErrorDefinitionEntry<E, Value>]; response: Ephemeral["response"]; schema: Ephemeral["schema"]; schemas: Ephemeral["schemas"];}, Volatile> : Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, { derive: Volatile["derive"]; error: [...Volatile["error"][], ErrorDefinitionEntry<E, Value>]; response: Volatile["response"]; schema: Volatile["schema"]; schemas: Volatile["schemas"];}>;Defined in: elysia/dist/base.d.ts:414
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
S extends EventScope |
E extends AnyErrorConstructor & (…args) => Error |
Value |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
scope | S |
error | E |
value | Value |
Returns
Section titled “Returns”S extends "global" ? Elysia<BasePath, Scope, Singleton, {
error: [...Definitions["error"][], ErrorDefinitionEntry<E, Value>];
typebox: Definitions["typebox"];
}, Metadata, Routes, Ephemeral, Volatile> : S extends "plugin" ? Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes, {
derive: Ephemeral["derive"];
error: [...Ephemeral["error"][], ErrorDefinitionEntry<E, Value>];
response: Ephemeral["response"];
schema: Ephemeral["schema"];
schemas: Ephemeral["schemas"];
}, Volatile> : Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, {
derive: Volatile["derive"];
error: [...Volatile["error"][], ErrorDefinitionEntry<E, Value>];
response: Volatile["response"];
schema: Volatile["schema"];
schemas: Volatile["schemas"];
}>
onParse()
Section titled “onParse()”Call Signature
Section titled “Call Signature”onParse(fn): this;Defined in: elysia/dist/base.d.ts:231
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
fn | MaybeArray<BodyHandler<BasePath extends `${string}/:${string}` | `${string}/*${string}` ? Omit<{ }, "params"> & object : object, HookContextSingleton<Singleton, Ephemeral, Volatile>>> |
Returns
Section titled “Returns”this
Call Signature
Section titled “Call Signature”onParse(name): this;Defined in: elysia/dist/base.d.ts:232
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
name | string |
Returns
Section titled “Returns”this
Call Signature
Section titled “Call Signature”onParse<As>(options, fn): this;Defined in: elysia/dist/base.d.ts:234
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
As extends "global" | "local" | "scoped" |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
options | { as: As; } |
options.as | As |
fn | MaybeArray<BodyHandler<BasePath extends `${string}/:${string}` | `${string}/*${string}` ? Omit<{ }, "params"> & object : object, HookContextSingleton<Singleton, Ephemeral, Volatile>, undefined, LegacyScope<As>>> |
Returns
Section titled “Returns”this
Call Signature
Section titled “Call Signature”onParse<HookScope>(scope, fn): this;Defined in: elysia/dist/base.d.ts:237
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
HookScope extends EventScope |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
scope | HookScope |
fn | MaybeArray<BodyHandler<BasePath extends `${string}/:${string}` | `${string}/*${string}` ? Omit<{ }, "params"> & object : object, HookContextSingleton<Singleton, Ephemeral, Volatile>, undefined, HookScope>> |
Returns
Section titled “Returns”this
onRequest()
Section titled “onRequest()”onRequest(fn): this;Defined in: elysia/dist/base.d.ts:230
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
fn | MaybeArray<PreHandler<{ }, Singleton>> |
Returns
Section titled “Returns”this
onStart()
Section titled “onStart()”onStart(handler): this;Defined in: elysia/dist/base.d.ts:262
Called after server is ready for serving
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
handler | MaybeArray<GracefulHandler<Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile>>> |
Returns
Section titled “Returns”this
Example
Section titled “Example”new Elysia() .onStart(({ server }) => { console.log(`Running at ${server?.url}`) }) .listen(3000)onStop()
Section titled “onStop()”onStop(handler): this;Defined in: elysia/dist/base.d.ts:1080
Called after server stop serving request
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
handler | MaybeArray<GracefulHandler<Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile>>> |
Returns
Section titled “Returns”this
Example
Section titled “Example”new Elysia() .onStop((app) => { closeDatabase() })onTransform()
Section titled “onTransform()”Call Signature
Section titled “Call Signature”onTransform(fn): this;Defined in: elysia/dist/base.d.ts:263
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
fn | MaybeArray<TransformHandler<BasePath extends `${string}/:${string}` | `${string}/*${string}` ? Omit<{ }, "params"> & object : object, HookContextSingleton<Singleton, Ephemeral, Volatile>>> |
Returns
Section titled “Returns”this
Call Signature
Section titled “Call Signature”onTransform<As>(options, fn): this;Defined in: elysia/dist/base.d.ts:265
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
As extends "global" | "local" | "scoped" |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
options | { as: As; } |
options.as | As |
fn | MaybeArray<TransformHandler<BasePath extends `${string}/:${string}` | `${string}/*${string}` ? Omit<{ }, "params"> & object : object, HookContextSingleton<Singleton, Ephemeral, Volatile>, undefined, LegacyScope<As>>> |
Returns
Section titled “Returns”this
Call Signature
Section titled “Call Signature”onTransform<HookScope>(scope, fn): this;Defined in: elysia/dist/base.d.ts:268
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
HookScope extends EventScope |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
scope | HookScope |
fn | MaybeArray<TransformHandler<BasePath extends `${string}/:${string}` | `${string}/*${string}` ? Omit<{ }, "params"> & object : object, HookContextSingleton<Singleton, Ephemeral, Volatile>, undefined, HookScope>> |
Returns
Section titled “Returns”this
options()
Section titled “options()”Call Signature
Section titled “Call Signature”options<Path, Input, Schema, Decorator, MacroContext, Handle, UnknownKey>( path, hook, fn): AddRoute<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, "options", Path, Schema, MacroContext, Handle, Input>;Defined in: elysia/dist/base.d.ts:946
Register handler for path with method [OPTIONS]
Type Parameters
Section titled “Type Parameters”| Type Parameter | Default type |
|---|---|
Path extends string | - |
Input extends BaseMacro & InputSchema<keyof Definitions["typebox"] & string> & RouteHookCapture | - |
Schema extends IntersectIfObjectSchema<MergeSchema<UnwrapRoute<Input, Definitions["typebox"], JoinPath<BasePath, Path>>, MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>, "", undefined extends Input["params"] ? true : false>, MergeScopedSchemas<Metadata["schemas"], Ephemeral["schemas"], Volatile["schemas"]>> | - |
Decorator extends SingletonBase & object | - |
MacroContext extends | Macro<{ }, { }, { }, DefaultSingleton, []> | { [K in string | number | symbol]: (InnerMacroToContext<Metadata[“macroFn”], Pick<Input, Extract<keyof Metadata[“macroFn”], keyof Input>>, Definitions[“typebox”], []> extends A ? { [K in string | number | symbol]: K extends “derive” ? UnionToIntersect<A[K]> : K extends “meta” ? ((…)[(…)] & { value: … })[“value”] : A[K] } & { return: FlattenMacroResponse<A[“return”]> } : {})[K] } | - |
Handle extends | MaybePromise<InlineResponse> | ((context) => MaybePromise<Response> | MaybePromise<{} extends NoInfer<Schema>[“response”] ? unknown : Error | (NoInfer<Schema>[“response”] extends { …; } ? NoInfer<Schema>[“response”][200] | … 2 more … | AsyncGenerator<…> : unknown) | NoInfer<Schema>[“response”][keyof NoInfer<Schema>[“response”]] | InlineHandlerResponse<…) | ((context) => MaybePromise<Response> | MaybePromise<{} extends (NoInfer<Schema> & MacroContext)[“response”] ? unknown : Error | ((NoInfer<Schema> & MacroContext)[“response”] extends { …; } ? (NoInfer<Schema> & MacroContext)[“response”][200] | … 2 more … | AsyncGenerator<…> : unknown) | (NoInfer<Schema> & MacroContext)[“re…) | - |
UnknownKey extends PropertyKey | Exclude<keyof Input, HookObjectKey | keyof Metadata["macro"]> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
path | Path |
hook | object & Input extends any ? Input : { [K in string | number | symbol]: Input[K] } & MacroOptionContext<Metadata["macroFn"], Schema, Decorator> & UnknownHookKey<UnknownKey> |
fn | Handle |
Returns
Section titled “Returns”AddRoute<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, "options", Path, Schema, MacroContext, Handle, Input>
Example
Section titled “Example”import { Elysia, t } from 'elysia'
new Elysia() .options('/', () => 'hi') .options('/hook', { query: t.Object({ name: t.String() }) }, () => 'hi')Call Signature
Section titled “Call Signature”options<Path, Schema, Decorator, Handle>(path, fn): AddRoute<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, "options", Path, Schema, {}, Handle>;Defined in: elysia/dist/base.d.ts:949
Register handler for path with method [OPTIONS]
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Path extends string |
Schema extends IntersectIfObjectSchema<MergeSchema<UnwrapRoute<{ }, Definitions["typebox"], JoinPath<BasePath, Path>>, MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>, "", true>, MergeScopedSchemas<Metadata["schemas"], Ephemeral["schemas"], Volatile["schemas"]>> |
Decorator extends SingletonBase & object |
Handle extends | MaybePromise<InlineResponse> | ((context) => MaybePromise<Response> | MaybePromise<{} extends NoInfer<Schema>[“response”] ? unknown : Error | (NoInfer<Schema>[“response”] extends { …; } ? NoInfer<Schema>[“response”][200] | … 2 more … | AsyncGenerator<…> : unknown) | NoInfer<Schema>[“response”][keyof NoInfer<Schema>[“response”]] | InlineHandlerResponse<…) |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
path | Path |
fn | Handle & Metadata["macro"] |
Returns
Section titled “Returns”AddRoute<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, "options", Path, Schema, {
}, Handle>
Example
Section titled “Example”import { Elysia, t } from 'elysia'
new Elysia() .options('/', () => 'hi') .options('/hook', { query: t.Object({ name: t.String() }) }, () => 'hi')parser()
Section titled “parser()”parser<Name>(name, fn): Elysia<BasePath, Scope, Singleton, Definitions, { macro: Metadata["macro"]; macroFn: Metadata["macroFn"]; parser: Metadata["parser"] & { [name in string]: BodyHandler<any, any> }; response: Metadata["response"]; schema: Metadata["schema"]; schemas: Metadata["schemas"];}, Routes, Ephemeral, Volatile>;Defined in: elysia/dist/base.d.ts:238
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Name extends string |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
name | Name |
fn | BodyHandler<MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>, BasePath> & Metadata["schemas"] & Ephemeral["schemas"] & Volatile["schemas"], Singleton & object> |
Returns
Section titled “Returns”Elysia<BasePath, Scope, Singleton, Definitions, {
macro: Metadata["macro"];
macroFn: Metadata["macroFn"];
parser: Metadata["parser"] & { [name in string]: BodyHandler<any, any> };
response: Metadata["response"];
schema: Metadata["schema"];
schemas: Metadata["schemas"];
}, Routes, Ephemeral, Volatile>
patch()
Section titled “patch()”Call Signature
Section titled “Call Signature”patch<Path, Input, Schema, Decorator, MacroContext, Handle, UnknownKey>( path, hook, fn): AddRoute<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, "patch", Path, Schema, MacroContext, Handle, Input>;Defined in: elysia/dist/base.d.ts:906
Register handler for path with method [PATCH]
Type Parameters
Section titled “Type Parameters”| Type Parameter | Default type |
|---|---|
Path extends string | - |
Input extends BaseMacro & InputSchema<keyof Definitions["typebox"] & string> & RouteHookCapture | - |
Schema extends IntersectIfObjectSchema<MergeSchema<UnwrapRoute<Input, Definitions["typebox"], JoinPath<BasePath, Path>>, MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>, "", undefined extends Input["params"] ? true : false>, MergeScopedSchemas<Metadata["schemas"], Ephemeral["schemas"], Volatile["schemas"]>> | - |
Decorator extends SingletonBase & object | - |
MacroContext extends | Macro<{ }, { }, { }, DefaultSingleton, []> | { [K in string | number | symbol]: (InnerMacroToContext<Metadata[“macroFn”], Pick<Input, Extract<keyof Metadata[“macroFn”], keyof Input>>, Definitions[“typebox”], []> extends A ? { [K in string | number | symbol]: K extends “derive” ? UnionToIntersect<A[K]> : K extends “meta” ? ((…)[(…)] & { value: … })[“value”] : A[K] } & { return: FlattenMacroResponse<A[“return”]> } : {})[K] } | - |
Handle extends | MaybePromise<InlineResponse> | ((context) => MaybePromise<Response> | MaybePromise<{} extends NoInfer<Schema>[“response”] ? unknown : Error | (NoInfer<Schema>[“response”] extends { …; } ? NoInfer<Schema>[“response”][200] | … 2 more … | AsyncGenerator<…> : unknown) | NoInfer<Schema>[“response”][keyof NoInfer<Schema>[“response”]] | InlineHandlerResponse<…) | ((context) => MaybePromise<Response> | MaybePromise<{} extends (NoInfer<Schema> & MacroContext)[“response”] ? unknown : Error | ((NoInfer<Schema> & MacroContext)[“response”] extends { …; } ? (NoInfer<Schema> & MacroContext)[“response”][200] | … 2 more … | AsyncGenerator<…> : unknown) | (NoInfer<Schema> & MacroContext)[“re…) | - |
UnknownKey extends PropertyKey | Exclude<keyof Input, HookObjectKey | keyof Metadata["macro"]> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
path | Path |
hook | object & Input extends any ? Input : { [K in string | number | symbol]: Input[K] } & MacroOptionContext<Metadata["macroFn"], Schema, Decorator> & UnknownHookKey<UnknownKey> |
fn | Handle |
Returns
Section titled “Returns”AddRoute<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, "patch", Path, Schema, MacroContext, Handle, Input>
Example
Section titled “Example”import { Elysia, t } from 'elysia'
new Elysia() .patch('/', () => 'hi') .patch('/hook', { query: t.Object({ name: t.String() }) }, () => 'hi')Call Signature
Section titled “Call Signature”patch<Path, Schema, Decorator, Handle>(path, fn): AddRoute<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, "patch", Path, Schema, {}, Handle>;Defined in: elysia/dist/base.d.ts:909
Register handler for path with method [PATCH]
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Path extends string |
Schema extends IntersectIfObjectSchema<MergeSchema<UnwrapRoute<{ }, Definitions["typebox"], JoinPath<BasePath, Path>>, MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>, "", true>, MergeScopedSchemas<Metadata["schemas"], Ephemeral["schemas"], Volatile["schemas"]>> |
Decorator extends SingletonBase & object |
Handle extends | MaybePromise<InlineResponse> | ((context) => MaybePromise<Response> | MaybePromise<{} extends NoInfer<Schema>[“response”] ? unknown : Error | (NoInfer<Schema>[“response”] extends { …; } ? NoInfer<Schema>[“response”][200] | … 2 more … | AsyncGenerator<…> : unknown) | NoInfer<Schema>[“response”][keyof NoInfer<Schema>[“response”]] | InlineHandlerResponse<…) |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
path | Path |
fn | Handle & Metadata["macro"] |
Returns
Section titled “Returns”AddRoute<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, "patch", Path, Schema, {
}, Handle>
Example
Section titled “Example”import { Elysia, t } from 'elysia'
new Elysia() .patch('/', () => 'hi') .patch('/hook', { query: t.Object({ name: t.String() }) }, () => 'hi')post()
Section titled “post()”Call Signature
Section titled “Call Signature”post<Path, Input, Schema, Decorator, MacroContext, Handle, UnknownKey>( path, hook, fn): AddRoute<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, "post", Path, Schema, MacroContext, Handle, Input>;Defined in: elysia/dist/base.d.ts:866
Register handler for path with method [POST]
Type Parameters
Section titled “Type Parameters”| Type Parameter | Default type |
|---|---|
Path extends string | - |
Input extends BaseMacro & InputSchema<keyof Definitions["typebox"] & string> & RouteHookCapture | - |
Schema extends IntersectIfObjectSchema<MergeSchema<UnwrapRoute<Input, Definitions["typebox"], JoinPath<BasePath, Path>>, MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>, "", undefined extends Input["params"] ? true : false>, MergeScopedSchemas<Metadata["schemas"], Ephemeral["schemas"], Volatile["schemas"]>> | - |
Decorator extends SingletonBase & object | - |
MacroContext extends | Macro<{ }, { }, { }, DefaultSingleton, []> | { [K in string | number | symbol]: (InnerMacroToContext<Metadata[“macroFn”], Pick<Input, Extract<keyof Metadata[“macroFn”], keyof Input>>, Definitions[“typebox”], []> extends A ? { [K in string | number | symbol]: K extends “derive” ? UnionToIntersect<A[K]> : K extends “meta” ? ((…)[(…)] & { value: … })[“value”] : A[K] } & { return: FlattenMacroResponse<A[“return”]> } : {})[K] } | - |
Handle extends | MaybePromise<InlineResponse> | ((context) => MaybePromise<Response> | MaybePromise<{} extends NoInfer<Schema>[“response”] ? unknown : Error | (NoInfer<Schema>[“response”] extends { …; } ? NoInfer<Schema>[“response”][200] | … 2 more … | AsyncGenerator<…> : unknown) | NoInfer<Schema>[“response”][keyof NoInfer<Schema>[“response”]] | InlineHandlerResponse<…) | ((context) => MaybePromise<Response> | MaybePromise<{} extends (NoInfer<Schema> & MacroContext)[“response”] ? unknown : Error | ((NoInfer<Schema> & MacroContext)[“response”] extends { …; } ? (NoInfer<Schema> & MacroContext)[“response”][200] | … 2 more … | AsyncGenerator<…> : unknown) | (NoInfer<Schema> & MacroContext)[“re…) | - |
UnknownKey extends PropertyKey | Exclude<keyof Input, HookObjectKey | keyof Metadata["macro"]> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
path | Path |
hook | object & Input extends any ? Input : { [K in string | number | symbol]: Input[K] } & MacroOptionContext<Metadata["macroFn"], Schema, Decorator> & UnknownHookKey<UnknownKey> |
fn | Handle |
Returns
Section titled “Returns”AddRoute<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, "post", Path, Schema, MacroContext, Handle, Input>
Example
Section titled “Example”import { Elysia, t } from 'elysia'
new Elysia() .post('/', () => 'hi') .post('/hook', { query: t.Object({ name: t.String() }) }, () => 'hi')Call Signature
Section titled “Call Signature”post<Path, Schema, Decorator, Handle>(path, fn): AddRoute<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, "post", Path, Schema, {}, Handle>;Defined in: elysia/dist/base.d.ts:869
Register handler for path with method [POST]
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Path extends string |
Schema extends IntersectIfObjectSchema<MergeSchema<UnwrapRoute<{ }, Definitions["typebox"], JoinPath<BasePath, Path>>, MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>, "", true>, MergeScopedSchemas<Metadata["schemas"], Ephemeral["schemas"], Volatile["schemas"]>> |
Decorator extends SingletonBase & object |
Handle extends | MaybePromise<InlineResponse> | ((context) => MaybePromise<Response> | MaybePromise<{} extends NoInfer<Schema>[“response”] ? unknown : Error | (NoInfer<Schema>[“response”] extends { …; } ? NoInfer<Schema>[“response”][200] | … 2 more … | AsyncGenerator<…> : unknown) | NoInfer<Schema>[“response”][keyof NoInfer<Schema>[“response”]] | InlineHandlerResponse<…) |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
path | Path |
fn | Handle & Metadata["macro"] |
Returns
Section titled “Returns”AddRoute<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, "post", Path, Schema, {
}, Handle>
Example
Section titled “Example”import { Elysia, t } from 'elysia'
new Elysia() .post('/', () => 'hi') .post('/hook', { query: t.Object({ name: t.String() }) }, () => 'hi')Call Signature
Section titled “Call Signature”put<Path, Input, Schema, Decorator, MacroContext, Handle, UnknownKey>( path, hook, fn): AddRoute<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, "put", Path, Schema, MacroContext, Handle, Input>;Defined in: elysia/dist/base.d.ts:886
Register handler for path with method [PUT]
Type Parameters
Section titled “Type Parameters”| Type Parameter | Default type |
|---|---|
Path extends string | - |
Input extends BaseMacro & InputSchema<keyof Definitions["typebox"] & string> & RouteHookCapture | - |
Schema extends IntersectIfObjectSchema<MergeSchema<UnwrapRoute<Input, Definitions["typebox"], JoinPath<BasePath, Path>>, MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>, "", undefined extends Input["params"] ? true : false>, MergeScopedSchemas<Metadata["schemas"], Ephemeral["schemas"], Volatile["schemas"]>> | - |
Decorator extends SingletonBase & object | - |
MacroContext extends | Macro<{ }, { }, { }, DefaultSingleton, []> | { [K in string | number | symbol]: (InnerMacroToContext<Metadata[“macroFn”], Pick<Input, Extract<keyof Metadata[“macroFn”], keyof Input>>, Definitions[“typebox”], []> extends A ? { [K in string | number | symbol]: K extends “derive” ? UnionToIntersect<A[K]> : K extends “meta” ? ((…)[(…)] & { value: … })[“value”] : A[K] } & { return: FlattenMacroResponse<A[“return”]> } : {})[K] } | - |
Handle extends | MaybePromise<InlineResponse> | ((context) => MaybePromise<Response> | MaybePromise<{} extends NoInfer<Schema>[“response”] ? unknown : Error | (NoInfer<Schema>[“response”] extends { …; } ? NoInfer<Schema>[“response”][200] | … 2 more … | AsyncGenerator<…> : unknown) | NoInfer<Schema>[“response”][keyof NoInfer<Schema>[“response”]] | InlineHandlerResponse<…) | ((context) => MaybePromise<Response> | MaybePromise<{} extends (NoInfer<Schema> & MacroContext)[“response”] ? unknown : Error | ((NoInfer<Schema> & MacroContext)[“response”] extends { …; } ? (NoInfer<Schema> & MacroContext)[“response”][200] | … 2 more … | AsyncGenerator<…> : unknown) | (NoInfer<Schema> & MacroContext)[“re…) | - |
UnknownKey extends PropertyKey | Exclude<keyof Input, HookObjectKey | keyof Metadata["macro"]> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
path | Path |
hook | object & Input extends any ? Input : { [K in string | number | symbol]: Input[K] } & MacroOptionContext<Metadata["macroFn"], Schema, Decorator> & UnknownHookKey<UnknownKey> |
fn | Handle |
Returns
Section titled “Returns”AddRoute<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, "put", Path, Schema, MacroContext, Handle, Input>
Example
Section titled “Example”import { Elysia, t } from 'elysia'
new Elysia() .put('/', () => 'hi') .put('/hook', { query: t.Object({ name: t.String() }) }, () => 'hi')Call Signature
Section titled “Call Signature”put<Path, Schema, Decorator, Handle>(path, fn): AddRoute<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, "put", Path, Schema, {}, Handle>;Defined in: elysia/dist/base.d.ts:889
Register handler for path with method [PUT]
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Path extends string |
Schema extends IntersectIfObjectSchema<MergeSchema<UnwrapRoute<{ }, Definitions["typebox"], JoinPath<BasePath, Path>>, MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>, "", true>, MergeScopedSchemas<Metadata["schemas"], Ephemeral["schemas"], Volatile["schemas"]>> |
Decorator extends SingletonBase & object |
Handle extends | MaybePromise<InlineResponse> | ((context) => MaybePromise<Response> | MaybePromise<{} extends NoInfer<Schema>[“response”] ? unknown : Error | (NoInfer<Schema>[“response”] extends { …; } ? NoInfer<Schema>[“response”][200] | … 2 more … | AsyncGenerator<…> : unknown) | NoInfer<Schema>[“response”][keyof NoInfer<Schema>[“response”]] | InlineHandlerResponse<…) |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
path | Path |
fn | Handle & Metadata["macro"] |
Returns
Section titled “Returns”AddRoute<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, "put", Path, Schema, {
}, Handle>
Example
Section titled “Example”import { Elysia, t } from 'elysia'
new Elysia() .put('/', () => 'hi') .put('/hook', { query: t.Object({ name: t.String() }) }, () => 'hi')query()
Section titled “query()”Call Signature
Section titled “Call Signature”query<Path, Input, Schema, Decorator, MacroContext, Handle, UnknownKey>( path, hook, fn): AddRoute<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, "query", Path, Schema, MacroContext, Handle, Input>;Defined in: elysia/dist/base.d.ts:966
Register handler for path with method [QUERY]
Type Parameters
Section titled “Type Parameters”| Type Parameter | Default type |
|---|---|
Path extends string | - |
Input extends BaseMacro & InputSchema<keyof Definitions["typebox"] & string> & RouteHookCapture | - |
Schema extends IntersectIfObjectSchema<MergeSchema<UnwrapRoute<Input, Definitions["typebox"], JoinPath<BasePath, Path>>, MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>, "", undefined extends Input["params"] ? true : false>, MergeScopedSchemas<Metadata["schemas"], Ephemeral["schemas"], Volatile["schemas"]>> | - |
Decorator extends SingletonBase & object | - |
MacroContext extends | Macro<{ }, { }, { }, DefaultSingleton, []> | { [K in string | number | symbol]: (InnerMacroToContext<Metadata[“macroFn”], Pick<Input, Extract<keyof Metadata[“macroFn”], keyof Input>>, Definitions[“typebox”], []> extends A ? { [K in string | number | symbol]: K extends “derive” ? UnionToIntersect<A[K]> : K extends “meta” ? ((…)[(…)] & { value: … })[“value”] : A[K] } & { return: FlattenMacroResponse<A[“return”]> } : {})[K] } | - |
Handle extends | MaybePromise<InlineResponse> | ((context) => MaybePromise<Response> | MaybePromise<{} extends NoInfer<Schema>[“response”] ? unknown : Error | (NoInfer<Schema>[“response”] extends { …; } ? NoInfer<Schema>[“response”][200] | … 2 more … | AsyncGenerator<…> : unknown) | NoInfer<Schema>[“response”][keyof NoInfer<Schema>[“response”]] | InlineHandlerResponse<…) | ((context) => MaybePromise<Response> | MaybePromise<{} extends (NoInfer<Schema> & MacroContext)[“response”] ? unknown : Error | ((NoInfer<Schema> & MacroContext)[“response”] extends { …; } ? (NoInfer<Schema> & MacroContext)[“response”][200] | … 2 more … | AsyncGenerator<…> : unknown) | (NoInfer<Schema> & MacroContext)[“re…) | - |
UnknownKey extends PropertyKey | Exclude<keyof Input, HookObjectKey | keyof Metadata["macro"]> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
path | Path |
hook | object & Input extends any ? Input : { [K in string | number | symbol]: Input[K] } & MacroOptionContext<Metadata["macroFn"], Schema, Decorator> & UnknownHookKey<UnknownKey> |
fn | Handle |
Returns
Section titled “Returns”AddRoute<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, "query", Path, Schema, MacroContext, Handle, Input>
Example
Section titled “Example”import { Elysia, t } from 'elysia'
new Elysia() .query('/', () => 'hi') .query('/hook', { query: t.Object({ name: t.String() }) }, () => 'hi')Call Signature
Section titled “Call Signature”query<Path, Schema, Decorator, Handle>(path, fn): AddRoute<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, "query", Path, Schema, {}, Handle>;Defined in: elysia/dist/base.d.ts:969
Register handler for path with method [QUERY]
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Path extends string |
Schema extends IntersectIfObjectSchema<MergeSchema<UnwrapRoute<{ }, Definitions["typebox"], JoinPath<BasePath, Path>>, MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>, "", true>, MergeScopedSchemas<Metadata["schemas"], Ephemeral["schemas"], Volatile["schemas"]>> |
Decorator extends SingletonBase & object |
Handle extends | MaybePromise<InlineResponse> | ((context) => MaybePromise<Response> | MaybePromise<{} extends NoInfer<Schema>[“response”] ? unknown : Error | (NoInfer<Schema>[“response”] extends { …; } ? NoInfer<Schema>[“response”][200] | … 2 more … | AsyncGenerator<…> : unknown) | NoInfer<Schema>[“response”][keyof NoInfer<Schema>[“response”]] | InlineHandlerResponse<…) |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
path | Path |
fn | Handle & Metadata["macro"] |
Returns
Section titled “Returns”AddRoute<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, "query", Path, Schema, {
}, Handle>
Example
Section titled “Example”import { Elysia, t } from 'elysia'
new Elysia() .query('/', () => 'hi') .query('/hook', { query: t.Object({ name: t.String() }) }, () => 'hi')Ref<Key>(key): TRef<Key>;Defined in: elysia/dist/base.d.ts:831
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Key extends string |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
key | Key |
Returns
Section titled “Returns”TRef<Key>
state()
Section titled “state()”Call Signature
Section titled “Call Signature”state<Name, Value>(name, value): Elysia<BasePath, Scope, { decorator: Singleton["decorator"]; derive: Singleton["derive"]; store: { [K in string | number | symbol]: (Singleton["store"] & { [k in string | number | symbol]: Value })[K] };}, Definitions, Metadata, Routes, Ephemeral, Volatile>;Defined in: elysia/dist/base.d.ts:194
Assign global mutable state accessible for all handler.
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Name extends string | number | symbol |
Value |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
name | Name |
value | Value |
Returns
Section titled “Returns”Elysia<BasePath, Scope, {
decorator: Singleton["decorator"];
derive: Singleton["derive"];
store: { [K in string | number | symbol]: (Singleton[“store”] & { [k in string | number | symbol]: Value })[K] };
}, Definitions, Metadata, Routes, Ephemeral, Volatile>
Example
Section titled “Example”new Elysia() .state('counter', 0) .get('/', ({ store }) => ++store.counter)Call Signature
Section titled “Call Signature”state<NewStore>(store): Elysia<BasePath, Scope, { decorator: Singleton["decorator"]; derive: Singleton["derive"]; store: { [K in string | number | symbol]: (Singleton["store"] & NewStore)[K] };}, Definitions, Metadata, Routes, Ephemeral, Volatile>;Defined in: elysia/dist/base.d.ts:199
Assign global mutable state accessible for all handler.
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
NewStore extends Record<string, unknown> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
store | NewStore |
Returns
Section titled “Returns”Elysia<BasePath, Scope, {
decorator: Singleton["decorator"];
derive: Singleton["derive"];
store: { [K in string | number | symbol]: (Singleton[“store”] & NewStore)[K] };
}, Definitions, Metadata, Routes, Ephemeral, Volatile>
Example
Section titled “Example”new Elysia() .state('counter', 0) .get('/', ({ store }) => ++store.counter)Call Signature
Section titled “Call Signature”state<NewStore>(mapper): Elysia<BasePath, Scope, { decorator: Singleton["decorator"]; derive: Singleton["derive"]; store: NewStore;}, Definitions, Metadata, Routes, Ephemeral, Volatile>;Defined in: elysia/dist/base.d.ts:204
Assign global mutable state accessible for all handler.
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
NewStore extends Record<string, unknown> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
mapper | (store) => NewStore |
Returns
Section titled “Returns”Elysia<BasePath, Scope, {
decorator: Singleton["decorator"];
derive: Singleton["derive"];
store: NewStore;
}, Definitions, Metadata, Routes, Ephemeral, Volatile>
Example
Section titled “Example”new Elysia() .state('counter', 0) .get('/', ({ store }) => ++store.counter)Call Signature
Section titled “Call Signature”state<Name, Value>( type, name, value): Elysia<BasePath, Scope, { decorator: Singleton["decorator"]; derive: Singleton["derive"]; store: { [K in string | number | symbol]: (Singleton["store"] & { [k in string | number | symbol]: Value })[K] };}, Definitions, Metadata, Routes, Ephemeral, Volatile>;Defined in: elysia/dist/base.d.ts:209
Assign global mutable state accessible for all handler.
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Name extends string | number | symbol |
Value |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
type | "append" |
name | Name |
value | Value |
Returns
Section titled “Returns”Elysia<BasePath, Scope, {
decorator: Singleton["decorator"];
derive: Singleton["derive"];
store: { [K in string | number | symbol]: (Singleton[“store”] & { [k in string | number | symbol]: Value })[K] };
}, Definitions, Metadata, Routes, Ephemeral, Volatile>
Example
Section titled “Example”new Elysia() .state('counter', 0) .get('/', ({ store }) => ++store.counter)Call Signature
Section titled “Call Signature”state<Name, Value>( type, name, value): Elysia<BasePath, Scope, { decorator: Singleton["decorator"]; derive: Singleton["derive"]; store: { [K in string | number | symbol]: (Omit<Singleton["store"], Name> & { [k in string | number | symbol]: Value })[K] };}, Definitions, Metadata, Routes, Ephemeral, Volatile>;Defined in: elysia/dist/base.d.ts:214
Assign global mutable state accessible for all handler.
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Name extends string | number | symbol |
Value |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
type | "override" |
name | Name |
value | Value |
Returns
Section titled “Returns”Elysia<BasePath, Scope, {
decorator: Singleton["decorator"];
derive: Singleton["derive"];
store: { [K in string | number | symbol]: (Omit<Singleton[“store”], Name> & { [k in string | number | symbol]: Value })[K] };
}, Definitions, Metadata, Routes, Ephemeral, Volatile>
Example
Section titled “Example”new Elysia() .state('counter', 0) .get('/', ({ store }) => ++store.counter)Call Signature
Section titled “Call Signature”state<NewStore>(type, store): Elysia<BasePath, Scope, { decorator: Singleton["decorator"]; derive: Singleton["derive"]; store: { [K in string | number | symbol]: (Singleton["store"] & NewStore)[K] };}, Definitions, Metadata, Routes, Ephemeral, Volatile>;Defined in: elysia/dist/base.d.ts:219
Assign global mutable state accessible for all handler.
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
NewStore extends Record<string, unknown> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
type | "append" |
store | NewStore |
Returns
Section titled “Returns”Elysia<BasePath, Scope, {
decorator: Singleton["decorator"];
derive: Singleton["derive"];
store: { [K in string | number | symbol]: (Singleton[“store”] & NewStore)[K] };
}, Definitions, Metadata, Routes, Ephemeral, Volatile>
Example
Section titled “Example”new Elysia() .state('counter', 0) .get('/', ({ store }) => ++store.counter)Call Signature
Section titled “Call Signature”state<NewStore>(type, store): Elysia<BasePath, Scope, { decorator: Singleton["decorator"]; derive: Singleton["derive"]; store: { [K in string | number | symbol]: (Omit<Singleton["store"], keyof NewStore> & NewStore)[K] };}, Definitions, Metadata, Routes, Ephemeral, Volatile>;Defined in: elysia/dist/base.d.ts:224
Assign global mutable state accessible for all handler.
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
NewStore extends Record<string, unknown> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
type | "override" |
store | NewStore |
Returns
Section titled “Returns”Elysia<BasePath, Scope, {
decorator: Singleton["decorator"];
derive: Singleton["derive"];
store: { [K in string | number | symbol]: (Omit<Singleton[“store”], keyof NewStore> & NewStore)[K] };
}, Definitions, Metadata, Routes, Ephemeral, Volatile>
Example
Section titled “Example”new Elysia() .state('counter', 0) .get('/', ({ store }) => ++store.counter)stop()
Section titled “stop()”stop(closeActiveConnections?): Promise<void>;Defined in: elysia/dist/base.d.ts:1090
Stop the underlying server (if any), then run every onStop handler
Awaiting stop() from inside an onStart, onStop or WebSocket lifecycle
callback is only supported while that callback is still synchronous
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
closeActiveConnections? | boolean | Pass true to terminate active transports. Omit (or pass false) to drain safely. |
Returns
Section titled “Returns”Promise<void>
trace()
Section titled “trace()”Call Signature
Section titled “Call Signature”trace(fn): this;Defined in: elysia/dist/base.d.ts:430
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
fn | TraceHandler<any, any> |
Returns
Section titled “Returns”this
Call Signature
Section titled “Call Signature”trace<As>(options, fn): this;Defined in: elysia/dist/base.d.ts:432
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
As extends "global" | "local" | "scoped" |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
options | { as: As; } |
options.as | As |
fn | TraceHandler<any, any> |
Returns
Section titled “Returns”this
Call Signature
Section titled “Call Signature”trace<HookScope>(scope, fn): this;Defined in: elysia/dist/base.d.ts:435
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
HookScope extends EventScope |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
scope | HookScope |
fn | TraceHandler<any, any> |
Returns
Section titled “Returns”this
Call Signature
Section titled “Call Signature”use<NewElysia>(instance): Elysia<BasePath, Scope, { decorator: Singleton["decorator"] & NewElysia["~Singleton"]["decorator"]; derive: Singleton["derive"] & NewElysia["~Singleton"]["derive"]; store: { [K in string | number | symbol]: (Singleton["store"] & NewElysia["~Singleton"]["store"])[K] };}, { error: [...Definitions["error"][], ...NewElysia["~Definitions"]["error"][]]; typebox: Definitions["typebox"] & NewElysia["~Definitions"]["typebox"];}, MergeMetadata<Metadata, NewElysia["~Metadata"]>, BasePath extends "" ? Routes & ResolveUsedRouteErrors<NewElysia["~Routes"], [...Definitions["error"][], ...Ephemeral["error"][], ...Volatile["error"][]], UnionResponseStatus<Metadata["response"], UnionResponseStatus<Ephemeral["response"], Volatile["response"]>>> : Routes & CreateEden<BasePath, ResolveUsedRouteErrors<NewElysia["~Routes"], [...Definitions["error"][], ...Ephemeral["error"][], ...Volatile["error"][]], UnionResponseStatus<Metadata["response"], UnionResponseStatus<Ephemeral["response"], Volatile["response"]>>>>, Ephemeral, { derive: Volatile["derive"] & NewElysia["~Ephemeral"]["derive"]; error: [...Volatile["error"][], ...NewElysia["~Ephemeral"]["error"][]]; response: UnionResponseStatus<Volatile["response"], NewElysia["~Ephemeral"]["response"]>; schema: Volatile["schema"] & NewElysia["~Ephemeral"]["schema"]; schemas: Volatile["schemas"] & NewElysia["~Ephemeral"]["schemas"];}>;Defined in: elysia/dist/base.d.ts:691
Merge a plugin instance
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
NewElysia extends AnyElysia |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
instance | NewElysia |
Returns
Section titled “Returns”Elysia<BasePath, Scope, {
decorator: Singleton["decorator"] & NewElysia["~Singleton"]["decorator"];
derive: Singleton["derive"] & NewElysia["~Singleton"]["derive"];
store: { [K in string | number | symbol]: (Singleton[“store”] & NewElysia[“~Singleton”][“store”])[K] };
}, {
error: [...Definitions["error"][], ...NewElysia["~Definitions"]["error"][]];
typebox: Definitions["typebox"] & NewElysia["~Definitions"]["typebox"];
}, MergeMetadata<Metadata, NewElysia["~Metadata"]>, BasePath extends "" ? Routes & ResolveUsedRouteErrors<NewElysia["~Routes"], [...Definitions["error"][], ...Ephemeral["error"][], ...Volatile["error"][]], UnionResponseStatus<Metadata["response"], UnionResponseStatus<Ephemeral["response"], Volatile["response"]>>> : Routes & CreateEden<BasePath, ResolveUsedRouteErrors<NewElysia["~Routes"], [...Definitions["error"][], ...Ephemeral["error"][], ...Volatile["error"][]], UnionResponseStatus<Metadata["response"], UnionResponseStatus<Ephemeral["response"], Volatile["response"]>>>>, Ephemeral, {
derive: Volatile["derive"] & NewElysia["~Ephemeral"]["derive"];
error: [...Volatile["error"][], ...NewElysia["~Ephemeral"]["error"][]];
response: UnionResponseStatus<Volatile["response"], NewElysia["~Ephemeral"]["response"]>;
schema: Volatile["schema"] & NewElysia["~Ephemeral"]["schema"];
schemas: Volatile["schemas"] & NewElysia["~Ephemeral"]["schemas"];
}>
Call Signature
Section titled “Call Signature”use<Instances, Param>(instances): MergeElysiaInstances<Instances, BasePath, Scope, Singleton, Definitions, Metadata, Ephemeral, Volatile, Routes>;Defined in: elysia/dist/base.d.ts:712
Merge multiple plugin instances, or a factory returning them
A factory taking no app has its array inferred by the instance
overload above, as an array rather than a tuple, so its plugins are
lost: return it as const
Type Parameters
Section titled “Type Parameters”| Type Parameter | Default type |
|---|---|
Instances extends AnyElysia[] | - |
Param extends AnyElysia | Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
instances | Instances | ((app) => readonly [Instances]) |
Returns
Section titled “Returns”MergeElysiaInstances<Instances, BasePath, Scope, Singleton, Definitions, Metadata, Ephemeral, Volatile, Routes>
Call Signature
Section titled “Call Signature”use<NewElysia, Param, Factory>(plugin): IgnoresApp<Factory> extends true ? Elysia<BasePath, Scope, { decorator: Singleton["decorator"] & NewElysia["~Singleton"]["decorator"]; derive: Singleton["derive"] & NewElysia["~Singleton"]["derive"]; store: { [K in string | number | symbol]: (Singleton["store"] & NewElysia["~Singleton"]["store"])[K] };}, { error: [...Definitions["error"][], ...NewElysia["~Definitions"]["error"][]]; typebox: Definitions["typebox"] & NewElysia["~Definitions"]["typebox"];}, MergeMetadata<Metadata, NewElysia["~Metadata"]>, BasePath extends "" ? Routes & ResolveUsedRouteErrors<NewElysia["~Routes"], [...Definitions["error"][], ...Ephemeral["error"][], ...Volatile["error"][]], UnionResponseStatus<Metadata["response"], UnionResponseStatus<Ephemeral["response"], Volatile["response"]>>> : Routes & CreateEden<BasePath, ResolveUsedRouteErrors<NewElysia["~Routes"], [...Definitions["error"][], ...Ephemeral["error"][], ...Volatile["error"][]], UnionResponseStatus<Metadata["response"], UnionResponseStatus<Ephemeral["response"], Volatile["response"]>>>>, Ephemeral, { derive: Volatile["derive"] & NewElysia["~Ephemeral"]["derive"]; error: [...Volatile["error"][], ...NewElysia["~Ephemeral"]["error"][]]; response: UnionResponseStatus<Volatile["response"], NewElysia["~Ephemeral"]["response"]>; schema: Volatile["schema"] & NewElysia["~Ephemeral"]["schema"]; schemas: Volatile["schemas"] & NewElysia["~Ephemeral"]["schemas"];}> : Elysia<BasePath, Scope, { decorator: Singleton["decorator"] & NewElysia["~Singleton"]["decorator"]; derive: Singleton["derive"] & NewElysia["~Singleton"]["derive"]; store: { [K in string | number | symbol]: (Singleton["store"] & NewElysia["~Singleton"]["store"])[K] };}, { error: [...Definitions["error"][], ...NewElysia["~Definitions"]["error"][]]; typebox: Definitions["typebox"] & NewElysia["~Definitions"]["typebox"];}, MergeMetadata<Metadata, NewElysia["~Metadata"]>, BasePath extends "" ? Routes & NewElysia["~Routes"] : Routes & CreateEden<BasePath, NewElysia["~Routes"]>, { derive: Ephemeral["derive"] & NewElysia["~Ephemeral"]["derive"]; error: NewElysia["~Ephemeral"]["error"]; response: UnionResponseStatus<Ephemeral["response"], NewElysia["~Ephemeral"]["response"]>; schema: Ephemeral["schema"] & NewElysia["~Ephemeral"]["schema"]; schemas: Ephemeral["schemas"] & NewElysia["~Ephemeral"]["schemas"];}, { derive: Volatile["derive"] & NewElysia["~Volatile"]["derive"]; error: NewElysia["~Volatile"]["error"]; response: UnionResponseStatus<Volatile["response"], NewElysia["~Volatile"]["response"]>; schema: Volatile["schema"] & NewElysia["~Volatile"]["schema"]; schemas: Volatile["schemas"] & NewElysia["~Volatile"]["schemas"];}>;Defined in: elysia/dist/base.d.ts:721
Inline functional plugin
A factory that ignores app is assumed to return a new instance, used
as a plugin the same way as .use(instance). One returning the parent
it captured is mistyped, types can’t see instance identity. A factory
declaring a parameter, even an optional one, is typed as returning app
Type Parameters
Section titled “Type Parameters”| Type Parameter | Default type |
|---|---|
NewElysia extends AnyElysia | - |
Param extends AnyElysia | Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile> |
Factory | unknown |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
plugin | Factory & (app) => NewElysia |
Returns
Section titled “Returns”IgnoresApp<Factory> extends true ? Elysia<BasePath, Scope, {
decorator: Singleton["decorator"] & NewElysia["~Singleton"]["decorator"];
derive: Singleton["derive"] & NewElysia["~Singleton"]["derive"];
store: { [K in string | number | symbol]: (Singleton[“store”] & NewElysia[“~Singleton”][“store”])[K] };
}, {
error: [...Definitions["error"][], ...NewElysia["~Definitions"]["error"][]];
typebox: Definitions["typebox"] & NewElysia["~Definitions"]["typebox"];
}, MergeMetadata<Metadata, NewElysia["~Metadata"]>, BasePath extends "" ? Routes & ResolveUsedRouteErrors<NewElysia["~Routes"], [...Definitions["error"][], ...Ephemeral["error"][], ...Volatile["error"][]], UnionResponseStatus<Metadata["response"], UnionResponseStatus<Ephemeral["response"], Volatile["response"]>>> : Routes & CreateEden<BasePath, ResolveUsedRouteErrors<NewElysia["~Routes"], [...Definitions["error"][], ...Ephemeral["error"][], ...Volatile["error"][]], UnionResponseStatus<Metadata["response"], UnionResponseStatus<Ephemeral["response"], Volatile["response"]>>>>, Ephemeral, {
derive: Volatile["derive"] & NewElysia["~Ephemeral"]["derive"];
error: [...Volatile["error"][], ...NewElysia["~Ephemeral"]["error"][]];
response: UnionResponseStatus<Volatile["response"], NewElysia["~Ephemeral"]["response"]>;
schema: Volatile["schema"] & NewElysia["~Ephemeral"]["schema"];
schemas: Volatile["schemas"] & NewElysia["~Ephemeral"]["schemas"];
}> : Elysia<BasePath, Scope, {
decorator: Singleton["decorator"] & NewElysia["~Singleton"]["decorator"];
derive: Singleton["derive"] & NewElysia["~Singleton"]["derive"];
store: { [K in string | number | symbol]: (Singleton[“store”] & NewElysia[“~Singleton”][“store”])[K] };
}, {
error: [...Definitions["error"][], ...NewElysia["~Definitions"]["error"][]];
typebox: Definitions["typebox"] & NewElysia["~Definitions"]["typebox"];
}, MergeMetadata<Metadata, NewElysia["~Metadata"]>, BasePath extends "" ? Routes & NewElysia["~Routes"] : Routes & CreateEden<BasePath, NewElysia["~Routes"]>, {
derive: Ephemeral["derive"] & NewElysia["~Ephemeral"]["derive"];
error: NewElysia["~Ephemeral"]["error"];
response: UnionResponseStatus<Ephemeral["response"], NewElysia["~Ephemeral"]["response"]>;
schema: Ephemeral["schema"] & NewElysia["~Ephemeral"]["schema"];
schemas: Ephemeral["schemas"] & NewElysia["~Ephemeral"]["schemas"];
}, {
derive: Volatile["derive"] & NewElysia["~Volatile"]["derive"];
error: NewElysia["~Volatile"]["error"];
response: UnionResponseStatus<Volatile["response"], NewElysia["~Volatile"]["response"]>;
schema: Volatile["schema"] & NewElysia["~Volatile"]["schema"];
schemas: Volatile["schemas"] & NewElysia["~Volatile"]["schemas"];
}>
Call Signature
Section titled “Call Signature”use<NewElysia>(instance): Elysia<BasePath, Scope, { decorator: Singleton["decorator"] & NewElysia["~Singleton"]["decorator"]; derive: Singleton["derive"] & Partial<NewElysia["~Singleton"]["derive"]>; store: { [K in string | number | symbol]: (Singleton["store"] & NewElysia["~Singleton"]["store"])[K] };}, { error: [...Definitions["error"][], ...NewElysia["~Definitions"]["error"][]]; typebox: Definitions["typebox"] & NewElysia["~Definitions"]["typebox"];}, MergeMetadata<Metadata, NewElysia["~Metadata"]>, BasePath extends "" ? Routes & ResolveUsedRouteErrors<NewElysia["~Routes"], [...Definitions["error"][], ...Ephemeral["error"][], ...Volatile["error"][]], UnionResponseStatus<Metadata["response"], UnionResponseStatus<Ephemeral["response"], Volatile["response"]>>> : Routes & CreateEden<BasePath, ResolveUsedRouteErrors<NewElysia["~Routes"], [...Definitions["error"][], ...Ephemeral["error"][], ...Volatile["error"][]], UnionResponseStatus<Metadata["response"], UnionResponseStatus<Ephemeral["response"], Volatile["response"]>>>>, Ephemeral, { derive: Volatile["derive"] & Partial<NewElysia["~Ephemeral"]["derive"]>; error: [...Volatile["error"][], ...NewElysia["~Ephemeral"]["error"][]]; response: UnionResponseStatus<Volatile["response"], NewElysia["~Ephemeral"]["response"]>; schema: Volatile["schema"] & NewElysia["~Ephemeral"]["schema"]; schemas: Volatile["schemas"] & NewElysia["~Ephemeral"]["schemas"];}>;Defined in: elysia/dist/base.d.ts:763
async plugin instance
A factory that ignores app is assumed to resolve to a new instance,
used as a plugin the same way. One resolving to the parent it captured
is mistyped, types can’t see instance identity. A factory declaring a
parameter, even an optional one, is typed as returning app, see the
async functional plugin below
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
NewElysia extends AnyElysia |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
instance | | Promise< | NewElysia | { default: NewElysia; }> | ((app?) => MaybePromise< | NewElysia | { default: NewElysia; }>) |
Returns
Section titled “Returns”Elysia<BasePath, Scope, {
decorator: Singleton["decorator"] & NewElysia["~Singleton"]["decorator"];
derive: Singleton["derive"] & Partial<NewElysia["~Singleton"]["derive"]>;
store: { [K in string | number | symbol]: (Singleton[“store”] & NewElysia[“~Singleton”][“store”])[K] };
}, {
error: [...Definitions["error"][], ...NewElysia["~Definitions"]["error"][]];
typebox: Definitions["typebox"] & NewElysia["~Definitions"]["typebox"];
}, MergeMetadata<Metadata, NewElysia["~Metadata"]>, BasePath extends "" ? Routes & ResolveUsedRouteErrors<NewElysia["~Routes"], [...Definitions["error"][], ...Ephemeral["error"][], ...Volatile["error"][]], UnionResponseStatus<Metadata["response"], UnionResponseStatus<Ephemeral["response"], Volatile["response"]>>> : Routes & CreateEden<BasePath, ResolveUsedRouteErrors<NewElysia["~Routes"], [...Definitions["error"][], ...Ephemeral["error"][], ...Volatile["error"][]], UnionResponseStatus<Metadata["response"], UnionResponseStatus<Ephemeral["response"], Volatile["response"]>>>>, Ephemeral, {
derive: Volatile["derive"] & Partial<NewElysia["~Ephemeral"]["derive"]>;
error: [...Volatile["error"][], ...NewElysia["~Ephemeral"]["error"][]];
response: UnionResponseStatus<Volatile["response"], NewElysia["~Ephemeral"]["response"]>;
schema: Volatile["schema"] & NewElysia["~Ephemeral"]["schema"];
schemas: Volatile["schemas"] & NewElysia["~Ephemeral"]["schemas"];
}>
Call Signature
Section titled “Call Signature”use<NewElysia, Param>(plugin): Elysia<BasePath, Scope, { decorator: Singleton["decorator"] & NewElysia["~Singleton"]["decorator"]; derive: Singleton["derive"] & Partial<NewElysia["~Singleton"]["derive"]>; store: { [K in string | number | symbol]: (Singleton["store"] & NewElysia["~Singleton"]["store"])[K] };}, { error: [...Definitions["error"][], ...NewElysia["~Definitions"]["error"][]]; typebox: Definitions["typebox"] & NewElysia["~Definitions"]["typebox"];}, MergeMetadata<Metadata, NewElysia["~Metadata"]>, BasePath extends "" ? Routes & NewElysia["~Routes"] : Routes & CreateEden<BasePath, NewElysia["~Routes"]>, { derive: Ephemeral["derive"] & Partial<NewElysia["~Ephemeral"]["derive"]>; error: NewElysia["~Ephemeral"]["error"]; response: UnionResponseStatus<Ephemeral["response"], NewElysia["~Ephemeral"]["response"]>; schema: Ephemeral["schema"] & NewElysia["~Ephemeral"]["schema"]; schemas: Ephemeral["schemas"] & NewElysia["~Ephemeral"]["schemas"];}, { derive: Volatile["derive"] & Partial<NewElysia["~Volatile"]["derive"]>; error: NewElysia["~Volatile"]["error"]; response: UnionResponseStatus<Volatile["response"], NewElysia["~Volatile"]["response"]>; schema: Volatile["schema"] & NewElysia["~Volatile"]["schema"]; schemas: Volatile["schemas"] & NewElysia["~Volatile"]["schemas"];}>;Defined in: elysia/dist/base.d.ts:784
Async functional plugin
Type Parameters
Section titled “Type Parameters”| Type Parameter | Default type |
|---|---|
NewElysia extends AnyElysia | - |
Param extends AnyElysia | Elysia<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
plugin | | ((app) => Promise<NewElysia>) | Promise<(app) => MaybePromise<NewElysia>> | Promise<{ default: (app) => MaybePromise<NewElysia>; }> |
Returns
Section titled “Returns”Elysia<BasePath, Scope, {
decorator: Singleton["decorator"] & NewElysia["~Singleton"]["decorator"];
derive: Singleton["derive"] & Partial<NewElysia["~Singleton"]["derive"]>;
store: { [K in string | number | symbol]: (Singleton[“store”] & NewElysia[“~Singleton”][“store”])[K] };
}, {
error: [...Definitions["error"][], ...NewElysia["~Definitions"]["error"][]];
typebox: Definitions["typebox"] & NewElysia["~Definitions"]["typebox"];
}, MergeMetadata<Metadata, NewElysia["~Metadata"]>, BasePath extends "" ? Routes & NewElysia["~Routes"] : Routes & CreateEden<BasePath, NewElysia["~Routes"]>, {
derive: Ephemeral["derive"] & Partial<NewElysia["~Ephemeral"]["derive"]>;
error: NewElysia["~Ephemeral"]["error"];
response: UnionResponseStatus<Ephemeral["response"], NewElysia["~Ephemeral"]["response"]>;
schema: Ephemeral["schema"] & NewElysia["~Ephemeral"]["schema"];
schemas: Ephemeral["schemas"] & NewElysia["~Ephemeral"]["schemas"];
}, {
derive: Volatile["derive"] & Partial<NewElysia["~Volatile"]["derive"]>;
error: NewElysia["~Volatile"]["error"];
response: UnionResponseStatus<Volatile["response"], NewElysia["~Volatile"]["response"]>;
schema: Volatile["schema"] & NewElysia["~Volatile"]["schema"];
schemas: Volatile["schemas"] & NewElysia["~Volatile"]["schemas"];
}>
Call Signature
Section titled “Call Signature”use(app): this;Defined in: elysia/dist/base.d.ts:809
Fallback for values the typed overloads cannot model
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
app | MaybePromise< | AnyElysia | AnyElysia[] | { default: unknown; } | ((app) => unknown)> |
Returns
Section titled “Returns”this
wrap()
Section titled “wrap()”wrap<T>(callback): this;Defined in: elysia/dist/base.d.ts:1066
Add a higher order function over Elysia.fetch
Type Parameters
Section titled “Type Parameters”| Type Parameter | Default type |
|---|---|
T extends (…params) => MaybePromise<Response> | (request, …rest) => MaybePromise<Response> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
callback | WrapFn<T> |
Returns
Section titled “Returns”this
Example
Section titled “Example”const ctx = new AsyncLocalStorage<{ counter: number }>()
new Elysia() .wrap( (fetch) => (request, ...rest) => ctx.run({ counter: 0 }, () => fetch(request, ...rest)) ) .get('/', () => ctx.getStore())Call Signature
Section titled “Call Signature”ws<Path, Input, Schema, MacroContext>(path, options): AddWSRoute<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, Path, Schema, MacroContext, void, Input["error"], Input["beforeHandle"]>;Defined in: elysia/dist/base.d.ts:1022
Register a WebSocket route as (path, options), (path, handler), or (path, options, handler).
Requires .use(websocket()) from elysia/websocket.
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Path extends string |
Input extends BaseMacro & InputSchema<keyof Definitions["typebox"] & string> & WSHookCapture |
Schema extends IntersectIfObjectSchema<MergeSchema<UnwrapRoute<Input, Definitions["typebox"], JoinPath<BasePath, Path>>, MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>, "", undefined extends Input["params"] ? true : false>, MergeScopedSchemas<Metadata["schemas"], Ephemeral["schemas"], Volatile["schemas"]>> |
MacroContext extends | Macro<{ }, { }, { }, DefaultSingleton, []> | { [K in string | number | symbol]: (InnerMacroToContext<Metadata[“macroFn”], Pick<Input, Extract<keyof Metadata[“macroFn”], keyof Input>>, Definitions[“typebox”], []> extends A ? { [K in string | number | symbol]: K extends “derive” ? UnionToIntersect<A[K]> : K extends “meta” ? ((…)[(…)] & { value: … })[“value”] : A[K] } & { return: FlattenMacroResponse<A[“return”]> } : {})[K] } |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
path | Path |
options | { [K in string | number | symbol]: Input[K] } & object & TypedWebSocketHandler<Omit<{ [K in string | number | symbol]: ({ body: PrettifyIfObject<(…)[(…)] & (…)[(…)]>; cookie: undefined extends ((…) & (…))[“cookie”] ? Record<string, Cookie<(…)>> : Record<(…), (…)> & { [K in (…)]: (…) }; headers: undefined extends ((…) & (…))[“headers”] ? {} extends NonNullable<(…)> ? Record<(…), (…)> : (…)[(…)] : PrettifyIfObject<(…) & (…)>; params: undefined extends ((…) & (…))[“params”] ? {} extends NonNullable<(…)> ? Record<(…), (…)> : (…)[(…)] : PrettifyIfObject<(…) & (…)>; query: undefined extends ((…) & (…))[“query”] ? {} extends NonNullable<(…)> ? Record<(…), (…)> : (…)[(…)] : PrettifyIfObject<(…) & (…)> } & ContextBase<Schema & MacroContext, Singleton & { derive: (…) & (…) & (…) }> & (Singleton & { derive: (…) & (…) & (…) })[“decorator”] & Omit<(Singleton & { derive: … })[“derive”], keyof InputSchema<string>>)[K] }, "body"> & Omit<ElysiaWSLike<{ [K in string | number | symbol]: ({ body: PrettifyIfObject<(…) & (…)>; cookie: undefined extends (…)[(…)] ? Record<(…), (…)> : (…) & (…); headers: undefined extends (…)[(…)] ? (…) extends (…) ? (…) : (…) : PrettifyIfObject<(…)>; params: undefined extends (…)[(…)] ? (…) extends (…) ? (…) : (…) : PrettifyIfObject<(…)>; query: undefined extends (…)[(…)] ? (…) extends (…) ? (…) : (…) : PrettifyIfObject<(…)> } & ContextBase<Schema & MacroContext, Singleton & { derive: … }> & (Singleton & { derive: … })[“decorator”] & Omit<((…) & (…))[“derive”], keyof InputSchema<(…)>>)[K] }, Schema & MacroContext>, "body"> & object, Schema & MacroContext> & MacroOptionContext<Metadata["macroFn"], Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, { derive: { }; }>> |
Returns
Section titled “Returns”AddWSRoute<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, Path, Schema, MacroContext, void, Input["error"], Input["beforeHandle"]>
Call Signature
Section titled “Call Signature”ws<Path, Input, Schema, MacroContext, Handler>(path, handler): AddWSRoute<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, Path, Schema, MacroContext, WSHandlerResponse<Handler>>;Defined in: elysia/dist/base.d.ts:1027
Register a WebSocket route as (path, options), (path, handler), or (path, options, handler).
Requires .use(websocket()) from elysia/websocket.
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Path extends string |
Input extends BaseMacro & InputSchema<keyof Definitions["typebox"] & string> |
Schema extends IntersectIfObjectSchema<MergeSchema<UnwrapRoute<Input, Definitions["typebox"], JoinPath<BasePath, Path>>, MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>, "", undefined extends Input["params"] ? true : false>, MergeScopedSchemas<Metadata["schemas"], Ephemeral["schemas"], Volatile["schemas"]>> |
MacroContext extends | Macro<{ }, { }, { }, DefaultSingleton, []> | { [K in string | number | symbol]: (InnerMacroToContext<Metadata[“macroFn”], Pick<Input, Extract<keyof Metadata[“macroFn”], keyof Input>>, Definitions[“typebox”], []> extends A ? { [K in string | number | symbol]: K extends “derive” ? UnionToIntersect<A[K]> : K extends “meta” ? ((…)[(…)] & { value: … })[“value”] : A[K] } & { return: FlattenMacroResponse<A[“return”]> } : {})[K] } |
Handler extends WSMessageHandler<Schema & MacroContext, Singleton & object> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
path | Path |
handler | Handler |
Returns
Section titled “Returns”AddWSRoute<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, Path, Schema, MacroContext, WSHandlerResponse<Handler>>
Call Signature
Section titled “Call Signature”ws<Path, Input, Schema, MacroContext, Handler>( path, options, handler): AddWSRoute<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, Path, Schema, MacroContext, WSHandlerResponse<Handler>, Input["error"], Input["beforeHandle"]>;Defined in: elysia/dist/base.d.ts:1030
Register a WebSocket route as (path, options), (path, handler), or (path, options, handler).
Requires .use(websocket()) from elysia/websocket.
Type Parameters
Section titled “Type Parameters”| Type Parameter |
|---|
Path extends string |
Input extends BaseMacro & InputSchema<keyof Definitions["typebox"] & string> & WSHookCapture |
Schema extends IntersectIfObjectSchema<MergeSchema<UnwrapRoute<Input, Definitions["typebox"], JoinPath<BasePath, Path>>, MergeSchema<Volatile["schema"], MergeSchema<Ephemeral["schema"], Metadata["schema"]>>, "", undefined extends Input["params"] ? true : false>, MergeScopedSchemas<Metadata["schemas"], Ephemeral["schemas"], Volatile["schemas"]>> |
MacroContext extends | Macro<{ }, { }, { }, DefaultSingleton, []> | { [K in string | number | symbol]: (InnerMacroToContext<Metadata[“macroFn”], Pick<Input, Extract<keyof Metadata[“macroFn”], keyof Input>>, Definitions[“typebox”], []> extends A ? { [K in string | number | symbol]: K extends “derive” ? UnionToIntersect<A[K]> : K extends “meta” ? ((…)[(…)] & { value: … })[“value”] : A[K] } & { return: FlattenMacroResponse<A[“return”]> } : {})[K] } |
Handler extends WSMessageHandler<Schema & MacroContext, Singleton & object> |
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
path | Path |
options | { [K in string | number | symbol]: Input[K] } & object & TypedWebSocketHandler<Omit<{ [K in string | number | symbol]: ({ body: PrettifyIfObject<(…)[(…)] & (…)[(…)]>; cookie: undefined extends ((…) & (…))[“cookie”] ? Record<string, Cookie<(…)>> : Record<(…), (…)> & { [K in (…)]: (…) }; headers: undefined extends ((…) & (…))[“headers”] ? {} extends NonNullable<(…)> ? Record<(…), (…)> : (…)[(…)] : PrettifyIfObject<(…) & (…)>; params: undefined extends ((…) & (…))[“params”] ? {} extends NonNullable<(…)> ? Record<(…), (…)> : (…)[(…)] : PrettifyIfObject<(…) & (…)>; query: undefined extends ((…) & (…))[“query”] ? {} extends NonNullable<(…)> ? Record<(…), (…)> : (…)[(…)] : PrettifyIfObject<(…) & (…)> } & ContextBase<Schema & MacroContext, Singleton & { derive: (…) & (…) & (…) }> & (Singleton & { derive: (…) & (…) & (…) })[“decorator”] & Omit<(Singleton & { derive: … })[“derive”], keyof InputSchema<string>>)[K] }, "body"> & Omit<ElysiaWSLike<{ [K in string | number | symbol]: ({ body: PrettifyIfObject<(…) & (…)>; cookie: undefined extends (…)[(…)] ? Record<(…), (…)> : (…) & (…); headers: undefined extends (…)[(…)] ? (…) extends (…) ? (…) : (…) : PrettifyIfObject<(…)>; params: undefined extends (…)[(…)] ? (…) extends (…) ? (…) : (…) : PrettifyIfObject<(…)>; query: undefined extends (…)[(…)] ? (…) extends (…) ? (…) : (…) : PrettifyIfObject<(…)> } & ContextBase<Schema & MacroContext, Singleton & { derive: … }> & (Singleton & { derive: … })[“decorator”] & Omit<((…) & (…))[“derive”], keyof InputSchema<(…)>>)[K] }, Schema & MacroContext>, "body"> & object, Schema & MacroContext> & MacroOptionContext<Metadata["macroFn"], Schema, GuardHookSingleton<Singleton, Ephemeral, Volatile, { derive: { }; }>> |
handler | Handler |
Returns
Section titled “Returns”AddWSRoute<BasePath, Scope, Singleton, Definitions, Metadata, Routes, Ephemeral, Volatile, Path, Schema, MacroContext, WSHandlerResponse<Handler>, Input["error"], Input["beforeHandle"]>