textquery

package
v0.12.0 Latest Latest
Warning

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

Go to latest
Published: Dec 27, 2022 License: Apache-2.0 Imports: 8 Imported by: 6

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func JQ

func JQ[B ~byte, T stringhelper.String[B]](query string, data T) (string, error)

JQ runs jq over json data

func MarshalJsonOrYamlQueryResult added in v0.10.0

func MarshalJsonOrYamlQueryResult(
	result []any,
	marshalFunc func(in any) ([]byte, error),
) string

MarshalJsonOrYamlQueryResult from RunQuery

func Query added in v0.5.8

func Query(
	query string,
	extraValues []any,
	nextDoc DocIterFunc,
	handleResult QueryResultHandleFunc,
	options ...gojq.CompilerOption,
) (err error)

Query is a generic jq query wrapper

func RunQuery

func RunQuery(
	query *gojq.Query,
	object any,
	extraValues []any,
	options ...gojq.CompilerOption,
) (ret []any, err error)

RunQuery runs jq query over an object (map, slice)

if options contains gojq.WithVariables, length of extraValues should match variable count

func YQ added in v0.5.8

func YQ[B ~byte, T stringhelper.String[B]](query string, data T) (string, error)

YQ runs jq over yaml data

Types

type DocIterFunc added in v0.10.0

type DocIterFunc = func() (any, bool)

DocIterFunc unmarshals next available doc into golang any object (map, slice) return true when there is doc available, otherwise false

func NewJSONIterFunc added in v0.10.0

func NewJSONIterFunc(r io.Reader) DocIterFunc

func NewYAMLIterFunc added in v0.10.0

func NewYAMLIterFunc(r io.Reader) DocIterFunc

type QueryResultHandleFunc added in v0.10.0

type QueryResultHandleFunc = func(data any, result []any, queryErr error) error

QueryResultHandleFunc handles each query result NOTE: result can be a empty/nil slice when there was no matched content or query returned nothing

func CreateResultToTextHandleFuncForJsonOrYaml added in v0.10.0

func CreateResultToTextHandleFuncForJsonOrYaml(
	output io.StringWriter,
	marshalFunc func(in any) ([]byte, error),
) QueryResultHandleFunc

Jump to

Keyboard shortcuts

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