pub enum Document {
Object(HashMap<String, Document>),
Array(Vec<Document>),
Number(Number),
String(String),
Bool(bool),
Null,
}
Expand description
Document Type
Document types represents protocol-agnostic open content that is accessed like JSON data. Open content is useful for modeling unstructured data that has no schema, data that can’t be modeled using rigid types, or data that has a schema that evolves outside of the purview of a model. The serialization format of a document is an implementation detail of a protocol.
Variants§
Object(HashMap<String, Document>)
JSON object
Array(Vec<Document>)
JSON array
Number(Number)
JSON number
String(String)
JSON string
Bool(bool)
JSON boolean
Null
JSON null
Implementations§
Source§impl Document
impl Document
Sourcepub fn as_object(&self) -> Option<&HashMap<String, Document>>
pub fn as_object(&self) -> Option<&HashMap<String, Document>>
Returns the inner map value if this Document
is an object.
Sourcepub fn as_object_mut(&mut self) -> Option<&mut HashMap<String, Document>>
pub fn as_object_mut(&mut self) -> Option<&mut HashMap<String, Document>>
Returns the mutable inner map value if this Document
is an object.
Sourcepub fn as_array(&self) -> Option<&Vec<Document>>
pub fn as_array(&self) -> Option<&Vec<Document>>
Returns the inner array value if this Document
is an array.
Sourcepub fn as_array_mut(&mut self) -> Option<&mut Vec<Document>>
pub fn as_array_mut(&mut self) -> Option<&mut Vec<Document>>
Returns the mutable inner array value if this Document
is an array.
Sourcepub fn as_number(&self) -> Option<&Number>
pub fn as_number(&self) -> Option<&Number>
Returns the inner number value if this Document
is a number.
Sourcepub fn as_string(&self) -> Option<&str>
pub fn as_string(&self) -> Option<&str>
Returns the inner string value if this Document
is a string.
Trait Implementations§
impl StructuralPartialEq for Document
Auto Trait Implementations§
impl Freeze for Document
impl RefUnwindSafe for Document
impl Send for Document
impl Sync for Document
impl Unpin for Document
impl UnwindSafe for Document
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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)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