import { platformSelect } from "@applicaster/zapp-react-native-utils/reactUtils";

// TODO: Fix the memory leak on window.requestIdleCallback
const onIdleWeb = () => {
  return new Promise((resolve) => {
    // @ts-ignore
    window.requestIdleCallback(() => {
      resolve(undefined);
    });
  });
};

export const onIdle = platformSelect({
  web: onIdleWeb,
  // TODO - implement idle on other platforms
  default: () => Promise.resolve(),
});
