From 6d6b7020a0adb6d80d70d0e2586022bd56e522ff Mon Sep 17 00:00:00 2001 From: Sergey Onufrienko Date: Fri, 16 Jun 2023 21:38:06 +0200 Subject: [PATCH] feat: export_schema --- crates/theme/src/theme_settings.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/crates/theme/src/theme_settings.rs b/crates/theme/src/theme_settings.rs index b9e6f7a133a42d05d99aec6ab76af395554c160b..859dbe636e988e911521f2a2317baaabe05402ca 100644 --- a/crates/theme/src/theme_settings.rs +++ b/crates/theme/src/theme_settings.rs @@ -183,3 +183,20 @@ fn merge(target: &mut T, value: Option) { *target = value; } } + +#[cfg(test)] +mod tests { + use super::*; + use schemars::schema_for; + + #[test] + fn export_schema() { + let theme_settings_content = schema_for!(ThemeSettingsContent); + let output1 = serde_json::to_string_pretty(&theme_settings_content).unwrap(); + std::fs::write("schemas/theme_settings_content.json", output1); + + let theme_settings = schema_for!(ThemeSettings); + let output2 = serde_json::to_string_pretty(&theme_settings).unwrap(); + std::fs::write("schemas/theme_settings.json", output2); + } +}