difftreelog
feat std.any, std.all
in: master
2 files changed
crates/jrsonnet-evaluator/src/builtin/mod.rsdiffbeforeafterboth135 ("asciiLower".into(), builtin_ascii_lower::INST),135 ("asciiLower".into(), builtin_ascii_lower::INST),136 ("member".into(), builtin_member::INST),136 ("member".into(), builtin_member::INST),137 ("count".into(), builtin_count::INST),137 ("count".into(), builtin_count::INST),138 ("any".into(), builtin_any::INST),139 ("all".into(), builtin_all::INST),138 ].iter().cloned().collect()140 ].iter().cloned().collect()139 };141 };140}142}669 Ok(count)671 Ok(count)670}672}673674#[jrsonnet_macros::builtin]675fn builtin_any(arr: ArrValue) -> Result<bool> {676 for v in arr.iter() {677 let v: bool = v?.try_into()?;678 if v {679 return Ok(true);680 }681 }682 Ok(false)683}684685#[jrsonnet_macros::builtin]686fn builtin_all(arr: ArrValue) -> Result<bool> {687 for v in arr.iter() {688 let v: bool = v?.try_into()?;689 if !v {690 return Ok(false);691 }692 }693 Ok(true)694}671695crates/jrsonnet-stdlib/src/std.jsonnetdiffbeforeafterboth--- a/crates/jrsonnet-stdlib/src/std.jsonnet
+++ b/crates/jrsonnet-stdlib/src/std.jsonnet
@@ -40,6 +40,9 @@
mantissa:: $intrinsic(mantissa),
exponent:: $intrinsic(exponent),
+ any:: $intrinsic(any),
+ all:: $intrinsic(all),
+
isString(v):: std.type(v) == 'string',
isNumber(v):: std.type(v) == 'number',
isBoolean(v):: std.type(v) == 'boolean',