MCPcopy Create free account
hub / github.com/RobPruzan/react-scratch / findViewNodeOrThrow

Function findViewNodeOrThrow

src/react/core.ts:622–653  ·  view source on GitHub ↗
(
  eq: (node: ReactViewTreeNode) => boolean,
  tree: ReactViewTreeNode
)

Source from the content-addressed store, hash-verified

620};
621
622export const findViewNodeOrThrow = (
623 eq: (node: ReactViewTreeNode) => boolean,
624 tree: ReactViewTreeNode
625): ReactViewTreeNode => {
626 const aux = (viewNode: ReactViewTreeNode): ReactViewTreeNode | undefined => {
627 if (viewNode.kind === "empty-slot") {
628 return;
629 }
630 for (const node of viewNode.childNodes) {
631 if (eq(node)) {
632 return node;
633 }
634
635 const res = aux(node);
636
637 if (res) {
638 return res;
639 }
640 }
641 };
642
643 if (eq(tree)) {
644 return tree;
645 }
646
647 const result = aux(tree);
648
649 if (!result) {
650 throw new Error("detached node or wrong id:" + "\n\n");
651 }
652 return result;
653};
654
655const findRenderNode = (
656 eq: (node: ReactRenderTreeNode) => boolean,

Callers 1

generateViewTreeHelperFunction · 0.85

Calls 1

auxFunction · 0.70

Tested by

no test coverage detected