open_pql/functions/cast/to_rank.rs
1use super::*;
2
3#[pqlfn(arg, rtn, eval)]
4pub fn to_rank(s: &str) -> Result<Option<PQLRank>, RuntimeError> {
5 s.parse::<PQLRank>().map_or_else(
6 |_| Err(RuntimeError::ToRankParseFailed(s.into())),
7 |r| Ok(Some(r)),
8 )
9}
10
11#[cfg(test)]
12mod tests {
13 use super::*;
14
15 #[test]
16 fn test_to_rank() {
17 assert!(to_rank(" K ").is_ok());
18 assert!(to_rank("Ks").is_err());
19 }
20}