1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
use serde_json::Value;
use crate::{
generator::serialization::{JsonSchema, UiSchema},
schema::Schema,
};
mod serialization;
fn generate_json_schema(schema: &Schema) -> Value {
let json_schema: JsonSchema = JsonSchema::with_default_schema_url(schema);
serde_json::to_value(json_schema).expect("Internal error: inconsistent schema: json schema")
}
fn generate_ui_schema(schema: &Schema) -> Value {
let ui_schema: UiSchema = UiSchema::new(schema);
serde_json::to_value(ui_schema).expect("Internal error: inconsistent schema: ui schema")
}
pub fn generate_json_ui_schema(schema: &Schema) -> (Value, Value) {
(generate_json_schema(schema), generate_ui_schema(schema))
}