gistools/readers/gtfs/schedule/
networks.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 GTFSNetwork {
13 pub network_id: String,
16 pub network_name: Option<String>,
19}
20impl GTFSNetwork {
21 pub fn new(source: &str) -> BTreeMap<String, GTFSNetwork> {
23 let mut res = BTreeMap::new();
24 for record in parse_csv_as_record::<GTFSNetwork>(source, None, None) {
25 res.insert(record.network_id.clone(), record);
26 }
27 res
28 }
29}