Add minimum = 0 to json-schema for u32 and u64
parent
e284b1d2e4
commit
a4bf88367e
|
@ -122,9 +122,11 @@ function convert(fund: Fund, type: ?Type): Schema {
|
|||
oneOf: [convert(fund, type.value), {type: 'null'}],
|
||||
};
|
||||
case 'number':
|
||||
return {
|
||||
type: type.repr === 'f32' || type.repr === 'f64' ? 'number' : 'integer',
|
||||
};
|
||||
const {repr} = type;
|
||||
|
||||
return repr === 'f32' || repr === 'f64' ? {type: 'number'}
|
||||
: repr === 'i32' || repr === 'i64' ? {type: 'integer'}
|
||||
: {type: 'integer', minimum: 0};
|
||||
case 'string':
|
||||
return {
|
||||
type: 'string',
|
||||
|
|
|
@ -7,9 +7,11 @@
|
|||
"a": {"type": "integer"},
|
||||
"b": {"type": "integer"},
|
||||
"c": {"type": "number"},
|
||||
"d": {"type": "number"}
|
||||
"d": {"type": "number"},
|
||||
"e": {"type": "integer", "minimum": 0},
|
||||
"f": {"type": "integer", "minimum": 0}
|
||||
},
|
||||
"required": ["a", "b", "c", "d"]
|
||||
"required": ["a", "b", "c", "d", "e", "f"]
|
||||
},
|
||||
"pragmas::Interface": {
|
||||
"type": "object",
|
||||
|
@ -18,9 +20,11 @@
|
|||
"b": {"type": "integer"},
|
||||
"c": {"type": "number"},
|
||||
"d": {"type": "number"},
|
||||
"e": {"type": "string"}
|
||||
"e": {"type": "integer", "minimum": 0},
|
||||
"f": {"type": "integer", "minimum": 0},
|
||||
"g": {"type": "string"}
|
||||
},
|
||||
"required": ["a", "b", "c", "d", "e"]
|
||||
"required": ["a", "b", "c", "d", "e", "f", "g"]
|
||||
},
|
||||
"pragmas::Class": {
|
||||
"type": "object",
|
||||
|
@ -28,9 +32,11 @@
|
|||
"a": {"type": "integer"},
|
||||
"b": {"type": "integer"},
|
||||
"c": {"type": "number"},
|
||||
"d": {"type": "number"}
|
||||
"d": {"type": "number"},
|
||||
"e": {"type": "integer", "minimum": 0},
|
||||
"f": {"type": "integer", "minimum": 0}
|
||||
},
|
||||
"required": ["a", "b", "c", "d"]
|
||||
"required": ["a", "b", "c", "d", "e", "f"]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,6 +7,10 @@ type Type = {
|
|||
c: number,
|
||||
// @repr {f64}
|
||||
d: number,
|
||||
// @repr {u32}
|
||||
e: number,
|
||||
// @repr {u64}
|
||||
f: number,
|
||||
};
|
||||
|
||||
interface Interface {
|
||||
|
@ -18,9 +22,13 @@ interface Interface {
|
|||
c: number;
|
||||
// @repr {f64}
|
||||
d: number;
|
||||
// @repr {u32}
|
||||
e: number;
|
||||
// @repr {u64}
|
||||
f: number;
|
||||
|
||||
// Some comment.
|
||||
e: string;
|
||||
g: string;
|
||||
}
|
||||
|
||||
class Class {
|
||||
|
@ -32,6 +40,10 @@ class Class {
|
|||
c: number;
|
||||
// @repr {f64}
|
||||
d: number;
|
||||
// @repr {u32}
|
||||
e: number;
|
||||
// @repr {u64}
|
||||
f: number;
|
||||
}
|
||||
|
||||
export {Type, Interface, Class};
|
||||
|
|
|
@ -12,6 +12,12 @@
|
|||
- name: d
|
||||
value: {kind: number, repr: f64}
|
||||
required: true
|
||||
- name: e
|
||||
value: {kind: number, repr: u32}
|
||||
required: true
|
||||
- name: f
|
||||
value: {kind: number, repr: u64}
|
||||
required: true
|
||||
id: [pragmas, Type]
|
||||
- kind: record
|
||||
fields:
|
||||
|
@ -28,6 +34,12 @@
|
|||
value: {kind: number, repr: f64}
|
||||
required: true
|
||||
- name: e
|
||||
value: {kind: number, repr: u32}
|
||||
required: true
|
||||
- name: f
|
||||
value: {kind: number, repr: u64}
|
||||
required: true
|
||||
- name: g
|
||||
value: {kind: string}
|
||||
required: true
|
||||
id: [pragmas, Interface]
|
||||
|
@ -45,4 +57,10 @@
|
|||
- name: d
|
||||
value: {kind: number, repr: f64}
|
||||
required: true
|
||||
- name: e
|
||||
value: {kind: number, repr: u32}
|
||||
required: true
|
||||
- name: f
|
||||
value: {kind: number, repr: u64}
|
||||
required: true
|
||||
id: [pragmas, Class]
|
||||
|
|
Loading…
Reference in New Issue