web_sys_ec/
ec.rs

1pub(crate) mod inner {
2    pub enum Ec {
3        InnerTextContains(String),
4        AttributeValueIs(String, String),
5        LocalStorageAttributeValueIs(String, String),
6        LocationSearchIs(String),
7    }
8
9    impl core::fmt::Display for Ec {
10        fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
11            match self {
12                Ec::InnerTextContains(text) => write!(
13                    f,
14                    "HTML element innerText contains the text {:?} (`{:?}`)",
15                    text, &self
16                ),
17                Ec::AttributeValueIs(attr, value) => {
18                    write!(
19                        f,
20                        "HTML element attribute {:?} value is equal to {:?} (`{:?}`)",
21                        attr, value, &self
22                    )
23                }
24                Ec::LocalStorageAttributeValueIs(attr, value) => {
25                    write!(
26                        f,
27                        "localStorage attribute {:?} value is equal to {:?} (`{:?}`)",
28                        attr, value, &self
29                    )
30                }
31                Ec::LocationSearchIs(value) => {
32                    write!(
33                        f,
34                        "window.location.search is equal to {:?} (`{:?}`)",
35                        value, &self
36                    )
37                }
38            }
39        }
40    }
41
42    impl core::fmt::Debug for Ec {
43        fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
44            match self {
45                Ec::InnerTextContains(text) => write!(f, "Ec::InnerTextContains({text:?})"),
46                Ec::AttributeValueIs(attr, value) => {
47                    write!(f, "Ec::AttributeValueIs({attr:?}, {value:?})")
48                }
49                Ec::LocalStorageAttributeValueIs(attr, value) => {
50                    write!(f, "Ec::LocalStorageAttributeValueIs({attr:?}, {value:?})",)
51                }
52                Ec::LocationSearchIs(value) => write!(f, "Ec::LocationSearchIs({value:?})"),
53            }
54        }
55    }
56}
57
58#[allow(non_snake_case)]
59pub mod Ec {
60    use super::inner;
61
62    #[inline]
63    pub fn InnerTextContains(text: impl Into<String>) -> inner::Ec {
64        inner::Ec::InnerTextContains(text.into())
65    }
66
67    #[inline]
68    pub fn AttributeValueIs(attr: impl Into<String>, value: impl Into<String>) -> inner::Ec {
69        inner::Ec::AttributeValueIs(attr.into(), value.into())
70    }
71
72    #[inline]
73    pub fn LocalStorageAttributeValueIs(
74        attr: impl Into<String>,
75        value: impl Into<String>,
76    ) -> inner::Ec {
77        inner::Ec::LocalStorageAttributeValueIs(attr.into(), value.into())
78    }
79
80    #[inline]
81    pub fn LocationSearchIs(value: impl Into<String>) -> inner::Ec {
82        inner::Ec::LocationSearchIs(value.into())
83    }
84}