shift73k/assets_old/node_modules/@popperjs/core/lib/utils/debounce.js.flow

18 lines
327 B
Text
Raw Normal View History

// @flow
export default function debounce<T>(fn: Function): () => Promise<T> {
let pending;
return () => {
if (!pending) {
pending = new Promise<T>(resolve => {
Promise.resolve().then(() => {
pending = undefined;
resolve(fn());
});
});
}
return pending;
};
}