Skip to main content

ValueKind

Enum ValueKind 

Source
pub enum ValueKind<'a, T, B> {
    Node {
        id: Option<&'a Id<T, B>>,
    },
    Graph {
        id: Option<&'a Id<T, B>>,
    },
    Literal {
        datatype: Option<&'a T>,
    },
    LangString {
        language: Option<&'a LenientLangTag>,
        direction: Option<Direction>,
    },
    Json,
    List(&'a [ValueKind<'a, T, B>]),
    EmptyArray,
}
Expand description

Kind of a value described by a ValueHint.

Each variant stands for one shape of expanded JSON-LD and carries exactly the parts of it that IRI compaction reads.

Variants§

§

Node

A node object that is not a graph object, such as a node reference ({"@id": ...}), together with its @id, if any.

When the @id compacts to a term whose IRI mapping is that same @id, term selection prefers @vocab-typed terms over @id-typed ones.

Fields

§id: Option<&'a Id<T, B>>

The node’s @id.

§

Graph

A graph object (a node object whose only entries are @graph and optionally @id and @index), together with its @id, if any.

Fields

§id: Option<&'a Id<T, B>>

The graph’s @id.

§

Literal

A value object whose @value is a string, number, boolean or null, with no @language and no @direction.

Fields

§datatype: Option<&'a T>

The value’s @type IRI, if it has one.

§

LangString

A value object holding a string with a @language, a @direction, or both.

Fields

§language: Option<&'a LenientLangTag>

The value’s @language.

§direction: Option<Direction>

The value’s @direction.

§

Json

A value object of type @json.

§

List(&'a [ValueKind<'a, T, B>])

A list object, with the kinds of its items in order.

Only whether each item is a value object, and its type, language and direction if it is, take part in term selection; @index entries of the items do not.

§

EmptyArray

The empty array an expanded property holds when it has no values.

Selects the term an @id-less node object would.

Trait Implementations§

Source§

impl<'a, T, B> Clone for ValueKind<'a, T, B>

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl<'a, T, B> Copy for ValueKind<'a, T, B>

Source§

impl<'a, T, B> Debug for ValueKind<'a, T, B>
where T: Debug, B: Debug,

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a, T, B> Freeze for ValueKind<'a, T, B>
where Option<&'a Id<T, B>>: Freeze, Option<&'a T>: Freeze, &'a [ValueKind<'a, T, B>]: Freeze,

§

impl<'a, T, B> RefUnwindSafe for ValueKind<'a, T, B>
where Option<&'a Id<T, B>>: RefUnwindSafe, Option<&'a T>: RefUnwindSafe, &'a [ValueKind<'a, T, B>]: RefUnwindSafe,

§

impl<'a, T, B> Send for ValueKind<'a, T, B>
where Option<&'a Id<T, B>>: Send, Option<&'a T>: Send, &'a [ValueKind<'a, T, B>]: Send,

§

impl<'a, T, B> Sync for ValueKind<'a, T, B>
where Option<&'a Id<T, B>>: Sync, Option<&'a T>: Sync, &'a [ValueKind<'a, T, B>]: Sync,

§

impl<'a, T, B> Unpin for ValueKind<'a, T, B>
where Option<&'a Id<T, B>>: Unpin, Option<&'a T>: Unpin, &'a [ValueKind<'a, T, B>]: Unpin,

§

impl<'a, T, B> UnsafeUnpin for ValueKind<'a, T, B>
where Option<&'a Id<T, B>>: UnsafeUnpin, Option<&'a T>: UnsafeUnpin, &'a [ValueKind<'a, T, B>]: UnsafeUnpin,

§

impl<'a, T, B> UnwindSafe for ValueKind<'a, T, B>
where Option<&'a Id<T, B>>: UnwindSafe, Option<&'a T>: UnwindSafe, &'a [ValueKind<'a, T, B>]: UnwindSafe,

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> AsOut<T> for T
where T: Copy,

Source§

fn as_out(&mut self) -> Out<'_, T>

Returns an out reference to self.
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> BorrowUnordered for T

Source§

fn as_unordered(&self) -> &Unordered<T>

Views this value as an Unordered reference.
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

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, C> FromWithContext<T, C> for T

Source§

fn from_with(value: T, _context: &C) -> T

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, C> IntoWithContext<U, C> for T
where U: FromWithContext<T, C>,

Source§

fn into_with(self, context: &C) -> U

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

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 = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U, C> TryFromWithContext<U, C> for T
where U: IntoWithContext<T, C>,

Source§

type Error = !

Source§

fn try_from_with( value: U, context: &C, ) -> Result<T, <T as TryFromWithContext<U, C>>::Error>

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, U, C> TryIntoWithContext<U, C> for T
where U: TryFromWithContext<T, C>,

Source§

type Error = <U as TryFromWithContext<T, C>>::Error

Source§

fn try_into_with( self, context: &C, ) -> Result<U, <T as TryIntoWithContext<U, C>>::Error>

Source§

impl<T> WithContext for T
where T: ?Sized,

Source§

fn with<C>(&self, context: C) -> Contextual<&T, C>

Source§

fn into_with<C>(self, context: C) -> Contextual<T, C>
where T: Sized,