pub struct JsonSchema {
pub schema: Value,
pub strictness: SchemaStrictness,
}Expand description
JSON Schema plus portable strictness metadata. Construction wraps the document without compiling it. The owning Local/MCP operation validates schemas and values at its operation boundary.
§Examples
use tools_kit::schema::{JsonSchema, SchemaStrictness};
let schema = JsonSchema::strict(serde_json::json!({"type":"object"}));
assert_eq!(schema.schema["type"], "object");
assert_eq!(schema.strictness, SchemaStrictness::Strict);Fields§
§schema: ValueJSON Schema document.
strictness: SchemaStrictnessPortable strictness requested for the schema.
Implementations§
Source§impl JsonSchema
impl JsonSchema
Sourcepub fn strict(schema: Value) -> Self
pub fn strict(schema: Value) -> Self
Wraps a schema with strict rendering semantics.
See crate::schema::JsonSchema for a complete example.
Sourcepub fn best_effort(schema: Value) -> Self
pub fn best_effort(schema: Value) -> Self
Wraps a schema with best-effort rendering semantics.
§Examples
use tools_kit::schema::{JsonSchema, SchemaStrictness};
let schema = JsonSchema::best_effort(serde_json::json!({"type":"object"}));
assert_eq!(schema.schema["type"], "object");
assert_eq!(schema.strictness, SchemaStrictness::BestEffort);Sourcepub fn unspecified(schema: Value) -> Self
pub fn unspecified(schema: Value) -> Self
Wraps a schema without a strictness preference.
§Examples
use tools_kit::schema::{JsonSchema, SchemaStrictness};
let schema = JsonSchema::unspecified(serde_json::json!({"type":"object"}));
assert_eq!(schema.schema["type"], "object");
assert_eq!(schema.strictness, SchemaStrictness::Unspecified);Trait Implementations§
Source§impl Clone for JsonSchema
impl Clone for JsonSchema
Source§impl Debug for JsonSchema
impl Debug for JsonSchema
Source§impl<'de> Deserialize<'de> for JsonSchema
impl<'de> Deserialize<'de> for JsonSchema
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 PartialEq for JsonSchema
impl PartialEq for JsonSchema
Source§impl Serialize for JsonSchema
impl Serialize for JsonSchema
impl StructuralPartialEq for JsonSchema
Auto Trait Implementations§
impl Freeze for JsonSchema
impl RefUnwindSafe for JsonSchema
impl Send for JsonSchema
impl Sync for JsonSchema
impl Unpin for JsonSchema
impl UnsafeUnpin for JsonSchema
impl UnwindSafe for JsonSchema
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