Documentation ¶
Overview ¶
autoconfig provides a way to create various instances from the config.Config like project.Project, command.Session, zap.Logger.
For example, to instantiate project.Project, you can write:
autoconfig.Invoke(func(p *project.Project) error { ... })
Treat it as a dependency injection mechanism.
autoconfig relies on viper.Viper which has a set of limitations. The most important one is the fact that it does not support hierarchical configuration per folder. We might consider switchig from viper.Viper to something else in the future.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Invoke ¶
func Invoke(function interface{}, opts ...dig.InvokeOption) error
Invoke is used to invoke the function with the given dependencies. The package will automatically figure out how to instantiate them using the available configuration.
Types ¶
type UserConfigDir ¶ added in v3.2.5
type UserConfigDir string
Click to show internal directories.
Click to hide internal directories.