Extract helper function for easier testing

This commit is contained in:
Stefan Haller 2024-10-09 15:08:01 +02:00
parent d11e11d179
commit ae610dcbb7

View file

@ -2,6 +2,7 @@ package utils
import ( import (
"bufio" "bufio"
"io"
"os" "os"
) )
@ -12,14 +13,18 @@ func ForEachLineInFile(path string, f func(string, int)) error {
} }
defer file.Close() defer file.Close()
reader := bufio.NewReader(file) forEachLineInStream(file, f)
return nil
}
func forEachLineInStream(reader io.Reader, f func(string, int)) {
bufferedReader := bufio.NewReader(reader)
for i := 0; true; i++ { for i := 0; true; i++ {
line, err := reader.ReadString('\n') line, err := bufferedReader.ReadString('\n')
if err != nil { if err != nil {
break break
} }
f(line, i) f(line, i)
} }
return nil
} }