mirror of
https://github.com/bitmagnet-io/bitmagnet.git
synced 2026-07-29 07:23:38 -04:00
45 lines
897 B
Go
45 lines
897 B
Go
package plugin
|
|
|
|
import (
|
|
config_registry "github.com/bitmagnet-io/bitmagnet/internal/config/registry"
|
|
"github.com/bitmagnet-io/bitmagnet/internal/plugin/app"
|
|
"github.com/bitmagnet-io/bitmagnet/internal/plugin/cmd"
|
|
"github.com/bitmagnet-io/bitmagnet/internal/ref"
|
|
"github.com/bitmagnet-io/bitmagnet/pkg/i18n"
|
|
"go.uber.org/fx"
|
|
)
|
|
|
|
type ConfigProvider interface {
|
|
ConfigParams() []config_registry.Param
|
|
}
|
|
|
|
type ErrorProvider interface {
|
|
Errors() ref.Map[error]
|
|
}
|
|
|
|
type I18nProvider interface {
|
|
I18nMessages() []*i18n.Message
|
|
}
|
|
|
|
type Command func(app.Builder) cmd.Command
|
|
|
|
type CommandProvider interface {
|
|
Commands() []Command
|
|
}
|
|
|
|
type FXOptionProvider interface {
|
|
FXOption() fx.Option
|
|
}
|
|
|
|
type Plugin interface {
|
|
Ref() ref.Ref
|
|
ActivationRef() ref.Nullable
|
|
Dependencies() []ref.Ref
|
|
ConfigProvider
|
|
ErrorProvider
|
|
I18nProvider
|
|
LocalizedContentProvider
|
|
CommandProvider
|
|
FXOptionProvider
|
|
}
|