Struct ItemMut

Source
pub struct ItemMut<'a> { /* private fields */ }
Expand description

An Item implemented with a borrowed mutable reference to a JSON object.

Implementations§

Source§

impl<'a> ItemMut<'a>

Source

pub fn as_map(&self) -> &Map<String, Value>

Returns the inner Map as a reference.

Source§

impl<'a> ItemMut<'a>

Source

pub fn as_map_mut(&mut self) -> &mut Map<String, Value>

Returns the inner Map as a mutable reference.

Source

pub fn to_item(&self) -> Item

Clones the inner Map reference and returns an owned type.

Source

pub fn id(&self) -> Result<Option<&str>, Error>

A required unique identifier for an item.

§Important

The ID should be unique across all items which have ever appeared in the feed. An item with the same exact ID as another item (even if it is no longer in the current JSON feed items array) are considered the same item.

§Version 1.0 Incompatibility

While JSON Feed 1.0 permitted values which could be coerced into JSON strings (e.g. JSON numbers), this model supports only JSON strings. JSON Feed 1.1 strongly suggests to only use strings. In practice, the vast majority of feeds use strings.

If you wish to support non-String IDs, you can directly access the underlying Map with as_map_mut or an equivalent method and read the JSON value.

Source

pub fn set_id<T>(&mut self, value: T) -> Option<Value>
where T: ToString,

Sets the ID.

Source

pub fn remove_id(&mut self) -> Option<Value>

Removes the ID.

Source

pub fn url(&self) -> Result<Option<&str>, Error>

The optional URL which the item represents.

Source

pub fn set_url<T>(&mut self, value: T) -> Option<Value>
where T: ToString,

Sets the URL.

Source

pub fn remove_url(&mut self) -> Option<Value>

Removes the URL.

Source

pub fn external_url(&self) -> Result<Option<&str>, Error>

An optional related external URL to the item.

Source

pub fn set_external_url<T>(&mut self, value: T) -> Option<Value>
where T: ToString,

Sets the external URL.

Source

pub fn remove_external_url(&mut self) -> Option<Value>

Removes the external URL.

Source

pub fn title(&self) -> Result<Option<&str>, Error>

An optional title for the item.

Source

pub fn set_title<T>(&mut self, value: T) -> Option<Value>
where T: ToString,

Sets the title.

Source

pub fn remove_title(&mut self) -> Option<Value>

Removes the title.

Source

pub fn content_html(&self) -> Result<Option<&str>, Error>

An optional HTML string representing the content.

Source

pub fn set_content_html<T>(&mut self, value: T) -> Option<Value>
where T: ToString,

Sets the HTML content.

Source

pub fn remove_content_html(&mut self) -> Option<Value>

Removes the HTML content.

Source

pub fn content_text(&self) -> Result<Option<&str>, Error>

An optional plain text string representing the content.

Source

pub fn set_content_text<T>(&mut self, value: T) -> Option<Value>
where T: ToString,

Sets the plain text content.

Source

pub fn remove_content_text(&mut self) -> Option<Value>

Removes the plain text content.

Source

pub fn summary(&self) -> Result<Option<&str>, Error>

An optional summary of the item.

Source

pub fn set_summary<T>(&mut self, value: T) -> Option<Value>
where T: ToString,

Sets the summary.

Source

pub fn remove_summary(&mut self) -> Option<Value>

Removes the summary.

Source

pub fn image(&self) -> Result<Option<&str>, Error>

An optional URL of an image representing the item.

Source

pub fn set_image<T>(&mut self, value: T) -> Option<Value>
where T: ToString,

Sets the image.

Source

pub fn remove_image(&mut self) -> Option<Value>

Removes the image.

Source

pub fn banner_image(&self) -> Result<Option<&str>, Error>

An optional URL of a banner image representing the item.

Source

pub fn set_banner_image<T>(&mut self, value: T) -> Option<Value>
where T: ToString,

Sets the banner image.

Source

pub fn remove_banner_image(&mut self) -> Option<Value>

Removes the banner image.

Source

pub fn date_published(&self) -> Result<Option<&str>, Error>

The date which the item was published in RFC 3339 format.

Source

pub fn set_date_published<T>(&mut self, value: T) -> Option<Value>
where T: ToString,

Sets the date published.

Source

pub fn remove_date_published(&mut self) -> Option<Value>

Removes the date published.

Source

