github.com/thetreep/go-swagger@v0.0.0-20240223100711-35af64f14f01/generator/templates/cli/retrieveflag.gotmpl (about)

     1  {{/*util functions to retrieve flags*/}}
     2  
     3  {{ define "primitiveretriever" }}
     4      {{- $flagValueVar := printf "%vFlagValue" (camelize .Name) }}
     5      {{- $flagNameVar := printf "%vFlagName" (camelize .Name )}}
     6      {{- if or (eq .GoType "int64") (eq .GoType "int32") (eq .GoType "string") (eq .GoType "float64") (eq .GoType "float32") (eq .GoType "bool") }}
     7          {{ template "flagnamevar" . }}
     8          {{ $flagValueVar }}, err := cmd.Flags().Get{{pascalize .GoType}}({{ $flagNameVar }})
     9          if err != nil{
    10              return err, false
    11          }
    12          {{- /* reciever by convention is m for CLI */}}
    13          m.{{ pascalize .Name }} = {{- if .IsNullable }}&{{- end }}{{ $flagValueVar }}
    14      {{- else if or (eq .GoType "strfmt.DateTime") (eq .GoType "strfmt.ObjectId") (eq .GoType "strfmt.UUID" ) }} {{/*Get flag value as string, then parse it*/}}
    15          {{/*Many of the strfmt types can be added here*/}}
    16          {{ template "flagnamevar" . }}
    17          {{ $flagValueVar }}Str, err := cmd.Flags().GetString({{ $flagNameVar }})
    18          if err != nil{
    19              return err, false
    20          }
    21          var {{ $flagValueVar }} {{ .GoType }}
    22  		if err := {{ $flagValueVar }}.UnmarshalText([]byte({{ $flagValueVar }}Str)); err != nil{
    23              return err, false
    24          }
    25          m.{{ pascalize .Name }} = {{- if .IsNullable }}&{{- end }}{{ $flagValueVar }}
    26      {{- else }}
    27          // warning: primitive {{.Name}} {{.GoType }} is not supported by go-swagger cli yet
    28      {{- end }}
    29  {{ end }}
    30  
    31  {{ define "arrayretriever" }}
    32      {{- $flagValueVar := printf "%vFlagValues" (camelize .Name) }}
    33      {{- $flagNameVar := printf "%vFlagName" (camelize .Name )}}
    34      {{- if or (eq .GoType "[]int64") (eq .GoType "[]int32") (eq .GoType "[]string") (eq .GoType "[]float64") (eq .GoType "[]float32") (eq .GoType "[]bool") }}
    35          {{ template "flagnamevar" . }}
    36          {{ $flagValueVar }}, err := cmd.Flags().Get{{pascalize .GoType}}Slice({{ $flagNameVar }})
    37          if err != nil{
    38              return err, false
    39          }
    40          {{- /* reciever by convention is m for CLI */}}
    41          m.{{ pascalize .Name }} = {{ $flagValueVar }}
    42      {{- else if or (eq .GoType "[]strfmt.DateTime") (eq .GoType "[]strfmt.ObjectId") (eq .GoType "[]strfmt.UUID") }} {{/*Get flag value as string, then parse it*/}}
    43          {{ template "flagnamevar" . }}
    44          {{ $flagValueVar }}Str, err := cmd.Flags().GetStringSlice({{ $flagNameVar }})
    45          if err != nil{
    46              return err, false
    47          }
    48  
    49          {{ $flagValueVar }} := make({{ .GoType }}, len({{ $flagValueVar }}Str))
    50          for i, v := range {{ $flagValueVar }}Str {
    51              if err := {{ $flagValueVar }}[i].UnmarshalText([]byte(v)); err != nil{
    52                  return err, false
    53              }
    54          }
    55          m.{{ pascalize .Name }} = {{- if .IsNullable }}&{{- end }}{{ $flagValueVar }}
    56      {{- else }}
    57          // warning: array {{.Name}} {{.GoType }} is not supported by go-swagger cli yet
    58      {{- end }}
    59  {{ end }}