Skip to content

Commit bc6c4a7

Browse files
Refactor value and type diffs (#100)
* refactor value and type diffs * refactor
1 parent f7cf07c commit bc6c4a7

File tree

1 file changed

+9
-20
lines changed

1 file changed

+9
-20
lines changed

lib/text_diff.ml

Lines changed: 9 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -41,29 +41,18 @@ let md_to_lines name md =
4141
let module_str = "module " ^ name ^ ": " ^ Buffer.contents buf in
4242
CCString.lines module_str
4343

44-
let process_value_diff (val_diff : Diff.value) =
45-
match val_diff.vdiff with
46-
| Added vd -> [ { orig = []; new_ = vd_to_lines val_diff.vname vd } ]
47-
| Removed vd -> [ { orig = vd_to_lines val_diff.vname vd; new_ = [] } ]
44+
let process_diff (diff : (_, _ Diff.atomic_modification) Diff.t) name to_lines =
45+
match diff with
46+
| Added item -> [ { orig = []; new_ = to_lines name item } ]
47+
| Removed item -> [ { orig = to_lines name item; new_ = [] } ]
4848
| Modified { reference; current } ->
49-
[
50-
{
51-
orig = vd_to_lines val_diff.vname reference;
52-
new_ = vd_to_lines val_diff.vname current;
53-
};
54-
]
49+
[ { orig = to_lines name reference; new_ = to_lines name current } ]
50+
51+
let process_value_diff (val_diff : Diff.value) =
52+
process_diff val_diff.vdiff val_diff.vname vd_to_lines
5553

5654
let process_type_diff (type_diff : Diff.type_) =
57-
match type_diff.tdiff with
58-
| Added td -> [ { orig = []; new_ = td_to_lines type_diff.tname td } ]
59-
| Removed td -> [ { orig = td_to_lines type_diff.tname td; new_ = [] } ]
60-
| Modified { reference; current } ->
61-
[
62-
{
63-
orig = td_to_lines type_diff.tname reference;
64-
new_ = td_to_lines type_diff.tname current;
65-
};
66-
]
55+
process_diff type_diff.tdiff type_diff.tname td_to_lines
6756

6857
let from_diff (diff : Diff.module_) : t =
6958
let rec process_module_diff module_path (module_diff : Diff.module_) acc =

0 commit comments

Comments
 (0)