rustenium_bidi_definitions/storage/
command_builders.rs1use super::commands::*;
2impl GetCookies {
3 pub fn builder() -> GetCookiesBuilder {
4 <GetCookiesBuilder as Default>::default()
5 }
6}
7#[derive(Default, Clone)]
8pub struct GetCookiesBuilder {
9 filter: Option<super::types::CookieFilter>,
10 partition: Option<super::types::PartitionDescriptor>,
11}
12impl GetCookiesBuilder {
13 pub fn filter(mut self, filter: impl Into<super::types::CookieFilter>) -> Self {
14 self.filter = Some(filter.into());
15 self
16 }
17 pub fn partition(mut self, partition: impl Into<super::types::PartitionDescriptor>) -> Self {
18 self.partition = Some(partition.into());
19 self
20 }
21 pub fn build(self) -> GetCookies {
22 GetCookies {
23 method: GetCookiesMethod::GetCookies,
24 params: GetCookiesParams {
25 filter: self.filter,
26 partition: self.partition,
27 },
28 }
29 }
30}
31impl SetCookie {
32 pub fn builder() -> SetCookieBuilder {
33 <SetCookieBuilder as Default>::default()
34 }
35}
36#[derive(Default, Clone)]
37pub struct SetCookieBuilder {
38 cookie: Option<super::types::PartialCookie>,
39 partition: Option<super::types::PartitionDescriptor>,
40}
41impl SetCookieBuilder {
42 pub fn cookie(mut self, cookie: impl Into<super::types::PartialCookie>) -> Self {
43 self.cookie = Some(cookie.into());
44 self
45 }
46 pub fn partition(mut self, partition: impl Into<super::types::PartitionDescriptor>) -> Self {
47 self.partition = Some(partition.into());
48 self
49 }
50 pub fn build(self) -> Result<SetCookie, String> {
51 Ok(SetCookie {
52 method: SetCookieMethod::SetCookie,
53 params: SetCookieParams {
54 cookie: self
55 .cookie
56 .ok_or_else(|| format!("Field `{}` is mandatory.", std::stringify!(cookie)))?,
57 partition: self.partition,
58 },
59 })
60 }
61}
62impl DeleteCookies {
63 pub fn builder() -> DeleteCookiesBuilder {
64 <DeleteCookiesBuilder as Default>::default()
65 }
66}
67#[derive(Default, Clone)]
68pub struct DeleteCookiesBuilder {
69 filter: Option<super::types::CookieFilter>,
70 partition: Option<super::types::PartitionDescriptor>,
71}
72impl DeleteCookiesBuilder {
73 pub fn filter(mut self, filter: impl Into<super::types::CookieFilter>) -> Self {
74 self.filter = Some(filter.into());
75 self
76 }
77 pub fn partition(mut self, partition: impl Into<super::types::PartitionDescriptor>) -> Self {
78 self.partition = Some(partition.into());
79 self
80 }
81 pub fn build(self) -> DeleteCookies {
82 DeleteCookies {
83 method: DeleteCookiesMethod::DeleteCookies,
84 params: DeleteCookiesParams {
85 filter: self.filter,
86 partition: self.partition,
87 },
88 }
89 }
90}