git.delta.rocks / jrsonnet / refs/commits / 2afd5ff0dd7a

difftreelog

source

crates/jrsonnet-stdlib/src/objects.rs770 Bsourcehistory
1use jrsonnet_evaluator::{2	error::Result,3	function::builtin,4	typed::VecVal,5	val::{StrValue, Val},6	IStr, ObjValue,7};8use jrsonnet_gcmodule::Cc;910#[builtin]11pub fn builtin_object_fields_ex(12	obj: ObjValue,13	inc_hidden: bool,14	#[cfg(feature = "exp-preserve-order")] preserve_order: Option<bool>,15) -> Result<VecVal> {16	#[cfg(feature = "exp-preserve-order")]17	let preserve_order = preserve_order.unwrap_or(false);18	let out = obj.fields_ex(19		inc_hidden,20		#[cfg(feature = "exp-preserve-order")]21		preserve_order,22	);23	Ok(VecVal(Cc::new(24		out.into_iter()25			.map(StrValue::Flat)26			.map(Val::Str)27			.collect::<Vec<_>>(),28	)))29}3031#[builtin]32pub fn builtin_object_has_ex(obj: ObjValue, f: IStr, inc_hidden: bool) -> Result<bool> {33	Ok(obj.has_field_ex(f, inc_hidden))34}