Skip to main content

DocumentSession

Struct DocumentSession 

Source
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

Source

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.

Source

pub fn version(&self) -> u64

Return the current session version.

Source

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.

Source

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.

Source

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.

Source

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.

Source

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.

Source

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.

Source

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.

Source

pub fn get_citations(&self) -> Vec<FormattedCitation>

Return the current formatted citations.

Source

pub fn get_bibliography(&self) -> Option<FormattedBibliography>

Return the current bibliography, if a mutation has rendered one.

Trait Implementations§

Source§

impl Clone for DocumentSession

Source§

fn clone(&self) -> DocumentSession

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for DocumentSession

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.