cssstyle 4.3.0 → 4.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/implementedProperties.js +1 -1
- package/lib/parsers.js +26 -5
- package/lib/properties.js +1 -1
- package/package.json +2 -2
package/lib/parsers.js
CHANGED
|
@@ -33,7 +33,7 @@ var lengthRegEx = new RegExp(
|
|
|
33
33
|
);
|
|
34
34
|
var percentRegEx = new RegExp(`^${NUMBER}%$`);
|
|
35
35
|
var angleRegEx = new RegExp(`^${NUMBER}(?:deg|g?rad|turn)$`);
|
|
36
|
-
var urlRegEx = /^url\(\s*([^)]*)\s*\)$/;
|
|
36
|
+
var urlRegEx = /^url\(\s*((?:[^)]|\\\))*)\s*\)$/;
|
|
37
37
|
var stringRegEx = /^("[^"]*"|'[^']*')$/;
|
|
38
38
|
var varRegEx = /^var\(|(?<=[*/\s(])var\(/;
|
|
39
39
|
var calcRegEx =
|
|
@@ -218,24 +218,45 @@ exports.parseUrl = function parseUrl(val) {
|
|
|
218
218
|
str = str.substr(1, str.length - 2);
|
|
219
219
|
}
|
|
220
220
|
|
|
221
|
+
var urlstr = '';
|
|
222
|
+
var escaped = false;
|
|
221
223
|
var i;
|
|
222
224
|
for (i = 0; i < str.length; i++) {
|
|
223
225
|
switch (str[i]) {
|
|
226
|
+
case '\\':
|
|
227
|
+
if (escaped) {
|
|
228
|
+
urlstr += '\\\\';
|
|
229
|
+
escaped = false;
|
|
230
|
+
} else {
|
|
231
|
+
escaped = true;
|
|
232
|
+
}
|
|
233
|
+
break;
|
|
224
234
|
case '(':
|
|
225
235
|
case ')':
|
|
226
236
|
case ' ':
|
|
227
237
|
case '\t':
|
|
228
238
|
case '\n':
|
|
229
239
|
case "'":
|
|
240
|
+
if (!escaped) {
|
|
241
|
+
return undefined;
|
|
242
|
+
}
|
|
243
|
+
urlstr += str[i];
|
|
244
|
+
escaped = false;
|
|
245
|
+
break;
|
|
230
246
|
case '"':
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
247
|
+
if (!escaped) {
|
|
248
|
+
return undefined;
|
|
249
|
+
}
|
|
250
|
+
urlstr += '\\"';
|
|
251
|
+
escaped = false;
|
|
234
252
|
break;
|
|
253
|
+
default:
|
|
254
|
+
urlstr += str[i];
|
|
255
|
+
escaped = false;
|
|
235
256
|
}
|
|
236
257
|
}
|
|
237
258
|
|
|
238
|
-
return 'url(' +
|
|
259
|
+
return 'url("' + urlstr + '")';
|
|
239
260
|
};
|
|
240
261
|
|
|
241
262
|
exports.parseString = function parseString(val) {
|
package/lib/properties.js
CHANGED
package/package.json
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"CSSStyleDeclaration",
|
|
7
7
|
"StyleSheet"
|
|
8
8
|
],
|
|
9
|
-
"version": "4.3.
|
|
9
|
+
"version": "4.3.1",
|
|
10
10
|
"homepage": "https://github.com/jsdom/cssstyle",
|
|
11
11
|
"maintainers": [
|
|
12
12
|
{
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
],
|
|
38
38
|
"main": "./lib/CSSStyleDeclaration.js",
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@asamuzakjp/css-color": "^3.1.
|
|
40
|
+
"@asamuzakjp/css-color": "^3.1.2",
|
|
41
41
|
"rrweb-cssom": "^0.8.0"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|