Skip to main content

rustenium_cdp_definitions/browser_protocol/file_system/
command_builders.rs

1use super::commands::*;
2impl GetDirectory {
3    pub fn builder() -> GetDirectoryBuilder {
4        <GetDirectoryBuilder as Default>::default()
5    }
6}
7#[derive(Default, Clone)]
8pub struct GetDirectoryBuilder {
9    bucket_file_system_locator: Option<super::types::BucketFileSystemLocator>,
10}
11impl GetDirectoryBuilder {
12    pub fn bucket_file_system_locator(
13        mut self,
14        bucket_file_system_locator: impl Into<super::types::BucketFileSystemLocator>,
15    ) -> Self {
16        self.bucket_file_system_locator = Some(bucket_file_system_locator.into());
17        self
18    }
19    pub fn build(self) -> Result<GetDirectory, String> {
20        Ok(GetDirectory {
21            method: GetDirectoryMethod::GetDirectory,
22            params: GetDirectoryParams {
23                bucket_file_system_locator: self.bucket_file_system_locator.ok_or_else(|| {
24                    format!(
25                        "Field `{}` is mandatory.",
26                        std::stringify!(bucket_file_system_locator)
27                    )
28                })?,
29            },
30        })
31    }
32}