@expofp/floorplan
Version:
Interactive floor plan library for expos and events
2 lines (1 loc) • 615 B
JavaScript
import{autorun as c,reaction as u,untracked as a}from"mobx";import{useEffect as o}from"react";export function useAutorun(t,e){return o(()=>c(t,e),[])}export function useReaction(t,e,n,r=[]){return o(()=>u(t,e,n),r)}function m(t){if(typeof requestAnimationFrame=="function"){const n=requestAnimationFrame(t);return()=>cancelAnimationFrame(n)}const e=setTimeout(t,0);return()=>clearTimeout(e)}export function watchOneShot(t,e){let n;const r=m(()=>{n=u(t,i=>e(i)),e(a(t))});return()=>{r(),n?.()}}export function useOneShotReaction(t,e,n=[]){return o(()=>watchOneShot(t,e),n)}export function useInit(t){return o(t,[])}