@johngw/stream
Version:
Reactive programming tools using the WHATWG Streams API.
40 lines (39 loc) • 1.14 kB
TypeScript
/**
* Creates a ReadableStream from DOM Intersections.
*
* @group Sources
* @example
* ```
* const observe = fromDOMIntersections(
* {
* root: document.querySelector("#scrollArea"),
* rootMargin: "0px",
* threshold: 1.0,
* }
* )
*
* observe(document.querySelector("#listItem")).pipeTo(
* write(console.info)
* )
* ```
*
* If the queue is full when receiving DOM intersctions, you
* may notice some events being dropped. To avoid this you
* will need to increase the high water mark.
*
* ```
* const observe = fromDOMIntersections(
* {
* root: document.querySelector("#scrollArea"),
* rootMargin: "0px",
* threshold: 1.0,
* },
* new CountQueuingStrategy({ highWaterMark: 10 })
* )
*
* observe(document.querySelector("#listItem")).pipeTo(
* write(console.info)
* )
* ```
*/
export declare function fromDOMIntersections(options?: IntersectionObserverInit, queuingStrategy?: QueuingStrategy<IntersectionObserverEntry>): (target: Element, targetQueuingStrategy?: QueuingStrategy<IntersectionObserverEntry> | undefined) => ReadableStream<IntersectionObserverEntry>;