Documentation ¶
Overview ¶
Package text includes utilities for working with text that might contain variables.
Index ¶
- func ContainsEnvVariables(inBytes []byte) bool
- func ContainsFunctionVariables(inBytes []byte) bool
- func ReplaceEnvVariables(inBytes []byte) []byte
- func ReplaceFunctionVariables(msg Message, inBytes []byte) []byte
- func ReplaceFunctionVariablesEscaped(msg Message, inBytes []byte) []byte
- func ReplaceFunctionVariablesEscapedFor(msg Message, index int, inBytes []byte) []byte
- func ReplaceFunctionVariablesFor(msg Message, index int, inBytes []byte) []byte
- type InterpolatedBytes
- type InterpolatedString
- type Message
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ContainsEnvVariables ¶
ContainsEnvVariables returns true if inBytes contains environment variable replace patterns.
func ContainsFunctionVariables ¶
ContainsFunctionVariables returns true if inBytes contains function variable replace patterns.
func ReplaceEnvVariables ¶
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 ¶
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 ¶
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.
func ReplaceFunctionVariablesEscapedFor ¶ added in v3.12.0
ReplaceFunctionVariablesEscapedFor 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 along with the specific index of the message part that this function should be resolved for.
func ReplaceFunctionVariablesFor ¶ added in v3.12.0
ReplaceFunctionVariablesFor 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 along with the specific index of the message part that this function should be resolved for.
Types ¶
type InterpolatedBytes ¶
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 ¶
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 ¶
func (i *InterpolatedBytes) Get(msg Message) []byte
Get evaluates functions within the byte slice and returns the result.
type InterpolatedString ¶
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 ¶
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 ¶
func (i *InterpolatedString) Get(msg Message) string
Get evaluates functions within the original string and returns the result.