summaryrefslogtreecommitdiff
path: root/node_modules/relateurl/lib/relate
diff options
context:
space:
mode:
authorlittleblack111 <littleblack11111@gmail.com>2026-05-18 23:10:59 +0800
committerlittleblack111 <littleblack11111@gmail.com>2026-05-18 23:41:44 +0800
commitfc87c009806dcc98867f6b58efe29b042aa01dee (patch)
tree8f59b3f4a5b66e9dfef2d40c8d318e258a521228 /node_modules/relateurl/lib/relate
parent3336b2356ee6152d9c6ae59bd9b87ccbc0958407 (diff)
node: updatemain
Diffstat (limited to 'node_modules/relateurl/lib/relate')
-rw-r--r--node_modules/relateurl/lib/relate/absolutize.js89
-rw-r--r--node_modules/relateurl/lib/relate/findRelation.js79
-rw-r--r--node_modules/relateurl/lib/relate/index.js18
-rw-r--r--node_modules/relateurl/lib/relate/relativize.js67
4 files changed, 0 insertions, 253 deletions
diff --git a/node_modules/relateurl/lib/relate/absolutize.js b/node_modules/relateurl/lib/relate/absolutize.js
deleted file mode 100644
index 2b535a59..00000000
--- a/node_modules/relateurl/lib/relate/absolutize.js
+++ /dev/null
@@ -1,89 +0,0 @@
-"use strict";
-
-var findRelation = require("./findRelation");
-var objUtils = require("../util/object");
-var pathUtils = require("../util/path");
-
-
-
-function absolutize(urlObj, siteUrlObj, options)
-{
- findRelation.upToPath(urlObj, siteUrlObj, options);
-
- // Fill in relative URLs
- if (urlObj.extra.relation.minimumScheme) urlObj.scheme = siteUrlObj.scheme;
- if (urlObj.extra.relation.minimumAuth) urlObj.auth = siteUrlObj.auth;
- if (urlObj.extra.relation.minimumHost) urlObj.host = objUtils.clone(siteUrlObj.host);
- if (urlObj.extra.relation.minimumPort) copyPort(urlObj, siteUrlObj);
- if (urlObj.extra.relation.minimumScheme) copyPath(urlObj, siteUrlObj);
-
- // Check remaining relativeness now that path has been copied and/or resolved
- findRelation.pathOn(urlObj, siteUrlObj, options);
-
- // Fill in relative URLs
- if (urlObj.extra.relation.minimumResource) copyResource(urlObj, siteUrlObj);
- if (urlObj.extra.relation.minimumQuery) urlObj.query = objUtils.clone(siteUrlObj.query);
- if (urlObj.extra.relation.minimumHash) urlObj.hash = siteUrlObj.hash;
-}
-
-
-
-/*
- Get an absolute path that's relative to site url.
-*/
-function copyPath(urlObj, siteUrlObj)
-{
- if (urlObj.extra.relation.maximumHost || !urlObj.extra.hrefInfo.minimumResourceOnly)
- {
- var pathArray = urlObj.path.absolute.array;
- var pathString = "/";
-
- // If not erroneous URL
- if (pathArray)
- {
- // If is relative path
- if (urlObj.extra.hrefInfo.minimumPathOnly && urlObj.path.absolute.string.indexOf("/")!==0)
- {
- // Append path to site path
- pathArray = siteUrlObj.path.absolute.array.concat(pathArray);
- }
-
- pathArray = pathUtils.resolveDotSegments(pathArray);
- pathString += pathUtils.join(pathArray);
- }
- else
- {
- pathArray = [];
- }
-
- urlObj.path.absolute.array = pathArray;
- urlObj.path.absolute.string = pathString;
- }
- else
- {
- // Resource-, query- or hash-only or empty
- urlObj.path = objUtils.clone(siteUrlObj.path);
- }
-}
-
-
-
-function copyPort(urlObj, siteUrlObj)
-{
- urlObj.port = siteUrlObj.port;
-
- urlObj.extra.portIsDefault = siteUrlObj.extra.portIsDefault;
-}
-
-
-
-function copyResource(urlObj, siteUrlObj)
-{
- urlObj.resource = siteUrlObj.resource;
-
- urlObj.extra.resourceIsIndex = siteUrlObj.extra.resourceIsIndex;
-}
-
-
-
-module.exports = absolutize;
diff --git a/node_modules/relateurl/lib/relate/findRelation.js b/node_modules/relateurl/lib/relate/findRelation.js
deleted file mode 100644
index c5423c3c..00000000
--- a/node_modules/relateurl/lib/relate/findRelation.js
+++ /dev/null
@@ -1,79 +0,0 @@
-"use strict";
-
-function findRelation_upToPath(urlObj, siteUrlObj, options)
-{
- // Path- or root-relative URL
- var pathOnly = urlObj.extra.hrefInfo.minimumPathOnly;
-
- // Matching scheme, scheme-relative or path-only
- var minimumScheme = (urlObj.scheme===siteUrlObj.scheme || !urlObj.scheme);
-
- // Matching auth, ignoring auth or path-only
- var minimumAuth = minimumScheme && (urlObj.auth===siteUrlObj.auth || options.removeAuth || pathOnly);
-
- // Matching host or path-only
- var www = options.ignore_www ? "stripped" : "full";
- var minimumHost = minimumAuth && (urlObj.host[www]===siteUrlObj.host[www] || pathOnly);
-
- // Matching port or path-only
- var minimumPort = minimumHost && (urlObj.port===siteUrlObj.port || pathOnly);
-
- urlObj.extra.relation.minimumScheme = minimumScheme;
- urlObj.extra.relation.minimumAuth = minimumAuth;
- urlObj.extra.relation.minimumHost = minimumHost;
- urlObj.extra.relation.minimumPort = minimumPort;
-
- urlObj.extra.relation.maximumScheme = !minimumScheme || minimumScheme && !minimumAuth;
- urlObj.extra.relation.maximumAuth = !minimumScheme || minimumScheme && !minimumHost;
- urlObj.extra.relation.maximumHost = !minimumScheme || minimumScheme && !minimumPort;
-}
-
-
-
-function findRelation_pathOn(urlObj, siteUrlObj, options)
-{
- var queryOnly = urlObj.extra.hrefInfo.minimumQueryOnly;
- var hashOnly = urlObj.extra.hrefInfo.minimumHashOnly;
- var empty = urlObj.extra.hrefInfo.empty; // not required, but self-documenting
-
- // From upToPath()
- var minimumPort = urlObj.extra.relation.minimumPort;
- var minimumScheme = urlObj.extra.relation.minimumScheme;
-
- // Matching port and path
- var minimumPath = minimumPort && urlObj.path.absolute.string===siteUrlObj.path.absolute.string;
-
- // Matching resource or query/hash-only or empty
- var matchingResource = (urlObj.resource===siteUrlObj.resource || !urlObj.resource && siteUrlObj.extra.resourceIsIndex) || (options.removeDirectoryIndexes && urlObj.extra.resourceIsIndex && !siteUrlObj.resource);
- var minimumResource = minimumPath && (matchingResource || queryOnly || hashOnly || empty);
-
- // Matching query or hash-only/empty
- var query = options.removeEmptyQueries ? "stripped" : "full";
- var urlQuery = urlObj.query.string[query];
- var siteUrlQuery = siteUrlObj.query.string[query];
- var minimumQuery = (minimumResource && !!urlQuery && urlQuery===siteUrlQuery) || ((hashOnly || empty) && !urlObj.extra.hrefInfo.separatorOnlyQuery);
-
- var minimumHash = minimumQuery && urlObj.hash===siteUrlObj.hash;
-
- urlObj.extra.relation.minimumPath = minimumPath;
- urlObj.extra.relation.minimumResource = minimumResource;
- urlObj.extra.relation.minimumQuery = minimumQuery;
- urlObj.extra.relation.minimumHash = minimumHash;
-
- urlObj.extra.relation.maximumPort = !minimumScheme || minimumScheme && !minimumPath;
- urlObj.extra.relation.maximumPath = !minimumScheme || minimumScheme && !minimumResource;
- urlObj.extra.relation.maximumResource = !minimumScheme || minimumScheme && !minimumQuery;
- urlObj.extra.relation.maximumQuery = !minimumScheme || minimumScheme && !minimumHash;
- urlObj.extra.relation.maximumHash = !minimumScheme || minimumScheme && !minimumHash; // there's nothing after hash, so it's the same as maximumQuery
-
- // Matching path and/or resource with existing but non-matching site query
- urlObj.extra.relation.overridesQuery = minimumPath && urlObj.extra.relation.maximumResource && !minimumQuery && !!siteUrlQuery;
-}
-
-
-
-module.exports =
-{
- pathOn: findRelation_pathOn,
- upToPath: findRelation_upToPath
-};
diff --git a/node_modules/relateurl/lib/relate/index.js b/node_modules/relateurl/lib/relate/index.js
deleted file mode 100644
index f9083818..00000000
--- a/node_modules/relateurl/lib/relate/index.js
+++ /dev/null
@@ -1,18 +0,0 @@
-"use strict";
-
-var absolutize = require("./absolutize");
-var relativize = require("./relativize");
-
-
-
-function relateUrl(siteUrlObj, urlObj, options)
-{
- absolutize(urlObj, siteUrlObj, options);
- relativize(urlObj, siteUrlObj, options);
-
- return urlObj;
-}
-
-
-
-module.exports = relateUrl;
diff --git a/node_modules/relateurl/lib/relate/relativize.js b/node_modules/relateurl/lib/relate/relativize.js
deleted file mode 100644
index 9af9a101..00000000
--- a/node_modules/relateurl/lib/relate/relativize.js
+++ /dev/null
@@ -1,67 +0,0 @@
-"use strict";
-
-var pathUtils = require("../util/path");
-
-
-
-/*
- Get a path relative to the site path.
-*/
-function relatePath(absolutePath, siteAbsolutePath)
-{
- var relativePath = [];
-
- // At this point, it's related to the host/port
- var related = true;
- var parentIndex = -1;
-
- // Find parents
- siteAbsolutePath.forEach( function(siteAbsoluteDir, i)
- {
- if (related)
- {
- if (absolutePath[i] !== siteAbsoluteDir)
- {
- related = false;
- }
- else
- {
- parentIndex = i;
- }
- }
-
- if (!related)
- {
- // Up one level
- relativePath.push("..");
- }
- });
-
- // Form path
- absolutePath.forEach( function(dir, i)
- {
- if (i > parentIndex)
- {
- relativePath.push(dir);
- }
- });
-
- return relativePath;
-}
-
-
-
-function relativize(urlObj, siteUrlObj, options)
-{
- if (urlObj.extra.relation.minimumScheme)
- {
- var pathArray = relatePath(urlObj.path.absolute.array, siteUrlObj.path.absolute.array);
-
- urlObj.path.relative.array = pathArray;
- urlObj.path.relative.string = pathUtils.join(pathArray);
- }
-}
-
-
-
-module.exports = relativize;