git.delta.rocks / jrsonnet / refs/commits / 74729ec02fba

difftreelog

refactor move field sorting to visible_fields

Лач2020-07-02parent: #cee13e8.patch.diff
in: master

2 files changed

modifiedcrates/jrsonnet-evaluator/src/obj.rsdiffbeforeafterboth
--- a/crates/jrsonnet-evaluator/src/obj.rs
+++ b/crates/jrsonnet-evaluator/src/obj.rs
@@ -86,11 +86,14 @@
 		Rc::try_unwrap(out).unwrap().into_inner()
 	}
 	pub fn visible_fields(&self) -> Vec<Rc<str>> {
-		self.fields_visibility()
+		let mut visible_fields: Vec<_> = self
+			.fields_visibility()
 			.into_iter()
 			.filter(|(_k, v)| *v)
 			.map(|(k, _)| k)
-			.collect()
+			.collect();
+		visible_fields.sort();
+		visible_fields
 	}
 	pub fn get(&self, key: Rc<str>) -> Result<Option<Val>> {
 		if let Some(v) = self.0.value_cache.borrow().get(&key) {
modifiedcrates/jrsonnet-evaluator/src/val.rsdiffbeforeafterboth
255 }255 }
256 Val::Obj(obj) => {256 Val::Obj(obj) => {
257 buf.push_str("{\n");257 buf.push_str("{\n");
258 let mut fields = obj.visible_fields();258 let fields = obj.visible_fields();
259 fields.sort();
260 if !fields.is_empty() {259 if !fields.is_empty() {
261 let old_len = cur_padding.len();260 let old_len = cur_padding.len();
262 cur_padding.push_str(padding);261 cur_padding.push_str(padding);