Skip to content

Commit a5559b5

Browse files
committed
Fixed change finding bug (#11)
1 parent 6fa6387 commit a5559b5

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ export default function diff(
2525
!richTypes[Object.getPrototypeOf(obj[key]).constructor.name] &&
2626
!stack.includes(obj[key])
2727
) {
28-
const nestedDiffs = diff(obj[key], newObj[key], stack.concat(obj[key]));
28+
const nestedDiffs = diff(obj[key], newObj[key], stack.concat([obj[key]]));
2929
diffs.push(
3030
...nestedDiffs.map((difference) => {
3131
difference.path.unshift(key);

tests/arrays.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,20 @@ test("nested array", () => {
2121
]);
2222
});
2323

24+
test("object in array in object", () => {
25+
assert.equal(
26+
diff(
27+
{ test: ["test", { test: true }] },
28+
{ test: ["test", { test: false }] }
29+
),
30+
[
31+
{
32+
type: "CHANGE",
33+
path: ["test", "1", "test"],
34+
value: false,
35+
},
36+
]
37+
);
38+
});
39+
2440
test.run();

0 commit comments

Comments
 (0)