Codebase list golang-github-vbauerster-mpb / 6306004
refactoring barExtenderRev Vladimir Bauer 3 years ago
1 changed file(s) with 19 addition(s) and 12 deletion(s). Raw diff Collapse all Expand all
8282
8383 func middleware(base mpb.BarFiller, id uint32) mpb.BarFiller {
8484 var done bool
85 fn := func(w io.Writer, st decor.Statistics) {
85 fn := func(w io.Writer, st decor.Statistics) error {
8686 if !done {
8787 cur := atomic.LoadUint32(&curTask) == id
8888 if !cur {
89 fmt.Fprintf(w, " Taksk %02d\n", id)
90 return
89 _, err := fmt.Fprintf(w, " Taksk %02d\n", id)
90 return err
9191 }
9292 if !st.Completed {
93 fmt.Fprintf(w, "=> Taksk %02d\n", id)
94 return
93 _, err := fmt.Fprintf(w, "=> Taksk %02d\n", id)
94 return err
9595 }
9696 done = cur
9797 }
98 fmt.Fprintf(w, " Taksk %02d: Done!\n", id)
98 _, err := fmt.Fprintf(w, " Taksk %02d: Done!\n", id)
99 return err
99100 }
100101 if base == nil {
101102 return mpb.BarFillerFunc(fn)
102103 }
103 return mpb.BarFillerFunc(func(w io.Writer, st decor.Statistics) {
104 fn(w, st)
105 base.Fill(w, st)
104 return mpb.BarFillerFunc(func(w io.Writer, st decor.Statistics) error {
105 err := fn(w, st)
106 if err != nil {
107 return err
108 }
109 return base.Fill(w, st)
106110 })
107111 }
108112
109113 func newLineMiddleware(base mpb.BarFiller) mpb.BarFiller {
110 return mpb.BarFillerFunc(func(w io.Writer, st decor.Statistics) {
111 fmt.Fprintln(w)
112 base.Fill(w, st)
114 return mpb.BarFillerFunc(func(w io.Writer, st decor.Statistics) error {
115 _, err := fmt.Fprintln(w)
116 if err != nil {
117 return err
118 }
119 return base.Fill(w, st)
113120 })
114121 }
115122