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
255}255}
256256
257#[builtin]257#[builtin]
258pub fn builtin_remove_at(arr: ArrValue, index: usize) -> Result<ArrValue> {258pub fn builtin_remove_at(arr: ArrValue, at: usize) -> Result<ArrValue> {
259 let newArrLeft = arr.clone().slice(None, Some(index), None);259 let newArrLeft = arr.clone().slice(None, Some(at), None);
260 let newArrRight = arr.slice(Some(index + 1), None, None);260 let newArrRight = arr.slice(Some(at + 1), None, None);
261261
262 Ok(ArrValue::extended(262 Ok(ArrValue::extended(
263 newArrLeft.unwrap_or(ArrValue::empty()),263 newArrLeft.unwrap_or(ArrValue::empty()),
modifiedcrates/jrsonnet-stdlib/src/hash.rsdiffbeforeafterboth
6}6}
77
8#[builtin]8#[builtin]
9pub fn builtin_sha256(s: IStr) -> String {9pub fn builtin_sha256(str: IStr) -> String {
10 use sha2::digest::Digest;10 use sha2::digest::Digest;
11 format!("{:x}", sha2::Sha256::digest(s.as_bytes()))11 format!("{:x}", sha2::Sha256::digest(str.as_bytes()))
12}12}
1313
14#[builtin]14#[builtin]
15pub fn builtin_sha512(s: IStr) -> String {15pub fn builtin_sha512(str: IStr) -> String {
16 use sha2::digest::Digest;16 use sha2::digest::Digest;
17 format!("{:x}", sha2::Sha512::digest(s.as_bytes()))17 format!("{:x}", sha2::Sha512::digest(str.as_bytes()))
18}18}
1919
20#[builtin]20#[builtin]
21pub fn builtin_sha1(s: IStr) -> String {21pub fn builtin_sha1(str: IStr) -> String {
22 use sha1::digest::Digest;22 use sha1::digest::Digest;
23 format!("{:x}", sha1::Sha1::digest(s.as_bytes()))23 format!("{:x}", sha1::Sha1::digest(str.as_bytes()))
24}24}
2525
26#[builtin]26#[builtin]
27pub fn builtin_sha3(s: IStr) -> String {27pub fn builtin_sha3(str: IStr) -> String {
28 use sha3::digest::Digest;28 use sha3::digest::Digest;
29 format!("{:x}", sha3::Sha3_512::digest(s.as_bytes()))29 format!("{:x}", sha3::Sha3_512::digest(str.as_bytes()))
30}30}
3131
modifiedcrates/jrsonnet-stdlib/src/lib.rsdiffbeforeafterboth
80 ("any", builtin_any::INST),80 ("any", builtin_any::INST),
81 ("all", builtin_all::INST),81 ("all", builtin_all::INST),
82 ("member", builtin_member::INST),82 ("member", builtin_member::INST),
83 ("contains", builtin_member::INST),83 ("contains", builtin_contains::INST),
84 ("count", builtin_count::INST),84 ("count", builtin_count::INST),
85 ("avg", builtin_avg::INST),85 ("avg", builtin_avg::INST),
86 ("removeAt", builtin_remove_at::INST),86 ("removeAt", builtin_remove_at::INST),
modifiedcrates/jrsonnet-stdlib/src/misc.rsdiffbeforeafterboth
57 this: &builtin_trace,57 this: &builtin_trace,
58 loc: CallLocation,58 loc: CallLocation,
59 str: Val,59 str: Val,
60 rest: Thunk<Val>,60 rest: Option<Thunk<Val>>,
61) -> Result<Val> {61) -> Result<Val> {
62 this.settings.borrow().trace_printer.print_trace(62 this.settings.borrow().trace_printer.print_trace(
63 loc,63 loc,
64 match str {64 match &str {
65 Val::Str(s) => s.into_flat(),65 Val::Str(s) => s.clone().into_flat(),
66 Val::Func(f) => format!("{f:?}").into(),66 Val::Func(f) => format!("{f:?}").into(),
67 v => v67 v => v
68 .manifest(JsonFormat::std_to_json(68 .manifest(JsonFormat::std_to_json(
75 .into(),75 .into(),
76 },76 },
77 );77 );
78 if let Some(rest) = rest {
78 rest.evaluate()79 rest.evaluate()
80 } else {
81 Ok(str)
82 }
79}83}
8084
81#[allow(clippy::comparison_chain)]85#[allow(clippy::comparison_chain)]
modifiedcrates/jrsonnet-stdlib/src/strings.rsdiffbeforeafterboth
33}33}
3434
35#[builtin]35#[builtin]
36pub fn builtin_equals_ignore_case(x: String, y: String) -> bool {36pub fn builtin_equals_ignore_case(str1: String, str2: String) -> bool {
37 x.to_ascii_lowercase() == y.to_ascii_lowercase()37 str1.to_ascii_lowercase() == str2.to_ascii_lowercase()
38}38}
3939
40#[builtin]40#[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