prysm-pulse/shared/cmd/wrap_flags.go
Preston Van Loon a279f18461
Change from int64 to int for all flags so they load properly from config file. (#6498)
* Change from int64 to int for monitoring port so that the monitoring port is correctly ready from config file.
* Merge branch 'master' into fix-monitoring-port
* Merge branch 'master' into fix-monitoring-port
* Merge branch 'master' into fix-monitoring-port
* replace all other usages of int64 flag. @nisdas feedback
* Merge branch 'master' of github.com:prysmaticlabs/prysm into fix-monitoring-port
* Merge branch 'master' into fix-monitoring-port
* Merge branch 'master' into fix-monitoring-port
* Merge branch 'master' of github.com:prysmaticlabs/prysm into fix-monitoring-port
* revert tools/sendDepositTx
* fix build
* Merge branch 'master' into fix-monitoring-port
* Merge branch 'master' into fix-monitoring-port
* Merge branch 'master' into fix-monitoring-port
2020-07-08 08:21:06 +00:00

43 lines
1.2 KiB
Go

package cmd
import (
"fmt"
"github.com/urfave/cli/v2"
"github.com/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.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))
case *cli.Int64Flag:
// Int64Flag does not work. See https://github.com/prysmaticlabs/prysm/issues/6478
panic(fmt.Sprintf("unsupported flag type type %T", f))
default:
panic(fmt.Sprintf("cannot convert type %T", f))
}
wrapped = append(wrapped, f)
}
return wrapped
}