pub struct TocNode {
pub title: String,
pub node_id: Option<String>,
pub depth: usize,
pub page_range: Option<(usize, usize)>,
pub summary: Option<String>,
pub children: Vec<TocNode>,
}Expand description
A node in the Table of Contents.
Fields§
§title: StringNode title.
node_id: Option<String>Node ID (if available).
depth: usizeDepth in the tree.
page_range: Option<(usize, usize)>Page range (for PDFs).
summary: Option<String>Brief summary (optional).
children: Vec<TocNode>Children nodes.
Implementations§
Source§impl TocNode
impl TocNode
Sourcepub fn with_node_id(self, id: impl Into<String>) -> Self
pub fn with_node_id(self, id: impl Into<String>) -> Self
Set the node ID.
Sourcepub fn with_page_range(self, start: usize, end: usize) -> Self
pub fn with_page_range(self, start: usize, end: usize) -> Self
Set the page range.
Sourcepub fn with_summary(self, summary: impl Into<String>) -> Self
pub fn with_summary(self, summary: impl Into<String>) -> Self
Set the summary.
Sourcepub fn count_nodes(&self) -> usize
pub fn count_nodes(&self) -> usize
Count total nodes in this subtree.
Sourcepub fn count_leaves(&self) -> usize
pub fn count_leaves(&self) -> usize
Count leaf nodes in this subtree.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for TocNode
impl<'de> Deserialize<'de> for TocNode
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for TocNode
impl RefUnwindSafe for TocNode
impl Send for TocNode
impl Sync for TocNode
impl Unpin for TocNode
impl UnsafeUnpin for TocNode
impl UnwindSafe for TocNode
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more