* wip 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> fixes Signed-off-by: Jess Frazelle <github@jessfraz.com> closer Signed-off-by: Jess Frazelle <github@jessfraz.com> fixes Signed-off-by: Jess Frazelle <github@jessfraz.com> * fixes Signed-off-by: Jess Frazelle <github@jessfraz.com> * closer Signed-off-by: Jess Frazelle <github@jessfraz.com> * closer Signed-off-by: Jess Frazelle <github@jessfraz.com> * compiles Signed-off-by: Jess Frazelle <github@jessfraz.com> * connection Signed-off-by: Jess Frazelle <github@jessfraz.com> * fixes Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix wasm Signed-off-by: Jess Frazelle <github@jessfraz.com> * timeout Signed-off-by: Jess Frazelle <github@jessfraz.com> * remove the drop Signed-off-by: Jess Frazelle <github@jessfraz.com> * drop handle Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * fixes Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix Signed-off-by: Jess Frazelle <github@jessfraz.com> * fixes Signed-off-by: Jess Frazelle <github@jessfraz.com> --------- Signed-off-by: Jess Frazelle <github@jessfraz.com>
		
			
				
	
	
		
			90 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			90 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
#[allow(non_camel_case_types, missing_docs)]
 | 
						|
#[doc = "Std lib function: min"]
 | 
						|
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, schemars :: JsonSchema, ts_rs :: TS)]
 | 
						|
#[ts(export)]
 | 
						|
pub(crate) struct Min {}
 | 
						|
 | 
						|
#[allow(non_upper_case_globals, missing_docs)]
 | 
						|
#[doc = "Std lib function: min"]
 | 
						|
pub(crate) const Min: Min = Min {};
 | 
						|
fn boxed_min(
 | 
						|
    args: crate::std::Args,
 | 
						|
) -> std::pin::Pin<
 | 
						|
    Box<
 | 
						|
        dyn std::future::Future<
 | 
						|
            Output = anyhow::Result<crate::executor::MemoryItem, crate::errors::KclError>,
 | 
						|
        >,
 | 
						|
    >,
 | 
						|
> {
 | 
						|
    Box::pin(min(args))
 | 
						|
}
 | 
						|
 | 
						|
impl crate::docs::StdLibFn for Min {
 | 
						|
    fn name(&self) -> String {
 | 
						|
        "min".to_string()
 | 
						|
    }
 | 
						|
 | 
						|
    fn summary(&self) -> String {
 | 
						|
        "".to_string()
 | 
						|
    }
 | 
						|
 | 
						|
    fn description(&self) -> String {
 | 
						|
        "".to_string()
 | 
						|
    }
 | 
						|
 | 
						|
    fn tags(&self) -> Vec<String> {
 | 
						|
        vec![]
 | 
						|
    }
 | 
						|
 | 
						|
    fn args(&self) -> Vec<crate::docs::StdLibFnArg> {
 | 
						|
        let mut settings = schemars::gen::SchemaSettings::openapi3();
 | 
						|
        settings.inline_subschemas = true;
 | 
						|
        let mut generator = schemars::gen::SchemaGenerator::new(settings);
 | 
						|
        vec![crate::docs::StdLibFnArg {
 | 
						|
            name: "args".to_string(),
 | 
						|
            type_: "[number]".to_string(),
 | 
						|
            schema: <Vec<f64>>::json_schema(&mut generator),
 | 
						|
            required: true,
 | 
						|
        }]
 | 
						|
    }
 | 
						|
 | 
						|
    fn return_value(&self) -> Option<crate::docs::StdLibFnArg> {
 | 
						|
        let mut settings = schemars::gen::SchemaSettings::openapi3();
 | 
						|
        settings.inline_subschemas = true;
 | 
						|
        let mut generator = schemars::gen::SchemaGenerator::new(settings);
 | 
						|
        Some(crate::docs::StdLibFnArg {
 | 
						|
            name: "".to_string(),
 | 
						|
            type_: "number".to_string(),
 | 
						|
            schema: f64::json_schema(&mut generator),
 | 
						|
            required: true,
 | 
						|
        })
 | 
						|
    }
 | 
						|
 | 
						|
    fn unpublished(&self) -> bool {
 | 
						|
        false
 | 
						|
    }
 | 
						|
 | 
						|
    fn deprecated(&self) -> bool {
 | 
						|
        false
 | 
						|
    }
 | 
						|
 | 
						|
    fn std_lib_fn(&self) -> crate::std::StdFn {
 | 
						|
        boxed_min
 | 
						|
    }
 | 
						|
 | 
						|
    fn clone_box(&self) -> Box<dyn crate::docs::StdLibFn> {
 | 
						|
        Box::new(self.clone())
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
fn inner_min(#[doc = r" The args to do shit to."] args: Vec<f64>) -> f64 {
 | 
						|
    let mut min = std::f64::MAX;
 | 
						|
    for arg in args.iter() {
 | 
						|
        if *arg < min {
 | 
						|
            min = *arg;
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    min
 | 
						|
}
 |