Relevant code or config:
prettyDOM(container, undefined, {
filterNode: (node, unexpectedArg1, unexpectedArg2, shouldBeUndefined) => {
console.log("arg 1: node - ", node);
console.log("arg 2: unexpected - ", unexpectedArg1);
console.log("arg 3: unexpected - ", unexpectedArg2);
console.log("arg 4: undefined (none) - ", shouldBeUndefined);
debugger;
return true;
},
})
What you did / what happened
The filterNode arg in prettyDOM is typed as having one argument:
filterNode?: (node: Node) => boolean
so I was expecting it to be called with one argument, but it was called with three.
Reproduction:
https://codesandbox.io/p/sandbox/wizardly-shirley-yp96n8?file=%2Fsrc%2F__tests__%2Findex.test.js%3A8%2C27
See in the console that there are three args passed to filterNode:

Problem description:
I think it's being called with three arguments because filterNode is being passed into filter and filter has three args: element, index, and array.
Suggested solution:
Can either the typing of filterNode be updated to indicate that it is called with three arguments or the usage be updated to only call it with the one expected node argument?
Thank you!
Relevant code or config:
What you did / what happened
The
filterNodearg inprettyDOMis typed as having one argument:so I was expecting it to be called with one argument, but it was called with three.
Reproduction:
https://codesandbox.io/p/sandbox/wizardly-shirley-yp96n8?file=%2Fsrc%2F__tests__%2Findex.test.js%3A8%2C27
See in the console that there are three args passed to

filterNode:Problem description:
I think it's being called with three arguments because
filterNodeis being passed intofilterandfilterhas three args:element,index, andarray.Suggested solution:
Can either the typing of
filterNodebe updated to indicate that it is called with three arguments or the usage be updated to only call it with the one expectednodeargument?Thank you!