svelte-search-engine
Version:
A wrapper for Google's Programmable Search Engine, providing a Svelte-friendly interface.
19 lines (18 loc) • 602 B
JavaScript
import { unmount } from 'svelte';
export const destroyRegistry = new Map();
export const createDestroyObserver = () => new MutationObserver((mutationsList) => {
if (!destroyRegistry.size) {
return;
}
mutationsList.forEach((mutation) => {
if (mutation.type === 'childList') {
mutation.removedNodes.forEach((node) => {
const component = destroyRegistry.get(node);
if (component) {
destroyRegistry.delete(node);
void unmount(component);
}
});
}
});
});