summaryrefslogtreecommitdiffstats
path: root/dependencies/pkg/mod/github.com/vbauerster/mpb/v6@v6.0.4/decor/spinner.go
blob: 6871639db2d61c9d8d0f71feb043e579cb33e8e3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package decor

var defaultSpinnerStyle = []string{"⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"}

// Spinner returns spinner decorator.
//
//	`frames` spinner frames, if nil or len==0, default is used
//
//	`wcc` optional WC config
func Spinner(frames []string, wcc ...WC) Decorator {
	if len(frames) == 0 {
		frames = defaultSpinnerStyle
	}
	var count uint
	f := func(s Statistics) string {
		frame := frames[count%uint(len(frames))]
		count++
		return frame
	}
	return Any(f, wcc...)
}