diff options
| author | Florian Dold <florian.dold@gmail.com> | 2019-03-27 21:01:33 +0100 |
|---|---|---|
| committer | Florian Dold <florian.dold@gmail.com> | 2019-03-27 21:01:33 +0100 |
| commit | cc97a4dd2a967e1c2273bd5f4c5f49a5bf2e2585 (patch) | |
| tree | 92c5d88706a6ffc654d1b133618d357890e7096b /node_modules/relateurl/lib | |
| parent | 3771b4d6b67b34c130f3a9a1a15f42deefdb2eda (diff) | |
remove node_modules
Diffstat (limited to 'node_modules/relateurl/lib')
| -rw-r--r-- | node_modules/relateurl/lib/constants.js | 10 | ||||
| -rw-r--r-- | node_modules/relateurl/lib/format.js | 174 | ||||
| -rw-r--r-- | node_modules/relateurl/lib/index.js | 94 | ||||
| -rw-r--r-- | node_modules/relateurl/lib/options.js | 57 | ||||
| -rw-r--r-- | node_modules/relateurl/lib/parse/host.js | 26 | ||||
| -rw-r--r-- | node_modules/relateurl/lib/parse/hrefInfo.js | 20 | ||||
| -rw-r--r-- | node_modules/relateurl/lib/parse/index.js | 58 | ||||
| -rw-r--r-- | node_modules/relateurl/lib/parse/path.js | 100 | ||||
| -rw-r--r-- | node_modules/relateurl/lib/parse/port.js | 32 | ||||
| -rw-r--r-- | node_modules/relateurl/lib/parse/query.js | 53 | ||||
| -rw-r--r-- | node_modules/relateurl/lib/parse/urlstring.js | 146 | ||||
| -rw-r--r-- | node_modules/relateurl/lib/relate/absolutize.js | 89 | ||||
| -rw-r--r-- | node_modules/relateurl/lib/relate/findRelation.js | 79 | ||||
| -rw-r--r-- | node_modules/relateurl/lib/relate/index.js | 18 | ||||
| -rw-r--r-- | node_modules/relateurl/lib/relate/relativize.js | 67 | ||||
| -rw-r--r-- | node_modules/relateurl/lib/util/devlog.js | 25 | ||||
| -rw-r--r-- | node_modules/relateurl/lib/util/object.js | 64 | ||||
| -rw-r--r-- | node_modules/relateurl/lib/util/path.js | 49 |
18 files changed, 0 insertions, 1161 deletions
diff --git a/node_modules/relateurl/lib/constants.js b/node_modules/relateurl/lib/constants.js deleted file mode 100644 index d4cc8dd69..000000000 --- a/node_modules/relateurl/lib/constants.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; - -module.exports = -{ - // Output - ABSOLUTE: "absolute", - PATH_RELATIVE: "pathRelative", - ROOT_RELATIVE: "rootRelative", - SHORTEST: "shortest" -}; diff --git a/node_modules/relateurl/lib/format.js b/node_modules/relateurl/lib/format.js deleted file mode 100644 index 4dd5ddc08..000000000 --- a/node_modules/relateurl/lib/format.js +++ /dev/null @@ -1,174 +0,0 @@ -"use strict"; - -var constants = require("./constants"); - - - -function formatAuth(urlObj, options) -{ - if (urlObj.auth && !options.removeAuth && (urlObj.extra.relation.maximumHost || options.output===constants.ABSOLUTE)) - { - return urlObj.auth + "@"; - } - - return ""; -} - - - -function formatHash(urlObj, options) -{ - return urlObj.hash ? urlObj.hash : ""; -} - - - -function formatHost(urlObj, options) -{ - if (urlObj.host.full && (urlObj.extra.relation.maximumAuth || options.output===constants.ABSOLUTE)) - { - return urlObj.host.full; - } - - return ""; -} - - - -function formatPath(urlObj, options) -{ - var str = ""; - - var absolutePath = urlObj.path.absolute.string; - var relativePath = urlObj.path.relative.string; - var resource = showResource(urlObj, options); - - if (urlObj.extra.relation.maximumHost || options.output===constants.ABSOLUTE || options.output===constants.ROOT_RELATIVE) - { - str = absolutePath; - } - else if (relativePath.length<=absolutePath.length && options.output===constants.SHORTEST || options.output===constants.PATH_RELATIVE) - { - str = relativePath; - - if (str === "") - { - var query = showQuery(urlObj,options) && !!getQuery(urlObj,options); - - if (urlObj.extra.relation.maximumPath && !resource) - { - str = "./"; - } - else if (urlObj.extra.relation.overridesQuery && !resource && !query) - { - str = "./"; - } - } - } - else - { - str = absolutePath; - } - - if ( str==="/" && !resource && options.removeRootTrailingSlash && (!urlObj.extra.relation.minimumPort || options.output===constants.ABSOLUTE) ) - { - str = ""; - } - - return str; -} - - - -function formatPort(urlObj, options) -{ - if (urlObj.port && !urlObj.extra.portIsDefault && urlObj.extra.relation.maximumHost) - { - return ":" + urlObj.port; - } - - return ""; -} - - - -function formatQuery(urlObj, options) -{ - return showQuery(urlObj,options) ? getQuery(urlObj, options) : ""; -} - - - -function formatResource(urlObj, options) -{ - return showResource(urlObj,options) ? urlObj.resource : ""; -} - - - -function formatScheme(urlObj, options) -{ - var str = ""; - - if (urlObj.extra.relation.maximumHost || options.output===constants.ABSOLUTE) - { - if (!urlObj.extra.relation.minimumScheme || !options.schemeRelative || options.output===constants.ABSOLUTE) - { - str += urlObj.scheme + "://"; - } - else - { - str += "//"; - } - } - - return str; -} - - - -function formatUrl(urlObj, options) -{ - var url = ""; - - url += formatScheme(urlObj, options); - url += formatAuth(urlObj, options); - url += formatHost(urlObj, options); - url += formatPort(urlObj, options); - url += formatPath(urlObj, options); - url += formatResource(urlObj, options); - url += formatQuery(urlObj, options); - url += formatHash(urlObj, options); - - return url; -} - - - -function getQuery(urlObj, options) -{ - var stripQuery = options.removeEmptyQueries && urlObj.extra.relation.minimumPort; - - return urlObj.query.string[ stripQuery ? "stripped" : "full" ]; -} - - - -function showQuery(urlObj, options) -{ - return !urlObj.extra.relation.minimumQuery || options.output===constants.ABSOLUTE || options.output===constants.ROOT_RELATIVE; -} - - - -function showResource(urlObj, options) -{ - var removeIndex = options.removeDirectoryIndexes && urlObj.extra.resourceIsIndex; - var removeMatchingResource = urlObj.extra.relation.minimumResource && options.output!==constants.ABSOLUTE && options.output!==constants.ROOT_RELATIVE; - - return !!urlObj.resource && !removeMatchingResource && !removeIndex; -} - - - -module.exports = formatUrl; diff --git a/node_modules/relateurl/lib/index.js b/node_modules/relateurl/lib/index.js deleted file mode 100644 index 714237d59..000000000 --- a/node_modules/relateurl/lib/index.js +++ /dev/null @@ -1,94 +0,0 @@ -"use strict"; - -var constants = require("./constants"); -var formatUrl = require("./format"); -var getOptions = require("./options"); -var objUtils = require("./util/object"); -var parseUrl = require("./parse"); -var relateUrl = require("./relate"); - - - -function RelateUrl(from, options) -{ - this.options = getOptions(options, - { - defaultPorts: {ftp:21, http:80, https:443}, - directoryIndexes: ["index.html"], - ignore_www: false, - output: RelateUrl.SHORTEST, - rejectedSchemes: ["data","javascript","mailto"], - removeAuth: false, - removeDirectoryIndexes: true, - removeEmptyQueries: false, - removeRootTrailingSlash: true, - schemeRelative: true, - site: undefined, - slashesDenoteHost: true - }); - - this.from = parseUrl.from(from, this.options, null); -} - - - -/* - Usage: instance=new RelateUrl(); instance.relate(); -*/ -RelateUrl.prototype.relate = function(from, to, options) -{ - // relate(to,options) - if ( objUtils.isPlainObject(to) ) - { - options = to; - to = from; - from = null; - } - // relate(to) - else if (!to) - { - to = from; - from = null; - } - - options = getOptions(options, this.options); - from = from || options.site; - from = parseUrl.from(from, options, this.from); - - if (!from || !from.href) - { - throw new Error("from value not defined."); - } - else if (from.extra.hrefInfo.minimumPathOnly) - { - throw new Error("from value supplied is not absolute: "+from.href); - } - - to = parseUrl.to(to, options); - - if (to.valid===false) return to.href; - - to = relateUrl(from, to, options); - to = formatUrl(to, options); - - return to; -} - - - -/* - Usage: RelateUrl.relate(); -*/ -RelateUrl.relate = function(from, to, options) -{ - return new RelateUrl().relate(from, to, options); -} - - - -// Make constants accessible from API -objUtils.shallowMerge(RelateUrl, constants); - - - -module.exports = RelateUrl; diff --git a/node_modules/relateurl/lib/options.js b/node_modules/relateurl/lib/options.js deleted file mode 100644 index fe8910f71..000000000 --- a/node_modules/relateurl/lib/options.js +++ /dev/null @@ -1,57 +0,0 @@ -"use strict"; - -var objUtils = require("./util/object"); - - - -function getOptions(options, defaults) -{ - if ( objUtils.isPlainObject(options) ) - { - var newOptions = {}; - - for (var i in defaults) - { - if ( defaults.hasOwnProperty(i) ) - { - if (options[i] !== undefined) - { - newOptions[i] = mergeOption(options[i], defaults[i]); - } - else - { - newOptions[i] = defaults[i]; - } - } - } - - return newOptions; - } - else - { - return defaults; - } -} - - - -function mergeOption(newValues, defaultValues) -{ - if (defaultValues instanceof Object && newValues instanceof Object) - { - if (defaultValues instanceof Array && newValues instanceof Array) - { - return defaultValues.concat(newValues); - } - else - { - return objUtils.shallowMerge(newValues, defaultValues); - } - } - - return newValues; -} - - - -module.exports = getOptions; diff --git a/node_modules/relateurl/lib/parse/host.js b/node_modules/relateurl/lib/parse/host.js deleted file mode 100644 index 21f04ff98..000000000 --- a/node_modules/relateurl/lib/parse/host.js +++ /dev/null @@ -1,26 +0,0 @@ -"use strict"; - -function parseHost(urlObj, options) -{ - // TWEAK :: condition only for speed optimization - if (options.ignore_www) - { - var host = urlObj.host.full; - - if (host) - { - var stripped = host; - - if (host.indexOf("www.") === 0) - { - stripped = host.substr(4); - } - - urlObj.host.stripped = stripped; - } - } -} - - - -module.exports = parseHost; diff --git a/node_modules/relateurl/lib/parse/hrefInfo.js b/node_modules/relateurl/lib/parse/hrefInfo.js deleted file mode 100644 index 8cac2bd82..000000000 --- a/node_modules/relateurl/lib/parse/hrefInfo.js +++ /dev/null @@ -1,20 +0,0 @@ -"use strict"; - -function hrefInfo(urlObj) -{ - var minimumPathOnly = (!urlObj.scheme && !urlObj.auth && !urlObj.host.full && !urlObj.port); - var minimumResourceOnly = (minimumPathOnly && !urlObj.path.absolute.string); - var minimumQueryOnly = (minimumResourceOnly && !urlObj.resource); - var minimumHashOnly = (minimumQueryOnly && !urlObj.query.string.full.length); - var empty = (minimumHashOnly && !urlObj.hash); - - urlObj.extra.hrefInfo.minimumPathOnly = minimumPathOnly; - urlObj.extra.hrefInfo.minimumResourceOnly = minimumResourceOnly; - urlObj.extra.hrefInfo.minimumQueryOnly = minimumQueryOnly; - urlObj.extra.hrefInfo.minimumHashOnly = minimumHashOnly; - urlObj.extra.hrefInfo.empty = empty; -} - - - -module.exports = hrefInfo; diff --git a/node_modules/relateurl/lib/parse/index.js b/node_modules/relateurl/lib/parse/index.js deleted file mode 100644 index 9f3677818..000000000 --- a/node_modules/relateurl/lib/parse/index.js +++ /dev/null @@ -1,58 +0,0 @@ -"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 -}; diff --git a/node_modules/relateurl/lib/parse/path.js b/node_modules/relateurl/lib/parse/path.js deleted file mode 100644 index 093c00c69..000000000 --- a/node_modules/relateurl/lib/parse/path.js +++ /dev/null @@ -1,100 +0,0 @@ -"use strict"; - -function isDirectoryIndex(resource, options) -{ - var verdict = false; - - options.directoryIndexes.every( function(index) - { - if (index === resource) - { - verdict = true; - return false; - } - - return true; - }); - - return verdict; -} - - - -function parsePath(urlObj, options) -{ - var path = urlObj.path.absolute.string; - - if (path) - { - var lastSlash = path.lastIndexOf("/"); - - if (lastSlash > -1) - { - if (++lastSlash < path.length) - { - var resource = path.substr(lastSlash); - - if (resource!=="." && resource!=="..") - { - urlObj.resource = resource; - path = path.substr(0, lastSlash); - } - else - { - path += "/"; - } - } - - urlObj.path.absolute.string = path; - urlObj.path.absolute.array = splitPath(path); - } - else if (path==="." || path==="..") - { - // "..?var", "..#anchor", etc ... not "..index.html" - path += "/"; - - urlObj.path.absolute.string = path; - urlObj.path.absolute.array = splitPath(path); - } - else - { - // Resource-only - urlObj.resource = path; - urlObj.path.absolute.string = null; - } - - urlObj.extra.resourceIsIndex = isDirectoryIndex(urlObj.resource, options); - } - // Else: query/hash-only or empty -} - - - -function splitPath(path) -{ - // TWEAK :: condition only for speed optimization - if (path !== "/") - { - var cleaned = []; - - path.split("/").forEach( function(dir) - { - // Cleanup -- splitting "/dir/" becomes ["","dir",""] - if (dir !== "") - { - cleaned.push(dir); - } - }); - - return cleaned; - } - else - { - // Faster to skip the above block and just create an array - return []; - } -} - - - -module.exports = parsePath; diff --git a/node_modules/relateurl/lib/parse/port.js b/node_modules/relateurl/lib/parse/port.js deleted file mode 100644 index 8c4ee2e84..000000000 --- a/node_modules/relateurl/lib/parse/port.js +++ /dev/null @@ -1,32 +0,0 @@ -"use strict"; - -function parsePort(urlObj, options) -{ - var defaultPort = -1; - - for (var i in options.defaultPorts) - { - if ( i===urlObj.scheme && options.defaultPorts.hasOwnProperty(i) ) - { - defaultPort = options.defaultPorts[i]; - break; - } - } - - if (defaultPort > -1) - { - // Force same type as urlObj.port - defaultPort = defaultPort.toString(); - - if (urlObj.port === null) - { - urlObj.port = defaultPort; - } - - urlObj.extra.portIsDefault = (urlObj.port === defaultPort); - } -} - - - -module.exports = parsePort; diff --git a/node_modules/relateurl/lib/parse/query.js b/node_modules/relateurl/lib/parse/query.js deleted file mode 100644 index dbb85045c..000000000 --- a/node_modules/relateurl/lib/parse/query.js +++ /dev/null @@ -1,53 +0,0 @@ -"use strict"; -var hasOwnProperty = Object.prototype.hasOwnProperty; - - - -function parseQuery(urlObj, options) -{ - urlObj.query.string.full = stringify(urlObj.query.object, false); - - // TWEAK :: condition only for speed optimization - if (options.removeEmptyQueries) - { - urlObj.query.string.stripped = stringify(urlObj.query.object, true); - } -} - - - -function stringify(queryObj, removeEmptyQueries) -{ - var count = 0; - var str = ""; - - for (var i in queryObj) - { - if ( i!=="" && hasOwnProperty.call(queryObj, i)===true ) - { - var value = queryObj[i]; - - if (value !== "" || !removeEmptyQueries) - { - str += (++count===1) ? "?" : "&"; - - i = encodeURIComponent(i); - - if (value !== "") - { - str += i +"="+ encodeURIComponent(value).replace(/%20/g,"+"); - } - else - { - str += i; - } - } - } - } - - return str; -} - - - -module.exports = parseQuery; diff --git a/node_modules/relateurl/lib/parse/urlstring.js b/node_modules/relateurl/lib/parse/urlstring.js deleted file mode 100644 index ca4d7d431..000000000 --- a/node_modules/relateurl/lib/parse/urlstring.js +++ /dev/null @@ -1,146 +0,0 @@ -"use strict"; - -var _parseUrl = require("url").parse; - - - -/* - Customize the URL object that Node generates - because: - - * necessary data for later - * urlObj.host is useless - * urlObj.hostname is too long - * urlObj.path is useless - * urlObj.pathname is too long - * urlObj.protocol is inaccurate; should be called "scheme" - * urlObj.search is mostly useless -*/ -function clean(urlObj) -{ - var scheme = urlObj.protocol; - - if (scheme) - { - // Remove ":" suffix - if (scheme.indexOf(":") === scheme.length-1) - { - scheme = scheme.substr(0, scheme.length-1); - } - } - - urlObj.host = - { - // TODO :: unescape(encodeURIComponent(s)) ? ... http://ecmanaut.blogspot.ca/2006/07/encoding-decoding-utf8-in-javascript.html - full: urlObj.hostname, - stripped: null - }; - - urlObj.path = - { - absolute: - { - array: null, - string: urlObj.pathname - }, - relative: - { - array: null, - string: null - } - }; - - urlObj.query = - { - object: urlObj.query, - string: - { - full: null, - stripped: null - } - }; - - urlObj.extra = - { - hrefInfo: - { - minimumPathOnly: null, - minimumResourceOnly: null, - minimumQueryOnly: null, - minimumHashOnly: null, - empty: null, - - separatorOnlyQuery: urlObj.search==="?" - }, - portIsDefault: null, - relation: - { - maximumScheme: null, - maximumAuth: null, - maximumHost: null, - maximumPort: null, - maximumPath: null, - maximumResource: null, - maximumQuery: null, - maximumHash: null, - - minimumScheme: null, - minimumAuth: null, - minimumHost: null, - minimumPort: null, - minimumPath: null, - minimumResource: null, - minimumQuery: null, - minimumHash: null, - - overridesQuery: null - }, - resourceIsIndex: null, - slashes: urlObj.slashes - }; - - urlObj.resource = null; - urlObj.scheme = scheme; - delete urlObj.hostname; - delete urlObj.pathname; - delete urlObj.protocol; - delete urlObj.search; - delete urlObj.slashes; - - return urlObj; -} - - - -function validScheme(url, options) -{ - var valid = true; - - options.rejectedSchemes.every( function(rejectedScheme) - { - valid = !(url.indexOf(rejectedScheme+":") === 0); - - // Break loop - return valid; - }); - - return valid; -} - - - -function parseUrlString(url, options) -{ - if ( validScheme(url,options) ) - { - return clean( _parseUrl(url, true, options.slashesDenoteHost) ); - } - else - { - return {href:url, valid:false}; - } -} - - - -module.exports = parseUrlString; diff --git a/node_modules/relateurl/lib/relate/absolutize.js b/node_modules/relateurl/lib/relate/absolutize.js deleted file mode 100644 index 2b535a59b..000000000 --- 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 c5423c3c4..000000000 --- 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 f90838181..000000000 --- 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 9af9a1017..000000000 --- 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; diff --git a/node_modules/relateurl/lib/util/devlog.js b/node_modules/relateurl/lib/util/devlog.js deleted file mode 100644 index 086bdc946..000000000 --- a/node_modules/relateurl/lib/util/devlog.js +++ /dev/null @@ -1,25 +0,0 @@ -"use strict"; - -var inspect = require("util").inspect; - - - -function log(data) -{ - console.log( inspect(data, {depth:null, colors:true}) ); -} - - - -function logAll(data) -{ - console.log( inspect(data, {depth:null, showHidden:true, colors:true}) ); -} - - - -module.exports = -{ - log: log, - logAll: logAll -}; diff --git a/node_modules/relateurl/lib/util/object.js b/node_modules/relateurl/lib/util/object.js deleted file mode 100644 index 8eab7940e..000000000 --- a/node_modules/relateurl/lib/util/object.js +++ /dev/null @@ -1,64 +0,0 @@ -"use strict"; - -/* - Deep-clone an object. -*/ -function clone(obj) -{ - if (obj instanceof Object) - { - var clonedObj = (obj instanceof Array) ? [] : {}; - - for (var i in obj) - { - if ( obj.hasOwnProperty(i) ) - { - clonedObj[i] = clone( obj[i] ); - } - } - - return clonedObj; - } - - return obj; -} - - - -/* - https://github.com/jonschlinkert/is-plain-object -*/ -function isPlainObject(obj) -{ - return !!obj && typeof obj==="object" && obj.constructor===Object; -} - - - -/* - Shallow-merge two objects. -*/ -function shallowMerge(target, source) -{ - if (target instanceof Object && source instanceof Object) - { - for (var i in source) - { - if ( source.hasOwnProperty(i) ) - { - target[i] = source[i]; - } - } - } - - return target; -} - - - -module.exports = -{ - clone: clone, - isPlainObject: isPlainObject, - shallowMerge: shallowMerge -}; diff --git a/node_modules/relateurl/lib/util/path.js b/node_modules/relateurl/lib/util/path.js deleted file mode 100644 index f1e9d1193..000000000 --- a/node_modules/relateurl/lib/util/path.js +++ /dev/null @@ -1,49 +0,0 @@ -"use strict"; - -function joinPath(pathArray) -{ - if (pathArray.length > 0) - { - return pathArray.join("/") + "/"; - } - else - { - return ""; - } -} - - - -function resolveDotSegments(pathArray) -{ - var pathAbsolute = []; - - pathArray.forEach( function(dir) - { - if (dir !== "..") - { - if (dir !== ".") - { - pathAbsolute.push(dir); - } - } - else - { - // Remove parent - if (pathAbsolute.length > 0) - { - pathAbsolute.splice(pathAbsolute.length-1, 1); - } - } - }); - - return pathAbsolute; -} - - - -module.exports = -{ - join: joinPath, - resolveDotSegments: resolveDotSegments -}; |
