{"version":3,"sources":["../../src/client/normalize-trailing-slash.ts"],"sourcesContent":["import { removeTrailingSlash } from '../shared/lib/router/utils/remove-trailing-slash'\nimport { parsePath } from '../shared/lib/router/utils/parse-path'\n\n/**\n * Normalizes the trailing slash of a path according to the `trailingSlash` option\n * in `next.config.js`.\n */\nexport const normalizePathTrailingSlash = (path: string) => {\n if (!path.startsWith('/') || process.env.__NEXT_MANUAL_TRAILING_SLASH) {\n return path\n }\n\n const { pathname, query, hash } = parsePath(path)\n if (process.env.__NEXT_TRAILING_SLASH) {\n if (/\\.[^/]+\\/?$/.test(pathname)) {\n return `${removeTrailingSlash(pathname)}${query}${hash}`\n } else if (pathname.endsWith('/')) {\n return `${pathname}${query}${hash}`\n } else {\n return `${pathname}/${query}${hash}`\n }\n }\n\n return `${removeTrailingSlash(pathname)}${query}${hash}`\n}\n"],"names":["removeTrailingSlash","parsePath","normalizePathTrailingSlash","path","startsWith","process","env","__NEXT_MANUAL_TRAILING_SLASH","pathname","query","hash","__NEXT_TRAILING_SLASH","test","endsWith"],"mappings":"AAAA,SAASA,mBAAmB,QAAQ,mDAAkD;AACtF,SAASC,SAAS,QAAQ,wCAAuC;AAEjE;;;CAGC,GACD,OAAO,MAAMC,6BAA6B,CAACC;IACzC,IAAI,CAACA,KAAKC,UAAU,CAAC,QAAQC,QAAQC,GAAG,CAACC,4BAA4B,EAAE;QACrE,OAAOJ;IACT;IAEA,MAAM,EAAEK,QAAQ,EAAEC,KAAK,EAAEC,IAAI,EAAE,GAAGT,UAAUE;IAC5C,IAAIE,QAAQC,GAAG,CAACK,qBAAqB,EAAE;QACrC,IAAI,cAAcC,IAAI,CAACJ,WAAW;YAChC,OAAO,GAAGR,oBAAoBQ,YAAYC,QAAQC,MAAM;QAC1D,OAAO,IAAIF,SAASK,QAAQ,CAAC,MAAM;YACjC,OAAO,GAAGL,WAAWC,QAAQC,MAAM;QACrC,OAAO;YACL,OAAO,GAAGF,SAAS,CAAC,EAAEC,QAAQC,MAAM;QACtC;IACF;IAEA,OAAO,GAAGV,oBAAoBQ,YAAYC,QAAQC,MAAM;AAC1D,EAAC","ignoreList":[0]}