summaryrefslogtreecommitdiffhomepage
path: root/internal/format
diff options
context:
space:
mode:
authorDax Raad <[email protected]>2025-05-30 20:47:56 -0400
committerDax Raad <[email protected]>2025-05-30 20:48:36 -0400
commitf3da73553c45f17e04b1e77cb13eb0fca714d1bd (patch)
treea24317a19e1ab2a89da50db669dc6894f15d00d1 /internal/format
parent9a26b3058ffc1023e5c7e54b6d571c903d15888e (diff)
downloadopencode-f3da73553c45f17e04b1e77cb13eb0fca714d1bd.tar.gz
opencode-f3da73553c45f17e04b1e77cb13eb0fca714d1bd.zip
sync
Diffstat (limited to 'internal/format')
-rw-r--r--internal/format/format.go46
-rw-r--r--internal/format/format_test.go90
2 files changed, 0 insertions, 136 deletions
diff --git a/internal/format/format.go b/internal/format/format.go
deleted file mode 100644
index 321f5c102..000000000
--- a/internal/format/format.go
+++ /dev/null
@@ -1,46 +0,0 @@
-package format
-
-import (
- "encoding/json"
- "fmt"
-)
-
-// OutputFormat represents the format for non-interactive mode output
-type OutputFormat string
-
-const (
- // TextFormat is plain text output (default)
- TextFormat OutputFormat = "text"
-
- // JSONFormat is output wrapped in a JSON object
- JSONFormat OutputFormat = "json"
-)
-
-// IsValid checks if the output format is valid
-func (f OutputFormat) IsValid() bool {
- return f == TextFormat || f == JSONFormat
-}
-
-// String returns the string representation of the output format
-func (f OutputFormat) String() string {
- return string(f)
-}
-
-// FormatOutput formats the given content according to the specified format
-func FormatOutput(content string, format OutputFormat) (string, error) {
- switch format {
- case TextFormat:
- return content, nil
- case JSONFormat:
- jsonData := map[string]string{
- "response": content,
- }
- jsonBytes, err := json.MarshalIndent(jsonData, "", " ")
- if err != nil {
- return "", fmt.Errorf("failed to marshal JSON: %w", err)
- }
- return string(jsonBytes), nil
- default:
- return "", fmt.Errorf("unsupported output format: %s", format)
- }
-}
diff --git a/internal/format/format_test.go b/internal/format/format_test.go
deleted file mode 100644
index 04054a7c4..000000000
--- a/internal/format/format_test.go
+++ /dev/null
@@ -1,90 +0,0 @@
-package format
-
-import (
- "testing"
-)
-
-func TestOutputFormat_IsValid(t *testing.T) {
- t.Parallel()
-
- tests := []struct {
- name string
- format OutputFormat
- want bool
- }{
- {
- name: "text format",
- format: TextFormat,
- want: true,
- },
- {
- name: "json format",
- format: JSONFormat,
- want: true,
- },
- {
- name: "invalid format",
- format: "invalid",
- want: false,
- },
- }
-
- for _, tt := range tests {
- tt := tt
- t.Run(tt.name, func(t *testing.T) {
- t.Parallel()
- if got := tt.format.IsValid(); got != tt.want {
- t.Errorf("OutputFormat.IsValid() = %v, want %v", got, tt.want)
- }
- })
- }
-}
-
-func TestFormatOutput(t *testing.T) {
- t.Parallel()
-
- tests := []struct {
- name string
- content string
- format OutputFormat
- want string
- wantErr bool
- }{
- {
- name: "text format",
- content: "test content",
- format: TextFormat,
- want: "test content",
- wantErr: false,
- },
- {
- name: "json format",
- content: "test content",
- format: JSONFormat,
- want: "{\n \"response\": \"test content\"\n}",
- wantErr: false,
- },
- {
- name: "invalid format",
- content: "test content",
- format: "invalid",
- want: "",
- wantErr: true,
- },
- }
-
- for _, tt := range tests {
- tt := tt
- t.Run(tt.name, func(t *testing.T) {
- t.Parallel()
- got, err := FormatOutput(tt.content, tt.format)
- if (err != nil) != tt.wantErr {
- t.Errorf("FormatOutput() error = %v, wantErr %v", err, tt.wantErr)
- return
- }
- if got != tt.want {
- t.Errorf("FormatOutput() = %v, want %v", got, tt.want)
- }
- })
- }
-}