diff --git a/bar_filler_bar.go b/bar_filler_bar.go index 54b7bfd..d8bf90a 100644 --- a/bar_filler_bar.go +++ b/bar_filler_bar.go @@ -157,9 +157,8 @@ return } - ow := optimisticWriter(w) - ow(s.components[iLbound].bytes) - defer ow(s.components[iRbound].bytes) + mustWrite(w, s.components[iLbound].bytes) + defer mustWrite(w, s.components[iRbound].bytes) if width == 0 { return @@ -231,26 +230,24 @@ } if s.rev { - flush(ow, padding, filling) + flush(w, padding, filling) } else { - flush(ow, filling, padding) - } -} - -func flush(ow func([]byte), filling, padding [][]byte) { + flush(w, filling, padding) + } +} + +func flush(w io.Writer, filling, padding [][]byte) { for i := len(filling) - 1; i >= 0; i-- { - ow(filling[i]) + mustWrite(w, filling[i]) } for i := 0; i < len(padding); i++ { - ow(padding[i]) - } -} - -func optimisticWriter(w io.Writer) func([]byte) { - return func(p []byte) { - _, err := w.Write(p) - if err != nil { - panic(err) - } - } -} + mustWrite(w, padding[i]) + } +} + +func mustWrite(w io.Writer, p []byte) { + _, err := w.Write(p) + if err != nil { + panic(err) + } +} diff --git a/decor/optimistic_string_writer.go b/decor/optimistic_string_writer.go index ea9fda7..c6a3438 100644 --- a/decor/optimistic_string_writer.go +++ b/decor/optimistic_string_writer.go @@ -2,11 +2,9 @@ import "io" -func optimisticStringWriter(w io.Writer) func(string) { - return func(s string) { - _, err := io.WriteString(w, s) - if err != nil { - panic(err) - } +func mustWriteString(w io.Writer, s string) { + _, err := io.WriteString(w, s) + if err != nil { + panic(err) } } diff --git a/decor/percentage.go b/decor/percentage.go index 6e7f5c6..e726689 100644 --- a/decor/percentage.go +++ b/decor/percentage.go @@ -23,12 +23,11 @@ } } - osw := optimisticStringWriter(st) - osw(strconv.FormatFloat(float64(s), 'f', prec, 64)) + mustWriteString(st, strconv.FormatFloat(float64(s), 'f', prec, 64)) if st.Flag(' ') { - osw(" ") + mustWriteString(st, " ") } - osw("%") + mustWriteString(st, "%") } // Percentage returns percentage decorator. It's a wrapper of NewPercentage. diff --git a/decor/size_type.go b/decor/size_type.go index 12879b8..09ecc23 100644 --- a/decor/size_type.go +++ b/decor/size_type.go @@ -49,12 +49,11 @@ unit = _iTiB } - osw := optimisticStringWriter(st) - osw(strconv.FormatFloat(float64(self)/float64(unit), 'f', prec, 64)) + mustWriteString(st, strconv.FormatFloat(float64(self)/float64(unit), 'f', prec, 64)) if st.Flag(' ') { - osw(" ") + mustWriteString(st, " ") } - osw(unit.String()) + mustWriteString(st, unit.String()) } const ( @@ -98,10 +97,9 @@ unit = _TB } - osw := optimisticStringWriter(st) - osw(strconv.FormatFloat(float64(self)/float64(unit), 'f', prec, 64)) + mustWriteString(st, strconv.FormatFloat(float64(self)/float64(unit), 'f', prec, 64)) if st.Flag(' ') { - osw(" ") + mustWriteString(st, " ") } - osw(unit.String()) + mustWriteString(st, unit.String()) } diff --git a/decor/speed.go b/decor/speed.go index 99cfde2..f052352 100644 --- a/decor/speed.go +++ b/decor/speed.go @@ -23,7 +23,7 @@ func (self *speedFormatter) Format(st fmt.State, verb rune) { self.Formatter.Format(st, verb) - optimisticStringWriter(st)("/s") + mustWriteString(st, "/s") } // EwmaSpeed exponential-weighted-moving-average based speed decorator.