Fix custom deserializer for NonCodeMeta
This commit is contained in:
		@ -811,18 +811,16 @@ impl<'de> Deserialize<'de> for NonCodeMeta {
 | 
			
		||||
        #[derive(Deserialize)]
 | 
			
		||||
        #[serde(rename_all = "camelCase")]
 | 
			
		||||
        struct NonCodeMetaHelper {
 | 
			
		||||
            non_code_nodes: HashMap<String, NonCodeNode>,
 | 
			
		||||
            non_code_nodes: HashMap<String, Vec<NonCodeNode>>,
 | 
			
		||||
            start: Option<NonCodeNode>,
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        let helper = NonCodeMetaHelper::deserialize(deserializer)?;
 | 
			
		||||
        let mut non_code_nodes = HashMap::new();
 | 
			
		||||
        for (key, value) in helper.non_code_nodes {
 | 
			
		||||
            non_code_nodes
 | 
			
		||||
                .entry(key.parse().map_err(serde::de::Error::custom)?)
 | 
			
		||||
                .or_insert(Vec::new())
 | 
			
		||||
                .push(value);
 | 
			
		||||
        }
 | 
			
		||||
        let non_code_nodes = helper
 | 
			
		||||
            .non_code_nodes
 | 
			
		||||
            .into_iter()
 | 
			
		||||
            .map(|(key, value)| Ok((key.parse().map_err(serde::de::Error::custom)?, value)))
 | 
			
		||||
            .collect::<Result<HashMap<_, _>, _>>()?;
 | 
			
		||||
        Ok(NonCodeMeta {
 | 
			
		||||
            non_code_nodes,
 | 
			
		||||
            start: helper.start,
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user