New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

qsa-observer

Package Overview
Dependencies
Maintainers
1
Versions
21
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

qsa-observer - npm Package Compare versions

Comparing version

to
0.1.0

18

cjs/index.js

@@ -10,4 +10,4 @@ 'use strict';

for (let i = 0, {length} = records; i < length; i++) {
loop(filter.call(records[i].addedNodes, elements), true, query, new Set);
loop(filter.call(records[i].removedNodes, elements), false, query, new Set);
loop(filter.call(records[i].addedNodes, elements), true, query);
loop(filter.call(records[i].removedNodes, elements), false, query);
}

@@ -19,3 +19,3 @@ }

};
const loop = (elements, connected, query, set) => {
const loop = (elements, connected, query, set = new Set) => {
for (let element, i = 0, {length} = elements; i < length; i++) {

@@ -38,13 +38,11 @@ if (!set.has(element = elements[i])) {

const parse = (elements, connected = true) => {
loop(elements, connected, options.query, new Set);
loop(elements, connected, options.query);
};
const observer = new MutationObserver(callback);
const root = options.root || document;
const {query} = options;
observer.observe(root, {childList: true, subtree: true});
try { return {flush, observer, parse}; }
finally {
const {query} = options;
if (query.length)
parse(root.querySelectorAll(query));
}
if (query.length)
parse(root.querySelectorAll(query));
return {flush, observer, parse};
};

@@ -1,1 +0,1 @@

self.qsaObserver=function(e){"use strict";const t=e=>"querySelectorAll"in e,{filter:r}=[];return e.default=e=>{const l=l=>{const{query:o}=e;if(o.length)for(let e=0,{length:n}=l;e<n;e++)s(r.call(l[e].addedNodes,t),!0,o,new Set),s(r.call(l[e].removedNodes,t),!1,o,new Set)},o=()=>{l(a.takeRecords())},s=(t,r,l,o)=>{for(let c,a=0,{length:u}=t;a<u;a++)if(!o.has(c=t[a])){o.add(c);for(let t=n(c),o=0,{length:s}=l;o<s;o++)t.call(c,l[o])&&e.handle(c,r,l[o],o);s(c.querySelectorAll(l),r,l,o)}},n=e=>e.matches||e.webkitMatchesSelector||e.msMatchesSelector,c=(t,r=!0)=>{s(t,r,e.query,new Set)},a=new MutationObserver(l),u=e.root||document;a.observe(u,{childList:!0,subtree:!0});try{return{flush:o,observer:a,parse:c}}finally{const{query:t}=e;t.length&&c(u.querySelectorAll(t))}},e}({}).default;
self.qsaObserver=function(e){"use strict";const t=e=>"querySelectorAll"in e,{filter:r}=[];return e.default=e=>{const l=l=>{const{query:s}=e;if(s.length)for(let e=0,{length:c}=l;e<c;e++)o(r.call(l[e].addedNodes,t),!0,s),o(r.call(l[e].removedNodes,t),!1,s)},o=(t,r,l,c=new Set)=>{for(let n,a=0,{length:u}=t;a<u;a++)if(!c.has(n=t[a])){c.add(n);for(let t=s(n),o=0,{length:c}=l;o<c;o++)t.call(n,l[o])&&e.handle(n,r,l[o],o);o(n.querySelectorAll(l),r,l,c)}},s=e=>e.matches||e.webkitMatchesSelector||e.msMatchesSelector,c=(t,r=!0)=>{o(t,r,e.query)},n=new MutationObserver(l),a=e.root||document,{query:u}=e;return n.observe(a,{childList:!0,subtree:!0}),u.length&&c(a.querySelectorAll(u)),{flush:()=>{l(n.takeRecords())},observer:n,parse:c}},e}({}).default;

@@ -9,4 +9,4 @@ const elements = element => 'querySelectorAll' in element;

for (let i = 0, {length} = records; i < length; i++) {
loop(filter.call(records[i].addedNodes, elements), true, query, new Set);
loop(filter.call(records[i].removedNodes, elements), false, query, new Set);
loop(filter.call(records[i].addedNodes, elements), true, query);
loop(filter.call(records[i].removedNodes, elements), false, query);
}

@@ -18,3 +18,3 @@ }

};
const loop = (elements, connected, query, set) => {
const loop = (elements, connected, query, set = new Set) => {
for (let element, i = 0, {length} = elements; i < length; i++) {

@@ -37,13 +37,11 @@ if (!set.has(element = elements[i])) {

const parse = (elements, connected = true) => {
loop(elements, connected, options.query, new Set);
loop(elements, connected, options.query);
};
const observer = new MutationObserver(callback);
const root = options.root || document;
const {query} = options;
observer.observe(root, {childList: true, subtree: true});
try { return {flush, observer, parse}; }
finally {
const {query} = options;
if (query.length)
parse(root.querySelectorAll(query));
}
if (query.length)
parse(root.querySelectorAll(query));
return {flush, observer, parse};
};

@@ -15,4 +15,4 @@ self.qsaObserver = (function (exports) {

for (var i = 0, length = records.length; i < length; i++) {
loop(filter.call(records[i].addedNodes, elements), true, query, new Set());
loop(filter.call(records[i].removedNodes, elements), false, query, new Set());
loop(filter.call(records[i].addedNodes, elements), true, query);
loop(filter.call(records[i].removedNodes, elements), false, query);
}

@@ -26,3 +26,5 @@ }

var loop = function loop(elements, connected, query, set) {
var loop = function loop(elements, connected, query) {
var set = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : new Set();
for (var element, i = 0, length = elements.length; i < length; i++) {

@@ -47,3 +49,3 @@ if (!set.has(element = elements[i])) {

var connected = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
loop(elements, connected, options.query, new Set());
loop(elements, connected, options.query);
};

@@ -53,2 +55,3 @@

var root = options.root || document;
var query = options.query;
observer.observe(root, {

@@ -58,13 +61,8 @@ childList: true,

});
try {
return {
flush: flush,
observer: observer,
parse: parse
};
} finally {
var query = options.query;
if (query.length) parse(root.querySelectorAll(query));
}
if (query.length) parse(root.querySelectorAll(query));
return {
flush: flush,
observer: observer,
parse: parse
};
});

@@ -71,0 +69,0 @@

@@ -1,1 +0,1 @@

self.qsaObserver=function(e){"use strict";var r=function(e){return"querySelectorAll"in e},t=[].filter;return e.default=function(e){var n=function(n){var o=e.query;if(o.length)for(var a=0,u=n.length;a<u;a++)l(t.call(n[a].addedNodes,r),!0,o,new Set),l(t.call(n[a].removedNodes,r),!1,o,new Set)},l=function r(t,n,l,a){for(var u,c=0,s=t.length;c<s;c++)if(!a.has(u=t[c])){a.add(u);for(var i=o(u),f=0,d=l.length;f<d;f++)i.call(u,l[f])&&e.handle(u,n,l[f],f);r(u.querySelectorAll(l),n,l,a)}},o=function(e){return e.matches||e.webkitMatchesSelector||e.msMatchesSelector},a=function(r){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];l(r,t,e.query,new Set)},u=new MutationObserver(n),c=e.root||document;u.observe(c,{childList:!0,subtree:!0});try{return{flush:function(){n(u.takeRecords())},observer:u,parse:a}}finally{var s=e.query;s.length&&a(c.querySelectorAll(s))}},e}({}).default;
self.qsaObserver=function(e){"use strict";var r=function(e){return"querySelectorAll"in e},t=[].filter;return e.default=function(e){var n=function(n){var o=e.query;if(o.length)for(var u=0,c=n.length;u<c;u++)l(t.call(n[u].addedNodes,r),!0,o),l(t.call(n[u].removedNodes,r),!1,o)},l=function r(t,n,l){for(var u,c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new Set,a=0,s=t.length;a<s;a++)if(!c.has(u=t[a])){c.add(u);for(var i=o(u),f=0,d=l.length;f<d;f++)i.call(u,l[f])&&e.handle(u,n,l[f],f);r(u.querySelectorAll(l),n,l,c)}},o=function(e){return e.matches||e.webkitMatchesSelector||e.msMatchesSelector},u=function(r){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];l(r,t,e.query)},c=new MutationObserver(n),a=e.root||document,s=e.query;return c.observe(a,{childList:!0,subtree:!0}),s.length&&u(a.querySelectorAll(s)),{flush:function(){n(c.takeRecords())},observer:c,parse:u}},e}({}).default;
{
"name": "qsa-observer",
"version": "0.0.4",
"description": "",
"version": "0.1.0",
"description": "handle elements lifecycle through CSS selectors",
"main": "./cjs/index.js",

@@ -15,3 +15,6 @@ "scripts": {

},
"keywords": [],
"keywords": [
"querySelectorAll",
"MutationObserver"
],
"author": "Andrea Giammarchi",

@@ -35,3 +38,11 @@ "license": "ISC",

},
"unpkg": "min.js"
"unpkg": "min.js",
"repository": {
"type": "git",
"url": "git+https://github.com/WebReflection/qsa-observer.git"
},
"bugs": {
"url": "https://github.com/WebReflection/qsa-observer/issues"
},
"homepage": "https://github.com/WebReflection/qsa-observer#readme"
}
# qsa-observer
A way to be notified about any element that was connected, or disconnected, from a container.
Given an array of selectors, handles any matching element that was wither connected, or disconnected, from an observed element, or document.

@@ -8,6 +8,5 @@

* each element is granted to be passed along utilities, whenever it's observed via one, or more, selectors
* an element will pass through a `setup(element, selector)` utility, and per each matching selector
* elements injected through `innerHTML`, within nested elements, will be parsed too
* all elements that had a setup will pass through an `update(element, connected)` utility
* each element is granted to be handled, whenever it's observed via one, or more, selectors
* all observed elements will pass through `handle(element, selector)` utility, per each matching selector
* elements injected through `innerHTML`, or created offline, will be handled too once live

@@ -14,0 +13,0 @@