{"version":3,"file":"path.js","names":[],"sources":["esm/link/path.js"],"sourcesContent":["function assertPath(path) {\n  if (typeof path !== \"string\") {\n    throw new TypeError(\"Path must be a string. Received \" + JSON.stringify(path));\n  }\n}\nfunction normalizeStringPosix(path, allowAboveRoot) {\n  let res = \"\";\n  let lastSegmentLength = 0;\n  let lastSlash = -1;\n  let dots = 0;\n  let code;\n  for (let i = 0; i <= path.length; ++i) {\n    if (i < path.length) {\n      code = path.charCodeAt(i);\n    } else if (code === 47) {\n      break;\n    } else {\n      code = 47;\n    }\n    if (code === 47) {\n      if (lastSlash === i - 1 || dots === 1) {\n      } else if (lastSlash !== i - 1 && dots === 2) {\n        if (res.length < 2 || lastSegmentLength !== 2 || res.charCodeAt(res.length - 1) !== 46 || res.charCodeAt(res.length - 2) !== 46) {\n          if (res.length > 2) {\n            const lastSlashIndex = res.lastIndexOf(\"/\");\n            if (lastSlashIndex !== res.length - 1) {\n              if (lastSlashIndex === -1) {\n                res = \"\";\n                lastSegmentLength = 0;\n              } else {\n                res = res.slice(0, lastSlashIndex);\n                lastSegmentLength = res.length - 1 - res.lastIndexOf(\"/\");\n              }\n              lastSlash = i;\n              dots = 0;\n              continue;\n            }\n          } else if (res.length === 2 || res.length === 1) {\n            res = \"\";\n            lastSegmentLength = 0;\n            lastSlash = i;\n            dots = 0;\n            continue;\n          }\n        }\n        if (allowAboveRoot) {\n          if (res.length > 0) res += \"/..\";\n          else res = \"..\";\n          lastSegmentLength = 2;\n        }\n      } else {\n        if (res.length > 0) res += \"/\" + path.slice(lastSlash + 1, i);\n        else res = path.slice(lastSlash + 1, i);\n        lastSegmentLength = i - lastSlash - 1;\n      }\n      lastSlash = i;\n      dots = 0;\n    } else if (code === 46 && dots !== -1) {\n      ++dots;\n    } else {\n      dots = -1;\n    }\n  }\n  return res;\n}\nfunction resolve(...segments) {\n  let resolvedPath = \"\";\n  let resolvedAbsolute = false;\n  for (let i = segments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n    let path;\n    if (i >= 0) {\n      path = segments[i];\n    } else {\n      path = \"/\";\n    }\n    assertPath(path);\n    if (path.length === 0) {\n      continue;\n    }\n    resolvedPath = path + \"/\" + resolvedPath;\n    resolvedAbsolute = path.charCodeAt(0) === 47;\n  }\n  resolvedPath = normalizeStringPosix(resolvedPath, !resolvedAbsolute);\n  if (resolvedAbsolute) {\n    if (resolvedPath.length > 0) {\n      return \"/\" + resolvedPath;\n    }\n    return \"/\";\n  }\n  if (resolvedPath.length > 0) {\n    return resolvedPath;\n  }\n  return \".\";\n}\nexport {\n  resolve\n};\n//# sourceMappingURL=path.js.map\n"],"mappings":";AAAA,SAAS,WAAW,MAAM;CACxB,IAAI,OAAO,SAAS,UAAU;EAC5B,MAAM,IAAI,UAAU,qCAAqC,KAAK,UAAU,IAAI,CAAC;CAC/E;AACF;AACA,SAAS,qBAAqB,MAAM,gBAAgB;CAClD,IAAI,MAAM;CACV,IAAI,oBAAoB;CACxB,IAAI,YAAY,CAAC;CACjB,IAAI,OAAO;CACX,IAAI;CACJ,KAAK,IAAI,IAAI,GAAG,KAAK,KAAK,QAAQ,EAAE,GAAG;EACrC,IAAI,IAAI,KAAK,QAAQ;GACnB,OAAO,KAAK,WAAW,CAAC;EAC1B,OAAO,IAAI,SAAS,IAAI;GACtB;EACF,OAAO;GACL,OAAO;EACT;EACA,IAAI,SAAS,IAAI;GACf,IAAI,cAAc,IAAI,KAAK,SAAS,GAAG,CACvC,OAAO,IAAI,cAAc,IAAI,KAAK,SAAS,GAAG;IAC5C,IAAI,IAAI,SAAS,KAAK,sBAAsB,KAAK,IAAI,WAAW,IAAI,SAAS,CAAC,MAAM,MAAM,IAAI,WAAW,IAAI,SAAS,CAAC,MAAM,IAAI;KAC/H,IAAI,IAAI,SAAS,GAAG;MAClB,MAAM,iBAAiB,IAAI,YAAY,GAAG;MAC1C,IAAI,mBAAmB,IAAI,SAAS,GAAG;OACrC,IAAI,mBAAmB,CAAC,GAAG;QACzB,MAAM;QACN,oBAAoB;OACtB,OAAO;QACL,MAAM,IAAI,MAAM,GAAG,cAAc;QACjC,oBAAoB,IAAI,SAAS,IAAI,IAAI,YAAY,GAAG;OAC1D;OACA,YAAY;OACZ,OAAO;OACP;MACF;KACF,OAAO,IAAI,IAAI,WAAW,KAAK,IAAI,WAAW,GAAG;MAC/C,MAAM;MACN,oBAAoB;MACpB,YAAY;MACZ,OAAO;MACP;KACF;IACF;IACA,IAAI,gBAAgB;KAClB,IAAI,IAAI,SAAS,GAAG,OAAO;UACtB,MAAM;KACX,oBAAoB;IACtB;GACF,OAAO;IACL,IAAI,IAAI,SAAS,GAAG,OAAO,MAAM,KAAK,MAAM,YAAY,GAAG,CAAC;SACvD,MAAM,KAAK,MAAM,YAAY,GAAG,CAAC;IACtC,oBAAoB,IAAI,YAAY;GACtC;GACA,YAAY;GACZ,OAAO;EACT,OAAO,IAAI,SAAS,MAAM,SAAS,CAAC,GAAG;GACrC,EAAE;EACJ,OAAO;GACL,OAAO,CAAC;EACV;CACF;CACA,OAAO;AACT;AACA,SAAS,QAAQ,GAAG,UAAU;CAC5B,IAAI,eAAe;CACnB,IAAI,mBAAmB;CACvB,KAAK,IAAI,IAAI,SAAS,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,kBAAkB,KAAK;EACnE,IAAI;EACJ,IAAI,KAAK,GAAG;GACV,OAAO,SAAS;EAClB,OAAO;GACL,OAAO;EACT;EACA,WAAW,IAAI;EACf,IAAI,KAAK,WAAW,GAAG;GACrB;EACF;EACA,eAAe,OAAO,MAAM;EAC5B,mBAAmB,KAAK,WAAW,CAAC,MAAM;CAC5C;CACA,eAAe,qBAAqB,cAAc,CAAC,gBAAgB;CACnE,IAAI,kBAAkB;EACpB,IAAI,aAAa,SAAS,GAAG;GAC3B,OAAO,MAAM;EACf;EACA,OAAO;CACT;CACA,IAAI,aAAa,SAAS,GAAG;EAC3B,OAAO;CACT;CACA,OAAO;AACT"}