rrweb-snapshot
Advanced tools
Comparing version 0.5.3 to 0.5.4
@@ -20,2 +20,24 @@ var rrwebSnapshot = (function (exports) { | ||
} | ||
var CSS_RULE = /([a-z0-9\[\]=:]+\s)(\{[\s\S][^}]*})/; | ||
var CSS_RULE_GLOBAL = /([a-z0-9\[\]=:]+\s)(\{[\s\S][^}]*})/g; | ||
var HOVER_SELECTOR = /([^\\]):hover/g; | ||
function addHoverClass(cssText) { | ||
var matches = cssText.match(CSS_RULE_GLOBAL) || []; | ||
for (var _i = 0, matches_1 = matches; _i < matches_1.length; _i++) { | ||
var match = matches_1[_i]; | ||
var _a = match.match(CSS_RULE) || [], _b = _a[1], selectorText = _b === void 0 ? '' : _b, _c = _a[2], rules = _c === void 0 ? '' : _c; | ||
var selectors = selectorText | ||
.split(',') | ||
.map(function (selector) { return selector.trim(); }) | ||
.map(function (selector) { | ||
if (HOVER_SELECTOR.test(selector)) { | ||
var newSelector = selector.replace(HOVER_SELECTOR, '$1.:hover'); | ||
selector += ", " + newSelector; | ||
} | ||
return selector; | ||
}); | ||
cssText.replace(match, selectors.join(', ') + ' ' + rules); | ||
} | ||
return cssText; | ||
} | ||
function getCssRulesString(s) { | ||
@@ -25,3 +47,3 @@ try { | ||
return rules | ||
? Array.from(rules).reduce(function (prev, cur) { return (prev += cur.cssText); }, '') | ||
? Array.from(rules).reduce(function (prev, cur) { return (prev += addHoverClass(cur.cssText)); }, '') | ||
: null; | ||
@@ -348,3 +370,4 @@ } | ||
} | ||
function buildNodeWithSN(n, doc, map) { | ||
function buildNodeWithSN(n, doc, map, skipChild) { | ||
if (skipChild === void 0) { skipChild = false; } | ||
var node = buildNode(n, doc); | ||
@@ -360,3 +383,4 @@ if (!node) { | ||
map[n.id] = node; | ||
if (n.type === exports.NodeType.Document || n.type === exports.NodeType.Element) { | ||
if ((n.type === exports.NodeType.Document || n.type === exports.NodeType.Element) && | ||
!skipChild) { | ||
for (var _i = 0, _a = n.childNodes; _i < _a.length; _i++) { | ||
@@ -363,0 +387,0 @@ var childN = _a[_i]; |
@@ -21,2 +21,24 @@ 'use strict'; | ||
} | ||
var CSS_RULE = /([a-z0-9\[\]=:]+\s)(\{[\s\S][^}]*})/; | ||
var CSS_RULE_GLOBAL = /([a-z0-9\[\]=:]+\s)(\{[\s\S][^}]*})/g; | ||
var HOVER_SELECTOR = /([^\\]):hover/g; | ||
function addHoverClass(cssText) { | ||
var matches = cssText.match(CSS_RULE_GLOBAL) || []; | ||
for (var _i = 0, matches_1 = matches; _i < matches_1.length; _i++) { | ||
var match = matches_1[_i]; | ||
var _a = match.match(CSS_RULE) || [], _b = _a[1], selectorText = _b === void 0 ? '' : _b, _c = _a[2], rules = _c === void 0 ? '' : _c; | ||
var selectors = selectorText | ||
.split(',') | ||
.map(function (selector) { return selector.trim(); }) | ||
.map(function (selector) { | ||
if (HOVER_SELECTOR.test(selector)) { | ||
var newSelector = selector.replace(HOVER_SELECTOR, '$1.:hover'); | ||
selector += ", " + newSelector; | ||
} | ||
return selector; | ||
}); | ||
cssText.replace(match, selectors.join(', ') + ' ' + rules); | ||
} | ||
return cssText; | ||
} | ||
function getCssRulesString(s) { | ||
@@ -26,3 +48,3 @@ try { | ||
return rules | ||
? Array.from(rules).reduce(function (prev, cur) { return (prev += cur.cssText); }, '') | ||
? Array.from(rules).reduce(function (prev, cur) { return (prev += addHoverClass(cur.cssText)); }, '') | ||
: null; | ||
@@ -349,3 +371,4 @@ } | ||
} | ||
function buildNodeWithSN(n, doc, map) { | ||
function buildNodeWithSN(n, doc, map, skipChild) { | ||
if (skipChild === void 0) { skipChild = false; } | ||
var node = buildNode(n, doc); | ||
@@ -361,3 +384,4 @@ if (!node) { | ||
map[n.id] = node; | ||
if (n.type === exports.NodeType.Document || n.type === exports.NodeType.Element) { | ||
if ((n.type === exports.NodeType.Document || n.type === exports.NodeType.Element) && | ||
!skipChild) { | ||
for (var _i = 0, _a = n.childNodes; _i < _a.length; _i++) { | ||
@@ -364,0 +388,0 @@ var childN = _a[_i]; |
@@ -18,2 +18,24 @@ var NodeType; | ||
} | ||
var CSS_RULE = /([a-z0-9\[\]=:]+\s)(\{[\s\S][^}]*})/; | ||
var CSS_RULE_GLOBAL = /([a-z0-9\[\]=:]+\s)(\{[\s\S][^}]*})/g; | ||
var HOVER_SELECTOR = /([^\\]):hover/g; | ||
function addHoverClass(cssText) { | ||
var matches = cssText.match(CSS_RULE_GLOBAL) || []; | ||
for (var _i = 0, matches_1 = matches; _i < matches_1.length; _i++) { | ||
var match = matches_1[_i]; | ||
var _a = match.match(CSS_RULE) || [], _b = _a[1], selectorText = _b === void 0 ? '' : _b, _c = _a[2], rules = _c === void 0 ? '' : _c; | ||
var selectors = selectorText | ||
.split(',') | ||
.map(function (selector) { return selector.trim(); }) | ||
.map(function (selector) { | ||
if (HOVER_SELECTOR.test(selector)) { | ||
var newSelector = selector.replace(HOVER_SELECTOR, '$1.:hover'); | ||
selector += ", " + newSelector; | ||
} | ||
return selector; | ||
}); | ||
cssText.replace(match, selectors.join(', ') + ' ' + rules); | ||
} | ||
return cssText; | ||
} | ||
function getCssRulesString(s) { | ||
@@ -23,3 +45,3 @@ try { | ||
return rules | ||
? Array.from(rules).reduce(function (prev, cur) { return (prev += cur.cssText); }, '') | ||
? Array.from(rules).reduce(function (prev, cur) { return (prev += addHoverClass(cur.cssText)); }, '') | ||
: null; | ||
@@ -346,3 +368,4 @@ } | ||
} | ||
function buildNodeWithSN(n, doc, map) { | ||
function buildNodeWithSN(n, doc, map, skipChild) { | ||
if (skipChild === void 0) { skipChild = false; } | ||
var node = buildNode(n, doc); | ||
@@ -358,3 +381,4 @@ if (!node) { | ||
map[n.id] = node; | ||
if (n.type === NodeType.Document || n.type === NodeType.Element) { | ||
if ((n.type === NodeType.Document || n.type === NodeType.Element) && | ||
!skipChild) { | ||
for (var _i = 0, _a = n.childNodes; _i < _a.length; _i++) { | ||
@@ -361,0 +385,0 @@ var childN = _a[_i]; |
{ | ||
"name": "rrweb-snapshot", | ||
"version": "0.5.3", | ||
"version": "0.5.4", | ||
"description": "rrweb's component to take a snapshot of DOM, aka DOM serializer", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.js", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
40858
1273