crate::use_behaviors!(sandbox_member);
use crate::internal_prelude::*;
use crate::node::AnyNodeWeak;
pub struct NamedNodeMap {
pub context: SandboxMemberBehaviorStorage,
pub attribute_list: Vec<AnyNodeArc>,
pub element: AnyNodeWeak,
}
impl NamedNodeMap {
fn new(context: Weak<Sandbox>, element: AnyNodeWeak) -> Arc<NamedNodeMap> {
Arc::new(NamedNodeMap {
context: SandboxMemberBehaviorStorage::new(context),
element,
attribute_list: Vec::new(),
})
}
fn length(&self) -> usize {
self.attribute_list.len()
}
fn item(&self, index: usize) -> Option<AnyNodeArc> {
self.attribute_list.get(index).cloned()
}
}
impl_sandbox_member!(NamedNodeMap, context);