Skip to content

Commit 630a04c

Browse files
committed
rename
1 parent 58102cb commit 630a04c

File tree

1 file changed

+75
-58
lines changed

1 file changed

+75
-58
lines changed

jsondiff.mbt

Lines changed: 75 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,8 @@ fn JsonDiff::stringify(self : JsonDiff, terminal~ : Bool) -> String? {
6060

6161
///|
6262
fn JsonDiff::object_diff(
63-
obj1 : Map[String, Json],
64-
obj2 : Map[String, Json],
63+
lhs : Map[String, Json],
64+
rhs : Map[String, Json],
6565
keys_only : Bool,
6666
) -> JsonDiff {
6767
let diff = Map::new()
@@ -70,27 +70,27 @@ fn JsonDiff::object_diff(
7070
let mut score = 0.0
7171

7272
// Check for deleted keys
73-
for key, value1 in obj1.iter2() {
74-
if !obj2.contains(key) {
75-
deleted[key] = value1
73+
for key, value in lhs.iter2() {
74+
if !rhs.contains(key) {
75+
deleted[key] = value
7676
score -= 30.0
7777
}
7878
}
7979

8080
// Check for added keys
81-
for key, value2 in obj2.iter2() {
82-
if !obj1.contains(key) {
83-
added[key] = value2
81+
for key, value in rhs.iter2() {
82+
if !lhs.contains(key) {
83+
added[key] = value
8484
score -= 30.0
8585
}
8686
}
8787

8888
// Check for modified keys
89-
for key, value1 in obj1.iter2() {
90-
if obj2.get(key) is Some(value2) {
89+
for key, value in lhs.iter2() {
90+
if rhs.get(key) is Some(rhs_value) {
9191
score += 20.0
9292
let { score: subscore, diff: change } = JsonDiff::diff_with_score(
93-
value1, value2, keys_only,
93+
value, rhs_value, keys_only,
9494
)
9595
if change is Some(change_value) {
9696
diff[key] = change_value
@@ -100,7 +100,7 @@ fn JsonDiff::object_diff(
100100
}
101101
if diff.is_empty() && deleted.is_empty() && added.is_empty() {
102102
JsonDiff::{
103-
score: 100.0 * @cmp.maximum(obj1.length().to_double(), 0.5),
103+
score: 100.0 * @cmp.maximum(lhs.length().to_double(), 0.5),
104104
diff: None,
105105
}
106106
} else {
@@ -110,8 +110,8 @@ fn JsonDiff::object_diff(
110110
}
111111

112112
///|
113-
fn JsonDiff::check_type(item1 : Json, item2 : Json) -> Bool {
114-
match (item1, item2) {
113+
fn JsonDiff::check_type(lhs : Json, rhs : Json) -> Bool {
114+
match (lhs, rhs) {
115115
(Json::Null, Json::Null)
116116
| (Json::True, Json::True)
117117
| (Json::False, Json::False)
@@ -230,30 +230,30 @@ fn JsonDiff::descalarize(
230230

231231
///|
232232
fn JsonDiff::array_diff(
233-
array1 : Array[Json],
234-
array2 : Array[Json],
233+
lhs : Array[Json],
234+
rhs : Array[Json],
235235
keys_only : Bool,
236236
) -> JsonDiff {
237237
let counter = Ref::new(1)
238-
let originals1 = Map::new()
239-
let scalar_values1 = Map::new()
240-
let seq1 = JsonDiff::scalarize(
238+
let lhs_originals = Map::new()
239+
let lhs_scalar_values = Map::new()
240+
let lhs_seq = JsonDiff::scalarize(
241241
counter,
242-
array1,
243-
scalar_values1,
244-
originals1,
242+
lhs,
243+
lhs_scalar_values,
244+
lhs_originals,
245245
None,
246246
)
247-
let originals2 = Map::new()
248-
let scalar_values2 = Map::new()
249-
let seq2 = JsonDiff::scalarize(
247+
let rhs_originals = Map::new()
248+
let rhs_scalar_values = Map::new()
249+
let rhs_seq = JsonDiff::scalarize(
250250
counter,
251-
array2,
252-
scalar_values2,
253-
originals2,
254-
Some(originals1),
251+
rhs,
252+
rhs_scalar_values,
253+
rhs_originals,
254+
Some(lhs_originals),
255255
)
256-
let opcodes = SequenceMatcher::new(seq1, seq2).get_opcodes()
256+
let opcodes = SequenceMatcher::new(lhs_seq, rhs_seq).get_opcodes()
257257
let result = Array::new()
258258
let mut score = 0.0
259259
let mut all_equal = true
@@ -264,19 +264,24 @@ fn JsonDiff::array_diff(
264264
match opcode.tag {
265265
Equal =>
266266
for i = opcode.first_start; i < opcode.first_end; i = i + 1 {
267-
let key = seq1[i]
268-
let is_scalarized1 = JsonDiff::is_scalarized(key, originals1)
269-
guard !is_scalarized1 || JsonDiff::is_scalarized(key, originals2) else {
267+
let key = lhs_seq[i]
268+
let lhs_is_scalarized = JsonDiff::is_scalarized(key, lhs_originals)
269+
guard !lhs_is_scalarized ||
270+
JsonDiff::is_scalarized(key, rhs_originals) else {
270271
abort(
271272
"Internal bug: the items associated to the key \{key} are different in the two dictionaries",
272273
)
273274
}
274-
if is_scalarized1 {
275-
let item1 = JsonDiff::descalarize(key, scalar_values1, originals1)
276-
let item2 = JsonDiff::descalarize(key, scalar_values2, originals2)
275+
if lhs_is_scalarized {
276+
let lhs_item = JsonDiff::descalarize(
277+
key, lhs_scalar_values, lhs_originals,
278+
)
279+
let rhs_item = JsonDiff::descalarize(
280+
key, rhs_scalar_values, rhs_originals,
281+
)
277282
let { score: _, diff: change } = JsonDiff::diff(
278-
item1,
279-
item2,
283+
lhs_item,
284+
rhs_item,
280285
keys_only~,
281286
)
282287
if change is Some(change) {
@@ -287,24 +292,32 @@ fn JsonDiff::array_diff(
287292
}
288293
} else {
289294
result.push(
290-
Some(NoChange(JsonDiff::get_scalar(key, scalar_values1))),
295+
Some(NoChange(JsonDiff::get_scalar(key, lhs_scalar_values))),
291296
)
292297
}
293298
score += 10.0
294299
}
295300
Delete =>
296301
for i = opcode.first_start; i < opcode.first_end; i = i + 1 {
297-
let key = seq1[i]
302+
let key = lhs_seq[i]
298303
result.push(
299-
Some(Delete(JsonDiff::descalarize(key, scalar_values1, originals1))),
304+
Some(
305+
Delete(
306+
JsonDiff::descalarize(key, lhs_scalar_values, lhs_originals),
307+
),
308+
),
300309
)
301310
score -= 5.0
302311
}
303312
Insert =>
304313
for i = opcode.second_start; i < opcode.second_end; i = i + 1 {
305-
let key = seq2[i]
314+
let key = rhs_seq[i]
306315
result.push(
307-
Some(Insert(JsonDiff::descalarize(key, scalar_values2, originals2))),
316+
Some(
317+
Insert(
318+
JsonDiff::descalarize(key, rhs_scalar_values, rhs_originals),
319+
),
320+
),
308321
)
309322
score -= 5.0
310323
}
@@ -315,11 +328,11 @@ fn JsonDiff::array_diff(
315328
opcode.second_end - opcode.second_start,
316329
)
317330
for offset = 0; offset < min_len; offset = offset + 1 {
318-
let key1 = seq1[opcode.first_start + offset]
319-
let key2 = seq2[opcode.second_start + offset]
331+
let lhs_key = lhs_seq[opcode.first_start + offset]
332+
let rhs_key = rhs_seq[opcode.second_start + offset]
320333
let { score: _, diff: change } = JsonDiff::diff(
321-
JsonDiff::descalarize(key1, scalar_values1, originals1),
322-
JsonDiff::descalarize(key2, scalar_values2, originals2),
334+
JsonDiff::descalarize(lhs_key, lhs_scalar_values, lhs_originals),
335+
JsonDiff::descalarize(rhs_key, rhs_scalar_values, rhs_originals),
323336
keys_only~,
324337
)
325338
match change {
@@ -333,19 +346,23 @@ fn JsonDiff::array_diff(
333346
} else {
334347
// Handle as delete then insert
335348
for i = opcode.first_start; i < opcode.first_end; i = i + 1 {
336-
let key = seq1[i]
349+
let key = lhs_seq[i]
337350
result.push(
338351
Some(
339-
Delete(JsonDiff::descalarize(key, scalar_values1, originals1)),
352+
Delete(
353+
JsonDiff::descalarize(key, lhs_scalar_values, lhs_originals),
354+
),
340355
),
341356
)
342357
score -= 5.0
343358
}
344359
for i = opcode.second_start; i < opcode.second_end; i = i + 1 {
345-
let key = seq2[i]
360+
let key = rhs_seq[i]
346361
result.push(
347362
Some(
348-
Insert(JsonDiff::descalarize(key, scalar_values2, originals2)),
363+
Insert(
364+
JsonDiff::descalarize(key, rhs_scalar_values, rhs_originals),
365+
),
349366
),
350367
)
351368
score -= 5.0
@@ -365,18 +382,18 @@ fn JsonDiff::array_diff(
365382

366383
///|
367384
fn JsonDiff::diff_with_score(
368-
json1 : Json,
369-
json2 : Json,
385+
lhs : Json,
386+
rhs : Json,
370387
keys_only : Bool,
371388
) -> JsonDiff {
372-
match (json1, json2) {
389+
match (lhs, rhs) {
373390
(Json::Object(lhs), Json::Object(rhs)) =>
374391
JsonDiff::object_diff(lhs, rhs, keys_only)
375-
(Json::Array(array1), Json::Array(array2)) =>
376-
JsonDiff::array_diff(array1, array2, keys_only)
392+
(Json::Array(lhs), Json::Array(rhs)) =>
393+
JsonDiff::array_diff(lhs, rhs, keys_only)
377394
_ =>
378-
if !keys_only && json1 != json2 {
379-
JsonDiff::{ score: 0.0, diff: Some(Replace(old=json1, new=json2)) }
395+
if !keys_only && lhs != rhs {
396+
JsonDiff::{ score: 0.0, diff: Some(Replace(old=lhs, new=rhs)) }
380397
} else {
381398
JsonDiff::{ score: 100.0, diff: None }
382399
}

0 commit comments

Comments
 (0)