Skip to content

CfastPlugin

CfastPlugin<TName, TProvides, TRequires, TClient> = object

Defined in: packages/core/src/types.ts:47

A cfast plugin definition created by definePlugin.

Plugins provide server-side context values via setup(), optional client-side React providers, and optional client-side values accessible via useApp().

TName extends string = string

The unique plugin name, used as the namespace key in AppContext.

TProvides = unknown

The type returned by setup(), accessible as ctx[name].

TRequires = unknown

The context shape this plugin depends on from prior plugins.

TClient = unknown

Client-side values exposed via useApp().

optional client: TClient

Defined in: packages/core/src/types.ts:62

Optional client-side values exposed via useApp().


name: TName

Defined in: packages/core/src/types.ts:54

Unique identifier used as the namespace key in the app context.


optional Provider: ComponentType<{ children: ReactNode; }>

Defined in: packages/core/src/types.ts:60

Optional client-side React provider, composed into app.Provider.


setup: (ctx) => TProvides | Promise<TProvides>

Defined in: packages/core/src/types.ts:56

Called per-request to produce the values this plugin provides.

PluginSetupContext<TRequires>

TProvides | Promise<TProvides>