summaryrefslogtreecommitdiffstats
path: root/node_modules/css-loader/lib/url/escape.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/css-loader/lib/url/escape.js')
-rw-r--r--node_modules/css-loader/lib/url/escape.js16
1 files changed, 16 insertions, 0 deletions
diff --git a/node_modules/css-loader/lib/url/escape.js b/node_modules/css-loader/lib/url/escape.js
new file mode 100644
index 0000000..25074a6
--- /dev/null
+++ b/node_modules/css-loader/lib/url/escape.js
@@ -0,0 +1,16 @@
+module.exports = function escape(url) {
+ if (typeof url !== 'string') {
+ return url
+ }
+ // If url is already wrapped in quotes, remove them
+ if (/^['"].*['"]$/.test(url)) {
+ url = url.slice(1, -1);
+ }
+ // Should url be wrapped?
+ // See https://drafts.csswg.org/css-values-3/#urls
+ if (/["'() \t\n]/.test(url)) {
+ return '"' + url.replace(/"/g, '\\"').replace(/\n/g, '\\n') + '"'
+ }
+
+ return url
+}