1use cli_core::CommandError;
4use cli_core::eval::Rendered;
5use rpc::Session;
6
7pub use cli_core::eval::{RenderMode, build_create_transaction_form, escape_str};
8
9pub async fn eval_print(
10 session: &mut Session,
11 form: &str,
12 mode: RenderMode,
13) -> Result<(), CommandError> {
14 match cli_core::eval::eval_form(session, form, mode).await? {
15 Rendered::Lines(lines) => {
16 for line in lines {
17 println!("{line}");
18 }
19 }
20 Rendered::Bytes(b) => {
21 std::io::Write::write_all(&mut std::io::stdout(), &b)
22 .map_err(|e| CommandError::Command(format!("config-value stdout write: {e}")))?;
23 }
24 Rendered::Nothing => {}
25 }
26 Ok(())
27}