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