Socket
Socket
Sign inDemoInstall

dom-mutator

Package Overview
Dependencies
0
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.2.3 to 0.2.4

21

dist/dom-mutator.cjs.development.js

@@ -38,9 +38,10 @@ 'use strict';

if (!element[attr]) {
var currentValue = getCurrentValue(el, attr);
var elAttr = {
externalValue: getCurrentValue(el, attr),
lastValue: '',
originalValue: currentValue,
virtualValue: currentValue,
observer: new MutationObserver(function () {
var currentVal = getCurrentValue(el, attr);
if (currentVal === elAttr.lastValue) return;
elAttr.externalValue = currentVal;
var currentValue = getCurrentValue(el, attr);
if (currentValue === elAttr.virtualValue) return;
elAttr.originalValue = currentValue;
applyMutations(el, attr);

@@ -150,3 +151,3 @@ }),

elAttr.dirty = false;
setValue(el, attr, elAttr.lastValue); // No more mutations for the element, remove the observer
var value = elAttr.virtualValue; // No more mutations for the element, remove the observer

@@ -156,2 +157,4 @@ if (!elAttr.mutations.length) {

}
setValue(el, attr, value);
}

@@ -171,3 +174,3 @@ });

var elAttr = getElementAttributeRecord(el, attr);
var val = elAttr.externalValue;
var val = elAttr.originalValue;
elAttr.mutations.forEach(function (id) {

@@ -180,7 +183,7 @@ var mutation = mutations[id];

});
elAttr.virtualValue = val;
var currentVal = getCurrentValue(el, attr);
if (val !== currentVal) {
if (elAttr.virtualValue !== currentVal) {
elAttr.dirty = true;
elAttr.lastValue = val;
queueDOMUpdates();

@@ -187,0 +190,0 @@ }

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

"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t={},n=new Map,r=1,a=/^([a-zA-Z:_][a-zA-Z0-9:_.-]*)\s*=\s*"([^"]*)"/;function u(e,t){var r=n.get(e);if(r||n.set(e,r={}),!r[t]){var a={externalValue:i(e,t),lastValue:"",observer:new MutationObserver((function(){var n=i(e,t);n!==a.lastValue&&(a.externalValue=n,l(e,t))})),mutations:[]};r[t]=a,a.observer.observe(e,function(e){return"html"===e?{childList:!0,subtree:!0,attributes:!0,characterData:!0}:{childList:!1,subtree:!1,attributes:!0,attributeFilter:[e]}}(t))}return r[t]}function i(e,t){return"html"===t?e.innerHTML:"className"===t?e.className:e.getAttribute(t)||""}var s,o=!1;function c(){o=!1,n.forEach((function(e,t){Object.keys(e).forEach((function(r){var a=e[r];a.dirty&&(a.dirty=!1,function(e,t,n){"html"===t?e.innerHTML=n:"className"===t?n?e.className=n:e.removeAttribute("class"):n?e.setAttribute(t,n):e.removeAttribute(t)}(t,r,a.lastValue),a.mutations.length||function(e,t){var r=n.get(e);r&&(r[t]&&r[t].observer.disconnect(),delete r[t])}(t,r))}))}))}function l(e,n){var r=u(e,n),s=r.externalValue;r.mutations.forEach((function(e){var n=t[e];n&&(s=function(e,t){if("addClass"===e.type){var n=t.split(" ");return e.value.split(" ").forEach((function(e){n.includes(e)||n.push(e)})),n.filter(Boolean).join(" ")}if("removeClass"===e.type){var r=t.split(" "),u=e.value.split(" ");return r.filter((function(e){return!u.includes(e)})).join(" ")}if("setHTML"===e.type)return e.value;if("appendHTML"===e.type)return t+e.value;if("setAttribute"===e.type){var i=a.exec(e.value);return(null==i?void 0:i[2])||""}return t}(n,s))}));var l=i(e,n);s!==l&&(r.dirty=!0,r.lastValue=s,o||(o=!0,requestAnimationFrame(c)))}function f(e,t){if(["addClass","removeClass"].includes(e))return"className";if(["appendHTML","setHTML"].includes(e))return"html";if("setAttribute"===e){var n=a.exec(t);if(null!=n&&n[1]){var r=n[1];return"class"===r||"classname"===r?"className":r}}return""}function v(e,n){var r=t[e];if(r){r.elements.delete(n);var a=f(r.type,r.value),i=u(n,a),s=i.mutations.indexOf(e);-1!==s&&i.mutations.splice(s,1),l(n,a)}}function d(e){var n=t[e];if(n){var r=new Set(n.elements),a=new Set;document.body.querySelectorAll(n.selector).forEach((function(n){a.add(n),r.has(n)||function(e,n){var r=t[e];if(r){r.elements.add(n);var a=f(r.type,r.value);u(n,a).mutations.push(e),l(n,a)}}(e,n)})),r.forEach((function(t){a.has(t)||v(e,t)}))}}function m(){Object.keys(t).forEach((function(e){d(e)}))}function b(){"undefined"!=typeof document&&(s||(s=new MutationObserver((function(){m()}))),m(),s.observe(document.body,{childList:!0,subtree:!0,attributes:!1,characterData:!1}))}b(),exports.connectGlobalObserver=b,exports.default=function(n,a,u){if("undefined"==typeof document)return function(){};if(!f(a,u))return function(){};var i=function(n,a,u){var i;"appendHTML"!==a&&"setHTML"!==a||(i=u,e||(e=document.createElement("div")),e.innerHTML=i,u=e.innerHTML);var s=""+r++;return t[s]={selector:n,type:a,value:u,elements:new Set},d(s),s}(n,a,u);return function(){!function(e){var n=t[e];n&&(new Set(n.elements).forEach((function(t){v(e,t)})),t[e].elements.clear(),delete t[e])}(i)}},exports.disconnectGlobalObserver=function(){s&&s.disconnect()};
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t={},n=new Map,r=1,a=/^([a-zA-Z:_][a-zA-Z0-9:_.-]*)\s*=\s*"([^"]*)"/;function i(e,t){var r=n.get(e);if(r||n.set(e,r={}),!r[t]){var a=u(e,t),i={originalValue:a,virtualValue:a,observer:new MutationObserver((function(){var n=u(e,t);n!==i.virtualValue&&(i.originalValue=n,l(e,t))})),mutations:[]};r[t]=i,i.observer.observe(e,function(e){return"html"===e?{childList:!0,subtree:!0,attributes:!0,characterData:!0}:{childList:!1,subtree:!1,attributes:!0,attributeFilter:[e]}}(t))}return r[t]}function u(e,t){return"html"===t?e.innerHTML:"className"===t?e.className:e.getAttribute(t)||""}var s,o=!1;function c(){o=!1,n.forEach((function(e,t){Object.keys(e).forEach((function(r){var a=e[r];if(a.dirty){a.dirty=!1;var i=a.virtualValue;a.mutations.length||function(e,t){var r=n.get(e);r&&(r[t]&&r[t].observer.disconnect(),delete r[t])}(t,r),function(e,t,n){"html"===t?e.innerHTML=n:"className"===t?n?e.className=n:e.removeAttribute("class"):n?e.setAttribute(t,n):e.removeAttribute(t)}(t,r,i)}}))}))}function l(e,n){var r=i(e,n),s=r.originalValue;r.mutations.forEach((function(e){var n=t[e];n&&(s=function(e,t){if("addClass"===e.type){var n=t.split(" ");return e.value.split(" ").forEach((function(e){n.includes(e)||n.push(e)})),n.filter(Boolean).join(" ")}if("removeClass"===e.type){var r=t.split(" "),i=e.value.split(" ");return r.filter((function(e){return!i.includes(e)})).join(" ")}if("setHTML"===e.type)return e.value;if("appendHTML"===e.type)return t+e.value;if("setAttribute"===e.type){var u=a.exec(e.value);return(null==u?void 0:u[2])||""}return t}(n,s))})),r.virtualValue=s;var l=u(e,n);r.virtualValue!==l&&(r.dirty=!0,o||(o=!0,requestAnimationFrame(c)))}function f(e,t){if(["addClass","removeClass"].includes(e))return"className";if(["appendHTML","setHTML"].includes(e))return"html";if("setAttribute"===e){var n=a.exec(t);if(null!=n&&n[1]){var r=n[1];return"class"===r||"classname"===r?"className":r}}return""}function v(e,n){var r=t[e];if(r){r.elements.delete(n);var a=f(r.type,r.value),u=i(n,a),s=u.mutations.indexOf(e);-1!==s&&u.mutations.splice(s,1),l(n,a)}}function d(e){var n=t[e];if(n){var r=new Set(n.elements),a=new Set;document.body.querySelectorAll(n.selector).forEach((function(n){a.add(n),r.has(n)||function(e,n){var r=t[e];if(r){r.elements.add(n);var a=f(r.type,r.value);i(n,a).mutations.push(e),l(n,a)}}(e,n)})),r.forEach((function(t){a.has(t)||v(e,t)}))}}function m(){Object.keys(t).forEach((function(e){d(e)}))}function b(){"undefined"!=typeof document&&(s||(s=new MutationObserver((function(){m()}))),m(),s.observe(document.body,{childList:!0,subtree:!0,attributes:!1,characterData:!1}))}b(),exports.connectGlobalObserver=b,exports.default=function(n,a,i){if("undefined"==typeof document)return function(){};if(!f(a,i))return function(){};var u=function(n,a,i){var u;"appendHTML"!==a&&"setHTML"!==a||(u=i,e||(e=document.createElement("div")),e.innerHTML=u,i=e.innerHTML);var s=""+r++;return t[s]={selector:n,type:a,value:i,elements:new Set},d(s),s}(n,a,i);return function(){!function(e){var n=t[e];n&&(new Set(n.elements).forEach((function(t){v(e,t)})),t[e].elements.clear(),delete t[e])}(u)}},exports.disconnectGlobalObserver=function(){s&&s.disconnect()};
//# sourceMappingURL=dom-mutator.cjs.production.min.js.map

@@ -34,9 +34,10 @@ var mutations = {};

if (!element[attr]) {
var currentValue = getCurrentValue(el, attr);
var elAttr = {
externalValue: getCurrentValue(el, attr),
lastValue: '',
originalValue: currentValue,
virtualValue: currentValue,
observer: new MutationObserver(function () {
var currentVal = getCurrentValue(el, attr);
if (currentVal === elAttr.lastValue) return;
elAttr.externalValue = currentVal;
var currentValue = getCurrentValue(el, attr);
if (currentValue === elAttr.virtualValue) return;
elAttr.originalValue = currentValue;
applyMutations(el, attr);

@@ -146,3 +147,3 @@ }),

elAttr.dirty = false;
setValue(el, attr, elAttr.lastValue); // No more mutations for the element, remove the observer
var value = elAttr.virtualValue; // No more mutations for the element, remove the observer

@@ -152,2 +153,4 @@ if (!elAttr.mutations.length) {

}
setValue(el, attr, value);
}

@@ -167,3 +170,3 @@ });

