shift73k/assets_old/node_modules/mini-css-extract-plugin/dist/hmr/normalize-url.js

35 lines
No EOL
811 B
JavaScript

"use strict";
/* eslint-disable */
function normalizeUrl(pathComponents) {
return pathComponents.reduce(function (accumulator, item) {
switch (item) {
case '..':
accumulator.pop();
break;
case '.':
break;
default:
accumulator.push(item);
}
return accumulator;
}, []).join('/');
}
module.exports = function (urlString) {
urlString = urlString.trim();
if (/^data:/i.test(urlString)) {
return urlString;
}
var protocol = urlString.indexOf('//') !== -1 ? urlString.split('//')[0] + '//' : '';
var components = urlString.replace(new RegExp(protocol, 'i'), '').split('/');
var host = components[0].toLowerCase().replace(/\.$/, '');
components[0] = '';
var path = normalizeUrl(components);
return protocol + host + path;
};