{"version":3,"sources":["../src/pathUtils.ts"],"sourcesContent":["const PATH_SEPARATOR = '/';\n\nexport const joinPaths = (...pathPart: string[]) =>\n  pathPart.reduce((acc, part) => {\n    const left = acc.endsWith(PATH_SEPARATOR) ? acc.slice(0, -1) : acc;\n    const right = part.startsWith(PATH_SEPARATOR) ? part.substring(1) : part;\n    if (left || acc === PATH_SEPARATOR) {\n      return `${left}${PATH_SEPARATOR}${right}`;\n    }\n    if (part.startsWith(PATH_SEPARATOR)) {\n      return `${PATH_SEPARATOR}${right}`;\n    }\n    return right;\n  }, '');\n\nexport const absPath = (rawPath: string): string => {\n  const absCandidate = joinPaths.apply(\n    null,\n    rawPath.split(PATH_SEPARATOR).reduce((partialAbsPath: string[], currentPathPart: string) => {\n      if (currentPathPart == '.') {\n        return partialAbsPath;\n      }\n      if (currentPathPart == '..') {\n        return partialAbsPath.slice(0, -1);\n      }\n      return partialAbsPath.concat(currentPathPart);\n    }, []),\n  );\n  if (absCandidate === '' && rawPath.startsWith(PATH_SEPARATOR)) {\n    return PATH_SEPARATOR;\n  }\n  return absCandidate;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAAM,iBAAiB;AAEhB,MAAM,YAAY,IAAI,aAC3B,SAAS,OAAO,CAAC,KAAK,SAAS;AAC7B,QAAM,OAAO,IAAI,SAAS,cAAc,IAAI,IAAI,MAAM,GAAG,EAAE,IAAI;AAC/D,QAAM,QAAQ,KAAK,WAAW,cAAc,IAAI,KAAK,UAAU,CAAC,IAAI;AACpE,MAAI,QAAQ,QAAQ,gBAAgB;AAClC,WAAO,GAAG,IAAI,GAAG,cAAc,GAAG,KAAK;AAAA,EACzC;AACA,MAAI,KAAK,WAAW,cAAc,GAAG;AACnC,WAAO,GAAG,cAAc,GAAG,KAAK;AAAA,EAClC;AACA,SAAO;AACT,GAAG,EAAE;AAEA,MAAM,UAAU,CAAC,YAA4B;AAClD,QAAM,eAAe,UAAU;AAAA,IAC7B;AAAA,IACA,QAAQ,MAAM,cAAc,EAAE,OAAO,CAAC,gBAA0B,oBAA4B;AAC1F,UAAI,mBAAmB,KAAK;AAC1B,eAAO;AAAA,MACT;AACA,UAAI,mBAAmB,MAAM;AAC3B,eAAO,eAAe,MAAM,GAAG,EAAE;AAAA,MACnC;AACA,aAAO,eAAe,OAAO,eAAe;AAAA,IAC9C,GAAG,CAAC,CAAC;AAAA,EACP;AACA,MAAI,iBAAiB,MAAM,QAAQ,WAAW,cAAc,GAAG;AAC7D,WAAO;AAAA,EACT;AACA,SAAO;AACT;","names":[]}