Skip to content

Commit e3e35e8

Browse files
committed
auto-flags: usages & functions
1 parent 15849e9 commit e3e35e8

File tree

3 files changed

+22
-10
lines changed

3 files changed

+22
-10
lines changed

assert/assert.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -550,6 +550,18 @@ var mapDefInd = map[string]defInd{
550550
"Debug": Debug,
551551
}
552552

553+
var MapDefIndToString = map[defInd]string{
554+
Production: "Production",
555+
Development: "Development",
556+
Test: "Test",
557+
TestFull: "TestFull",
558+
Debug: "Debug",
559+
}
560+
561+
func AsserterString() string {
562+
return MapDefIndToString[def]
563+
}
564+
553565
func NewDefInd(v string) defInd {
554566
ind, found := mapDefInd[v]
555567
if !found {

err2_init.go

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,26 +19,24 @@ var (
1919
)
2020

2121
func init() {
22-
flag.Var(&tracer.Log, "err2-log", "stream for logging")
23-
flag.Var(&tracer.Error, "err2-trace", "stream for error tracing")
22+
flag.Var(&tracer.Log, "err2-log", "stream for logging: nil -> log pkg")
23+
flag.Var(&tracer.Error, "err2-trace", "stream for error tracing: stderr, stdout")
2424
flag.Var(&tracer.Panic, "err2-panic-trace", "stream for panic tracing")
2525
flag.Var(&asserterFlag, "err2-asserter", "asserter: Production, Development, Debug")
2626
}
2727

28-
type flagAsserter struct {
29-
v string
30-
}
28+
type flagAsserter struct{}
3129

3230
// String is part of the flag interfaces
33-
func (f *flagAsserter) String() string {
34-
return f.v
31+
func (*flagAsserter) String() string {
32+
return assert.AsserterString()
3533
}
3634

3735
// Get is part of the flag interfaces, getter.
3836
func (*flagAsserter) Get() any { return nil }
3937

4038
// Set is part of the flag.Value interface.
41-
func (f *flagAsserter) Set(flagAsserter string) error {
42-
assert.SetDefault(assert.NewDefInd(flagAsserter))
39+
func (*flagAsserter) Set(value string) error {
40+
assert.SetDefault(assert.NewDefInd(value))
4341
return nil
4442
}

internal/tracer/tracer.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ func (v *value) SetTracer(w io.Writer) {
4242

4343
// String is part of the flag interfaces
4444
func (v *value) String() string {
45-
return x.Whom(v.Tracer() != nil, "true", "false")
45+
return x.Whom(v.Tracer() != nil, "stderr", "nil")
4646
}
4747

4848
// Get is part of the flag interfaces, getter.
@@ -55,6 +55,8 @@ func (v *value) Set(value string) error {
5555
v.SetTracer(os.Stderr)
5656
case "stdout":
5757
v.SetTracer(os.Stdout)
58+
default:
59+
v.SetTracer(nil)
5860
}
5961
return nil
6062
}

0 commit comments

Comments
 (0)