...
1
16
17 package clientcmd
18
19
20
21 type transformingStringValue struct {
22 target *string
23 transformer func(string) (string, error)
24 }
25
26 func newTransformingStringValue(val string, target *string, transformer func(string) (string, error)) *transformingStringValue {
27 *target = val
28 return &transformingStringValue{
29 target: target,
30 transformer: transformer,
31 }
32 }
33
34 func (t *transformingStringValue) Set(val string) error {
35 val, err := t.transformer(val)
36 if err != nil {
37 return err
38 }
39 *t.target = val
40 return nil
41 }
42
43 func (t *transformingStringValue) Type() string {
44 return "string"
45 }
46
47 func (t *transformingStringValue) String() string {
48 return string(*t.target)
49 }
50
View as plain text