(value: &str)
| 156 | } |
| 157 | |
| 158 | pub(crate) fn parse_iso_date(value: &str) -> Option<IsoDate> { |
| 159 | let bytes = value.as_bytes(); |
| 160 | if bytes.len() != 10 || bytes[4] != b'-' || bytes[7] != b'-' { |
| 161 | return None; |
| 162 | } |
| 163 | let year = parse_digits(&bytes[0..4])? as i32; |
| 164 | let month = parse_digits(&bytes[5..7])?; |
| 165 | let day = parse_digits(&bytes[8..10])?; |
| 166 | IsoDate::from_ymd(year, month, day) |
| 167 | } |
| 168 | |
| 169 | pub(crate) fn parse_digits(bytes: &[u8]) -> Option<u32> { |
| 170 | let mut value = 0; |
no test coverage detected