Skip to main content

Crate asm_tl

Crate asm_tl 

Source
Expand description

§asm_tl

Crates.io Version

asm_tl is a blazingly fast HTML parser written in Rust and Assembly.

Supported assembly targets:

  • x86_64-unknown-linux-*
  • aarch64-unknown-linux-*
  • riscv64gc-unknown-linux-*
  • x86_64-pc-windows-msvc

Add it to your Cargo.toml:

asm_tl = "0.2"

§Usage

Use asm_tl::parse with the default parser options:

let dom = asm_tl::parse("<div id=\"app\">Hello</div>", asm_tl::ParserOptions::default())?;
let parser = dom.parser();
let app = dom.get_element_by_id("app").unwrap().get(parser).unwrap();

assert_eq!(app.inner_text(parser), "Hello");

Enable ID or class tracking when you need fast lookup tables:

let options = asm_tl::ParserOptions::default()
    .track_ids()
    .track_classes();

§Features

  • __INTERNALS_DO_NOT_USE: exposes internal modules for fuzzing and benchmarking.

§Provenance

This crate is a fork of rustedbytes-tl, modified to add parsing in Assembly and other improvements.

§License

This project is licensed under the MIT license.

Re-exports§

pub use errors::ParseError;

Modules§

errors
Errors that occur throughout the crate
inline
Inline data structures
queryselector
Query selector API

Structs§

Attributes
Stores all attributes of an HTML tag, as well as additional metadata such as id and class
Bytes
A storage type for raw bytes, used by the parser
Children
A thin wrapper around the children of HTMLTag
ChildrenMut
A thin mutable wrapper around the children of HTMLTag
HTMLTag
Represents a single HTML element
NodeHandle
A detached, external handle to a HTML node, originally obtained from a Parser
Parser
The main HTML parser
ParserOptions
Options for the HTML Parser
VDom
VDom represents a Document Object Model
VDomGuard
A RAII guarded version of VDom

Enums§

HTMLVersion
HTML Version ()
Node
An HTML Node

Functions§

parse
Parses the given input string
parse_owned
Parses the given input string and returns an owned, RAII guarded DOM
parse_query_selector
Parses a query selector

Type Aliases§

ClassVec
Inline class vector
InnerNodeHandle
The inner type of a NodeHandle, used to represent an index into the tags table
RawAttributesMap
The type of map for “raw” attributes
RawChildren
The type of vector for children of an HTML tag
Tree
A list of HTML nodes