var elAttr = getElementAttributeRecord(el, attr);
var val = elAttr.externalValue;
var val = elAttr.originalValue;
elAttr.mutations.forEach(function (id) {

@@ -176,7 +179,7 @@ var mutation = mutations[id];

});
elAttr.virtualValue = val;
var currentVal = getCurrentValue(el, attr);
if (val !== currentVal) {
if (elAttr.virtualValue !== currentVal) {
elAttr.dirty = true;
elAttr.lastValue = val;
queueDOMUpdates();

@@ -183,0 +186,0 @@ }

{
"version": "0.2.3",
"version": "0.2.4",
"license": "MIT",

@@ -4,0 +4,0 @@ "main": "dist/index.js",

@@ -16,4 +16,4 @@ export type MutationType =

type ElementAttributeRecord = {
externalValue: string;
lastValue: string;
originalValue: string;
virtualValue: string;
dirty?: boolean;

@@ -63,9 +63,10 @@ observer: MutationObserver;

if (!element[attr]) {
const currentValue = getCurrentValue(el, attr);
const elAttr: ElementAttributeRecord = {
externalValue: getCurrentValue(el, attr),
lastValue: '',
originalValue: currentValue,
virtualValue: currentValue,
observer: new MutationObserver(() => {
const currentVal = getCurrentValue(el, attr);
if (currentVal === elAttr.lastValue) return;
elAttr.externalValue = currentVal;
const currentValue = getCurrentValue(el, attr);
if (currentValue === elAttr.virtualValue) return;
elAttr.originalValue = currentValue;
applyMutations(el, attr);

@@ -162,4 +163,3 @@ }),

elAttr.dirty = false;
setValue(el, attr, elAttr.lastValue);
const value = elAttr.virtualValue;
// No more mutations for the element, remove the observer

@@ -169,2 +169,3 @@ if (!elAttr.mutations.length) {

}
setValue(el, attr, value);
}

@@ -183,3 +184,3 @@ });

const elAttr = getElementAttributeRecord(el, attr);
let val = elAttr.externalValue;
let val = elAttr.originalValue;
elAttr.mutations.forEach(id => {

@@ -191,7 +192,6 @@ const mutation = mutations[id];

});
elAttr.virtualValue = val;
const currentVal = getCurrentValue(el, attr);
if (val !== currentVal) {
if (elAttr.virtualValue !== currentVal) {
elAttr.dirty = true;
elAttr.lastValue = val;
queueDOMUpdates();

@@ -198,0 +198,0 @@ }

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc