extension: Option<VisualizationExtension>,
user_source: UserSource,
- /*#[serde(rename = "$value")]
- variables: Vec<Variable>,*/
+ #[serde(rename = "$value")]
+ variables: Vec<Variable>,
categorical_domain: Option<CategoricalDomain>,
graph: Graph,
#[serde(default, rename = "labelFrame")]
/// An expression that defines the variable's value.
#[serde(rename = "@value")]
value: String,
+ #[serde(default, rename = "extension")]
+ extensions: Vec<VariableExtension>,
format: Option<Format>,
string_format: Option<StringFormat>,
#[serde(default, rename = "valueMapEntry")]
#[derive(Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
struct UserSource {
+ #[serde(rename = "@id")]
+ id: String,
+
#[serde(rename = "@missing")]
missing: Option<Missing>,
}
try_strings_as_numbers: Option<bool>,
#[serde(rename = "@negativesOutside")]
negatives_outside: Option<bool>,
+ #[serde(default)]
relabel: Vec<Relabel>,
#[serde(default, rename = "affix")]
affixes: Vec<Affix>,
#[derive(Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
struct Style {
+ #[serde(rename = "@id")]
+ id: Option<String>,
+
/// The text color or, in some cases, background color.
#[serde(rename = "@color")]
color: Option<Color>,
#[derive(Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
struct Faceting {
+ #[serde(rename = "@id")]
+ id: Option<String>,
+
#[serde(default)]
layers1: Vec<Layer>,
cross: Cross,
/// No dimensions along this axis.
Unity,
/// Dimensions along this axis.
- Nest, /*(
- /// From innermost to outermost.
- Vec<VariableReference>,
- )*/
+ Nest(Nest),
+}
+
+#[derive(Deserialize, Debug)]
+#[serde(rename_all = "camelCase")]
+struct Nest {
+ #[serde(rename = "variableReference")]
+ variable_references: Vec<VariableReference>,
}
#[derive(Deserialize, Debug)]
struct FacetLayout {
table_layout: TableLayout,
#[serde(default)]
+ #[serde(rename = "setCellProperties")]
scp1: Vec<SetCellProperties>,
#[serde(rename = "facetLevel")]
facet_levels: Vec<FacetLevel>,
- #[serde(default)]
- #[serde(rename = "setCellProperties")]
- scp2: Vec<SetCellProperties>,
}
#[derive(Deserialize, Debug)]
#[derive(Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
struct SetCellProperties {
+ #[serde(rename = "@id")]
+ id: Option<String>,
+
#[serde(rename = "@applyToConverse")]
apply_to_converse: Option<bool>,
#[derive(Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
struct Interval {
+ #[serde(rename = "@id")]
+ id: Option<String>,
+
#[serde(rename = "@style")]
style: Ref<Style>,
#[derive(Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
struct FacetLevel {
+ #[serde(rename = "@id")]
+ id: Option<String>,
+
#[serde(rename = "@level")]
level: usize,
#[derive(Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
struct MajorTicks {
+ #[serde(rename = "@id")]
+ id: String,
+
#[serde(rename = "@labelAngle")]
label_angle: f64,
#[derive(Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
struct LabelFrame {
+ #[serde(rename = "@id")]
+ id: Option<String>,
+
#[serde(rename = "@style")]
style: Ref<Style>,
+
#[serde(rename = "location")]
locations: Vec<Location>,
+
label: Option<Label>,
paragraph: Option<Paragraph>,
}
#[serde(default, rename = "extension")]
extensions: Option<ContainerExtension>,
+ #[serde(default)]
locations: Vec<Location>,
+ #[serde(default)]
label_frames: Vec<LabelFrame>,
}