@@ -15,23 +15,27 @@ type FlagsStringSliceOptions struct {
1515 Max int
1616}
1717
18- type flagHelper struct {
18+ type Flags struct {
1919 cmd * cobra.Command
2020}
2121
22- func newFlagHelper (cmd * cobra.Command ) * flagHelper {
23- return & flagHelper {cmd : cmd }
22+ func newFlags (cmd * cobra.Command ) * Flags {
23+ return & Flags {cmd : cmd }
2424}
2525
26- func (f flagHelper ) GetRequiredString (flag string ) string {
27- v := f .cmd .Flag (flag ).Value .String ()
26+ func (f Flags ) GetRequiredString (flag string ) string {
27+ p := f .cmd .Flag (flag )
28+ if p == nil {
29+ ExitWithError ("Flag '--" + flag + "' is not registered" , nil )
30+ }
31+ v := p .Value .String ()
2832 if v == "" {
2933 ExitWithError ("Flag '--" + flag + "' is required" , nil )
3034 }
3135 return v
3236}
3337
34- func (f flagHelper ) GetRequiredID (idFlag string ) string {
38+ func (f Flags ) GetRequiredID (idFlag string ) string {
3539 v := f .GetRequiredString (idFlag )
3640 id , err := uuid .Parse (v )
3741 if err != nil {
@@ -40,7 +44,7 @@ func (f flagHelper) GetRequiredID(idFlag string) string {
4044 return id .String ()
4145}
4246
43- func (f flagHelper ) GetOptionalID (idFlag string ) string {
47+ func (f Flags ) GetOptionalID (idFlag string ) string {
4448 p := f .GetOptionalString (idFlag )
4549 if p == "" {
4650 return ""
@@ -52,15 +56,15 @@ func (f flagHelper) GetOptionalID(idFlag string) string {
5256 return id .String ()
5357}
5458
55- func (f flagHelper ) GetOptionalString (flag string ) string {
59+ func (f Flags ) GetOptionalString (flag string ) string {
5660 p := f .cmd .Flag (flag )
5761 if p == nil {
5862 return ""
5963 }
6064 return p .Value .String ()
6165}
6266
63- func (f flagHelper ) GetStringSlice (flag string , v []string , opts FlagsStringSliceOptions ) []string {
67+ func (f Flags ) GetStringSlice (flag string , v []string , opts FlagsStringSliceOptions ) []string {
6468 if len (v ) < opts .Min {
6569 ExitWithError (fmt .Sprintf ("Flag '--%s' must have at least %d non-empty values" , flag , opts .Min ), nil )
6670 }
@@ -70,7 +74,7 @@ func (f flagHelper) GetStringSlice(flag string, v []string, opts FlagsStringSlic
7074 return v
7175}
7276
73- func (f flagHelper ) GetRequiredInt32 (flag string ) int32 {
77+ func (f Flags ) GetRequiredInt32 (flag string ) int32 {
7478 v , e := f .cmd .Flags ().GetInt32 (flag )
7579 if e != nil {
7680 ExitWithError ("Flag '--" + flag + "' is required" , nil )
@@ -82,26 +86,26 @@ func (f flagHelper) GetRequiredInt32(flag string) int32 {
8286 return v
8387}
8488
85- func (f flagHelper ) GetOptionalInt32 (flag string ) int32 {
89+ func (f Flags ) GetOptionalInt32 (flag string ) int32 {
8690 v , _ := f .cmd .Flags ().GetInt32 (flag )
8791 return v
8892}
8993
90- func (f flagHelper ) GetOptionalBool (flag string ) bool {
94+ func (f Flags ) GetOptionalBool (flag string ) bool {
9195 v , _ := f .cmd .Flags ().GetBool (flag )
9296 return v
9397}
9498
9599// Returns nil when the flag is not explicitly set.
96- func (f flagHelper ) GetOptionalBoolWrapper (flag string ) * wrapperspb.BoolValue {
100+ func (f Flags ) GetOptionalBoolWrapper (flag string ) * wrapperspb.BoolValue {
97101 if ! f .cmd .Flags ().Changed (flag ) {
98102 return nil
99103 }
100104 v , _ := f .cmd .Flags ().GetBool (flag )
101105 return wrapperspb .Bool (v )
102106}
103107
104- func (f flagHelper ) GetRequiredBool (flag string ) bool {
108+ func (f Flags ) GetRequiredBool (flag string ) bool {
105109 v , e := f .cmd .Flags ().GetBool (flag )
106110 if e != nil {
107111 ExitWithError ("Flag '--" + flag + "' is required" , nil )
@@ -124,18 +128,6 @@ func GetState(cmd *cobra.Command) common.ActiveStateEnum {
124128 return state
125129}
126130
127- // func (f flagHelper) GetStructSlice(flag string, v []StructFlag[T], opts flagHelperStringSliceOptions) ([]StructFlag[T], err) {
128- // if len(v) < opts.Min {
129- // fmt.Println(ErrorMessage(fmt.Sprintf("Flag %s must have at least %d non-empty values", flag, opts.Min), nil))
130- // os.Exit(1)
131- // }
132- // if opts.Max > 0 && len(v) > opts.Max {
133- // fmt.Println(ErrorMessage(fmt.Sprintf("Flag %s must have at most %d non-empty values", flag, opts.Max), nil))
134- // os.Exit(1)
135- // }
136- // return v
137- // }
138-
139131// type StructFlag[T any] struct {
140132// Val T
141133// }
0 commit comments