Lines Matching refs:relative
673 function urlResolve(source, relative) { argument
674 return urlParse(source, false, true).resolve(relative);
677 Url.prototype.resolve = function resolve(relative) { argument
678 return this.resolveObject(urlParse(relative, false, true)).format();
681 function urlResolveObject(source, relative) { argument
682 if (!source) return relative;
683 return urlParse(source, false, true).resolveObject(relative);
686 Url.prototype.resolveObject = function resolveObject(relative) { argument
687 if (typeof relative === 'string') {
689 rel.parse(relative, false, true);
690 relative = rel;
702 result.hash = relative.hash;
705 if (relative.href === '') {
711 if (relative.slashes && !relative.protocol) {
713 const rkeys = ObjectKeys(relative);
717 result[rkey] = relative[rkey];
730 if (relative.protocol && relative.protocol !== result.protocol) {
739 if (!slashedProtocol.has(relative.protocol)) {
740 const keys = ObjectKeys(relative);
743 result[k] = relative[k];
749 result.protocol = relative.protocol;
750 if (!relative.host &&
751 !/^file:?$/.test(relative.protocol) &&
752 !hostlessProtocol.has(relative.protocol)) {
753 const relPath = (relative.pathname || '').split('/');
754 while (relPath.length && !(relative.host = relPath.shift()));
755 if (!relative.host) relative.host = '';
756 if (!relative.hostname) relative.hostname = '';
761 result.pathname = relative.pathname;
763 result.search = relative.search;
764 result.query = relative.query;
765 result.host = relative.host || '';
766 result.auth = relative.auth;
767 result.hostname = relative.hostname || relative.host;
768 result.port = relative.port;
775 result.slashes = result.slashes || relative.slashes;
782 relative.host || (relative.pathname && relative.pathname.charAt(0) === '/')
785 (result.host && relative.pathname));
788 const relPath = (relative.pathname && relative.pathname.split('/')) || [];
805 if (relative.protocol) {
806 relative.hostname = null;
807 relative.port = null;
809 if (relative.host) {
810 if (relPath[0] === '') relPath[0] = relative.host;
811 else relPath.unshift(relative.host);
813 relative.host = null;
820 if (relative.host || relative.host === '') {
821 if (result.host !== relative.host) result.auth = null;
822 result.host = relative.host;
823 result.port = relative.port;
825 if (relative.hostname || relative.hostname === '') {
826 if (result.hostname !== relative.hostname) result.auth = null;
827 result.hostname = relative.hostname;
829 result.search = relative.search;
830 result.query = relative.query;
839 result.search = relative.search;
840 result.query = relative.query;
841 } else if (relative.search !== null && relative.search !== undefined) {
857 result.search = relative.search;
858 result.query = relative.query;
886 ((result.host || relative.host || srcPath.length > 1) &&
957 result.auth = relative.auth || result.auth;
958 result.slashes = result.slashes || relative.slashes;