generator

Release License Go Report Card

Генератор сканит все структуры в проекте и ищет структуры со специальным комментарием вида mutagento <struct package> <struct name>

При генерации создаётся в директории с такой структурой временный файл теста, который генерирует код, в котором содержаться методы перевода в эту структуру.

Пример

есть в коде в пакете "inner" структура

type Test1 struct {
    Field int
}

и

// mutagento inner Test1
type MyStruct struct {
    Field int
    AnotherField int
}

В результате генерации рядом с файлом структуры будет сгенерирован файл с методами

func (t *MyStruct) MutateToTest1()  inner.Test1 {
	return  inner.Test1{
		Field: t.Field,
	}
}

func (t *MyStruct) FillFromTest1(k inner.Test1) {
	t.Field = k.Field
}