use crate::eval::evaluate_expr;
use crate::eval::functions::{check_arity_len, EvalCtx};
use crate::parser::ast::Expr;
use crate::types::{ErrorKind, Value};
pub fn formulatext_fn(args: &[Expr], _ctx: &mut EvalCtx<'_>) -> Value {
if let Some(err) = check_arity_len(args.len(), 1, 1) {
return err;
}
Value::Error(ErrorKind::NA)
}
pub fn getpivotdata_fn(args: &[Expr], _ctx: &mut EvalCtx<'_>) -> Value {
if args.is_empty() {
return Value::Error(ErrorKind::NA);
}
Value::Error(ErrorKind::NA)
}
pub fn offset_fn(args: &[Expr], _ctx: &mut EvalCtx<'_>) -> Value {
if args.is_empty() {
return Value::Error(ErrorKind::NA);
}
Value::Error(ErrorKind::NA)
}
pub fn sheet_fn(args: &[Expr], ctx: &mut EvalCtx<'_>) -> Value {
match args.len() {
0 => Value::Number(1.0),
1 => {
let val = evaluate_expr(&args[0], ctx);
match val {
Value::Text(_) => Value::Error(ErrorKind::Ref),
Value::Error(e) => Value::Error(e),
_ => Value::Error(ErrorKind::NA),
}
}
_ => Value::Error(ErrorKind::NA),
}
}