docs.rs failed to build dom-cat-0.1.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
dom-cat
Persistent DOM: arena-backed Node tree with a mutation API and CSS-selector matching.
dom-cat is the third sub-crate of a comp-cat-rs Servo-replacement webview runtime targeting Tauri integration. It consumes html-cat trees and matches against css-cat selectors. Same framework constraints as the rest of the stack: no mut, no Rc/Arc, no interior mutability, no panics, exhaustive matches, static dispatch.
Example
use ;
v0 scope
- Arena-backed
Document(BTreeMap<NodeId, Node>). - Persistent mutation: every operation returns a new
Document. - Node kinds:
Document,Element,Text,Comment. - Mutation API:
append_child,remove_child,set_attribute,remove_attribute,replace_text,replace_with. - Selector matching with all four combinators and a useful set of simple selectors / pseudo-classes.
query_selector/query_selector_all.
Deferred to v0.2+
- Full pseudo-class set (
:nth-child,:is,:not,:where,:has). - Pseudo-elements.
- Live
HTMLCollectionsemantics (we return snapshots). - Range / Selection APIs.
- Shadow DOM, mutation observers.
License
MIT OR Apache-2.0