polars_view/
file_extension.rs1use crate::PathExtension;
2use std::path::Path;
3
4#[derive(Debug, Clone, PartialEq, Eq)]
6pub enum FileExtension {
7 Csv,
9 Json,
11 NDJson,
13 Parquet,
15 Unknown(String),
17 Missing,
19}
20
21impl FileExtension {
22 pub fn from_path(path: &Path) -> Self {
24 match path
25 .extension_as_lowercase()
26 .as_deref() {
28 Some("csv") => FileExtension::Csv,
29 Some("json") => FileExtension::Json,
30 Some("ndjson") => FileExtension::NDJson,
31 Some("parquet") => FileExtension::Parquet,
32 Some(ext) => FileExtension::Unknown(ext.to_owned()),
33 None => FileExtension::Missing,
34 }
35 }
36}