backwards compatible RequiredFlag implementation

This commit is contained in:
Lynn Cyrin
2019-07-11 21:53:10 -07:00
parent 922d231891
commit 6a2ae78373
2 changed files with 14 additions and 5 deletions

View File

@@ -72,10 +72,17 @@ type Flag interface {
fmt.Stringer
// Apply Flag settings to the given flag set
Apply(*flag.FlagSet)
IsRequired() bool
GetName() string
}
// RequiredFlag is an interface that allows us to return mark flags as required
// it allows flags defined in this library to be marked as required in a backwards compatible fashion
type RequiredFlag interface {
Flag
IsRequired() bool
}
// errorableFlag is an interface that allows us to return errors during apply
// it allows flags defined in this library to return errors in a fashion backwards compatible
// TODO remove in v2 and modify the existing Flag interface to return errors