Enum deno_kv::Value

source ·
pub enum Value {
    V8(Vec<u8>),
    Bytes(Vec<u8>),
    U64(u64),
}
Expand description

A serialized value for a KV pair as stored in the database. All values can be serialized into the V8 representation, but not all values are.

The V8 representation is an opaque byte array that is only meaningful to the V8 engine. It is guaranteed to be backwards compatible. Because this representation is opaque, it is not possible to inspect or modify the value without deserializing it.

The inability to inspect or modify the value without deserializing it means that these values can not be quickly modified when performing atomic read-modify-write operations on the database (because the database may not have the ability to deserialize the V8 value into a modifiable value).

Because of this constraint, there are more specialized representations for certain types of values that can be used in atomic read-modify-write operations. These specialized representations are:

  • Bytes: an arbitrary byte array.
  • U64: a 64-bit unsigned integer.

Variants§

§

V8(Vec<u8>)

§

Bytes(Vec<u8>)

§

U64(u64)

Auto Trait Implementations§

§

impl RefUnwindSafe for Value

§

impl Send for Value

§

impl Sync for Value

§

impl Unpin for Value

§

impl UnwindSafe for Value

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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 Twhere 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 Twhere U: Into<T>,

§

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 Twhere U: TryFrom<T>,

§

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.