/* IMPORT */ import useScheduler from '~/hooks/use_scheduler'; import $$ from '~/methods/SS'; import type {Disposer, FunctionMaybe, ObservableMaybe} from '~/types'; /* MAIN */ const useIdleCallback = ( callback: ObservableMaybe, options?: FunctionMaybe ): Disposer => { return useScheduler ({ callback, once: true, cancel: cancelIdleCallback, schedule: callback => requestIdleCallback ( callback, $$(options) ) }); }; /* EXPORT */ export default useIdleCallback;