element-notifier
Advanced tools
Comparing version 1.1.0 to 1.1.1
@@ -14,4 +14,3 @@ 'use strict'; | ||
const notify = (callback, root = document, MO = MutationObserver, query = ['*']) => { | ||
const loop = (nodes, added, removed, connected, pass) => { | ||
const selectors = query.join(','); | ||
const loop = (nodes, selectors, added, removed, connected, pass) => { | ||
for (const node of nodes) { | ||
@@ -32,3 +31,3 @@ if (pass || (QSA in node)) { | ||
if (!pass) | ||
loop(node[QSA](selectors), added, removed, connected, TRUE); | ||
loop(node[QSA](selectors), selectors, added, removed, connected, TRUE); | ||
} | ||
@@ -39,6 +38,9 @@ } | ||
const mo = new MO(records => { | ||
const added = new Set, removed = new Set; | ||
for (const {addedNodes, removedNodes} of records) { | ||
loop(removedNodes, added, removed, FALSE, FALSE); | ||
loop(addedNodes, added, removed, TRUE, FALSE); | ||
if (query.length) { | ||
const selectors = query.join(','); | ||
const added = new Set, removed = new Set; | ||
for (const {addedNodes, removedNodes} of records) { | ||
loop(removedNodes, selectors, added, removed, FALSE, FALSE); | ||
loop(addedNodes, selectors, added, removed, TRUE, FALSE); | ||
} | ||
} | ||
@@ -45,0 +47,0 @@ }); |
self.elementNotifier=function(e){"use strict"; | ||
/*! (c) Andrea Giammarchi - ISC */const t=!0,o=!1,n="querySelectorAll";return e.notify=(e,r=document,s=MutationObserver,d=["*"])=>{const c=(o,r,s,i,l)=>{const a=d.join(",");for(const d of o)(l||n in d)&&(i?r.has(d)||(r.add(d),s.delete(d),e(d,i)):s.has(d)||(s.add(d),r.delete(d),e(d,i)),l||c(d[n](a),r,s,i,t))},i=new s((e=>{const n=new Set,r=new Set;for(const{addedNodes:s,removedNodes:d}of e)c(d,n,r,o,o),c(s,n,r,t,o)})),{observe:l}=i;return(i.observe=e=>l.call(i,e,{subtree:t,childList:t}))(r),i},e}({}); | ||
/*! (c) Andrea Giammarchi - ISC */const t=!0,o=!1,n="querySelectorAll";return e.notify=(e,r=document,s=MutationObserver,d=["*"])=>{const c=(o,r,s,d,i,l)=>{for(const a of o)(l||n in a)&&(i?s.has(a)||(s.add(a),d.delete(a),e(a,i)):d.has(a)||(d.add(a),s.delete(a),e(a,i)),l||c(a[n](r),r,s,d,i,t))},i=new s((e=>{if(d.length){const n=d.join(","),r=new Set,s=new Set;for(const{addedNodes:d,removedNodes:i}of e)c(i,n,r,s,o,o),c(d,n,r,s,t,o)}})),{observe:l}=i;return(i.observe=e=>l.call(i,e,{subtree:t,childList:t}))(r),i},e}({}); |
/*! (c) Andrea Giammarchi - ISC */ | ||
const e="querySelectorAll",t=(t,o=document,s=MutationObserver,r=["*"])=>{const d=(o,s,n,l,a)=>{const c=r.join(",");for(const r of o)(a||e in r)&&(l?s.has(r)||(s.add(r),n.delete(r),t(r,l)):n.has(r)||(n.add(r),s.delete(r),t(r,l)),a||d(r[e](c),s,n,l,true))},n=new s((e=>{const t=new Set,o=new Set;for(const{addedNodes:s,removedNodes:r}of e)d(r,t,o,false,false),d(s,t,o,true,false)})),{observe:l}=n;return(n.observe=e=>l.call(n,e,{subtree:true,childList:true}))(o),n};export{t as notify}; | ||
const e="querySelectorAll",t=(t,o=document,r=MutationObserver,s=["*"])=>{const d=(o,r,s,n,l,a)=>{for(const c of o)(a||e in c)&&(l?s.has(c)||(s.add(c),n.delete(c),t(c,l)):n.has(c)||(n.add(c),s.delete(c),t(c,l)),a||d(c[e](r),r,s,n,l,true))},n=new r((e=>{if(s.length){const t=s.join(","),o=new Set,r=new Set;for(const{addedNodes:s,removedNodes:n}of e)d(n,t,o,r,false,false),d(s,t,o,r,true,false)}})),{observe:l}=n;return(n.observe=e=>l.call(n,e,{subtree:true,childList:true}))(o),n};export{t as notify}; |
@@ -13,4 +13,3 @@ /*! (c) Andrea Giammarchi - ISC */ | ||
export const notify = (callback, root = document, MO = MutationObserver, query = ['*']) => { | ||
const loop = (nodes, added, removed, connected, pass) => { | ||
const selectors = query.join(','); | ||
const loop = (nodes, selectors, added, removed, connected, pass) => { | ||
for (const node of nodes) { | ||
@@ -31,3 +30,3 @@ if (pass || (QSA in node)) { | ||
if (!pass) | ||
loop(node[QSA](selectors), added, removed, connected, TRUE); | ||
loop(node[QSA](selectors), selectors, added, removed, connected, TRUE); | ||
} | ||
@@ -38,6 +37,9 @@ } | ||
const mo = new MO(records => { | ||
const added = new Set, removed = new Set; | ||
for (const {addedNodes, removedNodes} of records) { | ||
loop(removedNodes, added, removed, FALSE, FALSE); | ||
loop(addedNodes, added, removed, TRUE, FALSE); | ||
if (query.length) { | ||
const selectors = query.join(','); | ||
const added = new Set, removed = new Set; | ||
for (const {addedNodes, removedNodes} of records) { | ||
loop(removedNodes, selectors, added, removed, FALSE, FALSE); | ||
loop(addedNodes, selectors, added, removed, TRUE, FALSE); | ||
} | ||
} | ||
@@ -44,0 +46,0 @@ }); |
16
index.js
@@ -16,4 +16,3 @@ self.elementNotifier = (function (exports) { | ||
const notify = (callback, root = document, MO = MutationObserver, query = ['*']) => { | ||
const loop = (nodes, added, removed, connected, pass) => { | ||
const selectors = query.join(','); | ||
const loop = (nodes, selectors, added, removed, connected, pass) => { | ||
for (const node of nodes) { | ||
@@ -34,3 +33,3 @@ if (pass || (QSA in node)) { | ||
if (!pass) | ||
loop(node[QSA](selectors), added, removed, connected, TRUE); | ||
loop(node[QSA](selectors), selectors, added, removed, connected, TRUE); | ||
} | ||
@@ -41,6 +40,9 @@ } | ||
const mo = new MO(records => { | ||
const added = new Set, removed = new Set; | ||
for (const {addedNodes, removedNodes} of records) { | ||
loop(removedNodes, added, removed, FALSE, FALSE); | ||
loop(addedNodes, added, removed, TRUE, FALSE); | ||
if (query.length) { | ||
const selectors = query.join(','); | ||
const added = new Set, removed = new Set; | ||
for (const {addedNodes, removedNodes} of records) { | ||
loop(removedNodes, selectors, added, removed, FALSE, FALSE); | ||
loop(addedNodes, selectors, added, removed, TRUE, FALSE); | ||
} | ||
} | ||
@@ -47,0 +49,0 @@ }); |
{ | ||
"name": "element-notifier", | ||
"version": "1.1.0", | ||
"version": "1.1.1", | ||
"description": "A MutationObserver dis/connected helper", | ||
@@ -5,0 +5,0 @@ "main": "./cjs/index.js", |
10941
148