<commit_before>use types::PokeType;

mod generated_species_data;
use self::generated_species_data::SPECIES;

#[derive(Debug, Eq, PartialEq, Hash)]
/// Information about a specific Pokemon species.
pub struct SpeciesData {
    id: u16,
    attack: u16,
    defense: u16,
    stamina: u16,
    primary_type: PokeType,
    secondary_type: Option<PokeType>
}


impl SpeciesData {
    /// Given the id of a species, return its corresponding data. Return `None` if no data is found for
    /// the given id.
    ///
    /// ## Example:
    ///
    /// ```
    /// use pokemon_go_data::SpeciesData;
    ///
    /// let dragonite = SpeciesData::from_id(149).unwrap();
    /// assert_eq!((263, 201, 182), dragonite.base_stats());
    ///
    /// let no_such_pokemon = SpeciesData::from_id(500);
    /// assert!(no_such_pokemon.is_none());
    /// ```
    pub fn from_id(id: u16) -> Option<&'static SpeciesData> {
        SPECIES
            .iter()
            .find(|p| p.id() == id)
    }

    /// Return a list of all `SpeciesData`, sorted by id.
    ///
    /// ## Example:
    ///
    /// ```
    /// use pokemon_go_data::SpeciesData;
    /// let all_species = SpeciesData::all_species();
    ///
    /// assert_eq!(251, all_species.len());
    /// assert_eq!(1, all_species[0].id());
    /// ```
    pub fn all_species() -> &'static [SpeciesData] {
        SPECIES
    }

    /// This species' id.
    pub fn id(&self) -> u16 {
        self.id
    }

    /// This species' base attack value.
    pub fn attack(&self) -> u16 {<commit_msg>Minor doc formatting tweak<commit_after>use types::PokeType;

mod generated_species_data;
use self::generated_species_data::SPECIES;

#[derive(Debug, Eq, PartialEq, Hash)]
/// Information about a specific Pokemon species.
pub struct SpeciesData {
    id: u16,
    attack: u16,
    defense: u16,
    stamina: u16,
    primary_type: PokeType,
    secondary_type: Option<PokeType>
}


impl SpeciesData {
    /// Given the id of a species, return its corresponding data. Return `None` if no data is found for
    /// the given id.
    ///
    /// ## Example:
    ///
    /// ```
    /// use pokemon_go_data::SpeciesData;
    ///
    /// let dragonite = SpeciesData::from_id(149).unwrap();
    /// assert_eq!((263, 201, 182), dragonite.base_stats());
    ///
    /// let no_such_pokemon = SpeciesData::from_id(500);
    /// assert!(no_such_pokemon.is_none());
    /// ```
    pub fn from_id(id: u16) -> Option<&'static SpeciesData> {
        SPECIES
            .iter()
            .find(|p| p.id() == id)
    }

    /// Return a list of all `SpeciesData`, sorted by id.
    ///
    /// ## Example:
    ///
    /// ```
    /// use pokemon_go_data::SpeciesData;
    ///
    /// let all_species = SpeciesData::all_species();
    ///
    /// assert_eq!(251, all_species.len());
    /// assert_eq!(1, all_species[0].id());
    /// ```
    pub fn all_species() -> &'static [SpeciesData] {
        SPECIES
    }

    /// This species' id.
    pub fn id(&self) -> u16 {
        self.id
    }

    /// This species' base attack value.
    pub fn attack(&self) -> u16 {
{'fraction_non_alphanumeric': 0.17190029135642604, 'fraction_numerical': 0.022013596633214633, 'mean_word_length': 2.1149193548387095, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 15, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5251455', 'n_tokens_mistral': 1096, 'n_tokens_neox': 1031, 'n_words': 245}