Skip to main content

rustenium_cdp_definitions/browser_protocol/dom_storage/
command_builders.rs

1use super::commands::*;
2impl Clear {
3    pub fn builder() -> ClearBuilder {
4        <ClearBuilder as Default>::default()
5    }
6}
7#[derive(Default, Clone)]
8pub struct ClearBuilder {
9    storage_id: Option<super::types::StorageId>,
10}
11impl ClearBuilder {
12    pub fn storage_id(mut self, storage_id: impl Into<super::types::StorageId>) -> Self {
13        self.storage_id = Some(storage_id.into());
14        self
15    }
16    pub fn build(self) -> Result<Clear, String> {
17        Ok(Clear {
18            method: ClearMethod::Clear,
19            params: ClearParams {
20                storage_id: self.storage_id.ok_or_else(|| {
21                    format!("Field `{}` is mandatory.", std::stringify!(storage_id))
22                })?,
23            },
24        })
25    }
26}
27#[derive(Debug, Clone, Default)]
28pub struct DisableBuilder;
29impl DisableBuilder {
30    pub fn new() -> Self {
31        Self
32    }
33    pub fn build(self) -> Disable {
34        Disable {
35            method: DisableMethod::Disable,
36            params: DisableParams {},
37        }
38    }
39}
40impl Disable {
41    pub fn builder() -> DisableBuilder {
42        DisableBuilder
43    }
44}
45#[derive(Debug, Clone, Default)]
46pub struct EnableBuilder;
47impl EnableBuilder {
48    pub fn new() -> Self {
49        Self
50    }
51    pub fn build(self) -> Enable {
52        Enable {
53            method: EnableMethod::Enable,
54            params: EnableParams {},
55        }
56    }
57}
58impl Enable {
59    pub fn builder() -> EnableBuilder {
60        EnableBuilder
61    }
62}
63impl GetDomStorageItems {
64    pub fn builder() -> GetDomStorageItemsBuilder {
65        <GetDomStorageItemsBuilder as Default>::default()
66    }
67}
68#[derive(Default, Clone)]
69pub struct GetDomStorageItemsBuilder {
70    storage_id: Option<super::types::StorageId>,
71}
72impl GetDomStorageItemsBuilder {
73    pub fn storage_id(mut self, storage_id: impl Into<super::types::StorageId>) -> Self {
74        self.storage_id = Some(storage_id.into());
75        self
76    }
77    pub fn build(self) -> Result<GetDomStorageItems, String> {
78        Ok(GetDomStorageItems {
79            method: GetDomStorageItemsMethod::GetDomStorageItems,
80            params: GetDomStorageItemsParams {
81                storage_id: self.storage_id.ok_or_else(|| {
82                    format!("Field `{}` is mandatory.", std::stringify!(storage_id))
83                })?,
84            },
85        })
86    }
87}
88impl RemoveDomStorageItem {
89    pub fn builder() -> RemoveDomStorageItemBuilder {
90        <RemoveDomStorageItemBuilder as Default>::default()
91    }
92}
93#[derive(Default, Clone)]
94pub struct RemoveDomStorageItemBuilder {
95    storage_id: Option<super::types::StorageId>,
96    key: Option<String>,
97}
98impl RemoveDomStorageItemBuilder {
99    pub fn storage_id(mut self, storage_id: impl Into<super::types::StorageId>) -> Self {
100        self.storage_id = Some(storage_id.into());
101        self
102    }
103    pub fn key(mut self, key: impl Into<String>) -> Self {
104        self.key = Some(key.into());
105        self
106    }
107    pub fn build(self) -> Result<RemoveDomStorageItem, String> {
108        Ok(RemoveDomStorageItem {
109            method: RemoveDomStorageItemMethod::RemoveDomStorageItem,
110            params: RemoveDomStorageItemParams {
111                storage_id: self.storage_id.ok_or_else(|| {
112                    format!("Field `{}` is mandatory.", std::stringify!(storage_id))
113                })?,
114                key: self
115                    .key
116                    .ok_or_else(|| format!("Field `{}` is mandatory.", std::stringify!(key)))?,
117            },
118        })
119    }
120}
121impl SetDomStorageItem {
122    pub fn builder() -> SetDomStorageItemBuilder {
123        <SetDomStorageItemBuilder as Default>::default()
124    }
125}
126#[derive(Default, Clone)]
127pub struct SetDomStorageItemBuilder {
128    storage_id: Option<super::types::StorageId>,
129    key: Option<String>,
130    value: Option<String>,
131}
132impl SetDomStorageItemBuilder {
133    pub fn storage_id(mut self, storage_id: impl Into<super::types::StorageId>) -> Self {
134        self.storage_id = Some(storage_id.into());
135        self
136    }
137    pub fn key(mut self, key: impl Into<String>) -> Self {
138        self.key = Some(key.into());
139        self
140    }
141    pub fn value(mut self, value: impl Into<String>) -> Self {
142        self.value = Some(value.into());
143        self
144    }
145    pub fn build(self) -> Result<SetDomStorageItem, String> {
146        Ok(SetDomStorageItem {
147            method: SetDomStorageItemMethod::SetDomStorageItem,
148            params: SetDomStorageItemParams {
149                storage_id: self.storage_id.ok_or_else(|| {
150                    format!("Field `{}` is mandatory.", std::stringify!(storage_id))
151                })?,
152                key: self
153                    .key
154                    .ok_or_else(|| format!("Field `{}` is mandatory.", std::stringify!(key)))?,
155                value: self
156                    .value
157                    .ok_or_else(|| format!("Field `{}` is mandatory.", std::stringify!(value)))?,
158            },
159        })
160    }
161}