alibabacloud-rum 0.1.0

Alibaba Cloud RUM SDK for native Rust applications.
Documentation
use std::time::SystemTime;

use uuid::Uuid;

use super::uuid_string;

pub(crate) struct ViewState {
    view_id: Uuid,
    view_name: String,
    #[allow(dead_code)]
    started_at: SystemTime,
    #[allow(dead_code)]
    loading_type: LoadingType,
}

pub(crate) enum LoadingType {
    InitialLoad,
    #[allow(dead_code)]
    RouteChange,
}

impl ViewState {
    pub fn initial() -> Self {
        Self {
            view_id: Uuid::new_v4(),
            view_name: "main-view".to_string(),
            started_at: SystemTime::now(),
            loading_type: LoadingType::InitialLoad,
        }
    }

    pub fn id_string(&self) -> String {
        uuid_string(self.view_id)
    }

    pub fn name(&self) -> &str {
        &self.view_name
    }
}