aptu_coder_core/
schema_helpers.rs1#![cfg(feature = "schemars")]
4
5use schemars::Schema;
6use serde_json::json;
7
8pub fn integer_schema(_gen: &mut schemars::SchemaGenerator) -> Schema {
11 let map = json!({
12 "type": "integer",
13 "minimum": 0
14 })
15 .as_object()
16 .expect("json! object literal is always a Value::Object")
17 .clone();
18 Schema::from(map)
19}
20
21pub fn option_integer_schema(_gen: &mut schemars::SchemaGenerator) -> Schema {
23 let map = json!({
24 "type": ["integer", "null"],
25 "minimum": 0
26 })
27 .as_object()
28 .expect("json! object literal is always a Value::Object")
29 .clone();
30 Schema::from(map)
31}
32
33pub fn option_ast_limit_schema(_gen: &mut schemars::SchemaGenerator) -> Schema {
36 let map = json!({
37 "type": ["integer", "null"],
38 "minimum": 0
39 })
40 .as_object()
41 .expect("json! object literal is always a Value::Object")
42 .clone();
43 Schema::from(map)
44}
45
46pub fn option_page_size_schema(_gen: &mut schemars::SchemaGenerator) -> Schema {
50 let map = json!({
51 "type": ["integer", "null"],
52 "minimum": 1
53 })
54 .as_object()
55 .expect("json! object literal is always a Value::Object")
56 .clone();
57 Schema::from(map)
58}