func()

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
}