package recipe import ( "autobrew/action" "autobrew/ingredient" ) type Step struct { Ingredients []ingredient.Ingredient Action action.StepAction Turns int } func (f *Step) UnmarshalYAML(unmarshal func(any) error) error { var t struct { Ingredients []ingredient.Ingredient `yaml:"ingredients"` Action action.StepAction `yaml:"action"` Turns int `yaml:"turns"` } err := unmarshal(&t) if err != nil { return err } f.Action = t.Action f.Ingredients = t.Ingredients f.Turns = t.Turns return nil }