@engjts/nexus 0.1.9 → 0.1.11
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/advanced/playground/generatePlaygroundHTML.js +38 -38
- package/dist/advanced/playground/generatePlaygroundHTML.js.map +1 -1
- package/dist/advanced/playground/playground.d.ts.map +1 -1
- package/dist/advanced/playground/playground.js +73 -5
- package/dist/advanced/playground/playground.js.map +1 -1
- package/dist/advanced/postman/postman.d.ts.map +1 -1
- package/dist/advanced/postman/postman.js +10 -4
- package/dist/advanced/postman/postman.js.map +1 -1
- package/dist/advanced/static/generateDirectoryListing.d.ts +1 -1
- package/dist/advanced/static/generateDirectoryListing.d.ts.map +1 -1
- package/dist/advanced/static/generateDirectoryListing.js +12 -6
- package/dist/advanced/static/generateDirectoryListing.js.map +1 -1
- package/dist/advanced/static/index.d.ts +2 -0
- package/dist/advanced/static/index.d.ts.map +1 -1
- package/dist/advanced/static/index.js +4 -1
- package/dist/advanced/static/index.js.map +1 -1
- package/dist/advanced/static/serveStatic.d.ts.map +1 -1
- package/dist/advanced/static/serveStatic.js +7 -1
- package/dist/advanced/static/serveStatic.js.map +1 -1
- package/dist/advanced/swagger/swagger.d.ts.map +1 -1
- package/dist/advanced/swagger/swagger.js +24 -2
- package/dist/advanced/swagger/swagger.js.map +1 -1
- package/dist/advanced/template/engines.d.ts +90 -0
- package/dist/advanced/template/engines.d.ts.map +1 -0
- package/dist/advanced/template/engines.js +153 -0
- package/dist/advanced/template/engines.js.map +1 -0
- package/dist/advanced/template/index.d.ts +10 -0
- package/dist/advanced/template/index.d.ts.map +1 -0
- package/dist/advanced/template/index.js +16 -0
- package/dist/advanced/template/index.js.map +1 -0
- package/dist/core/application.d.ts +10 -0
- package/dist/core/application.d.ts.map +1 -1
- package/dist/core/application.js +64 -1
- package/dist/core/application.js.map +1 -1
- package/dist/core/router/file-router.d.ts.map +1 -1
- package/dist/core/router/file-router.js +4 -1
- package/dist/core/router/file-router.js.map +1 -1
- package/dist/core/router/index.d.ts +9 -1
- package/dist/core/router/index.d.ts.map +1 -1
- package/dist/core/router/index.js +11 -3
- package/dist/core/router/index.js.map +1 -1
- package/dist/core/router/radix-tree.d.ts +10 -3
- package/dist/core/router/radix-tree.d.ts.map +1 -1
- package/dist/core/router/radix-tree.js +118 -10
- package/dist/core/router/radix-tree.js.map +1 -1
- package/dist/core/types.d.ts +106 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +186 -0
- package/dist/core/types.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -1
- package/dist/index.js.map +1 -1
- package/dist/security/headers.d.ts.map +1 -1
- package/dist/security/headers.js +5 -2
- package/dist/security/headers.js.map +1 -1
- package/package.json +2 -1
|
@@ -14,6 +14,13 @@ export interface RouteEntry {
|
|
|
14
14
|
meta?: RouteMeta;
|
|
15
15
|
serializers?: Map<number | string, SerializerFunction>;
|
|
16
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* Router options
|
|
19
|
+
*/
|
|
20
|
+
export interface RouterOptions {
|
|
21
|
+
prefix?: string;
|
|
22
|
+
enableRegexRoutes?: boolean;
|
|
23
|
+
}
|
|
17
24
|
/**
|
|
18
25
|
* Router class
|
|
19
26
|
*/
|
|
@@ -21,7 +28,8 @@ export declare class Router {
|
|
|
21
28
|
private trees;
|
|
22
29
|
private routes;
|
|
23
30
|
private prefix;
|
|
24
|
-
|
|
31
|
+
private enableRegexRoutes;
|
|
32
|
+
constructor(options?: RouterOptions | string);
|
|
25
33
|
/**
|
|
26
34
|
* Register a route
|
|
27
35
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/router/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EACL,UAAU,EACV,OAAO,EACP,UAAU,EACV,WAAW,EACX,UAAU,EACV,YAAY,EACZ,SAAS,EAEV,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,kBAAkB,EAAgC,MAAM,eAAe,CAAC;AAEjF;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,kBAAkB,CAAC,CAAC;CACxD;AAED;;GAEG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,KAAK,CAAyC;IACtD,OAAO,CAAC,MAAM,CAAuE;IACrF,OAAO,CAAC,MAAM,CAAc;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/router/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EACL,UAAU,EACV,OAAO,EACP,UAAU,EACV,WAAW,EACX,UAAU,EACV,YAAY,EACZ,SAAS,EAEV,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,kBAAkB,EAAgC,MAAM,eAAe,CAAC;AAEjF;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,kBAAkB,CAAC,CAAC;CACxD;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;GAEG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,KAAK,CAAyC;IACtD,OAAO,CAAC,MAAM,CAAuE;IACrF,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,iBAAiB,CAAkB;gBAE/B,OAAO,GAAE,aAAa,GAAG,MAAW;IAgBhD;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IA4BnC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAoBlC;;OAEG;IACH,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAoBtD;;OAEG;IACH,SAAS,IAAI,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,YAAY,CAAC;QAAC,IAAI,CAAC,EAAE,SAAS,CAAA;KAAE,CAAC;IAS7F;;OAEG;IACH,YAAY,IAAI,KAAK,CAAC;QAAE,MAAM,EAAE,UAAU,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,UAAU,CAAA;KAAE,CAAC;IAI/E;;OAEG;IACH,QAAQ,IAAI,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC;IAItC;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAe3C;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI;IAIzE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI;IAI1E,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI;IAIzE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI;IAI5E,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI;IAI3E;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAqD3B;AAGD,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC5E,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -13,12 +13,20 @@ class Router {
|
|
|
13
13
|
trees = new Map();
|
|
14
14
|
routes = [];
|
|
15
15
|
prefix = '';
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
enableRegexRoutes = false;
|
|
17
|
+
constructor(options = '') {
|
|
18
|
+
// Support legacy string prefix or new options object
|
|
19
|
+
if (typeof options === 'string') {
|
|
20
|
+
this.prefix = options;
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
this.prefix = options.prefix || '';
|
|
24
|
+
this.enableRegexRoutes = options.enableRegexRoutes || false;
|
|
25
|
+
}
|
|
18
26
|
// Initialize trees for each HTTP method
|
|
19
27
|
const methods = ['GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'HEAD', 'OPTIONS'];
|
|
20
28
|
for (const method of methods) {
|
|
21
|
-
this.trees.set(method, new radix_tree_1.RadixTree());
|
|
29
|
+
this.trees.set(method, new radix_tree_1.RadixTree(this.enableRegexRoutes));
|
|
22
30
|
}
|
|
23
31
|
}
|
|
24
32
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/router/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,6CAAyC;AAWzC,8CAAiF;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/router/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,10 +13,16 @@ export declare class RadixNode {
|
|
|
13
13
|
handler: Handler | null;
|
|
14
14
|
middlewares: Middleware[];
|
|
15
15
|
children: RadixNode[];
|
|
16
|
-
type: 'static' | 'param' | 'wildcard';
|
|
16
|
+
type: 'static' | 'param' | 'regex' | 'pattern' | 'wildcard';
|
|
17
17
|
paramName?: string;
|
|
18
|
+
regex?: RegExp;
|
|
19
|
+
patternParams?: string[];
|
|
18
20
|
serializers: Map<number | string, SerializerFunction> | null;
|
|
19
|
-
constructor(segment: string, fullPath: string);
|
|
21
|
+
constructor(segment: string, fullPath: string, enableRegex?: boolean);
|
|
22
|
+
/**
|
|
23
|
+
* Escape special regex characters in a string
|
|
24
|
+
*/
|
|
25
|
+
private escapeRegex;
|
|
20
26
|
/**
|
|
21
27
|
* Add a child node
|
|
22
28
|
*/
|
|
@@ -35,7 +41,8 @@ export declare class RadixNode {
|
|
|
35
41
|
*/
|
|
36
42
|
export declare class RadixTree {
|
|
37
43
|
private root;
|
|
38
|
-
|
|
44
|
+
private enableRegex;
|
|
45
|
+
constructor(enableRegex?: boolean);
|
|
39
46
|
/**
|
|
40
47
|
* Insert a route into the tree
|
|
41
48
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radix-tree.d.ts","sourceRoot":"","sources":["../../../src/core/router/radix-tree.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"radix-tree.d.ts","sourceRoot":"","sources":["../../../src/core/router/radix-tree.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAUnD;;GAEG;AACH,qBAAa,SAAS;IAElB,OAAO,EAAE,MAAM,CAAC;IAGhB,QAAQ,EAAE,MAAM,CAAC;IAGjB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAQ;IAG/B,WAAW,EAAE,UAAU,EAAE,CAAM;IAG/B,QAAQ,EAAE,SAAS,EAAE,CAAM;IAQ3B,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,CAAY;IAGvE,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IAGzB,WAAW,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,kBAAkB,CAAC,GAAG,IAAI,CAAQ;gBAExD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,GAAE,OAAe;IAqE3E;;OAEG;IACH,OAAO,CAAC,WAAW;IAInB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAmB/B;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAS5C;;OAEG;IACH,OAAO,CAAC,eAAe;CAS1B;AAED;;GAEG;AACH,qBAAa,SAAS;IAClB,OAAO,CAAC,IAAI,CAAY;IACxB,OAAO,CAAC,WAAW,CAAU;gBAEjB,WAAW,GAAE,OAAe;IAKxC;;OAEG;IACH,MAAM,CACF,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,EAChB,WAAW,GAAE,UAAU,EAAO,EAC9B,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,kBAAkB,CAAC,GACvD,IAAI;IAuBP;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG;QAClB,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/B,WAAW,EAAE,UAAU,EAAE,CAAC;QAC1B,WAAW,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,kBAAkB,CAAC,GAAG,IAAI,CAAC;KAChE,GAAG,IAAI;IAkBR;;OAEG;IACH,OAAO,CAAC,UAAU;IAqFlB;;OAEG;IACH,OAAO,CAAC,SAAS;IAMjB;;OAEG;IACH,YAAY,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,CAAC;IAM5D;;OAEG;IACH,OAAO,CAAC,aAAa;CASxB"}
|
|
@@ -19,24 +19,86 @@ class RadixNode {
|
|
|
19
19
|
middlewares = [];
|
|
20
20
|
// Child nodes
|
|
21
21
|
children = [];
|
|
22
|
-
// Pattern type: 'static', 'param', or 'wildcard'
|
|
22
|
+
// Pattern type: 'static', 'param', 'regex', 'pattern', or 'wildcard'
|
|
23
|
+
// - static: exact match like /users
|
|
24
|
+
// - param: simple param like :id
|
|
25
|
+
// - regex: param with regex like :id(\d+)
|
|
26
|
+
// - pattern: inline pattern like category-:slug or file.:ext
|
|
27
|
+
// - wildcard: catch-all like *
|
|
23
28
|
type = 'static';
|
|
24
|
-
// Parameter name for param nodes
|
|
29
|
+
// Parameter name for param/regex nodes
|
|
25
30
|
paramName;
|
|
31
|
+
// Compiled regex for regex/pattern nodes (compiled once at startup)
|
|
32
|
+
regex;
|
|
33
|
+
// Parameter names for pattern type (can have multiple params in one segment)
|
|
34
|
+
patternParams;
|
|
26
35
|
// Compiled serializers for response (status code → serializer)
|
|
27
36
|
serializers = null;
|
|
28
|
-
constructor(segment, fullPath) {
|
|
37
|
+
constructor(segment, fullPath, enableRegex = false) {
|
|
29
38
|
this.segment = segment;
|
|
30
39
|
this.fullPath = fullPath;
|
|
31
40
|
// Detect node type
|
|
32
41
|
if (segment.startsWith(':')) {
|
|
33
|
-
|
|
34
|
-
|
|
42
|
+
// Check for regex pattern: :param(pattern)
|
|
43
|
+
const regexMatch = enableRegex ? segment.match(/^:([^(]+)\((.+)\)$/) : null;
|
|
44
|
+
if (regexMatch) {
|
|
45
|
+
// Regex parameter: :id(\d+)
|
|
46
|
+
this.type = 'regex';
|
|
47
|
+
this.paramName = regexMatch[1];
|
|
48
|
+
this.regex = new RegExp(`^${regexMatch[2]}$`);
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
// Simple parameter: :id
|
|
52
|
+
this.type = 'param';
|
|
53
|
+
this.paramName = segment.slice(1);
|
|
54
|
+
}
|
|
35
55
|
}
|
|
36
56
|
else if (segment === '*' || segment.startsWith('*')) {
|
|
37
57
|
this.type = 'wildcard';
|
|
38
58
|
this.paramName = segment.length > 1 ? segment.slice(1) : 'wildcard';
|
|
39
59
|
}
|
|
60
|
+
else if (enableRegex && segment.includes(':')) {
|
|
61
|
+
// Inline pattern like: category-:slug, file.:ext, prefix-:id-suffix
|
|
62
|
+
this.type = 'pattern';
|
|
63
|
+
this.patternParams = [];
|
|
64
|
+
// Parse the segment and build regex
|
|
65
|
+
// Example: "category-:slug" -> regex: /^category-(.+)$/, params: ['slug']
|
|
66
|
+
// Example: "file.:ext(jpg|png)" -> regex: /^file\.(jpg|png)$/, params: ['ext']
|
|
67
|
+
let regexStr = '^';
|
|
68
|
+
let remaining = segment;
|
|
69
|
+
while (remaining.length > 0) {
|
|
70
|
+
// Find next param
|
|
71
|
+
const paramStart = remaining.indexOf(':');
|
|
72
|
+
if (paramStart === -1) {
|
|
73
|
+
// No more params, add rest as literal
|
|
74
|
+
regexStr += this.escapeRegex(remaining);
|
|
75
|
+
break;
|
|
76
|
+
}
|
|
77
|
+
// Add literal part before param
|
|
78
|
+
if (paramStart > 0) {
|
|
79
|
+
regexStr += this.escapeRegex(remaining.slice(0, paramStart));
|
|
80
|
+
}
|
|
81
|
+
remaining = remaining.slice(paramStart + 1);
|
|
82
|
+
// Parse param name and optional pattern
|
|
83
|
+
const paramMatch = remaining.match(/^([^(./-]+)(?:\(([^)]+)\))?/);
|
|
84
|
+
if (paramMatch) {
|
|
85
|
+
const paramName = paramMatch[1];
|
|
86
|
+
const paramPattern = paramMatch[2] || '.+'; // default: match anything
|
|
87
|
+
this.patternParams.push(paramName);
|
|
88
|
+
regexStr += `(${paramPattern})`;
|
|
89
|
+
// Move past the param (name + optional pattern)
|
|
90
|
+
remaining = remaining.slice(paramMatch[0].length);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
regexStr += '$';
|
|
94
|
+
this.regex = new RegExp(regexStr);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Escape special regex characters in a string
|
|
99
|
+
*/
|
|
100
|
+
escapeRegex(str) {
|
|
101
|
+
return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
40
102
|
}
|
|
41
103
|
/**
|
|
42
104
|
* Add a child node
|
|
@@ -74,8 +136,10 @@ class RadixNode {
|
|
|
74
136
|
getTypePriority(type) {
|
|
75
137
|
switch (type) {
|
|
76
138
|
case 'static': return 0;
|
|
77
|
-
case '
|
|
78
|
-
case '
|
|
139
|
+
case 'pattern': return 1; // inline patterns like category-:slug
|
|
140
|
+
case 'regex': return 2; // regex param like :id(\d+)
|
|
141
|
+
case 'param': return 3; // simple param like :id
|
|
142
|
+
case 'wildcard': return 4;
|
|
79
143
|
}
|
|
80
144
|
}
|
|
81
145
|
}
|
|
@@ -85,8 +149,10 @@ exports.RadixNode = RadixNode;
|
|
|
85
149
|
*/
|
|
86
150
|
class RadixTree {
|
|
87
151
|
root;
|
|
88
|
-
|
|
89
|
-
|
|
152
|
+
enableRegex;
|
|
153
|
+
constructor(enableRegex = false) {
|
|
154
|
+
this.root = new RadixNode('', '/', enableRegex);
|
|
155
|
+
this.enableRegex = enableRegex;
|
|
90
156
|
}
|
|
91
157
|
/**
|
|
92
158
|
* Insert a route into the tree
|
|
@@ -99,7 +165,7 @@ class RadixTree {
|
|
|
99
165
|
let child = current.findChild(segment);
|
|
100
166
|
if (!child) {
|
|
101
167
|
const fullPath = '/' + segments.slice(0, i + 1).join('/');
|
|
102
|
-
child = new RadixNode(segment, fullPath);
|
|
168
|
+
child = new RadixNode(segment, fullPath, this.enableRegex);
|
|
103
169
|
current.addChild(child);
|
|
104
170
|
}
|
|
105
171
|
current = child;
|
|
@@ -145,6 +211,48 @@ class RadixTree {
|
|
|
145
211
|
return result;
|
|
146
212
|
}
|
|
147
213
|
}
|
|
214
|
+
else if (child.type === 'pattern') {
|
|
215
|
+
// Inline pattern match - test regex and extract multiple params
|
|
216
|
+
const match = child.regex.exec(segment);
|
|
217
|
+
if (match) {
|
|
218
|
+
// Save old values for backtracking
|
|
219
|
+
const oldValues = {};
|
|
220
|
+
for (let i = 0; i < child.patternParams.length; i++) {
|
|
221
|
+
const paramName = child.patternParams[i];
|
|
222
|
+
oldValues[paramName] = params[paramName];
|
|
223
|
+
params[paramName] = match[i + 1]; // match[0] is full match
|
|
224
|
+
}
|
|
225
|
+
const result = this.searchNode(child, segments, index + 1, params);
|
|
226
|
+
if (result)
|
|
227
|
+
return result;
|
|
228
|
+
// Backtrack
|
|
229
|
+
for (const paramName of child.patternParams) {
|
|
230
|
+
if (oldValues[paramName] === undefined) {
|
|
231
|
+
delete params[paramName];
|
|
232
|
+
}
|
|
233
|
+
else {
|
|
234
|
+
params[paramName] = oldValues[paramName];
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
else if (child.type === 'regex') {
|
|
240
|
+
// Regex match - test pattern and capture value if matches
|
|
241
|
+
if (child.regex.test(segment)) {
|
|
242
|
+
const oldValue = params[child.paramName];
|
|
243
|
+
params[child.paramName] = segment;
|
|
244
|
+
const result = this.searchNode(child, segments, index + 1, params);
|
|
245
|
+
if (result)
|
|
246
|
+
return result;
|
|
247
|
+
// Backtrack
|
|
248
|
+
if (oldValue === undefined) {
|
|
249
|
+
delete params[child.paramName];
|
|
250
|
+
}
|
|
251
|
+
else {
|
|
252
|
+
params[child.paramName] = oldValue;
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
}
|
|
148
256
|
else if (child.type === 'param') {
|
|
149
257
|
// Parameter match - capture value
|
|
150
258
|
const oldValue = params[child.paramName];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radix-tree.js","sourceRoot":"","sources":["../../../src/core/router/radix-tree.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;
|
|
1
|
+
{"version":3,"file":"radix-tree.js","sourceRoot":"","sources":["../../../src/core/router/radix-tree.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAaH;;GAEG;AACH,MAAa,SAAS;IAClB,wCAAwC;IACxC,OAAO,CAAS;IAEhB,+CAA+C;IAC/C,QAAQ,CAAS;IAEjB,qCAAqC;IACrC,OAAO,GAAmB,IAAI,CAAC;IAE/B,4BAA4B;IAC5B,WAAW,GAAiB,EAAE,CAAC;IAE/B,cAAc;IACd,QAAQ,GAAgB,EAAE,CAAC;IAE3B,qEAAqE;IACrE,oCAAoC;IACpC,iCAAiC;IACjC,0CAA0C;IAC1C,6DAA6D;IAC7D,+BAA+B;IAC/B,IAAI,GAA0D,QAAQ,CAAC;IAEvE,uCAAuC;IACvC,SAAS,CAAU;IAEnB,oEAAoE;IACpE,KAAK,CAAU;IAEf,6EAA6E;IAC7E,aAAa,CAAY;IAEzB,+DAA+D;IAC/D,WAAW,GAAoD,IAAI,CAAC;IAEpE,YAAY,OAAe,EAAE,QAAgB,EAAE,cAAuB,KAAK;QACvE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,mBAAmB;QACnB,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,2CAA2C;YAC3C,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAE5E,IAAI,UAAU,EAAE,CAAC;gBACb,4BAA4B;gBAC5B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;gBACpB,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAClD,CAAC;iBAAM,CAAC;gBACJ,wBAAwB;gBACxB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;gBACpB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACtC,CAAC;QACL,CAAC;aAAM,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;YACvB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QACxE,CAAC;aAAM,IAAI,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9C,oEAAoE;YACpE,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;YACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YAExB,oCAAoC;YACpC,0EAA0E;YAC1E,+EAA+E;YAC/E,IAAI,QAAQ,GAAG,GAAG,CAAC;YACnB,IAAI,SAAS,GAAG,OAAO,CAAC;YAExB,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,kBAAkB;gBAClB,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAE1C,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;oBACpB,sCAAsC;oBACtC,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;oBACxC,MAAM;gBACV,CAAC;gBAED,gCAAgC;gBAChC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;oBACjB,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;gBACjE,CAAC;gBAED,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;gBAE5C,wCAAwC;gBACxC,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;gBAClE,IAAI,UAAU,EAAE,CAAC;oBACb,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;oBAChC,MAAM,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAE,0BAA0B;oBAEvE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBACnC,QAAQ,IAAI,IAAI,YAAY,GAAG,CAAC;oBAEhC,gDAAgD;oBAChD,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACtD,CAAC;YACL,CAAC;YAED,QAAQ,IAAI,GAAG,CAAC;YAChB,IAAI,CAAC,KAAK,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,GAAW;QAC3B,OAAO,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,IAAe;QACpB,sDAAsD;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,QAAQ,GAAG,KAAK,CAAC;QAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAClE,IAAI,QAAQ,GAAG,aAAa,EAAE,CAAC;gBAC3B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;gBACjC,QAAQ,GAAG,IAAI,CAAC;gBAChB,MAAM;YACV,CAAC;QACL,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;IACL,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,OAAe;QACrB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChC,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;gBAC5B,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,IAA2D;QAC/E,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;YACxB,KAAK,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE,sCAAsC;YACjE,KAAK,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAI,4BAA4B;YACvD,KAAK,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAI,wBAAwB;YACnD,KAAK,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;IACL,CAAC;CACJ;AA9JD,8BA8JC;AAED;;GAEG;AACH,MAAa,SAAS;IACV,IAAI,CAAY;IAChB,WAAW,CAAU;IAE7B,YAAY,cAAuB,KAAK;QACpC,IAAI,CAAC,IAAI,GAAG,IAAI,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;QAChD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,MAAM,CACF,IAAY,EACZ,OAAgB,EAChB,cAA4B,EAAE,EAC9B,WAAsD;QAEtD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;QAExB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAEvC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,MAAM,QAAQ,GAAG,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC1D,KAAK,GAAG,IAAI,SAAS,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC3D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC;YAED,OAAO,GAAG,KAAK,CAAC;QACpB,CAAC;QAED,4DAA4D;QAC5D,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;QAC1B,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC;QAClC,OAAO,CAAC,WAAW,GAAG,WAAW,IAAI,IAAI,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,IAAY;QAMf,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,MAAM,GAA2B,EAAE,CAAC;QAE1C,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QAE/D,IAAI,MAAM,EAAE,CAAC;YACT,OAAO;gBACH,OAAO,EAAE,MAAM,CAAC,OAAQ;gBACxB,MAAM;gBACN,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,WAAW,EAAE,MAAM,CAAC,WAAW;aAClC,CAAC;QACN,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,UAAU,CACd,IAAe,EACf,QAAkB,EAClB,KAAa,EACb,MAA8B;QAE9B,sBAAsB;QACtB,IAAI,KAAK,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACtC,CAAC;QAED,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEhC,iCAAiC;QACjC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC1B,uBAAuB;gBACvB,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;oBAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;oBACnE,IAAI,MAAM;wBAAE,OAAO,MAAM,CAAC;gBAC9B,CAAC;YACL,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAClC,gEAAgE;gBAChE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzC,IAAI,KAAK,EAAE,CAAC;oBACR,mCAAmC;oBACnC,MAAM,SAAS,GAAuC,EAAE,CAAC;oBACzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,aAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBACnD,MAAM,SAAS,GAAG,KAAK,CAAC,aAAc,CAAC,CAAC,CAAC,CAAC;wBAC1C,SAAS,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;wBACzC,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,yBAAyB;oBAChE,CAAC;oBAED,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;oBACnE,IAAI,MAAM;wBAAE,OAAO,MAAM,CAAC;oBAE1B,YAAY;oBACZ,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,aAAc,EAAE,CAAC;wBAC3C,IAAI,SAAS,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE,CAAC;4BACrC,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC;wBAC7B,CAAC;6BAAM,CAAC;4BACJ,MAAM,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,SAAS,CAAE,CAAC;wBAC9C,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAChC,0DAA0D;gBAC1D,IAAI,KAAK,CAAC,KAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC7B,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,SAAU,CAAC,CAAC;oBAC1C,MAAM,CAAC,KAAK,CAAC,SAAU,CAAC,GAAG,OAAO,CAAC;oBAEnC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;oBACnE,IAAI,MAAM;wBAAE,OAAO,MAAM,CAAC;oBAE1B,YAAY;oBACZ,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;wBACzB,OAAO,MAAM,CAAC,KAAK,CAAC,SAAU,CAAC,CAAC;oBACpC,CAAC;yBAAM,CAAC;wBACJ,MAAM,CAAC,KAAK,CAAC,SAAU,CAAC,GAAG,QAAQ,CAAC;oBACxC,CAAC;gBACL,CAAC;YACL,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAChC,kCAAkC;gBAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,SAAU,CAAC,CAAC;gBAC1C,MAAM,CAAC,KAAK,CAAC,SAAU,CAAC,GAAG,OAAO,CAAC;gBAEnC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;gBACnE,IAAI,MAAM;oBAAE,OAAO,MAAM,CAAC;gBAE1B,YAAY;gBACZ,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBACzB,OAAO,MAAM,CAAC,KAAK,CAAC,SAAU,CAAC,CAAC;gBACpC,CAAC;qBAAM,CAAC;oBACJ,MAAM,CAAC,KAAK,CAAC,SAAU,CAAC,GAAG,QAAQ,CAAC;gBACxC,CAAC;YACL,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBACnC,0CAA0C;gBAC1C,MAAM,CAAC,KAAK,CAAC,SAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC3D,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,SAAS,CAAC,IAAY;QAC1B,4CAA4C;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QAClD,OAAO,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,YAAY;QACR,MAAM,MAAM,GAAiD,EAAE,CAAC;QAChE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACtC,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,IAAe,EAAE,MAAoD;QACvF,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACtC,CAAC;IACL,CAAC;CACJ;AAxLD,8BAwLC"}
|
package/dist/core/types.d.ts
CHANGED
|
@@ -7,6 +7,33 @@ import { ZodSchema } from 'zod';
|
|
|
7
7
|
import { Application } from './application';
|
|
8
8
|
import { ContextStore, StoreConstructor, RequestStore, RequestStoreConstructor } from './store';
|
|
9
9
|
import { ResponseSchemaConfig, SerializerFunction } from './serializer';
|
|
10
|
+
/**
|
|
11
|
+
* Template engine interface for render() method
|
|
12
|
+
*/
|
|
13
|
+
export interface TemplateEngine {
|
|
14
|
+
/** Engine name (e.g., 'handlebars', 'ejs', 'pug') */
|
|
15
|
+
name: string;
|
|
16
|
+
/** File extensions this engine handles (e.g., ['.hbs', '.handlebars']) */
|
|
17
|
+
extensions: string[];
|
|
18
|
+
/**
|
|
19
|
+
* Compile and render template with data
|
|
20
|
+
* @param template - Template string content
|
|
21
|
+
* @param data - Data to inject
|
|
22
|
+
* @returns Rendered string
|
|
23
|
+
*/
|
|
24
|
+
render(template: string, data: Record<string, any>): string | Promise<string>;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Options for render() method
|
|
28
|
+
*/
|
|
29
|
+
export interface RenderOptions {
|
|
30
|
+
/** Template engine to use (default: auto-detect from extension or 'simple') */
|
|
31
|
+
engine?: string;
|
|
32
|
+
/** Status code for response (default: 200) */
|
|
33
|
+
status?: number;
|
|
34
|
+
/** Additional headers */
|
|
35
|
+
headers?: Record<string, string>;
|
|
36
|
+
}
|
|
10
37
|
/**
|
|
11
38
|
* HTTP methods supported by the framework
|
|
12
39
|
*/
|
|
@@ -219,6 +246,7 @@ export interface RouteMeta {
|
|
|
219
246
|
deprecated?: boolean;
|
|
220
247
|
summary?: string;
|
|
221
248
|
example?: string;
|
|
249
|
+
fileLocation?: string;
|
|
222
250
|
}
|
|
223
251
|
/**
|
|
224
252
|
* Route configuration object
|
|
@@ -254,9 +282,19 @@ export type ErrorHandler = (error: Error, ctx: Context) => Response | Promise<Re
|
|
|
254
282
|
export interface AppConfig {
|
|
255
283
|
contextPoolSize?: number;
|
|
256
284
|
enableJIT?: boolean;
|
|
285
|
+
/** Enable regex patterns in route params, e.g. /users/:id(\\d+) */
|
|
286
|
+
enableRegexRoutes?: boolean;
|
|
257
287
|
onError?: ErrorHandler;
|
|
258
288
|
debug?: boolean;
|
|
259
289
|
logRequests?: boolean;
|
|
290
|
+
/** Enable Handlebars template engine (zero overhead if not used) */
|
|
291
|
+
handlebars?: boolean;
|
|
292
|
+
/** Enable EJS template engine (zero overhead if not used) */
|
|
293
|
+
ejs?: boolean;
|
|
294
|
+
/** Enable Pug template engine (zero overhead if not used) */
|
|
295
|
+
pug?: boolean;
|
|
296
|
+
/** Enable Mustache template engine (zero overhead if not used) */
|
|
297
|
+
mustache?: boolean;
|
|
260
298
|
}
|
|
261
299
|
/**
|
|
262
300
|
* Plugin interface for extensibility
|
|
@@ -355,6 +393,35 @@ export interface RouteBase<TContext = Context> {
|
|
|
355
393
|
*/
|
|
356
394
|
export declare abstract class Route<TContext = Context, TDeps = any> {
|
|
357
395
|
pathName?: string;
|
|
396
|
+
/**
|
|
397
|
+
* Template engines registry (static, shared across all routes)
|
|
398
|
+
* @private
|
|
399
|
+
*/
|
|
400
|
+
private static templateEngines;
|
|
401
|
+
/**
|
|
402
|
+
* Register a custom template engine
|
|
403
|
+
* @param engine - Template engine implementation
|
|
404
|
+
*
|
|
405
|
+
* @example
|
|
406
|
+
* ```typescript
|
|
407
|
+
* import Handlebars from 'handlebars';
|
|
408
|
+
*
|
|
409
|
+
* Route.registerEngine({
|
|
410
|
+
* name: 'handlebars',
|
|
411
|
+
* extensions: ['.hbs', '.handlebars'],
|
|
412
|
+
* render: (template, data) => {
|
|
413
|
+
* const compiled = Handlebars.compile(template);
|
|
414
|
+
* return compiled(data);
|
|
415
|
+
* }
|
|
416
|
+
* });
|
|
417
|
+
* ```
|
|
418
|
+
*/
|
|
419
|
+
static registerEngine(engine: TemplateEngine): void;
|
|
420
|
+
/**
|
|
421
|
+
* Get registered template engine by name or extension
|
|
422
|
+
* @private
|
|
423
|
+
*/
|
|
424
|
+
private static getEngine;
|
|
358
425
|
/**
|
|
359
426
|
* The main route handler - REQUIRED!
|
|
360
427
|
* TypeScript will enforce this is implemented.
|
|
@@ -394,6 +461,45 @@ export declare abstract class Route<TContext = Context, TDeps = any> {
|
|
|
394
461
|
* ```
|
|
395
462
|
*/
|
|
396
463
|
protected fail(ctx: TContext, status: number, message: string, data?: any): Response;
|
|
464
|
+
/**
|
|
465
|
+
* Render a file template with data injection
|
|
466
|
+
* Supports multiple template engines via plugins or simple placeholder syntax by default
|
|
467
|
+
* @param filePath - Path to the template file (relative to project root or absolute)
|
|
468
|
+
* @param data - Data object to inject into template
|
|
469
|
+
* @param options - Render options (engine, status, headers)
|
|
470
|
+
* @returns Response object with rendered HTML/text
|
|
471
|
+
*
|
|
472
|
+
* @example
|
|
473
|
+
* ```typescript
|
|
474
|
+
* // Simple placeholder (default): {{ variableName }}
|
|
475
|
+
* return this.render('./views/welcome.html', { name: 'John' });
|
|
476
|
+
*
|
|
477
|
+
* // With Handlebars (auto-detect from .hbs extension)
|
|
478
|
+
* return this.render('./views/profile.hbs', { user });
|
|
479
|
+
*
|
|
480
|
+
* // Force specific engine
|
|
481
|
+
* return this.render('./views/page.html', { data }, { engine: 'ejs' });
|
|
482
|
+
*
|
|
483
|
+
* // With custom status and headers
|
|
484
|
+
* return this.render('./views/error.html', { message }, {
|
|
485
|
+
* status: 500,
|
|
486
|
+
* headers: { 'X-Custom': 'value' }
|
|
487
|
+
* });
|
|
488
|
+
* ```
|
|
489
|
+
*/
|
|
490
|
+
protected render(filePath: string, data?: Record<string, any>, options?: RenderOptions): Promise<Response>;
|
|
491
|
+
/**
|
|
492
|
+
* Inject data into template string
|
|
493
|
+
* Supports {{ variable }} and {{ object.property }} syntax
|
|
494
|
+
* Automatically JSON.stringify() objects and arrays for use in JavaScript
|
|
495
|
+
* @private
|
|
496
|
+
*/
|
|
497
|
+
private injectTemplateData;
|
|
498
|
+
/**
|
|
499
|
+
* Get content type from file extension
|
|
500
|
+
* @private
|
|
501
|
+
*/
|
|
502
|
+
private getContentTypeFromExtension;
|
|
397
503
|
/**
|
|
398
504
|
* HTTP method(s) this route handles - Optional
|
|
399
505
|
* When using file-based routing, you can also define method handlers (GET, POST, etc.)
|
package/dist/core/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
|