Interface: PluginOptions<DepExt, Id, Deps, Ext, ResolvedDepExt, PluginExt, MergedExt>
Plugin definition options
Since
v0.27.0
Signature
ts
export interface PluginOptions<
DepExt extends ExtendContext = DefaultGunshiParams['extensions'], // for plugin dependency extensions
Id extends string = string, // for plugin id
Deps extends ReadonlyArray<PluginDependency | string> = (PluginDependency | string)[], // for plugin dependencies
Ext extends Record<string, unknown> = {}, // for plugin extension type
ResolvedDepExt extends GunshiParams = DependencyParams<Deps, DepExt>,
PluginExt extends PluginExtension<Ext, ResolvedDepExt> = PluginExtension<Ext, ResolvedDepExt>,
MergedExt extends GunshiParams = MergedPluginParams<
Id,
Deps,
DepExt,
Awaited<ReturnType<PluginExt>>
>
>Type Parameters
| Name |
|---|
DepExt extends ExtendContext = DefaultGunshiParams['extensions'] |
Id extends string = string |
Deps extends ReadonlyArray<PluginDependency | string> = (PluginDependency | string)[] |
Ext extends Record<string, unknown> = {} |
ResolvedDepExt extends GunshiParams = DependencyParams<Deps, DepExt> |
PluginExt extends PluginExtension<Ext, ResolvedDepExt> = PluginExtension<Ext, ResolvedDepExt> |
MergedExt extends GunshiParams = MergedPluginParams<Id, Deps, DepExt, Awaited<ReturnType<PluginExt>>> |
Properties
| Name | Type | Description |
|---|---|---|
dependencies (optional) | Deps | Plugin dependencies |
extension (optional) | PluginExt | Plugin extension |
id | Id | Plugin unique identifier |
name (optional) | string | Plugin name |
onExtension (optional) | OnPluginExtension<MergedExt> | Callback for when the plugin is extended with extension option. |
setup (optional) | PluginFunction<MergedExt> | Plugin setup function |
onExtension Parameters
| Name | Type | Description |
|---|---|---|
ctx | Readonly<CommandContext<G>> | |
cmd | Readonly<Command<G>> |
onExtension Returns
Awaitable<void>
setup Parameters
| Name | Type | Description |
|---|---|---|
ctx | Readonly<PluginContext<G>> |
setup Returns
Awaitable<void>
