You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
"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 };
|