21 lines
485 B
TypeScript

export const inBrowser = typeof window !== 'undefined';
// Keep forward compatible
// should be removed in next major version
export const supportsPassive = true;
export function raf(fn: FrameRequestCallback): number {
return inBrowser ? requestAnimationFrame(fn) : -1;
}
export function cancelRaf(id: number) {
if (inBrowser) {
cancelAnimationFrame(id);
}
}
// double raf for animation
export function doubleRaf(fn: FrameRequestCallback): void {
raf(() => raf(fn));
}