forked from TrueCloudLab/restic
27 lines
415 B
Go
27 lines
415 B
Go
package options
|
|
|
|
type SecretString struct {
|
|
s *string
|
|
}
|
|
|
|
func NewSecretString(s string) SecretString {
|
|
return SecretString{s: &s}
|
|
}
|
|
|
|
func (s SecretString) GoString() string {
|
|
return `"` + s.String() + `"`
|
|
}
|
|
|
|
func (s SecretString) String() string {
|
|
if s.s == nil || len(*s.s) == 0 {
|
|
return ``
|
|
}
|
|
return `**redacted**`
|
|
}
|
|
|
|
func (s *SecretString) Unwrap() string {
|
|
if s.s == nil {
|
|
return ""
|
|
}
|
|
return *s.s
|
|
}
|