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

difftreelog

feat add std.equalsIgnoreCase

Paweł Bęza2023-07-11parent: #e2787ae.patch.diff
in: master
Upstream issue: https://github.com/google/go-jsonnet/pull/699

4 files changed

modifiedCargo.lockdiffbeforeafterboth
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -375,7 +375,9 @@
  "serde",
  "serde_json",
  "serde_yaml_with_quirks",
+ "sha1",
  "sha2",
+ "sha3",
  "structdump",
 ]
 
@@ -388,6 +390,15 @@
 ]
 
 [[package]]
+name = "keccak"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f6d5ed8676d904364de097082f4e7d240b571b67989ced0240f08b7f966f940"
+dependencies = [
+ "cpufeatures",
+]
+
+[[package]]
 name = "libc"
 version = "0.2.139"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -676,6 +687,17 @@
 ]
 
 [[package]]
+name = "sha1"
+version = "0.10.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3"
+dependencies = [
+ "cfg-if",
+ "cpufeatures",
+ "digest",
+]
+
+[[package]]
 name = "sha2"
 version = "0.10.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -687,6 +709,16 @@
 ]
 
 [[package]]
+name = "sha3"
+version = "0.10.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60"
+dependencies = [
+ "digest",
+ "keccak",
+]
+
+[[package]]
 name = "smallvec"
 version = "1.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
modifiedcrates/jrsonnet-stdlib/Cargo.tomldiffbeforeafterboth
--- a/crates/jrsonnet-stdlib/Cargo.toml
+++ b/crates/jrsonnet-stdlib/Cargo.toml
@@ -32,8 +32,12 @@
 
 # std.md5
 md5 = "0.7.0"
+# std.sha1
+sha1 = "0.10.5"
 # std.sha256, std.sha512
 sha2 = "0.10.6"
+# std.sha3
+sha3 = "0.10.8"
 # std.base64
 base64 = "0.21.0"
 # std.parseJson
modifiedcrates/jrsonnet-stdlib/src/hash.rsdiffbeforeafterboth
--- a/crates/jrsonnet-stdlib/src/hash.rs
+++ b/crates/jrsonnet-stdlib/src/hash.rs
@@ -16,3 +16,15 @@
 	use sha2::digest::Digest;
 	format!("{:x}", sha2::Sha512::digest(s.as_bytes()))
 }
+
+#[builtin]
+pub fn builtin_sha1(s: IStr) -> String {
+	use sha1::digest::Digest;
+	format!("{:x}", sha1::Sha1::digest(s.as_bytes()))
+}
+
+#[builtin]
+pub fn builtin_sha3(s: IStr) -> String {
+	use sha3::digest::Digest;
+	format!("{:x}", sha3::Sha3_512::digest(s.as_bytes()))
+}
modifiedcrates/jrsonnet-stdlib/src/lib.rsdiffbeforeafterboth
124 ("maxArray", builtin_max_array::INST),124 ("maxArray", builtin_max_array::INST),
125 // Hash125 // Hash
126 ("md5", builtin_md5::INST),126 ("md5", builtin_md5::INST),
127 ("sha1", builtin_sha1::INST),
127 ("sha256", builtin_sha256::INST),128 ("sha256", builtin_sha256::INST),
128 ("sha512", builtin_sha512::INST),129 ("sha512", builtin_sha512::INST),
130 ("sha3", builtin_sha3::INST),
129 // Encoding131 // Encoding
130 ("encodeUTF8", builtin_encode_utf8::INST),132 ("encodeUTF8", builtin_encode_utf8::INST),
131 ("decodeUTF8", builtin_decode_utf8::INST),133 ("decodeUTF8", builtin_decode_utf8::INST),