mirror of
https://github.com/aykhans/dodo.git
synced 2025-09-05 18:44:21 +00:00
add env parser
This commit is contained in:
@@ -4,16 +4,27 @@ import (
|
||||
"fmt"
|
||||
"os"
|
||||
|
||||
"github.com/aykhans/dodo/pkg/config"
|
||||
"github.com/aykhans/dodo/pkg/config/parser"
|
||||
"github.com/aykhans/dodo/pkg/types"
|
||||
"github.com/aykhans/dodo/pkg/utils"
|
||||
"github.com/jedib0t/go-pretty/v6/text"
|
||||
"github.com/k0kubun/pp/v3"
|
||||
)
|
||||
|
||||
func main() {
|
||||
cliParser := config.NewConfigCLIParser(os.Args)
|
||||
cfg, err := cliParser.Parse()
|
||||
envParser := parser.NewConfigENVParser("DODO")
|
||||
envConfig, err := envParser.Parse()
|
||||
_ = utils.HandleErrorOrDie(err,
|
||||
utils.OnCustomError(func(err types.FieldParseErrors) error {
|
||||
printValidationErrors("ENV", err.Errors...)
|
||||
fmt.Println()
|
||||
os.Exit(1)
|
||||
return nil
|
||||
}),
|
||||
)
|
||||
|
||||
cliParser := parser.NewConfigCLIParser(os.Args)
|
||||
cliConf, err := cliParser.Parse()
|
||||
_ = utils.HandleErrorOrDie(err,
|
||||
utils.OnSentinelError(types.ErrCLINoArgs, func(err error) error {
|
||||
cliParser.PrintHelp()
|
||||
@@ -35,7 +46,9 @@ func main() {
|
||||
}),
|
||||
)
|
||||
|
||||
fmt.Println(cfg)
|
||||
envConfig.Merge(cliConf)
|
||||
pp.Println(cliConf) //nolint
|
||||
pp.Println(envConfig) //nolint
|
||||
}
|
||||
|
||||
func printValidationErrors(parserName string, errors ...types.FieldParseError) {
|
||||
|
Reference in New Issue
Block a user