rustenium_cdp_definitions/browser_protocol/io/
command_builders.rs1use super::commands::*;
2impl Close {
3 pub fn builder() -> CloseBuilder {
4 <CloseBuilder as Default>::default()
5 }
6}
7#[derive(Default, Clone)]
8pub struct CloseBuilder {
9 handle: Option<super::types::StreamHandle>,
10}
11impl CloseBuilder {
12 pub fn handle(mut self, handle: impl Into<super::types::StreamHandle>) -> Self {
13 self.handle = Some(handle.into());
14 self
15 }
16 pub fn build(self) -> Result<Close, String> {
17 Ok(Close {
18 method: CloseMethod::Close,
19 params: CloseParams {
20 handle: self
21 .handle
22 .ok_or_else(|| format!("Field `{}` is mandatory.", std::stringify!(handle)))?,
23 },
24 })
25 }
26}
27impl Read {
28 pub fn builder() -> ReadBuilder {
29 <ReadBuilder as Default>::default()
30 }
31}
32#[derive(Default, Clone)]
33pub struct ReadBuilder {
34 handle: Option<super::types::StreamHandle>,
35 offset: Option<i64>,
36 size: Option<i64>,
37}
38impl ReadBuilder {
39 pub fn handle(mut self, handle: impl Into<super::types::StreamHandle>) -> Self {
40 self.handle = Some(handle.into());
41 self
42 }
43 pub fn offset(mut self, offset: impl Into<i64>) -> Self {
44 self.offset = Some(offset.into());
45 self
46 }
47 pub fn size(mut self, size: impl Into<i64>) -> Self {
48 self.size = Some(size.into());
49 self
50 }
51 pub fn build(self) -> Result<Read, String> {
52 Ok(Read {
53 method: ReadMethod::Read,
54 params: ReadParams {
55 handle: self
56 .handle
57 .ok_or_else(|| format!("Field `{}` is mandatory.", std::stringify!(handle)))?,
58 offset: self.offset,
59 size: self.size,
60 },
61 })
62 }
63}
64impl ResolveBlob {
65 pub fn builder() -> ResolveBlobBuilder {
66 <ResolveBlobBuilder as Default>::default()
67 }
68}
69#[derive(Default, Clone)]
70pub struct ResolveBlobBuilder {
71 object_id: Option<crate::js_protocol::runtime::types::RemoteObjectId>,
72}
73impl ResolveBlobBuilder {
74 pub fn object_id(
75 mut self,
76 object_id: impl Into<crate::js_protocol::runtime::types::RemoteObjectId>,
77 ) -> Self {
78 self.object_id = Some(object_id.into());
79 self
80 }
81 pub fn build(self) -> Result<ResolveBlob, String> {
82 Ok(ResolveBlob {
83 method: ResolveBlobMethod::ResolveBlob,
84 params: ResolveBlobParams {
85 object_id: self.object_id.ok_or_else(|| {
86 format!("Field `{}` is mandatory.", std::stringify!(object_id))
87 })?,
88 },
89 })
90 }
91}