cliparamsatisfier

package
v0.0.0-...-b097151 Latest Latest
Warning

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

Go to latest
Published: Dec 17, 2020 License: MIT Imports: 17 Imported by: 0

README

problem statement

lib for satisfying CLI params

features

  • cross platform terminal support
  • hiding secret param prompts
  • API exposed via interface
  • fake implementation to allow faking interactions

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CLIParamSatisfier

type CLIParamSatisfier interface {
	InputSrcFactory

	Satisfy(
		inputSourcer InputSourcer,
		inputs map[string]*model.Param,
	) map[string]*model.Value
}

CLIParamSatisfier attempts to satisfy the provided inputs via the provided inputSourcer

if all fails an error is logged and we exit with a nonzero code.

func New

func New(
	cliExiter cliexiter.CliExiter,
	cliOutput clioutput.CliOutput,
) CLIParamSatisfier

type InputSourcer

type InputSourcer interface {
	// contains filtered or unexported methods
}

func NewInputSourcer

func NewInputSourcer(
	sources ...inputsrc.InputSrc,
) InputSourcer

type InputSrcFactory

type InputSrcFactory interface {
	NewCliPromptInputSrc(
		inputs map[string]*model.Param,
	) inputsrc.InputSrc

	NewEnvVarInputSrc() inputsrc.InputSrc

	NewParamDefaultInputSrc(
		inputs map[string]*model.Param,
	) inputsrc.InputSrc

	NewSliceInputSrc(
		args []string,
		sep string,
	) inputsrc.InputSrc

	NewYMLFileInputSrc(
		filePath string,
	) (inputsrc.InputSrc, error)
}

Directories

Path Synopsis
Code generated by counterfeiter.
Code generated by counterfeiter.
fakes
Code generated by counterfeiter.
Code generated by counterfeiter.
internal
fakes
Code generated by counterfeiter.
Code generated by counterfeiter.

Jump to

Keyboard shortcuts

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