@@ -379,27 +379,30 @@ func genQueryDecoderFunc(gctx *genContext, paramType types.Type) (name string, e
379379 w .L ("out.%s = new(%s)" , field .Name (), fieldType )
380380 strctRef = "*" + strctRef
381381 }
382- w .Import ("fmt" )
383382 switch fieldType .String () {
384383 case "time.Duration" :
385384 gctx .Import ("time" )
385+ w .Import ("fmt" )
386386 w .L ("if %s.%s, err = time.ParseDuration(q[len(q)-1]); err != nil {" , strctRef , field .Name ())
387387 w .L (` return fmt.Errorf("failed to decode query parameter \"%s\" as %s: %%w", err)` , fieldName , fieldType )
388388 w .L ("}" )
389389 case "bool" :
390390 gctx .Import ("strconv" )
391+ w .Import ("fmt" )
391392 w .L ("if %s.%s, err = strconv.ParseBool(q[len(q)-1]); err != nil {" , strctRef , field .Name ())
392393 w .L (` return fmt.Errorf("failed to decode query parameter \"%s\" as %s: %%w", err)` , fieldName , fieldType )
393394 w .L ("}" )
394395 case "int" :
395396 gctx .Import ("strconv" )
397+ w .Import ("fmt" )
396398 w .L ("if %s.%s, err = strconv.Atoi(q[len(q)-1]); err != nil {" , strctRef , field .Name ())
397399 w .L (` return fmt.Errorf("failed to decode query parameter \"%s\" as %s: %%w", err)` , fieldName , fieldType )
398400 w .L ("}" )
399401 case "string" :
400402 w .L ("%s.%s = q[len(q)-1]" , strctRef , field .Name ())
401403 default :
402404 if implements (field , textUnmarshalerInterface ()) {
405+ w .Import ("fmt" )
403406 w .L ("if err = %s.%s.UnmarshalText([]byte(q[len(q)-1])); err != nil {" , strctRef , field .Name ())
404407 w .L (` return fmt.Errorf("failed to decode query parameter \"%s\" as %s: %%w", err)` , fieldName , fieldType )
405408 w .L ("}" )
0 commit comments