Struct ItemRef

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

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

Implementations§

Source§

impl<'a> ItemRef<'a>

Source

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

Returns the inner Map as a reference.

Source§

impl<'a> ItemRef<'a>

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 url(&self) -> Result<Option<&str>, Error>

The optional URL which the item represents.

Source

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

An optional related external URL to the item.

Source

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

An optional title for the item.

Source

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

An optional HTML string representing the content.

Source

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

An optional plain text string representing the content.

Source

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

An optional summary of the item.

Source

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

An optional URL of an image representing the item.

Source

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

An optional URL of a banner image representing the item.

Source

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

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

Source

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

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

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 authors(&self) -> Result<Option<Vec<AuthorRef<'_>>>, Error>

An optional array of authors.

Source

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

An optional array of plain text 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 attachments(&self) -> Result<Option<Vec<AttachmentRef<'_>>>, Error>

An optional array of relevant resources for the item.

Source§

impl ItemRef<'_>

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> AsRef<Map<String, Value>> for ItemRef<'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 ItemRef<'a>

Source§

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

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

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

Source§

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

Converts to this type from the input type.
Source§

impl<'a> From<&'a mut Map<String, Value>> for ItemRef<'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 ItemRef<'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 ItemRef<'a>

Source§

fn eq(&self, other: &ItemRef<'_>) -> 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 ItemRef<'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 ItemRef<'a>

Auto Trait Implementations§

§

impl<'a> Freeze for ItemRef<'a>

§

impl<'a> RefUnwindSafe for ItemRef<'a>

§

impl<'a> Send for ItemRef<'a>

§

impl<'a> Sync for ItemRef<'a>

§

impl<'a> Unpin for ItemRef<'a>

§

impl<'a> UnwindSafe for ItemRef<'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.