From 71e431af2e65196ad4e7bc3404e772b1726d3338 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Tue, 10 Mar 2026 20:01:15 +0200 Subject: Introduce client runtime boundaries --- internal/mapr/result_renderer.go | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 internal/mapr/result_renderer.go (limited to 'internal/mapr/result_renderer.go') 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) +} -- cgit v1.2.3