-
Notifications
You must be signed in to change notification settings - Fork 0
/
konfig.go
92 lines (70 loc) · 1.49 KB
/
konfig.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
package kennung
import (
"strings"
"github.com/friedenberg/zit/src/alfa/errors"
"github.com/friedenberg/zit/src/alfa/schnittstellen"
"github.com/friedenberg/zit/src/bravo/values"
"github.com/friedenberg/zit/src/charlie/gattung"
)
func init() {
register(Konfig{})
}
func ErrOnKonfig(v string) (err error) {
if v == "konfig" {
return errors.Errorf("cannot be %q", "konfig")
}
return nil
}
type Konfig struct{}
func (a Konfig) GetGattung() schnittstellen.GattungLike {
return gattung.Konfig
}
func (a Konfig) EqualsAny(b any) bool {
return values.Equals(a, b)
}
func (a Konfig) Equals(b Konfig) bool {
return true
}
func (a *Konfig) Reset() {
return
}
func (a *Konfig) ResetWith(_ Konfig) {
return
}
func (i Konfig) String() string {
return "konfig"
}
func (k Konfig) Parts() [3]string {
return [3]string{"", "", "konfig"}
}
func (i Konfig) Set(v string) (err error) {
v = strings.TrimSpace(v)
v = strings.ToLower(v)
if v != "konfig" {
err = errors.Errorf("not konfig")
return
}
return
}
func (t Konfig) MarshalText() (text []byte, err error) {
text = []byte(t.String())
return
}
func (t *Konfig) UnmarshalText(text []byte) (err error) {
if err = t.Set(string(text)); err != nil {
err = errors.Wrap(err)
return
}
return
}
func (t Konfig) MarshalBinary() (text []byte, err error) {
text = []byte(t.String())
return
}
func (t *Konfig) UnmarshalBinary(text []byte) (err error) {
if err = t.Set(string(text)); err != nil {
err = errors.Wrap(err)
return
}
return
}