git.delta.rocks / jrsonnet / refs/commits / bf006f520f66

difftreelog

source

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