mirror of
https://github.com/nushell/nushell.git
synced 2025-08-09 07:16:05 +02:00
Add functions for each Value
case (#9736)
# Description This PR ensures functions exist to extract and create each and every `Value` case. It also renames `Value::boolean` to `Value::bool` to match `Value::test_bool`, `Value::as_bool`, and `Value::Bool`. Similarly, `Value::as_integer` was renamed to `Value::as_int` to be consistent with `Value::int`, `Value::test_int`, and `Value::Int`. These two renames can be undone if necessary. # User-Facing Changes No user facing changes, but two public functions were renamed which may affect downstream dependents.
This commit is contained in:
@ -121,7 +121,7 @@ pub fn eval_call(
|
||||
} else if let Some(value) = &named.default_value {
|
||||
callee_stack.add_var(var_id, value.to_owned());
|
||||
} else {
|
||||
callee_stack.add_var(var_id, Value::boolean(true, call.head))
|
||||
callee_stack.add_var(var_id, Value::bool(true, call.head))
|
||||
}
|
||||
found = true;
|
||||
}
|
||||
@ -133,7 +133,7 @@ pub fn eval_call(
|
||||
} else if let Some(value) = &named.default_value {
|
||||
callee_stack.add_var(var_id, value.to_owned());
|
||||
} else {
|
||||
callee_stack.add_var(var_id, Value::boolean(true, call.head))
|
||||
callee_stack.add_var(var_id, Value::bool(true, call.head))
|
||||
}
|
||||
found = true;
|
||||
}
|
||||
@ -141,7 +141,7 @@ pub fn eval_call(
|
||||
|
||||
if !found {
|
||||
if named.arg.is_none() {
|
||||
callee_stack.add_var(var_id, Value::boolean(false, call.head))
|
||||
callee_stack.add_var(var_id, Value::bool(false, call.head))
|
||||
} else if let Some(value) = named.default_value {
|
||||
callee_stack.add_var(var_id, value);
|
||||
} else {
|
||||
@ -275,7 +275,7 @@ pub fn eval_expression(
|
||||
expr: &Expression,
|
||||
) -> Result<Value, ShellError> {
|
||||
match &expr.expr {
|
||||
Expr::Bool(b) => Ok(Value::boolean(*b, expr.span)),
|
||||
Expr::Bool(b) => Ok(Value::bool(*b, expr.span)),
|
||||
Expr::Int(i) => Ok(Value::int(*i, expr.span)),
|
||||
Expr::Float(f) => Ok(Value::float(*f, expr.span)),
|
||||
Expr::Binary(b) => Ok(Value::Binary {
|
||||
@ -367,7 +367,7 @@ pub fn eval_expression(
|
||||
Expr::UnaryNot(expr) => {
|
||||
let lhs = eval_expression(engine_state, stack, expr)?;
|
||||
match lhs {
|
||||
Value::Bool { val, .. } => Ok(Value::boolean(!val, expr.span)),
|
||||
Value::Bool { val, .. } => Ok(Value::bool(!val, expr.span)),
|
||||
_ => Err(ShellError::TypeMismatch {
|
||||
err_message: "bool".to_string(),
|
||||
span: expr.span,
|
||||
@ -384,7 +384,7 @@ pub fn eval_expression(
|
||||
match boolean {
|
||||
Boolean::And => {
|
||||
if lhs.is_false() {
|
||||
Ok(Value::boolean(false, expr.span))
|
||||
Ok(Value::bool(false, expr.span))
|
||||
} else {
|
||||
let rhs = eval_expression(engine_state, stack, rhs)?;
|
||||
lhs.and(op_span, &rhs, expr.span)
|
||||
@ -392,7 +392,7 @@ pub fn eval_expression(
|
||||
}
|
||||
Boolean::Or => {
|
||||
if lhs.is_true() {
|
||||
Ok(Value::boolean(true, expr.span))
|
||||
Ok(Value::bool(true, expr.span))
|
||||
} else {
|
||||
let rhs = eval_expression(engine_state, stack, rhs)?;
|
||||
lhs.or(op_span, &rhs, expr.span)
|
||||
|
@ -337,7 +337,7 @@ impl<'e, 's> ScopeData<'e, 's> {
|
||||
Value::nothing(span),
|
||||
Value::string("input", span),
|
||||
Value::string(input_type.to_shape().to_string(), span),
|
||||
Value::boolean(false, span),
|
||||
Value::bool(false, span),
|
||||
Value::nothing(span),
|
||||
Value::nothing(span),
|
||||
Value::nothing(span),
|
||||
@ -352,7 +352,7 @@ impl<'e, 's> ScopeData<'e, 's> {
|
||||
Value::string(&req.name, span),
|
||||
Value::string("positional", span),
|
||||
Value::string(req.shape.to_string(), span),
|
||||
Value::boolean(false, span),
|
||||
Value::bool(false, span),
|
||||
Value::nothing(span),
|
||||
Value::string(&req.desc, span),
|
||||
Value::string(
|
||||
@ -375,7 +375,7 @@ impl<'e, 's> ScopeData<'e, 's> {
|
||||
Value::string(&opt.name, span),
|
||||
Value::string("positional", span),
|
||||
Value::string(opt.shape.to_string(), span),
|
||||
Value::boolean(true, span),
|
||||
Value::bool(true, span),
|
||||
Value::nothing(span),
|
||||
Value::string(&opt.desc, span),
|
||||
Value::string(
|
||||
@ -402,7 +402,7 @@ impl<'e, 's> ScopeData<'e, 's> {
|
||||
Value::string(if rest.name == "rest" { "" } else { &rest.name }, span),
|
||||
Value::string("rest", span),
|
||||
Value::string(rest.shape.to_string(), span),
|
||||
Value::boolean(true, span),
|
||||
Value::bool(true, span),
|
||||
Value::nothing(span),
|
||||
Value::string(&rest.desc, span),
|
||||
Value::string(
|
||||
@ -449,7 +449,7 @@ impl<'e, 's> ScopeData<'e, 's> {
|
||||
Value::string(&named.long, span),
|
||||
flag_type,
|
||||
shape,
|
||||
Value::boolean(!named.required, span),
|
||||
Value::bool(!named.required, span),
|
||||
short_flag,
|
||||
Value::string(&named.desc, span),
|
||||
Value::string(custom_completion_command_name, span),
|
||||
@ -474,7 +474,7 @@ impl<'e, 's> ScopeData<'e, 's> {
|
||||
Value::nothing(span),
|
||||
Value::string("output", span),
|
||||
Value::string(output_type.to_shape().to_string(), span),
|
||||
Value::boolean(false, span),
|
||||
Value::bool(false, span),
|
||||
Value::nothing(span),
|
||||
Value::nothing(span),
|
||||
Value::nothing(span),
|
||||
|
Reference in New Issue
Block a user