github.com/go-swagger/go-swagger@v0.31.0/generator/templates/cli/retrieveflag.gotmpl (about)

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