pub fn date_modified(&self) -> Result<Option<&str>, Error>

The date which the item was modified in RFC 3339 format.

Source

pub fn set_date_modified<T>(&mut self, value: T) -> Option<Value>
where T: ToString,

Sets the date modified.

Source

pub fn remove_date_modified(&mut self) -> Option<Value>

Removes the date modified.

Source

pub fn author(&self) -> Result<Option<AuthorRef<'_>>, Error>

An optional author.

§Deprecation

The author field is deprecated in favor of the authors field as of JSON Feed 1.1.

Source

pub fn author_mut(&mut self) -> Result<Option<AuthorMut<'_>>, Error>

An optional author.

§Deprecation

The author field is deprecated in favor of the authors field as of JSON Feed 1.1.

Source

pub fn set_author(&mut self, value: Author) -> Option<Value>

Sets the author.

Source

pub fn remove_author(&mut self) -> Option<Value>

Removes the author.

Source

pub fn authors(&self) -> Result<Option<Vec<AuthorRef<'_>>>, Error>

An optional array of authors.

Source

pub fn authors_mut(&mut self) -> Result<Option<Vec<AuthorMut<'_>>>, Error>

An optional array of authors.

Source

pub fn set_authors<I>(&mut self, items: I) -> Option<Value>
where I: IntoIterator<Item = Author>,

Sets the authors.

Source

pub fn remove_authors(&mut self) -> Option<Value>

Removes the authors.

Source

pub fn tags(&self) -> Result<Option<Vec<&str>>, Error>

An optional array of plain text tags.

Source

pub fn set_tags<I>(&mut self, values: I) -> Option<Value>
where I: IntoIterator<Item = String>,

Sets the tags.

Source

pub fn remove_tags(&mut self) -> Option<Value>

Removes the tags.

Source

pub fn language(&self) -> Result<Option<&str>, Error>

The optional language which the feed data is written in.

Valid values are from RFC 5646.

Source

pub fn set_language<T>(&mut self, value: T) -> Option<Value>
where T: ToString,

Sets the language.

Source

pub fn remove_language(&mut self) -> Option<Value>

Removes the language.

Source

pub fn attachments(&self) -> Result<Option<Vec<AttachmentRef<'_>>>, Error>

An optional array of relevant resources for the item.

Source

pub fn attachments_mut( &mut self, ) -> Result<Option<Vec<AttachmentMut<'_>>>, Error>

An optional array of relevant resources for the item.

Source

pub fn set_attachments<I>(&mut self, items: I) -> Option<Value>
where I: IntoIterator<Item = Attachment>,

Sets the attachments.

Source

pub fn remove_attachments(&mut self) -> Option<Value>

Removes the attachments.

Source§

impl ItemMut<'_>

Source

pub fn is_valid(&self, version: &Version<'_>) -> bool

Verifies if the JSON data complies with a specific Version of the JSON Feed spec.

Trait Implementations§

Source§

impl<'a> AsMut<Map<String, Value>> for ItemMut<'a>

Source§

fn as_mut(&mut self) -> &mut Map<String, Value>

Converts this type into a mutable reference of the (usually inferred) input type.
Source§

impl<'a> AsRef<Map<String, Value>> for ItemMut<'a>

Source§

fn as_ref(&self) -> &Map<String, Value>

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl<'a> Debug for ItemMut<'a>

Source§

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

Formats the value using the given formatter. Read more
Source§

impl<'a> From<&'a mut Map<String, Value>> for ItemMut<'a>

Source§

fn from(value: &'a mut Map<String, Value>) -> Self

Converts to this type from the input type.
Source§

impl<'a> PartialEq<Map<String, Value>> for ItemMut<'a>

Source§

fn eq(&self, other: &Map<String, Value>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'a> PartialEq for ItemMut<'a>

Source§

fn eq(&self, other: &ItemMut<'_>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'a> Serialize for ItemMut<'a>

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl<'a> Eq for ItemMut<'a>

Auto Trait Implementations§

§

impl<'a> Freeze for ItemMut<'a>

§

impl<'a> RefUnwindSafe for ItemMut<'a>

§

impl<'a> Send for ItemMut<'a>

§

impl<'a> Sync for ItemMut<'a>

§

impl<'a> Unpin for ItemMut<'a>

§

impl<'a> !UnwindSafe for ItemMut<'a>

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> 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, 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.