export interface IntersectionObserverOptions {
    threshold?: number;
    rootMargin?: string;
}

export const createIntersectionObserver = (
    callback: IntersectionObserverCallback,
    options: IntersectionObserverOptions = {}
): IntersectionObserver => {
    const defaultOptions: IntersectionObserverOptions = {
        threshold: 0.3,
        rootMargin: '0px 0px -50px 0px'
    };

    return new IntersectionObserver(callback, { ...defaultOptions, ...options });
};
