rustenium_cdp_definitions/browser_protocol/accessibility/
command_builders.rs1use super::commands::*;
2#[derive(Debug, Clone, Default)]
3pub struct DisableBuilder;
4impl DisableBuilder {
5 pub fn new() -> Self {
6 Self
7 }
8 pub fn build(self) -> Disable {
9 Disable {
10 method: DisableMethod::Disable,
11 params: DisableParams {},
12 }
13 }
14}
15impl Disable {
16 pub fn builder() -> DisableBuilder {
17 DisableBuilder
18 }
19}
20#[derive(Debug, Clone, Default)]
21pub struct EnableBuilder;
22impl EnableBuilder {
23 pub fn new() -> Self {
24 Self
25 }
26 pub fn build(self) -> Enable {
27 Enable {
28 method: EnableMethod::Enable,
29 params: EnableParams {},
30 }
31 }
32}
33impl Enable {
34 pub fn builder() -> EnableBuilder {
35 EnableBuilder
36 }
37}
38impl GetPartialAxTree {
39 pub fn builder() -> GetPartialAxTreeBuilder {
40 <GetPartialAxTreeBuilder as Default>::default()
41 }
42}
43#[derive(Default, Clone)]
44pub struct GetPartialAxTreeBuilder {
45 node_id: Option<crate::browser_protocol::dom::types::NodeId>,
46 backend_node_id: Option<crate::browser_protocol::dom::types::BackendNodeId>,
47 object_id: Option<crate::js_protocol::runtime::types::RemoteObjectId>,
48 fetch_relatives: Option<bool>,
49}
50impl GetPartialAxTreeBuilder {
51 pub fn node_id(
52 mut self,
53 node_id: impl Into<crate::browser_protocol::dom::types::NodeId>,
54 ) -> Self {
55 self.node_id = Some(node_id.into());
56 self
57 }
58 pub fn backend_node_id(
59 mut self,
60 backend_node_id: impl Into<crate::browser_protocol::dom::types::BackendNodeId>,
61 ) -> Self {
62 self.backend_node_id = Some(backend_node_id.into());
63 self
64 }
65 pub fn object_id(
66 mut self,
67 object_id: impl Into<crate::js_protocol::runtime::types::RemoteObjectId>,
68 ) -> Self {
69 self.object_id = Some(object_id.into());
70 self
71 }
72 pub fn fetch_relatives(mut self, fetch_relatives: impl Into<bool>) -> Self {
73 self.fetch_relatives = Some(fetch_relatives.into());
74 self
75 }
76 pub fn build(self) -> GetPartialAxTree {
77 GetPartialAxTree {
78 method: GetPartialAxTreeMethod::GetPartialAxTree,
79 params: GetPartialAxTreeParams {
80 node_id: self.node_id,
81 backend_node_id: self.backend_node_id,
82 object_id: self.object_id,
83 fetch_relatives: self.fetch_relatives,
84 },
85 }
86 }
87}
88impl GetFullAxTree {
89 pub fn builder() -> GetFullAxTreeBuilder {
90 <GetFullAxTreeBuilder as Default>::default()
91 }
92}
93#[derive(Default, Clone)]
94pub struct GetFullAxTreeBuilder {
95 depth: Option<i64>,
96 frame_id: Option<crate::browser_protocol::page::types::FrameId>,
97}
98impl GetFullAxTreeBuilder {
99 pub fn depth(mut self, depth: impl Into<i64>) -> Self {
100 self.depth = Some(depth.into());
101 self
102 }
103 pub fn frame_id(
104 mut self,
105 frame_id: impl Into<crate::browser_protocol::page::types::FrameId>,
106 ) -> Self {
107 self.frame_id = Some(frame_id.into());
108 self
109 }
110 pub fn build(self) -> GetFullAxTree {
111 GetFullAxTree {
112 method: GetFullAxTreeMethod::GetFullAxTree,
113 params: GetFullAxTreeParams {
114 depth: self.depth,
115 frame_id: self.frame_id,
116 },
117 }
118 }
119}
120impl GetRootAxNode {
121 pub fn builder() -> GetRootAxNodeBuilder {
122 <GetRootAxNodeBuilder as Default>::default()
123 }
124}
125#[derive(Default, Clone)]
126pub struct GetRootAxNodeBuilder {
127 frame_id: Option<crate::browser_protocol::page::types::FrameId>,
128}
129impl GetRootAxNodeBuilder {
130 pub fn frame_id(
131 mut self,
132 frame_id: impl Into<crate::browser_protocol::page::types::FrameId>,
133 ) -> Self {
134 self.frame_id = Some(frame_id.into());
135 self
136 }
137 pub fn build(self) -> GetRootAxNode {
138 GetRootAxNode {
139 method: GetRootAxNodeMethod::GetRootAxNode,
140 params: GetRootAxNodeParams {
141 frame_id: self.frame_id,
142 },
143 }
144 }
145}
146impl GetAxNodeAndAncestors {
147 pub fn builder() -> GetAxNodeAndAncestorsBuilder {
148 <GetAxNodeAndAncestorsBuilder as Default>::default()
149 }
150}
151#[derive(Default, Clone)]
152pub struct GetAxNodeAndAncestorsBuilder {
153 node_id: Option<crate::browser_protocol::dom::types::NodeId>,
154 backend_node_id: Option<crate::browser_protocol::dom::types::BackendNodeId>,
155 object_id: Option<crate::js_protocol::runtime::types::RemoteObjectId>,
156}
157impl GetAxNodeAndAncestorsBuilder {
158 pub fn node_id(
159 mut self,
160 node_id: impl Into<crate::browser_protocol::dom::types::NodeId>,
161 ) -> Self {
162 self.node_id = Some(node_id.into());
163 self
164 }
165 pub fn backend_node_id(
166 mut self,
167 backend_node_id: impl Into<crate::browser_protocol::dom::types::BackendNodeId>,
168 ) -> Self {
169 self.backend_node_id = Some(backend_node_id.into());
170 self
171 }
172 pub fn object_id(
173 mut self,
174 object_id: impl Into<crate::js_protocol::runtime::types::RemoteObjectId>,
175 ) -> Self {
176 self.object_id = Some(object_id.into());
177 self
178 }
179 pub fn build(self) -> GetAxNodeAndAncestors {
180 GetAxNodeAndAncestors {
181 method: GetAxNodeAndAncestorsMethod::GetAxNodeAndAncestors,
182 params: GetAxNodeAndAncestorsParams {
183 node_id: self.node_id,
184 backend_node_id: self.backend_node_id,
185 object_id: self.object_id,
186 },
187 }
188 }
189}
190impl GetChildAxNodes {
191 pub fn builder() -> GetChildAxNodesBuilder {
192 <GetChildAxNodesBuilder as Default>::default()
193 }
194}
195#[derive(Default, Clone)]
196pub struct GetChildAxNodesBuilder {
197 id: Option<super::types::AxNodeId>,
198 frame_id: Option<crate::browser_protocol::page::types::FrameId>,
199}
200impl GetChildAxNodesBuilder {
201 pub fn id(mut self, id: impl Into<super::types::AxNodeId>) -> Self {
202 self.id = Some(id.into());
203 self
204 }
205 pub fn frame_id(
206 mut self,
207 frame_id: impl Into<crate::browser_protocol::page::types::FrameId>,
208 ) -> Self {
209 self.frame_id = Some(frame_id.into());
210 self
211 }
212 pub fn build(self) -> Result<GetChildAxNodes, String> {
213 Ok(GetChildAxNodes {
214 method: GetChildAxNodesMethod::GetChildAxNodes,
215 params: GetChildAxNodesParams {
216 id: self
217 .id
218 .ok_or_else(|| format!("Field `{}` is mandatory.", std::stringify!(id)))?,
219 frame_id: self.frame_id,
220 },
221 })
222 }
223}
224impl QueryAxTree {
225 pub fn builder() -> QueryAxTreeBuilder {
226 <QueryAxTreeBuilder as Default>::default()
227 }
228}
229#[derive(Default, Clone)]
230pub struct QueryAxTreeBuilder {
231 node_id: Option<crate::browser_protocol::dom::types::NodeId>,
232 backend_node_id: Option<crate::browser_protocol::dom::types::BackendNodeId>,
233 object_id: Option<crate::js_protocol::runtime::types::RemoteObjectId>,
234 accessible_name: Option<String>,
235 role: Option<String>,
236}
237impl QueryAxTreeBuilder {
238 pub fn node_id(
239 mut self,
240 node_id: impl Into<crate::browser_protocol::dom::types::NodeId>,
241 ) -> Self {
242 self.node_id = Some(node_id.into());
243 self
244 }
245 pub fn backend_node_id(
246 mut self,
247 backend_node_id: impl Into<crate::browser_protocol::dom::types::BackendNodeId>,
248 ) -> Self {
249 self.backend_node_id = Some(backend_node_id.into());
250 self
251 }
252 pub fn object_id(
253 mut self,
254 object_id: impl Into<crate::js_protocol::runtime::types::RemoteObjectId>,
255 ) -> Self {
256 self.object_id = Some(object_id.into());
257 self
258 }
259 pub fn accessible_name(mut self, accessible_name: impl Into<String>) -> Self {
260 self.accessible_name = Some(accessible_name.into());
261 self
262 }
263 pub fn role(mut self, role: impl Into<String>) -> Self {
264 self.role = Some(role.into());
265 self
266 }
267 pub fn build(self) -> QueryAxTree {
268 QueryAxTree {
269 method: QueryAxTreeMethod::QueryAxTree,
270 params: QueryAxTreeParams {
271 node_id: self.node_id,
272 backend_node_id: self.backend_node_id,
273 object_id: self.object_id,
274 accessible_name: self.accessible_name,
275 role: self.role,
276 },
277 }
278 }
279}