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),
Date(DateTime<FixedOffset>, DateTime<FixedOffset>),
DateDuration(DateTime<FixedOffset>, BigInt),
TimeDuration(BigInt, BigInt),
Booleans(bool, bool),
}
@ -104,6 +105,7 @@ impl CompareValues {
right.cmp(left)
}
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)) => {
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())),
})
}