Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | // https://github.com/PaulMaly/svelte-actions-mutation/blob/master/src/index.js /** * * @param {HTMLElement} node * @param {MutationObserverInit & Partial<Record<`on${MutationRecordType}`, (m: MutationRecord) => void>>} options * @returns */ export function mutationobserver(node, options) { /** @type {MutationObserver|null} */ let observer = null; function update(options = {}) { destroy(); observer = new MutationObserver((mutations) => { // @ts-ignore mutations.forEach((m) => options[`on${m.type}`]?.(m)); }); observer.observe(node, options); } function destroy() { observer?.disconnect(); observer = null; } update(options); return { update, destroy }; } |