summaryrefslogtreecommitdiffstats
path: root/src/function.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/function.rs')
-rw-r--r--src/function.rs8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/function.rs b/src/function.rs
index f98bf09..70c1d62 100644
--- a/src/function.rs
+++ b/src/function.rs
@@ -106,17 +106,21 @@ pub struct FunctionDeclaration {
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct JsonSchema {
- #[serde(rename = "type")]
- pub type_value: String,
+ #[serde(rename = "type", skip_serializing_if = "Option::is_none")]
+ pub type_value: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub properties: Option<IndexMap<String, JsonSchema>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub items: Option<Box<JsonSchema>>,
+ #[serde(rename = "anyOf", skip_serializing_if = "Option::is_none")]
+ pub any_of: Option<Vec<JsonSchema>>,
#[serde(rename = "enum", skip_serializing_if = "Option::is_none")]
pub enum_value: Option<Vec<String>>,
#[serde(skip_serializing_if = "Option::is_none")]
+ pub default: Option<Value>,
+ #[serde(skip_serializing_if = "Option::is_none")]
pub required: Option<Vec<String>>,
}