pub struct DocumentSession { /* private fields */ }Expand description
Stateful facade over whole-document citation rendering.
The session caches its inputs in resolved form: the style is stored
already resolved (see DocumentSession::new) and references are parsed
once in DocumentSession::put_references. Each mutation still clones
both into a fresh Processor (including disambiguation-hint
calculation) and re-renders every citation plus the bibliography —
incremental re-rendering is not yet implemented.
Implementations§
Source§impl DocumentSession
impl DocumentSession
Sourcepub fn new(
style: Style,
_style_input: StyleInput,
locale: Option<String>,
output_format: OutputFormatKind,
document_options: Option<DocumentOptions>,
) -> Self
pub fn new( style: Style, _style_input: StyleInput, locale: Option<String>, output_format: OutputFormatKind, document_options: Option<DocumentOptions>, ) -> Self
Create a session with an already-resolved style.
Sourcepub fn put_references(
&mut self,
refs: RefsInput,
) -> Result<(), DocumentSessionError>
pub fn put_references( &mut self, refs: RefsInput, ) -> Result<(), DocumentSessionError>
Replace the full reference set used by this session.
The input is parsed here, once, and the resolved bibliography (plus its reference-level warnings) is cached for all subsequent mutations and previews. Calling this again replaces the cache wholesale.
§Errors
Returns an error when the reference input cannot be parsed.
Sourcepub fn set_nocite(
&mut self,
ids: Vec<String>,
) -> Result<SessionMutationResult, DocumentSessionError>
pub fn set_nocite( &mut self, ids: Vec<String>, ) -> Result<SessionMutationResult, DocumentSessionError>
Set the nocite list and re-render the session bibliography.
Nocite IDs appear in the bibliography alongside cited refs but produce
no formatted_citations entry. IDs absent from the current reference
set emit a nocite_missing_ref warning and are silently dropped.
§Errors
Returns an error when re-rendering the session output fails.
Sourcepub fn insert_citations_batch(
&mut self,
citations: Vec<CitationOccurrence>,
) -> Result<SessionMutationResult, DocumentSessionError>
pub fn insert_citations_batch( &mut self, citations: Vec<CitationOccurrence>, ) -> Result<SessionMutationResult, DocumentSessionError>
Replace the full ordered citation list.
§Errors
Returns an error when recomputing the formatted session output fails.
Sourcepub fn insert_citation(
&mut self,
citation: CitationOccurrence,
position: Option<CitationInsertPosition>,
) -> Result<SessionMutationResult, DocumentSessionError>
pub fn insert_citation( &mut self, citation: CitationOccurrence, position: Option<CitationInsertPosition>, ) -> Result<SessionMutationResult, DocumentSessionError>
Insert a citation at the requested position.
§Errors
Returns an error when the requested position is invalid or rendering fails.
Sourcepub fn update_citation(
&mut self,
citation_id: &str,
citation: CitationOccurrence,
position: Option<CitationInsertPosition>,
) -> Result<SessionMutationResult, DocumentSessionError>
pub fn update_citation( &mut self, citation_id: &str, citation: CitationOccurrence, position: Option<CitationInsertPosition>, ) -> Result<SessionMutationResult, DocumentSessionError>
Update an existing citation, optionally moving it to a new position.
§Errors
Returns an error when the citation does not exist, the requested position is invalid, or rendering fails.
Sourcepub fn delete_citation(
&mut self,
citation_id: &str,
) -> Result<SessionMutationResult, DocumentSessionError>
pub fn delete_citation( &mut self, citation_id: &str, ) -> Result<SessionMutationResult, DocumentSessionError>
Delete a citation by ID.
§Errors
Returns an error when the citation does not exist or rendering fails.
Sourcepub fn preview_citation(
&self,
items: Vec<CitationOccurrenceItem>,
mode: Option<CitationMode>,
position: Option<CitationInsertPosition>,
) -> Result<PreviewCitationResult, DocumentSessionError>
pub fn preview_citation( &self, items: Vec<CitationOccurrenceItem>, mode: Option<CitationMode>, position: Option<CitationInsertPosition>, ) -> Result<PreviewCitationResult, DocumentSessionError>
Render a citation preview without mutating session state.
§Errors
Returns an error when the requested preview position is invalid or rendering fails.
Sourcepub fn get_citations(&self) -> Vec<FormattedCitation>
pub fn get_citations(&self) -> Vec<FormattedCitation>
Return the current formatted citations.
Sourcepub fn get_bibliography(&self) -> Option<FormattedBibliography>
pub fn get_bibliography(&self) -> Option<FormattedBibliography>
Return the current bibliography, if a mutation has rendered one.
Trait Implementations§
Source§impl Clone for DocumentSession
impl Clone for DocumentSession
Source§fn clone(&self) -> DocumentSession
fn clone(&self) -> DocumentSession
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more