logisheets_controller/calc_engine/calculator/funcs/
concatenate.rs1use crate::calc_engine::calculator::calc_vertex::{CalcValue, CalcVertex, Value};
2use crate::calc_engine::connector::Connector;
3use logisheets_parser::ast;
4
5pub fn calc<C>(args: Vec<CalcVertex>, fetcher: &mut C) -> CalcVertex
6where
7 C: Connector,
8{
9 assert_or_return!(args.len() == 2, ast::Error::Unspecified);
10 let mut args_iter = args.into_iter();
11 let first = fetcher.get_calc_value(args_iter.next().unwrap());
12 assert_text_from_calc_value!(first_str, first);
13 let second = fetcher.get_calc_value(args_iter.next().unwrap());
14 assert_text_from_calc_value!(second_str, second);
15 CalcVertex::from_string(first_str + &second_str)
16}