Socket
Socket
Sign inDemoInstall

dom-mutator

Package Overview
Dependencies
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

dom-mutator - npm Package Compare versions

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
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc