fn try_from()

in src/settings/config.rs [143:199]


    fn try_from(value: &OwnedStruct) -> Result<Self, Self::Error> {
        let mut ui = UiConfig::default();

        if let Some(elem) = value.get("auto_commit") {
            ui.auto_commit = elem
                .as_bool()
                .ok_or(usage_error("`ui.auto_commit` should be a bool"))?
        }

        if let Some(elem) = value.get("prompt") {
            ui.prompt = Some(
                elem.as_str()
                    .ok_or(usage_error("`ui.prompt` should be a string"))?
                    .to_string(),
            );
        };

        if let Some(elem) = value.get("format") {
            let format = elem
                .as_str()
                .ok_or(usage_error("`ui.format` should be a string"))?;
            ui.format = FormatMode::from_str(format)?;
        }

        if let Some(elem) = value.get("edit_mode") {
            let edit_mode = elem
                .as_str()
                .ok_or(usage_error("`ui.edit_mode` should be a string"))?;
            ui.edit_mode = EditMode::from_str(edit_mode)?;
        }

        if let Some(elem) = value.get("display_welcome") {
            ui.display_welcome = elem
                .as_bool()
                .ok_or(usage_error("`ui.display_welcome` should be a bool"))?
        }

        if let Some(elem) = value.get("display_ctrl_signals") {
            ui.display_ctrl_signals = elem
                .as_bool()
                .ok_or(usage_error("`ui.display_ctrl_signals` should be a bool"))?
        }

        if let Some(elem) = value.get("display_query_metrics") {
            ui.display_query_metrics = elem
                .as_bool()
                .ok_or(usage_error("`ui.display_query_metrics` should be a bool"))?
        }

        if let Some(elem) = value.get("terminator_required") {
            ui.terminator_required = elem
                .as_bool()
                .ok_or(usage_error("`ui.terminator_required` should be a bool"))?
        }

        Ok(ui)
    }