pub struct ValueWirePayloadRefV1<'a> { /* private fields */ }Expand description
Borrowed unversioned V1 payload for serialization without cloning.
Use one of the fallible constructors or the corresponding TryFrom impl
to create a payload. The private representation prevents callers from
bypassing V1 validation by constructing an unchecked shape directly.
§Type Parameters
'a- Lifetime of the runtime payload borrowed for serialization.
§Examples
use qubit_value::{Value, ValueWirePayloadRefV1};
let value = Value::from(42_i32);
let _payload = ValueWirePayloadRefV1::from_value(&value).unwrap();Implementations§
Source§impl<'a> ValueWirePayloadRefV1<'a>
impl<'a> ValueWirePayloadRefV1<'a>
Sourcepub fn from_value(value: &'a Value) -> Result<Self, ValueWireEncodeError>
pub fn from_value(value: &'a Value) -> Result<Self, ValueWireEncodeError>
Borrows a scalar after validating V1’s finite-float invariant.
§Parameters
value- Scalar runtime value to validate and borrow.
§Returns
A borrowed V1 payload preserving the scalar shape.
§Errors
Returns ValueWireEncodeError when the scalar contains a non-finite
float or an out-of-range decimal scale.
Sourcepub fn from_values(
values: &'a MultiValues,
) -> Result<Self, ValueWireEncodeError>
pub fn from_values( values: &'a MultiValues, ) -> Result<Self, ValueWireEncodeError>
Borrows a collection after validating V1’s finite-float invariant.
§Parameters
values- Homogeneous runtime collection to validate and borrow.
§Returns
A borrowed V1 payload preserving the collection shape.
§Errors
Returns ValueWireEncodeError when an element is a non-finite float
or has an out-of-range decimal scale.
Sourcepub fn from_container(
value: &'a ValueContainer,
) -> Result<Self, ValueWireEncodeError>
pub fn from_container( value: &'a ValueContainer, ) -> Result<Self, ValueWireEncodeError>
Borrows an explicit shape after validating V1’s finite-float invariant.
§Parameters
value- Explicit scalar-or-collection value to validate and borrow.
§Returns
A borrowed V1 payload preserving the original shape.
§Errors
Returns ValueWireEncodeError when any contained value violates the
V1 numeric representation constraints.
Sourcepub fn to_json_vec(&self) -> Result<Vec<u8>, ValueWireEncodeError>
pub fn to_json_vec(&self) -> Result<Vec<u8>, ValueWireEncodeError>
Encodes the borrowed V1 payload into a compact JSON vector.
§Returns
Compact UTF-8 JSON bytes for this unversioned payload.
§Errors
Returns ValueWireEncodeError when encoding exceeds the default
resource profile or Serde rejects the payload.
Sourcepub fn to_json_vec_with_limits(
&self,
limits: JsonEncodeLimits,
) -> Result<Vec<u8>, ValueWireEncodeError>
pub fn to_json_vec_with_limits( &self, limits: JsonEncodeLimits, ) -> Result<Vec<u8>, ValueWireEncodeError>
Encodes the borrowed V1 payload with explicit JSON resource limits.
§Parameters
limits- Resource limits enforced during JSON encoding.
§Returns
Compact UTF-8 JSON bytes for this unversioned payload.
§Errors
Returns ValueWireEncodeError when encoding exceeds limits or
Serde rejects the payload.
Sourcepub fn to_json_writer<W>(&self, writer: W) -> Result<(), ValueWireEncodeError>where
W: Write,
pub fn to_json_writer<W>(&self, writer: W) -> Result<(), ValueWireEncodeError>where
W: Write,
Encodes the borrowed V1 payload to a writer with default limits.
§Type Parameters
W- Destination writer type.
§Parameters
writer- Destination receiving the complete JSON payload.
§Returns
Ok(()) after the complete payload is written.
§Errors
Returns ValueWireEncodeError for resource, serialization, or writer
failures.
Sourcepub fn to_json_writer_with_limits<W>(
&self,
writer: W,
limits: JsonEncodeLimits,
) -> Result<(), ValueWireEncodeError>where
W: Write,
pub fn to_json_writer_with_limits<W>(
&self,
writer: W,
limits: JsonEncodeLimits,
) -> Result<(), ValueWireEncodeError>where
W: Write,
Encodes the borrowed V1 payload to a writer with explicit limits.
§Type Parameters
W- Destination writer type.
§Parameters
writer- Destination receiving the complete JSON payload.limits- Resource limits enforced during JSON encoding.
§Returns
Ok(()) after the complete payload is written.
§Errors
Returns ValueWireEncodeError when encoding exceeds limits, Serde
rejects the payload, or writer rejects output.
Trait Implementations§
Source§impl Serialize for ValueWirePayloadRefV1<'_>
impl Serialize for ValueWirePayloadRefV1<'_>
Source§impl<'a> TryFrom<&'a MultiValues> for ValueWirePayloadRefV1<'a>
impl<'a> TryFrom<&'a MultiValues> for ValueWirePayloadRefV1<'a>
Source§fn try_from(values: &'a MultiValues) -> Result<Self, Self::Error>
fn try_from(values: &'a MultiValues) -> Result<Self, Self::Error>
Borrows and validates a collection.
Source§type Error = ValueWireEncodeError
type Error = ValueWireEncodeError
Source§impl<'a> TryFrom<&'a Value> for ValueWirePayloadRefV1<'a>
impl<'a> TryFrom<&'a Value> for ValueWirePayloadRefV1<'a>
Source§impl<'a> TryFrom<&'a ValueContainer> for ValueWirePayloadRefV1<'a>
impl<'a> TryFrom<&'a ValueContainer> for ValueWirePayloadRefV1<'a>
Source§fn try_from(value: &'a ValueContainer) -> Result<Self, Self::Error>
fn try_from(value: &'a ValueContainer) -> Result<Self, Self::Error>
Borrows and validates an explicit shape.