pub struct JoinedQuery<A, B> { /* private fields */ }Expand description
Two object-shaped queries serialized into a single flat request.
Trait Implementations§
Source§impl<'de, A, B> Deserialize<'de> for JoinedQuery<A, B>where
A: Deserialize<'de>,
B: Deserialize<'de>,
impl<'de, A, B> Deserialize<'de> for JoinedQuery<A, B>where
A: Deserialize<'de>,
B: Deserialize<'de>,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
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<A: Query, B: Query> Query for JoinedQuery<A, B>
impl<A: Query, B: Query> Query for JoinedQuery<A, B>
Source§type Output = (<A as Query>::Output, <B as Query>::Output)
type Output = (<A as Query>::Output, <B as Query>::Output)
The validated application answer shape.
Source§fn decode(
&self,
response: Self::Response,
) -> Result<Self::Output, ProviderError>
fn decode( &self, response: Self::Response, ) -> Result<Self::Output, ProviderError>
Validate and convert a deserialized response. Composite queries delegate
to their fields, keeping validation inside the evaluation error boundary.
Source§fn named(self, id: impl Into<String>) -> Result<NamedQuery<Self>, ProviderError>where
Self: Sized,
fn named(self, id: impl Into<String>) -> Result<NamedQuery<Self>, ProviderError>where
Self: Sized,
Give a standalone question a runtime ID. Named struct fields do not need this.
Source§fn join<Q: Query>(self, other: Q) -> JoinedQuery<Self, Q>where
Self: Sized,
fn join<Q: Query>(self, other: Q) -> JoinedQuery<Self, Q>where
Self: Sized,
Flatten two object-shaped queries into one evaluation request.
Duplicate IDs are rejected before sending the request. Child queries must
serialize with stable field names: decoding uses those names to partition
the response before delegating to each child.
Source§fn map<A, F>(self, map: F) -> MappedQuery<Self, F>
fn map<A, F>(self, map: F) -> MappedQuery<Self, F>
Project validated answers into an application value.
Auto Trait Implementations§
impl<A, B> Freeze for JoinedQuery<A, B>
impl<A, B> RefUnwindSafe for JoinedQuery<A, B>where
A: RefUnwindSafe,
B: RefUnwindSafe,
impl<A, B> Send for JoinedQuery<A, B>
impl<A, B> Sync for JoinedQuery<A, B>
impl<A, B> Unpin for JoinedQuery<A, B>
impl<A, B> UnsafeUnpin for JoinedQuery<A, B>where
A: UnsafeUnpin,
B: UnsafeUnpin,
impl<A, B> UnwindSafe for JoinedQuery<A, B>where
A: UnwindSafe,
B: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoToolOutput for Twhere
T: Serialize + 'static,
impl<T> IntoToolOutput for Twhere
T: Serialize + 'static,
Source§fn into_tool_output(self) -> Result<ToolOutput, ToolExecutionError>
fn into_tool_output(self) -> Result<ToolOutput, ToolExecutionError>
Convert this value without routing structured data through a string.