#[non_exhaustive]pub struct MultiSelectPropertySchema {
pub title: Option<String>,
pub description: Option<String>,
pub min_items: Option<u64>,
pub max_items: Option<u64>,
pub items: MultiSelectItems,
pub default: Option<Vec<String>>,
pub meta: Option<Map<String, Value>>,
}unstable_protocol_v2 only.Expand description
Schema for multi-select (array) properties in an elicitation form.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.title: Option<String>Optional title for the property.
description: Option<String>Human-readable description.
min_items: Option<u64>Minimum number of items to select.
max_items: Option<u64>Maximum number of items to select.
items: MultiSelectItemsThe items definition describing allowed values.
default: Option<Vec<String>>Default selected values.
meta: Option<Map<String, Value>>The _meta property is reserved by ACP to allow clients and agents to attach additional metadata to their interactions. Implementations MUST NOT make assumptions about values at these keys.
See protocol docs: Extensibility
Implementations§
Source§impl MultiSelectPropertySchema
impl MultiSelectPropertySchema
Sourcepub fn new(values: Vec<String>) -> MultiSelectPropertySchema
pub fn new(values: Vec<String>) -> MultiSelectPropertySchema
Create a new untitled multi-select property schema.
Sourcepub fn titled(options: Vec<EnumOption>) -> MultiSelectPropertySchema
pub fn titled(options: Vec<EnumOption>) -> MultiSelectPropertySchema
Create a new titled multi-select property schema.
Sourcepub fn title(self, title: impl IntoOption<String>) -> MultiSelectPropertySchema
pub fn title(self, title: impl IntoOption<String>) -> MultiSelectPropertySchema
Optional title for the property.
Sourcepub fn description(
self,
description: impl IntoOption<String>,
) -> MultiSelectPropertySchema
pub fn description( self, description: impl IntoOption<String>, ) -> MultiSelectPropertySchema
Human-readable description.
Sourcepub fn min_items(
self,
min_items: impl IntoOption<u64>,
) -> MultiSelectPropertySchema
pub fn min_items( self, min_items: impl IntoOption<u64>, ) -> MultiSelectPropertySchema
Minimum number of items to select.
Sourcepub fn max_items(
self,
max_items: impl IntoOption<u64>,
) -> MultiSelectPropertySchema
pub fn max_items( self, max_items: impl IntoOption<u64>, ) -> MultiSelectPropertySchema
Maximum number of items to select.
Sourcepub fn default_value(
self,
default: impl IntoOption<Vec<String>>,
) -> MultiSelectPropertySchema
pub fn default_value( self, default: impl IntoOption<Vec<String>>, ) -> MultiSelectPropertySchema
Default selected values.
Sourcepub fn meta(
self,
meta: impl IntoOption<Map<String, Value>>,
) -> MultiSelectPropertySchema
pub fn meta( self, meta: impl IntoOption<Map<String, Value>>, ) -> MultiSelectPropertySchema
The _meta property is reserved by ACP to allow clients and agents to attach additional metadata to their interactions. Implementations MUST NOT make assumptions about values at these keys.
See protocol docs: Extensibility
Trait Implementations§
Source§impl Clone for MultiSelectPropertySchema
impl Clone for MultiSelectPropertySchema
Source§fn clone(&self) -> MultiSelectPropertySchema
fn clone(&self) -> MultiSelectPropertySchema
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for MultiSelectPropertySchema
impl Debug for MultiSelectPropertySchema
Source§impl<'de> Deserialize<'de> for MultiSelectPropertySchema
impl<'de> Deserialize<'de> for MultiSelectPropertySchema
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<MultiSelectPropertySchema, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<MultiSelectPropertySchema, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
impl Eq for MultiSelectPropertySchema
Source§impl From<MultiSelectPropertySchema> for ElicitationPropertySchema
impl From<MultiSelectPropertySchema> for ElicitationPropertySchema
Source§fn from(schema: MultiSelectPropertySchema) -> ElicitationPropertySchema
fn from(schema: MultiSelectPropertySchema) -> ElicitationPropertySchema
Source§impl IntoV1 for MultiSelectPropertySchema
Available on crate feature unstable_elicitation only.
impl IntoV1 for MultiSelectPropertySchema
unstable_elicitation only.Source§type Output = MultiSelectPropertySchema
type Output = MultiSelectPropertySchema
Source§fn into_v1(
self,
) -> Result<<MultiSelectPropertySchema as IntoV1>::Output, ProtocolConversionError>
fn into_v1( self, ) -> Result<<MultiSelectPropertySchema as IntoV1>::Output, ProtocolConversionError>
Source§impl JsonSchema for MultiSelectPropertySchema
impl JsonSchema for MultiSelectPropertySchema
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl PartialEq for MultiSelectPropertySchema
impl PartialEq for MultiSelectPropertySchema
Source§fn eq(&self, other: &MultiSelectPropertySchema) -> bool
fn eq(&self, other: &MultiSelectPropertySchema) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for MultiSelectPropertySchema
impl Serialize for MultiSelectPropertySchema
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl StructuralPartialEq for MultiSelectPropertySchema
Auto Trait Implementations§
impl Freeze for MultiSelectPropertySchema
impl RefUnwindSafe for MultiSelectPropertySchema
impl Send for MultiSelectPropertySchema
impl Sync for MultiSelectPropertySchema
impl Unpin for MultiSelectPropertySchema
impl UnsafeUnpin for MultiSelectPropertySchema
impl UnwindSafe for MultiSelectPropertySchema
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
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.