MCPcopy Index your code
hub / github.com/WebReflection/wicked-elements / notify

Function notify

index.js:41–76  ·  view source on GitHub ↗
(callback, root, MO)

Source from the content-addressed store, hash-verified

39
40
41 var notify = function notify(callback, root, MO) {
42 var loop = function loop(nodes, added, removed, connected, pass) {
43 for (var i = 0, length = nodes.length; i < length; i++) {
44 var node = nodes[i];
45
46 if (pass || QSA$1 in node) {
47 if (connected) {
48 if (!added.has(node)) {
49 added.add(node);
50 removed["delete"](node);
51 callback(node, connected);
52 }
53 } else if (!removed.has(node)) {
54 removed.add(node);
55 added["delete"](node);
56 callback(node, connected);
57 }
58
59 if (!pass) loop(node[QSA$1]('*'), added, removed, connected, TRUE);
60 }
61 }
62 };
63
64 var observer = new (MO || MutationObserver)(function (records) {
65 for (var added = new Set(), removed = new Set(), i = 0, length = records.length; i < length; i++) {
66 var _records$i = records[i],
67 addedNodes = _records$i.addedNodes,
68 removedNodes = _records$i.removedNodes;
69 loop(removedNodes, added, removed, FALSE, FALSE);
70 loop(addedNodes, added, removed, TRUE, FALSE);
71 }
72 });
73 observer.add = add;
74 observer.add(root || document);
75 return observer;
76 };
77
78 var QSA = 'querySelectorAll';
79 var _self = self,

Callers 1

index.jsFile · 0.85

Calls 1

loopFunction · 0.85

Tested by

no test coverage detected