xgbgen: make request function signatures shorter
This commit is contained in:
		@@ -247,9 +247,23 @@ func (r *Request) ParamNames() string {
 | 
			
		||||
 | 
			
		||||
func (r *Request) ParamNameTypes() string {
 | 
			
		||||
	nameTypes := make([]string, 0, len(r.Fields))
 | 
			
		||||
 | 
			
		||||
	chunk := make([]string, 0)
 | 
			
		||||
	chunkType := ""
 | 
			
		||||
	flushChunk := func() {
 | 
			
		||||
		if len(chunk) > 0 {
 | 
			
		||||
			nameTypes = append(nameTypes, chunk[:len(chunk)-1]...)
 | 
			
		||||
			nameTypes = append(nameTypes,
 | 
			
		||||
				fmt.Sprintf("%s %s", chunk[len(chunk)-1], chunkType))
 | 
			
		||||
		}
 | 
			
		||||
		chunk = nil
 | 
			
		||||
		chunkType = ""
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	for _, field := range r.Fields {
 | 
			
		||||
		switch f := field.(type) {
 | 
			
		||||
		case *ValueField:
 | 
			
		||||
			flushChunk()
 | 
			
		||||
			nameTypes = append(nameTypes,
 | 
			
		||||
				fmt.Sprintf("%s %s", f.MaskName, f.MaskType.SrcName()))
 | 
			
		||||
			nameTypes = append(nameTypes,
 | 
			
		||||
@@ -261,9 +275,14 @@ func (r *Request) ParamNameTypes() string {
 | 
			
		||||
		case *RequiredStartAlign:
 | 
			
		||||
			continue
 | 
			
		||||
		default:
 | 
			
		||||
			nameTypes = append(nameTypes,
 | 
			
		||||
				fmt.Sprintf("%s %s", field.SrcName(), field.SrcType()))
 | 
			
		||||
			curType := field.SrcType()
 | 
			
		||||
			if curType != chunkType {
 | 
			
		||||
				flushChunk()
 | 
			
		||||
			}
 | 
			
		||||
			chunk = append(chunk, field.SrcName())
 | 
			
		||||
			chunkType = curType
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	flushChunk()
 | 
			
		||||
	return strings.Join(nameTypes, ", ")
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user