blob: c8892478ec320952012ab3426e8b580ca5a108d7 [file] [log] [blame]
Sketch🕴️305f8172026-02-27 13:58:43 +04001package loop
2
3import (
4 "bufio"
5 "fmt"
6 "io"
7)
8
9type PromptReader interface {
10 Read() (string, error)
11}
12
13type IOReaderPromptReader struct {
14 s *bufio.Scanner
15}
16
17func NewIOReaderPromptReader(r io.Reader) *IOReaderPromptReader {
18 return &IOReaderPromptReader{
19 s: bufio.NewScanner(r),
20 }
21}
22
23func (r IOReaderPromptReader) Read() (string, error) {
24 if !r.s.Scan() {
25 return "", fmt.Errorf("done")
26 }
27 return r.s.Text(), nil
28}