1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
use delegate::delegate; use crate::console::{Write, Writer}; use crate::Node; pub struct Attribute { inner: web_sys::Attr, } impl Attribute { pub(crate) fn new(inner: web_sys::Attr) -> Self { Attribute { inner } } delegate! { target self.inner { pub fn name(&self) -> String; pub fn namespace_uri(&self) -> Option<String>; pub fn local_name(&self) -> String; pub fn prefix(&self) -> Option<String>; pub fn value(&self) -> String; pub fn set_value(&self, value: &str); } } } impl AsRef<web_sys::Attr> for Attribute { fn as_ref(&self) -> &web_sys::Attr { &self.inner } } impl AsRef<web_sys::Node> for Attribute { fn as_ref(&self) -> &web_sys::Node { self.inner.as_ref() } } impl Write for Attribute { fn write(&self, writer: &mut Writer) { writer.write_1(self.inner.as_ref()) } } impl Node for Attribute {}