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