geziyor/export/pprint.go
chris 9a6a7617b4
PrettyPrint should conform to Exporter interface
`(*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
2023-02-18 13:02:57 -07:00

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
}