rustenium_cdp_definitions/browser_protocol/dom_debugger/
command_builders.rs1use super::commands::*;
2impl GetEventListeners {
3 pub fn builder() -> GetEventListenersBuilder {
4 <GetEventListenersBuilder as Default>::default()
5 }
6}
7#[derive(Default, Clone)]
8pub struct GetEventListenersBuilder {
9 object_id: Option<crate::js_protocol::runtime::types::RemoteObjectId>,
10 depth: Option<i64>,
11 pierce: Option<bool>,
12}
13impl GetEventListenersBuilder {
14 pub fn object_id(
15 mut self,
16 object_id: impl Into<crate::js_protocol::runtime::types::RemoteObjectId>,
17 ) -> Self {
18 self.object_id = Some(object_id.into());
19 self
20 }
21 pub fn depth(mut self, depth: impl Into<i64>) -> Self {
22 self.depth = Some(depth.into());
23 self
24 }
25 pub fn pierce(mut self, pierce: impl Into<bool>) -> Self {
26 self.pierce = Some(pierce.into());
27 self
28 }
29 pub fn build(self) -> Result<GetEventListeners, String> {
30 Ok(GetEventListeners {
31 method: GetEventListenersMethod::GetEventListeners,
32 params: GetEventListenersParams {
33 object_id: self.object_id.ok_or_else(|| {
34 format!("Field `{}` is mandatory.", std::stringify!(object_id))
35 })?,
36 depth: self.depth,
37 pierce: self.pierce,
38 },
39 })
40 }
41}
42impl RemoveDomBreakpoint {
43 pub fn builder() -> RemoveDomBreakpointBuilder {
44 <RemoveDomBreakpointBuilder as Default>::default()
45 }
46}
47#[derive(Default, Clone)]
48pub struct RemoveDomBreakpointBuilder {
49 node_id: Option<crate::browser_protocol::dom::types::NodeId>,
50 r#type: Option<super::types::DomBreakpointType>,
51}
52impl RemoveDomBreakpointBuilder {
53 pub fn node_id(
54 mut self,
55 node_id: impl Into<crate::browser_protocol::dom::types::NodeId>,
56 ) -> Self {
57 self.node_id = Some(node_id.into());
58 self
59 }
60 pub fn r#type(mut self, r#type: impl Into<super::types::DomBreakpointType>) -> Self {
61 self.r#type = Some(r#type.into());
62 self
63 }
64 pub fn build(self) -> Result<RemoveDomBreakpoint, String> {
65 Ok(RemoveDomBreakpoint {
66 method: RemoveDomBreakpointMethod::RemoveDomBreakpoint,
67 params: RemoveDomBreakpointParams {
68 node_id: self
69 .node_id
70 .ok_or_else(|| format!("Field `{}` is mandatory.", std::stringify!(node_id)))?,
71 r#type: self
72 .r#type
73 .ok_or_else(|| format!("Field `{}` is mandatory.", std::stringify!(r#type)))?,
74 },
75 })
76 }
77}
78impl RemoveEventListenerBreakpoint {
79 pub fn builder() -> RemoveEventListenerBreakpointBuilder {
80 <RemoveEventListenerBreakpointBuilder as Default>::default()
81 }
82}
83#[derive(Default, Clone)]
84pub struct RemoveEventListenerBreakpointBuilder {
85 event_name: Option<String>,
86 target_name: Option<String>,
87}
88impl RemoveEventListenerBreakpointBuilder {
89 pub fn event_name(mut self, event_name: impl Into<String>) -> Self {
90 self.event_name = Some(event_name.into());
91 self
92 }
93 pub fn target_name(mut self, target_name: impl Into<String>) -> Self {
94 self.target_name = Some(target_name.into());
95 self
96 }
97 pub fn build(self) -> Result<RemoveEventListenerBreakpoint, String> {
98 Ok(RemoveEventListenerBreakpoint {
99 method: RemoveEventListenerBreakpointMethod::RemoveEventListenerBreakpoint,
100 params: RemoveEventListenerBreakpointParams {
101 event_name: self.event_name.ok_or_else(|| {
102 format!("Field `{}` is mandatory.", std::stringify!(event_name))
103 })?,
104 target_name: self.target_name,
105 },
106 })
107 }
108}
109impl RemoveXhrBreakpoint {
110 pub fn builder() -> RemoveXhrBreakpointBuilder {
111 <RemoveXhrBreakpointBuilder as Default>::default()
112 }
113}
114#[derive(Default, Clone)]
115pub struct RemoveXhrBreakpointBuilder {
116 url: Option<String>,
117}
118impl RemoveXhrBreakpointBuilder {
119 pub fn url(mut self, url: impl Into<String>) -> Self {
120 self.url = Some(url.into());
121 self
122 }
123 pub fn build(self) -> Result<RemoveXhrBreakpoint, String> {
124 Ok(RemoveXhrBreakpoint {
125 method: RemoveXhrBreakpointMethod::RemoveXhrBreakpoint,
126 params: RemoveXhrBreakpointParams {
127 url: self
128 .url
129 .ok_or_else(|| format!("Field `{}` is mandatory.", std::stringify!(url)))?,
130 },
131 })
132 }
133}
134impl SetBreakOnCspViolation {
135 pub fn builder() -> SetBreakOnCspViolationBuilder {
136 <SetBreakOnCspViolationBuilder as Default>::default()
137 }
138}
139#[derive(Default, Clone)]
140pub struct SetBreakOnCspViolationBuilder {
141 violation_types: Option<Vec<super::types::CspViolationType>>,
142}
143impl SetBreakOnCspViolationBuilder {
144 pub fn violation_type(
145 mut self,
146 violation_type: impl Into<super::types::CspViolationType>,
147 ) -> Self {
148 let v = self.violation_types.get_or_insert(Vec::new());
149 v.push(violation_type.into());
150 self
151 }
152 pub fn violation_types<I, S>(mut self, violation_types: I) -> Self
153 where
154 I: IntoIterator<Item = S>,
155 S: Into<super::types::CspViolationType>,
156 {
157 let v = self.violation_types.get_or_insert(Vec::new());
158 for val in violation_types {
159 v.push(val.into());
160 }
161 self
162 }
163 pub fn build(self) -> Result<SetBreakOnCspViolation, String> {
164 Ok(SetBreakOnCspViolation {
165 method: SetBreakOnCspViolationMethod::SetBreakOnCspViolation,
166 params: SetBreakOnCspViolationParams {
167 violation_types: self.violation_types.ok_or_else(|| {
168 format!("Field `{}` is mandatory.", std::stringify!(violation_types))
169 })?,
170 },
171 })
172 }
173}
174impl SetDomBreakpoint {
175 pub fn builder() -> SetDomBreakpointBuilder {
176 <SetDomBreakpointBuilder as Default>::default()
177 }
178}
179#[derive(Default, Clone)]
180pub struct SetDomBreakpointBuilder {
181 node_id: Option<crate::browser_protocol::dom::types::NodeId>,
182 r#type: Option<super::types::DomBreakpointType>,
183}
184impl SetDomBreakpointBuilder {
185 pub fn node_id(
186 mut self,
187 node_id: impl Into<crate::browser_protocol::dom::types::NodeId>,
188 ) -> Self {
189 self.node_id = Some(node_id.into());
190 self
191 }
192 pub fn r#type(mut self, r#type: impl Into<super::types::DomBreakpointType>) -> Self {
193 self.r#type = Some(r#type.into());
194 self
195 }
196 pub fn build(self) -> Result<SetDomBreakpoint, String> {
197 Ok(SetDomBreakpoint {
198 method: SetDomBreakpointMethod::SetDomBreakpoint,
199 params: SetDomBreakpointParams {
200 node_id: self
201 .node_id
202 .ok_or_else(|| format!("Field `{}` is mandatory.", std::stringify!(node_id)))?,
203 r#type: self
204 .r#type
205 .ok_or_else(|| format!("Field `{}` is mandatory.", std::stringify!(r#type)))?,
206 },
207 })
208 }
209}
210impl SetEventListenerBreakpoint {
211 pub fn builder() -> SetEventListenerBreakpointBuilder {
212 <SetEventListenerBreakpointBuilder as Default>::default()
213 }
214}
215#[derive(Default, Clone)]
216pub struct SetEventListenerBreakpointBuilder {
217 event_name: Option<String>,
218 target_name: Option<String>,
219}
220impl SetEventListenerBreakpointBuilder {
221 pub fn event_name(mut self, event_name: impl Into<String>) -> Self {
222 self.event_name = Some(event_name.into());
223 self
224 }
225 pub fn target_name(mut self, target_name: impl Into<String>) -> Self {
226 self.target_name = Some(target_name.into());
227 self
228 }
229 pub fn build(self) -> Result<SetEventListenerBreakpoint, String> {
230 Ok(SetEventListenerBreakpoint {
231 method: SetEventListenerBreakpointMethod::SetEventListenerBreakpoint,
232 params: SetEventListenerBreakpointParams {
233 event_name: self.event_name.ok_or_else(|| {
234 format!("Field `{}` is mandatory.", std::stringify!(event_name))
235 })?,
236 target_name: self.target_name,
237 },
238 })
239 }
240}
241impl SetXhrBreakpoint {
242 pub fn builder() -> SetXhrBreakpointBuilder {
243 <SetXhrBreakpointBuilder as Default>::default()
244 }
245}
246#[derive(Default, Clone)]
247pub struct SetXhrBreakpointBuilder {
248 url: Option<String>,
249}
250impl SetXhrBreakpointBuilder {
251 pub fn url(mut self, url: impl Into<String>) -> Self {
252 self.url = Some(url.into());
253 self
254 }
255 pub fn build(self) -> Result<SetXhrBreakpoint, String> {
256 Ok(SetXhrBreakpoint {
257 method: SetXhrBreakpointMethod::SetXhrBreakpoint,
258 params: SetXhrBreakpointParams {
259 url: self
260 .url
261 .ok_or_else(|| format!("Field `{}` is mandatory.", std::stringify!(url)))?,
262 },
263 })
264 }
265}