1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
-- in.cue --
import "strings"
#MyType: {
myString: strings.MinRunes(1) & strings.MaxRunes(5)
myPattern: =~"foo.*bar"
myAntiPattern: !~"foo.*bar"
}
-- out/TestGenerateOpenAPI/out.json --
{
"openapi": "3.0.0",
"info": {
"title": "Generated by cue.",
"version": "no version"
},
"paths": {},
"components": {
"schemas": {
"MyType": {
"type": "object",
"required": [
"myString",
"myPattern",
"myAntiPattern"
],
"properties": {
"myString": {
"type": "string",
"minLength": 1,
"maxLength": 5
},
"myPattern": {
"type": "string",
"pattern": "foo.*bar"
},
"myAntiPattern": {
"type": "string",
"not": {
"pattern": "foo.*bar"
}
}
}
}
}
}
}
|