Closed liyuan1125 closed 1 year ago
Please add the models ent.Account and pb.QueryResponse_Account to this issue.
Please add the models ent.Account and pb.QueryResponse_Account to this issue.
type Account struct {
ID uint64 `json:"id,omitempty"`
}
type QueryResponse_Account struct {
ID uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
Cannot reproduce:
$ cat input.go
package test
// goverter:converter
type Converter interface {
// goverter:ignore XXX_NoUnkeyedLiteral XXX_unrecognized XXX_sizecache
Convert(source Account) QueryResponse_Account
}
type Account struct {
ID uint64 `json:"id,omitempty"`
}
type QueryResponse_Account struct {
ID uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
$ go run github.com/jmattheis/goverter/cmd/goverter test
$ cat generated/generated.go
// Code generated by github.com/jmattheis/goverter, DO NOT EDIT.
package generated
import test "test"
type ConverterImpl struct{}
func (c *ConverterImpl) Convert(source test.Account) test.QueryResponse_Account {
var testQueryResponse_Account test.QueryResponse_Account
testQueryResponse_Account.ID = source.ID
return testQueryResponse_Account
}
Cannot reproduce:
$ cat input.go package test // goverter:converter type Converter interface { // goverter:ignore XXX_NoUnkeyedLiteral XXX_unrecognized XXX_sizecache Convert(source Account) QueryResponse_Account } type Account struct { ID uint64 `json:"id,omitempty"` } type QueryResponse_Account struct { ID uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } $ go run github.com/jmattheis/goverter/cmd/goverter test $ cat generated/generated.go // Code generated by github.com/jmattheis/goverter, DO NOT EDIT. package generated import test "test" type ConverterImpl struct{} func (c *ConverterImpl) Convert(source test.Account) test.QueryResponse_Account { var testQueryResponse_Account test.QueryResponse_Account testQueryResponse_Account.ID = source.ID return testQueryResponse_Account }
Hi, Thank you very much for your reply, I have created a repository here, you can take a look; https://github.com/leewithyuan/app1
You cannot use ignore on array, define it directly on the struct convert method
// goverter:converter
type Converter interface {
// goverter:ignore XXX_NoUnkeyedLiteral
// goverter:ignore XXX_unrecognized
// goverter:ignore XXX_sizecache
Convert(source models.Account) pb.Account
ConvertArray(source []models.Account) []pb.Account
}
I'll add better error messages for this.
I'll add better error messages for this.
Thank you very much!
output