output

package
v0.3.7 Latest Latest
Warning

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

Go to latest
Published: May 1, 2026 License: MIT Imports: 10 Imported by: 0

Documentation

Overview

Package output renders API responses in one of four formats: json (default), yaml, jsonl, table — optionally narrowed by --columns or filtered by --query (a small JSONPath subset). Epoch-millis date fields (anything with format=date-time-millis in the spec) are humanised to ISO-8601 across every format so jq pipelines and humans see the same readable timestamp.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func HumanizeDates

func HumanizeDates(v interface{}) interface{}

HumanizeDates is the exported entry point for the same transformation Print applies — used by hand-written commands (e.g. `bron tx subscribe`) that build their own output pipelines but still want ISO dates by default.

func Print

func Print(v interface{}) error

Print renders v according to the global format/query.

func PrintJSON

func PrintJSON(v interface{}) error

PrintJSON is kept as an alias for callers that want JSON regardless of globals.

func SanitizeForTerminal added in v0.3.6

func SanitizeForTerminal(s string) string

SanitizeForTerminal strips C0/C1 control bytes from a server-controlled string before it lands in a human-readable terminal context (table cells, stderr error fields). Without it, an attacker with workspace-write access could embed `\x1b]0;evil\x07` (title hijack) or `\r` (overwrite earlier columns) in account names / memos. JSON/YAML structured encoders escape control chars natively, so this is only needed on the raw-print path.

Keeps `\t` (column separator) and `\n` (line break in long strings).

func SetCellMax

func SetCellMax(n int)

SetCellMax sets the per-cell character cap for table output. 0 disables truncation entirely (useful on wide terminals where full IDs / addresses matter more than alignment). Negative or unset values keep the default.

func SetColumns

func SetColumns(c string)

SetColumns selects which fields to render in --output table. Comma-separated list (e.g. "transactionId,status,createdAt"). Empty disables filtering.

func SetDateKeys

func SetDateKeys(keys map[string]bool)

SetDateKeys configures the set of property names whose values are epoch-milliseconds — populated at CLI startup from the OpenAPI spec by collecting leaves with `format: "date-time-millis"`. Output formatters humanize values for these keys to ISO-8601 UTC. Empty set disables humanization entirely.

func SetFormat

func SetFormat(f string)

SetFormat updates the global output format. Empty string is ignored.

func SetQuery

func SetQuery(q string)

SetQuery updates the global JSONPath query. Empty string disables filtering.

Types

This section is empty.

Jump to

Keyboard shortcuts

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