/
Mikhail823
/
todo
Обзор
Документация
Войти
/
Mikhail823
/
todo
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
node_modules/webpack-dev-server/client/utils/parseURL.js
36 строк
1 KB
Mikhail Popov
j
23 фев 2026, 16:12
23 фев 2026, 16:12
ff7232a
Код
Авторство
О чём код?
import getCurrentScriptSource from "./getCurrentScriptSource.js"; /** * @param {string} resourceQuery * @returns {{ [key: string]: string | boolean }} */ function parseURL(resourceQuery) { /** @type {{ [key: string]: string }} */ var options = {}; if (typeof resourceQuery === "string" && resourceQuery !== "") { var searchParams = resourceQuery.slice(1).split("&"); for (var i = 0; i < searchParams.length; i++) { var pair = searchParams[i].split("="); options[pair[0]] = decodeURIComponent(pair[1]); } } else { // Else, get the url from the <script> this file was called with. var scriptSource = getCurrentScriptSource(); var scriptSourceURL; try { // The placeholder `baseURL` with `window.location.href`, // is to allow parsing of path-relative or protocol-relative URLs, // and will have no effect if `scriptSource` is a fully valid URL. scriptSourceURL = new URL(scriptSource, self.location.href); } catch (error) { // URL parsing failed, do nothing. // We will still proceed to see if we can recover using `resourceQuery` } if (scriptSourceURL) { options = scriptSourceURL; options.fromCurrentScript = true; } } return options; } export default parseURL;