From 1ae37ed2d1cba03ff14ce85e477446125f9b6ab8 Mon Sep 17 00:00:00 2001 From: Guillaume Binet Date: Mon, 20 May 2024 08:15:25 -0400 Subject: [PATCH] WIP for the derive part, types generated. --- copper/src/config.rs | 25 ++++++++++++++--- copper_derive/src/lib.rs | 43 +++++++++++++++++++++++++---- copper_derive_test/Cargo.toml | 2 ++ copper_derive_test/copperconfig.ron | 23 +++++++-------- 4 files changed, 70 insertions(+), 23 deletions(-) diff --git a/copper/src/config.rs b/copper/src/config.rs index 03620d0c5..6b091f36e 100644 --- a/copper/src/config.rs +++ b/copper/src/config.rs @@ -1,11 +1,14 @@ use std::collections::HashMap; +use std::iter::Map; +use std::path::Iter; use petgraph::dot::Config as PetConfig; use petgraph::dot::Dot; -use petgraph::stable_graph::StableDiGraph; +use petgraph::graph::NodeIndex; +use petgraph::stable_graph::{NodeIndices, StableDiGraph}; use ron::extensions::Extensions; -use ron::Options; use ron::value::Value as RonValue; +use ron::Options; use serde::{Deserialize, Serialize}; use uom::si::rational::Time; use uom::si::time::nanosecond; @@ -98,6 +101,10 @@ impl ConfigNode { self } + pub fn get_type_name(&self) -> &str { + self.type_name.as_ref().unwrap() + } + #[allow(dead_code)] pub fn base_period(&self) -> Option