-- type.json -- | |
{ | |
"type": "object", | |
"properties": { | |
"constant": { "const": 2 }, | |
"several": { | |
"enum": [ 1, 2, 3, 4 ] | |
}, | |
"inclusive": { | |
"type": "number", | |
"minimum": 2, | |
"maximum": 3 | |
}, | |
"exclusive": { | |
"type": "integer", | |
"exclusiveMinimum": 2, | |
"exclusiveMaximum": 3 | |
}, | |
"multi": { | |
"type": [ "integer", "string" ], | |
"minimum": 2, | |
"maximum": 3, | |
"maxLength": 5 | |
}, | |
"legacy": { | |
"type": "number", | |
"exclusiveMinimum": true, | |
"minimum": 2, | |
"exclusiveMaximum": true, | |
"maximum": 3 | |
}, | |
"cents": { | |
"type": "number", | |
"multipleOf": 0.05 | |
} | |
}, | |
"additionalProperties": false | |
} | |
-- out.cue -- | |
import ( | |
"strings" | |
"math" | |
) | |
constant?: 2 | |
several?: 1 | 2 | 3 | 4 | |
inclusive?: >=2 & <=3 | |
exclusive?: int & >2 & <3 | |
multi?: int & >=2 & <=3 | strings.MaxRunes(5) | |
legacy?: >2 & <3 | |
cents?: math.MultipleOf(0.05) |