`(*PrettyPrint) Export()` needs to return error in order to conform to the `Exporter` interface and be used as an exporter. Without this change, trying to use the PrettyPrint exporter results in this compile error: cannot use &export.PrettyPrint{} (value of type *export.PrettyPrint) as type export.Exporter in array or slice literal: *export.PrettyPrint does not implement export.Exporter (wrong type for Export method) have Export(exports chan interface{}) want Export(exports chan interface{}) error
22 lines
415 B
Go
22 lines
415 B
Go
package export
|
|
|
|
import (
|
|
"encoding/json"
|
|
"fmt"
|
|
)
|
|
|
|
// PrettyPrint logs exported data to console as pretty printed
|
|
type PrettyPrint struct{}
|
|
|
|
// Export logs exported data to console as pretty printed
|
|
func (*PrettyPrint) Export(exports chan interface{}) error {
|
|
for res := range exports {
|
|
dat, err := json.MarshalIndent(res, "", " ")
|
|
if err != nil {
|
|
continue
|
|
}
|
|
fmt.Println(string(dat))
|
|
}
|
|
return nil
|
|
}
|