feat: gitea client
This commit is contained in:
35
vendor/github.com/alecthomas/kong-yaml/mapper.go
generated
vendored
Normal file
35
vendor/github.com/alecthomas/kong-yaml/mapper.go
generated
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
package kongyaml
|
||||
|
||||
import (
|
||||
"os"
|
||||
"reflect"
|
||||
|
||||
"github.com/alecthomas/kong"
|
||||
"gopkg.in/yaml.v3"
|
||||
)
|
||||
|
||||
// YAMLFileMapper implements kong.MapperValue to decode a YAML file into
|
||||
// a struct field.
|
||||
//
|
||||
// var cli struct {
|
||||
// Profile Profile `type:"yamlfile"`
|
||||
// }
|
||||
//
|
||||
// func main() {
|
||||
// kong.Parse(&cli, kong.NamedMapper("yamlfile", YAMLFileMapper))
|
||||
// }
|
||||
var YAMLFileMapper = kong.MapperFunc(decodeYAMLFile) //nolint: gochecknoglobals
|
||||
|
||||
func decodeYAMLFile(ctx *kong.DecodeContext, target reflect.Value) error {
|
||||
var fname string
|
||||
if err := ctx.Scan.PopValueInto("filename", &fname); err != nil {
|
||||
return err
|
||||
}
|
||||
f, err := os.Open(fname) //nolint:gosec
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer f.Close() //nolint
|
||||
|
||||
return yaml.NewDecoder(f).Decode(target.Addr().Interface())
|
||||
}
|
||||
Reference in New Issue
Block a user