"use strict"; module.exports = function (url, options) { if (!options) { // eslint-disable-next-line no-param-reassign options = {}; } if (!url) { return url; } // eslint-disable-next-line no-underscore-dangle, no-param-reassign url = String(url.__esModule ? url.default : url); // If url is already wrapped in quotes, remove them if (/^['"].*['"]$/.test(url)) { // eslint-disable-next-line no-param-reassign url = url.slice(1, -1); } if (options.hash) { // eslint-disable-next-line no-param-reassign url += options.hash; } // Should url be wrapped? // See https://drafts.csswg.org/css-values-3/#urls if (/["'() \t\n]|(%20)/.test(url) || options.needQuotes) { return "\"".concat(url.replace(/"/g, '\\"').replace(/\n/g, "\\n"), "\""); } return url; };