cmdx

package
v1.0.3 Latest Latest
Warning

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

Go to latest
Published: Aug 2, 2022 License: Apache-2.0 Imports: 27 Imported by: 0

Documentation

Index

Constants

View Source
const (
	FlagEndpoint      = "endpoint"
	FlagSkipTLSVerify = "skip-tls-verify"
	FlagHeaders       = "http-header"
)
View Source
const (
	FlagPageSize  = "page-size"
	FlagPageToken = "page-token"
)
View Source
const (
	FormatQuiet      format = "quiet"
	FormatTable      format = "table"
	FormatJSON       format = "json"
	FormatYAML       format = "yaml"
	FormatJSONPretty format = "json-pretty"
	FormatDefault    format = "default"

	FlagFormat = "format"

	None = "<none>"
)
View Source
const (
	FlagQuiet = "quiet"
)

Variables

View Source
var (
	// ErrNilDependency is returned if a dependency is missing.
	ErrNilDependency = errors.New("a dependency was expected to be defined but is nil. Please open an issue with the stack trace")
	// ErrNoPrintButFail is returned to detect a failure state that was already reported to the user in some way
	ErrNoPrintButFail = errors.New("this error should never be printed")
)

Functions

func AskForConfirmation added in v0.0.453

func AskForConfirmation(s string, stdin io.Reader, stdout io.Writer) bool

asks for confirmation with the question string s and reads the answer pass nil to use os.Stdin and os.Stdout

func AskScannerForConfirmation added in v0.0.453

func AskScannerForConfirmation(s string, reader *bufio.Reader, stdout io.Writer) (bool, error)

func CheckResponse

func CheckResponse(err error, expectedStatusCode int, response *http.Response)

CheckResponse fatals if err is nil or the response.StatusCode does not match the expectedStatusCode

func EnvVarExamplesHelpMessage

func EnvVarExamplesHelpMessage(name string) string

EnvVarExamplesHelpMessage returns a string containing documentation on how to use environment variables.

func ExactArgs added in v0.0.6

func ExactArgs(cmd *cobra.Command, args []string, l int)

ExactArgs fatals if args does not equal l.

func Exec added in v0.0.453

func Exec(t testing.TB, cmd *cobra.Command, stdIn io.Reader, args ...string) (string, string, error)

Exec runs the provided cobra command with the given reader as STD_IN and the given args. Returns STD_OUT, STD_ERR and the error from the execution.

func ExecBackgroundCtx added in v0.0.453

func ExecBackgroundCtx(ctx context.Context, cmd *cobra.Command, stdIn io.Reader, stdOut, stdErr io.Writer, args ...string) *errgroup.Group

ExecBackgroundCtx runs the cobra command in the background.

func ExecCtx added in v0.0.453

func ExecCtx(ctx context.Context, cmd *cobra.Command, stdIn io.Reader, args ...string) (string, string, error)

func ExecExpectedErr added in v0.0.453

func ExecExpectedErr(t testing.TB, cmd *cobra.Command, args ...string) string

ExecExpectedErr is a helper that assumes a failing run from Exec returning ErrNoPrintButFail Returns STD_ERR.

func ExecExpectedErrCtx added in v0.0.453

func ExecExpectedErrCtx(ctx context.Context, t require.TestingT, cmd *cobra.Command, args ...string) string

func ExecNoErr added in v0.0.453

func ExecNoErr(t testing.TB, cmd *cobra.Command, args ...string) string

ExecNoErr is a helper that assumes a successful run from Exec. Returns STD_OUT.

func ExecNoErrCtx added in v0.0.453

func ExecNoErrCtx(ctx context.Context, t require.TestingT, cmd *cobra.Command, args ...string) string

func ExpectDependency added in v0.0.453

func ExpectDependency(logger *logrusx.Logger, dependencies ...interface{})

ExpectDependency expects every dependency to be not nil or it fatals.

func FailSilently added in v0.0.453

func FailSilently(cmd *cobra.Command) error

FailSilently is supposed to be used within a commands RunE function. It silences cobras error handling and returns the ErrNoPrintButFail error.

func Fatalf

func Fatalf(message string, args ...interface{})

Fatalf prints to os.Stderr and exists with code 1.

func FormatResponse

func FormatResponse(o interface{}) string

FormatResponse takes an object and prints a json.MarshalIdent version of it or fatals.

func MinArgs

