Skip to content

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

NameTypeDescription
dependencies (optional)DepsPlugin dependencies
extension (optional)PluginExtPlugin extension
idIdPlugin unique identifier
name (optional)stringPlugin name
onExtension (optional)OnPluginExtension<MergedExt>Callback for when the plugin is extended with extension option.
setup (optional)PluginFunction<MergedExt>Plugin setup function

onExtension Parameters

NameTypeDescription
ctxReadonly<CommandContext<G>>
cmdReadonly<Command<G>>

onExtension Returns

Awaitable<void>

setup Parameters

NameTypeDescription
ctxReadonly<PluginContext<G>>

setup Returns

Awaitable<void>

Released under the MIT License.