Skip to content

Setting: ignoreUnexported

ignoreUnexported [yes,no] is a boolean setting and can be defined as CLI argument, conversion comment or method comment. This setting is inheritable.

If a struct has multiple unexported fields that should be ignored, then you can enable ignoreUnexported, to ignore these.

DANGER

Using this setting is not recommended, because this can easily lead to unwanted behavior. When a struct is having unexported fields, you most likely have to call a custom constructor method to correctly instantiate this type.

go
package example

// goverter:converter
type Converter interface {
	// goverter:ignoreUnexported
	Convert(source Input) Output
}

type Input struct {
	Name string
}
type Output struct {
	Name string
	// goverter will skip this field
	age    int
	street string
}
go
// Code generated by github.com/jmattheis/goverter, DO NOT EDIT.
//go:build !goverter

package generated

import ignoreunexported "github.com/jmattheis/goverter/example/ignore-unexported"

type ConverterImpl struct{}

func (c *ConverterImpl) Convert(source ignoreunexported.Input) ignoreunexported.Output {
	var exampleOutput ignoreunexported.Output
	exampleOutput.Name = source.Name
	return exampleOutput
}