Comments (7)
I'll add better error messages for this.
Thank you very much!
from goverter.
Please add the models ent.Account and pb.QueryResponse_Account to this issue.
from goverter.
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:"-"`
}
from goverter.
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
}
from goverter.
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
from goverter.
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
}
from goverter.
I'll add better error messages for this.
from goverter.
Related Issues (20)
- Support `any` type alias HOT 2
- Ignore compile errors when generating into same package HOT 9
- Add raw code to generated file
- Goverter does not re-use conversion methods if only target or only source is pointer HOT 2
- Question around conversion for deeply embedded/nested structs HOT 7
- Support regex for mapping field names
- Support variables/constants in goverter:map (map custom)
- Ignore target field that exists on source struct HOT 4
- Support one to many mappings with slices HOT 2
- Distinguish empty map types HOT 3
- Why are generated files marked as executable? HOT 4
- How do I avoid / handle compilation errors due to changes? HOT 2
- Nested Protos types HOT 2
- Add `json:` (or custom) struct tag support for field matching HOT 6
- Segfault with useZeroValueOnPointerInconsistency HOT 6
- useZeroValueOnPointerInconsistency on a per-field basis HOT 6
- Panic when using type params in extend, map or default
- Bug: enum conversion fails with other compatible method signatures defined HOT 3
- Convert multiple source types to one target type HOT 1
- --help option is not handled correctly HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from goverter.