Function: plugin()
Define a plugin
Param
Since
v0.27.0
Call Signature
ts
function plugin<E, I, P>(options): PluginWithExtension<Awaited<ReturnType<P>>>;Define a plugin with extension capabilities and typed dependency extensions
Type Parameters
| Type Parameter |
|---|
E extends ExtendContext |
I extends string |
P extends PluginExtension<any, DefaultGunshiParams> |
Parameters
| Parameter | Type | Description |
|---|---|---|
options | { dependencies?: (string | PluginDependency)[]; extension: P; id: I; name?: string; onExtension?: OnPluginExtension<{ args: Args; extensions: { [K in string]: Awaited<ReturnType<P>> } & E; }>; setup?: (ctx) => Awaitable<void>; } | plugin options |
options.dependencies? | (string | PluginDependency)[] | - |
options.extension | P | - |
options.id | I | - |
options.name? | string | - |
options.onExtension? | OnPluginExtension<{ args: Args; extensions: { [K in string]: Awaited<ReturnType<P>> } & E; }> | - |
options.setup? | (ctx) => Awaitable<void> | - |
Returns
PluginWithExtension<Awaited<ReturnType<P>>>
A defined plugin with extension capabilities.
Since
v0.27.0
Call Signature
ts
function plugin<I, P>(options): PluginWithExtension<Awaited<ReturnType<P>>>;Define a plugin with extension capabilities
Type Parameters
| Type Parameter |
|---|
I extends string |
P extends PluginExtension<any, DefaultGunshiParams> |
Parameters
| Parameter | Type | Description |
|---|---|---|
options | { dependencies?: (string | PluginDependency)[]; extension: P; id: I; name?: string; onExtension?: OnPluginExtension<{ args: Args; extensions: { [K in string]: Awaited<ReturnType<P>> }; }>; setup?: (ctx) => Awaitable<void>; } | plugin options |
options.dependencies? | (string | PluginDependency)[] | - |
options.extension | P | - |
options.id | I | - |
options.name? | string | - |
options.onExtension? | OnPluginExtension<{ args: Args; extensions: { [K in string]: Awaited<ReturnType<P>> }; }> | - |
options.setup? | (ctx) => Awaitable<void> | - |
Returns
PluginWithExtension<Awaited<ReturnType<P>>>
A defined plugin with extension capabilities.
Since
v0.27.0
Call Signature
ts
function plugin<E>(options): PluginWithoutExtension<{
}>;Define a plugin without extension capabilities but with typed dependency extensions
Type Parameters
| Type Parameter |
|---|
E extends ExtendContext |
Parameters
| Parameter | Type | Description |
|---|---|---|
options | { dependencies?: (string | PluginDependency)[]; id: string; name?: string; onExtension?: OnPluginExtension<GunshiParams<{ args: Args; extensions: E; }>>; setup?: (ctx) => Awaitable<void>; } | plugin options without extension |
options.dependencies? | (string | PluginDependency)[] | - |
options.id | string | - |
options.name? | string | - |
options.onExtension? | OnPluginExtension<GunshiParams<{ args: Args; extensions: E; }>> | - |
options.setup? | (ctx) => Awaitable<void> | - |
Returns
PluginWithoutExtension<{ }>
A defined plugin without extension capabilities.
Since
v0.27.0
Call Signature
ts
function plugin(options): PluginWithoutExtension<{
}>;Define a plugin without extension capabilities
Parameters
| Parameter | Type | Description |
|---|---|---|
options | { dependencies?: (string | PluginDependency)[]; id: string; name?: string; onExtension?: OnPluginExtension<DefaultGunshiParams>; setup?: (ctx) => Awaitable<void>; } | plugin options without extension |
options.dependencies? | (string | PluginDependency)[] | - |
options.id | string | - |
options.name? | string | - |
options.onExtension? | OnPluginExtension<DefaultGunshiParams> | - |
options.setup? | (ctx) => Awaitable<void> | - |
Returns
PluginWithoutExtension<{ }>
A defined plugin without extension capabilities.
Since
v0.27.0
