All files / src/projection/node DocumentProjectionNode.ts

83.33% Statements 5/6
100% Branches 4/4
66.67% Functions 2/3
100% Lines 5/5

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1634x   34x         33x 33x   104x          
import { createProjectionNode } from "./create-projection-node"
 
export const DocumentProjectionNode = createProjectionNode<Window>({
    attachResizeListener: (
        ref: Window | Element,
        notify: VoidFunction
    ): VoidFunction => {
        ref.addEventListener("resize", notify, { passive: true })
        return () => ref.removeEventListener("resize", notify)
    },
    measureScroll: () => ({
        x: document.documentElement.scrollLeft || document.body.scrollLeft,
        y: document.documentElement.scrollTop || document.body.scrollTop,
    }),
})