App
App<
TSchema,TPermissions,TPluginContext,TClientContext> =object
Defined in: packages/core/src/types.ts:150
The app object returned by createApp() and extended by .use() calls.
Provides methods for environment initialization, per-request context creation, route handler wrappers, plugin registration, and a composed React provider.
Type Parameters
Section titled “Type Parameters”TSchema
Section titled “TSchema”TSchema extends Schema
The env schema type.
TPermissions
Section titled “TPermissions”TPermissions extends Permissions
The permissions definition type.
TPluginContext
Section titled “TPluginContext”TPluginContext
The accumulated plugin context type.
TClientContext
Section titled “TClientContext”TClientContext
The accumulated client-side context type.
Properties
Section titled “Properties”permissions
Section titled “permissions”permissions:
TPermissions
Defined in: packages/core/src/types.ts:195
The permissions config passed to createApp().
Provider
Section titled “Provider”Provider:
ComponentType<{children:ReactNode; }>
Defined in: packages/core/src/types.ts:193
Composed React provider tree from all registered plugins.
Methods
Section titled “Methods”action()
Section titled “action()”action<
T>(fn): (args) =>Promise<T>
Defined in: packages/core/src/types.ts:173
Convenience wrapper for React Router actions that auto-creates the app context.
Type Parameters
Section titled “Type Parameters”T
Parameters
Section titled “Parameters”(ctx, args) => T | Promise<T>
Returns
Section titled “Returns”(
args):Promise<T>
Parameters
Section titled “Parameters”Returns
Section titled “Returns”Promise<T>
context()
Section titled “context()”context(
request,context?):Promise<AppContext<TSchema,TPluginContext>>
Defined in: packages/core/src/types.ts:161
Builds the per-request context by running each plugin’s setup() in order.
Parameters
Section titled “Parameters”request
Section titled “request”Request
context?
Section titled “context?”unknown
Returns
Section titled “Returns”Promise<AppContext<TSchema, TPluginContext>>
env():
ParsedEnv<TSchema>
Defined in: packages/core/src/types.ts:159
Returns the typed, validated environment.
Returns
Section titled “Returns”ParsedEnv<TSchema>
init()
Section titled “init()”init(
rawEnv):void
Defined in: packages/core/src/types.ts:157
Validates and initializes environment bindings. Call once in the Workers entry point.
Parameters
Section titled “Parameters”rawEnv
Section titled “rawEnv”Record<string, unknown>
Returns
Section titled “Returns”void
loader()
Section titled “loader()”loader<
T>(fn): (args) =>Promise<T>
Defined in: packages/core/src/types.ts:166
Convenience wrapper for React Router loaders that auto-creates the app context.
Type Parameters
Section titled “Type Parameters”T
Parameters
Section titled “Parameters”(ctx, args) => T | Promise<T>
Returns
Section titled “Returns”(
args):Promise<T>
Parameters
Section titled “Parameters”Returns
Section titled “Returns”Promise<T>
use<
TName,TProvides,TClient>(plugin):App<TSchema,TPermissions,TPluginContext&{ [K in string]: TProvides },TClientContext&TClientextendsobject?{ [K in string]: TClient }:unknown>
Defined in: packages/core/src/types.ts:180
Registers a plugin, extending the app’s context type. Throws on duplicate names.
Type Parameters
Section titled “Type Parameters”TName extends string
TProvides
Section titled “TProvides”TProvides
TClient
Section titled “TClient”TClient
Parameters
Section titled “Parameters”plugin
Section titled “plugin”CfastPlugin<TName, TProvides, TPluginContext, TClient>
Returns
Section titled “Returns”App<TSchema, TPermissions, TPluginContext & { [K in string]: TProvides }, TClientContext & TClient extends object ? { [K in string]: TClient } : unknown>