bit-twiddler 0.1.0

Cross-platform developer toolbox: bit manipulation, hashing, YAML/JSON/SQL, QR, Markdown, cron, and 40+ more tools — Tauri v2, no Node.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#[tauri::command]
pub fn convert_yaml(input: String, mode: String) -> Result<String, String> {
    match mode.as_str() {
        "yaml-to-json" => {
            let value: serde_yaml::Value =
                serde_yaml::from_str(&input).map_err(|e| e.to_string())?;
            serde_json::to_string_pretty(&value).map_err(|e| e.to_string())
        }
        "json-to-yaml" => {
            let value: serde_json::Value =
                serde_json::from_str(&input).map_err(|e| e.to_string())?;
            let yaml_value: serde_yaml::Value =
                serde_json::from_value(value).map_err(|e| e.to_string())?;
            serde_yaml::to_string(&yaml_value).map_err(|e| e.to_string())
        }
        _ => Err("Invalid mode. Use 'yaml-to-json' or 'json-to-yaml'.".to_string()),
    }
}