difftreelog
perf move resolvePath to native
in: master
3 files changed
crates/jrsonnet-stdlib/src/arrays.rsdiffbeforeafterboth208 )208 )209}209}210211#[builtin]212pub fn builtin_resolve_path(f: String, r: String) -> String {213 let Some(pos) = f.rfind('/') else {214 return r;215 };216 format!("{}{}", &f[..=pos], r)217}210218211pub fn deep_join_inner(out: &mut String, arr: IndexableVal) -> Result<()> {219pub fn deep_join_inner(out: &mut String, arr: IndexableVal) -> Result<()> {212 use std::fmt::Write;220 use std::fmt::Write;crates/jrsonnet-stdlib/src/lib.rsdiffbeforeafterboth86 ("range", builtin_range::INST),86 ("range", builtin_range::INST),87 ("join", builtin_join::INST),87 ("join", builtin_join::INST),88 ("lines", builtin_lines::INST),88 ("lines", builtin_lines::INST),89 ("resolvePath", builtin_resolve_path::INST),89 ("deepJoin", builtin_deep_join::INST),90 ("deepJoin", builtin_deep_join::INST),90 ("reverse", builtin_reverse::INST),91 ("reverse", builtin_reverse::INST),91 ("any", builtin_any::INST),92 ("any", builtin_any::INST),crates/jrsonnet-stdlib/src/std.jsonnetdiffbeforeafterboth10 error ('std.mapWithKey second param must be object, got ' + std.type(obj))10 error ('std.mapWithKey second param must be object, got ' + std.type(obj))11 else11 else12 { [k]: func(k, obj[k]) for k in std.objectFields(obj) },12 { [k]: func(k, obj[k]) for k in std.objectFields(obj) },1314 resolvePath(f, r)::15 local arr = std.split(f, '/');16 std.join('/', std.makeArray(std.length(arr) - 1, function(i) arr[i]) + [r]),17}13}1814