func MinArgs(cmd *cobra.Command, args []string, min int)

MinArgs fatals if args does not satisfy min.

func Must

func Must(err error, message string, args ...interface{})

Must fatals with the optional message if err is not nil.

func NewClient added in v0.0.453

func NewClient(cmd *cobra.Command) (*http.Client, *url.URL, error)

NewClient creates a new HTTP client.

func ParsePaginationArgs added in v0.0.453

func ParsePaginationArgs(cmd *cobra.Command, pageArg, perPageArg string) (page, perPage int64, err error)

ParsePaginationArgs parses pagination arguments from the command line.

func ParseTokenPaginationArgs added in v0.0.453

func ParseTokenPaginationArgs(cmd *cobra.Command) (page string, perPage int, err error)

ParseTokenPaginationArgs parses token-based pagination arguments from the command line.

func PrintErrors added in v0.0.453

func PrintErrors(cmd *cobra.Command, errs map[string]error)

func PrintJSONAble added in v0.0.453

func PrintJSONAble(cmd *cobra.Command, d interface{ String() string })

func PrintOpenAPIError added in v0.0.453

func PrintOpenAPIError(cmd *cobra.Command, err error) error

func PrintRow added in v0.0.453

func PrintRow(cmd *cobra.Command, row TableRow)

func PrintTable added in v0.0.453

func PrintTable(cmd *cobra.Command, table Table)

func RangeArgs added in v0.0.6

func RangeArgs(cmd *cobra.Command, args []string, r []int)

RangeArgs fatals if args does not satisfy any of the lengths set in r.

func RegisterFormatFlags added in v0.0.453

func RegisterFormatFlags(flags *pflag.FlagSet)

func RegisterHTTPClientFlags added in v0.0.453

func RegisterHTTPClientFlags(flags *pflag.FlagSet)

RegisterHTTPClientFlags registers HTTP client configuration flags.

func RegisterJSONFormatFlags added in v0.0.453

func RegisterJSONFormatFlags(flags *pflag.FlagSet)

func RegisterNoiseFlags added in v0.0.453

func RegisterNoiseFlags(flags *pflag.FlagSet)

func RegisterTokenPaginationFlags added in v0.0.453

func RegisterTokenPaginationFlags(cmd *cobra.Command) (pageSize int, pageToken string)

func Remote added in v0.0.453

func Remote(cmd *cobra.Command) (string, error)

Remote returns the remote endpoint for the given command.

func RemoteURI added in v0.0.453

func RemoteURI(cmd *cobra.Command) (*url.URL, error)

RemoteURI returns the remote URI for the given command.

func Version

func Version(gitTag, gitHash, buildTime *string) *cobra.Command

Version returns a *cobra.Command that handles the `version` command.

func ZeroOrTwoArgs added in v0.0.453

func ZeroOrTwoArgs(cmd *cobra.Command, args []string) error

ZeroOrTwoArgs requires either no or 2 arguments.

Types

type CallbackWriter added in v0.0.453

type CallbackWriter struct {
	Callbacks map[string]func([]byte) error
	// contains filtered or unexported fields
}

CallbackWriter will execute each callback once the message is received. The full matched message is passed to the callback. An error returned from the callback is returned by Write.

func (*CallbackWriter) String added in v0.0.453

func (c *CallbackWriter) String() string

func (*CallbackWriter) Write added in v0.0.453

func (c *CallbackWriter) Write(msg []byte) (int, error)

type CommandExecuter added in v0.0.453

type CommandExecuter struct {
	New            func() *cobra.Command
	Ctx            context.Context
	PersistentArgs []string
}

func (*CommandExecuter) Exec added in v0.0.453

func (c *CommandExecuter) Exec(stdin io.Reader, args ...string) (string, string, error)

func (*CommandExecuter) ExecBackground added in v0.0.453

func (c *CommandExecuter) ExecBackground(stdin io.Reader, stdOut, stdErr io.Writer, args ...string) *errgroup.Group

func (*CommandExecuter) ExecExpectedErr added in v0.0.453

func (c *CommandExecuter) ExecExpectedErr(t require.TestingT, args ...string) string

func (*CommandExecuter) ExecNoErr added in v0.0.453

func (c *CommandExecuter) ExecNoErr(t require.TestingT, args ...string) string

type ConditionalPrinter added in v0.0.453

type ConditionalPrinter struct {
	// contains filtered or unexported fields
}

func NewConditionalPrinter added in v0.0.453

func NewConditionalPrinter(w io.Writer, print bool) *ConditionalPrinter

func NewLoudErrPrinter added in v0.0.453

func NewLoudErrPrinter(cmd *cobra.Command) *ConditionalPrinter

NewLoudErrPrinter returns a ConditionalPrinter that only prints to cmd.ErrOrStderr when --quiet is not set

func NewLoudOutPrinter added in v0.0.453

func NewLoudOutPrinter(cmd *cobra.Command) *ConditionalPrinter

NewLoudOutPrinter returns a ConditionalPrinter that only prints to cmd.OutOrStdout when --quiet is not set

func NewLoudPrinter added in v0.0.453

func NewLoudPrinter(cmd *cobra.Command, w io.Writer) *ConditionalPrinter

NewLoudPrinter returns a ConditionalPrinter that only prints to w when --quiet is not set

func NewQuietErrPrinter added in v0.0.453

func NewQuietErrPrinter(cmd *cobra.Command) *ConditionalPrinter

NewQuietErrPrinter returns a ConditionalPrinter that only prints to cmd.ErrOrStderr when --quiet is set

func NewQuietOutPrinter added in v0.0.453

func NewQuietOutPrinter(cmd *cobra.Command) *ConditionalPrinter

NewQuietOutPrinter returns a ConditionalPrinter that only prints to cmd.OutOrStdout when --quiet is set

func NewQuietPrinter added in v0.0.453

func NewQuietPrinter(cmd *cobra.Command, w io.Writer) *ConditionalPrinter

NewQuietPrinter returns a ConditionalPrinter that only prints to w when --quiet is set

func (*ConditionalPrinter) Print added in v0.0.453

func (p *ConditionalPrinter) Print(a ...interface{}) (n int, err error)

func (*ConditionalPrinter) Printf added in v0.0.453

func (p *ConditionalPrinter) Printf(format string, a ...interface{}) (n int, err error)

func (*ConditionalPrinter) Println added in v0.0.453

func (p *ConditionalPrinter) Println(a ...interface{}) (n int, err error)

type Nil added in v0.0.453

type Nil struct{}

func (Nil) Interface added in v0.0.453

func (Nil) Interface() interface{}

func (Nil) String added in v0.0.453

func (Nil) String() string

type OutputIder added in v0.0.453

type OutputIder string

OutputIder outputs an ID

func (OutputIder) Columns added in v0.0.453

func (i OutputIder) Columns() []string

func (OutputIder) Header added in v0.0.453

func (OutputIder) Header() []string

func (OutputIder) Interface added in v0.0.453

func (i OutputIder) Interface() interface{}

type OutputIderCollection added in v0.0.453

type OutputIderCollection struct {
	Items []OutputIder
}

OutputIderCollection outputs a list of IDs

func (OutputIderCollection) Header added in v0.0.453

func (OutputIderCollection) Header() []string

func (OutputIderCollection) Interface added in v0.0.453

func (c OutputIderCollection) Interface() interface{}

func (OutputIderCollection) Len added in v0.0.453

func (c OutputIderCollection) Len() int

func (OutputIderCollection) Table added in v0.0.453

func (c OutputIderCollection) Table() [][]string

type PaginatedList added in v0.0.453

type PaginatedList struct {
	Collection interface {
		Table
		IDs() []string
	} `json:"-"`
	Items         []interface{} `json:"items"`
	NextPageToken string        `json:"next_page_token"`
	IsLastPage    bool          `json:"is_last_page"`
}

func (*PaginatedList) Header added in v0.0.453

func (r *PaginatedList) Header() []string

func (*PaginatedList) IDs added in v0.0.453

func (r *PaginatedList) IDs() []string

func (*PaginatedList) Interface added in v0.0.453

func (r *PaginatedList) Interface() interface{}

func (*PaginatedList) Len added in v0.0.453

func (r *PaginatedList) Len() int

func (*PaginatedList) Table added in v0.0.453

func (r *PaginatedList) Table() [][]string

type Table added in v0.0.453

type Table interface {
	TableHeader
	Table() [][]string
	Interface() interface{}
	Len() int
}

type TableHeader added in v0.0.453

type TableHeader interface {
	Header() []string
}

type TableRow added in v0.0.453

type TableRow interface {
	TableHeader
	Columns() []string
	Interface() interface{}
}

Jump to

Keyboard shortcuts

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