Documentation
¶
Index ¶
- func ExpandMapFunc(values map[string]string, objName string, ...) map[string]string
- type Expander
- func (exp *Expander) Evaluate(ctx context.Context, input string, args []string) string
- func (exp *Expander) Expand(ctx context.Context, text string, values map[string]string) string
- func (exp *Expander) ExpandCommands(ctx context.Context, cmds types.Commands) types.Commands
- func (exp *Expander) ExpandMap(ctx context.Context, kv map[string]string) map[string]string
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ExpandMapFunc ¶
func ExpandMapFunc(values map[string]string, objName string, lookup, preprocess func(string) string) map[string]string
ExpandMapFunc expands JavaScript template literals in map values. It binds a dynamic object with the given name to the JS runtime, using lookup to resolve property accesses. Each value is optionally preprocessed with preprocess before expansion (pass nil to skip).
Types ¶
type Expander ¶
type Expander struct {
// contains filtered or unexported fields
}
Expander expands JavaScript template literals in strings. It can be configured with an environment provider for ${env.X} access and/or agent tools for ${tool({...})} calls.
func NewEvaluator ¶
NewEvaluator creates a new Expander with the given tools (for command evaluation).
func NewJsExpander ¶
func NewJsExpander(env environment.Provider) *Expander
NewJsExpander creates a new Expander with the given environment provider.
func (*Expander) Evaluate ¶ added in v1.45.0
Evaluate finds and evaluates ${...} JavaScript expressions in the input string. args are available as the 'args' array in JavaScript.
func (*Expander) Expand ¶
Expand expands JavaScript template literals using the provided values map. The values are bound as top-level variables in the JS runtime alongside env and tools bindings.
func (*Expander) ExpandCommands ¶
ExpandCommands expands JavaScript template literals in all command fields.