manually add FlagsErrRequired field and function to generated flags

This commit is contained in:
Aaron Berns
2019-08-20 08:56:35 -04:00
parent 95f45c1e60
commit a064d9082c
2 changed files with 190 additions and 113 deletions

View File

@@ -88,7 +88,7 @@ type RequiredFlag interface {
type RequiredFlagsErr interface { type RequiredFlagsErr interface {
Flag Flag
IsRequired() bool FlagsErrRequired() bool
} }
// DocGenerationFlag is an interface that allows documentation generation for the flag // DocGenerationFlag is an interface that allows documentation generation for the flag

View File

@@ -16,6 +16,7 @@ type BoolFlag struct {
EnvVar string EnvVar string
FilePath string FilePath string
Required bool Required bool
RequiredFlagsErr bool
Hidden bool Hidden bool
TakesFile bool TakesFile bool
Destination *bool Destination *bool
@@ -37,6 +38,11 @@ func (f BoolFlag) IsRequired() bool {
return f.Required return f.Required
} }
// FlagsErrRequired returns whether or not the flag is required
func (f BoolFlag) FlagsErrRequired() bool {
return f.RequiredFlagsErr
}
// TakesValue returns true of the flag takes a value, otherwise false // TakesValue returns true of the flag takes a value, otherwise false
func (f BoolFlag) TakesValue() bool { func (f BoolFlag) TakesValue() bool {
return false return false
@@ -87,6 +93,7 @@ type BoolTFlag struct {
EnvVar string EnvVar string
FilePath string FilePath string
Required bool Required bool
RequiredFlagsErr bool
Hidden bool Hidden bool
TakesFile bool TakesFile bool
Destination *bool Destination *bool
@@ -108,6 +115,11 @@ func (f BoolTFlag) IsRequired() bool {
return f.Required return f.Required
} }
// FlagsErrRequired returns whether or not the flag is required
func (f BoolTFlag) FlagsErrRequired() bool {
return f.RequiredFlagsErr
}
// TakesValue returns true of the flag takes a value, otherwise false // TakesValue returns true of the flag takes a value, otherwise false
func (f BoolTFlag) TakesValue() bool { func (f BoolTFlag) TakesValue() bool {
return false return false
@@ -158,6 +170,7 @@ type DurationFlag struct {
EnvVar string EnvVar string
FilePath string FilePath string
Required bool Required bool
RequiredFlagsErr bool
Hidden bool Hidden bool
TakesFile bool TakesFile bool
Value time.Duration Value time.Duration
@@ -180,6 +193,11 @@ func (f DurationFlag) IsRequired() bool {
return f.Required return f.Required
} }
// FlagsErrRequired returns whether or not the flag is required
func (f DurationFlag) FlagsErrRequired() bool {
return f.RequiredFlagsErr
}
// TakesValue returns true of the flag takes a value, otherwise false // TakesValue returns true of the flag takes a value, otherwise false
func (f DurationFlag) TakesValue() bool { func (f DurationFlag) TakesValue() bool {
return true return true
@@ -230,6 +248,7 @@ type Float64Flag struct {
EnvVar string EnvVar string
FilePath string FilePath string
Required bool Required bool
RequiredFlagsErr bool
Hidden bool Hidden bool
TakesFile bool TakesFile bool
Value float64 Value float64
@@ -252,6 +271,11 @@ func (f Float64Flag) IsRequired() bool {
return f.Required return f.Required
} }
// FlagsErrRequired returns whether or not the flag is required
func (f Float64Flag) FlagsErrRequired() bool {
return f.RequiredFlagsErr
}
// TakesValue returns true of the flag takes a value, otherwise false // TakesValue returns true of the flag takes a value, otherwise false
func (f Float64Flag) TakesValue() bool { func (f Float64Flag) TakesValue() bool {
return true return true
@@ -302,6 +326,7 @@ type GenericFlag struct {
EnvVar string EnvVar string
FilePath string FilePath string
Required bool Required bool
RequiredFlagsErr bool
Hidden bool Hidden bool
TakesFile bool TakesFile bool
Value Generic Value Generic
@@ -323,6 +348,11 @@ func (f GenericFlag) IsRequired() bool {
return f.Required return f.Required
} }
// FlagsErrRequired returns whether or not the flag is required
func (f GenericFlag) FlagsErrRequired() bool {
return f.RequiredFlagsErr
}
// TakesValue returns true of the flag takes a value, otherwise false // TakesValue returns true of the flag takes a value, otherwise false
func (f GenericFlag) TakesValue() bool { func (f GenericFlag) TakesValue() bool {
return true return true
@@ -376,6 +406,7 @@ type Int64Flag struct {
EnvVar string EnvVar string
FilePath string FilePath string
Required bool Required bool
RequiredFlagsErr bool
Hidden bool Hidden bool
TakesFile bool TakesFile bool
Value int64 Value int64
@@ -398,6 +429,11 @@ func (f Int64Flag) IsRequired() bool {
return f.Required return f.Required
} }
// FlagsErrRequired returns whether or not the flag is required
func (f Int64Flag) FlagsErrRequired() bool {
return f.RequiredFlagsErr
}
// TakesValue returns true of the flag takes a value, otherwise false // TakesValue returns true of the flag takes a value, otherwise false
func (f Int64Flag) TakesValue() bool { func (f Int64Flag) TakesValue() bool {
return true return true
@@ -448,6 +484,7 @@ type IntFlag struct {
EnvVar string EnvVar string
FilePath string FilePath string
Required bool Required bool
RequiredFlagsErr bool
Hidden bool Hidden bool
TakesFile bool TakesFile bool
Value int Value int
@@ -470,6 +507,11 @@ func (f IntFlag) IsRequired() bool {
return f.Required return f.Required
} }
// FlagsErrRequired returns whether or not the flag is required
func (f IntFlag) FlagsErrRequired() bool {
return f.RequiredFlagsErr
}
// TakesValue returns true of the flag takes a value, otherwise false // TakesValue returns true of the flag takes a value, otherwise false
func (f IntFlag) TakesValue() bool { func (f IntFlag) TakesValue() bool {
return true return true
@@ -520,6 +562,7 @@ type IntSliceFlag struct {
EnvVar string EnvVar string
FilePath string FilePath string
Required bool Required bool
RequiredFlagsErr bool
Hidden bool Hidden bool
TakesFile bool TakesFile bool
Value *IntSlice Value *IntSlice
@@ -541,6 +584,11 @@ func (f IntSliceFlag) IsRequired() bool {
return f.Required return f.Required
} }
// FlagsErrRequired returns whether or not the flag is required
func (f IntSliceFlag) FlagsErrRequired() bool {
return f.RequiredFlagsErr
}
// TakesValue returns true of the flag takes a value, otherwise false // TakesValue returns true of the flag takes a value, otherwise false
func (f IntSliceFlag) TakesValue() bool { func (f IntSliceFlag) TakesValue() bool {
return true return true
@@ -594,6 +642,7 @@ type Int64SliceFlag struct {
EnvVar string EnvVar string
FilePath string FilePath string
Required bool Required bool
RequiredFlagsErr bool
Hidden bool Hidden bool
TakesFile bool TakesFile bool
Value *Int64Slice Value *Int64Slice
@@ -615,6 +664,11 @@ func (f Int64SliceFlag) IsRequired() bool {
return f.Required return f.Required
} }
// FlagsErrRequired returns whether or not the flag is required
func (f Int64SliceFlag) FlagsErrRequired() bool {
return f.RequiredFlagsErr
}
// TakesValue returns true of the flag takes a value, otherwise false // TakesValue returns true of the flag takes a value, otherwise false
func (f Int64SliceFlag) TakesValue() bool { func (f Int64SliceFlag) TakesValue() bool {
return true return true
@@ -668,6 +722,7 @@ type StringFlag struct {
EnvVar string EnvVar string
FilePath string FilePath string
Required bool Required bool
RequiredFlagsErr bool
Hidden bool Hidden bool
TakesFile bool TakesFile bool
Value string Value string
@@ -690,6 +745,11 @@ func (f StringFlag) IsRequired() bool {
return f.Required return f.Required
} }
// FlagsErrRequired returns whether or not the flag is required
func (f StringFlag) FlagsErrRequired() bool {
return f.RequiredFlagsErr
}
// TakesValue returns true of the flag takes a value, otherwise false // TakesValue returns true of the flag takes a value, otherwise false
func (f StringFlag) TakesValue() bool { func (f StringFlag) TakesValue() bool {
return true return true
@@ -740,6 +800,7 @@ type StringSliceFlag struct {
EnvVar string EnvVar string
FilePath string FilePath string
Required bool Required bool
RequiredFlagsErr bool
Hidden bool Hidden bool
TakesFile bool TakesFile bool
Value *StringSlice Value *StringSlice
@@ -761,6 +822,11 @@ func (f StringSliceFlag) IsRequired() bool {
return f.Required return f.Required
} }
// FlagsErrRequired returns whether or not the flag is required
func (f StringSliceFlag) FlagsErrRequired() bool {
return f.RequiredFlagsErr
}
// TakesValue returns true of the flag takes a value, otherwise false // TakesValue returns true of the flag takes a value, otherwise false
func (f StringSliceFlag) TakesValue() bool { func (f StringSliceFlag) TakesValue() bool {
return true return true
@@ -814,6 +880,7 @@ type Uint64Flag struct {
EnvVar string EnvVar string
FilePath string FilePath string
Required bool Required bool
RequiredFlagsErr bool
Hidden bool Hidden bool
TakesFile bool TakesFile bool
Value uint64 Value uint64
@@ -836,6 +903,11 @@ func (f Uint64Flag) IsRequired() bool {
return f.Required return f.Required
} }
// FlagsErrRequired returns whether or not the flag is required
func (f Uint64Flag) FlagsErrRequired() bool {
return f.RequiredFlagsErr
}
// TakesValue returns true of the flag takes a value, otherwise false // TakesValue returns true of the flag takes a value, otherwise false
func (f Uint64Flag) TakesValue() bool { func (f Uint64Flag) TakesValue() bool {
return true return true
@@ -886,6 +958,7 @@ type UintFlag struct {
EnvVar string EnvVar string
FilePath string FilePath string
Required bool Required bool
RequiredFlagsErr bool
Hidden bool Hidden bool
TakesFile bool TakesFile bool
Value uint Value uint
@@ -908,6 +981,11 @@ func (f UintFlag) IsRequired() bool {
return f.Required return f.Required
} }
// FlagsErrRequired returns whether or not the flag is required
func (f UintFlag) FlagsErrRequired() bool {
return f.RequiredFlagsErr
}
// TakesValue returns true of the flag takes a value, otherwise false // TakesValue returns true of the flag takes a value, otherwise false
func (f UintFlag) TakesValue() bool { func (f UintFlag) TakesValue() bool {
return true return true
@@ -950,4 +1028,3 @@ func lookupUint(name string, set *flag.FlagSet) uint {
} }
return 0 return 0
} }