react-native-web-internals
Version:
React Native for Web
40 lines (39 loc) • 1.09 kB
JavaScript
import requestIdleCallback, { cancelIdleCallback } from "./requestIdleCallback/index.mjs";
const InteractionManager = {
Events: {
interactionStart: "interactionStart",
interactionComplete: "interactionComplete"
},
/**
* Schedule a function to run after all interactions have completed.
*/
runAfterInteractions(task) {
let handle;
const promise = new Promise(resolve => {
handle = requestIdleCallback(() => {
task ? resolve(task()) : resolve();
});
});
return {
then: promise.then.bind(promise),
done: promise.then.bind(promise),
cancel: () => {
cancelIdleCallback(handle);
}
};
},
/**
* Notify manager that an interaction has started.
*/
createInteractionHandle() {
return 1;
},
/**
* Notify manager that an interaction has completed.
*/
clearInteractionHandle(handle) {},
addListener: () => {}
};
var InteractionManager_default = InteractionManager;
export { InteractionManager, InteractionManager_default as default };
//# sourceMappingURL=InteractionManager.mjs.map