Skip to main content

previa_engine/
lib.rs

1mod assertions;
2mod core;
3mod execution;
4mod template;
5
6use std::collections::HashMap;
7
8use serde_json::Value;
9
10pub use core::types::{
11    AssertionResult, Pipeline, PipelineStep, RuntimeSpec, StepAssertion, StepExecutionResult,
12    StepRequest, StepResponse,
13};
14pub use execution::{
15    execute_pipeline, execute_pipeline_with_client, execute_pipeline_with_client_hooks,
16    execute_pipeline_with_hooks, execute_pipeline_with_specs_hooks,
17};
18
19pub fn render_template_value(
20    value: &Value,
21    context: &HashMap<String, StepExecutionResult>,
22    specs: Option<&[RuntimeSpec]>,
23) -> Value {
24    template::resolve::resolve_template_variables(value, context, specs)
25}
26
27pub fn render_template_value_simple(value: &Value) -> Value {
28    let context = HashMap::<String, StepExecutionResult>::new();
29    render_template_value(value, &context, None)
30}