blob: 45d8d7414701000650cf17c1b1580af044aad011 [file] [log] [blame]
-- basic.json --
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"title": "Main schema",
"description": "Specify who you are and all.",
"properties": {
"person": {
"description": "A person is a human being.",
"type": "object",
"required": [ "name" ],
"properties": {
"name": {
"type": "string",
"examples": [ "foo" ]
},
"address": {
"description": "where does this person live?",
"type": "string",
"minLength": 4,
"maxLength": 20
},
"children": {
"description": "A very large comment that will be wrapped after a certain line length. Let's keep on going and see what happens.",
"type": "array",
"items": { "type": "string" },
"default": []
},
"home phone": {
"type": "string",
"deprecated": true
}
}
}
}
}
-- out.cue --
import "strings"
// Main schema
//
// Specify who you are and all.
@jsonschema(schema="http://json-schema.org/draft-07/schema#")
// A person is a human being.
person?: {
name: string
// where does this person live?
address?: strings.MinRunes(4) & strings.MaxRunes(20)
// A very large comment that will be wrapped after a certain line
// length. Let's keep on going and see what happens.
children?: [...string]
"home phone"?: string @deprecated()
...
}
...