Skip to main content

docling/
result.rs

1//! Conversion result types.
2
3use docling_core::DoclingDocument;
4
5use crate::format::InputFormat;
6
7/// Outcome status of a conversion, mirroring
8/// `docling.datamodel.base_models.ConversionStatus`.
9#[derive(Debug, Clone, Copy, PartialEq, Eq)]
10pub enum ConversionStatus {
11    Success,
12    PartialSuccess,
13    Failure,
14}
15
16/// The result of converting one [`crate::SourceDocument`].
17///
18/// Mirrors `docling.datamodel.document.ConversionResult`. The converted
19/// [`DoclingDocument`] is exposed directly as `document`, matching the target
20/// API (`result.document.export_to_markdown()`).
21#[derive(Debug, Clone)]
22pub struct ConversionResult {
23    pub document: DoclingDocument,
24    pub status: ConversionStatus,
25    pub input_name: String,
26    pub format: InputFormat,
27}