difftreelog
fix std function argument names
in: master
6 files changed
crates/jrsonnet-stdlib/src/arrays.rsdiffbeforeafterboth255}255}256256257#[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);261261262 Ok(ArrValue::extended(262 Ok(ArrValue::extended(263 newArrLeft.unwrap_or(ArrValue::empty()),263 newArrLeft.unwrap_or(ArrValue::empty()),crates/jrsonnet-stdlib/src/hash.rsdiffbeforeafterboth6}6}778#[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}131314#[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}191920#[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}252526#[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}3131crates/jrsonnet-stdlib/src/lib.rsdiffbeforeafterboth80 ("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),crates/jrsonnet-stdlib/src/misc.rsdiffbeforeafterboth57 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 => v68 .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}808481#[allow(clippy::comparison_chain)]85#[allow(clippy::comparison_chain)]crates/jrsonnet-stdlib/src/strings.rsdiffbeforeafterboth33}33}343435#[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}393940#[builtin]40#[builtin]tests/suite/std_param_names.jsonnetdiffbeforeafterboth126 decodeUTF8: ['arr'],126 decodeUTF8: ['arr'],127127128 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'],135136 equalsIgnoreCase: ['str1', 'str2'],137 isEmpty: ['str'],138129 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'],146147 sha1: ['str'],148 sha256: ['str'],149 sha512: ['str'],150 sha3: ['str'],151152 objectKeysValues: ['o'],153 objectKeysValuesAll: ['o'],154 objectRemoveKey: ['obj', 'key'],130155131 // C++ jsonnet undocumented156 // C++ jsonnet undocumented132 __compare: ['v1', 'v2'],157 __compare: ['v1', 'v2'],138};163};139164140std.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