exisjs 0.7.13 → 0.8.0

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.
Files changed (214) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1 -1
  3. package/dist/cli/commands/doctor.d.ts.map +1 -1
  4. package/dist/cli/commands/doctor.js +4 -37
  5. package/dist/cli/commands/doctor.js.map +1 -1
  6. package/dist/cli/commands/run.d.ts.map +1 -1
  7. package/dist/cli/commands/run.js +3 -1
  8. package/dist/cli/commands/run.js.map +1 -1
  9. package/dist/config/config.d.ts.map +1 -1
  10. package/dist/config/config.js +10 -0
  11. package/dist/config/config.js.map +1 -1
  12. package/dist/config/types.d.ts +9 -1
  13. package/dist/config/types.d.ts.map +1 -1
  14. package/dist/database/lifecycle.d.ts +7 -0
  15. package/dist/database/lifecycle.d.ts.map +1 -1
  16. package/dist/database/lifecycle.js +30 -7
  17. package/dist/database/lifecycle.js.map +1 -1
  18. package/dist/decorators/caching.d.ts +2 -5
  19. package/dist/decorators/caching.d.ts.map +1 -1
  20. package/dist/decorators/caching.js +7 -61
  21. package/dist/decorators/caching.js.map +1 -1
  22. package/dist/decorators/core.d.ts.map +1 -1
  23. package/dist/decorators/core.js +5 -0
  24. package/dist/decorators/core.js.map +1 -1
  25. package/dist/decorators/cron.d.ts +1 -0
  26. package/dist/decorators/cron.d.ts.map +1 -1
  27. package/dist/decorators/cron.js +4 -1
  28. package/dist/decorators/cron.js.map +1 -1
  29. package/dist/di/container.d.ts +1 -0
  30. package/dist/di/container.d.ts.map +1 -1
  31. package/dist/di/container.js +19 -3
  32. package/dist/di/container.js.map +1 -1
  33. package/dist/docs/ARCHITECTURE.md +117 -78
  34. package/dist/docs/BENCHMARKS.md +59 -26
  35. package/dist/docs/README.md +1 -1
  36. package/dist/docs/content/boundaries.mdx +2 -0
  37. package/dist/docs/content/cli/commands.mdx +1 -2
  38. package/dist/docs/content/cli/overview.mdx +1 -1
  39. package/dist/docs/content/config.mdx +22 -9
  40. package/dist/docs/content/cron.mdx +2 -2
  41. package/dist/docs/content/decorators.mdx +2 -2
  42. package/dist/docs/content/errors.mdx +22 -6
  43. package/dist/docs/content/installation.mdx +13 -8
  44. package/dist/docs/content/introduction.mdx +12 -12
  45. package/dist/docs/content/middleware.mdx +1 -1
  46. package/dist/docs/content/providers.mdx +4 -4
  47. package/dist/docs/content/requests.mdx +12 -1
  48. package/dist/docs/content/responses.mdx +44 -3
  49. package/dist/docs/content/routing.mdx +24 -0
  50. package/dist/docs/content/structure.mdx +4 -1
  51. package/dist/docs/content/testing.mdx +2 -0
  52. package/dist/docs/content/validation.mdx +16 -2
  53. package/dist/docs/reference/README.md +1 -1
  54. package/dist/docs/reference/config.mdx +1 -1
  55. package/dist/docs/reference/decorators.mdx +2 -2
  56. package/dist/docs/reference/di.mdx +1 -1
  57. package/dist/docs/reference/middleware.mdx +7 -5
  58. package/dist/docs/reference/sanitize.mdx +4 -4
  59. package/dist/docs/reference/validator.mdx +1 -1
  60. package/dist/error/errors.d.ts.map +1 -1
  61. package/dist/error/errors.js +31 -8
  62. package/dist/error/errors.js.map +1 -1
  63. package/dist/lib/start-server.js +24 -1
  64. package/dist/lib/start-server.js.map +1 -1
  65. package/dist/middleware/compression.d.ts +0 -12
  66. package/dist/middleware/compression.d.ts.map +1 -1
  67. package/dist/middleware/compression.js +52 -41
  68. package/dist/middleware/compression.js.map +1 -1
  69. package/dist/middleware/idempotency.d.ts +11 -6
  70. package/dist/middleware/idempotency.d.ts.map +1 -1
  71. package/dist/middleware/idempotency.js +5 -35
  72. package/dist/middleware/idempotency.js.map +1 -1
  73. package/dist/middleware/ip-filter.d.ts.map +1 -1
  74. package/dist/middleware/ip-filter.js +0 -16
  75. package/dist/middleware/ip-filter.js.map +1 -1
  76. package/dist/middleware/middleware.d.ts +2 -1
  77. package/dist/middleware/middleware.d.ts.map +1 -1
  78. package/dist/middleware/middleware.js +92 -56
  79. package/dist/middleware/middleware.js.map +1 -1
  80. package/dist/middleware/rate-limit.d.ts.map +1 -1
  81. package/dist/middleware/rate-limit.js +19 -38
  82. package/dist/middleware/rate-limit.js.map +1 -1
  83. package/dist/middleware/security.d.ts.map +1 -1
  84. package/dist/middleware/security.js +3 -1
  85. package/dist/middleware/security.js.map +1 -1
  86. package/dist/middleware/upload.d.ts.map +1 -1
  87. package/dist/middleware/upload.js +15 -7
  88. package/dist/middleware/upload.js.map +1 -1
  89. package/dist/response/index.d.ts +23 -0
  90. package/dist/response/index.d.ts.map +1 -1
  91. package/dist/response/index.js +28 -1
  92. package/dist/response/index.js.map +1 -1
  93. package/dist/router/index.d.ts +1 -1
  94. package/dist/router/index.d.ts.map +1 -1
  95. package/dist/router/index.js.map +1 -1
  96. package/dist/router/radix.d.ts +3 -16
  97. package/dist/router/radix.d.ts.map +1 -1
  98. package/dist/router/radix.js +135 -211
  99. package/dist/router/radix.js.map +1 -1
  100. package/dist/router/route-builder.d.ts +28 -0
  101. package/dist/router/route-builder.d.ts.map +1 -1
  102. package/dist/router/route-builder.js.map +1 -1
  103. package/dist/router/route-scanner.d.ts +2 -1
  104. package/dist/router/route-scanner.d.ts.map +1 -1
  105. package/dist/router/route-scanner.js +37 -44
  106. package/dist/router/route-scanner.js.map +1 -1
  107. package/dist/router/router.d.ts.map +1 -1
  108. package/dist/router/router.js +153 -126
  109. package/dist/router/router.js.map +1 -1
  110. package/dist/router/scanner/boundary-loader.d.ts.map +1 -1
  111. package/dist/router/scanner/boundary-loader.js +7 -2
  112. package/dist/router/scanner/boundary-loader.js.map +1 -1
  113. package/dist/router/scanner/fs-scanner.d.ts.map +1 -1
  114. package/dist/router/scanner/fs-scanner.js +22 -0
  115. package/dist/router/scanner/fs-scanner.js.map +1 -1
  116. package/dist/router/scanner/functional-compiler.d.ts.map +1 -1
  117. package/dist/router/scanner/functional-compiler.js +9 -1
  118. package/dist/router/scanner/functional-compiler.js.map +1 -1
  119. package/dist/router/types.d.ts +6 -4
  120. package/dist/router/types.d.ts.map +1 -1
  121. package/dist/sanitize/index.d.ts +2 -3
  122. package/dist/sanitize/index.d.ts.map +1 -1
  123. package/dist/sanitize/index.js +15 -20
  124. package/dist/sanitize/index.js.map +1 -1
  125. package/dist/server/adapters/bun-adapter.d.ts +2 -1
  126. package/dist/server/adapters/bun-adapter.d.ts.map +1 -1
  127. package/dist/server/adapters/bun-adapter.js +22 -2
  128. package/dist/server/adapters/bun-adapter.js.map +1 -1
  129. package/dist/server/app.d.ts +2 -2
  130. package/dist/server/app.d.ts.map +1 -1
  131. package/dist/server/app.js +14 -7
  132. package/dist/server/app.js.map +1 -1
  133. package/dist/server/bootstrapper.d.ts +2 -2
  134. package/dist/server/bootstrapper.d.ts.map +1 -1
  135. package/dist/server/bootstrapper.js +21 -2
  136. package/dist/server/bootstrapper.js.map +1 -1
  137. package/dist/server/download.d.ts +22 -0
  138. package/dist/server/download.d.ts.map +1 -0
  139. package/dist/server/download.js +18 -0
  140. package/dist/server/download.js.map +1 -0
  141. package/dist/server/helpers/body-parser.d.ts +1 -1
  142. package/dist/server/helpers/body-parser.d.ts.map +1 -1
  143. package/dist/server/helpers/body-parser.js +126 -48
  144. package/dist/server/helpers/body-parser.js.map +1 -1
  145. package/dist/server/helpers/cookie.d.ts +6 -0
  146. package/dist/server/helpers/cookie.d.ts.map +1 -1
  147. package/dist/server/helpers/cookie.js +35 -0
  148. package/dist/server/helpers/cookie.js.map +1 -1
  149. package/dist/server/helpers/etag.d.ts.map +1 -1
  150. package/dist/server/helpers/etag.js +7 -2
  151. package/dist/server/helpers/etag.js.map +1 -1
  152. package/dist/server/helpers/index.d.ts +2 -1
  153. package/dist/server/helpers/index.d.ts.map +1 -1
  154. package/dist/server/helpers/index.js +5 -1
  155. package/dist/server/helpers/index.js.map +1 -1
  156. package/dist/server/helpers/ip.d.ts +13 -0
  157. package/dist/server/helpers/ip.d.ts.map +1 -1
  158. package/dist/server/helpers/ip.js +65 -54
  159. package/dist/server/helpers/ip.js.map +1 -1
  160. package/dist/server/helpers/json.d.ts +3 -0
  161. package/dist/server/helpers/json.d.ts.map +1 -0
  162. package/dist/server/helpers/json.js +43 -0
  163. package/dist/server/helpers/json.js.map +1 -0
  164. package/dist/server/helpers/upload-name.d.ts +9 -0
  165. package/dist/server/helpers/upload-name.d.ts.map +1 -0
  166. package/dist/server/helpers/upload-name.js +39 -0
  167. package/dist/server/helpers/upload-name.js.map +1 -0
  168. package/dist/server/request-handler.d.ts +0 -7
  169. package/dist/server/request-handler.d.ts.map +1 -1
  170. package/dist/server/request-handler.js +19 -46
  171. package/dist/server/request-handler.js.map +1 -1
  172. package/dist/server/request.d.ts +3 -2
  173. package/dist/server/request.d.ts.map +1 -1
  174. package/dist/server/request.js +22 -16
  175. package/dist/server/request.js.map +1 -1
  176. package/dist/server/response.d.ts +20 -6
  177. package/dist/server/response.d.ts.map +1 -1
  178. package/dist/server/response.js +107 -34
  179. package/dist/server/response.js.map +1 -1
  180. package/dist/testing/index.d.ts.map +1 -1
  181. package/dist/testing/index.js +8 -1
  182. package/dist/testing/index.js.map +1 -1
  183. package/dist/testing/reporter.d.mts.map +1 -1
  184. package/dist/testing/reporter.mjs +18 -0
  185. package/dist/testing/reporter.mjs.map +1 -1
  186. package/dist/utils/ttl-cache.d.ts +11 -0
  187. package/dist/utils/ttl-cache.d.ts.map +1 -0
  188. package/dist/utils/ttl-cache.js +42 -0
  189. package/dist/utils/ttl-cache.js.map +1 -0
  190. package/dist/validator/builder.d.ts +2 -2
  191. package/dist/validator/builder.js +2 -2
  192. package/dist/validator/compile.d.ts +3 -0
  193. package/dist/validator/compile.d.ts.map +1 -0
  194. package/dist/validator/compile.js +254 -0
  195. package/dist/validator/compile.js.map +1 -0
  196. package/dist/validator/engine.d.ts +1 -0
  197. package/dist/validator/engine.d.ts.map +1 -1
  198. package/dist/validator/engine.js +285 -317
  199. package/dist/validator/engine.js.map +1 -1
  200. package/dist/validator/error.d.ts +1 -0
  201. package/dist/validator/error.d.ts.map +1 -1
  202. package/dist/validator/error.js +11 -1
  203. package/dist/validator/error.js.map +1 -1
  204. package/dist/validator/rules.d.ts +64 -0
  205. package/dist/validator/rules.d.ts.map +1 -0
  206. package/dist/validator/rules.js +655 -0
  207. package/dist/validator/rules.js.map +1 -0
  208. package/dist/validator/tex-types.d.ts +4 -4
  209. package/dist/validator/tex-types.d.ts.map +1 -1
  210. package/dist/validator/text.d.ts +11 -0
  211. package/dist/validator/text.d.ts.map +1 -0
  212. package/dist/validator/text.js +69 -0
  213. package/dist/validator/text.js.map +1 -0
  214. package/package.json +56 -39
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RadixNode = exports.RadixTree = exports.NativeRadixTree = exports.JSRadixTree = void 0;
4
- const rs_1 = require("@exisjs/rs");
3
+ exports.RadixNode = exports.RadixTree = exports.JSRadixTree = void 0;
4
+ const errors_1 = require("../error/errors");
5
5
  // ─── Radix Node ──────────────────────────────────────────────────────────────
