@algolia/autocomplete-js
Version:
Fast and fully-featured autocomplete JavaScript library.
28 lines (26 loc) • 625 B
JavaScript
export function createEffectWrapper() {
var effects = [];
var cleanups = [];
function runEffect(fn) {
effects.push(fn);
var effectCleanup = fn();
cleanups.push(effectCleanup);
}
return {
runEffect: runEffect,
cleanupEffects: function cleanupEffects() {
var currentCleanups = cleanups;
cleanups = [];
currentCleanups.forEach(function (cleanup) {
cleanup();
});
},
runEffects: function runEffects() {
var currentEffects = effects;
effects = [];
currentEffects.forEach(function (effect) {
runEffect(effect);
});
}
};
}