bewcloud/public/js/@jsr/std__path@1.1.4/denonext/windows/relative.mjs

3 lines
1,021 B
JavaScript
Raw Normal View History

/* esm.sh - @jsr/std__path@1.1.4/windows/relative */
import{CHAR_BACKWARD_SLASH as f}from"../_common/constants.mjs";import{resolve as g}from"./resolve.mjs";import{assertArgs as k}from"../_common/relative.mjs";function m(t,o){k(t,o);let d=g(t),n=g(o);if(d===n||(t=d.toLowerCase(),o=n.toLowerCase(),t===o))return"";let l=0,a=t.length;for(;l<a&&t.charCodeAt(l)===f;++l);for(;a-1>l&&t.charCodeAt(a-1)===f;--a);let h=a-l,r=0,s=o.length;for(;r<s&&o.charCodeAt(r)===f;++r);for(;s-1>r&&o.charCodeAt(s-1)===f;--s);let A=s-r,c=h<A?h:A,i=-1,e=0;for(;e<=c;++e){if(e===c){if(A>c){if(o.charCodeAt(r+e)===f)return n.slice(r+e+1);if(e===2)return n.slice(r+e)}h>c&&(t.charCodeAt(l+e)===f?i=e:e===2&&(i=3));break}let u=t.charCodeAt(l+e),b=o.charCodeAt(r+e);if(u!==b)break;u===f&&(i=e)}if(e!==c&&i===-1)return n;let C="";for(i===-1&&(i=0),e=l+i+1;e<=a;++e)(e===a||t.charCodeAt(e)===f)&&(C.length===0?C+="..":C+="\\..");return C.length>0?C+n.slice(r+i,s):(r+=i,n.charCodeAt(r)===f&&++r,n.slice(r,s))}export{m as relative};
//relative.mjs.map