display

package
v0.1.0-alpha.202401261515 Latest Latest
Warning

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

Go to latest
Published: Jan 26, 2024 License: AGPL-3.0 Imports: 35 Imported by: 0

Documentation

Index

Constants

View Source
const TagColumn = "column"

TagColumn is the tag used to specify the column name and type in the introspection tables

Variables

This section is empty.

Functions

func ColumnNames

func ColumnNames(columns []*queryresult.ColumnDef) []string

ColumnNames :: extract names from columns

func ColumnValueAsString

func ColumnValueAsString(val interface{}, col *queryresult.ColumnDef, opts ...ColumnValueOption) (result string, err error)

ColumnValueAsString converts column value to string

func ColumnValuesAsString

func ColumnValuesAsString(values []interface{}, columns []*queryresult.ColumnDef, opts ...ColumnValueOption) ([]string, error)

ColumnValuesAsString converts a slice of columns into strings

func GetAsTableRow

func GetAsTableRow(item interface{}) (printers.TableRow, []printers.TableColumnDefinition)

GetAsTableRow returns the item as a table row

func GetMaxCols

func GetMaxCols() int

func GetPrinter

func GetPrinter[T any](cmd *cobra.Command) (printers.ResourcePrinter[T], error)

TODO is this even needed

func ListResources

func ListResources[T modconfig.HclResource](cmd *cobra.Command)

func NewDisplayConfiguration

func NewDisplayConfiguration() *displayConfiguration

NewDisplayConfiguration creates a default configuration with timing set to true if both --timing is true and --output is table

func ParseJSONOutputColumnValue

func ParseJSONOutputColumnValue(val interface{}, col *queryresult.ColumnDef) (interface{}, error)

ParseJSONOutputColumnValue segregate data types, ignore string conversion for certain data types : JSON, JSONB, BOOL and so on..

func ShowOutput

func ShowOutput(ctx context.Context, result *queryresult.Result, opts ...DisplayOption) int

ShowOutput displays the output using the proper formatter as applicable

func ShowPaged

func ShowPaged(ctx context.Context, content string)

ShowPaged displays the `content` in a system dependent pager

func ShowResource

func ShowResource[T modconfig.HclResource](cmd *cobra.Command, args []string)

func ShowVarsListJson

func ShowVarsListJson(vars []*modconfig.Variable)

func ShowVarsListTable

func ShowVarsListTable(vars []*modconfig.Variable)

func ShowWrappedTable

func ShowWrappedTable(headers []string, rows [][]string, opts *ShowWrappedTableOptions)

Types

type ColumnTag

type ColumnTag struct {
	Column string
	// the introspected go type
	ColumnType string
}

ColumnTag is a struct used to display column info in introspection tables

type ColumnValueOption

type ColumnValueOption func(opt *columnValueSettings)

func WithNullString

func WithNullString(nullString string) ColumnValueOption

type DisplayOption

type DisplayOption = func(config *displayConfiguration)

func WithTimingDisabled

func WithTimingDisabled() DisplayOption

WithTimingDisabled forcefully disables display of timing data

type PrintableHclResource

type PrintableHclResource[T modconfig.HclResource] struct {
	Items []T
}

func NewPrintableHclResource

func NewPrintableHclResource[T modconfig.HclResource](items []T) *PrintableHclResource[T]

func (PrintableHclResource[T]) GetItems

func (p PrintableHclResource[T]) GetItems() []T

func (PrintableHclResource[T]) GetTable

func (p PrintableHclResource[T]) GetTable() (printers.Table, error)

type ShowWrappedTableOptions

type ShowWrappedTableOptions struct {
	AutoMerge        bool
	HideEmptyColumns bool
	Truncate         bool
}

Jump to

Keyboard shortcuts

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