faq

package
v0.0.0-...-594bb8e Latest Latest
Warning

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

Go to latest
Published: Jan 9, 2022 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ExecuteProgram

func ExecuteProgram(input *[]byte, program string, programArgs ProgramArguments, rawOutput bool) ([]string, error)

ExecuteProgram takes input, a single JSON value, and runs program via libjq against it, returning the results.

func ProcessEachFile

func ProcessEachFile(inputFormat string, files []File, program string, programArgs ProgramArguments, outputWriter io.Writer, outputEncoding objconv.Encoding, outputConf OutputConfig, rawOutput bool) error

ProcessEachFile takes a list of files, and for each, attempts to convert it to a JSON value and runs ExecuteProgram against each.

func ProcessInput

func ProcessInput(input *[]byte, program string, programArgs ProgramArguments, outputWriter io.Writer, encoding objconv.Encoding, outputConf OutputConfig, rawOutput bool) error

ProcessInput takes input, a single JSON value, and runs program via libjq against it, writing the results to outputWriter.

func SlurpAllFiles

func SlurpAllFiles(inputFormat string, files []File, program string, programArgs ProgramArguments, outputWriter io.Writer, encoding objconv.Encoding, outputConf OutputConfig, rawOutput bool) error

SlurpAllFiles takes a list of files, and for each, attempts to convert it to a JSON value and appends each JSON value to an array, and passes that array as the input ExecuteProgram.

Types

type File

type File interface {
	Reader() *bufio.Reader
	Path() string
	Close() error
}

File is the interface that faq uses to read file contents, and get access to their path for file type detection.

func DetermineEncoding

func DetermineEncoding(format string, file File) (objconv.Encoding, File, error)

DetermineEncoding returns an Encoding based on a file format and an input file if input format is "auto". Since auto detection may consume the file, DetermineEncoding returns a copy of the original File.

type FileInfo

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

FileInfo is a file that is read lazily from an io.Reader and caches the file bytes for future reads.

func NewFile

func NewFile(path string, file io.ReadCloser) *FileInfo

NewFile returns a FileInfo from a given path and io.ReadCloser.

func OpenFile

func OpenFile(path string) (*FileInfo, error)

OpenFile returns a new FileInfo.

func (*FileInfo) Close

func (info *FileInfo) Close() error

Close closes the file.

func (*FileInfo) Path

func (info *FileInfo) Path() string

Path returns the path to the file

func (*FileInfo) Reader

func (info *FileInfo) Reader() *bufio.Reader

Reader returns a bufio.Reader wrapping the file opened.

type OutputConfig

type OutputConfig struct {
	Pretty bool
	Color  bool
}

OutputConfig contains configuration for out to print out values

type ProgramArguments

type ProgramArguments struct {
	Args       []string
	Jsonargs   []interface{}
	Kwargs     map[string]string
	Jsonkwargs map[string]interface{}
}

ProgramArguments contains the arguments to a JQ program

Jump to

Keyboard shortcuts

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