Struct Item

Source
pub struct Item { /* private fields */ }
Expand description

An item is a single object (blog post, story, etc.) in the feed list.

§Valid Item

An Item must have an id property set and either a content_html or content_text property set.

Implementations§

Source§

impl Item

Source

pub fn new() -> Self

Instantiates with an empty JSON object.

Source

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

Returns the inner Map as a reference.

Source

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

Returns the inner Map as a mutable reference.

Source

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

Converts the type into the inner Map.

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 Item

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 AsMut<Map<String, Value>> for Item

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 AsRef<Map<String, Value>> for Item

Source§

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

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

impl Clone for Item

Source§

fn clone(&self) -> Item

Returns a copy of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for Item

Source§

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

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

impl Default for Item

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for Item

Source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl From<Map<String, Value>> for Item

Source§

fn from(value: Map<String, Value>) -> Self

Converts to this type from the input type.
Source§

impl PartialEq<Map<String, Value>> for Item

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 PartialEq for Item

Source§

fn eq(&self, other: &Item) -> 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 Serialize for Item

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 Eq for Item

Auto Trait Implementations§

§

impl Freeze for Item

§

impl RefUnwindSafe for Item

§

impl Send for Item

§

impl Sync for Item

§

impl Unpin for Item

§

impl UnwindSafe for Item

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> 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> 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.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,