happy-dom
Version:
Happy DOM is a JavaScript implementation of a web browser without its graphical user interface. It includes many web standards from WHATWG DOM and HTML.
65 lines (58 loc) • 1.58 kB
text/typescript
import IntersectionObserverEntry from './IntersectionObserverEntry.js';
import IIntersectionObserverInit from './IIntersectionObserverInit.js';
import Element from '../nodes/element/Element.js';
/**
* The IntersectionObserver interface of the Intersection Observer API provides a way to asynchronously observe changes in the intersection of a target element with an ancestor element or with a top-level document's viewport.
*
* @see https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserver
*/
export default class IntersectionObserver {
// @ts-ignore
#callback: (entries: IntersectionObserverEntry[], observer: IntersectionObserver) => void;
// @ts-ignore
#options: IIntersectionObserverInit;
/**
* Constructor.
*
* @param callback Callback.
* @param options Options.
*/
constructor(
callback: (entries: IntersectionObserverEntry[], observer: IntersectionObserver) => void,
options?: IIntersectionObserverInit
) {
this.#callback = callback;
this.#options = options || {};
}
/**
* Starts observing.
*
* @param _target Target.
*/
public observe(_target: Element): void {
// TODO: Implement
}
/**
* Disconnects.
*/
public disconnect(): void {
// TODO: Implement
}
/**
* Unobserves an element.
*
* @param _target Target.
*/
public unobserve(_target: Element): void {
// TODO: Implement
}
/**
* Returns an array of IntersectionObserverEntry objects for all observed targets.
*
* @returns Records.
*/
public takeRecords(): IntersectionObserverEntry[] {
// TODO: Implement
return [];
}
}