package main import ( "os" "strings" ) const head = `// Code generated by codegen/getopenapiof. DO NOT EDIT. package nano import ( "github.com/pkg/errors" ) ` const template = ` func (bot *Bot) getOpenAPIof[T any](ep string) (*[T any], error) { resp := &struct { CodeMessageBase [T any] }{} err := bot.GetOpenAPI(ep, "", resp) if err != nil { err = errors.Wrap(err, getCallerFuncName()) } return &resp.[T any], err } ` func main() { f, err := os.Create("openapi_codegen_getopenapiof.go") if err != nil { panic(err) } defer f.Close() _, err = f.WriteString(head) if err != nil { panic(err) } for _, name := range os.Args[1:] { _, err = f.WriteString(strings.ReplaceAll(template, "[T any]", name)) if err != nil { panic(err) } } }