* 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
|
|
}
|