@arikajs/router 0.10.1 → 0.10.3

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.
@@ -9,11 +9,16 @@ export declare class RouteEntry implements RouteDefinition {
9
9
  regex: RegExp;
10
10
  paramKeys: string[];
11
11
  constraints: Record<string, string>;
12
+ _formRequest?: any;
12
13
  constructor(method: string, path: string, handler: RouteHandler, prefix?: string, groupMiddleware?: any[]);
13
14
  /**
14
15
  * Add a regular expression requirement for a route parameter.
15
16
  */
16
17
  where(param: string | Record<string, string>, regex?: string): this;
18
+ /**
19
+ * Set a name for the route.
20
+ */
21
+ validateWith(formRequest: any): this;
17
22
  /**
18
23
  * Set a name for the route.
19
24
  */
@@ -1 +1 @@
1
- {"version":3,"file":"RouteEntry.d.ts","sourceRoot":"","sources":["../src/RouteEntry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAExD,qBAAa,UAAW,YAAW,eAAe;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,YAAY,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,GAAG,EAAE,CAAM;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,EAAE,CAAM;IACzB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;gBAEpC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,eAAe,GAAE,GAAG,EAAO;IAY7G;;OAEG;IACI,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAc1E;;OAEG;IACI,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK/B;;OAEG;IACI,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI7B;;OAEG;IACI,cAAc,CAAC,UAAU,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI;IASpD;;OAEG;IACH,OAAO,CAAC,WAAW;CAgBtB"}
1
+ {"version":3,"file":"RouteEntry.d.ts","sourceRoot":"","sources":["../src/RouteEntry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAExD,qBAAa,UAAW,YAAW,eAAe;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,YAAY,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,GAAG,EAAE,CAAM;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,EAAE,CAAM;IACzB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IACzC,YAAY,CAAC,EAAE,GAAG,CAAC;gBAEd,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,eAAe,GAAE,GAAG,EAAO;IAY7G;;OAEG;IACI,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAc1E;;OAEG;IACI,YAAY,CAAC,WAAW,EAAE,GAAG,GAAG,IAAI;IAK3C;;OAEG;IACI,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK/B;;OAEG;IACI,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI7B;;OAEG;IACI,cAAc,CAAC,UAAU,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI;IASpD;;OAEG;IACH,OAAO,CAAC,WAAW;CAgBtB"}
@@ -30,6 +30,13 @@ class RouteEntry {
30
30
  this.regex = compiled.regex;
31
31
  return this;
32
32
  }
33
+ /**
34
+ * Set a name for the route.
35
+ */
36
+ validateWith(formRequest) {
37
+ this._formRequest = formRequest;
38
+ return this;
39
+ }
33
40
  /**
34
41
  * Set a name for the route.
35
42
  */
@@ -1 +1 @@
1
- {"version":3,"file":"RouteEntry.js","sourceRoot":"","sources":["../src/RouteEntry.ts"],"names":[],"mappings":";;;AAEA,MAAa,UAAU;IAWnB,YAAY,MAAc,EAAE,IAAY,EAAE,OAAqB,EAAE,MAAe,EAAE,kBAAyB,EAAE;QALtG,eAAU,GAAU,EAAE,CAAC;QAEvB,cAAS,GAAa,EAAE,CAAC;QACzB,gBAAW,GAA2B,EAAE,CAAC;QAG5C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,eAAe,CAAC,CAAC;QAEvC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,KAAsC,EAAE,KAAc;QAC/D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,KAAM,CAAC;QACrC,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC3C,CAAC;QAED,gDAAgD;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QAE5B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,IAAI,CAAC,IAAY;QACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,EAAE,CAAC,IAAY;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACI,cAAc,CAAC,UAAuB;QACzC,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,IAAY;QAC5B,IAAI,SAAS,GAAa,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,IAAI;aACf,OAAO,CAAC,uCAAuC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;YAChE,MAAM,GAAG,GAAG,IAAI,IAAI,IAAI,CAAC;YACzB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpB,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC;YACnD,OAAO,IAAI,SAAS,GAAG,CAAC;QAC5B,CAAC,CAAC;aACD,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAE3B,OAAO;YACH,KAAK,EAAE,IAAI,MAAM,CAAC,IAAI,OAAO,GAAG,CAAC;YACjC,SAAS;SACZ,CAAC;IACN,CAAC;CACJ;AAtFD,gCAsFC"}
1
+ {"version":3,"file":"RouteEntry.js","sourceRoot":"","sources":["../src/RouteEntry.ts"],"names":[],"mappings":";;;AAEA,MAAa,UAAU;IAYnB,YAAY,MAAc,EAAE,IAAY,EAAE,OAAqB,EAAE,MAAe,EAAE,kBAAyB,EAAE;QANtG,eAAU,GAAU,EAAE,CAAC;QAEvB,cAAS,GAAa,EAAE,CAAC;QACzB,gBAAW,GAA2B,EAAE,CAAC;QAI5C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,eAAe,CAAC,CAAC;QAEvC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,KAAsC,EAAE,KAAc;QAC/D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,KAAM,CAAC;QACrC,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC3C,CAAC;QAED,gDAAgD;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QAE5B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,YAAY,CAAC,WAAgB;QAChC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,IAAI,CAAC,IAAY;QACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,EAAE,CAAC,IAAY;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACI,cAAc,CAAC,UAAuB;QACzC,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,IAAY;QAC5B,IAAI,SAAS,GAAa,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,IAAI;aACf,OAAO,CAAC,uCAAuC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;YAChE,MAAM,GAAG,GAAG,IAAI,IAAI,IAAI,CAAC;YACzB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpB,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC;YACnD,OAAO,IAAI,SAAS,GAAG,CAAC;QAC5B,CAAC,CAAC;aACD,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAE3B,OAAO;YACH,KAAK,EAAE,IAAI,MAAM,CAAC,IAAI,OAAO,GAAG,CAAC;YACjC,SAAS;SACZ,CAAC;IACN,CAAC;CACJ;AA/FD,gCA+FC"}
@@ -1 +1 @@
1
- {"version":3,"file":"RouteMatcher.d.ts","sourceRoot":"","sources":["../src/RouteMatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAUvC,qBAAa,YAAY;IACrB,OAAO,CAAC,IAAI,CAA8B;IAC1C,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,MAAM;IAsBP,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;CA8ClE"}
1
+ {"version":3,"file":"RouteMatcher.d.ts","sourceRoot":"","sources":["../src/RouteMatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AASvC,qBAAa,YAAY;IACrB,OAAO,CAAC,IAAI,CAA8B;IAC1C,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,MAAM;IAoBP,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;CAoDlE"}
@@ -5,7 +5,6 @@ const RouteRegistry_1 = require("./RouteRegistry");
5
5
  class RadixNode {
6
6
  constructor() {
7
7
  this.children = new Map();
8
- this.paramName = null;
9
8
  this.paramNode = null;
10
9
  this.routes = []; // Support multiple methods on same path
11
10
  }
@@ -27,11 +26,9 @@ class RouteMatcher {
27
26
  let node = this.root;
28
27
  const parts = route.path.split('/').filter(Boolean);
29
28
  for (const part of parts) {
30
- if (part.startsWith(':')) {
31
- const paramName = part.slice(1);
29
+ if (part.startsWith(':') || (part.startsWith('{') && part.endsWith('}'))) {
32
30
  if (!node.paramNode) {
33
31
  node.paramNode = new RadixNode();
34
- node.paramName = paramName;
35
32
  }
36
33
  node = node.paramNode;
37
34
  }
@@ -50,7 +47,7 @@ class RouteMatcher {
50
47
  let node = this.root;
51
48
  const normalizedPath = path.split('?')[0];
52
49
  const parts = normalizedPath.split('/').filter(Boolean);
53
- const params = {};
50
+ const collectedValues = [];
54
51
  const normalizedMethod = method.toUpperCase();
55
52
  for (let i = 0; i < parts.length; i++) {
56
53
  const part = parts[i];
@@ -59,9 +56,7 @@ class RouteMatcher {
59
56
  node = nextNode;
60
57
  }
61
58
  else if (node.paramNode) {
62
- if (node.paramName) {
63
- params[node.paramName] = part;
64
- }
59
+ collectedValues.push(part);
65
60
  node = node.paramNode;
66
61
  }
67
62
  else {
@@ -72,7 +67,12 @@ class RouteMatcher {
72
67
  // Find a route that matches the method OR has method 'ANY'
73
68
  const route = node.routes.find(r => r.method === normalizedMethod || r.method === 'ANY');
74
69
  if (route) {
75
- const hasParams = Object.keys(params).length > 0;
70
+ const params = {};
71
+ const paramKeys = route.paramKeys || [];
72
+ // Map collected values to the route's specific param keys
73
+ for (let i = 0; i < Math.min(collectedValues.length, paramKeys.length); i++) {
74
+ params[paramKeys[i]] = collectedValues[i];
75
+ }
76
76
  // If there are constraints, verify them
77
77
  if (route.constraints && Object.keys(route.constraints).length > 0) {
78
78
  for (const [key, pattern] of Object.entries(route.constraints)) {
@@ -84,7 +84,7 @@ class RouteMatcher {
84
84
  }
85
85
  }
86
86
  }
87
- return { route, params, hasParams };
87
+ return { route, params, hasParams: Object.keys(params).length > 0 };
88
88
  }
89
89
  }
90
90
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"RouteMatcher.js","sourceRoot":"","sources":["../src/RouteMatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RouteMatcher.js","sourceRoot":"","sources":["../src/RouteMatcher.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,10 +1,19 @@
1
1
  {
2
2
  "name": "@arikajs/router",
3
- "version": "0.10.1",
3
+ "version": "0.10.3",
4
4
  "description": "Routing and request-dispatching layer of the ArikaJS framework.",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
8
+ "scripts": {
9
+ "build": "tsc -p tsconfig.json",
10
+ "clean": "rm -rf dist",
11
+ "prepare": "echo skip",
12
+ "lint": "eslint src --ext .ts",
13
+ "test": "npx tsx --test tests/**/*.test.ts",
14
+ "test:watch": "npx tsx --test --watch tests/**/*.test.ts",
15
+ "dev": "tsc -p tsconfig.json --watch"
16
+ },
8
17
  "files": [
9
18
  "dist"
10
19
  ],
@@ -29,20 +38,12 @@
29
38
  },
30
39
  "homepage": "https://github.com/ArikaJs/arikajs/tree/main/packages/router#readme",
31
40
  "dependencies": {
32
- "@arikajs/dispatcher": "0.10.1",
33
- "@arikajs/http": "0.10.1"
41
+ "@arikajs/http": "workspace:*",
42
+ "@arikajs/dispatcher": "workspace:*"
34
43
  },
35
44
  "devDependencies": {
36
45
  "@types/node": "^20.11.24",
37
46
  "typescript": "^5.3.3"
38
47
  },
39
- "author": "Prakash Tank",
40
- "scripts": {
41
- "build": "tsc -p tsconfig.json",
42
- "clean": "rm -rf dist",
43
- "lint": "eslint src --ext .ts",
44
- "test": "npx tsx --test tests/**/*.test.ts",
45
- "test:watch": "npx tsx --test --watch tests/**/*.test.ts",
46
- "dev": "tsc -p tsconfig.json --watch"
47
- }
48
- }
48
+ "author": "Prakash Tank"
49
+ }