fkl-parser 0.4.0

Feakin is a architecture design and visual collaboration tool. This is the parser for Feakin.
Documentation
use serde::{Deserialize, Serialize};

use crate::default_config;
use crate::mir::VariableDefinition;
use crate::mir::datasource::Datasource;

#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq, Default)]
pub struct Environment {
  pub name: String,
  pub datasources: Vec<Datasource>,
  pub server: ServerConfig,
  pub customs: Vec<CustomEnv>,
}

#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
pub struct ServerConfig {
  pub port: u16,
}

impl Default for ServerConfig {
  fn default() -> Self {
    ServerConfig { port: default_config::SERVER_PORT }
  }
}

#[derive(Debug, Clone, Serialize, Deserialize, Default, PartialEq, Eq)]
pub struct CustomEnv {
  pub name: String,
  pub attrs: Vec<VariableDefinition>,
}