Convert ShellError::DatetimeParseError to named fields (#10991)

# Description

Part of #10700

# User-Facing Changes

None

# Tests + Formatting

- 🟢 `toolkit fmt`
- 🟢 `toolkit clippy`
- 🟢 `toolkit test`
- 🟢 `toolkit test stdlib`

# After Submitting

N/A
This commit is contained in:
Eric Hodel
2023-11-08 04:04:02 -08:00
committed by GitHub
parent d3ec3dc66b
commit 55316a9f27
8 changed files with 52 additions and 12 deletions

View File

@ -79,7 +79,10 @@ fn helper(value: Value, head: Span) -> Value {
}
Value::Date { val, .. } => Value::string(humanize_date(val), head),
_ => Value::error(
ShellError::DatetimeParseError(value.debug_value(), head),
ShellError::DatetimeParseError {
msg: value.debug_value(),
span: head,
},
head,
),
}

View File

@ -121,7 +121,13 @@ fn helper(val: Value, head: Span) -> Value {
parse_date_into_table(n, head)
}
Value::Date { val, .. } => parse_date_into_table(val, head),
_ => Value::error(DatetimeParseError(val.debug_value(), head), head),
_ => Value::error(
DatetimeParseError {
msg: val.debug_value(),
span: head,
},
head,
),
}
}

View File

@ -120,7 +120,13 @@ fn helper(val: Value, head: Span) -> Value {
parse_date_into_table(n, head)
}
Value::Date { val, .. } => parse_date_into_table(val, head),
_ => Value::error(DatetimeParseError(val.debug_value(), head), head),
_ => Value::error(
DatetimeParseError {
msg: val.debug_value(),
span: head,
},
head,
),
}
}

View File

@ -122,7 +122,10 @@ fn helper(value: Value, head: Span, timezone: &Spanned<String>) -> Value {
_to_timezone(dt.with_timezone(dt.offset()), timezone, head)
}
_ => Value::error(
ShellError::DatetimeParseError(value.debug_value(), head),
ShellError::DatetimeParseError {
msg: value.debug_value(),
span: head,
},
head,
),
}

View File

@ -15,13 +15,19 @@ pub(crate) fn parse_date_from_string(
LocalResult::Single(d) => Ok(d),
LocalResult::Ambiguous(d, _) => Ok(d),
LocalResult::None => Err(Value::error(
ShellError::DatetimeParseError(input.to_string(), span),
ShellError::DatetimeParseError {
msg: input.into(),
span,
},
span,
)),
}
}
Err(_) => Err(Value::error(
ShellError::DatetimeParseError(input.to_string(), span),
ShellError::DatetimeParseError {
msg: input.into(),
span,
},
span,
)),
}