mirror of
https://github.com/anotherhadi/default-creds-tui.git
synced 2026-10-05 10:58:25 +02:00
31 lines
460 B
Go
31 lines
460 B
Go
package creds
|
|
|
|
import "fmt"
|
|
|
|
type Mode string
|
|
|
|
const (
|
|
Auto Mode = "auto"
|
|
Online Mode = "online"
|
|
Local Mode = "local"
|
|
)
|
|
|
|
func ParseMode(s string) (Mode, error) {
|
|
switch Mode(s) {
|
|
case Auto, Online, Local:
|
|
return Mode(s), nil
|
|
default:
|
|
return "", fmt.Errorf("invalid mode %q: want \"auto\", \"online\" or \"local\"", s)
|
|
}
|
|
}
|
|
|
|
func Resolve(mode Mode) Mode {
|
|
if mode != Auto {
|
|
return mode
|
|
}
|
|
if HasLocalData() {
|
|
return Local
|
|
}
|
|
return Online
|
|
}
|