pub enum BamlValue<T: KnownTypes, S: KnownTypes> {
Show 14 variants
String(String),
Int(i64),
Float(f64),
Bool(bool),
Null,
List(Vec<BamlValue<T, S>>),
Map(HashMap<String, BamlValue<T, S>>),
Known(T),
StreamKnown(S),
Checked(Checked<Box<BamlValue<T, S>>>),
StreamState(StreamState<Box<BamlValue<T, S>>>),
DynamicClass(DynamicClass<T, S>),
DynamicEnum(DynamicEnum),
DynamicUnion(DynamicUnion<T, S>),
}Expand description
A dynamically-typed BAML value, parameterized by two type enums:
T: Regular known types (e.g.,types::Person)S: Stream known types (e.g.,stream_types::Personwith Option fields)
In non-streaming contexts, StreamKnown(S) is an invariant (never appears).
Variants§
String(String)
Int(i64)
Float(f64)
Bool(bool)
Null
List(Vec<BamlValue<T, S>>)
Map(HashMap<String, BamlValue<T, S>>)
Known(T)
StreamKnown(S)
Checked(Checked<Box<BamlValue<T, S>>>)
StreamState(StreamState<Box<BamlValue<T, S>>>)
DynamicClass(DynamicClass<T, S>)
DynamicEnum(DynamicEnum)
DynamicUnion(DynamicUnion<T, S>)
Implementations§
Source§impl<T: KnownTypes, S: KnownTypes> BamlValue<T, S>
impl<T: KnownTypes, S: KnownTypes> BamlValue<T, S>
Sourcepub fn get<V: FromBamlValue<T, S>>(self) -> Result<V, BamlError>
pub fn get<V: FromBamlValue<T, S>>(self) -> Result<V, BamlError>
Convert this BamlValue to the specified type.
Sourcepub fn get_ref<'a, V: FromBamlValueRef<'a, T, S>>(
&'a self,
) -> Result<V, BamlError>
pub fn get_ref<'a, V: FromBamlValueRef<'a, T, S>>( &'a self, ) -> Result<V, BamlError>
Borrow this BamlValue as the specified type (zero-copy).
Trait Implementations§
Source§impl<T: KnownTypes, S: KnownTypes> BamlDecode for BamlValue<T, S>
impl<T: KnownTypes, S: KnownTypes> BamlDecode for BamlValue<T, S>
Source§fn baml_decode(holder: &CffiValueHolder) -> Result<Self, BamlError>
fn baml_decode(holder: &CffiValueHolder) -> Result<Self, BamlError>
Decode from a
CffiValueHolder (outbound schema)Source§impl<T: KnownTypes, S: KnownTypes> BamlEncode for BamlValue<T, S>
impl<T: KnownTypes, S: KnownTypes> BamlEncode for BamlValue<T, S>
Source§fn baml_encode(&self) -> HostValue
fn baml_encode(&self) -> HostValue
Encode to a
HostValue (inbound schema)Source§impl<T: Clone + KnownTypes, S: Clone + KnownTypes> Clone for BamlValue<T, S>
impl<T: Clone + KnownTypes, S: Clone + KnownTypes> Clone for BamlValue<T, S>
Source§impl<T: Debug + KnownTypes, S: Debug + KnownTypes> Debug for BamlValue<T, S>
impl<T: Debug + KnownTypes, S: Debug + KnownTypes> Debug for BamlValue<T, S>
Source§impl<T: KnownTypes, S: KnownTypes> FromBamlValue<T, S> for BamlValue<T, S>
Identity impl - extract BamlValue from BamlValue
impl<T: KnownTypes, S: KnownTypes> FromBamlValue<T, S> for BamlValue<T, S>
Identity impl - extract BamlValue from BamlValue
Auto Trait Implementations§
impl<T, S> Freeze for BamlValue<T, S>
impl<T, S> RefUnwindSafe for BamlValue<T, S>where
T: RefUnwindSafe,
S: RefUnwindSafe,
impl<T, S> Send for BamlValue<T, S>
impl<T, S> Sync for BamlValue<T, S>
impl<T, S> Unpin for BamlValue<T, S>
impl<T, S> UnwindSafe for BamlValue<T, S>where
T: UnwindSafe,
S: 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