code_analyze_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 {
38 let map = json!({
39 "type": ["integer", "null"],
40 "minimum": 1
41 })
42 .as_object()
43 .expect("json! object literal is always a Value::Object")
44 .clone();
45 Schema::from(map)
46}
47
48pub fn option_page_size_schema(_gen: &mut schemars::SchemaGenerator) -> Schema {
52 let map = json!({
53 "type": ["integer", "null"],
54 "minimum": 1
55 })
56 .as_object()
57 .expect("json! object literal is always a Value::Object")
58 .clone();
59 Schema::from(map)
60}