@@ -2,17 +2,18 @@ package internal
22
33import (
44 "encoding/json"
5+ "fmt"
56
67 "go.yaml.in/yaml/v2"
78)
89
9- type OutputFormater [ T any ] interface {
10- Format (input T ) (string , error )
10+ type OutputFormater interface {
11+ Format (input any ) (string , error )
1112}
1213
1314type YamlOutputFormater struct {}
1415
15- var _ OutputFormater [ any ] = (* YamlOutputFormater )(nil )
16+ var _ OutputFormater = (* YamlOutputFormater )(nil )
1617
1718func (f * YamlOutputFormater ) Format (input any ) (string , error ) {
1819 yamled , err := yaml .Marshal (input )
@@ -24,28 +25,31 @@ func (f *YamlOutputFormater) Format(input any) (string, error) {
2425
2526type JsonOutputFormater struct {}
2627
27- var _ OutputFormater [ any ] = (* JsonOutputFormater )(nil )
28+ var _ OutputFormater = (* JsonOutputFormater )(nil )
2829
2930func (f * JsonOutputFormater ) Format (input any ) (string , error ) {
30- jsoned , err := json .MarshalIndent (input , "" , "\t " )
31+ jsoned , err := json .MarshalIndent (input , "" , " " )
3132 if err != nil {
3233 return "" , err
3334 }
3435 return string (jsoned ), nil
3536}
3637
37- type ArrayOutputFormater struct {}
38+ type TextOutputFormater struct {}
3839
39- var _ OutputFormater [ ArrayInput ] = (* ArrayOutputFormater )(nil )
40+ var _ OutputFormater = (* TextOutputFormater )(nil )
4041
41- type ArrayInput struct {
42- Header []string
43- Content [][]string
42+ func (f * TextOutputFormater ) Format (input any ) (string , error ) {
43+ if stringer , ok := input .(fmt.Stringer ); ok {
44+ return stringer .String (), nil
45+ }
46+ return "" , fmt .Errorf ("input does not implement fmt.Stringer" )
4447}
45- func ( f * ArrayOutputFormater ) Format ( input ArrayInput ) ( string , error ) {
46- jsoned , err := json . MarshalIndent ( input , "" , " \t " )
48+
49+ func PrintFormat ( stringed string , err error ) {
4750 if err != nil {
48- return "" , err
51+ fmt .Printf ("Error formatting output: %v\n " , err )
52+ return
4953 }
50- return string ( jsoned ), nil
54+ fmt . Println ( stringed )
5155}
0 commit comments