in bulk/formatter.go [49:82]
func (f *Formatter) Add(records ...Record) error {
if records == nil {
return errors.New("bulk formatter: record interface can not be nil")
}
for _, record := range records {
recFields := record.Fields()
values := make([]string, len(f.fields))
insertNull := record.InsertNull()
for idx, field := range f.fields {
if insertNull {
values[idx] = "#N/A"
} else {
values[idx] = ""
}
if value, ok := recFields[field]; ok {
if value != nil {
values[idx] = fmt.Sprintf("%v", value)
}
}
}
_, err := f.sb.WriteString(strings.Join(values, f.job.delimiter()))
if err != nil {
return err
}
_, err = f.sb.WriteString(f.job.newline())
if err != nil {
return err
}
}
return nil
}