Documentation
¶
Overview ¶
Package execbatch evaluates ordinary !exec values with bounded concurrency.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Evaluate ¶
func Evaluate(ctx context.Context, input map[string]any, limit int, execute Executor) (map[string]any, error)
Evaluate copies a document and evaluates its !exec leaves. Only command execution is concurrent; discovery and result placement are serial and the caller's maps and slices remain untouched. This explicit evaluation API accepts string expressions as well as preserved YAML tags.
func Resolve ¶
func Resolve(config *schema.AtmosConfiguration, data map[string]any, skip []string, explicitTags bool) (map[string]any, error)
Resolve leaves serial evaluation unchanged and delegates only opted-in !exec work. The caller supplies the edition's explicit-tag policy for automatic evaluation.
Types ¶
type Executor ¶
Executor runs one command at its document path. Implementations must support concurrent calls.
func ShellExecutor ¶
ShellExecutor captures the caller's working directory and environment once for a batch. Stderr remains masked and each line is attributed to the expression's document path.