difftreelog
Merge pull request #16 from CertainLach/exec-to-string
in: master
--exec should use toString format instead of standard json
2 files changed
cmds/jrsonnet/src/main.rsdiffbeforeafterboth1use clap::Clap;1use clap::Clap;2use jrsonnet_cli::{ConfigureState, GeneralOpts, InputOpts, ManifestOpts, OutputOpts};2use jrsonnet_cli::{ConfigureState, GeneralOpts, InputOpts, ManifestOpts, OutputOpts};3use jrsonnet_evaluator::{error::LocError, EvaluationState};3use jrsonnet_evaluator::{error::LocError, EvaluationState, ManifestFormat};4use std::{4use std::{5 fs::{create_dir_all, File},5 fs::{create_dir_all, File},6 io::Write,6 io::Write,79 opts.manifest.configure(&state)?;79 opts.manifest.configure(&state)?;808081 let val = if opts.input.exec {81 let val = if opts.input.exec {82 state.set_manifest_format(ManifestFormat::ToString);82 state.evaluate_snippet_raw(83 state.evaluate_snippet_raw(83 Rc::new(PathBuf::from("args")),84 Rc::new(PathBuf::from("args")),84 (&opts.input.input as &str).into(),85 (&opts.input.input as &str).into(),crates/jrsonnet-evaluator/src/val.rsdiffbeforeafterboth--- a/crates/jrsonnet-evaluator/src/val.rs
+++ b/crates/jrsonnet-evaluator/src/val.rs
@@ -201,6 +201,7 @@
YamlStream(Box<ManifestFormat>),
Yaml(usize),
Json(usize),
+ ToString,
String,
}
@@ -357,6 +358,7 @@
}
ManifestFormat::Yaml(padding) => self.to_yaml(*padding)?,
ManifestFormat::Json(padding) => self.to_json(*padding)?,
+ ManifestFormat::ToString => self.to_string()?,
ManifestFormat::String => match self {
Self::Str(s) => s.clone(),
_ => throw!(StringManifestOutputIsNotAString),