diff options
| author | Dax Raad <[email protected]> | 2025-05-30 20:47:56 -0400 |
|---|---|---|
| committer | Dax Raad <[email protected]> | 2025-05-30 20:48:36 -0400 |
| commit | f3da73553c45f17e04b1e77cb13eb0fca714d1bd (patch) | |
| tree | a24317a19e1ab2a89da50db669dc6894f15d00d1 /internal/format | |
| parent | 9a26b3058ffc1023e5c7e54b6d571c903d15888e (diff) | |
| download | opencode-f3da73553c45f17e04b1e77cb13eb0fca714d1bd.tar.gz opencode-f3da73553c45f17e04b1e77cb13eb0fca714d1bd.zip | |
sync
Diffstat (limited to 'internal/format')
| -rw-r--r-- | internal/format/format.go | 46 | ||||
| -rw-r--r-- | internal/format/format_test.go | 90 |
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) - } - }) - } -} |
