worldinterface_core/flowspec/
transform.rs1use serde::{Deserialize, Serialize};
4use serde_json::Value;
5
6#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
9pub struct TransformNode {
10 pub transform: TransformType,
12 #[serde(default = "default_input")]
14 pub input: Value,
15}
16
17fn default_input() -> Value {
18 Value::Object(serde_json::Map::new())
19}
20
21#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
23#[serde(rename_all = "snake_case")]
24pub enum TransformType {
25 Identity,
27 FieldMapping(FieldMappingSpec),
29}
30
31#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
33pub struct FieldMappingSpec {
34 pub mappings: Vec<FieldMapping>,
35}
36
37#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
39pub struct FieldMapping {
40 pub from: String,
42 pub to: String,
44}