in pkg/genlib/generator_interface.go [844:867]
func bindKeywordWithReturn(fieldCfg ConfigField, field Field, fieldMap map[string]any) error {
if len(fieldCfg.Enum) > 0 {
var emitF emitF
emitF = func(state *genState) any {
idx := customRand.Intn(len(fieldCfg.Enum))
return fieldCfg.Enum[idx]
}
fieldMap[field.Name] = emitF
} else if len(field.Example) > 0 {
totWords, joiner := totWordsAndJoiner(field.Example)
return bindJoinRandWithReturn(field, totWords, joiner, fieldMap)
} else {
var emitF emitF
emitF = func(state *genState) any {
// randomdata.Adjective() + randomdata.Noun() -> 364 * 527 (~190k) different values
return randomdata.Adjective() + randomdata.Noun()
}
fieldMap[field.Name] = emitF
}
return nil
}