Lines Matching refs:srcPath
848 let srcPath = (result.pathname && result.pathname.split('/')) || [];
862 if (srcPath[0] === '') srcPath[0] = result.host;
863 else srcPath.unshift(result.host);
876 mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');
892 srcPath = relPath;
897 if (!srcPath) srcPath = [];
898 srcPath.pop();
899 srcPath = srcPath.concat(relPath);
907 result.hostname = result.host = srcPath.shift();
929 if (!srcPath.length) {
945 let last = srcPath.slice(-1)[0];
947 ((result.host || relative.host || srcPath.length > 1) &&
953 for (let i = srcPath.length - 1; i >= 0; i--) {
954 last = srcPath[i];
956 spliceOne(srcPath, i);
958 spliceOne(srcPath, i);
961 spliceOne(srcPath, i);
969 srcPath.unshift('..');
973 if (mustEndAbs && srcPath[0] !== '' &&
974 (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {
975 srcPath.unshift('');
978 if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {
979 srcPath.push('');
982 const isAbsolute = srcPath[0] === '' ||
983 (srcPath[0] && srcPath[0].charAt(0) === '/');
988 result.host = isAbsolute ? '' : srcPath.length ? srcPath.shift() : '';
1000 mustEndAbs = mustEndAbs || (result.host && srcPath.length);
1003 srcPath.unshift('');
1006 if (!srcPath.length) {
1010 result.pathname = srcPath.join('/');