[][src]Struct brawl_api::model::players::battlelog::BattlePlayer

pub struct BattlePlayer {
    pub tag: String,
    pub name: String,
    pub brawler: BattleBrawler,
}

Represents a player in a BattleResultInfo object, with only partial data about it (note that the brawler field is exclusive to this struct, representing the brawler the player was using during the battle). One can use Player::fetch_from to obtain a full Player instance from an existing BattlePlayer instance.

Fields

tag: String

The player's tag.

name: String

The player's name.

brawler: BattleBrawler

The brawler the player was using during the battle.

Trait Implementations

impl Clone for BattlePlayer[src]

impl Debug for BattlePlayer[src]

impl Default for BattlePlayer[src]

fn default() -> BattlePlayer[src]

Returns an instance of BattlePlayer with initial values.

Examples

use brawl_api::{BattlePlayer, BattleBrawler};

assert_eq!(
    BattlePlayer::default(),
    BattlePlayer {
        tag: String::from(""),
        name: String::from(""),
        brawler: BattleBrawler::default(),
    }
);

impl<'de> Deserialize<'de> for BattlePlayer[src]

impl Eq for BattlePlayer[src]

impl FetchFrom<BattlePlayer> for Player[src]

fn fetch_from(client: &Client, b_player: &BattlePlayer) -> Result<Player>[src]

(Async) Fetches a Player instance, given a preexisting BattlePlayer instance.

Errors

See Player::fetch.

Examples

This example is not tested
use brawl_api::{
    Client, Player, BattleLog, Battle, BattleResultInfo, BattlePlayer,
    traits::*
};

let my_client = Client::new("my auth token");
let battlelog = BattleLog::fetch(&my_client, "#PLAYER_TAG_HERE")?;
let most_recent_battle: Option<&Battle> = battlelog.get(0);

if let Some(battle) = most_recent_battle {
    if let Some(ref teams) = &battle.result.teams {
        let some_b_player: &BattlePlayer = &teams[0][0];
        let some_player = Player::fetch_from(&my_client, some_b_player)?;
        // now `some_b_player`'s full data, as a Player, is available for use.
    }
}

fn a_fetch_from<'life0, 'life1, 'async_trait>(
    client: &'life0 Client,
    b_player: &'life1 BattlePlayer
) -> Pin<Box<dyn Future<Output = Result<Player>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    'life1: 'async_trait, 
[src]

(Async) Fetches a Player instance, given a preexisting BattlePlayer instance.

Errors

See Player::fetch.

Examples

This example is not tested
use brawl_api::{
    Client, Player, BattleLog, Battle, BattleResultInfo, BattlePlayer,
    traits::*
};

let my_client = Client::new("my auth token");
let battlelog = BattleLog::a_fetch(&my_client, "#PLAYER_TAG_HERE").await?;
let most_recent_battle: Option<&Battle> = battlelog.get(0);

if let Some(battle) = most_recent_battle {
    if let Some(ref teams) = &battle.result.teams {
        let some_b_player: &BattlePlayer = &teams[0][0];
        let some_player = Player::a_fetch_from(&my_client, some_b_player).await?;
        // now `some_b_player`'s full data, as a Player, is available for use.
    }
}

impl Hash for BattlePlayer[src]

impl PartialEq<BattlePlayer> for BattlePlayer[src]

impl Serialize for BattlePlayer[src]

impl StructuralEq for BattlePlayer[src]

impl StructuralPartialEq for BattlePlayer[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: Deserialize<'de>, 
[src]

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

impl<T> FetchFrom<T> for T where
    T: Clone + Send + Sync
[src]

fn fetch_from(&Client, &T) -> Result<T, Error>[src]

(Sync) Returns a copy of the current instance when attempting to fetch from itself. In order to re-fetch, see Refetchable.

Errors

Never errors; is only a Result in order to match the trait signature.

fn a_fetch_from<'life0, 'life1, 'async_trait>(
    &'life0 Client,
    &'life1 T
) -> Pin<Box<dyn Future<Output = Result<T, Error>> + 'async_trait + Send>> where
    'life0: 'async_trait,
    'life1: 'async_trait,
    T: 'async_trait, 
[src]

(Async) Returns a copy of the current instance when attempting to fetch from itself. In order to re-fetch, see Refetchable.

Errors

Never errors; is only a Result in order to match the trait signature.

impl<T, U> FetchInto<U> for T where
    T: Sync + Send,
    U: FetchFrom<T> + Sync + Send
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.