evaluate_module

Function evaluate_module 

Source
pub fn evaluate_module(
    module_root: &Path,
    package_name: &str,
    options: Option<ModuleEvalOptions>,
) -> Result<ModuleResult>
Expand description

Evaluates CUE instances in a module and returns results with optional source metadata

This function evaluates CUE files in a module using native CUE loading patterns:

  • recursive: true → equivalent to cue eval ./...
  • recursive: false → equivalent to cue eval .

§Arguments

  • module_root - Path to the CUE module root (directory containing cue.mod/)
  • package_name - Name of the CUE package to evaluate (legacy parameter, prefer using options.package_name)
  • options - Evaluation options:
    • with_meta: Extract source positions into separate meta map
    • recursive: Evaluate entire module tree (./…) or just current directory (.)
    • package_name: Filter to specific package (takes precedence over legacy parameter)

§Returns

A ModuleResult containing:

  • instances: Map of relative paths to their evaluated JSON values
  • meta: Map of “path/field” to source locations (only when with_meta: true)

§Errors

Returns an error if:

  • The module root path is invalid
  • The CUE module cannot be loaded
  • All CUE instances fail evaluation