Open
Description
I am able to use map
for mapping a field within model to struct inside domain directly but doing the same via a convert
does not work.
I also tried using a pointer to the field (as argument to the convert function) but it is still of no use.
On a side note, I am using this as an alternative to mapstruct in Java (https://mapstruct.org/)
Domains&Models
type SubA struct {
SomeString1 string
SomeInteger2 int64
}
type Domain struct {
Sub *SubA
}
type Model {
SomeString1 string
SomeString2 string
}
YML
generated:
setup: ./mapping.go
output: ../gen/mapper.gen.go
Setup Go
type Copygen interface {
// map Model.SomeString1 Domain.Sub.SomeString1
Mapper(model *Model) *Domain
}
// convert Model.SomeString2 Domain.Sub.SomeInteger2
func StringToInt64(s string) int64 {
v, err := strconv.Atoi(s)
if err != nil {
v = 1
}
return int64(v)
}
Output
Generation
package copygen
import (
"strconv"
)
func StringToInt64(s string) int64 {
v, err := strconv.Atoi(s)
if err != nil {
v = 1
}
return int64(v)
}
// Mapper copies a *Model to a *Domain.
func MapAvailableIndexToIndexCard(tS *Domain, fS *Model) {
// *Domain fields
tS.Sub.SomeString1 = fS.SomeString1
}
Environment
Operating System: MacOS
Copygen Version: v0.4.0
Activity