gistools/readers/gtfs/schedule/
areas.rs1use crate::readers::csv::parse_csv_as_record;
2use alloc::{collections::BTreeMap, string::String};
3use s2json::MValueCompatible;
4
5#[derive(Debug, Default, Clone, PartialEq, MValueCompatible)]
12pub struct GTFSArea {
13 pub area_id: String,
16 pub area_name: Option<String>,
19}
20impl GTFSArea {
21 pub fn new(source: &str) -> BTreeMap<String, GTFSArea> {
23 let mut res = BTreeMap::new();
24 for record in parse_csv_as_record::<GTFSArea>(source, None, None) {
25 res.insert(record.area_id.clone(), record);
26 }
27 res
28 }
29}