git.delta.rocks / jrsonnet / refs/commits / 712f0045bec7

difftreelog

Merge pull request #16 from CertainLach/exec-to-string

Yaroslav Bulyukin2020-10-19parents: #e99c281 #f19080c.patch.diff
in: master
--exec should use toString format instead of standard json

2 files changed

modifiedcmds/jrsonnet/src/main.rsdiffbeforeafterboth
1use 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)?;
8080
81 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(),
modifiedcrates/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),