output

package
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 26, 2026 License: MIT Imports: 5 Imported by: 0

Documentation

Overview

Package output provides formatting utilities for PRISM data output.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FormatInitiativeStatus

func FormatInitiativeStatus(status string) string

FormatInitiativeStatus formats an initiative status for display.

func GoalStatus

func GoalStatus(current, target int) string

GoalStatus returns a status string based on current vs target maturity level.

func IsValidFormat

func IsValidFormat(f string) bool

IsValidFormat checks if a format string is valid.

func MaturityLevelName

func MaturityLevelName(level int) string

MaturityLevelName returns the name for a maturity level (1-5).

func OperatorSymbol

func OperatorSymbol(op string) string

OperatorSymbol returns the display symbol for an SLO operator.

func SafePercent

func SafePercent(value, total int) float64

SafePercent calculates percentage safely, returning 0 if total is 0.

func StatusSymbol

func StatusSymbol(status string) string

StatusSymbol returns a visual symbol for a status.

func TruncateString

func TruncateString(s string, maxLen int) string

TruncateString truncates a string to maxLen characters, adding "..." if truncated.

func ValidFormats

func ValidFormats() []string

ValidFormats returns all valid format strings.

Types

type DetailData

type DetailData struct {
	Title    string
	Fields   []DetailField
	Sections []DetailSection
}

DetailData represents detailed view data (key-value pairs with sections).

type DetailField

type DetailField struct {
	Key   string
	Value string
}

DetailField is a key-value pair.

type DetailSection

type DetailSection struct {
	Title   string
	Content string
	Items   []string
	Table   *TableData
}

DetailSection is a named section with content.

type Format

type Format string

Format represents supported output formats.

const (
	FormatText     Format = "text"
	FormatJSON     Format = "json"
	FormatMarkdown Format = "markdown"
	FormatTOON     Format = "toon"
)

type Formatter

type Formatter struct {
	Format Format
	Writer io.Writer
}

Formatter handles output formatting.

func NewFormatter

func NewFormatter(format string) *Formatter

NewFormatter creates a formatter for the given format string.

func NewFormatterWithWriter

func NewFormatterWithWriter(format string, w io.Writer) *Formatter

NewFormatterWithWriter creates a formatter with a custom writer.

func (*Formatter) WriteDetail

func (f *Formatter) WriteDetail(data *DetailData) error

WriteDetail outputs detailed data in the appropriate format.

func (*Formatter) WriteJSON

func (f *Formatter) WriteJSON(data interface{}) error

WriteJSON outputs data as JSON.

func (*Formatter) WriteTable

func (f *Formatter) WriteTable(data *TableData) error

WriteTable outputs tabular data in the appropriate format.

type TableData

type TableData struct {
	Title   string
	Headers []string
	Rows    [][]string
	Summary string
}

TableData represents tabular data for formatting.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL