26 lines
530 B
JavaScript
26 lines
530 B
JavaScript
|
"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 (options.hash) {
|
||
|
// eslint-disable-next-line no-param-reassign
|
||
|
url += options.hash;
|
||
|
}
|
||
|
|
||
|
if (options.maybeNeedQuotes && /[\t\n\f\r "'=<>`]/.test(url)) {
|
||
|
return "\"".concat(url, "\"");
|
||
|
}
|
||
|
|
||
|
return url;
|
||
|
};
|