playwright/imp/
video.rs

1use crate::imp::{artifact::Artifact, core::*, prelude::*};
2
3#[derive(Debug, Clone)]
4pub(crate) struct Video {
5    artifact: Weak<Artifact>
6}
7
8impl Video {
9    pub(crate) fn new(artifact: Weak<Artifact>) -> Self { Self { artifact } }
10
11    pub(crate) fn path(&self) -> Result<PathBuf, Error> {
12        Ok(upgrade(&self.artifact)?.absolute_path.as_str().into())
13    }
14
15    pub(crate) async fn save_as<P: AsRef<Path>>(&self, path: P) -> ArcResult<()> {
16        upgrade(&self.artifact)?.save_as(path).await
17    }
18
19    pub(crate) async fn delete(&self) -> ArcResult<()> { upgrade(&self.artifact)?.delete().await }
20}