pub struct ValidatedAdfDocument(/* private fields */);Expand description
An AdfDocument that has passed nesting validation against the
upstream content model.
Constructing one is the only way to satisfy the type signatures of the
API send functions in crate::atlassian::client and
crate::atlassian::confluence_api. This makes “I forgot to validate”
a compile error rather than a runtime opaque-500 error.
Deref<Target = AdfDocument> and a delegated Serialize impl let
callers continue to use the validated document anywhere a &AdfDocument
or serialized JSON value is needed.
Implementations§
Source§impl ValidatedAdfDocument
impl ValidatedAdfDocument
Sourcepub fn try_new(doc: AdfDocument) -> Result<Self, AdfValidationError>
pub fn try_new(doc: AdfDocument) -> Result<Self, AdfValidationError>
Validates doc against the upstream ADF content model and wraps it
on success.
§Errors
Returns AdfValidationError if doc contains any disallowed
nesting per the schema in crate::atlassian::adf_schema.
Sourcepub fn try_new_with_source(
doc: AdfDocument,
source: Option<&str>,
) -> Result<Self, AdfValidationError>
pub fn try_new_with_source( doc: AdfDocument, source: Option<&str>, ) -> Result<Self, AdfValidationError>
Like Self::try_new, but keeps source (the JFM markdown doc was
converted from, when applicable) so a validation failure reports the
offending run’s 1-based line:column. Pass None when there is no JFM
source (e.g. ADF-format input). See issue #1087.
§Errors
Returns AdfValidationError if doc contains any disallowed nesting
per the schema in crate::atlassian::adf_schema.
Trait Implementations§
Source§impl Clone for ValidatedAdfDocument
impl Clone for ValidatedAdfDocument
Source§fn clone(&self) -> ValidatedAdfDocument
fn clone(&self) -> ValidatedAdfDocument
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ValidatedAdfDocument
impl Debug for ValidatedAdfDocument
Source§impl Deref for ValidatedAdfDocument
impl Deref for ValidatedAdfDocument
Source§impl PartialEq for ValidatedAdfDocument
impl PartialEq for ValidatedAdfDocument
Source§impl Serialize for ValidatedAdfDocument
impl Serialize for ValidatedAdfDocument
impl StructuralPartialEq for ValidatedAdfDocument
Auto Trait Implementations§
impl Freeze for ValidatedAdfDocument
impl RefUnwindSafe for ValidatedAdfDocument
impl Send for ValidatedAdfDocument
impl Sync for ValidatedAdfDocument
impl Unpin for ValidatedAdfDocument
impl UnsafeUnpin for ValidatedAdfDocument
impl UnwindSafe for ValidatedAdfDocument
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
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> ⓘ
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> ⓘ
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