Fix branchedResetPropagation #57

Merged
thepaperpilot merged 3 commits from nif/Profectus-Niffix:main into main 2024-02-14 17:39:07 +00:00
Showing only changes of commit 263c951cf8 - Show all commits

View file

@ -339,19 +339,19 @@ export const branchedResetPropagation = function (
resettingNode: GenericTreeNode
): void {
const links = unref(tree.branches);
if (links === undefined) return;
let reset: GenericTreeNode[] = [];
if (links == null) return;

instead of === undefined, can you use == null? That matches the rest of the codebase and has subtly different behavior.

instead of `=== undefined`, can you use `== null`? That matches the rest of the codebase and has subtly different behavior.
Outdated
Review

You very well could, I didn't realise that == null tested for undefined

You very well could, I didn't realise that `== null` tested for `undefined`
const reset: GenericTreeNode[] = [];
let current = [resettingNode];
while (current.length != 0) {
let next: GenericTreeNode[] = [];
for (let node of current) {
for (let link of links.filter(link => link.startNode === node)) {
const next: GenericTreeNode[] = [];

The linter says next, node, and link should all be const

The linter says next, node, and link should all be `const`
Outdated
Review

that's probably because i use Array.prototype.concat and Array.prototype.push instead of reassigning them

that's probably because i use `Array.prototype.concat` and `Array.prototype.push` instead of reassigning them
for (const node of current) {
for (const link of links.filter(link => link.startNode === node)) {
if ([...reset, ...current].includes(link.endNode)) continue
next.push(link.endNode);
link.endNode.reset?.reset();
}
};
reset = reset.concat(current);
reset.push(...current);

This line is fine, but I wonder why you don't just push like you do the next array.

This line is fine, but I wonder why you don't just `push` like you do the `next` array.
Outdated
Review

because then that gives a shaped array that can't be iterated over as well

because then that gives a shaped array that can't be iterated over as well
Outdated
Review

wait no i could have .push(...'ed

wait no i could have `.push(...`'ed
current = next;
}
};