@ereo/router 0.2.36 → 0.2.37

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -237,21 +237,33 @@ function matchWithLayouts(pathname, routes) {
237
237
  return null;
238
238
  }
239
239
  const layouts = [];
240
- const collectLayouts = (routeList, currentPath) => {
240
+ const isLayoutInMatchedScope = (layoutId, matchedRouteId) => {
241
+ if (layoutId === "/_layout") {
242
+ return true;
243
+ }
244
+ const layoutScope = layoutId.replace(/\/_layout$/, "");
245
+ if (!layoutScope || layoutScope === "/") {
246
+ return true;
247
+ }
248
+ return matchedRouteId === layoutScope || matchedRouteId.startsWith(layoutScope + "/");
249
+ };
250
+ const collectLayouts = (routeList) => {
241
251
  for (const route of routeList) {
242
252
  if (route.layout) {
243
253
  const layoutPath = route.path === "/" ? "" : route.path;
244
254
  const matchPath = match.pathname === "/" ? "" : match.pathname;
245
- if (matchPath === layoutPath || matchPath.startsWith(layoutPath + "/") || layoutPath === "") {
255
+ const pathMatches = matchPath === layoutPath || matchPath.startsWith(layoutPath + "/") || layoutPath === "";
256
+ const scopeMatches = isLayoutInMatchedScope(route.id, match.route.id);
257
+ if (pathMatches && scopeMatches) {
246
258
  layouts.push(route);
247
259
  }
248
260
  }
249
261
  if (route.children) {
250
- collectLayouts(route.children, currentPath + route.path);
262
+ collectLayouts(route.children);
251
263
  }
252
264
  }
253
265
  };
254
- collectLayouts(routes, "");
266
+ collectLayouts(routes);
255
267
  layouts.sort((a, b) => a.path.length - b.path.length);
256
268
  return {
257
269
  ...match,
@@ -1 +1 @@
1
- {"version":3,"file":"matcher.d.ts","sourceRoot":"","sources":["../src/matcher.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAe,UAAU,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAQzD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,EAAE,CA8C9D;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,MAAM,CAyBpE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,MAAM,CA4B/D;AASD;;GAEG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,YAAY,EAAE,GACvB,UAAU,GAAG,IAAI,CA8BnB;AAED;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAKN;gBAEI,MAAM,EAAE,KAAK,EAAE;IAI3B;;OAEG;IACH,OAAO,CAAC,aAAa;IAgBrB;;OAEG;IACH,OAAO,CAAC,aAAa;IAiBrB;;OAEG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IA0C1C;;OAEG;IACH,SAAS,IAAI,KAAK,EAAE;IAIpB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAkB5B;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;CAQtC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,CAE3D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,KAAK,EAAE,GACd,WAAW,GAAG,IAAI,CAyCpB"}
1
+ {"version":3,"file":"matcher.d.ts","sourceRoot":"","sources":["../src/matcher.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAe,UAAU,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAQzD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,EAAE,CA8C9D;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,MAAM,CAyBpE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,MAAM,CA4B/D;AASD;;GAEG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,YAAY,EAAE,GACvB,UAAU,GAAG,IAAI,CA8BnB;AAED;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAKN;gBAEI,MAAM,EAAE,KAAK,EAAE;IAI3B;;OAEG;IACH,OAAO,CAAC,aAAa;IAgBrB;;OAEG;IACH,OAAO,CAAC,aAAa;IAiBrB;;OAEG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IA0C1C;;OAEG;IACH,SAAS,IAAI,KAAK,EAAE;IAIpB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAkB5B;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;CAQtC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,CAE3D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,KAAK,EAAE,GACd,WAAW,GAAG,IAAI,CA2DpB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ereo/router",
3
- "version": "0.2.36",
3
+ "version": "0.2.37",
4
4
  "license": "MIT",
5
5
  "author": "Enoch Kujem Abassey",
6
6
  "homepage": "https://ereojs.github.io/ereoJS",
@@ -32,7 +32,7 @@
32
32
  "typecheck": "tsc --noEmit"
33
33
  },
34
34
  "dependencies": {
35
- "@ereo/core": "^0.2.36"
35
+ "@ereo/core": "^0.2.37"
36
36
  },
37
37
  "devDependencies": {
38
38
  "@types/bun": "^1.1.0",