Generated-output differences

quicktype output changed between the PR base and tested PR merge revisions.
← Back to the pull request
7test cases
7files differ
6modified
1new
0deleted
263changed lines
+263 −0insertions / deletions
Base 97a0313959810a2327a6a130988ba0ed896d2547 · PR merge a5859aa1df01fa90b4259ba42282db2801688896 · Head ba74ab6c0f273277499810c0969d4d87e3e66d4b · raw patch
Test case

test/inputs/schema/integer-type.schema

1 generated file · +14 −0
Mschema-pikedefault / TopLevel.pmod+14 −0
@@ -43,13 +43,27 @@ class TopLevel {
4343 TopLevel TopLevel_from_JSON(mixed json) {
4444 TopLevel retval = TopLevel();
4545
46+ if (json["above_i32_max"] < 0) error("Value below minimum");
47+ if (json["above_i32_max"] > 2147483648) error("Value above maximum");
4648 retval.above_i32_max = json["above_i32_max"];
49+ if (json["below_i32_min"] < -2147483649) error("Value below minimum");
50+ if (json["below_i32_min"] > 0) error("Value above maximum");
4751 retval.below_i32_min = json["below_i32_min"];
52+ if (json["i32_range"] < -2147483648) error("Value below minimum");
53+ if (json["i32_range"] > 2147483647) error("Value above maximum");
4854 retval.i32_range = json["i32_range"];
55+ if (json["large_bounds"] < -9007199254740991) error("Value below minimum");
56+ if (json["large_bounds"] > 9007199254740991) error("Value above maximum");
4957 retval.large_bounds = json["large_bounds"];
58+ if (json["only_maximum"] > 0) error("Value above maximum");
5059 retval.only_maximum = json["only_maximum"];
60+ if (json["only_minimum"] < 0) error("Value below minimum");
5161 retval.only_minimum = json["only_minimum"];
62+ if (json["small_negative"] < -100) error("Value below minimum");
63+ if (json["small_negative"] > 0) error("Value above maximum");
5264 retval.small_negative = json["small_negative"];
65+ if (json["small_positive"] < 0) error("Value below minimum");
66+ if (json["small_positive"] > 100) error("Value above maximum");
5367 retval.small_positive = json["small_positive"];
5468 retval.unbounded = json["unbounded"];
Test case

test/inputs/schema/minmax-integer.schema

1 generated file · +10 −0
Mschema-pikedefault / TopLevel.pmod+10 −0
@@ -42,12 +42,22 @@ TopLevel TopLevel_from_JSON(mixed json) {
4242 TopLevel retval = TopLevel();
4343
4444 retval.free = json["free"];
45+ if (json["intersection"] < 4) error("Value below minimum");
46+ if (json["intersection"] > 5) error("Value above maximum");
4547 retval.intersection = json["intersection"];
48+ if (json["max"] > 5) error("Value above maximum");
4649 retval.max = json["max"];
50+ if (json["min"] < 3) error("Value below minimum");
4751 retval.min = json["min"];
52+ if (json["minmax"] < 3) error("Value below minimum");
53+ if (json["minmax"] > 5) error("Value above maximum");
4854 retval.minmax = json["minmax"];
55+ if (json["minMaxIntersection"] < 3) error("Value below minimum");
56+ if (json["minMaxIntersection"] > 5) error("Value above maximum");
4957 retval.min_max_intersection = json["minMaxIntersection"];
5058 retval.min_max_union = json["minMaxUnion"];
59+ if (json["union"] < 3) error("Value below minimum");
60+ if (json["union"] > 6) error("Value above maximum");
5161 retval.union = json["union"];
5262
5363 return retval;
Test case

test/inputs/schema/minmax.schema

1 generated file · +64 −0
Aschema-pikedefault / TopLevel.pmod+64 −0
@@ -0,0 +1,64 @@
1+// This source has been automatically generated by quicktype.
2+// ( https://github.com/quicktype/quicktype )
3+//
4+// To use this code, simply import it into your project as a Pike module.
5+// To JSON-encode your object, you can pass it to `Standards.JSON.encode`
6+// or call `encode_json` on it.
7+//
8+// To decode a JSON string, first pass it to `Standards.JSON.decode`,
9+// and then pass the result to `<YourClass>_from_JSON`.
10+// It will return an instance of <YourClass>.
11+// Bear in mind that these functions have unexpected behavior,
12+// and will likely throw an error, if the JSON string does not
13+// match the expected interface, even if the JSON itself is valid.
14+
15+class TopLevel {
16+ float free; // json: "free"
17+ float intersection; // json: "intersection"
18+ float max; // json: "max"
19+ float min; // json: "min"
20+ float minmax; // json: "minmax"
21+ float min_max_intersection; // json: "minMaxIntersection"
22+ float min_max_union; // json: "minMaxUnion"
23+ float union; // json: "union"
24+
25+ string encode_json() {
26+ mapping(string:mixed) json = ([
27+ "free" : free,
28+ "intersection" : intersection,
29+ "max" : max,
30+ "min" : min,
31+ "minmax" : minmax,
32+ "minMaxIntersection" : min_max_intersection,
33+ "minMaxUnion" : min_max_union,
34+ "union" : union,
35+ ]);
36+
37+ return Standards.JSON.encode(json);
38+ }
39+}
40+
41+TopLevel TopLevel_from_JSON(mixed json) {
42+ TopLevel retval = TopLevel();
43+
44+ retval.free = (float)json["free"];
45+ if (json["intersection"] < 4) error("Value below minimum");
46+ if (json["intersection"] > 5) error("Value above maximum");
47+ retval.intersection = (float)json["intersection"];
48+ if (json["max"] > 5) error("Value above maximum");
49+ retval.max = (float)json["max"];
50+ if (json["min"] < 3) error("Value below minimum");
51+ retval.min = (float)json["min"];
52+ if (json["minmax"] < 3) error("Value below minimum");
53+ if (json["minmax"] > 5) error("Value above maximum");
54+ retval.minmax = (float)json["minmax"];
55+ if (json["minMaxIntersection"] < 3) error("Value below minimum");
56+ if (json["minMaxIntersection"] > 5) error("Value above maximum");
57+ retval.min_max_intersection = (float)json["minMaxIntersection"];
58+ retval.min_max_union = (float)json["minMaxUnion"];
59+ if (json["union"] < 3) error("Value below minimum");
60+ if (json["union"] > 6) error("Value above maximum");
61+ retval.union = (float)json["union"];
62+
63+ return retval;
64+}
Test case

test/inputs/schema/optional-const-ref.schema

1 generated file · +6 −0
Mschema-pikedefault / TopLevel.pmod+6 −0
@@ -40,11 +40,17 @@ TopLevel TopLevel_from_JSON(mixed json) {
4040 TopLevel retval = TopLevel();
4141
4242 retval.coordinates = json["coordinates"];
43+ if (json["count"] < 1) error("Value below minimum");
44+ if (json["count"] > 100) error("Value above maximum");
4345 retval.count = json["count"];
4446 retval.label = json["label"];
4547 retval.required_coordinates = json["requiredCoordinates"];
48+ if (json["requiredCount"] < 1) error("Value below minimum");
49+ if (json["requiredCount"] > 100) error("Value above maximum");
4650 retval.required_count = json["requiredCount"];
4751 retval.required_label = json["requiredLabel"];
52+ if (json["weight"] < 0.5) error("Value below minimum");
53+ if (json["weight"] > 99.5) error("Value above maximum");
4854 retval.weight = json["weight"];
4955
5056 return retval;
Test case

test/inputs/schema/optional-constraints.schema

1 generated file · +6 −0
Mschema-pikedefault / TopLevel.pmod+6 −0
@@ -35,10 +35,16 @@ class TopLevel {
3535 TopLevel TopLevel_from_JSON(mixed json) {
3636 TopLevel retval = TopLevel();
3737
38+ if (json["optDouble"] < 0.5) error("Value below minimum");
39+ if (json["optDouble"] > 99.5) error("Value above maximum");
3840 retval.opt_double = json["optDouble"];
41+ if (json["optInt"] < 0) error("Value below minimum");
42+ if (json["optInt"] > 100) error("Value above maximum");
3943 retval.opt_int = json["optInt"];
4044 retval.opt_pattern = json["optPattern"];
4145 retval.opt_string = json["optString"];
46+ if (json["reqZeroMin"] < 0) error("Value below minimum");
47+ if (json["reqZeroMin"] > 100) error("Value above maximum");
4248 retval.req_zero_min = json["reqZeroMin"];
4349
4450 return retval;
Test case

test/inputs/schema/schema-constraints.schema

1 generated file · +2 −0
Mschema-pikedefault / TopLevel.pmod+2 −0
@@ -30,6 +30,8 @@ TopLevel TopLevel_from_JSON(mixed json) {
3030 TopLevel retval = TopLevel();
3131
3232 retval.min_max_length = json["minMaxLength"];
33+ if (json["percent"] < 0) error("Value below minimum");
34+ if (json["percent"] > 1) error("Value above maximum");
3335 retval.percent = (float)json["percent"];
3436
3537 return retval;
Test case

test/inputs/schema/vega-lite.schema

1 generated file · +161 −0
Mschema-pikedefault / TopLevel.pmod+161 −0
@@ -384,6 +384,8 @@ MarkConfig MarkConfig_from_JSON(mixed json) {
384384 MarkConfig retval = MarkConfig();
385385
386386 retval.align = HorizontalAlign_from_JSON(json["align"]);
387+ if (json["angle"] < 0) error("Value below minimum");
388+ if (json["angle"] > 360) error("Value above maximum");
387389 retval.angle = json["angle"];
388390 retval.baseline = VerticalAlign_from_JSON(json["baseline"]);
389391 retval.color = json["color"];
@@ -392,8 +394,11 @@ MarkConfig MarkConfig_from_JSON(mixed json) {
392394 retval.dy = json["dy"];
393395 retval.fill = json["fill"];
394396 retval.filled = json["filled"];
397+ if (json["fillOpacity"] < 0) error("Value below minimum");
398+ if (json["fillOpacity"] > 1) error("Value above maximum");
395399 retval.fill_opacity = json["fillOpacity"];
396400 retval.font = json["font"];
401+ if (json["fontSize"] < 0) error("Value below minimum");
397402 retval.font_size = json["fontSize"];
398403 retval.font_style = FontStyle_from_JSON(json["fontStyle"]);
399404 if (arrayp(json["fontWeight"])) error("Unexpected array");
@@ -401,16 +406,25 @@ MarkConfig MarkConfig_from_JSON(mixed json) {
401406 retval.href = json["href"];
402407 retval.interpolate = Interpolate_from_JSON(json["interpolate"]);
403408 retval.limit = json["limit"];
409+ if (json["opacity"] < 0) error("Value below minimum");
410+ if (json["opacity"] > 1) error("Value above maximum");
404411 retval.opacity = json["opacity"];
405412 retval.orient = Orient_from_JSON(json["orient"]);
413+ if (json["radius"] < 0) error("Value below minimum");
406414 retval.radius = json["radius"];
407415 retval.shape = json["shape"];
416+ if (json["size"] < 0) error("Value below minimum");
408417 retval.size = json["size"];
409418 retval.stroke = json["stroke"];
410419 retval.stroke_dash = json["strokeDash"];
411420 retval.stroke_dash_offset = json["strokeDashOffset"];
421+ if (json["strokeOpacity"] < 0) error("Value below minimum");
422+ if (json["strokeOpacity"] > 1) error("Value above maximum");
412423 retval.stroke_opacity = json["strokeOpacity"];
424+ if (json["strokeWidth"] < 0) error("Value below minimum");
413425 retval.stroke_width = json["strokeWidth"];
426+ if (json["tension"] < 0) error("Value below minimum");
427+ if (json["tension"] > 1) error("Value above maximum");
414428 retval.tension = json["tension"];
415429 retval.text = json["text"];
416430 retval.theta = json["theta"];
@@ -638,8 +652,13 @@ AxisConfig AxisConfig_from_JSON(mixed json) {
638652 retval.grid = json["grid"];
639653 retval.grid_color = json["gridColor"];
640654 retval.grid_dash = json["gridDash"];
655+ if (json["gridOpacity"] < 0) error("Value below minimum");
656+ if (json["gridOpacity"] > 1) error("Value above maximum");
641657 retval.grid_opacity = json["gridOpacity"];
658+ if (json["gridWidth"] < 0) error("Value below minimum");
642659 retval.grid_width = json["gridWidth"];
660+ if (json["labelAngle"] < -360) error("Value below minimum");
661+ if (json["labelAngle"] > 360) error("Value above maximum");
643662 retval.label_angle = json["labelAngle"];
644663 if (arrayp(json["labelBound"])) error("Unexpected array");
645664 retval.label_bound = json["labelBound"];
@@ -647,6 +666,7 @@ AxisConfig AxisConfig_from_JSON(mixed json) {
647666 if (arrayp(json["labelFlush"])) error("Unexpected array");
648667 retval.label_flush = json["labelFlush"];
649668 retval.label_font = json["labelFont"];
669+ if (json["labelFontSize"] < 0) error("Value below minimum");
650670 retval.label_font_size = json["labelFontSize"];
651671 retval.label_limit = json["labelLimit"];
652672 if (arrayp(json["labelOverlap"])) error("Unexpected array");
@@ -659,13 +679,16 @@ AxisConfig AxisConfig_from_JSON(mixed json) {
659679 retval.tick_color = json["tickColor"];
660680 retval.tick_round = json["tickRound"];
661681 retval.ticks = json["ticks"];
682+ if (json["tickSize"] < 0) error("Value below minimum");
662683 retval.tick_size = json["tickSize"];
684+ if (json["tickWidth"] < 0) error("Value below minimum");
663685 retval.tick_width = json["tickWidth"];
664686 retval.title_align = json["titleAlign"];
665687 retval.title_angle = json["titleAngle"];
666688 retval.title_baseline = json["titleBaseline"];
667689 retval.title_color = json["titleColor"];
668690 retval.title_font = json["titleFont"];
691+ if (json["titleFontSize"] < 0) error("Value below minimum");
669692 retval.title_font_size = json["titleFontSize"];
670693 if (arrayp(json["titleFontWeight"])) error("Unexpected array");
671694 retval.title_font_weight = json["titleFontWeight"];
@@ -834,8 +857,13 @@ VgAxisConfig VgAxisConfig_from_JSON(mixed json) {
834857 retval.grid = json["grid"];
835858 retval.grid_color = json["gridColor"];
836859 retval.grid_dash = json["gridDash"];
860+ if (json["gridOpacity"] < 0) error("Value below minimum");
861+ if (json["gridOpacity"] > 1) error("Value above maximum");
837862 retval.grid_opacity = json["gridOpacity"];
863+ if (json["gridWidth"] < 0) error("Value below minimum");
838864 retval.grid_width = json["gridWidth"];
865+ if (json["labelAngle"] < -360) error("Value below minimum");
866+ if (json["labelAngle"] > 360) error("Value above maximum");
839867 retval.label_angle = json["labelAngle"];
840868 if (arrayp(json["labelBound"])) error("Unexpected array");
841869 retval.label_bound = json["labelBound"];
@@ -843,6 +871,7 @@ VgAxisConfig VgAxisConfig_from_JSON(mixed json) {
843871 if (arrayp(json["labelFlush"])) error("Unexpected array");
844872 retval.label_flush = json["labelFlush"];
845873 retval.label_font = json["labelFont"];
874+ if (json["labelFontSize"] < 0) error("Value below minimum");
846875 retval.label_font_size = json["labelFontSize"];
847876 retval.label_limit = json["labelLimit"];
848877 if (arrayp(json["labelOverlap"])) error("Unexpected array");
@@ -854,13 +883,16 @@ VgAxisConfig VgAxisConfig_from_JSON(mixed json) {
854883 retval.tick_color = json["tickColor"];
855884 retval.tick_round = json["tickRound"];
856885 retval.ticks = json["ticks"];
886+ if (json["tickSize"] < 0) error("Value below minimum");
857887 retval.tick_size = json["tickSize"];
888+ if (json["tickWidth"] < 0) error("Value below minimum");
858889 retval.tick_width = json["tickWidth"];
859890 retval.title_align = json["titleAlign"];
860891 retval.title_angle = json["titleAngle"];
861892 retval.title_baseline = json["titleBaseline"];
862893 retval.title_color = json["titleColor"];
863894 retval.title_font = json["titleFont"];
895+ if (json["titleFontSize"] < 0) error("Value below minimum");
864896 retval.title_font_size = json["titleFontSize"];
865897 if (arrayp(json["titleFontWeight"])) error("Unexpected array");
866898 retval.title_font_weight = json["titleFontWeight"];
@@ -954,19 +986,27 @@ BarConfig BarConfig_from_JSON(mixed json) {
954986 BarConfig retval = BarConfig();
955987
956988 retval.align = HorizontalAlign_from_JSON(json["align"]);
989+ if (json["angle"] < 0) error("Value below minimum");
990+ if (json["angle"] > 360) error("Value above maximum");
957991 retval.angle = json["angle"];
958992 retval.baseline = VerticalAlign_from_JSON(json["baseline"]);
993+ if (json["binSpacing"] < 0) error("Value below minimum");
959994 retval.bin_spacing = json["binSpacing"];
960995 retval.color = json["color"];
996+ if (json["continuousBandSize"] < 0) error("Value below minimum");
961997 retval.continuous_band_size = json["continuousBandSize"];
962998 retval.cursor = Cursor_from_JSON(json["cursor"]);
999+ if (json["discreteBandSize"] < 0) error("Value below minimum");
9631000 retval.discrete_band_size = json["discreteBandSize"];
9641001 retval.dx = json["dx"];
9651002 retval.dy = json["dy"];
9661003 retval.fill = json["fill"];
9671004 retval.filled = json["filled"];
1005+ if (json["fillOpacity"] < 0) error("Value below minimum");
1006+ if (json["fillOpacity"] > 1) error("Value above maximum");
9681007 retval.fill_opacity = json["fillOpacity"];
9691008 retval.font = json["font"];
1009+ if (json["fontSize"] < 0) error("Value below minimum");
9701010 retval.font_size = json["fontSize"];
9711011 retval.font_style = FontStyle_from_JSON(json["fontStyle"]);
9721012 if (arrayp(json["fontWeight"])) error("Unexpected array");
@@ -974,16 +1014,25 @@ BarConfig BarConfig_from_JSON(mixed json) {
9741014 retval.href = json["href"];
9751015 retval.interpolate = Interpolate_from_JSON(json["interpolate"]);
9761016 retval.limit = json["limit"];
1017+ if (json["opacity"] < 0) error("Value below minimum");
1018+ if (json["opacity"] > 1) error("Value above maximum");
9771019 retval.opacity = json["opacity"];
9781020 retval.orient = Orient_from_JSON(json["orient"]);
1021+ if (json["radius"] < 0) error("Value below minimum");
9791022 retval.radius = json["radius"];
9801023 retval.shape = json["shape"];
1024+ if (json["size"] < 0) error("Value below minimum");
9811025 retval.size = json["size"];
9821026 retval.stroke = json["stroke"];
9831027 retval.stroke_dash = json["strokeDash"];
9841028 retval.stroke_dash_offset = json["strokeDashOffset"];
1029+ if (json["strokeOpacity"] < 0) error("Value below minimum");
1030+ if (json["strokeOpacity"] > 1) error("Value above maximum");
9851031 retval.stroke_opacity = json["strokeOpacity"];
1032+ if (json["strokeWidth"] < 0) error("Value below minimum");
9861033 retval.stroke_width = json["strokeWidth"];
1034+ if (json["tension"] < 0) error("Value below minimum");
1035+ if (json["tension"] > 1) error("Value above maximum");
9871036 retval.tension = json["tension"];
9881037 retval.text = json["text"];
9891038 retval.theta = json["theta"];
@@ -1100,19 +1149,24 @@ LegendConfig LegendConfig_from_JSON(mixed json) {
11001149 retval.corner_radius = json["cornerRadius"];
11011150 retval.entry_padding = json["entryPadding"];
11021151 retval.fill_color = json["fillColor"];
1152+ if (json["gradientHeight"] < 0) error("Value below minimum");
11031153 retval.gradient_height = json["gradientHeight"];
11041154 retval.gradient_label_baseline = json["gradientLabelBaseline"];
11051155 retval.gradient_label_limit = json["gradientLabelLimit"];
11061156 retval.gradient_label_offset = json["gradientLabelOffset"];
11071157 retval.gradient_stroke_color = json["gradientStrokeColor"];
1158+ if (json["gradientStrokeWidth"] < 0) error("Value below minimum");
11081159 retval.gradient_stroke_width = json["gradientStrokeWidth"];
1160+ if (json["gradientWidth"] < 0) error("Value below minimum");
11091161 retval.gradient_width = json["gradientWidth"];
11101162 retval.label_align = json["labelAlign"];
11111163 retval.label_baseline = json["labelBaseline"];
11121164 retval.label_color = json["labelColor"];
11131165 retval.label_font = json["labelFont"];
1166+ if (json["labelFontSize"] < 0) error("Value below minimum");
11141167 retval.label_font_size = json["labelFontSize"];
11151168 retval.label_limit = json["labelLimit"];
1169+ if (json["labelOffset"] < 0) error("Value below minimum");
11161170 retval.label_offset = json["labelOffset"];
11171171 retval.offset = json["offset"];
11181172 retval.orient = LegendOrient_from_JSON(json["orient"]);
@@ -1122,7 +1176,9 @@ LegendConfig LegendConfig_from_JSON(mixed json) {
11221176 retval.stroke_dash = json["strokeDash"];
11231177 retval.stroke_width = json["strokeWidth"];
11241178 retval.symbol_color = json["symbolColor"];
1179+ if (json["symbolSize"] < 0) error("Value below minimum");
11251180 retval.symbol_size = json["symbolSize"];
1181+ if (json["symbolStrokeWidth"] < 0) error("Value below minimum");
11261182 retval.symbol_stroke_width = json["symbolStrokeWidth"];
11271183 retval.symbol_type = json["symbolType"];
11281184 retval.title_align = json["titleAlign"];
@@ -1379,23 +1435,43 @@ class ScaleConfig {
13791435 ScaleConfig ScaleConfig_from_JSON(mixed json) {
13801436 ScaleConfig retval = ScaleConfig();
13811437
1438+ if (json["bandPaddingInner"] < 0) error("Value below minimum");
1439+ if (json["bandPaddingInner"] > 1) error("Value above maximum");
13821440 retval.band_padding_inner = json["bandPaddingInner"];
1441+ if (json["bandPaddingOuter"] < 0) error("Value below minimum");
1442+ if (json["bandPaddingOuter"] > 1) error("Value above maximum");
13831443 retval.band_padding_outer = json["bandPaddingOuter"];
13841444 retval.clamp = json["clamp"];
1445+ if (json["continuousPadding"] < 0) error("Value below minimum");
13851446 retval.continuous_padding = json["continuousPadding"];
1447+ if (json["maxBandSize"] < 0) error("Value below minimum");
13861448 retval.max_band_size = json["maxBandSize"];
1449+ if (json["maxFontSize"] < 0) error("Value below minimum");
13871450 retval.max_font_size = json["maxFontSize"];
1451+ if (json["maxOpacity"] < 0) error("Value below minimum");
1452+ if (json["maxOpacity"] > 1) error("Value above maximum");
13881453 retval.max_opacity = json["maxOpacity"];
1454+ if (json["maxSize"] < 0) error("Value below minimum");
13891455 retval.max_size = json["maxSize"];
1456+ if (json["maxStrokeWidth"] < 0) error("Value below minimum");
13901457 retval.max_stroke_width = json["maxStrokeWidth"];
1458+ if (json["minBandSize"] < 0) error("Value below minimum");
13911459 retval.min_band_size = json["minBandSize"];
1460+ if (json["minFontSize"] < 0) error("Value below minimum");
13921461 retval.min_font_size = json["minFontSize"];
1462+ if (json["minOpacity"] < 0) error("Value below minimum");
1463+ if (json["minOpacity"] > 1) error("Value above maximum");
13931464 retval.min_opacity = json["minOpacity"];
1465+ if (json["minSize"] < 0) error("Value below minimum");
13941466 retval.min_size = json["minSize"];
1467+ if (json["minStrokeWidth"] < 0) error("Value below minimum");
13951468 retval.min_stroke_width = json["minStrokeWidth"];
1469+ if (json["pointPadding"] < 0) error("Value below minimum");
1470+ if (json["pointPadding"] > 1) error("Value above maximum");
13961471 retval.point_padding = json["pointPadding"];
13971472 retval.range_step = json["rangeStep"];
13981473 retval.round = json["round"];
1474+ if (json["textXRangeStep"] < 0) error("Value below minimum");
13991475 retval.text_x_range_step = json["textXRangeStep"];
14001476 retval.use_unaggregated_domain = json["useUnaggregatedDomain"];
14011477
@@ -1804,14 +1880,19 @@ VgMarkConfig VgMarkConfig_from_JSON(mixed json) {
18041880 VgMarkConfig retval = VgMarkConfig();
18051881
18061882 retval.align = HorizontalAlign_from_JSON(json["align"]);
1883+ if (json["angle"] < 0) error("Value below minimum");
1884+ if (json["angle"] > 360) error("Value above maximum");
18071885 retval.angle = json["angle"];
18081886 retval.baseline = VerticalAlign_from_JSON(json["baseline"]);
18091887 retval.cursor = Cursor_from_JSON(json["cursor"]);
18101888 retval.dx = json["dx"];
18111889 retval.dy = json["dy"];
18121890 retval.fill = json["fill"];
1891+ if (json["fillOpacity"] < 0) error("Value below minimum");
1892+ if (json["fillOpacity"] > 1) error("Value above maximum");
18131893 retval.fill_opacity = json["fillOpacity"];
18141894 retval.font = json["font"];
1895+ if (json["fontSize"] < 0) error("Value below minimum");
18151896 retval.font_size = json["fontSize"];
18161897 retval.font_style = FontStyle_from_JSON(json["fontStyle"]);
18171898 if (arrayp(json["fontWeight"])) error("Unexpected array");
@@ -1819,16 +1900,25 @@ VgMarkConfig VgMarkConfig_from_JSON(mixed json) {
18191900 retval.href = json["href"];
18201901 retval.interpolate = Interpolate_from_JSON(json["interpolate"]);
18211902 retval.limit = json["limit"];
1903+ if (json["opacity"] < 0) error("Value below minimum");
1904+ if (json["opacity"] > 1) error("Value above maximum");
18221905 retval.opacity = json["opacity"];
18231906 retval.orient = Orient_from_JSON(json["orient"]);
1907+ if (json["radius"] < 0) error("Value below minimum");
18241908 retval.radius = json["radius"];
18251909 retval.shape = json["shape"];
1910+ if (json["size"] < 0) error("Value below minimum");
18261911 retval.size = json["size"];
18271912 retval.stroke = json["stroke"];
18281913 retval.stroke_dash = json["strokeDash"];
18291914 retval.stroke_dash_offset = json["strokeDashOffset"];
1915+ if (json["strokeOpacity"] < 0) error("Value below minimum");
1916+ if (json["strokeOpacity"] > 1) error("Value above maximum");
18301917 retval.stroke_opacity = json["strokeOpacity"];
1918+ if (json["strokeWidth"] < 0) error("Value below minimum");
18311919 retval.stroke_width = json["strokeWidth"];
1920+ if (json["tension"] < 0) error("Value below minimum");
1921+ if (json["tension"] > 1) error("Value above maximum");
18321922 retval.tension = json["tension"];
18331923 retval.text = json["text"];
18341924 retval.theta = json["theta"];
@@ -1913,6 +2003,8 @@ TextConfig TextConfig_from_JSON(mixed json) {
19132003 TextConfig retval = TextConfig();
19142004
19152005 retval.align = HorizontalAlign_from_JSON(json["align"]);
2006+ if (json["angle"] < 0) error("Value below minimum");
2007+ if (json["angle"] > 360) error("Value above maximum");
19162008 retval.angle = json["angle"];
19172009 retval.baseline = VerticalAlign_from_JSON(json["baseline"]);
19182010 retval.color = json["color"];
@@ -1921,8 +2013,11 @@ TextConfig TextConfig_from_JSON(mixed json) {
19212013 retval.dy = json["dy"];
19222014 retval.fill = json["fill"];
19232015 retval.filled = json["filled"];
2016+ if (json["fillOpacity"] < 0) error("Value below minimum");
2017+ if (json["fillOpacity"] > 1) error("Value above maximum");
19242018 retval.fill_opacity = json["fillOpacity"];
19252019 retval.font = json["font"];
2020+ if (json["fontSize"] < 0) error("Value below minimum");
19262021 retval.font_size = json["fontSize"];
19272022 retval.font_style = FontStyle_from_JSON(json["fontStyle"]);
19282023 if (arrayp(json["fontWeight"])) error("Unexpected array");
@@ -1930,17 +2025,26 @@ TextConfig TextConfig_from_JSON(mixed json) {
19302025 retval.href = json["href"];
19312026 retval.interpolate = Interpolate_from_JSON(json["interpolate"]);
19322027 retval.limit = json["limit"];
2028+ if (json["opacity"] < 0) error("Value below minimum");
2029+ if (json["opacity"] > 1) error("Value above maximum");
19332030 retval.opacity = json["opacity"];
19342031 retval.orient = Orient_from_JSON(json["orient"]);
2032+ if (json["radius"] < 0) error("Value below minimum");
19352033 retval.radius = json["radius"];
19362034 retval.shape = json["shape"];
19372035 retval.short_time_labels = json["shortTimeLabels"];
2036+ if (json["size"] < 0) error("Value below minimum");
19382037 retval.size = json["size"];
19392038 retval.stroke = json["stroke"];
19402039 retval.stroke_dash = json["strokeDash"];
19412040 retval.stroke_dash_offset = json["strokeDashOffset"];
2041+ if (json["strokeOpacity"] < 0) error("Value below minimum");
2042+ if (json["strokeOpacity"] > 1) error("Value above maximum");
19422043 retval.stroke_opacity = json["strokeOpacity"];
2044+ if (json["strokeWidth"] < 0) error("Value below minimum");
19432045 retval.stroke_width = json["strokeWidth"];
2046+ if (json["tension"] < 0) error("Value below minimum");
2047+ if (json["tension"] > 1) error("Value above maximum");
19442048 retval.tension = json["tension"];
19452049 retval.text = json["text"];
19462050 retval.theta = json["theta"];
@@ -2027,7 +2131,10 @@ TickConfig TickConfig_from_JSON(mixed json) {
20272131 TickConfig retval = TickConfig();
20282132
20292133 retval.align = HorizontalAlign_from_JSON(json["align"]);
2134+ if (json["angle"] < 0) error("Value below minimum");
2135+ if (json["angle"] > 360) error("Value above maximum");
20302136 retval.angle = json["angle"];
2137+ if (json["bandSize"] < 0) error("Value below minimum");
20312138 retval.band_size = json["bandSize"];
20322139 retval.baseline = VerticalAlign_from_JSON(json["baseline"]);
20332140 retval.color = json["color"];
@@ -2036,8 +2143,11 @@ TickConfig TickConfig_from_JSON(mixed json) {
20362143 retval.dy = json["dy"];
20372144 retval.fill = json["fill"];
20382145 retval.filled = json["filled"];
2146+ if (json["fillOpacity"] < 0) error("Value below minimum");
2147+ if (json["fillOpacity"] > 1) error("Value above maximum");
20392148 retval.fill_opacity = json["fillOpacity"];
20402149 retval.font = json["font"];
2150+ if (json["fontSize"] < 0) error("Value below minimum");
20412151 retval.font_size = json["fontSize"];
20422152 retval.font_style = FontStyle_from_JSON(json["fontStyle"]);
20432153 if (arrayp(json["fontWeight"])) error("Unexpected array");
@@ -2045,19 +2155,29 @@ TickConfig TickConfig_from_JSON(mixed json) {
20452155 retval.href = json["href"];
20462156 retval.interpolate = Interpolate_from_JSON(json["interpolate"]);
20472157 retval.limit = json["limit"];
2158+ if (json["opacity"] < 0) error("Value below minimum");
2159+ if (json["opacity"] > 1) error("Value above maximum");
20482160 retval.opacity = json["opacity"];
20492161 retval.orient = Orient_from_JSON(json["orient"]);
2162+ if (json["radius"] < 0) error("Value below minimum");
20502163 retval.radius = json["radius"];
20512164 retval.shape = json["shape"];
2165+ if (json["size"] < 0) error("Value below minimum");
20522166 retval.size = json["size"];
20532167 retval.stroke = json["stroke"];
20542168 retval.stroke_dash = json["strokeDash"];
20552169 retval.stroke_dash_offset = json["strokeDashOffset"];
2170+ if (json["strokeOpacity"] < 0) error("Value below minimum");
2171+ if (json["strokeOpacity"] > 1) error("Value above maximum");
20562172 retval.stroke_opacity = json["strokeOpacity"];
2173+ if (json["strokeWidth"] < 0) error("Value below minimum");
20572174 retval.stroke_width = json["strokeWidth"];
2175+ if (json["tension"] < 0) error("Value below minimum");
2176+ if (json["tension"] > 1) error("Value above maximum");
20582177 retval.tension = json["tension"];
20592178 retval.text = json["text"];
20602179 retval.theta = json["theta"];
2180+ if (json["thickness"] < 0) error("Value below minimum");
20612181 retval.thickness = json["thickness"];
20622182
20632183 return retval;
@@ -2104,9 +2224,11 @@ VgTitleConfig VgTitleConfig_from_JSON(mixed json) {
21042224 retval.baseline = VerticalAlign_from_JSON(json["baseline"]);
21052225 retval.color = json["color"];
21062226 retval.font = json["font"];
2227+ if (json["fontSize"] < 0) error("Value below minimum");
21072228 retval.font_size = json["fontSize"];
21082229 if (arrayp(json["fontWeight"])) error("Unexpected array");
21092230 retval.font_weight = json["fontWeight"];
2231+ if (json["limit"] < 0) error("Value below minimum");
21102232 retval.limit = json["limit"];
21112233 retval.offset = json["offset"];
21122234 retval.orient = TitleOrient_from_JSON(json["orient"]);
@@ -2516,6 +2638,7 @@ BinParams BinParams_from_JSON(mixed json) {
25162638 retval.base = json["base"];
25172639 retval.divide = json["divide"];
25182640 retval.extent = json["extent"];
2641+ if (json["maxbins"] < 2) error("Value below minimum");
25192642 retval.maxbins = json["maxbins"];
25202643 retval.minstep = json["minstep"];
25212644 retval.nice = json["nice"];
@@ -2726,15 +2849,27 @@ class DateTime {
27262849 DateTime DateTime_from_JSON(mixed json) {
27272850 DateTime retval = DateTime();
27282851
2852+ if (json["date"] < 1) error("Value below minimum");
2853+ if (json["date"] > 31) error("Value above maximum");
27292854 retval.date = json["date"];
27302855 if (arrayp(json["day"])) error("Unexpected array");
27312856 retval.day = json["day"];
2857+ if (json["hours"] < 0) error("Value below minimum");
2858+ if (json["hours"] > 23) error("Value above maximum");
27322859 retval.hours = json["hours"];
2860+ if (json["milliseconds"] < 0) error("Value below minimum");
2861+ if (json["milliseconds"] > 999) error("Value above maximum");
27332862 retval.milliseconds = json["milliseconds"];
2863+ if (json["minutes"] < 0) error("Value below minimum");
2864+ if (json["minutes"] > 59) error("Value above maximum");
27342865 retval.minutes = json["minutes"];
27352866 if (arrayp(json["month"])) error("Unexpected array");
27362867 retval.month = json["month"];
2868+ if (json["quarter"] < 1) error("Value below minimum");
2869+ if (json["quarter"] > 4) error("Value above maximum");
27372870 retval.quarter = json["quarter"];
2871+ if (json["seconds"] < 0) error("Value below minimum");
2872+ if (json["seconds"] > 59) error("Value above maximum");
27382873 retval.seconds = json["seconds"];
27392874 retval.utc = json["utc"];
27402875 retval.year = json["year"];
@@ -2971,6 +3106,7 @@ Legend Legend_from_JSON(mixed json) {
29713106 retval.title = json["title"];
29723107 retval.type = LegendType_from_JSON(json["type"]);
29733108 retval.values = json["values"];
3109+ if (json["zindex"] < 0) error("Value below minimum");
29743110 retval.zindex = json["zindex"];
29753111
29763112 return retval;
@@ -3047,8 +3183,13 @@ Scale Scale_from_JSON(mixed json) {
30473183 retval.interpolate = json["interpolate"];
30483184 if (arrayp(json["nice"])) error("Unexpected array");
30493185 retval.nice = json["nice"];
3186+ if (json["padding"] < 0) error("Value below minimum");
30503187 retval.padding = json["padding"];
3188+ if (json["paddingInner"] < 0) error("Value below minimum");
3189+ if (json["paddingInner"] > 1) error("Value above maximum");
30513190 retval.padding_inner = json["paddingInner"];
3191+ if (json["paddingOuter"] < 0) error("Value below minimum");
3192+ if (json["paddingOuter"] > 1) error("Value above maximum");
30523193 retval.padding_outer = json["paddingOuter"];
30533194 retval.range = json["range"];
30543195 retval.range_step = json["rangeStep"];
@@ -3448,6 +3589,8 @@ Header Header_from_JSON(mixed json) {
34483589 Header retval = Header();
34493590
34503591 retval.format = json["format"];
3592+ if (json["labelAngle"] < -360) error("Value below minimum");
3593+ if (json["labelAngle"] > 360) error("Value above maximum");
34513594 retval.label_angle = json["labelAngle"];
34523595 retval.title = json["title"];
34533596
@@ -3876,6 +4019,8 @@ Axis Axis_from_JSON(mixed json) {
38764019 retval.domain = json["domain"];
38774020 retval.format = json["format"];
38784021 retval.grid = json["grid"];
4022+ if (json["labelAngle"] < -360) error("Value below minimum");
4023+ if (json["labelAngle"] > 360) error("Value above maximum");
38794024 retval.label_angle = json["labelAngle"];
38804025 if (arrayp(json["labelBound"])) error("Unexpected array");
38814026 retval.label_bound = json["labelBound"];
@@ -3892,11 +4037,13 @@ Axis Axis_from_JSON(mixed json) {
38924037 retval.position = json["position"];
38934038 retval.tick_count = json["tickCount"];
38944039 retval.ticks = json["ticks"];
4040+ if (json["tickSize"] < 0) error("Value below minimum");
38954041 retval.tick_size = json["tickSize"];
38964042 retval.title = json["title"];
38974043 retval.title_max_length = json["titleMaxLength"];
38984044 retval.title_padding = json["titlePadding"];
38994045 retval.values = json["values"];
4046+ if (json["zindex"] < 0) error("Value below minimum");
39004047 retval.zindex = json["zindex"];
39014048
39024049 return retval;
@@ -4258,6 +4405,8 @@ MarkDef MarkDef_from_JSON(mixed json) {
42584405 MarkDef retval = MarkDef();
42594406
42604407 retval.align = HorizontalAlign_from_JSON(json["align"]);
4408+ if (json["angle"] < 0) error("Value below minimum");
4409+ if (json["angle"] > 360) error("Value above maximum");
42614410 retval.angle = json["angle"];
42624411 retval.baseline = VerticalAlign_from_JSON(json["baseline"]);
42634412 retval.clip = json["clip"];
@@ -4267,8 +4416,11 @@ MarkDef MarkDef_from_JSON(mixed json) {
42674416 retval.dy = json["dy"];
42684417 retval.fill = json["fill"];
42694418 retval.filled = json["filled"];
4419+ if (json["fillOpacity"] < 0) error("Value below minimum");
4420+ if (json["fillOpacity"] > 1) error("Value above maximum");
42704421 retval.fill_opacity = json["fillOpacity"];
42714422 retval.font = json["font"];
4423+ if (json["fontSize"] < 0) error("Value below minimum");
42724424 retval.font_size = json["fontSize"];
42734425 retval.font_style = FontStyle_from_JSON(json["fontStyle"]);
42744426 if (arrayp(json["fontWeight"])) error("Unexpected array");
@@ -4276,17 +4428,26 @@ MarkDef MarkDef_from_JSON(mixed json) {
42764428 retval.href = json["href"];
42774429 retval.interpolate = Interpolate_from_JSON(json["interpolate"]);
42784430 retval.limit = json["limit"];
4431+ if (json["opacity"] < 0) error("Value below minimum");
4432+ if (json["opacity"] > 1) error("Value above maximum");
42794433 retval.opacity = json["opacity"];
42804434 retval.orient = Orient_from_JSON(json["orient"]);
4435+ if (json["radius"] < 0) error("Value below minimum");
42814436 retval.radius = json["radius"];
42824437 retval.shape = json["shape"];
4438+ if (json["size"] < 0) error("Value below minimum");
42834439 retval.size = json["size"];
42844440 retval.stroke = json["stroke"];
42854441 retval.stroke_dash = json["strokeDash"];
42864442 retval.stroke_dash_offset = json["strokeDashOffset"];
4443+ if (json["strokeOpacity"] < 0) error("Value below minimum");
4444+ if (json["strokeOpacity"] > 1) error("Value above maximum");
42874445 retval.stroke_opacity = json["strokeOpacity"];
4446+ if (json["strokeWidth"] < 0) error("Value below minimum");
42884447 retval.stroke_width = json["strokeWidth"];
42894448 retval.style = json["style"];
4449+ if (json["tension"] < 0) error("Value below minimum");
4450+ if (json["tension"] > 1) error("Value above maximum");
42904451 retval.tension = json["tension"];
42914452 retval.text = json["text"];
42924453 retval.theta = json["theta"];
No generated files match these filters.