poke_data/models/
region.rs

1use crate::models::localized_names::LocalizedStrings;
2use crate::traits::has_identifier::HasIdentifier;
3use crate::traits::has_localized_names::HasLocalizedNames;
4use serde::{Deserialize, Serialize};
5
6pub type RegionId = u16;
7
8#[derive(Debug, Clone, Serialize, Deserialize)]
9pub struct Region {
10    pub id: RegionId,
11    pub identifier: String,
12    pub names: LocalizedStrings,
13}
14
15impl HasIdentifier for Region {
16    fn identifier(&self) -> &str {
17        &self.identifier
18    }
19}
20
21impl HasLocalizedNames for Region {
22    fn localized_names(&self) -> &LocalizedStrings {
23        &self.names
24    }
25}