(s: &str)
| 178 | } |
| 179 | |
| 180 | fn parse_multilinestring(s: &str) -> Option<Geometry> { |
| 181 | let inner = strip_parens(s)?; |
| 182 | let parts = split_top_level_parens(inner)?; |
| 183 | let lines: Option<Vec<Vec<[f64; 2]>>> = parts |
| 184 | .iter() |
| 185 | .map(|p| parse_coord_list(strip_parens(p.trim())?)) |
| 186 | .collect(); |
| 187 | Some(Geometry::MultiLineString { |
| 188 | coordinates: lines?, |
| 189 | }) |
| 190 | } |
| 191 | |
| 192 | fn parse_multipolygon(s: &str) -> Option<Geometry> { |
| 193 | let inner = strip_parens(s)?; |
no test coverage detected