Documentation
¶
Index ¶
- Constants
- Variables
- func ApplicationContext(ctx context.Context) gioc.IProvider
- func ApplicationModuleFor(config ApplicationConfig) *gioc.Module
- func DeriveConfig[T any, R any](originToken, targetToken gioc.Token, provider func(T) (R, error)) gioc.IProvider
- func InjectFromBase(tokens ...gioc.Token) []gioc.Token
- func Logger(config author.Config) gioc.IProvider
- func LoggerModule() *gioc.Module
- func RegisterConfigModule[T any](params ConfigModuleParams[T]) *gioc.Module
- type ApplicationConfig
- type ApplicationService
- type BaseConfigurableService
- type BaseService
- type ConfigModuleParams
- type ConfigProviders
- type EnvEntry
- type LoggerModuleConfig
- type ShutDownHook
Constants ¶
View Source
const ( ApplicationContextServiceToken = "ApplicationService" ApplicationContextToken = "ApplicationContext" )
View Source
const LoggerConfigToken gioc.Token = "LoggerConfig"
View Source
const LoggerToken = "Logger"
Variables ¶
View Source
var BaseServiceInjections = []gioc.Token{ ApplicationContextServiceToken, LoggerToken, }
Functions ¶
func ApplicationModuleFor ¶
func ApplicationModuleFor(config ApplicationConfig) *gioc.Module
func DeriveConfig ¶
func LoggerModule ¶
func RegisterConfigModule ¶
func RegisterConfigModule[T any](params ConfigModuleParams[T]) *gioc.Module
Types ¶
type ApplicationConfig ¶
type ApplicationService ¶
type ApplicationService struct {
// contains filtered or unexported fields
}
func (*ApplicationService) AddHook ¶
func (service *ApplicationService) AddHook(hook ShutDownHook)
func (*ApplicationService) Await ¶
func (service *ApplicationService) Await()
func (*ApplicationService) DeriveContext ¶
func (service *ApplicationService) DeriveContext() (context.Context, context.CancelFunc)
func (*ApplicationService) Shutdown ¶
func (service *ApplicationService) Shutdown()
type BaseConfigurableService ¶
type BaseConfigurableService[T any] struct { BaseService Config T }
func (*BaseConfigurableService[T]) Bootstrap ¶
func (service *BaseConfigurableService[T]) Bootstrap(impl gioc.Token, config gioc.Token, injections gioc.Injections)
type BaseService ¶
type BaseService struct {
Ctx context.Context
Stop context.CancelFunc
ApplicationService *ApplicationService
Logger *author.Logger
}
func (*BaseService) Bootstrap ¶
func (service *BaseService) Bootstrap(impl gioc.Token, injections gioc.Injections)
type ConfigModuleParams ¶
type ConfigModuleParams[T any] struct { AppConfigToken gioc.Token LoadEnvs []EnvEntry Providers []ConfigProviders[T] }
type ConfigProviders ¶
type LoggerModuleConfig ¶
type ShutDownHook ¶
type ShutDownHook func()
Source Files
¶
Click to show internal directories.
Click to hide internal directories.