1use serde::{Deserialize, Serialize};
2use std::collections::HashMap;
3
4#[derive(Debug, Serialize, Deserialize, Default)]
5#[serde(rename_all = "camelCase")]
6pub struct Glue {
7 pub name: String,
8 pub version: String,
9 pub repository: String,
10 pub doc: String,
11 pub type_defs: HashMap<String, TsType>,
12}
13
14#[derive(Debug, Clone, Serialize, Deserialize)]
15pub struct TsType {
16 pub doc: String,
17 pub name: String,
18 pub typescript: String,
19 pub mashin_ty: InternalMashinType,
20 pub is_enum: bool,
21}
22
23#[derive(Debug, Clone, Serialize, Deserialize)]
24pub enum InternalMashinType {
25 ProviderConfig,
26 ResourceConfig,
27 Resource(String),
28 Extra,
29}