6
6
  // Flat, cache-friendly structure. No Map, no Record — just plain properties.
7
7
  class RadixNode {
@@ -154,6 +154,21 @@ class RadixNode {
154
154
  }
155
155
  return null;
156
156
  }
157
+ // Same as findStaticChild(path.substring(start, end)) without allocating
158
+ // the segment string
159
+ findStaticChildAt(path, start, end) {
160
+ const keys = this.staticChildKeys;
161
+ if (keys === null)
162
+ return null;
163
+ const len = end - start;
164
+ for (let i = 0; i < keys.length; i++) {
165
+ const k = keys[i];
166
+ if (k.length === len && path.startsWith(k, start)) {
167
+ return this.staticChildren[i];
168
+ }
169
+ }
170
+ return null;
171
+ }
157
172
  addStaticChild(segment, child) {
158
173
  if (this.staticChildKeys === null) {
159
174
  this.staticChildKeys = [segment];
@@ -171,24 +186,24 @@ class JSRadixTree {
171
186
  constructor() {
172
187
  this.root = new RadixNode();
173
188
  this.hasHostRoutes = false;
174
- this.cache = {
175
- GET: Object.create(null),
176
- POST: Object.create(null),
177
- PUT: Object.create(null),
178
- DELETE: Object.create(null),
179
- PATCH: Object.create(null),
180
- OPTIONS: Object.create(null),
181
- HEAD: Object.create(null),
182
- };
183
- this.cacheSize = 0;
184
- this.maxCacheSize = 1000;
189
+ // Exact-match table for purely static routes, filled at insert time.
190
+ // Keyed by method, then by path. Matches are immutable and shared, which
191
+ // is safe only because static matches carry the frozen emptyParams.
192
+ this.staticRoutes = Object.create(null);
185
193
  }
186
194
  // ─── Insert ──────────────────────────────────────────────────────────────────
187
195
  insert(method, path, route) {
188
196
  if (route.host)
189
197
  this.hasHostRoutes = true;
198
+ else if (path.indexOf(':') === -1 && path.indexOf('*') === -1) {
199
+ const table = this.staticRoutes[method] || (this.staticRoutes[method] = new Map());
200
+ if (!table.has(path))
201
+ table.set(path, { route, params: emptyParams });
202
+ }
190
203
  let current = this.root;
191
204
  const len = path.length;
205
+ // [name the tree uses, name this route declared] where they differ
206
+ let aliases = null;
192
207
  // Fast segment iterator — avoids split() + filter() allocations
193
208
  let i = 0;
194
209
  // Skip leading slash
@@ -211,6 +226,12 @@ class JSRadixTree {
211
226
  child.paramName = paramName;
212
227
  current.paramChild = child;
213
228
  }
229
+ // A position shared by several routes keeps the first route's name
230
+ // in the tree; remember what this route calls it
231
+ if (current.paramChild.paramName !== paramName) {
232
+ ;
233
+ (aliases || (aliases = [])).push([current.paramChild.paramName, paramName]);
234
+ }
214
235
  current = current.paramChild;
215
236
  }
216
237
  else if (firstChar === 42 /* * */) {
@@ -223,6 +244,14 @@ class JSRadixTree {
223
244
  child.wildcardName = wildcardName;
224
245
  current.wildcardChild = child;
225
246
  }
247
+ if (current.wildcardChild.wildcardName !== wildcardName &&
248
+ wildcardName !== '*') {
249
+ ;
250
+ (aliases || (aliases = [])).push([
251
+ current.wildcardChild.wildcardName,
252
+ wildcardName,
253
+ ]);
254
+ }
226
255
  current = current.wildcardChild;
227
256
  break; // Wildcard eats the rest
228
257
  }
@@ -239,61 +268,42 @@ class JSRadixTree {
239
268
  // Skip the slash separator
240
269
  i = j + 1;
241
270
  }
271
+ if (aliases)
272
+ route._paramAliases = aliases;
242
273
  current.setRoute(method, route);
243
- // Clear cache when new routes are inserted
244
- this._clearCache();
245
- }
246
- _clearCache() {
247
- this.cache = {
248
- GET: Object.create(null),
249
- POST: Object.create(null),
250
- PUT: Object.create(null),
251
- DELETE: Object.create(null),
252
- PATCH: Object.create(null),
253
- OPTIONS: Object.create(null),
254
- HEAD: Object.create(null),
255
- };
256
- this.cacheSize = 0;
257
274
  }
258
275
  // ─── Search ──────────────────────────────────────────────────────────────────
259
276
  // Zero-allocation fast path for the common case (static-only routes).
260
277
  // Falls back to backtracking only when param/wildcard children exist.
261
278
  search(method, path, host) {
262
- const cachePath = host ? host + path : path;
263
- const methodCache = this.cache[method] || (this.cache[method] = Object.create(null));
264
- if (methodCache[cachePath] !== undefined) {
265
- return methodCache[cachePath];
279
+ // No result cache on purpose: param matches must get a fresh params
280
+ // object per request (handlers and validators mutate req.params), and
281
+ // caching attacker-chosen paths only invites churn.
282
+ if (!this.hasHostRoutes) {
283
+ const table = this.staticRoutes[method];
284
+ const hit = (table !== undefined && table.get(path)) ||
285
+ (this.staticRoutes.ALL !== undefined && this.staticRoutes.ALL.get(path));
286
+ if (hit)
287
+ return hit;
266
288
  }
267
289
  const len = path.length;
268
- // Fast-path 1: try the direct static walk first (zero allocations)
269
- let result = this._staticWalk(method, path, len, host);
270
- if (result) {
271
- this._addToCache(methodCache, cachePath, result);
272
- return result;
290
+ // Without host routes every purely static match was already answered by
291
+ // the table above, so the static walk could only fail; skip it
292
+ if (this.hasHostRoutes) {
293
+ const staticMatch = this._staticWalk(method, path, len, host);
294
+ if (staticMatch)
295
+ return staticMatch;
273
296
  }
274
- // Fast-path 2: linear walk for simple param/wildcard routes
275
- result = this._linearWalk(method, path, len, host);
276
- if (result) {
277
- this._addToCache(methodCache, cachePath, result);
278
- return result;
297
+ // The linear walk only gives up (undefined) where static, param and
298
+ // wildcard branches compete; a null from it is already a definite miss
299
+ let result = this._linearWalk(method, path, len, host);
300
+ if (result === AMBIGUOUS) {
301
+ result = this._backtrackSearch(method, path, len, host);
279
302
  }
280
- // Slow-path: full backtracking search
281
- result = this._backtrackSearch(method, path, len, host);
282
- this._addToCache(methodCache, cachePath, result);
283
- return result;
284
- }
285
- _addToCache(methodCache, path, result) {
286
- if (this.cacheSize >= this.maxCacheSize) {
287
- this._clearCache();
288
- // If we cleared, we must re-assign methodCache as the old one was tossed
289
- const newCache = this.cache;
290
- for (const m in newCache) {
291
- if (newCache[m])
292
- methodCache = newCache[m];
293
- }
303
+ if (result && result.route._paramAliases) {
304
+ result.params = renameParams(result.params, result.route._paramAliases);
294
305
  }
295
- methodCache[path] = result;
296
- this.cacheSize++;
306
+ return result;
297
307
  }
298
308
  // ─── Static Walk (Zero Allocation) ─────────────────────────────────────────
299
309
  // Walks the tree following only static children. If the route is purely
@@ -335,20 +345,19 @@ class JSRadixTree {
335
345
  let i = 0;
336
346
  if (i < len && path.charCodeAt(i) === 47)
337
347
  i++;
338
- let paramCount = 0;
339
- let paramKeys = null;
340
- let paramVals = null;
348
+ // Params are written straight into the result object; percent-decoding
349
+ // happens once at the end and only if a value contained '%'
350
+ let params = null;
341
351
  let needsDecode = false;
342
352
  while (i < len) {
343
353
  let j = path.indexOf('/', i);
344
354
  if (j === -1)
345
355
  j = len;
346
- const segment = path.substring(i, j);
347
356
  // Try static first
348
- const staticChild = current.findStaticChild(segment);
357
+ const staticChild = current.findStaticChildAt(path, i, j);
349
358
  if (staticChild) {
350
359
  if (current.paramChild || current.wildcardChild)
351
- return null;
360
+ return AMBIGUOUS;
352
361
  current = staticChild;
353
362
  i = j + 1;
354
363
  continue;
@@ -356,16 +365,13 @@ class JSRadixTree {
356
365
  // Try param
357
366
  if (current.paramChild) {
358
367
  if (current.wildcardChild)
359
- return null;
360
- if (!paramKeys) {
361
- paramKeys = [];
362
- paramVals = [];
363
- }
364
- paramKeys[paramCount] = current.paramChild.paramName;
365
- paramVals[paramCount] = segment;
368
+ return AMBIGUOUS;
369
+ const segment = path.substring(i, j);
370
+ if (params === null)
371
+ params = {};
372
+ params[current.paramChild.paramName] = segment;
366
373
  if (!needsDecode && segment.indexOf('%') !== -1)
367
374
  needsDecode = true;
368
- paramCount++;
369
375
  current = current.paramChild;
370
376
  i = j + 1;
371
377
  continue;
@@ -374,16 +380,12 @@ class JSRadixTree {
374
380
  if (current.wildcardChild) {
375
381
  const wName = current.wildcardChild.wildcardName;
376
382
  if (wName !== '*') {
377
- if (!paramKeys) {
378
- paramKeys = [];
379
- paramVals = [];
380
- }
381
- const rawRemainder = path.substring(i);
382
- paramKeys[paramCount] = wName;
383
- paramVals[paramCount] = rawRemainder;
384
- if (!needsDecode && rawRemainder.indexOf('%') !== -1)
383
+ const rest = path.substring(i);
384
+ if (params === null)
385
+ params = {};
386
+ params[wName] = rest;
387
+ if (!needsDecode && rest.indexOf('%') !== -1)
385
388
  needsDecode = true;
386
- paramCount++;
387
389
  }
388
390
  current = current.wildcardChild;
389
391
  break;
@@ -391,43 +393,35 @@ class JSRadixTree {
391
393
  // No match at all
392
394
  return null;
393
395
  }
394
- const res = current.getRoute(method, host);
396
+ let res = current.getRoute(method, host);
395
397
  if (!res) {
396
- // Check wildcard matching empty remainder
397
- if (current.wildcardChild) {
398
- const wRes = current.wildcardChild.getRoute(method, host);
399
- if (wRes) {
400
- const wRoute = wRes.route;
401
- const wName = current.wildcardChild.wildcardName;
402
- if (wName !== '*') {
403
- if (!paramKeys) {
404
- paramKeys = [];
405
- paramVals = [];
406
- }
407
- paramKeys[paramCount] = wName;
408
- paramVals[paramCount] = '';
409
- paramCount++;
410
- }
411
- const wParams = buildParamsLazy(paramKeys, paramVals, paramCount, needsDecode);
412
- if (wRes.hostParams)
413
- Object.assign(wParams, wRes.hostParams);
414
- return {
415
- route: wRoute,
416
- params: wParams,
417
- };
418
- }
398
+ // A wildcard may also match an empty remainder
399
+ const wild = current.wildcardChild;
400
+ if (!wild)
401
+ return null;
402
+ res = wild.getRoute(method, host);
403
+ if (!res)
404
+ return null;
405
+ if (wild.wildcardName !== '*') {
406
+ if (params === null)
407
+ params = {};
408
+ params[wild.wildcardName] = '';
409
+ }
410
+ }
411
+ if (params === null) {
412
+ return res.hostParams
413
+ ? { route: res.route, params: { ...res.hostParams } }
414
+ : { route: res.route, params: emptyParams };
415
+ }
416
+ if (needsDecode) {
417
+ for (const k in params) {
418
+ if (params[k].indexOf('%') !== -1)
419
+ params[k] = decodeParam(params[k]);
419
420
  }
420
- return null;
421
421
  }
422
- if (paramCount === 0 && !res.hostParams)
423
- return { route: res.route, params: emptyParams };
424
- const params = buildParamsLazy(paramKeys, paramVals, paramCount, needsDecode);
425
422
  if (res.hostParams)
426
423
  Object.assign(params, res.hostParams);
427
- return {
428
- route: res.route,
429
- params,
430
- };
424
+ return { route: res.route, params };
431
425
  }
432
426
  // ─── Backtrack Search ──────────────────────────────────────────────────────
433
427
  // Uses an iterative approach with minimal allocations. Builds params
@@ -519,9 +513,37 @@ class JSRadixTree {
519
513
  }
520
514
  }
521
515
  exports.JSRadixTree = JSRadixTree;
516
+ exports.RadixTree = JSRadixTree;
522
517
  // ─── Helpers ─────────────────────────────────────────────────────────────────
518
+ // Gives a route the param names it declared when the tree stored the names
519
+ // of an earlier route sharing the same positions
520
+ function renameParams(params, aliases) {
521
+ const out = {};
522
+ for (const key in params) {
523
+ let name = key;
524
+ for (const [from, to] of aliases) {
525
+ if (from === key) {
526
+ name = to;
527
+ break;
528
+ }
529
+ }
530
+ out[name] = params[key];
531
+ }
532
+ return out;
533
+ }
534
+ // Returned by _linearWalk when only a backtracking search can decide
535
+ const AMBIGUOUS = undefined;
523
536
  // Frozen empty params object — reused across all pure-static matches
524
537
  const emptyParams = Object.freeze(Object.create(null));
538
+ // Malformed escapes like "%E0%A4%A" are a client error, not a server crash
539
+ function decodeParam(value) {
540
+ try {
541
+ return decodeURIComponent(value);
542
+ }
543
+ catch {
544
+ throw errors_1.HttpError.badRequest('Malformed URI component in path');
545
+ }
546
+ }
525
547
  // Build a params object from parallel key/value arrays
526
548
  function buildParams(keys, vals, count) {
527
549
  const len = count !== undefined ? count : keys.length;
@@ -530,106 +552,8 @@ function buildParams(keys, vals, count) {
530
552
  const params = {};
531
553
  for (let i = 0; i < len; i++) {
532
554
  const v = vals[i];
533
- params[keys[i]] = v.indexOf('%') !== -1 ? decodeURIComponent(v) : v;
534
- }
535
- return params;
536
- }
537
- // Build params, lazily decoding only if %-encoded chars were found
538
- function buildParamsLazy(keys, vals, count, needsDecode) {
539
- if (count === 0 || !keys || !vals)
540
- return emptyParams;
541
- const params = {};
542
- if (needsDecode) {
543
- for (let i = 0; i < count; i++) {
544
- params[keys[i]] = decodeURIComponent(vals[i]);
545
- }
546
- }
547
- else {
548
- for (let i = 0; i < count; i++) {
549
- params[keys[i]] = vals[i];
550
- }
555
+ params[keys[i]] = v.indexOf('%') !== -1 ? decodeParam(v) : v;
551
556
  }
552
557
  return params;
553
558
  }
554
- // ─── Native Radix Tree (Rust Accelerated) ────────────────────────────────────
555
- class NativeRadixTree {
556
- constructor() {
557
- this.native = null;
558
- this.routes = [];
559
- this.jsFallback = null;
560
- this.staticCache = new Map();
561
- this.hasHostRoutes = false;
562
- try {
563
- if (typeof rs_1.RadixRouter === 'function') {
564
- this.native = new rs_1.RadixRouter();
565
- }
566
- }
567
- catch {
568
- this.native = null;
569
- }
570
- if (!this.native) {
571
- this.jsFallback = new JSRadixTree();
572
- }
573
- }
574
- insert(method, path, route) {
575
- if (route.host) {
576
- this.hasHostRoutes = true;
577
- if (!this.jsFallback) {
578
- this.jsFallback = new JSRadixTree();
579
- for (const r of this.routes) {
580
- this.jsFallback.insert(r.method, r.path, r);
581
- }
582
- }
583
- this.jsFallback.insert(method, path, route);
584
- }
585
- else if (path.indexOf(':') === -1 && path.indexOf('*') === -1) {
586
- const match = { route, params: emptyParams };
587
- if (method === 'ALL') {
588
- this.staticCache.set('GET:' + path, match);
589
- this.staticCache.set('POST:' + path, match);
590
- this.staticCache.set('PUT:' + path, match);
591
- this.staticCache.set('DELETE:' + path, match);
592
- this.staticCache.set('PATCH:' + path, match);
593
- this.staticCache.set('OPTIONS:' + path, match);
594
- this.staticCache.set('HEAD:' + path, match);
595
- }
596
- else {
597
- this.staticCache.set(method + ':' + path, match);
598
- }
599
- }
600
- const routeId = this.routes.length;
601
- this.routes.push(route);
602
- if (this.native) {
603
- this.native.insert(method, path, routeId);
604
- }
605
- else if (this.jsFallback) {
606
- this.jsFallback.insert(method, path, route);
607
- }
608
- }
609
- search(method, path, host) {
610
- if (this.hasHostRoutes && host && this.jsFallback) {
611
- return this.jsFallback.search(method, path, host);
612
- }
613
- if (!host) {
614
- const fastStatic = this.staticCache.get(method + ':' + path);
615
- if (fastStatic)
616
- return fastStatic;
617
- }
618
- if (this.native) {
619
- const result = this.native.search(method, path);
620
- if (!result)
621
- return null;
622
- const route = this.routes[result.routeId];
623
- if (!route)
624
- return null;
625
- return {
626
- route,
627
- params: result.params || emptyParams,
628
- };
629
- }
630
- return this.jsFallback ? this.jsFallback.search(method, path, host) : null;
631
- }
632
- }
633
- exports.NativeRadixTree = NativeRadixTree;
634
- exports.RadixTree = NativeRadixTree;
635
559
  //# sourceMappingURL=radix.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"radix.js","sourceRoot":"","sources":["../../src/router/radix.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"radix.js","sourceRoot":"","sources":["../../src/router/radix.ts"],"names":[],"mappings":"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"}
@@ -113,6 +113,34 @@ export type RouteDefinition<B = any, Q = any, P = any, TContext = Record<string,
113
113
  return: TReturn;
114
114
  };
115
115
  };
116
+ /**
117
+ * The validated input a route's handler receives: `{ body, query, params }`.
118
+ * Use it to type service methods from the route definition instead of
119
+ * declaring the same shape twice.
120
+ *
121
+ * @example
122
+ * ```ts
123
+ * export const createUser = route.post('/', { body: CreateUserSchema, handle })
124
+ * type CreateUserInput = InferRouteInput<typeof createUser>['body']
125
+ * ```
126
+ */
127
+ export type InferRouteInput<R> = R extends {
128
+ readonly __type?: {
129
+ body: infer B;
130
+ query: infer Q;
131
+ params: infer P;
132
+ };
133
+ } ? {
134
+ body: B;
135
+ query: Q;
136
+ params: P;
137
+ } : never;
138
+ /** The value a route's handler resolves to (its response payload). */
139
+ export type InferRouteOutput<R> = R extends {
140
+ readonly __type?: {
141
+ return: infer T;
142
+ };
143
+ } ? Awaited<T> : never;
116
144
  /**
117
145
  * Declarative route builder with schema validation, typed parameters, and supercharged context.
118
146
  */
@@ -1 +1 @@
1
- {"version":3,"file":"route-builder.d.ts","sourceRoot":"","sources":["../../src/router/route-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"route-builder.d.ts","sourceRoot":"","sources":["../../src/router/route-builder.ts"],"names":[],"mappings":"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"}