@@ -40,29 +40,32 @@ var ErrorPlaintextOutputFn = func(r resource) string {
4040 }
4141}
4242
43- // MultipleEmailPlaintextOutputFn converts the resource to plain text specifically for member data.
44- var MultipleEmailPlaintextOutputFn = func (r resource ) string {
45- return fmt .Sprintf ("* %s (%s)" , r ["email" ], r ["_id" ])
46- }
47-
48- // MultipleIDPlaintextOutputFn converts the resource to plain text for data without a key.
49- var MultipleIDPlaintextOutputFn = func (r resource ) string {
50- return fmt .Sprintf ("* %s (%s)" , r ["name" ], r ["_id" ])
51- }
52-
53- // MultiplePlaintextOutputFn converts the resource to plain text based on its name and key in a list.
43+ // MultiplePlaintextOutputFn converts the resource to plain text.
5444var MultiplePlaintextOutputFn = func (r resource ) string {
55- return fmt .Sprintf ("* %s (%s) " , r [ "name" ], r [ "key" ] )
45+ return fmt .Sprintf ("* %s" , SingularPlaintextOutputFn ( r ) )
5646}
5747
5848// SingularPlaintextOutputFn converts the resource to plain text based on its name and key.
5949var SingularPlaintextOutputFn = func (r resource ) string {
60- if r ["name" ] == nil {
61- return r ["key" ].(string )
62- }
63- if r ["key" ] == nil {
64- return r ["name" ].(string )
65- }
50+ email := r ["email" ]
51+ id := r ["_id" ]
52+ key := r ["key" ]
53+ name := r ["name" ]
6654
67- return fmt .Sprintf ("%s (%s)" , r ["name" ], r ["key" ])
55+ switch {
56+ case name != nil && key != nil :
57+ return fmt .Sprintf ("%s (%s)" , name .(string ), key .(string ))
58+ case email != nil && id != nil :
59+ return fmt .Sprintf ("%s (%s)" , email .(string ), id .(string ))
60+ case name != nil && id != nil :
61+ return fmt .Sprintf ("%s (%s)" , name .(string ), id .(string ))
62+ case key != nil :
63+ return key .(string )
64+ case email != nil :
65+ return email .(string )
66+ case id != nil :
67+ return id .(string )
68+ default :
69+ return "cannot read resource"
70+ }
6871}
0 commit comments