Lines Matching refs:srcPath
787 let srcPath = (result.pathname && result.pathname.split('/')) || [];
801 if (srcPath[0] === '') srcPath[0] = result.host;
802 else srcPath.unshift(result.host);
815 mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');
831 srcPath = relPath;
836 if (!srcPath) srcPath = [];
837 srcPath.pop();
838 srcPath = srcPath.concat(relPath);
846 result.hostname = result.host = srcPath.shift();
868 if (!srcPath.length) {
884 let last = srcPath.slice(-1)[0];
886 ((result.host || relative.host || srcPath.length > 1) &&
892 for (let i = srcPath.length - 1; i >= 0; i--) {
893 last = srcPath[i];
895 spliceOne(srcPath, i);
897 spliceOne(srcPath, i);
900 spliceOne(srcPath, i);
908 srcPath.unshift('..');
912 if (mustEndAbs && srcPath[0] !== '' &&
913 (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {
914 srcPath.unshift('');
917 if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {
918 srcPath.push('');
921 const isAbsolute = srcPath[0] === '' ||
922 (srcPath[0] && srcPath[0].charAt(0) === '/');
927 result.host = isAbsolute ? '' : srcPath.length ? srcPath.shift() : '';
939 mustEndAbs = mustEndAbs || (result.host && srcPath.length);
942 srcPath.unshift('');
945 if (!srcPath.length) {
949 result.pathname = srcPath.join('/');