added the ability to compare time units like 1hr < 2hr (#3845)

This commit is contained in:
Darren Schroeder 2021-07-26 15:19:32 -05:00 committed by GitHub
parent d54d7cc431
commit e4c282f0a6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -78,6 +78,7 @@ pub enum CompareValues {
String(String, String), String(String, String),
Date(DateTime<FixedOffset>, DateTime<FixedOffset>), Date(DateTime<FixedOffset>, DateTime<FixedOffset>),
DateDuration(DateTime<FixedOffset>, BigInt), DateDuration(DateTime<FixedOffset>, BigInt),
TimeDuration(BigInt, BigInt),
Booleans(bool, bool), Booleans(bool, bool),
} }
@ -104,6 +105,7 @@ impl CompareValues {
right.cmp(left) right.cmp(left)
} }
CompareValues::Booleans(left, right) => left.cmp(right), CompareValues::Booleans(left, right) => left.cmp(right),
CompareValues::TimeDuration(left, right) => left.cmp(right),
} }
} }
} }
@ -174,6 +176,9 @@ pub fn coerce_compare_primitive(
(String(left), FilePath(right)) => { (String(left), FilePath(right)) => {
CompareValues::String(left.clone(), right.as_path().display().to_string()) CompareValues::String(left.clone(), right.as_path().display().to_string())
} }
(Duration(left), Duration(right)) => {
CompareValues::TimeDuration(left.clone(), right.clone())
}
_ => return Err((left.type_name(), right.type_name())), _ => return Err((left.type_name(), right.type_name())),
}) })
} }