Re-introduce field title & description in referenced schemas.

This commit is contained in:
KtorZ
2023-03-11 11:41:15 +01:00
committed by Lucas
parent 45a463786f
commit ae981403c6
5 changed files with 34 additions and 5 deletions

View File

@@ -57,7 +57,7 @@ pub enum Items<T> {
#[derive(Debug, PartialEq, Eq, Clone)]
pub struct Constructor {
pub index: usize,
pub fields: Vec<Reference>,
pub fields: Vec<Annotated<Reference>>,
}
impl<T> From<T> for Annotated<T> {
@@ -191,7 +191,7 @@ impl Annotated<Schema> {
description: Some("An optional value.".to_string()),
annotated: Constructor {
index: 0,
fields: vec![generic],
fields: vec![generic.into()],
},
},
Annotated {
@@ -367,7 +367,11 @@ impl Data {
return Ok(schema.into_data(&field.tipo)?.annotated);
}
fields.push(reference);
fields.push(Annotated {
title: field.label.clone(),
description: field.doc.clone().map(|s| s.trim().to_string()),
annotated: reference,
});
}
let variant = Annotated {
@@ -750,12 +754,12 @@ pub mod test {
let schema = Schema::Data(Data::AnyOf(vec![
Constructor {
index: 0,
fields: vec![Reference::new("Int")],
fields: vec![Reference::new("Int").into()],
}
.into(),
Constructor {
index: 1,
fields: vec![Reference::new("Bytes")],
fields: vec![Reference::new("Bytes").into()],
}
.into(),
]));

View File

@@ -459,12 +459,17 @@ mod test {
"index": 0,
"fields": [
{
"title": "contestationPeriod",
"description": "The contestation period as a number of seconds",
"$ref": "#/definitions/test_module~1ContestationPeriod"
},
{
"title": "parties",
"description": "List of public key hashes of all participants",
"$ref": "#/definitions/List$ByteArray"
},
{
"title": "utxoHash",
"$ref": "#/definitions/ByteArray"
}
]
@@ -680,6 +685,7 @@ mod test {
"index": 0,
"fields": [
{
"title": "inner",
"$ref": "#/definitions/List$Tuple$ByteArray_Int"
}
]
@@ -786,6 +792,7 @@ mod test {
"index": 0,
"fields": [
{
"title": "foo",
"$ref": "#/definitions/Data"
}
]
@@ -965,6 +972,7 @@ mod test {
"index": 0,
"fields": [
{
"title": "foo",
"$ref": "#/definitions/test_module~1LinkedList$Bool"
}
]
@@ -975,9 +983,11 @@ mod test {
"index": 1,
"fields": [
{
"title": "bar",
"$ref": "#/definitions/Int"
},
{
"title": "baz",
"$ref": "#/definitions/Tuple$ByteArray_List$test_module~1LinkedList$Int"
}
]