Skip to main content

GenerationSchema

Struct GenerationSchema 

Source
pub struct GenerationSchema { /* private fields */ }
Expand description

A validated FoundationModels generation schema encoded as JSON Schema.

Implementations§

Source§

impl GenerationSchema

Source

pub fn from_json_schema(json_schema: impl Into<String>) -> Result<Self, FMError>

Validate and store a JSON schema definition.

§Errors

Returns an FMError if Apple’s GenerationSchema rejects the schema.

Source

pub fn from_dynamic( root: DynamicGenerationSchema, dependencies: impl IntoIterator<Item = DynamicGenerationSchema>, ) -> Result<Self, FMError>

Create a schema from a dynamic root schema plus optional dependencies.

§Errors

Returns an FMError if the dynamic schema is invalid.

Source

pub fn new( description: Option<String>, properties: impl IntoIterator<Item = (impl Into<String>, DynamicGenerationProperty)>, ) -> Result<Self, FMError>

Build an object schema with FoundationModels’ typed GenerationSchema initializer.

This Rust wrapper uses GeneratedContent as the root Swift type and mirrors the SDK’s property-based schema builder.

§Errors

Returns an FMError if the typed schema is invalid.

Source

pub fn new_with_nil_repr( description: Option<String>, represent_nil_explicitly_in_generated_content: bool, properties: impl IntoIterator<Item = (impl Into<String>, DynamicGenerationProperty)>, ) -> Result<Self, FMError>

Build an object schema with FoundationModels’ typed GenerationSchema initializer, optionally requiring explicit null values for optional properties.

§Errors

Returns an FMError if the typed schema is invalid or the current runtime does not support explicit null representation.

Source

pub fn json_schema(&self) -> &str

The JSON Schema payload accepted by Apple’s GenerationSchema.

Source

pub fn name(&self) -> Option<String>

Best-effort name (the schema’s title).

Source

pub fn string() -> Self

A JSON string schema.

Source

pub fn integer() -> Self

A JSON integer schema.

Source

pub fn number() -> Self

A JSON number schema.

Source

pub fn boolean() -> Self

A JSON boolean schema.

Source

pub fn generated_content() -> Self

A schema for arbitrary JSON (GeneratedContent).

Trait Implementations§

Source§

impl Clone for GenerationSchema

Source§

fn clone(&self) -> GenerationSchema

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for GenerationSchema

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for GenerationSchema

Source§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for GenerationSchema

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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 T
where 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

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

Source§

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.