git.delta.rocks / jrsonnet / refs/commits / 4ab075dbe65c

difftreelog

fix std function argument names

Yaroslav Bolyukin2023-08-10parent: #cfa49ab.patch.diff
in: master

6 files changed

modifiedcrates/jrsonnet-stdlib/src/arrays.rsdiffbeforeafterboth
--- a/crates/jrsonnet-stdlib/src/arrays.rs
+++ b/crates/jrsonnet-stdlib/src/arrays.rs
@@ -255,9 +255,9 @@
 }
 
 #[builtin]
-pub fn builtin_remove_at(arr: ArrValue, index: usize) -> Result<ArrValue> {
-	let newArrLeft = arr.clone().slice(None, Some(index), None);
-	let newArrRight = arr.slice(Some(index + 1), None, None);
+pub fn builtin_remove_at(arr: ArrValue, at: usize) -> Result<ArrValue> {
+	let newArrLeft = arr.clone().slice(None, Some(at), None);
+	let newArrRight = arr.slice(Some(at + 1), None, None);
 
 	Ok(ArrValue::extended(
 		newArrLeft.unwrap_or(ArrValue::empty()),
modifiedcrates/jrsonnet-stdlib/src/hash.rsdiffbeforeafterboth
--- a/crates/jrsonnet-stdlib/src/hash.rs
+++ b/crates/jrsonnet-stdlib/src/hash.rs
@@ -6,25 +6,25 @@
 }
 
 #[builtin]
-pub fn builtin_sha256(s: IStr) -> String {
+pub fn builtin_sha256(str: IStr) -> String {
 	use sha2::digest::Digest;
-	format!("{:x}", sha2::Sha256::digest(s.as_bytes()))
+	format!("{:x}", sha2::Sha256::digest(str.as_bytes()))
 }
 
 #[builtin]
-pub fn builtin_sha512(s: IStr) -> String {
+pub fn builtin_sha512(str: IStr) -> String {
 	use sha2::digest::Digest;
-	format!("{:x}", sha2::Sha512::digest(s.as_bytes()))
+	format!("{:x}", sha2::Sha512::digest(str.as_bytes()))
 }
 
 #[builtin]
-pub fn builtin_sha1(s: IStr) -> String {
+pub fn builtin_sha1(str: IStr) -> String {
 	use sha1::digest::Digest;
-	format!("{:x}", sha1::Sha1::digest(s.as_bytes()))
+	format!("{:x}", sha1::Sha1::digest(str.as_bytes()))
 }
 
 #[builtin]
-pub fn builtin_sha3(s: IStr) -> String {
+pub fn builtin_sha3(str: IStr) -> String {
 	use sha3::digest::Digest;
-	format!("{:x}", sha3::Sha3_512::digest(s.as_bytes()))
+	format!("{:x}", sha3::Sha3_512::digest(str.as_bytes()))
 }
modifiedcrates/jrsonnet-stdlib/src/lib.rsdiffbeforeafterboth
--- a/crates/jrsonnet-stdlib/src/lib.rs
+++ b/crates/jrsonnet-stdlib/src/lib.rs
@@ -80,7 +80,7 @@
 		("any", builtin_any::INST),
 		("all", builtin_all::INST),
 		("member", builtin_member::INST),
-		("contains", builtin_member::INST),
+		("contains", builtin_contains::INST),
 		("count", builtin_count::INST),
 		("avg", builtin_avg::INST),
 		("removeAt", builtin_remove_at::INST),
modifiedcrates/jrsonnet-stdlib/src/misc.rsdiffbeforeafterboth
--- a/crates/jrsonnet-stdlib/src/misc.rs
+++ b/crates/jrsonnet-stdlib/src/misc.rs
@@ -57,12 +57,12 @@
 	this: &builtin_trace,
 	loc: CallLocation,
 	str: Val,
-	rest: Thunk<Val>,
+	rest: Option<Thunk<Val>>,
 ) -> Result<Val> {
 	this.settings.borrow().trace_printer.print_trace(
 		loc,
-		match str {
-			Val::Str(s) => s.into_flat(),
+		match &str {
+			Val::Str(s) => s.clone().into_flat(),
 			Val::Func(f) => format!("{f:?}").into(),
 			v => v
 				.manifest(JsonFormat::std_to_json(
@@ -75,7 +75,11 @@
 				.into(),
 		},
 	);
-	rest.evaluate()
+	if let Some(rest) = rest {
+		rest.evaluate()
+	} else {
+		Ok(str)
+	}
 }
 
 #[allow(clippy::comparison_chain)]
modifiedcrates/jrsonnet-stdlib/src/strings.rsdiffbeforeafterboth
--- a/crates/jrsonnet-stdlib/src/strings.rs
+++ b/crates/jrsonnet-stdlib/src/strings.rs
@@ -33,8 +33,8 @@
 }
 
 #[builtin]
-pub fn builtin_equals_ignore_case(x: String, y: String) -> bool {
-	x.to_ascii_lowercase() == y.to_ascii_lowercase()
+pub fn builtin_equals_ignore_case(str1: String, str2: String) -> bool {
+	str1.to_ascii_lowercase() == str2.to_ascii_lowercase()
 }
 
 #[builtin]
modifiedtests/suite/std_param_names.jsonnetdiffbeforeafterboth
126 decodeUTF8: ['arr'],126 decodeUTF8: ['arr'],
127127
128 sum: ['arr'],128 sum: ['arr'],
129 avg: ['arr', 'onEmpty'],
130 minArray: ['arr', 'keyF', 'onEmpty'],
131 maxArray: ['arr', 'keyF', 'onEmpty'],
132 remove: ['arr', 'elem'],
133 contains: ['arr', 'elem'],
134 removeAt: ['arr', 'at'],
135
136 equalsIgnoreCase: ['str1', 'str2'],
137 isEmpty: ['str'],
138
129 xor: ['x', 'y'],139 xor: ['x', 'y'],
140 xnor: ['x', 'y'],
141 isInteger: ['x'],
142 isDecimal: ['x'],
143 isEven: ['x'],
144 isOdd: ['x'],
145 round: ['x'],
146
147 sha1: ['str'],
148 sha256: ['str'],
149 sha512: ['str'],
150 sha3: ['str'],
151
152 objectKeysValues: ['o'],
153 objectKeysValuesAll: ['o'],
154 objectRemoveKey: ['obj', 'key'],
130155
131 // C++ jsonnet undocumented156 // C++ jsonnet undocumented
132 __compare: ['v1', 'v2'],157 __compare: ['v1', 'v2'],
138};163};
139164
140std.all(std.map(function(key) assertNames(key, names[key]), std.objectFields(names)))165std.all(std.map(function(key) assertNames(key, names[key]), std.objectFields(names)))
166&& std.all([
167 assert std.objectHasAll(names, key): ('function "%s" is not defined in names'
168 % key); true,
169 for key in std.objectFieldsAll(std)
170 if key != 'thisFile'
171])
141172