mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-10-05 19:41:12 +08:00
R=jacktfranklin@chromium.org Bug: 1213034 Change-Id: I5da8225f60b53870a1c67d6b5d02a464c08f4eb2 Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2917088 Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org> Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
59 lines
1.1 KiB
JavaScript
59 lines
1.1 KiB
JavaScript
"use strict";
|
|
|
|
var hrefInfo = require("./hrefInfo");
|
|
var parseHost = require("./host");
|
|
var parsePath = require("./path");
|
|
var parsePort = require("./port");
|
|
var parseQuery = require("./query");
|
|
var parseUrlString = require("./urlstring");
|
|
var pathUtils = require("../util/path");
|
|
|
|
|
|
|
|
function parseFromUrl(url, options, fallback)
|
|
{
|
|
if (url)
|
|
{
|
|
var urlObj = parseUrl(url, options);
|
|
|
|
// Because the following occurs in the relate stage for "to" URLs,
|
|
// such had to be mostly duplicated here
|
|
|
|
var pathArray = pathUtils.resolveDotSegments(urlObj.path.absolute.array);
|
|
|
|
urlObj.path.absolute.array = pathArray;
|
|
urlObj.path.absolute.string = "/" + pathUtils.join(pathArray);
|
|
|
|
return urlObj;
|
|
}
|
|
else
|
|
{
|
|
return fallback;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
function parseUrl(url, options)
|
|
{
|
|
var urlObj = parseUrlString(url, options);
|
|
|
|
if (urlObj.valid===false) return urlObj;
|
|
|
|
parseHost(urlObj, options);
|
|
parsePort(urlObj, options);
|
|
parsePath(urlObj, options);
|
|
parseQuery(urlObj, options);
|
|
hrefInfo(urlObj);
|
|
|
|
return urlObj;
|
|
}
|
|
|
|
|
|
|
|
module.exports =
|
|
{
|
|
from: parseFromUrl,
|
|
to: parseUrl
|
|
};
|