| 175 | } |
| 176 | |
| 177 | func isCSVStream(track *Track, delim rune, name string) error { |
| 178 | if line, err := bufio.NewReader(track).ReadSlice('\n'); err != nil { |
| 179 | return fmt.Errorf("%s: line 1: %w", name, err) |
| 180 | } else if !bytes.ContainsRune(line, delim) { |
| 181 | return fmt.Errorf("%s: line 1: delimiter %q not found", name, delim) |
| 182 | } |
| 183 | track.Reset() |
| 184 | return match(csvio.NewReader(super.NewContext(), track, csvio.ReaderOpts{Delim: delim}), name, 1) |
| 185 | } |
| 186 | |
| 187 | func joinErrs(errs []error) error { |
| 188 | var b strings.Builder |