opier/encode/array.go

23 lines
608 B
Go
Raw Normal View History

package encode // import "udico.de/uditaren/opier/encode"
import (
"bytes"
"fmt"
"strings"
"udico.de/opier/openapi"
)
func (e Encoder) Array(name string, schema openapi.Schema) string {
tBuf := bytes.Buffer{}
tBuf.WriteString(fmt.Sprintf("package %v\n\n", e.Package))
tBuf.WriteString(e.GeneratedHeader())
if schema.Description != "" {
tDesc := strings.Split(strings.TrimSpace(schema.Description), "\n")
for _, tLine := range tDesc {
tBuf.WriteString(fmt.Sprintf("// %v\n", tLine))
}
}
tBuf.WriteString(fmt.Sprintf("type %v []%v\n", name, schema.Items.GoType()))
return tBuf.String()
}