text

package
Version: v1.20.4 Latest Latest
Warning

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

Go to latest
Published: May 13, 2019 License: MIT Imports: 11 Imported by: 6

Documentation

Overview

Package text includes utilities for working with text that might contain variables.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ContainsEnvVariables

func ContainsEnvVariables(inBytes []byte) bool

ContainsEnvVariables returns true if inBytes contains environment variable replace patterns.

func ContainsFunctionVariables added in v0.7.2

func ContainsFunctionVariables(inBytes []byte) bool

ContainsFunctionVariables returns true if inBytes contains function variable replace patterns.

func ReplaceEnvVariables

func ReplaceEnvVariables(inBytes []byte) []byte

ReplaceEnvVariables will search a blob of data for the pattern `${FOO:bar}`, where `FOO` is an environment variable name and `bar` is a default value. The `bar` section (including the colon) can be left out if there is no appropriate default value for the field.

For each aforementioned pattern found in the blob the contents of the respective environment variable will be read and will replace the pattern. If the environment variable is empty or does not exist then either the default value is used or the field will be left empty.

func ReplaceFunctionVariables added in v0.7.2

func ReplaceFunctionVariables(msg Message, inBytes []byte) []byte

ReplaceFunctionVariables will search a blob of data for the pattern `${!foo}`, where `foo` is a function name.

For each aforementioned pattern found in the blob the contents of the respective function will be run and will replace the pattern.

Some functions are able to extract contents and metadata from a message, and so a message must be supplied.

func ReplaceFunctionVariablesEscaped added in v0.23.7

func ReplaceFunctionVariablesEscaped(msg Message, inBytes []byte) []byte

ReplaceFunctionVariablesEscaped will search a blob of data for the pattern `${!foo}`, where `foo` is a function name.

For each aforementioned pattern found in the blob the contents of the respective function will be run and will replace the pattern.

The contents of the swapped pattern is escaped such that it can be safely injected within the contents of a JSON object.

Some functions are able to extract contents and metadata from a message, and so a message must be supplied.

Types

type InterpolatedBytes added in v0.20.8

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

InterpolatedBytes holds a byte slice that potentially has interpolation functions. Each time Get is called any functions are replaced with their evaluated results in the byte slice.

func NewInterpolatedBytes added in v0.20.8

func NewInterpolatedBytes(v []byte) *InterpolatedBytes

NewInterpolatedBytes returns a type that evaluates function interpolations on a provided byte slice each time Get is called.

func (*InterpolatedBytes) Get added in v0.20.8

func (i *InterpolatedBytes) Get(msg Message) []byte

Get evaluates functions within the byte slice and returns the result.

type InterpolatedString added in v0.20.8

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

InterpolatedString holds a string that potentially has interpolation functions. Each time Get is called any functions are replaced with their evaluated results in the string.

func NewInterpolatedString added in v0.20.8

func NewInterpolatedString(str string) *InterpolatedString

NewInterpolatedString returns a type that evaluates function interpolations on a provided string each time Get is called.

func (*InterpolatedString) Get added in v0.20.8

func (i *InterpolatedString) Get(msg Message) string

Get evaluates functions within the original string and returns the result.

type Message added in v0.20.0

type Message interface {
	Get(p int) types.Part
	Len() int
}

Message is an interface type to be given to a function interpolator, it allows the function to resolve fields and metadata from a message.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
t or T : Toggle theme light dark auto
y or Y : Canonical URL