diff options
Diffstat (limited to 'internal/mapr/result_renderer.go')
| -rw-r--r-- | internal/mapr/result_renderer.go | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/internal/mapr/result_renderer.go b/internal/mapr/result_renderer.go new file mode 100644 index 0000000..e03ed9a --- /dev/null +++ b/internal/mapr/result_renderer.go @@ -0,0 +1,34 @@ +package mapr + +import "strings" + +// ResultRenderer formats terminal table output for mapreduce results. +type ResultRenderer interface { + WriteHeaderEntry(sb *strings.Builder, text string, isSortKey, isGroupKey bool) + WriteHeaderDelimiter(sb *strings.Builder, text string) + WriteDataEntry(sb *strings.Builder, text string) + WriteDataDelimiter(sb *strings.Builder, text string) +} + +type plainResultRenderer struct{} + +// PlainResultRenderer returns a renderer that writes uncolored terminal output. +func PlainResultRenderer() ResultRenderer { + return plainResultRenderer{} +} + +func (plainResultRenderer) WriteHeaderEntry(sb *strings.Builder, text string, _, _ bool) { + sb.WriteString(text) +} + +func (plainResultRenderer) WriteHeaderDelimiter(sb *strings.Builder, text string) { + sb.WriteString(text) +} + +func (plainResultRenderer) WriteDataEntry(sb *strings.Builder, text string) { + sb.WriteString(text) +} + +func (plainResultRenderer) WriteDataDelimiter(sb *strings.Builder, text string) { + sb.WriteString(text) +} |
