Import files (#1393)
* initial shit Signed-off-by: Jess Frazelle <github@jessfraz.com> * make file system work locally or with tauri Signed-off-by: Jess Frazelle <github@jessfraz.com> * fixxes Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix docs Signed-off-by: Jess Frazelle <github@jessfraz.com> * fixes Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix docs Signed-off-by: Jess Frazelle <github@jessfraz.com> * tests Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates; Signed-off-by: Jess Frazelle <github@jessfraz.com> * add tests Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * add more tests Signed-off-by: Jess Frazelle <github@jessfraz.com> * better errrors Signed-off-by: Jess Frazelle <github@jessfraz.com> * A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu) * better docs Signed-off-by: Jess Frazelle <github@jessfraz.com> * better docs Signed-off-by: Jess Frazelle <github@jessfraz.com> * cleanup Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix Signed-off-by: Jess Frazelle <github@jessfraz.com> * better errors Signed-off-by: Jess Frazelle <github@jessfraz.com> * make no assign work Signed-off-by: Jess Frazelle <github@jessfraz.com> * cleanup Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * closer Signed-off-by: Jess Frazelle <github@jessfraz.com> * cleanup Signed-off-by: Jess Frazelle <github@jessfraz.com> * more additions to passing around fs Signed-off-by: Jess Frazelle <github@jessfraz.com> * make work Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> --------- Signed-off-by: Jess Frazelle <github@jessfraz.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
This commit is contained in:
		@ -284,6 +284,25 @@ pub fn get_description_string_from_schema(schema: &schemars::schema::Schema) ->
 | 
			
		||||
pub fn get_type_string_from_schema(schema: &schemars::schema::Schema) -> Result<(String, bool)> {
 | 
			
		||||
    match schema {
 | 
			
		||||
        schemars::schema::Schema::Object(o) => {
 | 
			
		||||
            if let Some(enum_values) = &o.enum_values {
 | 
			
		||||
                let mut parsed_enum_values: Vec<String> = Default::default();
 | 
			
		||||
                let mut had_enum_string = false;
 | 
			
		||||
                for enum_value in enum_values {
 | 
			
		||||
                    if let serde_json::value::Value::String(enum_value) = enum_value {
 | 
			
		||||
                        had_enum_string = true;
 | 
			
		||||
                        parsed_enum_values.push(format!("\"{}\"", enum_value));
 | 
			
		||||
                    } else {
 | 
			
		||||
                        had_enum_string = false;
 | 
			
		||||
                        break;
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                if had_enum_string {
 | 
			
		||||
                    return Ok((parsed_enum_values.join(" | "), false));
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            // Check if there
 | 
			
		||||
            if let Some(format) = &o.format {
 | 
			
		||||
                if format == "uuid" {
 | 
			
		||||
                    return Ok((Primitive::Uuid.to_string(), false));
 | 
			
		||||
@ -336,13 +355,44 @@ pub fn get_type_string_from_schema(schema: &schemars::schema::Schema) -> Result<
 | 
			
		||||
            if let Some(subschemas) = &o.subschemas {
 | 
			
		||||
                let mut fn_docs = String::new();
 | 
			
		||||
                if let Some(items) = &subschemas.one_of {
 | 
			
		||||
                    for (i, item) in items.iter().enumerate() {
 | 
			
		||||
                        // Let's print out the object's properties.
 | 
			
		||||
                        fn_docs.push_str(&get_type_string_from_schema(item)?.0.to_string());
 | 
			
		||||
                        if i < items.len() - 1 {
 | 
			
		||||
                            fn_docs.push_str(" |\n");
 | 
			
		||||
                    let mut had_enum_string = false;
 | 
			
		||||
                    let mut parsed_enum_values: Vec<String> = Vec::new();
 | 
			
		||||
                    for item in items {
 | 
			
		||||
                        if let schemars::schema::Schema::Object(o) = item {
 | 
			
		||||
                            if let Some(enum_values) = &o.enum_values {
 | 
			
		||||
                                for enum_value in enum_values {
 | 
			
		||||
                                    if let serde_json::value::Value::String(enum_value) = enum_value {
 | 
			
		||||
                                        had_enum_string = true;
 | 
			
		||||
                                        parsed_enum_values.push(format!("\"{}\"", enum_value));
 | 
			
		||||
                                    } else {
 | 
			
		||||
                                        had_enum_string = false;
 | 
			
		||||
                                        break;
 | 
			
		||||
                                    }
 | 
			
		||||
                                }
 | 
			
		||||
                                if !had_enum_string {
 | 
			
		||||
                                    break;
 | 
			
		||||
                                }
 | 
			
		||||
                            } else {
 | 
			
		||||
                                had_enum_string = false;
 | 
			
		||||
                                break;
 | 
			
		||||
                            }
 | 
			
		||||
                        } else {
 | 
			
		||||
                            had_enum_string = false;
 | 
			
		||||
                            break;
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
 | 
			
		||||
                    if !had_enum_string {
 | 
			
		||||
                        for (i, item) in items.iter().enumerate() {
 | 
			
		||||
                            // Let's print out the object's properties.
 | 
			
		||||
                            fn_docs.push_str(&get_type_string_from_schema(item)?.0.to_string());
 | 
			
		||||
                            if i < items.len() - 1 {
 | 
			
		||||
                                fn_docs.push_str(" |\n");
 | 
			
		||||
                            }
 | 
			
		||||
                        }
 | 
			
		||||
                    } else {
 | 
			
		||||
                        fn_docs.push_str(&parsed_enum_values.join(" | "));
 | 
			
		||||
                    }
 | 
			
		||||
                } else if let Some(items) = &subschemas.any_of {
 | 
			
		||||
                    for (i, item) in items.iter().enumerate() {
 | 
			
		||||
                        // Let's print out the object's properties.
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user