git.delta.rocks / jrsonnet / refs/commits / 32f6ee5b9541

difftreelog

feat change preserved field ordering sort

Yaroslav Bolyukin2022-05-01parent: #02f748d.patch.diff
in: master
Per discussion in https://github.com/google/jsonnet/issues/903

1 file changed

modifiedcrates/jrsonnet-evaluator/src/obj.rsdiffbeforeafterboth
261 let mut out = FxHashMap::default();261 let mut out = FxHashMap::default();
262 self.enum_fields(SuperDepth::default(), &mut |depth, name, member| {262 self.enum_fields(SuperDepth::default(), &mut |depth, name, member| {
263 let new_sort_key = FieldSortKey::new(depth, member.original_index);263 let new_sort_key = FieldSortKey::new(depth, member.original_index);
264 match member.visibility {
265 Visibility::Normal => {
266 let entry = out.entry(name.clone());264 let entry = out.entry(name.clone());
267 let v = entry.or_insert((true, new_sort_key));265 let (visible, _) = entry.or_insert((true, new_sort_key));
268 v.1 = new_sort_key;266 match member.visibility {
269 }267 Visibility::Normal => {}
270 Visibility::Hidden => {268 Visibility::Hidden => {
271 out.insert(name.clone(), (false, new_sort_key));269 *visible = false;
272 }270 }
273 Visibility::Unhide => {271 Visibility::Unhide => {
274 out.insert(name.clone(), (true, new_sort_key));272 *visible = true;
275 }273 }
276 };274 };
277 false275 false
278 });276 });
279 out277 out