@ereo/router 0.1.11 → 0.1.12
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 +10 -26
- package/dist/route-tree.d.ts +5 -0
- package/dist/route-tree.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -398,40 +398,24 @@ class RouteTree {
|
|
|
398
398
|
}
|
|
399
399
|
return layouts;
|
|
400
400
|
}
|
|
401
|
+
middlewareByPath = new Map;
|
|
401
402
|
attachMiddleware(path, middlewareFile) {
|
|
402
|
-
|
|
403
|
-
if (node) {
|
|
404
|
-
node.middlewareFile = middlewareFile;
|
|
405
|
-
return;
|
|
406
|
-
}
|
|
407
|
-
if (path === "/") {
|
|
408
|
-
this.root.middlewareFile = middlewareFile;
|
|
409
|
-
}
|
|
403
|
+
this.middlewareByPath.set(path, { file: middlewareFile });
|
|
410
404
|
}
|
|
411
405
|
getMiddlewareChain(routeId) {
|
|
412
406
|
const node = this.findById(routeId);
|
|
413
407
|
if (!node)
|
|
414
408
|
return [];
|
|
409
|
+
const routePath = node.path;
|
|
415
410
|
const middlewares = [];
|
|
416
|
-
const
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
middlewares.push({
|
|
424
|
-
file: current.middlewareFile,
|
|
425
|
-
module: current.middlewareModule
|
|
426
|
-
});
|
|
411
|
+
const sortedPaths = Array.from(this.middlewareByPath.keys()).sort((a, b) => a.length - b.length);
|
|
412
|
+
for (const middlewarePath of sortedPaths) {
|
|
413
|
+
if (middlewarePath === "/" || routePath === middlewarePath || routePath.startsWith(middlewarePath + "/")) {
|
|
414
|
+
const mw = this.middlewareByPath.get(middlewarePath);
|
|
415
|
+
if (mw) {
|
|
416
|
+
middlewares.push(mw);
|
|
417
|
+
}
|
|
427
418
|
}
|
|
428
|
-
};
|
|
429
|
-
collectMiddleware(node);
|
|
430
|
-
if (this.root.middlewareFile && !middlewares.find((m) => m.file === this.root.middlewareFile)) {
|
|
431
|
-
middlewares.unshift({
|
|
432
|
-
file: this.root.middlewareFile,
|
|
433
|
-
module: this.root.middlewareModule
|
|
434
|
-
});
|
|
435
419
|
}
|
|
436
420
|
return middlewares;
|
|
437
421
|
}
|
package/dist/route-tree.d.ts
CHANGED
|
@@ -63,6 +63,11 @@ export declare class RouteTree {
|
|
|
63
63
|
* Get the layout chain for a route.
|
|
64
64
|
*/
|
|
65
65
|
getLayoutChain(routeId: string): RouteNode[];
|
|
66
|
+
/**
|
|
67
|
+
* Middleware stored by path prefix.
|
|
68
|
+
* Separate from route nodes since middleware can exist without a route at that path.
|
|
69
|
+
*/
|
|
70
|
+
private middlewareByPath;
|
|
66
71
|
/**
|
|
67
72
|
* Attach middleware to a route segment.
|
|
68
73
|
* Middleware applies to all routes in and below this segment.
|
package/dist/route-tree.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-tree.d.ts","sourceRoot":"","sources":["../src/route-tree.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,SAAS,EAAgB,MAAM,SAAS,CAAC;AAIvD;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,IAAI,CAAY;;IAMxB;;OAEG;IACH,OAAO,CAAC,UAAU;IAoBlB;;OAEG;IACH,QAAQ,CACN,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO,GAClD,SAAS;IAeZ;;OAEG;IACH,OAAO,CAAC,UAAU;IA8BlB;;OAEG;IACH,OAAO,IAAI,SAAS;IAIpB;;OAEG;IACH,QAAQ,IAAI,KAAK,EAAE;IAInB;;OAEG;IACH,OAAO,CAAC,WAAW;IAoBnB;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAc1C;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IActC;;OAEG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAe/B;;OAEG;IACH,OAAO,IAAI,SAAS,EAAE;IActB;;OAEG;IACH,UAAU,IAAI,SAAS,EAAE;IAIzB;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE;IAiB5C;;;OAGG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"route-tree.d.ts","sourceRoot":"","sources":["../src/route-tree.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,SAAS,EAAgB,MAAM,SAAS,CAAC;AAIvD;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,IAAI,CAAY;;IAMxB;;OAEG;IACH,OAAO,CAAC,UAAU;IAoBlB;;OAEG;IACH,QAAQ,CACN,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO,GAClD,SAAS;IAeZ;;OAEG;IACH,OAAO,CAAC,UAAU;IA8BlB;;OAEG;IACH,OAAO,IAAI,SAAS;IAIpB;;OAEG;IACH,QAAQ,IAAI,KAAK,EAAE;IAInB;;OAEG;IACH,OAAO,CAAC,WAAW;IAoBnB;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAc1C;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IActC;;OAEG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAe/B;;OAEG;IACH,OAAO,IAAI,SAAS,EAAE;IActB;;OAEG;IACH,UAAU,IAAI,SAAS,EAAE;IAIzB;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE;IAiB5C;;;OAGG;IACH,OAAO,CAAC,gBAAgB,CAA2E;IAEnG;;;OAGG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI;IAK5D;;OAEG;IACH,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE;YAAE,UAAU,CAAC,EAAE,GAAG,CAAA;SAAE,CAAA;KAAE,CAAC;CA8B5F;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,CAwCxE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,KAAK,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,EAC5D,SAAS,EAAE,MAAM,GAChB,SAAS,CAsCX;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,SAAS,CAE3C"}
|