Created
January 18, 2016 12:53
-
-
Save okal/98a9a21cb06fe563535d to your computer and use it in GitHub Desktop.
Vega Schema
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"$schema": "http://json-schema.org/draft-04/schema#", | |
"title": "Vega Visualization Specification Language", | |
"defs": { | |
"axis": { | |
"type": "object", | |
"properties": { | |
"type": { | |
"enum": [ | |
"x", | |
"y" | |
] | |
}, | |
"scale": { | |
"type": "string" | |
}, | |
"orient": { | |
"enum": [ | |
"top", | |
"bottom", | |
"left", | |
"right" | |
] | |
}, | |
"title": { | |
"type": "string" | |
}, | |
"titleOffset": { | |
"type": "number" | |
}, | |
"format": { | |
"type": "string" | |
}, | |
"formatType": { | |
"enum": [ | |
"time", | |
"utc", | |
"string", | |
"number" | |
] | |
}, | |
"ticks": { | |
"type": "number" | |
}, | |
"values": { | |
"type": "array", | |
"items": { | |
"type": [ | |
"string", | |
"number" | |
] | |
} | |
}, | |
"subdivide": { | |
"type": "number" | |
}, | |
"tickPadding": { | |
"type": "number" | |
}, | |
"tickSize": { | |
"type": "number" | |
}, | |
"tickSizeMajor": { | |
"type": "number" | |
}, | |
"tickSizeMinor": { | |
"type": "number" | |
}, | |
"tickSizeEnd": { | |
"type": "number" | |
}, | |
"offset": { | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"scale": { | |
"type": "string" | |
}, | |
"value": { | |
"type": [ | |
"string", | |
"number" | |
] | |
} | |
}, | |
"required": [ | |
"scale", | |
"value" | |
], | |
"additionalProperties": false | |
} | |
] | |
}, | |
"layer": { | |
"enum": [ | |
"front", | |
"back" | |
], | |
"default": "front" | |
}, | |
"grid": { | |
"type": "boolean" | |
}, | |
"properties": { | |
"type": "object", | |
"properties": { | |
"ticks": { | |
"$ref": "#/defs/propset" | |
}, | |
"majorTicks": { | |
"$ref": "#/defs/propset" | |
}, | |
"minorTicks": { | |
"$ref": "#/defs/propset" | |
}, | |
"labels": { | |
"$ref": "#/defs/propset" | |
}, | |
"title": { | |
"$ref": "#/defs/propset" | |
}, | |
"grid": { | |
"$ref": "#/defs/propset" | |
}, | |
"axis": { | |
"$ref": "#/defs/propset" | |
} | |
}, | |
"additionalProperties": false | |
} | |
}, | |
"additionalProperties": false, | |
"required": [ | |
"type", | |
"scale" | |
] | |
}, | |
"background": { | |
"type": "string" | |
}, | |
"data": { | |
"title": "Input data set definition", | |
"type": "object", | |
"allOf": [ | |
{ | |
"properties": { | |
"name": { | |
"type": "string" | |
}, | |
"transform": { | |
"$ref": "#/defs/transform" | |
}, | |
"modify": { | |
"$ref": "#/defs/modify" | |
}, | |
"format": { | |
"type": "object", | |
"oneOf": [ | |
{ | |
"properties": { | |
"type": { | |
"enum": [ | |
"json" | |
] | |
}, | |
"parse": { | |
"oneOf": [ | |
{ | |
"enum": [ | |
"auto" | |
] | |
}, | |
{ | |
"type": "object", | |
"additionalProperties": { | |
"enum": [ | |
"number", | |
"boolean", | |
"date", | |
"string" | |
] | |
} | |
} | |
] | |
}, | |
"property": { | |
"type": "string" | |
} | |
}, | |
"additionalProperties": false | |
}, | |
{ | |
"properties": { | |
"type": { | |
"enum": [ | |
"csv", | |
"tsv" | |
] | |
}, | |
"parse": { | |
"oneOf": [ | |
{ | |
"enum": [ | |
"auto" | |
] | |
}, | |
{ | |
"type": "object", | |
"additionalProperties": { | |
"enum": [ | |
"number", | |
"boolean", | |
"date", | |
"string" | |
] | |
} | |
} | |
] | |
} | |
}, | |
"additionalProperties": false | |
}, | |
{ | |
"oneOf": [ | |
{ | |
"properties": { | |
"type": { | |
"enum": [ | |
"topojson" | |
] | |
}, | |
"feature": { | |
"type": "string" | |
} | |
}, | |
"additionalProperties": false | |
}, | |
{ | |
"properties": { | |
"type": { | |
"enum": [ | |
"topojson" | |
] | |
}, | |
"mesh": { | |
"type": "string" | |
} | |
}, | |
"additionalProperties": false | |
} | |
] | |
}, | |
{ | |
"properties": { | |
"type": { | |
"enum": [ | |
"treejson" | |
] | |
}, | |
"children": { | |
"type": "string" | |
}, | |
"parse": { | |
"oneOf": [ | |
{ | |
"enum": [ | |
"auto" | |
] | |
}, | |
{ | |
"type": "object", | |
"additionalProperties": { | |
"enum": [ | |
"number", | |
"boolean", | |
"date", | |
"string" | |
] | |
} | |
} | |
] | |
} | |
}, | |
"additionalProperties": false | |
} | |
] | |
} | |
}, | |
"required": [ | |
"name" | |
] | |
}, | |
{ | |
"anyOf": [ | |
{ | |
"required": [ | |
"name", | |
"modify" | |
] | |
}, | |
{ | |
"oneOf": [ | |
{ | |
"properties": { | |
"source": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"source" | |
] | |
}, | |
{ | |
"properties": { | |
"values": { | |
"type": "array" | |
} | |
}, | |
"required": [ | |
"values" | |
] | |
}, | |
{ | |
"properties": { | |
"url": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"url" | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"legend": { | |
"type": "object", | |
"properties": { | |
"size": { | |
"type": "string" | |
}, | |
"shape": { | |
"type": "string" | |
}, | |
"fill": { | |
"type": "string" | |
}, | |
"stroke": { | |
"type": "string" | |
}, | |
"orient": { | |
"enum": [ | |
"left", | |
"right" | |
], | |
"default": "right" | |
}, | |
"offset": { | |
"type": "number" | |
}, | |
"title": { | |
"type": "string" | |
}, | |
"values": { | |
"type": "array" | |
}, | |
"format": { | |
"type": "string" | |
}, | |
"properties": { | |
"type": "object", | |
"properties": { | |
"title": { | |
"$ref": "#/defs/propset" | |
}, | |
"labels": { | |
"$ref": "#/defs/propset" | |
}, | |
"legend": { | |
"$ref": "#/defs/propset" | |
}, | |
"symbols": { | |
"$ref": "#/defs/propset" | |
}, | |
"gradient": { | |
"$ref": "#/defs/propset" | |
} | |
}, | |
"additionalProperties": false | |
} | |
}, | |
"additionalProperties": false, | |
"anyOf": [ | |
{ | |
"required": [ | |
"size" | |
] | |
}, | |
{ | |
"required": [ | |
"shape" | |
] | |
}, | |
{ | |
"required": [ | |
"fill" | |
] | |
}, | |
{ | |
"required": [ | |
"stroke" | |
] | |
} | |
] | |
}, | |
"mark": { | |
"type": "object", | |
"properties": { | |
"name": { | |
"type": "string" | |
}, | |
"key": { | |
"type": "string" | |
}, | |
"type": { | |
"enum": [ | |
"rect", | |
"symbol", | |
"path", | |
"arc", | |
"area", | |
"line", | |
"rule", | |
"image", | |
"text", | |
"group" | |
] | |
}, | |
"from": { | |
"type": "object", | |
"properties": { | |
"data": { | |
"type": "string" | |
}, | |
"mark": { | |
"type": "string" | |
}, | |
"transform": { | |
"$ref": "#/defs/transform" | |
} | |
}, | |
"additionalProperties": false | |
}, | |
"delay": { | |
"$ref": "#/refs/numberValue" | |
}, | |
"ease": { | |
"enum": [ | |
"linear-in", | |
"linear-out", | |
"linear-in-out", | |
"linear-out-in", | |
"quad-in", | |
"quad-out", | |
"quad-in-out", | |
"quad-out-in", | |
"cubic-in", | |
"cubic-out", | |
"cubic-in-out", | |
"cubic-out-in", | |
"sin-in", | |
"sin-out", | |
"sin-in-out", | |
"sin-out-in", | |
"exp-in", | |
"exp-out", | |
"exp-in-out", | |
"exp-out-in", | |
"circle-in", | |
"circle-out", | |
"circle-in-out", | |
"circle-out-in", | |
"bounce-in", | |
"bounce-out", | |
"bounce-in-out", | |
"bounce-out-in" | |
] | |
}, | |
"interactive": { | |
"type": "boolean" | |
}, | |
"properties": { | |
"type": "object", | |
"properties": { | |
"enter": { | |
"$ref": "#/defs/propset" | |
}, | |
"update": { | |
"$ref": "#/defs/propset" | |
}, | |
"exit": { | |
"$ref": "#/defs/propset" | |
}, | |
"hover": { | |
"$ref": "#/defs/propset" | |
} | |
}, | |
"additionalProperties": false, | |
"anyOf": [ | |
{ | |
"required": [ | |
"enter" | |
] | |
}, | |
{ | |
"required": [ | |
"update" | |
] | |
} | |
] | |
} | |
}, | |
"anyOf": [ | |
{ | |
"required": [ | |
"type" | |
] | |
}, | |
{ | |
"required": [ | |
"name" | |
] | |
} | |
] | |
}, | |
"container": { | |
"type": "object", | |
"properties": { | |
"scene": { | |
"type": "object", | |
"properties": { | |
"fill": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"fillOpacity": { | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"stroke": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"strokeOpacity": { | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"strokeWidth": { | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"strokeDash": { | |
"oneOf": [ | |
{ | |
"type": "array", | |
"items": { | |
"type": "number" | |
} | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"strokeDashOffset": { | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
} | |
} | |
}, | |
"scales": { | |
"type": "array", | |
"items": { | |
"$ref": "#/defs/scale" | |
} | |
}, | |
"axes": { | |
"type": "array", | |
"items": { | |
"$ref": "#/defs/axis" | |
} | |
}, | |
"legends": { | |
"type": "array", | |
"items": { | |
"$ref": "#/defs/legend" | |
} | |
}, | |
"marks": { | |
"type": "array", | |
"items": { | |
"oneOf": [ | |
{ | |
"$ref": "#/defs/groupMark" | |
}, | |
{ | |
"$ref": "#/defs/visualMark" | |
} | |
] | |
} | |
} | |
} | |
}, | |
"groupMark": { | |
"allOf": [ | |
{ | |
"properties": { | |
"type": { | |
"enum": [ | |
"group" | |
] | |
} | |
}, | |
"required": [ | |
"type" | |
] | |
}, | |
{ | |
"$ref": "#/defs/mark" | |
}, | |
{ | |
"$ref": "#/defs/container" | |
} | |
] | |
}, | |
"visualMark": { | |
"allOf": [ | |
{ | |
"not": { | |
"properties": { | |
"type": { | |
"enum": [ | |
"group" | |
] | |
} | |
} | |
} | |
}, | |
{ | |
"$ref": "#/defs/mark" | |
} | |
] | |
}, | |
"modify": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"oneOf": [ | |
{ | |
"properties": { | |
"type": { | |
"enum": [ | |
"insert", | |
"remove", | |
"toggle" | |
] | |
}, | |
"signal": { | |
"type": "string" | |
}, | |
"field": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"type", | |
"signal", | |
"field" | |
] | |
}, | |
{ | |
"properties": { | |
"type": { | |
"enum": [ | |
"clear" | |
] | |
}, | |
"predicate": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"type", | |
"predicate" | |
] | |
} | |
] | |
} | |
}, | |
"padding": { | |
"oneOf": [ | |
{ | |
"enum": [ | |
"strict", | |
"auto" | |
] | |
}, | |
{ | |
"type": "number" | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"top": { | |
"type": "number" | |
}, | |
"bottom": { | |
"type": "number" | |
}, | |
"left": { | |
"type": "number" | |
}, | |
"right": { | |
"type": "number" | |
} | |
}, | |
"additionalProperties": false | |
} | |
] | |
}, | |
"predicate": { | |
"type": "object", | |
"oneOf": [ | |
{ | |
"properties": { | |
"name": { | |
"type": "string" | |
}, | |
"type": { | |
"enum": [ | |
"==", | |
"!=", | |
">", | |
"<", | |
">=", | |
"<=" | |
] | |
}, | |
"operands": { | |
"type": "array", | |
"items": { | |
"$ref": "#/refs/operand" | |
}, | |
"minItems": 2, | |
"maxItems": 2 | |
} | |
}, | |
"required": [ | |
"name", | |
"type", | |
"operands" | |
] | |
}, | |
{ | |
"properties": { | |
"name": { | |
"type": "string" | |
}, | |
"type": { | |
"enum": [ | |
"and", | |
"&&", | |
"or", | |
"||" | |
] | |
}, | |
"operands": { | |
"type": "array", | |
"items": { | |
"$ref": "#/refs/operand" | |
}, | |
"minItems": 2 | |
} | |
}, | |
"required": [ | |
"name", | |
"type", | |
"operands" | |
] | |
}, | |
{ | |
"properties": { | |
"name": { | |
"type": "string" | |
}, | |
"type": { | |
"enum": [ | |
"in" | |
] | |
}, | |
"item": { | |
"$ref": "#/refs/operand" | |
} | |
}, | |
"oneOf": [ | |
{ | |
"properties": { | |
"range": { | |
"type": "array", | |
"items": { | |
"$ref": "#/refs/operand" | |
}, | |
"minItems": 2 | |
}, | |
"scale": { | |
"$ref": "#/refs/scopedScale" | |
} | |
}, | |
"required": [ | |
"range" | |
] | |
}, | |
{ | |
"properties": { | |
"data": { | |
"type": "string" | |
}, | |
"field": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"data", | |
"field" | |
] | |
} | |
], | |
"required": [ | |
"name", | |
"type", | |
"item" | |
] | |
} | |
] | |
}, | |
"propset": { | |
"title": "Mark property set", | |
"type": "object", | |
"properties": { | |
"x": { | |
"$ref": "#/refs/numberValue" | |
}, | |
"x2": { | |
"$ref": "#/refs/numberValue" | |
}, | |
"xc": { | |
"$ref": "#/refs/numberValue" | |
}, | |
"width": { | |
"$ref": "#/refs/numberValue" | |
}, | |
"y": { | |
"$ref": "#/refs/numberValue" | |
}, | |
"y2": { | |
"$ref": "#/refs/numberValue" | |
}, | |
"yc": { | |
"$ref": "#/refs/numberValue" | |
}, | |
"height": { | |
"$ref": "#/refs/numberValue" | |
}, | |
"opacity": { | |
"$ref": "#/refs/numberValue" | |
}, | |
"fill": { | |
"$ref": "#/refs/colorValue" | |
}, | |
"fillOpacity": { | |
"$ref": "#/refs/numberValue" | |
}, | |
"stroke": { | |
"$ref": "#/refs/colorValue" | |
}, | |
"strokeWidth": { | |
"$ref": "#/refs/numberValue" | |
}, | |
"strokeOpacity": { | |
"$ref": "#/refs/numberValue" | |
}, | |
"strokeDash": { | |
"$ref": "#/refs/arrayValue" | |
}, | |
"strokeDashOffset": { | |
"$ref": "#/refs/numberValue" | |
}, | |
"clip": { | |
"$ref": "#/refs/booleanValue" | |
}, | |
"size": { | |
"$ref": "#/refs/numberValue" | |
}, | |
"shape": { | |
"oneOf": [ | |
{ | |
"type": "object", | |
"properties": { | |
"rule": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"type": "object", | |
"properties": { | |
"predicate": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"name": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"name" | |
] | |
} | |
] | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"allOf": [ | |
{ | |
"$ref": "#/refs/stringModifiers" | |
}, | |
{ | |
"oneOf": [ | |
{ | |
"$ref": "#/refs/signal", | |
"required": [ | |
"signal" | |
] | |
}, | |
{ | |
"properties": { | |
"value": { | |
"enum": [ | |
"circle", | |
"square", | |
"cross", | |
"diamond", | |
"triangle-up", | |
"triangle-down" | |
] | |
} | |
}, | |
"required": [ | |
"value" | |
] | |
}, | |
{ | |
"properties": { | |
"field": { | |
"$ref": "#/refs/field" | |
} | |
}, | |
"required": [ | |
"field" | |
] | |
}, | |
{ | |
"properties": { | |
"band": { | |
"type": "boolean" | |
} | |
}, | |
"required": [ | |
"band" | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
} | |
}, | |
"additionalProperties": false, | |
"required": [ | |
"rule" | |
] | |
}, | |
{ | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"type": "object", | |
"properties": { | |
"predicate": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"name": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"name" | |
] | |
} | |
] | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"allOf": [ | |
{ | |
"$ref": "#/refs/stringModifiers" | |
}, | |
{ | |
"oneOf": [ | |
{ | |
"$ref": "#/refs/signal", | |
"required": [ | |
"signal" | |
] | |
}, | |
{ | |
"properties": { | |
"value": { | |
"enum": [ | |
"circle", | |
"square", | |
"cross", | |
"diamond", | |
"triangle-up", | |
"triangle-down" | |
] | |
} | |
}, | |
"required": [ | |
"value" | |
] | |
}, | |
{ | |
"properties": { | |
"field": { | |
"$ref": "#/refs/field" | |
} | |
}, | |
"required": [ | |
"field" | |
] | |
}, | |
{ | |
"properties": { | |
"band": { | |
"type": "boolean" | |
} | |
}, | |
"required": [ | |
"band" | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
}, | |
{ | |
"type": "object", | |
"allOf": [ | |
{ | |
"$ref": "#/refs/stringModifiers" | |
}, | |
{ | |
"oneOf": [ | |
{ | |
"$ref": "#/refs/signal", | |
"required": [ | |
"signal" | |
] | |
}, | |
{ | |
"properties": { | |
"value": { | |
"enum": [ | |
"circle", | |
"square", | |
"cross", | |
"diamond", | |
"triangle-up", | |
"triangle-down" | |
] | |
} | |
}, | |
"required": [ | |
"value" | |
] | |
}, | |
{ | |
"properties": { | |
"field": { | |
"$ref": "#/refs/field" | |
} | |
}, | |
"required": [ | |
"field" | |
] | |
}, | |
{ | |
"properties": { | |
"band": { | |
"type": "boolean" | |
} | |
}, | |
"required": [ | |
"band" | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"path": { | |
"$ref": "#/refs/stringValue" | |
}, | |
"innerRadius": { | |
"$ref": "#/refs/numberValue" | |
}, | |
"outerRadius": { | |
"$ref": "#/refs/numberValue" | |
}, | |
"startAngle": { | |
"$ref": "#/refs/numberValue" | |
}, | |
"endAngle": { | |
"$ref": "#/refs/numberValue" | |
}, | |
"interpolate": { | |
"oneOf": [ | |
{ | |
"type": "object", | |
"properties": { | |
"rule": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"type": "object", | |
"properties": { | |
"predicate": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"name": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"name" | |
] | |
} | |
] | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"allOf": [ | |
{ | |
"$ref": "#/refs/stringModifiers" | |
}, | |
{ | |
"oneOf": [ | |
{ | |
"$ref": "#/refs/signal", | |
"required": [ | |
"signal" | |
] | |
}, | |
{ | |
"properties": { | |
"value": { | |
"enum": [ | |
"linear", | |
"step-before", | |
"step-after", | |
"basis", | |
"basis-open", | |
"cardinal", | |
"cardinal-open", | |
"monotone" | |
] | |
} | |
}, | |
"required": [ | |
"value" | |
] | |
}, | |
{ | |
"properties": { | |
"field": { | |
"$ref": "#/refs/field" | |
} | |
}, | |
"required": [ | |
"field" | |
] | |
}, | |
{ | |
"properties": { | |
"band": { | |
"type": "boolean" | |
} | |
}, | |
"required": [ | |
"band" | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
} | |
}, | |
"additionalProperties": false, | |
"required": [ | |
"rule" | |
] | |
}, | |
{ | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"type": "object", | |
"properties": { | |
"predicate": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"name": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"name" | |
] | |
} | |
] | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"allOf": [ | |
{ | |
"$ref": "#/refs/stringModifiers" | |
}, | |
{ | |
"oneOf": [ | |
{ | |
"$ref": "#/refs/signal", | |
"required": [ | |
"signal" | |
] | |
}, | |
{ | |
"properties": { | |
"value": { | |
"enum": [ | |
"linear", | |
"step-before", | |
"step-after", | |
"basis", | |
"basis-open", | |
"cardinal", | |
"cardinal-open", | |
"monotone" | |
] | |
} | |
}, | |
"required": [ | |
"value" | |
] | |
}, | |
{ | |
"properties": { | |
"field": { | |
"$ref": "#/refs/field" | |
} | |
}, | |
"required": [ | |
"field" | |
] | |
}, | |
{ | |
"properties": { | |
"band": { | |
"type": "boolean" | |
} | |
}, | |
"required": [ | |
"band" | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
}, | |
{ | |
"type": "object", | |
"allOf": [ | |
{ | |
"$ref": "#/refs/stringModifiers" | |
}, | |
{ | |
"oneOf": [ | |
{ | |
"$ref": "#/refs/signal", | |
"required": [ | |
"signal" | |
] | |
}, | |
{ | |
"properties": { | |
"value": { | |
"enum": [ | |
"linear", | |
"step-before", | |
"step-after", | |
"basis", | |
"basis-open", | |
"cardinal", | |
"cardinal-open", | |
"monotone" | |
] | |
} | |
}, | |
"required": [ | |
"value" | |
] | |
}, | |
{ | |
"properties": { | |
"field": { | |
"$ref": "#/refs/field" | |
} | |
}, | |
"required": [ | |
"field" | |
] | |
}, | |
{ | |
"properties": { | |
"band": { | |
"type": "boolean" | |
} | |
}, | |
"required": [ | |
"band" | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"tension": { | |
"$ref": "#/refs/numberValue" | |
}, | |
"url": { | |
"$ref": "#/refs/stringValue" | |
}, | |
"align": { | |
"oneOf": [ | |
{ | |
"type": "object", | |
"properties": { | |
"rule": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"type": "object", | |
"properties": { | |
"predicate": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"name": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"name" | |
] | |
} | |
] | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"allOf": [ | |
{ | |
"$ref": "#/refs/stringModifiers" | |
}, | |
{ | |
"oneOf": [ | |
{ | |
"$ref": "#/refs/signal", | |
"required": [ | |
"signal" | |
] | |
}, | |
{ | |
"properties": { | |
"value": { | |
"enum": [ | |
"left", | |
"right", | |
"center" | |
] | |
} | |
}, | |
"required": [ | |
"value" | |
] | |
}, | |
{ | |
"properties": { | |
"field": { | |
"$ref": "#/refs/field" | |
} | |
}, | |
"required": [ | |
"field" | |
] | |
}, | |
{ | |
"properties": { | |
"band": { | |
"type": "boolean" | |
} | |
}, | |
"required": [ | |
"band" | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
} | |
}, | |
"additionalProperties": false, | |
"required": [ | |
"rule" | |
] | |
}, | |
{ | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"type": "object", | |
"properties": { | |
"predicate": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"name": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"name" | |
] | |
} | |
] | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"allOf": [ | |
{ | |
"$ref": "#/refs/stringModifiers" | |
}, | |
{ | |
"oneOf": [ | |
{ | |
"$ref": "#/refs/signal", | |
"required": [ | |
"signal" | |
] | |
}, | |
{ | |
"properties": { | |
"value": { | |
"enum": [ | |
"left", | |
"right", | |
"center" | |
] | |
} | |
}, | |
"required": [ | |
"value" | |
] | |
}, | |
{ | |
"properties": { | |
"field": { | |
"$ref": "#/refs/field" | |
} | |
}, | |
"required": [ | |
"field" | |
] | |
}, | |
{ | |
"properties": { | |
"band": { | |
"type": "boolean" | |
} | |
}, | |
"required": [ | |
"band" | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
}, | |
{ | |
"type": "object", | |
"allOf": [ | |
{ | |
"$ref": "#/refs/stringModifiers" | |
}, | |
{ | |
"oneOf": [ | |
{ | |
"$ref": "#/refs/signal", | |
"required": [ | |
"signal" | |
] | |
}, | |
{ | |
"properties": { | |
"value": { | |
"enum": [ | |
"left", | |
"right", | |
"center" | |
] | |
} | |
}, | |
"required": [ | |
"value" | |
] | |
}, | |
{ | |
"properties": { | |
"field": { | |
"$ref": "#/refs/field" | |
} | |
}, | |
"required": [ | |
"field" | |
] | |
}, | |
{ | |
"properties": { | |
"band": { | |
"type": "boolean" | |
} | |
}, | |
"required": [ | |
"band" | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"baseline": { | |
"oneOf": [ | |
{ | |
"type": "object", | |
"properties": { | |
"rule": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"type": "object", | |
"properties": { | |
"predicate": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"name": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"name" | |
] | |
} | |
] | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"allOf": [ | |
{ | |
"$ref": "#/refs/stringModifiers" | |
}, | |
{ | |
"oneOf": [ | |
{ | |
"$ref": "#/refs/signal", | |
"required": [ | |
"signal" | |
] | |
}, | |
{ | |
"properties": { | |
"value": { | |
"enum": [ | |
"top", | |
"middle", | |
"bottom", | |
"alphabetic" | |
] | |
} | |
}, | |
"required": [ | |
"value" | |
] | |
}, | |
{ | |
"properties": { | |
"field": { | |
"$ref": "#/refs/field" | |
} | |
}, | |
"required": [ | |
"field" | |
] | |
}, | |
{ | |
"properties": { | |
"band": { | |
"type": "boolean" | |
} | |
}, | |
"required": [ | |
"band" | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
} | |
}, | |
"additionalProperties": false, | |
"required": [ | |
"rule" | |
] | |
}, | |
{ | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"type": "object", | |
"properties": { | |
"predicate": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"name": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"name" | |
] | |
} | |
] | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"allOf": [ | |
{ | |
"$ref": "#/refs/stringModifiers" | |
}, | |
{ | |
"oneOf": [ | |
{ | |
"$ref": "#/refs/signal", | |
"required": [ | |
"signal" | |
] | |
}, | |
{ | |
"properties": { | |
"value": { | |
"enum": [ | |
"top", | |
"middle", | |
"bottom", | |
"alphabetic" | |
] | |
} | |
}, | |
"required": [ | |
"value" | |
] | |
}, | |
{ | |
"properties": { | |
"field": { | |
"$ref": "#/refs/field" | |
} | |
}, | |
"required": [ | |
"field" | |
] | |
}, | |
{ | |
"properties": { | |
"band": { | |
"type": "boolean" | |
} | |
}, | |
"required": [ | |
"band" | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
}, | |
{ | |
"type": "object", | |
"allOf": [ | |
{ | |
"$ref": "#/refs/stringModifiers" | |
}, | |
{ | |
"oneOf": [ | |
{ | |
"$ref": "#/refs/signal", | |
"required": [ | |
"signal" | |
] | |
}, | |
{ | |
"properties": { | |
"value": { | |
"enum": [ | |
"top", | |
"middle", | |
"bottom", | |
"alphabetic" | |
] | |
} | |
}, | |
"required": [ | |
"value" | |
] | |
}, | |
{ | |
"properties": { | |
"field": { | |
"$ref": "#/refs/field" | |
} | |
}, | |
"required": [ | |
"field" | |
] | |
}, | |
{ | |
"properties": { | |
"band": { | |
"type": "boolean" | |
} | |
}, | |
"required": [ | |
"band" | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"text": { | |
"$ref": "#/refs/stringValue" | |
}, | |
"dx": { | |
"$ref": "#/refs/numberValue" | |
}, | |
"dy": { | |
"$ref": "#/refs/numberValue" | |
}, | |
"radius": { | |
"$ref": "#/refs/numberValue" | |
}, | |
"theta": { | |
"$ref": "#/refs/numberValue" | |
}, | |
"angle": { | |
"$ref": "#/refs/numberValue" | |
}, | |
"font": { | |
"$ref": "#/refs/stringValue" | |
}, | |
"fontSize": { | |
"$ref": "#/refs/numberValue" | |
}, | |
"fontWeight": { | |
"$ref": "#/refs/stringValue" | |
}, | |
"fontStyle": { | |
"$ref": "#/refs/stringValue" | |
} | |
}, | |
"additionalProperties": false | |
}, | |
"signal": { | |
"type": "object", | |
"properties": { | |
"name": { | |
"type": "string", | |
"not": { | |
"enum": [ | |
"datum", | |
"event", | |
"signals", | |
"width", | |
"height", | |
"padding", | |
"isNaN", | |
"isFinite", | |
"abs", | |
"acos", | |
"asin", | |
"atan", | |
"atan2", | |
"ceil", | |
"cos", | |
"exp", | |
"floor", | |
"log", | |
"max", | |
"min", | |
"pow", | |
"random", | |
"round", | |
"sin", | |
"sqrt", | |
"tan", | |
"clamp", | |
"now", | |
"utc", | |
"datetime", | |
"date", | |
"day", | |
"year", | |
"month", | |
"hours", | |
"minutes", | |
"seconds", | |
"milliseconds", | |
"time", | |
"timezoneoffset", | |
"utcdate", | |
"utcday", | |
"utcyear", | |
"utcmonth", | |
"utchours", | |
"utcminutes", | |
"utcseconds", | |
"utcmilliseconds", | |
"length", | |
"indexof", | |
"lastindexof", | |
"parseFloat", | |
"parseInt", | |
"upper", | |
"lower", | |
"slice", | |
"substring", | |
"replace", | |
"regexp", | |
"test", | |
"if", | |
"eventItem", | |
"eventGroup", | |
"eventX", | |
"eventY", | |
"open", | |
"scale", | |
"iscale", | |
"inrange", | |
"format", | |
"timeFormat", | |
"utcFormat" | |
] | |
} | |
}, | |
"init": {}, | |
"verbose": { | |
"type": "boolean", | |
"default": false | |
}, | |
"expr": { | |
"type": "string" | |
}, | |
"scale": { | |
"$ref": "#/refs/scopedScale" | |
}, | |
"streams": { | |
"$ref": "#/defs/streams" | |
} | |
}, | |
"additionalProperties": false, | |
"required": [ | |
"name" | |
] | |
}, | |
"spec": { | |
"title": "Vega visualization specification", | |
"type": "object", | |
"allOf": [ | |
{ | |
"$ref": "#/defs/container" | |
}, | |
{ | |
"properties": { | |
"width": { | |
"type": "number" | |
}, | |
"height": { | |
"type": "number" | |
}, | |
"viewport": { | |
"type": "array", | |
"items": { | |
"type": "number" | |
}, | |
"maxItems": 2 | |
}, | |
"background": { | |
"$ref": "#/defs/background" | |
}, | |
"padding": { | |
"$ref": "#/defs/padding" | |
}, | |
"signals": { | |
"type": "array", | |
"items": { | |
"$ref": "#/defs/signal" | |
} | |
}, | |
"predicates": { | |
"type": "array", | |
"items": { | |
"$ref": "#/defs/predicate" | |
} | |
}, | |
"data": { | |
"type": "array", | |
"items": { | |
"$ref": "#/defs/data" | |
} | |
} | |
} | |
} | |
] | |
}, | |
"streams": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"type": { | |
"type": "string" | |
}, | |
"expr": { | |
"type": "string" | |
}, | |
"scale": { | |
"$ref": "#/refs/scopedScale" | |
} | |
}, | |
"additionalProperties": false, | |
"required": [ | |
"type", | |
"expr" | |
] | |
} | |
}, | |
"aggregateTransform": { | |
"$schema": "http://json-schema.org/draft-04/schema#", | |
"title": "Aggregate transform", | |
"description": "Compute summary aggregate statistics", | |
"type": "object", | |
"properties": { | |
"type": { | |
"enum": [ | |
"aggregate" | |
] | |
}, | |
"groupby": { | |
"type": "array", | |
"items": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"description": "A list of fields to split the data into groups." | |
}, | |
"summarize": { | |
"oneOf": [ | |
{ | |
"type": "object", | |
"additionalProperties": { | |
"type": "array", | |
"description": "An array of aggregate functions.", | |
"items": { | |
"oneOf": [ | |
{ | |
"enum": [ | |
"values", | |
"count", | |
"valid", | |
"missing", | |
"distinct", | |
"sum", | |
"mean", | |
"average", | |
"variance", | |
"variancep", | |
"stdev", | |
"stdevp", | |
"median", | |
"q1", | |
"q3", | |
"modeskew", | |
"min", | |
"max", | |
"argmin", | |
"argmax" | |
] | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
} | |
} | |
}, | |
{ | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"field": { | |
"description": "The name of the field to aggregate.", | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"ops": { | |
"type": "array", | |
"description": "An array of aggregate functions.", | |
"items": { | |
"oneOf": [ | |
{ | |
"enum": [ | |
"values", | |
"count", | |
"valid", | |
"missing", | |
"distinct", | |
"sum", | |
"mean", | |
"average", | |
"variance", | |
"variancep", | |
"stdev", | |
"stdevp", | |
"median", | |
"q1", | |
"q3", | |
"modeskew", | |
"min", | |
"max", | |
"argmin", | |
"argmax" | |
] | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
} | |
}, | |
"as": { | |
"type": "array", | |
"description": "An optional array of names to use for the output fields.", | |
"items": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
} | |
} | |
}, | |
"additionalProperties": false, | |
"required": [ | |
"field", | |
"ops" | |
] | |
} | |
} | |
] | |
} | |
}, | |
"additionalProperties": false, | |
"required": [ | |
"type" | |
] | |
}, | |
"binTransform": { | |
"$schema": "http://json-schema.org/draft-04/schema#", | |
"title": "Bin transform", | |
"description": "Bins values into quantitative bins (e.g., for a histogram).", | |
"type": "object", | |
"properties": { | |
"type": { | |
"enum": [ | |
"bin" | |
] | |
}, | |
"field": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"description": "The name of the field to bin values from." | |
}, | |
"min": { | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"description": "The minimum bin value to consider." | |
}, | |
"max": { | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"description": "The maximum bin value to consider." | |
}, | |
"base": { | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"description": "The number base to use for automatic bin determination.", | |
"default": 10 | |
}, | |
"maxbins": { | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"description": "The maximum number of allowable bins.", | |
"default": 20 | |
}, | |
"step": { | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"description": "An exact step size to use between bins. If provided, options such as maxbins will be ignored." | |
}, | |
"steps": { | |
"description": "An array of allowable step sizes to choose from.", | |
"oneOf": [ | |
{ | |
"type": "array", | |
"items": { | |
"type": "number" | |
} | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"minstep": { | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"description": "A minimum allowable step size (particularly useful for integer values)." | |
}, | |
"div": { | |
"description": "An array of scale factors indicating allowable subdivisions.", | |
"oneOf": [ | |
{ | |
"type": "array", | |
"items": { | |
"type": "number" | |
}, | |
"default": [ | |
5, | |
2 | |
] | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"output": { | |
"type": "object", | |
"description": "Rename the output data fields", | |
"properties": { | |
"start": { | |
"type": "string", | |
"default": "bin_start" | |
}, | |
"end": { | |
"type": "string", | |
"default": "bin_end" | |
}, | |
"mid": { | |
"type": "string", | |
"default": "bin_mid" | |
} | |
}, | |
"additionalProperties": false | |
} | |
}, | |
"additionalProperties": false, | |
"required": [ | |
"type", | |
"field" | |
] | |
}, | |
"crossTransform": { | |
"$schema": "http://json-schema.org/draft-04/schema#", | |
"title": "Cross transform", | |
"description": "Compute the cross-product of two data sets.", | |
"type": "object", | |
"properties": { | |
"type": { | |
"enum": [ | |
"cross" | |
] | |
}, | |
"with": { | |
"type": "string", | |
"description": "The name of the secondary data set to cross with the primary data. If unspecified, the primary data is crossed with itself." | |
}, | |
"diagonal": { | |
"oneOf": [ | |
{ | |
"type": "boolean" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"description": "If false, items along the \"diagonal\" of the cross-product (those elements with the same index in their respective array) will not be included in the output.", | |
"default": true | |
}, | |
"filter": { | |
"type": "string", | |
"description": "A string containing an expression (in JavaScript syntax) to filter the resulting data elements." | |
}, | |
"output": { | |
"type": "object", | |
"description": "Rename the output data fields", | |
"properties": { | |
"left": { | |
"type": "string", | |
"default": "a" | |
}, | |
"right": { | |
"type": "string", | |
"default": "b" | |
} | |
}, | |
"additionalProperties": false | |
} | |
}, | |
"additionalProperties": false, | |
"required": [ | |
"type" | |
] | |
}, | |
"countpatternTransform": { | |
"$schema": "http://json-schema.org/draft-04/schema#", | |
"title": "CountPattern transform", | |
"type": "object", | |
"properties": { | |
"type": { | |
"enum": [ | |
"countpattern" | |
] | |
}, | |
"field": { | |
"description": "The field containing the text to analyze.", | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": "data" | |
}, | |
"pattern": { | |
"description": "A regexp pattern for matching words in text.", | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": "[\\w']+" | |
}, | |
"case": { | |
"description": "Text case transformation to apply.", | |
"oneOf": [ | |
{ | |
"enum": [ | |
"lower", | |
"upper", | |
"none" | |
] | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": "lower" | |
}, | |
"stopwords": { | |
"description": "A regexp pattern for matching stopwords to omit.", | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": "" | |
}, | |
"output": { | |
"type": "object", | |
"description": "Rename the output data fields", | |
"properties": { | |
"text": { | |
"type": "string", | |
"default": "text" | |
}, | |
"count": { | |
"type": "string", | |
"default": "count" | |
} | |
}, | |
"additionalProperties": false | |
} | |
}, | |
"additionalProperties": false, | |
"required": [ | |
"type" | |
] | |
}, | |
"linkpathTransform": { | |
"$schema": "http://json-schema.org/draft-04/schema#", | |
"title": "LinkPath transform", | |
"description": "Computes a path definition for connecting nodes within a node-link network or tree diagram.", | |
"type": "object", | |
"properties": { | |
"type": { | |
"enum": [ | |
"linkpath" | |
] | |
}, | |
"sourceX": { | |
"description": "The data field that references the source x-coordinate for this link.", | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": "_source" | |
}, | |
"sourceY": { | |
"description": "The data field that references the source y-coordinate for this link.", | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": "_source" | |
}, | |
"targetX": { | |
"description": "The data field that references the target x-coordinate for this link.", | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": "_target" | |
}, | |
"targetY": { | |
"description": "The data field that references the target y-coordinate for this link.", | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": "_target" | |
}, | |
"tension": { | |
"description": "A tension parameter for the \"tightness\" of \"curve\"-shaped links.", | |
"oneOf": [ | |
{ | |
"type": "number", | |
"minimum": 0, | |
"maximum": 1 | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": 0.2 | |
}, | |
"shape": { | |
"description": "The path shape to use", | |
"oneOf": [ | |
{ | |
"enum": [ | |
"line", | |
"curve", | |
"cornerX", | |
"cornerY", | |
"cornerR", | |
"diagonalX", | |
"diagonalY", | |
"diagonalR" | |
] | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": "line" | |
}, | |
"output": { | |
"type": "object", | |
"description": "Rename the output data fields", | |
"properties": { | |
"path": { | |
"type": "string", | |
"default": "layout_path" | |
} | |
}, | |
"additionalProperties": false | |
} | |
}, | |
"additionalProperties": false, | |
"required": [ | |
"type" | |
] | |
}, | |
"facetTransform": { | |
"$schema": "http://json-schema.org/draft-04/schema#", | |
"title": "Facet transform", | |
"description": "A special aggregate transform that organizes a data set into groups or \"facets\".", | |
"type": "object", | |
"properties": { | |
"type": { | |
"enum": [ | |
"facet" | |
] | |
}, | |
"groupby": { | |
"type": "array", | |
"items": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"description": "A list of fields to split the data into groups." | |
}, | |
"summarize": { | |
"oneOf": [ | |
{ | |
"type": "object", | |
"additionalProperties": { | |
"type": "array", | |
"description": "An array of aggregate functions.", | |
"items": { | |
"oneOf": [ | |
{ | |
"enum": [ | |
"values", | |
"count", | |
"valid", | |
"missing", | |
"distinct", | |
"sum", | |
"mean", | |
"average", | |
"variance", | |
"variancep", | |
"stdev", | |
"stdevp", | |
"median", | |
"q1", | |
"q3", | |
"modeskew", | |
"min", | |
"max", | |
"argmin", | |
"argmax" | |
] | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
} | |
} | |
}, | |
{ | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"field": { | |
"description": "The name of the field to aggregate.", | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"ops": { | |
"type": "array", | |
"description": "An array of aggregate functions.", | |
"items": { | |
"oneOf": [ | |
{ | |
"enum": [ | |
"values", | |
"count", | |
"valid", | |
"missing", | |
"distinct", | |
"sum", | |
"mean", | |
"average", | |
"variance", | |
"variancep", | |
"stdev", | |
"stdevp", | |
"median", | |
"q1", | |
"q3", | |
"modeskew", | |
"min", | |
"max", | |
"argmin", | |
"argmax" | |
] | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
} | |
}, | |
"as": { | |
"type": "array", | |
"description": "An optional array of names to use for the output fields.", | |
"items": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
} | |
} | |
}, | |
"additionalProperties": false, | |
"required": [ | |
"field", | |
"ops" | |
] | |
} | |
} | |
] | |
}, | |
"transform": { | |
"$ref": "#/defs/transform" | |
} | |
}, | |
"additionalProperties": false, | |
"required": [ | |
"type" | |
] | |
}, | |
"filterTransform": { | |
"$schema": "http://json-schema.org/draft-04/schema#", | |
"title": "Filter transform", | |
"description": "Filters elements from a data set to remove unwanted items.", | |
"type": "object", | |
"properties": { | |
"type": { | |
"enum": [ | |
"filter" | |
] | |
}, | |
"test": { | |
"type": "string", | |
"description": "A string containing an expression (in JavaScript syntax) for the filter predicate." | |
} | |
}, | |
"additionalProperties": false, | |
"required": [ | |
"type", | |
"test" | |
] | |
}, | |
"foldTransform": { | |
"$schema": "http://json-schema.org/draft-04/schema#", | |
"title": "Fold transform", | |
"description": "Collapse (\"fold\") one or more data properties into two properties.", | |
"type": "object", | |
"properties": { | |
"type": { | |
"enum": [ | |
"fold" | |
] | |
}, | |
"fields": { | |
"oneOf": [ | |
{ | |
"type": "array", | |
"description": "An array of field references indicating the data properties to fold.", | |
"items": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"minItems": 1, | |
"uniqueItems": true | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"output": { | |
"type": "object", | |
"description": "Rename the output data fields", | |
"properties": { | |
"key": { | |
"type": "string", | |
"default": "key" | |
}, | |
"value": { | |
"type": "string", | |
"default": "value" | |
} | |
}, | |
"additionalProperties": false | |
} | |
}, | |
"additionalProperties": false, | |
"required": [ | |
"type", | |
"fields" | |
] | |
}, | |
"forceTransform": { | |
"$schema": "http://json-schema.org/draft-04/schema#", | |
"title": "Force transform", | |
"description": "Performs force-directed layout for network data.", | |
"type": "object", | |
"properties": { | |
"type": { | |
"enum": [ | |
"force" | |
] | |
}, | |
"size": { | |
"description": "The dimensions [width, height] of this force layout.", | |
"oneOf": [ | |
{ | |
"type": "array", | |
"minItems": 2, | |
"maxItems": 2, | |
"items": { | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
} | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": [ | |
500, | |
500 | |
] | |
}, | |
"links": { | |
"type": "string", | |
"description": "The name of the link (edge) data set." | |
}, | |
"linkDistance": { | |
"description": "Determines the length of edges, in pixels.", | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": 20 | |
}, | |
"linkStrength": { | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"description": "Determines the tension of edges (the spring constant).", | |
"default": 1 | |
}, | |
"charge": { | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"description": "The strength of the charge each node exerts.", | |
"default": -30 | |
}, | |
"chargeDistance": { | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"description": "The maximum distance over which charge forces are applied.", | |
"default": null | |
}, | |
"iterations": { | |
"description": "The number of iterations to run the force directed layout.", | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": 500 | |
}, | |
"friction": { | |
"description": "The strength of the friction force used to stabilize the layout.", | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": 0.9 | |
}, | |
"theta": { | |
"description": "The theta parameter for the Barnes-Hut algorithm, which is used to compute charge forces between nodes.", | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": 0.8 | |
}, | |
"gravity": { | |
"description": "The strength of the pseudo-gravity force that pulls nodes towards the center of the layout area.", | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": 0.1 | |
}, | |
"alpha": { | |
"description": "A \"temperature\" parameter that determines how much node positions are adjusted at each step.", | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": 0.1 | |
}, | |
"output": { | |
"type": "object", | |
"description": "Rename the output data fields", | |
"properties": { | |
"x": { | |
"type": "string", | |
"default": "layout_x" | |
}, | |
"y": { | |
"type": "string", | |
"default": "layout_y" | |
} | |
}, | |
"additionalProperties": false | |
} | |
}, | |
"additionalProperties": false, | |
"required": [ | |
"type", | |
"links" | |
] | |
}, | |
"formulaTransform": { | |
"$schema": "http://json-schema.org/draft-04/schema#", | |
"title": "Formula transform", | |
"description": "Extends data elements with new values according to a calculation formula.", | |
"type": "object", | |
"properties": { | |
"type": { | |
"enum": [ | |
"formula" | |
] | |
}, | |
"field": { | |
"type": "string", | |
"description": "The property name in which to store the computed formula value." | |
}, | |
"expr": { | |
"type": "string", | |
"description": "A string containing an expression (in JavaScript syntax) for the formula." | |
} | |
}, | |
"required": [ | |
"type", | |
"field", | |
"expr" | |
] | |
}, | |
"geoTransform": { | |
"$schema": "http://json-schema.org/draft-04/schema#", | |
"title": "Geo transform", | |
"description": "Performs a cartographic projection. Given longitude and latitude values, sets corresponding x and y properties for a mark.", | |
"type": "object", | |
"properties": { | |
"type": { | |
"enum": [ | |
"geo" | |
] | |
}, | |
"lon": { | |
"description": "The input longitude values.", | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"lat": { | |
"description": "The input latitude values.", | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"output": { | |
"type": "object", | |
"description": "Rename the output data fields", | |
"properties": { | |
"x": { | |
"type": "string", | |
"default": "layout_x" | |
}, | |
"y": { | |
"type": "string", | |
"default": "layout_y" | |
} | |
}, | |
"additionalProperties": false | |
}, | |
"projection": { | |
"description": "The type of cartographic projection to use.", | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": "mercator" | |
}, | |
"center": { | |
"description": "The center of the projection.", | |
"oneOf": [ | |
{ | |
"type": "array", | |
"items": { | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"minItems": 2, | |
"maxItems": 2 | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"translate": { | |
"description": "The translation of the projection.", | |
"oneOf": [ | |
{ | |
"type": "array", | |
"items": { | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"minItems": 2, | |
"maxItems": 2 | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"rotate": { | |
"description": "The rotation of the projection.", | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"scale": { | |
"description": "The scale of the projection.", | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"precision": { | |
"description": "The desired precision of the projection.", | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"clipAngle": { | |
"description": "The clip angle of the projection.", | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"clipExtent": { | |
"description": "The clip extent of the projection.", | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
} | |
}, | |
"required": [ | |
"type", | |
"lon", | |
"lat" | |
], | |
"additionalProperties": false | |
}, | |
"geopathTransform": { | |
"$schema": "http://json-schema.org/draft-04/schema#", | |
"title": "GeoPath transform", | |
"description": "Creates paths for geographic regions, such as countries, states and counties.", | |
"type": "object", | |
"properties": { | |
"type": { | |
"enum": [ | |
"geopath" | |
] | |
}, | |
"field": { | |
"description": "The data field containing GeoJSON Feature data.", | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"output": { | |
"type": "object", | |
"description": "Rename the output data fields", | |
"properties": { | |
"path": { | |
"type": "string", | |
"default": "layout_path" | |
} | |
}, | |
"additionalProperties": false | |
}, | |
"projection": { | |
"description": "The type of cartographic projection to use.", | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": "mercator" | |
}, | |
"center": { | |
"description": "The center of the projection.", | |
"oneOf": [ | |
{ | |
"type": "array", | |
"items": { | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"minItems": 2, | |
"maxItems": 2 | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"translate": { | |
"description": "The translation of the projection.", | |
"oneOf": [ | |
{ | |
"type": "array", | |
"items": { | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"minItems": 2, | |
"maxItems": 2 | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"rotate": { | |
"description": "The rotation of the projection.", | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"scale": { | |
"description": "The scale of the projection.", | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"precision": { | |
"description": "The desired precision of the projection.", | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"clipAngle": { | |
"description": "The clip angle of the projection.", | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"clipExtent": { | |
"description": "The clip extent of the projection.", | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
} | |
}, | |
"required": [ | |
"type" | |
], | |
"additionalProperties": false | |
}, | |
"hierarchyTransform": { | |
"$schema": "http://json-schema.org/draft-04/schema#", | |
"title": "Hierarchy transform", | |
"type": "object", | |
"properties": { | |
"type": { | |
"enum": [ | |
"hierarchy" | |
] | |
}, | |
"sort": { | |
"description": "A list of fields to use as sort criteria for sibling nodes.", | |
"oneOf": [ | |
{ | |
"type": "array", | |
"items": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
} | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"children": { | |
"description": "The data field for the children node array", | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": "children" | |
}, | |
"parent": { | |
"description": "The data field for the parent node", | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": "parent" | |
}, | |
"field": { | |
"description": "The value for the area of each leaf-level node for partition layouts.", | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"mode": { | |
"description": "The layout algorithm mode to use.", | |
"oneOf": [ | |
{ | |
"enum": [ | |
"tidy", | |
"cluster", | |
"partition" | |
] | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": "tidy" | |
}, | |
"orient": { | |
"description": "The layout orientation to use.", | |
"oneOf": [ | |
{ | |
"enum": [ | |
"cartesian", | |
"radial" | |
] | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": "cartesian" | |
}, | |
"size": { | |
"description": "The dimensions of the tree layout", | |
"oneOf": [ | |
{ | |
"type": "array", | |
"items": { | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"minItems": 2, | |
"maxItems": 2 | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": [ | |
500, | |
500 | |
] | |
}, | |
"nodesize": { | |
"description": "Sets a fixed x,y size for each node (overrides the size parameter)", | |
"oneOf": [ | |
{ | |
"type": "array", | |
"items": { | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"minItems": 2, | |
"maxItems": 2 | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": null | |
}, | |
"output": { | |
"type": "object", | |
"description": "Rename the output data fields", | |
"properties": { | |
"x": { | |
"type": "string", | |
"default": "layout_x" | |
}, | |
"y": { | |
"type": "string", | |
"default": "layout_y" | |
}, | |
"width": { | |
"type": "string", | |
"default": "layout_width" | |
}, | |
"height": { | |
"type": "string", | |
"default": "layout_height" | |
}, | |
"depth": { | |
"type": "string", | |
"default": "layout_depth" | |
} | |
}, | |
"additionalProperties": false | |
} | |
}, | |
"additionalProperties": false, | |
"required": [ | |
"type" | |
] | |
}, | |
"imputeTransform": { | |
"$schema": "http://json-schema.org/draft-04/schema#", | |
"title": "Impute transform", | |
"description": "Performs imputation of missing values.", | |
"type": "object", | |
"properties": { | |
"type": { | |
"enum": [ | |
"impute" | |
] | |
}, | |
"method": { | |
"description": "The imputation method to use.", | |
"oneOf": [ | |
{ | |
"enum": [ | |
"value", | |
"mean", | |
"median", | |
"min", | |
"max" | |
] | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": "value" | |
}, | |
"value": { | |
"description": "The value to use for missing data if the method is 'value'.", | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"type": "string" | |
}, | |
{ | |
"type": "boolean" | |
}, | |
{ | |
"type": "null" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": 0 | |
}, | |
"field": { | |
"description": "The data field to impute.", | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"groupby": { | |
"description": "A list of fields to group the data into series.", | |
"oneOf": [ | |
{ | |
"type": "array", | |
"items": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
} | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"orderby": { | |
"description": "A list of fields to determine ordering within series.", | |
"oneOf": [ | |
{ | |
"type": "array", | |
"items": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
} | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
} | |
}, | |
"additionalProperties": false, | |
"required": [ | |
"type", | |
"groupby", | |
"orderby", | |
"field" | |
] | |
}, | |
"lookupTransform": { | |
"$schema": "http://json-schema.org/draft-04/schema#", | |
"title": "Lookup transform", | |
"description": "Extends a data set by looking up values in another data set.", | |
"type": "object", | |
"properties": { | |
"type": { | |
"enum": [ | |
"lookup" | |
] | |
}, | |
"on": { | |
"type": "string", | |
"description": "The name of the secondary data set on which to lookup values." | |
}, | |
"onKey": { | |
"description": "The key field to lookup, or null for index-based lookup.", | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"keys": { | |
"description": "One or more fields in the primary data set to match against the secondary data set.", | |
"type": "array", | |
"items": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
} | |
}, | |
"as": { | |
"type": "array", | |
"description": "The names of the fields in which to store looked-up values.", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"default": { | |
"description": "The default value to use if a lookup match fails." | |
} | |
}, | |
"required": [ | |
"type", | |
"on", | |
"as", | |
"keys" | |
], | |
"additionalProperties": false | |
}, | |
"pieTransform": { | |
"$schema": "http://json-schema.org/draft-04/schema#", | |
"title": "Pie transform", | |
"description": "Computes a pie chart layout.", | |
"type": "object", | |
"properties": { | |
"type": { | |
"enum": [ | |
"pie" | |
] | |
}, | |
"field": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"description": "The data values to encode as angular spans. If this property is omitted, all pie slices will have equal spans." | |
}, | |
"startAngle": { | |
"oneOf": [ | |
{ | |
"type": "number", | |
"minimum": 0, | |
"maximum": 6.283185307179586 | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": 0 | |
}, | |
"endAngle": { | |
"oneOf": [ | |
{ | |
"type": "number", | |
"minimum": 0, | |
"maximum": 6.283185307179586 | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": 6.283185307179586 | |
}, | |
"sort": { | |
"description": " If true, will sort the data prior to computing angles.", | |
"oneOf": [ | |
{ | |
"type": "boolean" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": false | |
}, | |
"output": { | |
"type": "object", | |
"description": "Rename the output data fields", | |
"properties": { | |
"start": { | |
"type": "string", | |
"default": "layout_start" | |
}, | |
"end": { | |
"type": "string", | |
"default": "layout_end" | |
}, | |
"mid": { | |
"type": "string", | |
"default": "layout_mid" | |
} | |
} | |
} | |
}, | |
"required": [ | |
"type" | |
] | |
}, | |
"rankTransform": { | |
"$schema": "http://json-schema.org/draft-04/schema#", | |
"title": "Rank transform", | |
"description": "Computes ascending rank scores for data tuples.", | |
"type": "object", | |
"properties": { | |
"type": { | |
"enum": [ | |
"rank" | |
] | |
}, | |
"field": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"description": "A key field to used to rank tuples. If undefined, tuples will be ranked in their observed order." | |
}, | |
"normalize": { | |
"description": "If true, values of the output field will lie in the range [0, 1].", | |
"oneOf": [ | |
{ | |
"type": "boolean" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": false | |
}, | |
"output": { | |
"type": "object", | |
"description": "Rename the output data fields", | |
"properties": { | |
"rank": { | |
"type": "string", | |
"default": "rank" | |
} | |
}, | |
"additionalProperties": false | |
} | |
}, | |
"additionalProperties": false, | |
"required": [ | |
"type" | |
] | |
}, | |
"sortTransform": { | |
"$schema": "http://json-schema.org/draft-04/schema#", | |
"title": "Sort transform", | |
"description": "Sorts the values of a data set.", | |
"type": "object", | |
"properties": { | |
"type": { | |
"enum": [ | |
"sort" | |
] | |
}, | |
"by": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
} | |
], | |
"description": "A list of fields to use as sort criteria." | |
} | |
}, | |
"required": [ | |
"type", | |
"by" | |
] | |
}, | |
"stackTransform": { | |
"$schema": "http://json-schema.org/draft-04/schema#", | |
"title": "Stack transform", | |
"description": "Computes layout values for stacked graphs, as in stacked bar charts or stream graphs.", | |
"type": "object", | |
"properties": { | |
"type": { | |
"enum": [ | |
"stack" | |
] | |
}, | |
"groupby": { | |
"description": "A list of fields to split the data into groups (stacks).", | |
"oneOf": [ | |
{ | |
"type": "array", | |
"items": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
} | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"sortby": { | |
"description": "A list of fields to determine the sort order of stacks.", | |
"oneOf": [ | |
{ | |
"type": "array", | |
"items": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
} | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"field": { | |
"description": "The data field that determines the thickness/height of stacks.", | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"offset": { | |
"description": "The baseline offset", | |
"oneOf": [ | |
{ | |
"enum": [ | |
"zero", | |
"center", | |
"normalize" | |
] | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": "zero" | |
}, | |
"output": { | |
"type": "object", | |
"description": "Rename the output data fields", | |
"properties": { | |
"start": { | |
"type": "string", | |
"default": "layout_start" | |
}, | |
"end": { | |
"type": "string", | |
"default": "layout_end" | |
}, | |
"mid": { | |
"type": "string", | |
"default": "layout_mid" | |
} | |
}, | |
"additionalProperties": false | |
} | |
}, | |
"additionalProperties": false, | |
"required": [ | |
"type", | |
"groupby", | |
"field" | |
] | |
}, | |
"treeifyTransform": { | |
"$schema": "http://json-schema.org/draft-04/schema#", | |
"title": "Treeify transform", | |
"type": "object", | |
"properties": { | |
"type": { | |
"enum": [ | |
"treeify" | |
] | |
}, | |
"groupby": { | |
"description": "An ordered list of fields by which to group tuples into a tree.", | |
"oneOf": [ | |
{ | |
"type": "array", | |
"items": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
} | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"output": { | |
"type": "object", | |
"description": "Rename the output data fields", | |
"properties": { | |
"children": { | |
"type": "string", | |
"default": "children" | |
}, | |
"parent": { | |
"type": "string", | |
"default": "parent" | |
} | |
}, | |
"additionalProperties": false | |
} | |
}, | |
"additionalProperties": false, | |
"required": [ | |
"type", | |
"groupby" | |
] | |
}, | |
"treemapTransform": { | |
"$schema": "http://json-schema.org/draft-04/schema#", | |
"title": "Treemap transform", | |
"type": "object", | |
"properties": { | |
"type": { | |
"enum": [ | |
"treemap" | |
] | |
}, | |
"sort": { | |
"description": "A list of fields to use as sort criteria for sibling nodes.", | |
"oneOf": [ | |
{ | |
"type": "array", | |
"items": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
} | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": [ | |
"-value" | |
] | |
}, | |
"children": { | |
"description": "The data field for the children node array", | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": "children" | |
}, | |
"parent": { | |
"description": "The data field for the parent node", | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": "parent" | |
}, | |
"field": { | |
"description": "The values to use to determine the area of each leaf-level treemap cell.", | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"mode": { | |
"description": "The treemap layout algorithm to use.", | |
"oneOf": [ | |
{ | |
"enum": [ | |
"squarify", | |
"slice", | |
"dice", | |
"slice-dice" | |
] | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": "squarify" | |
}, | |
"size": { | |
"description": "The dimensions of the treemap layout", | |
"oneOf": [ | |
{ | |
"type": "array", | |
"items": { | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"minItems": 2, | |
"maxItems": 2 | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": [ | |
500, | |
500 | |
] | |
}, | |
"round": { | |
"description": "If true, treemap cell dimensions will be rounded to integer pixels.", | |
"oneOf": [ | |
{ | |
"type": "boolean" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": true | |
}, | |
"sticky": { | |
"description": "If true, repeated runs of the treemap will use cached partition boundaries.", | |
"oneOf": [ | |
{ | |
"type": "boolean" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": false | |
}, | |
"ratio": { | |
"description": "The target aspect ratio for the layout to optimize.", | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": 1.618033988749895 | |
}, | |
"padding": { | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"type": "array", | |
"items": { | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"minItems": 4, | |
"maxItems": 4 | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"description": "he padding (in pixels) to provide around internal nodes in the treemap." | |
}, | |
"output": { | |
"type": "object", | |
"description": "Rename the output data fields", | |
"properties": { | |
"x": { | |
"type": "string", | |
"default": "layout_x" | |
}, | |
"y": { | |
"type": "string", | |
"default": "layout_y" | |
}, | |
"width": { | |
"type": "string", | |
"default": "layout_width" | |
}, | |
"height": { | |
"type": "string", | |
"default": "layout_height" | |
}, | |
"depth": { | |
"type": "string", | |
"default": "layout_depth" | |
} | |
}, | |
"additionalProperties": false | |
} | |
}, | |
"additionalProperties": false, | |
"required": [ | |
"type" | |
] | |
}, | |
"voronoiTransform": { | |
"$schema": "http://json-schema.org/draft-04/schema#", | |
"title": "Voronoi transform", | |
"type": "object", | |
"properties": { | |
"type": { | |
"enum": [ | |
"voronoi" | |
] | |
}, | |
"clipExtent": { | |
"description": "The min and max points at which to clip the voronoi diagram.", | |
"oneOf": [ | |
{ | |
"type": "array", | |
"items": { | |
"oneOf": [ | |
{ | |
"type": "array", | |
"items": { | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"minItems": 2, | |
"maxItems": 2 | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"minItems": 2, | |
"maxItems": 2 | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": [ | |
[ | |
-100000, | |
-100000 | |
], | |
[ | |
100000, | |
100000 | |
] | |
] | |
}, | |
"x": { | |
"description": "The input x coordinates.", | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"y": { | |
"description": "The input y coordinates.", | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"output": { | |
"type": "object", | |
"description": "Rename the output data fields", | |
"properties": { | |
"path": { | |
"type": "string", | |
"default": "layout_path" | |
} | |
}, | |
"additionalProperties": false | |
} | |
}, | |
"additionalProperties": false, | |
"required": [ | |
"type" | |
] | |
}, | |
"wordcloudTransform": { | |
"$schema": "http://json-schema.org/draft-04/schema#", | |
"title": "Wordcloud transform", | |
"type": "object", | |
"properties": { | |
"type": { | |
"enum": [ | |
"wordcloud" | |
] | |
}, | |
"size": { | |
"description": "The dimensions of the wordcloud layout", | |
"oneOf": [ | |
{ | |
"type": "array", | |
"items": { | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"minItems": 2, | |
"maxItems": 2 | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": [ | |
900, | |
500 | |
] | |
}, | |
"font": { | |
"description": "The font face to use for a word.", | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"type": "object", | |
"oneOf": [ | |
{ | |
"properties": { | |
"field": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"field" | |
] | |
}, | |
{ | |
"properties": { | |
"value": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"value" | |
] | |
} | |
] | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": "sans-serif" | |
}, | |
"fontStyle": { | |
"description": "The font style to use for a word.", | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"type": "object", | |
"oneOf": [ | |
{ | |
"properties": { | |
"field": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"field" | |
] | |
}, | |
{ | |
"properties": { | |
"value": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"value" | |
] | |
} | |
] | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": "normal" | |
}, | |
"fontWeight": { | |
"description": "The font weight to use for a word.", | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"type": "object", | |
"oneOf": [ | |
{ | |
"properties": { | |
"field": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"field" | |
] | |
}, | |
{ | |
"properties": { | |
"value": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"value" | |
] | |
} | |
] | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": "normal" | |
}, | |
"fontSize": { | |
"description": "The font size to use for a word.", | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"type": "object", | |
"oneOf": [ | |
{ | |
"properties": { | |
"field": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"field" | |
] | |
}, | |
{ | |
"properties": { | |
"value": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"value" | |
] | |
} | |
] | |
}, | |
{ | |
"type": "string" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": 14 | |
}, | |
"fontScale": { | |
"description": "The minimum and maximum scaled font sizes, or null to prevent scaling.", | |
"oneOf": [ | |
{ | |
"type": "null" | |
}, | |
{ | |
"type": "array", | |
"minItems": 2, | |
"maxItems": 2, | |
"items": { | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
} | |
} | |
], | |
"default": [ | |
10, | |
50 | |
] | |
}, | |
"rotate": { | |
"description": "The field or number to set the roration angle (in degrees).", | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"type": "string" | |
}, | |
{ | |
"type": "object", | |
"oneOf": [ | |
{ | |
"properties": { | |
"field": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"field" | |
] | |
}, | |
{ | |
"properties": { | |
"value": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"value" | |
] | |
} | |
] | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": 0 | |
}, | |
"text": { | |
"description": "The field containing the text to use for each word.", | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"type": "object", | |
"oneOf": [ | |
{ | |
"properties": { | |
"field": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"field" | |
] | |
}, | |
{ | |
"properties": { | |
"value": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"value" | |
] | |
} | |
] | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": "data" | |
}, | |
"spiral": { | |
"description": "The type of spiral used for positioning words, either 'archimedean' or 'rectangular'.", | |
"oneOf": [ | |
{ | |
"enum": [ | |
"archimedean", | |
"rectangular" | |
] | |
}, | |
{ | |
"type": "object", | |
"oneOf": [ | |
{ | |
"properties": { | |
"field": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"field" | |
] | |
}, | |
{ | |
"properties": { | |
"value": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"value" | |
] | |
} | |
] | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": "archimedean" | |
}, | |
"padding": { | |
"description": "The padding around each word.", | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"type": "object", | |
"oneOf": [ | |
{ | |
"properties": { | |
"field": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"field" | |
] | |
}, | |
{ | |
"properties": { | |
"value": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"value" | |
] | |
} | |
] | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
], | |
"default": 1 | |
}, | |
"output": { | |
"type": "object", | |
"description": "Rename the output data fields", | |
"properties": { | |
"x": { | |
"type": "string", | |
"default": "layout_x" | |
}, | |
"y": { | |
"type": "string", | |
"default": "layout_y" | |
}, | |
"font": { | |
"type": "string", | |
"default": "layout_font" | |
}, | |
"fontSize": { | |
"type": "string", | |
"default": "layout_fontSize" | |
}, | |
"fontStyle": { | |
"type": "string", | |
"default": "layout_fontStyle" | |
}, | |
"fontWeight": { | |
"type": "string", | |
"default": "layout_fontWeight" | |
}, | |
"rotate": { | |
"type": "string", | |
"default": "layout_rotate" | |
} | |
}, | |
"additionalProperties": false | |
} | |
}, | |
"additionalProperties": false, | |
"required": [ | |
"type" | |
] | |
}, | |
"transform": { | |
"type": "array", | |
"items": { | |
"oneOf": [ | |
{ | |
"$ref": "#/defs/aggregateTransform" | |
}, | |
{ | |
"$ref": "#/defs/binTransform" | |
}, | |
{ | |
"$ref": "#/defs/crossTransform" | |
}, | |
{ | |
"$ref": "#/defs/countpatternTransform" | |
}, | |
{ | |
"$ref": "#/defs/linkpathTransform" | |
}, | |
{ | |
"$ref": "#/defs/facetTransform" | |
}, | |
{ | |
"$ref": "#/defs/filterTransform" | |
}, | |
{ | |
"$ref": "#/defs/foldTransform" | |
}, | |
{ | |
"$ref": "#/defs/forceTransform" | |
}, | |
{ | |
"$ref": "#/defs/formulaTransform" | |
}, | |
{ | |
"$ref": "#/defs/geoTransform" | |
}, | |
{ | |
"$ref": "#/defs/geopathTransform" | |
}, | |
{ | |
"$ref": "#/defs/hierarchyTransform" | |
}, | |
{ | |
"$ref": "#/defs/imputeTransform" | |
}, | |
{ | |
"$ref": "#/defs/lookupTransform" | |
}, | |
{ | |
"$ref": "#/defs/pieTransform" | |
}, | |
{ | |
"$ref": "#/defs/rankTransform" | |
}, | |
{ | |
"$ref": "#/defs/sortTransform" | |
}, | |
{ | |
"$ref": "#/defs/stackTransform" | |
}, | |
{ | |
"$ref": "#/defs/treeifyTransform" | |
}, | |
{ | |
"$ref": "#/defs/treemapTransform" | |
}, | |
{ | |
"$ref": "#/defs/voronoiTransform" | |
}, | |
{ | |
"$ref": "#/defs/wordcloudTransform" | |
} | |
] | |
} | |
}, | |
"scale": { | |
"title": "Scale function", | |
"type": "object", | |
"allOf": [ | |
{ | |
"properties": { | |
"name": { | |
"type": "string" | |
}, | |
"type": { | |
"enum": [ | |
"linear", | |
"ordinal", | |
"time", | |
"utc", | |
"log", | |
"pow", | |
"sqrt", | |
"quantile", | |
"quantize", | |
"threshold" | |
], | |
"default": "linear" | |
}, | |
"domain": { | |
"oneOf": [ | |
{ | |
"type": "array", | |
"items": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
} | |
}, | |
{ | |
"$ref": "#/refs/data" | |
} | |
] | |
}, | |
"domainMin": { | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/data" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"domainMax": { | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/data" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"rangeMin": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"rangeMax": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"reverse": { | |
"oneOf": [ | |
{ | |
"type": "boolean" | |
}, | |
{ | |
"$ref": "#/refs/data" | |
} | |
] | |
}, | |
"round": { | |
"type": "boolean" | |
} | |
}, | |
"required": [ | |
"name" | |
] | |
}, | |
{ | |
"oneOf": [ | |
{ | |
"properties": { | |
"type": { | |
"enum": [ | |
"ordinal" | |
] | |
}, | |
"range": { | |
"oneOf": [ | |
{ | |
"enum": [ | |
"width", | |
"height", | |
"shapes", | |
"category10", | |
"category20" | |
] | |
}, | |
{ | |
"type": "array", | |
"items": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
} | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
}, | |
{ | |
"$ref": "#/refs/data" | |
} | |
] | |
}, | |
"points": { | |
"oneOf": [ | |
{ | |
"type": "boolean" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"padding": { | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"outerPadding": { | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"bandWidth": { | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
} | |
}, | |
"required": [ | |
"type" | |
] | |
}, | |
{ | |
"properties": { | |
"type": { | |
"enum": [ | |
"time", | |
"utc" | |
] | |
}, | |
"range": { | |
"oneOf": [ | |
{ | |
"enum": [ | |
"width", | |
"height", | |
"shapes", | |
"category10", | |
"category20" | |
] | |
}, | |
{ | |
"type": "array", | |
"items": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
} | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"clamp": { | |
"oneOf": [ | |
{ | |
"type": "boolean" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"nice": { | |
"oneOf": [ | |
{ | |
"enum": [ | |
"second", | |
"minute", | |
"hour", | |
"day", | |
"week", | |
"month", | |
"year" | |
] | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
} | |
}, | |
"required": [ | |
"type" | |
] | |
}, | |
{ | |
"anyOf": [ | |
{ | |
"properties": { | |
"type": { | |
"enum": [ | |
"linear", | |
"log", | |
"pow", | |
"sqrt", | |
"quantile", | |
"quantize", | |
"threshold" | |
], | |
"default": "linear" | |
}, | |
"range": { | |
"oneOf": [ | |
{ | |
"enum": [ | |
"width", | |
"height", | |
"shapes", | |
"category10", | |
"category20" | |
] | |
}, | |
{ | |
"type": "array", | |
"items": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
} | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"clamp": { | |
"oneOf": [ | |
{ | |
"type": "boolean" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"nice": { | |
"oneOf": [ | |
{ | |
"type": "boolean" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
}, | |
"zero": { | |
"oneOf": [ | |
{ | |
"type": "boolean" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
} | |
} | |
}, | |
{ | |
"properties": { | |
"type": { | |
"enum": [ | |
"pow" | |
] | |
}, | |
"exponent": { | |
"oneOf": [ | |
{ | |
"type": "number" | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
} | |
] | |
} | |
}, | |
"required": [ | |
"type" | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
}, | |
"refs": { | |
"operand": { | |
"type": "object", | |
"oneOf": [ | |
{ | |
"properties": { | |
"value": {} | |
}, | |
"required": [ | |
"value" | |
] | |
}, | |
{ | |
"properties": { | |
"arg": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"arg" | |
] | |
}, | |
{ | |
"$ref": "#/refs/signal" | |
}, | |
{ | |
"properties": { | |
"predicate": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"name": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"name" | |
] | |
} | |
] | |
} | |
}, | |
"required": [ | |
"predicate" | |
] | |
} | |
] | |
}, | |
"field": { | |
"title": "FieldRef", | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"oneOf": [ | |
{ | |
"$ref": "#/refs/signal" | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"datum": { | |
"$ref": "#/refs/field" | |
} | |
}, | |
"required": [ | |
"datum" | |
], | |
"additionalProperties": false | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"group": { | |
"$ref": "#/refs/field" | |
}, | |
"level": { | |
"type": "number" | |
} | |
}, | |
"required": [ | |
"group" | |
], | |
"additionalProperties": false | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"parent": { | |
"$ref": "#/refs/field" | |
}, | |
"level": { | |
"type": "number" | |
} | |
}, | |
"required": [ | |
"parent" | |
], | |
"additionalProperties": false | |
} | |
] | |
} | |
] | |
}, | |
"scale": { | |
"title": "ScaleRef", | |
"oneOf": [ | |
{ | |
"$ref": "#/refs/field" | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"name": { | |
"$ref": "#/refs/field" | |
}, | |
"invert": { | |
"type": "boolean", | |
"default": false | |
} | |
}, | |
"required": [ | |
"name" | |
] | |
} | |
] | |
}, | |
"stringModifiers": { | |
"properties": { | |
"scale": { | |
"$ref": "#/refs/scale" | |
} | |
} | |
}, | |
"numberModifiers": { | |
"properties": { | |
"mult": { | |
"type": "number" | |
}, | |
"offset": { | |
"type": "number" | |
}, | |
"scale": { | |
"$ref": "#/refs/scale" | |
} | |
} | |
}, | |
"value": { | |
"oneOf": [ | |
{ | |
"type": "object", | |
"properties": { | |
"rule": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"type": "object", | |
"properties": { | |
"predicate": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"name": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"name" | |
] | |
} | |
] | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"allOf": [ | |
{ | |
"$ref": "#/refs/stringModifiers" | |
}, | |
{ | |
"oneOf": [ | |
{ | |
"$ref": "#/refs/signal", | |
"required": [ | |
"signal" | |
] | |
}, | |
{ | |
"properties": { | |
"value": { | |
"type": {} | |
} | |
}, | |
"required": [ | |
"value" | |
] | |
}, | |
{ | |
"properties": { | |
"field": { | |
"$ref": "#/refs/field" | |
} | |
}, | |
"required": [ | |
"field" | |
] | |
}, | |
{ | |
"properties": { | |
"band": { | |
"type": "boolean" | |
} | |
}, | |
"required": [ | |
"band" | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
} | |
}, | |
"additionalProperties": false, | |
"required": [ | |
"rule" | |
] | |
}, | |
{ | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"type": "object", | |
"properties": { | |
"predicate": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"name": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"name" | |
] | |
} | |
] | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"allOf": [ | |
{ | |
"$ref": "#/refs/stringModifiers" | |
}, | |
{ | |
"oneOf": [ | |
{ | |
"$ref": "#/refs/signal", | |
"required": [ | |
"signal" | |
] | |
}, | |
{ | |
"properties": { | |
"value": { | |
"type": {} | |
} | |
}, | |
"required": [ | |
"value" | |
] | |
}, | |
{ | |
"properties": { | |
"field": { | |
"$ref": "#/refs/field" | |
} | |
}, | |
"required": [ | |
"field" | |
] | |
}, | |
{ | |
"properties": { | |
"band": { | |
"type": "boolean" | |
} | |
}, | |
"required": [ | |
"band" | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
}, | |
{ | |
"type": "object", | |
"allOf": [ | |
{ | |
"$ref": "#/refs/stringModifiers" | |
}, | |
{ | |
"oneOf": [ | |
{ | |
"$ref": "#/refs/signal", | |
"required": [ | |
"signal" | |
] | |
}, | |
{ | |
"properties": { | |
"value": { | |
"type": {} | |
} | |
}, | |
"required": [ | |
"value" | |
] | |
}, | |
{ | |
"properties": { | |
"field": { | |
"$ref": "#/refs/field" | |
} | |
}, | |
"required": [ | |
"field" | |
] | |
}, | |
{ | |
"properties": { | |
"band": { | |
"type": "boolean" | |
} | |
}, | |
"required": [ | |
"band" | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"numberValue": { | |
"oneOf": [ | |
{ | |
"type": "object", | |
"properties": { | |
"rule": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"type": "object", | |
"properties": { | |
"predicate": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"name": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"name" | |
] | |
} | |
] | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"allOf": [ | |
{ | |
"$ref": "#/refs/numberModifiers" | |
}, | |
{ | |
"oneOf": [ | |
{ | |
"$ref": "#/refs/signal", | |
"required": [ | |
"signal" | |
] | |
}, | |
{ | |
"properties": { | |
"value": { | |
"type": "number" | |
} | |
}, | |
"required": [ | |
"value" | |
] | |
}, | |
{ | |
"properties": { | |
"field": { | |
"$ref": "#/refs/field" | |
} | |
}, | |
"required": [ | |
"field" | |
] | |
}, | |
{ | |
"properties": { | |
"band": { | |
"type": "boolean" | |
} | |
}, | |
"required": [ | |
"band" | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
} | |
}, | |
"additionalProperties": false, | |
"required": [ | |
"rule" | |
] | |
}, | |
{ | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"type": "object", | |
"properties": { | |
"predicate": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"name": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"name" | |
] | |
} | |
] | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"allOf": [ | |
{ | |
"$ref": "#/refs/numberModifiers" | |
}, | |
{ | |
"oneOf": [ | |
{ | |
"$ref": "#/refs/signal", | |
"required": [ | |
"signal" | |
] | |
}, | |
{ | |
"properties": { | |
"value": { | |
"type": "number" | |
} | |
}, | |
"required": [ | |
"value" | |
] | |
}, | |
{ | |
"properties": { | |
"field": { | |
"$ref": "#/refs/field" | |
} | |
}, | |
"required": [ | |
"field" | |
] | |
}, | |
{ | |
"properties": { | |
"band": { | |
"type": "boolean" | |
} | |
}, | |
"required": [ | |
"band" | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
}, | |
{ | |
"type": "object", | |
"allOf": [ | |
{ | |
"$ref": "#/refs/numberModifiers" | |
}, | |
{ | |
"oneOf": [ | |
{ | |
"$ref": "#/refs/signal", | |
"required": [ | |
"signal" | |
] | |
}, | |
{ | |
"properties": { | |
"value": { | |
"type": "number" | |
} | |
}, | |
"required": [ | |
"value" | |
] | |
}, | |
{ | |
"properties": { | |
"field": { | |
"$ref": "#/refs/field" | |
} | |
}, | |
"required": [ | |
"field" | |
] | |
}, | |
{ | |
"properties": { | |
"band": { | |
"type": "boolean" | |
} | |
}, | |
"required": [ | |
"band" | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"stringValue": { | |
"oneOf": [ | |
{ | |
"type": "object", | |
"properties": { | |
"rule": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"type": "object", | |
"properties": { | |
"predicate": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"name": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"name" | |
] | |
} | |
] | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"allOf": [ | |
{ | |
"$ref": "#/refs/stringModifiers" | |
}, | |
{ | |
"oneOf": [ | |
{ | |
"$ref": "#/refs/signal", | |
"required": [ | |
"signal" | |
] | |
}, | |
{ | |
"properties": { | |
"value": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"value" | |
] | |
}, | |
{ | |
"properties": { | |
"field": { | |
"$ref": "#/refs/field" | |
} | |
}, | |
"required": [ | |
"field" | |
] | |
}, | |
{ | |
"properties": { | |
"band": { | |
"type": "boolean" | |
} | |
}, | |
"required": [ | |
"band" | |
] | |
}, | |
{ | |
"properties": { | |
"template": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"template" | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
} | |
}, | |
"additionalProperties": false, | |
"required": [ | |
"rule" | |
] | |
}, | |
{ | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"type": "object", | |
"properties": { | |
"predicate": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"name": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"name" | |
] | |
} | |
] | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"allOf": [ | |
{ | |
"$ref": "#/refs/stringModifiers" | |
}, | |
{ | |
"oneOf": [ | |
{ | |
"$ref": "#/refs/signal", | |
"required": [ | |
"signal" | |
] | |
}, | |
{ | |
"properties": { | |
"value": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"value" | |
] | |
}, | |
{ | |
"properties": { | |
"field": { | |
"$ref": "#/refs/field" | |
} | |
}, | |
"required": [ | |
"field" | |
] | |
}, | |
{ | |
"properties": { | |
"band": { | |
"type": "boolean" | |
} | |
}, | |
"required": [ | |
"band" | |
] | |
}, | |
{ | |
"properties": { | |
"template": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"template" | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
}, | |
{ | |
"type": "object", | |
"allOf": [ | |
{ | |
"$ref": "#/refs/stringModifiers" | |
}, | |
{ | |
"oneOf": [ | |
{ | |
"$ref": "#/refs/signal", | |
"required": [ | |
"signal" | |
] | |
}, | |
{ | |
"properties": { | |
"value": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"value" | |
] | |
}, | |
{ | |
"properties": { | |
"field": { | |
"$ref": "#/refs/field" | |
} | |
}, | |
"required": [ | |
"field" | |
] | |
}, | |
{ | |
"properties": { | |
"band": { | |
"type": "boolean" | |
} | |
}, | |
"required": [ | |
"band" | |
] | |
}, | |
{ | |
"properties": { | |
"template": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"template" | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"booleanValue": { | |
"oneOf": [ | |
{ | |
"type": "object", | |
"properties": { | |
"rule": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"type": "object", | |
"properties": { | |
"predicate": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"name": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"name" | |
] | |
} | |
] | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"allOf": [ | |
{ | |
"$ref": "#/refs/stringModifiers" | |
}, | |
{ | |
"oneOf": [ | |
{ | |
"$ref": "#/refs/signal", | |
"required": [ | |
"signal" | |
] | |
}, | |
{ | |
"properties": { | |
"value": { | |
"type": "boolean" | |
} | |
}, | |
"required": [ | |
"value" | |
] | |
}, | |
{ | |
"properties": { | |
"field": { | |
"$ref": "#/refs/field" | |
} | |
}, | |
"required": [ | |
"field" | |
] | |
}, | |
{ | |
"properties": { | |
"band": { | |
"type": "boolean" | |
} | |
}, | |
"required": [ | |
"band" | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
} | |
}, | |
"additionalProperties": false, | |
"required": [ | |
"rule" | |
] | |
}, | |
{ | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"type": "object", | |
"properties": { | |
"predicate": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"name": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"name" | |
] | |
} | |
] | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"allOf": [ | |
{ | |
"$ref": "#/refs/stringModifiers" | |
}, | |
{ | |
"oneOf": [ | |
{ | |
"$ref": "#/refs/signal", | |
"required": [ | |
"signal" | |
] | |
}, | |
{ | |
"properties": { | |
"value": { | |
"type": "boolean" | |
} | |
}, | |
"required": [ | |
"value" | |
] | |
}, | |
{ | |
"properties": { | |
"field": { | |
"$ref": "#/refs/field" | |
} | |
}, | |
"required": [ | |
"field" | |
] | |
}, | |
{ | |
"properties": { | |
"band": { | |
"type": "boolean" | |
} | |
}, | |
"required": [ | |
"band" | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
}, | |
{ | |
"type": "object", | |
"allOf": [ | |
{ | |
"$ref": "#/refs/stringModifiers" | |
}, | |
{ | |
"oneOf": [ | |
{ | |
"$ref": "#/refs/signal", | |
"required": [ | |
"signal" | |
] | |
}, | |
{ | |
"properties": { | |
"value": { | |
"type": "boolean" | |
} | |
}, | |
"required": [ | |
"value" | |
] | |
}, | |
{ | |
"properties": { | |
"field": { | |
"$ref": "#/refs/field" | |
} | |
}, | |
"required": [ | |
"field" | |
] | |
}, | |
{ | |
"properties": { | |
"band": { | |
"type": "boolean" | |
} | |
}, | |
"required": [ | |
"band" | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"arrayValue": { | |
"oneOf": [ | |
{ | |
"type": "object", | |
"properties": { | |
"rule": { | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"type": "object", | |
"properties": { | |
"predicate": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"name": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"name" | |
] | |
} | |
] | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"allOf": [ | |
{ | |
"$ref": "#/refs/stringModifiers" | |
}, | |
{ | |
"oneOf": [ | |
{ | |
"$ref": "#/refs/signal", | |
"required": [ | |
"signal" | |
] | |
}, | |
{ | |
"properties": { | |
"value": { | |
"type": "array" | |
} | |
}, | |
"required": [ | |
"value" | |
] | |
}, | |
{ | |
"properties": { | |
"field": { | |
"$ref": "#/refs/field" | |
} | |
}, | |
"required": [ | |
"field" | |
] | |
}, | |
{ | |
"properties": { | |
"band": { | |
"type": "boolean" | |
} | |
}, | |
"required": [ | |
"band" | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
} | |
}, | |
"additionalProperties": false, | |
"required": [ | |
"rule" | |
] | |
}, | |
{ | |
"type": "array", | |
"items": { | |
"allOf": [ | |
{ | |
"type": "object", | |
"properties": { | |
"predicate": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"name": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"name" | |
] | |
} | |
] | |
} | |
} | |
}, | |
{ | |
"type": "object", | |
"allOf": [ | |
{ | |
"$ref": "#/refs/stringModifiers" | |
}, | |
{ | |
"oneOf": [ | |
{ | |
"$ref": "#/refs/signal", | |
"required": [ | |
"signal" | |
] | |
}, | |
{ | |
"properties": { | |
"value": { | |
"type": "array" | |
} | |
}, | |
"required": [ | |
"value" | |
] | |
}, | |
{ | |
"properties": { | |
"field": { | |
"$ref": "#/refs/field" | |
} | |
}, | |
"required": [ | |
"field" | |
] | |
}, | |
{ | |
"properties": { | |
"band": { | |
"type": "boolean" | |
} | |
}, | |
"required": [ | |
"band" | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
}, | |
{ | |
"type": "object", | |
"allOf": [ | |
{ | |
"$ref": "#/refs/stringModifiers" | |
}, | |
{ | |
"oneOf": [ | |
{ | |
"$ref": "#/refs/signal", | |
"required": [ | |
"signal" | |
] | |
}, | |
{ | |
"properties": { | |
"value": { | |
"type": "array" | |
} | |
}, | |
"required": [ | |
"value" | |
] | |
}, | |
{ | |
"properties": { | |
"field": { | |
"$ref": "#/refs/field" | |
} | |
}, | |
"required": [ | |
"field" | |
] | |
}, | |
{ | |
"properties": { | |
"band": { | |
"type": "boolean" | |
} | |
}, | |
"required": [ | |
"band" | |
] | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"colorValue": { | |
"title": "ColorRef", | |
"oneOf": [ | |
{ | |
"$ref": "#/refs/stringValue" | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"r": { | |
"$ref": "#/refs/numberValue" | |
}, | |
"g": { | |
"$ref": "#/refs/numberValue" | |
}, | |
"b": { | |
"$ref": "#/refs/numberValue" | |
} | |
}, | |
"required": [ | |
"r", | |
"g", | |
"b" | |
] | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"h": { | |
"$ref": "#/refs/numberValue" | |
}, | |
"s": { | |
"$ref": "#/refs/numberValue" | |
}, | |
"l": { | |
"$ref": "#/refs/numberValue" | |
} | |
}, | |
"required": [ | |
"h", | |
"s", | |
"l" | |
] | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"l": { | |
"$ref": "#/refs/numberValue" | |
}, | |
"a": { | |
"$ref": "#/refs/numberValue" | |
}, | |
"b": { | |
"$ref": "#/refs/numberValue" | |
} | |
}, | |
"required": [ | |
"l", | |
"a", | |
"b" | |
] | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"h": { | |
"$ref": "#/refs/numberValue" | |
}, | |
"c": { | |
"$ref": "#/refs/numberValue" | |
}, | |
"l": { | |
"$ref": "#/refs/numberValue" | |
} | |
}, | |
"required": [ | |
"h", | |
"c", | |
"l" | |
] | |
} | |
] | |
}, | |
"signal": { | |
"title": "SignalRef", | |
"type": "object", | |
"properties": { | |
"signal": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"signal" | |
] | |
}, | |
"scopedScale": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"name": { | |
"oneOf": [ | |
{ | |
"$ref": "#/refs/signal" | |
}, | |
{ | |
"type": "string" | |
} | |
] | |
}, | |
"scope": { | |
"oneOf": [ | |
{ | |
"$ref": "#/refs/signal" | |
}, | |
{ | |
"type": "string" | |
} | |
] | |
}, | |
"invert": { | |
"type": "boolean", | |
"default": false | |
} | |
}, | |
"additionalProperties": false, | |
"required": [ | |
"name" | |
] | |
} | |
] | |
}, | |
"data": { | |
"type": "object", | |
"properties": { | |
"data": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"fields": { | |
"type": "array", | |
"items": { | |
"$ref": "#/refs/data" | |
} | |
} | |
}, | |
"required": [ | |
"fields" | |
] | |
} | |
] | |
}, | |
"field": { | |
"oneOf": [ | |
{ | |
"type": "string" | |
}, | |
{ | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"parent": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"parent" | |
] | |
}, | |
{ | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"parent": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"parent" | |
] | |
} | |
} | |
] | |
}, | |
"sort": { | |
"oneOf": [ | |
{ | |
"type": "boolean" | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"field": { | |
"type": "string" | |
}, | |
"op": { | |
"enum": [ | |
"values", | |
"count", | |
"valid", | |
"missing", | |
"distinct", | |
"sum", | |
"mean", | |
"average", | |
"variance", | |
"variancep", | |
"stdev", | |
"stdevp", | |
"median", | |
"q1", | |
"q3", | |
"modeskew", | |
"min", | |
"max", | |
"argmin", | |
"argmax" | |
] | |
} | |
} | |
} | |
] | |
} | |
}, | |
"additionalProperties": false | |
} | |
}, | |
"$ref": "#/defs/spec" | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment