mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2025-01-04 00:44:27 +00:00
42 lines
1.1 KiB
Go
42 lines
1.1 KiB
Go
package cmd
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"gopkg.in/urfave/cli.v2"
|
|
"gopkg.in/urfave/cli.v2/altsrc"
|
|
)
|
|
|
|
// WrapFlags so that they can be loaded from alternative sources.
|
|
func WrapFlags(flags []cli.Flag) []cli.Flag {
|
|
wrapped := make([]cli.Flag, 0, len(flags))
|
|
for _, f := range flags {
|
|
switch f.(type) {
|
|
case *cli.BoolFlag:
|
|
f = altsrc.NewBoolFlag(f.(*cli.BoolFlag))
|
|
case *cli.DurationFlag:
|
|
f = altsrc.NewDurationFlag(f.(*cli.DurationFlag))
|
|
case *cli.GenericFlag:
|
|
f = altsrc.NewGenericFlag(f.(*cli.GenericFlag))
|
|
case *cli.Float64Flag:
|
|
f = altsrc.NewFloat64Flag(f.(*cli.Float64Flag))
|
|
case *cli.IntFlag:
|
|
f = altsrc.NewIntFlag(f.(*cli.IntFlag))
|
|
case *cli.Int64Flag:
|
|
f = altsrc.NewInt64Flag(f.(*cli.Int64Flag))
|
|
case *cli.StringFlag:
|
|
f = altsrc.NewStringFlag(f.(*cli.StringFlag))
|
|
case *cli.StringSliceFlag:
|
|
f = altsrc.NewStringSliceFlag(f.(*cli.StringSliceFlag))
|
|
case *cli.Uint64Flag:
|
|
f = altsrc.NewUint64Flag(f.(*cli.Uint64Flag))
|
|
case *cli.UintFlag:
|
|
f = altsrc.NewUintFlag(f.(*cli.UintFlag))
|
|
default:
|
|
panic(fmt.Sprintf("cannot convert type %T", f))
|
|
}
|
|
wrapped = append(wrapped, f)
|
|
}
|
|
return wrapped
|
|
}
|