(params: {
edge: ScrollEdge;
target?: ScrollEdgeTarget;
scope?: string;
captureNodes: (scope?: string) => Promise<readonly (RawSnapshotNode | SnapshotNode)[]>;
})
| 66 | } |
| 67 | |
| 68 | export async function captureScrollEdgeState(params: { |
| 69 | edge: ScrollEdge; |
| 70 | target?: ScrollEdgeTarget; |
| 71 | scope?: string; |
| 72 | captureNodes: (scope?: string) => Promise<readonly (RawSnapshotNode | SnapshotNode)[]>; |
| 73 | }): Promise<ScrollEdgeState> { |
| 74 | const { edge, target = {}, scope, captureNodes } = params; |
| 75 | try { |
| 76 | const nodes = await captureNodes(scope); |
| 77 | const state = analyzeScrollEdgeState(nodes, edge, target); |
| 78 | if (scope && state.emptySnapshot) { |
| 79 | return await captureScrollEdgeState({ edge, target, captureNodes }); |
| 80 | } |
| 81 | return state; |
| 82 | } catch (error) { |
| 83 | throw buildScrollEdgeVerificationError(edge, scope, error); |
| 84 | } |
| 85 | } |
| 86 | |
| 87 | export async function runScrollEdgePasses<TResult>(params: { |
| 88 | edge: ScrollEdge; |
no test coverage detected