UNPKG

@stryke/path

Version:

A package containing various utilities that expand the functionality of NodeJs's built-in `path` module

2 lines (1 loc) 571 B
import{isDirectory as c,isFile as h}from"./is-file";import{joinPaths as s}from"./join-paths";export const resolveParentPath=(r,i=1)=>{let t=r.replaceAll(/\/+$/g,"");for(let n=0;n<i;n++)t=s(t,"..");return t},getParentPath=(r,i,t)=>{const n=t?.ignoreCase??!0,f=t?.skipCwd??!1,o=t?.targetType??"both";let e=i;f&&(e=resolveParentPath(i));let l=Array.isArray(r)?r:[r];for(n&&(l=l.map(a=>a.toLowerCase()));;){const a=l.find(p=>h(s(e,p))&&(o==="file"||o==="both")||c(s(e,p))&&(o==="directory"||o==="both"));if(a)return s(e,a);const g=resolveParentPath(e);if(g===e)return;e=g}};