diff --git a/server/src/modules/meta.rs b/server/src/modules/meta.rs index 30e65fe..de0070d 100644 --- a/server/src/modules/meta.rs +++ b/server/src/modules/meta.rs @@ -5,6 +5,7 @@ mod dummy; mod text; mod number; mod bool; +mod connection; pub fn registry() -> HashMap<&'static str, ModuleItem> { let mut map = HashMap::new(); @@ -23,5 +24,8 @@ pub fn registry() -> HashMap<&'static str, ModuleItem> { // meta/bool map.insert("meta/bool", ModuleItem::Template(bool::TEMPLATE)); map.insert("meta/bool:func:validator", ModuleItem::Validator(bool::validate)); + + // meta/connection + map.insert("meta/connection", ModuleItem::Template(connection::TEMPLATE)); map } diff --git a/server/src/modules/meta/connection.rs b/server/src/modules/meta/connection.rs new file mode 100644 index 0000000..e7119e0 --- /dev/null +++ b/server/src/modules/meta/connection.rs @@ -0,0 +1,41 @@ +pub const TEMPLATE: &str = r#" +[input.variant] +transforms = ["meta/text:value"] +subobjects = [] +conditions = [ + ["input.variant", "function"] + ["input.variant", "transform"] + ["input.variant", "subobject"] + ["input.variant", "custom"] +] +duplicates = false + +[input.from] +transforms = ["meta/text:value"] +subobjects = [] +conditions = [] +duplicates = true + +[input.to] +transforms = ["meta/text:value"] +subobjects = [] +conditions = [] +duplicates = true + +[input.property] +transforms = ["meta/text:value"] +subobjects = [] +conditions = [ + ["input.variant", "transform"] + ["input.variant", "subobject"] +] +duplicates = false + +[input.value] +transforms = ["meta/text:value"] +subobjects = [] +conditions = [ + ["input.variant", "custom"] +] +duplicates = false +"#;