index.ts 554 B

1234567891011121314151617181920212223
  1. // @ts-nocheck
  2. import {isBrowser} from '../isBrowser'
  3. // Keep forward compatible
  4. // should be removed in next major version
  5. export const supportsPassive = true;
  6. export function raf(fn: FrameRequestCallback): number | NodeJS.Timeout {
  7. return isBrowser ? requestAnimationFrame(fn) : setTimeout(fn, 1000 / 30)
  8. }
  9. export function cancelRaf(id: number) {
  10. if (isBrowser) {
  11. cancelAnimationFrame(id);
  12. } else {
  13. clearTimeout(id);
  14. }
  15. }
  16. // double raf for animation
  17. export function doubleRaf(fn: FrameRequestCallback): void {
  18. raf(() => raf(fn));
  19. }