diff --git a/package-lock.json b/package-lock.json index 36df3ba..2cbbf15 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "next-impl-getters", - "version": "0.3.2", + "version": "0.3.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "next-impl-getters", - "version": "0.3.2", + "version": "0.3.3", "license": "MIT", "devDependencies": { "@types/node": "20.0.0", diff --git a/package.json b/package.json index be95e2c..058eb66 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "next-impl-getters", - "version": "0.3.2", + "version": "0.3.3", "description": "Repo for an example implementation of getters to retrieve page data in react server components", "files": [ "**/*.js", diff --git a/src/get-params.ts b/src/get-params.ts index bee9eec..a39788b 100644 --- a/src/get-params.ts +++ b/src/get-params.ts @@ -19,8 +19,10 @@ export const getParams = () => { const isRootPage = cleanUrlPathname === '' && cleanPagePath === ''; const isNotFoundPage = pagePath.match(/\/_not-found\/?$/); + const isValidCatchALl = cleanPagePath.match(/\[\.\.\.[^\]]+\]/) && pathnameParts.length >= pagePathInterceptedParts.length; + const isCorrectMatched = isRootPage || isNotFoundPage || pagePathInterceptedParts.length === pathnameParts.length || isValidCatchALl; - if (!isRootPage && !isNotFoundPage && pagePathInterceptedParts.length !== pathnameParts.length) { + if (!isCorrectMatched) { const createIssueUrl = new URL('https://github.com/vordgi/next-impl-getters/issues/new') createIssueUrl.searchParams.set('title', 'Error parsing segments in get-params'); createIssueUrl.searchParams.set('body', `urlPathname: \`${urlPathname}\`;\n\npagePath: \`${pagePath}\`;`);