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

3 lines
988 B
JavaScript
Raw Permalink Normal View History

/* esm.sh - @jsr/std__path@1.1.4/windows/dirname */
import{assertArg as d}from"../_common/dirname.mjs";import{CHAR_COLON as a}from"../_common/constants.mjs";import{stripTrailingSeparators as m}from"../_common/strip_trailing_separators.mjs";import{isPathSeparator as o,isPosixPathSeparator as A,isWindowsDeviceRoot as C}from"./_util.mjs";import{fromFileUrl as u}from"./from-file-url.mjs";function R(r){r instanceof URL&&(r=u(r)),d(r);let i=r.length,f=-1,l=-1,c=!0,t=0,n=r.charCodeAt(0);if(i>1)if(o(n)){if(f=t=1,o(r.charCodeAt(1))){let e=2,s=e;for(;e<i&&!o(r.charCodeAt(e));++e);if(e<i&&e!==s){for(s=e;e<i&&o(r.charCodeAt(e));++e);if(e<i&&e!==s){for(s=e;e<i&&!o(r.charCodeAt(e));++e);if(e===i)return r;e!==s&&(f=t=e+1)}}}}else C(n)&&r.charCodeAt(1)===a&&(f=t=2,i>2&&o(r.charCodeAt(2))&&(f=t=3));else if(o(n))return r;for(let e=i-1;e>=t;--e)if(o(r.charCodeAt(e))){if(!c){l=e;break}}else c=!1;if(l===-1){if(f===-1)return".";l=f}return m(r.slice(0,l),A)}export{R as dirname};
//dirname.mjs.map