Codebase list golang-github-vbauerster-mpb / 19f6abf
CantainerOptional, BarOptional Vladimir Bauer 5 years ago
3 changed file(s) with 26 addition(s) and 6 deletion(s). Raw diff Collapse all Expand all
44 "io"
55
66 "github.com/vbauerster/mpb/v5/decor"
7 "github.com/vbauerster/mpb/v5/internal"
78 )
89
910 // BarOption is a function option which changes the default behavior of a bar.
136137 }
137138 }
138139
139 // BarOptOn returns option when condition evaluates to true.
140 func BarOptOn(option BarOption, condition func() bool) BarOption {
141 if condition() {
140 // BarOptional will invoke provided option only when pick is true.
141 func BarOptional(option BarOption, pick bool) BarOption {
142 return BarOptOn(option, internal.Predicate(pick))
143 }
144
145 // BarOptOn will invoke provided option only when higher order predicate
146 // evaluates to true.
147 func BarOptOn(option BarOption, predicate func() bool) BarOption {
148 if predicate() {
142149 return option
143150 }
144151 return nil
44 "io/ioutil"
55 "sync"
66 "time"
7
8 "github.com/vbauerster/mpb/v5/internal"
79 )
810
911 // ContainerOption is a function option which changes the default
9294 }
9395 }
9496
95 // ContainerOptOn returns option when condition evaluates to true.
96 func ContainerOptOn(option ContainerOption, condition func() bool) ContainerOption {
97 if condition() {
97 // ContainerOptional will invoke provided option only when pick is true.
98 func ContainerOptional(option ContainerOption, pick bool) ContainerOption {
99 return ContainerOptOn(option, internal.Predicate(pick))
100 }
101
102 // ContainerOptOn will invoke provided option only when higher order
103 // predicate evaluates to true.
104 func ContainerOptOn(option ContainerOption, predicate func() bool) ContainerOption {
105 if predicate() {
98106 return option
99107 }
100108 return nil
0 package internal
1
2 func Predicate(pick bool) func() bool {
3 return func() bool { return pick }
4 }