tspace-spear 1.2.0 → 1.2.1

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 (62) hide show
  1. package/README.md +777 -705
  2. package/{build → dist}/lib/core/decorators/context.js +86 -0
  3. package/dist/lib/core/decorators/context.js.map +1 -0
  4. package/dist/lib/core/decorators/controller.js +43 -0
  5. package/dist/lib/core/decorators/controller.js.map +1 -0
  6. package/dist/lib/core/decorators/headers.js +44 -0
  7. package/dist/lib/core/decorators/headers.js.map +1 -0
  8. package/dist/lib/core/decorators/methods.js +102 -0
  9. package/dist/lib/core/decorators/methods.js.map +1 -0
  10. package/dist/lib/core/decorators/middleware.js +61 -0
  11. package/dist/lib/core/decorators/middleware.js.map +1 -0
  12. package/dist/lib/core/decorators/statusCode.js +40 -0
  13. package/dist/lib/core/decorators/statusCode.js.map +1 -0
  14. package/dist/lib/core/decorators/swagger.js +52 -0
  15. package/dist/lib/core/decorators/swagger.js.map +1 -0
  16. package/{build → dist}/lib/core/server/index.js +272 -205
  17. package/dist/lib/core/server/index.js.map +1 -0
  18. package/{build → dist}/lib/core/server/parser-factory.js +29 -7
  19. package/dist/lib/core/server/parser-factory.js.map +1 -0
  20. package/dist/lib/core/server/radix-router.js +65 -0
  21. package/dist/lib/core/server/radix-router.js.map +1 -0
  22. package/{build → dist}/lib/core/server/router.js +34 -0
  23. package/dist/lib/core/server/router.js.map +1 -0
  24. package/{build → dist}/lib/index.js +0 -1
  25. package/{build → dist}/lib/index.js.map +1 -1
  26. package/{build → dist}/tests/benchmark.test.js +38 -8
  27. package/{build → dist}/tests/benchmark.test.js.map +1 -1
  28. package/package.json +15 -10
  29. package/build/lib/core/decorators/context.d.ts +0 -5
  30. package/build/lib/core/decorators/context.js.map +0 -1
  31. package/build/lib/core/decorators/controller.d.ts +0 -1
  32. package/build/lib/core/decorators/controller.js +0 -10
  33. package/build/lib/core/decorators/controller.js.map +0 -1
  34. package/build/lib/core/decorators/headers.d.ts +0 -3
  35. package/build/lib/core/decorators/headers.js +0 -15
  36. package/build/lib/core/decorators/headers.js.map +0 -1
  37. package/build/lib/core/decorators/index.d.ts +0 -9
  38. package/build/lib/core/decorators/methods.d.ts +0 -5
  39. package/build/lib/core/decorators/methods.js +0 -25
  40. package/build/lib/core/decorators/methods.js.map +0 -1
  41. package/build/lib/core/decorators/middleware.d.ts +0 -2
  42. package/build/lib/core/decorators/middleware.js +0 -24
  43. package/build/lib/core/decorators/middleware.js.map +0 -1
  44. package/build/lib/core/decorators/statusCode.d.ts +0 -1
  45. package/build/lib/core/decorators/statusCode.js +0 -16
  46. package/build/lib/core/decorators/statusCode.js.map +0 -1
  47. package/build/lib/core/decorators/swagger.d.ts +0 -2
  48. package/build/lib/core/decorators/swagger.js +0 -18
  49. package/build/lib/core/decorators/swagger.js.map +0 -1
  50. package/build/lib/core/server/index.d.ts +0 -312
  51. package/build/lib/core/server/index.js.map +0 -1
  52. package/build/lib/core/server/parser-factory.d.ts +0 -24
  53. package/build/lib/core/server/parser-factory.js.map +0 -1
  54. package/build/lib/core/server/router.d.ts +0 -79
  55. package/build/lib/core/server/router.js.map +0 -1
  56. package/build/lib/core/types/index.d.ts +0 -168
  57. package/build/lib/index.d.ts +0 -11
  58. package/build/tests/benchmark.test.d.ts +0 -1
  59. /package/{build → dist}/lib/core/decorators/index.js +0 -0
  60. /package/{build → dist}/lib/core/decorators/index.js.map +0 -0
  61. /package/{build → dist}/lib/core/types/index.js +0 -0
  62. /package/{build → dist}/lib/core/types/index.js.map +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/core/server/index.ts"],"names":[],"mappings":"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"}
@@ -199,6 +199,14 @@ class ParserFactory {
199
199
  continue;
200
200
  const path = r.path.replace(/:(\w+)/g, "{$1}");
201
201
  const method = r.method.toLocaleLowerCase();
202
+ const swagger = (doc.specs ?? []).find(s => {
203
+ return s.path === r.path &&
204
+ s.method.toLocaleLowerCase() === method;
205
+ });
206
+ const decoratedOnly = doc.options?.decoratedOnly ?? false;
207
+ if ((swagger == null && decoratedOnly) || swagger?.disabled) {
208
+ continue;
209
+ }
202
210
  if (paths[path] == null) {
203
211
  paths[path] = {
204
212
  [method]: {}
@@ -240,7 +248,6 @@ class ParserFactory {
240
248
  ...responses
241
249
  };
242
250
  }
243
- const swagger = doc.options.find(s => (s.path === r.path) && (s.method.toLocaleLowerCase() === method));
244
251
  if (swagger != null) {
245
252
  spec.tags = [
246
253
  swagger.tags == null
@@ -375,14 +382,16 @@ class ParserFactory {
375
382
  }
376
383
  return paths;
377
384
  };
378
- spec.paths = specPaths(doc.routes);
385
+ spec.paths = specPaths(doc.routes ?? []);
379
386
  const normalizePath = (...paths) => {
380
387
  const path = paths
381
388
  .join('/')
382
389
  .replace(/\/+/g, '/')
383
390
  .replace(/\/+$/, '');
384
391
  const normalizedPath = path.startsWith('/') ? path : `/${path}`;
385
- return /\/api\/api/.test(normalizedPath) ? normalizedPath.replace(/\/api\/api\//, "/api/") : normalizedPath;
392
+ return /\/api\/api/.test(normalizedPath)
393
+ ? normalizedPath.replace(/\/api\/api\//, "/api/")
394
+ : normalizedPath;
386
395
  };
387
396
  const STATIC_URL = '/swagger-ui';
388
397
  const iconURL = normalizePath(doc.staticUrl ?? '', `${STATIC_URL}/favicon-32x32.png`).replace(/^\/(http[s]?:\/{0,2})/, '$1');
@@ -398,6 +407,11 @@ class ParserFactory {
398
407
  <title>SwaggerUI</title>
399
408
  <link rel="icon" href="${iconURL}">
400
409
  <link rel="stylesheet" href="${cssURL}" />
410
+ <style>
411
+ .swagger-ui .topbar .download-url-wrapper {
412
+ visibility: hidden;
413
+ }
414
+ </style>
401
415
  </head>
402
416
  <body>
403
417
  <div id="swagger-ui"></div>
@@ -406,10 +420,18 @@ class ParserFactory {
406
420
  <script src="${scriptStandalonePreset}"></script>
407
421
  <script>
408
422
  window.onload = () => {
409
- window.ui = SwaggerUIBundle({ spec : ${JSON.stringify(spec)} ,
410
- dom_id: '#swagger-ui',
411
- withCredentials: true,
412
- presets: [SwaggerUIBundle.presets.apis, SwaggerUIStandalonePreset], layout: "StandaloneLayout"});
423
+ window.ui = SwaggerUIBundle({
424
+ dom_id: '#swagger-ui',
425
+ presets: [SwaggerUIBundle.presets.apis, SwaggerUIStandalonePreset],
426
+ spec : ${JSON.stringify(spec)},
427
+ withCredentials: ${doc.options?.withCredentials ?? "true"},
428
+ layout: "${doc.options?.layout ?? 'StandaloneLayout'}",
429
+ filter: "${doc.options?.filter ?? "false"}",
430
+ docExpansion: "${doc.options?.docExpansion ?? "list"}",
431
+ deepLinking: "${doc.options?.deepLinking ?? "true"}",
432
+ displayOperationId: "${doc.options?.displayOperationId ?? "false"}",
433
+ displayRequestDuration: "${doc.options?.displayRequestDuration ?? "false"}"
434
+ });
413
435
  };
414
436
  </script>
415
437
  </html>
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser-factory.js","sourceRoot":"","sources":["../../../../src/lib/core/server/parser-factory.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAkC;AAClC,gDAAoC;AACpC,4DAA0C;AAC1C,oDAAsC;AACtC,sEAA+C;AAC/C,8DAA2C;AAE3C,mDAA8C;AAE9C,oDAEe;AASf,MAAa,aAAa;IAEtB,KAAK,CAAE,GAAqB,EAAG,OAO9B;QAEG,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAA;QAEhC,IAAI,CAAC,YAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YAC5B,IAAI;gBAAE,YAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;aAAC;YAAC,OAAO,GAAG,EAAE,GAAE;SACtE;QAED,OAAO,IAAI,OAAO,CAA2C,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAE7E,MAAM,IAAI,GAAyB,EAAE,CAAC;YACtC,MAAM,KAAK,GAAwB,EAAE,CAAC;YAEtC,MAAM,iBAAiB,GAAU,EAAE,CAAC;YAEpC,MAAM,EAAE,GAAG,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAG,eAAe,EAAE,MAAM,EAAE,CAAC,CAAC;YAEtE,MAAM,UAAU,GAAG,CAAC,QAAiB,EAAG,EAAW,EAAE,EAAE;gBACnD,MAAM,MAAM,GAAG,GAAG,EAAE;oBAChB,IAAI;wBAAE,YAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;qBAAE;oBAAC,OAAO,GAAG,EAAE,GAAE;gBACxD,CAAC,CAAA;gBACD,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;YAC1B,CAAC,CAAA;YAED,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,SAAkB,EAAE,QAAmB,EAAE,IAAe,EAAE,EAAE;gBAEvE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;gBAEpC,MAAM,YAAY,GAAG,gBAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;gBAE3D,MAAM,QAAQ,GAAG,cAAU,CAAC,IAAI,CAAC,cAAU,CAAC,OAAO,EAAE,EAAC,GAAG,IAAI,IAAI,YAAY,EAAE,CAAC,CAAA;gBAEhF,MAAM,WAAW,GAAI,YAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;gBAEzD,IAAI,QAAQ,GAAG,CAAC,CAAC;gBAEjB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;oBACjC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC;oBAExB,IAAG,QAAQ,GAAG,OAAO,CAAC,KAAK,EAAE;wBAEzB,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;wBAE5B,WAAW,CAAC,OAAO,EAAE,CAAA;wBAErB,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,aAAa,SAAS,gDAAgD,OAAO,CAAC,KAAK,UAAU,CAAC,CAAC,CAAA;qBAC1H;gBACL,CAAC,CAAC,CAAA;gBAEF,MAAM,gBAAgB,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBAErD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;oBAE1B,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;wBAE1B,MAAM,IAAI,GAAG;4BACT,IAAI,EAAW,QAAQ;4BACvB,YAAY,EAAG,QAAQ;4BACvB,YAAY,EAAG,YAAY;4BAC3B,QAAQ,EAAO,QAAQ;4BACvB,SAAS,EAAM,MAAM,CAAC,oBAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;4BACvD,IAAI,EAAW,QAAQ;4BACvB,KAAK,EAAG;gCACJ,KAAK,EAAG,QAAQ;gCAChB,EAAE,EAAM,QAAQ,GAAG,IAAI;gCACvB,EAAE,EAAM,QAAQ,GAAG,IAAI,GAAG,IAAI;gCAC9B,EAAE,EAAM,QAAQ,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;6BACxC;4BACD,KAAK,EAAG,CAAC,EAAW,EAAE,EAAE;gCACpB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oCACnC,YAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC;yCAClC,IAAI,CAAC,YAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;yCACpC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;wCACjB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAA;oCACtB,CAAC,CAAC;yCACD,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;wCACjB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;oCACtB,CAAC,CAAC,CAAC;gCACP,CAAC,CAAC,CAAA;4BACN,CAAC;4BACD,MAAM,EAAG,GAAG,EAAE;gCACV,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE;oCAC1C,YAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;oCAC7B,OAAO,OAAO,CAAC,IAAI,CAAC,CAAA;gCACxB,CAAC,EAAC,GAAG,CAAC,CAAC,CAAA;4BACX,CAAC;yBACJ,CAAA;wBAED,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE;4BAC1B,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,CAAA;yBACxB;wBAED,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;wBAE3B,IAAG,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE;4BAC9B,UAAU,CAAC,QAAQ,EAAG,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,CAAA;yBACnD;wBAED,OAAO,OAAO,CAAC,IAAI,CAAC,CAAA;oBACxB,CAAC,CAAC,CAAA;oBAEF,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;gBACnC,CAAC,CAAC,CAAA;gBAEF,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;YAE5C,CAAC,CAAC,CAAA;YAEF,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE;gBAC7C,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;YACrB,CAAC,CAAC,CAAA;YAEF,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;gBAEjB,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;qBAC7B,IAAI,CAAC,GAAG,EAAE;oBACP,OAAO,OAAO,CAAC;wBACX,KAAK;wBACL,IAAI;qBACP,CAAC,CAAA;gBACN,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACX,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;gBACtB,CAAC,CAAC,CAAA;YACN,CAAC,CAAC,CAAA;YAEF,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAS,EAAE,EAAE;gBACzB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;YACtB,CAAC,CAAC,CAAA;YAEF,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAEhB,CAAC,CAAC,CAAA;IACN,CAAC;IAED,IAAI,CAAE,GAAqB;QAEvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAEnC,MAAM,OAAO,GAAG,IAAI,8BAAa,CAAC,OAAO,CAAC,CAAC;YAC3C,IAAI,OAAO,GAAG,EAAE,CAAC;YAEjB,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;gBAC5B,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACf,IAAI;oBAEA,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC;oBAEpF,IAAI,YAAY,EAAE;wBACd,OAAO,OAAO,CAAC,qBAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;qBAC9C;oBAED,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;oBAEzB,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;iBAEvC;gBAAC,OAAO,CAAC,EAAE;oBAER,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC;iBACtB;YACL,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAQ,EAAE,EAAE;gBAEzB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED,OAAO,CAAE,GAAqB;QAC1B,MAAM,OAAO,GAAuB,EAAE,CAAA;QAEtC,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,EAAE,MAAM,CAAA;QAExC,IAAG,YAAY,IAAI,IAAI;YAAE,OAAO,IAAI,CAAA;QAEpC,KAAI,MAAM,MAAM,IAAI,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YACzC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACrE,OAAO,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;SAC7C;QAED,KAAI,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YACpC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;YAC5B,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC;gBAAE,SAAQ;YAC5C,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACrD,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC;YAC5C,IAAI,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,IAAI,WAAW,GAAG,IAAI,IAAI,EAAE,EAAE;gBAC1D,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;aACxB;SACJ;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,OAAO,CAAE,GAAmB;QAExB,MAAM,IAAI,GAAG;YACT,OAAO,EAAG,OAAO;YACjB,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI;gBACd,KAAK,EAAG,mBAAmB;gBAC3B,WAAW,EAAG,eAAe;gBAC7B,OAAO,EAAG,OAAO;aACpB;YACD,UAAU,EAAG;gBACT,eAAe,EAAG;oBACd,WAAW,EAAE;wBACT,IAAI,EAAE,MAAM;wBACZ,MAAM,EAAE,QAAQ;wBAChB,IAAI,EAAE,eAAe;wBACrB,WAAW,EAAE,mDAAmD;qBACnE;oBACD,OAAO,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,EAAE,EAAE,QAAQ;wBACZ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,mCAAmC;qBACnD;iBACJ;aACJ;YACD,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,KAAK,EAAE,EAAE;SACZ,CAAA;QAED,MAAM,SAAS,GAAG,CAAC,MAAkB,EAAE,EAAE;YAErC,IAAI,KAAK,GAAwB,EAAE,CAAA;YAEnC,KAAI,MAAM,CAAC,IAAI,MAAM,EAAE;gBAEnB,IAAG,CAAC,CAAC,IAAI,KAAK,GAAG;oBAAE,SAAQ;gBAE3B,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;gBAC9C,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAA;gBAE3C,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;oBACvC,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;wBACxB,CAAC,CAAC,MAAM,CAAC,iBAAiB,EAAE,KAAK,MAAM,CAAA;gBAC3C,CAAC,CAAC,CAAA;gBAEF,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,EAAE,aAAa,IAAI,KAAK,CAAA;gBAEzD,IAAG,CAAC,OAAO,IAAI,IAAI,IAAI,aAAa,CAAC,IAAI,OAAO,EAAE,QAAQ,EAAE;oBACxD,SAAQ;iBACX;gBAED,IAAG,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE;oBACpB,KAAK,CAAC,IAAI,CAAC,GAAG;wBACV,CAAC,MAAM,CAAC,EAAE,EAAE;qBACf,CAAA;iBACJ;gBAED,MAAM,IAAI,GAAwB,EAAE,CAAA;gBACpC,MAAM,IAAI,GAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;oBACxC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACtB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;wBACpB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;wBACtB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;gBAExB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAA;gBACpB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;gBACnB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAA;gBAEd,IAAG,GAAG,CAAC,SAAS,IAAI,IAAI,EAAE;oBACtB,MAAM,SAAS,GAAwB,EAAE,CAAA;oBACzC,KAAI,MAAM,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE;wBAEnD,IAAG,QAAQ,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM;4BAAE,SAAQ;wBAE9D,SAAS,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG;4BAC9B,WAAW,EAAE,QAAQ,CAAC,WAAW;4BACjC,OAAO,EAAE;gCACL,kBAAkB,EAAE;oCAChB,MAAM,EAAG;wCACL,IAAI,EAAE,QAAQ;wCACd,UAAU,EAAE,QAAQ,CAAC,OAAO,IAAI,IAAI;4CACpC,CAAC,CAAC,EAAE;4CACJ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;iDAC9B,MAAM,CAAC,CAAC,IAAyB,EAAE,GAAY,EAAE,EAAE;gDAChD,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAG,CAAC,QAAQ,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAA;gDAC9D,OAAO,IAAI,CAAC;4CAChB,CAAC,EAAE,EAAE,CAAC;qCACT;iCACJ;6BACJ;yBACJ,CAAA;qBACJ;oBAED,IAAI,CAAC,SAAS,GAAG;wBACb,GAAG,SAAS;qBACf,CAAA;iBACJ;gBAED,IAAG,OAAO,IAAI,IAAI,EAAE;oBAEhB,IAAI,CAAC,IAAI,GAAG;wBACR,OAAO,CAAC,IAAI,IAAI,IAAI;4BACpB,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,EAAE,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;4BACzE,CAAC,CAAC,OAAO,CAAC,IAAI;qBACjB,CAAA;oBAED,IAAG,OAAO,CAAC,WAAW,EAAE;wBACpB,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAAA;qBAC1C;oBAED,IAAG,OAAO,CAAC,OAAO,IAAI,IAAI,EAAE;wBACxB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;qBACjC;oBAED,IAAG,OAAO,CAAC,WAAW,IAAI,IAAI,EAAE;wBAC5B,IAAI,CAAC,WAAW,GAAE,OAAO,CAAC,WAAW,CAAA;qBACxC;oBAED,IAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE;wBACvD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;4BAC5C,OAAO;gCACH,IAAI,EAAG,CAAC;gCACR,EAAE,EAAG,MAAM;gCACX,QAAQ,EAAE,IAAI;gCACd,MAAM,EAAE;oCACJ,IAAI,EAAE,QAAQ;iCACjB;6BACJ,CAAA;wBACL,CAAC,CAAC,CAAA;qBACL;oBAED,IAAG,OAAO,CAAC,KAAK,IAAI,IAAI,EAAE;wBAEtB,IAAI,CAAC,UAAU,GAAG;4BACd,GAAG,IAAI,CAAC,UAAU;4BAClB,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAG,CAAC,CAAC,EAAE,EAAE;gCAC7C,OAAO;oCACH,IAAI,EAAG,CAAC;oCACR,EAAE,EAAG,OAAO;oCACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;oCAC3C,MAAM,EAAE;wCACJ,IAAI,EAAE,CAAC,CAAC,IAAI;qCACf;iCACJ,CAAA;4BACL,CAAC,CAAC;yBACL,CAAA;qBACJ;oBAED,IAAG,OAAO,CAAC,OAAO,IAAI,IAAI,EAAE;wBACxB,IAAI,CAAC,UAAU,GAAG;4BACd,GAAG,IAAI,CAAC,UAAU;4BAClB,GAAG,CAAC;oCACA,IAAI,EAAG,QAAQ;oCACf,EAAE,EAAG,QAAQ;oCACb,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;oCACzD,MAAM,EAAE;wCACJ,IAAI,EAAE,QAAQ;qCACjB;oCACD,OAAO,EAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;oCAC9E,WAAW,EAAG,OAAO,CAAC,OAAO,EAAE,WAAW;iCAC7C,CAAC;yBACL,CAAA;qBACJ;oBAED,IAAG,OAAO,CAAC,IAAI,IAAI,IAAI,EAAE;wBACrB,IAAI,CAAC,WAAW,GAAG;4BACf,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW;4BACzF,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;4BACvD,OAAO,EAAG;gCACN,kBAAkB,EAAG;oCACjB,MAAM,EAAG;wCACL,IAAI,EAAE,QAAQ;wCACd,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU;qCACtC;iCACJ;6BACJ;yBACJ,CAAA;qBACJ;oBAED,IAAG,OAAO,CAAC,KAAK,IAAI,IAAI,EAAE;wBACtB,IAAI,CAAC,WAAW,GAAG;4BACf,WAAW,EAAE,OAAO,CAAC,KAAK,EAAE,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW;4BAC3F,QAAQ,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;4BACxD,OAAO,EAAG;gCACN,qBAAqB,EAAG;oCACpB,MAAM,EAAG;wCACL,IAAI,EAAE,QAAQ;wCACd,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU;qCACvC;iCACJ;6BACJ;yBACJ,CAAA;qBACJ;oBAED,IAAG,OAAO,CAAC,SAAS,IAAI,IAAI,EAAE;wBAC1B,MAAM,SAAS,GAAwB,EAAE,CAAA;wBACzC,KAAI,MAAM,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE;4BAErC,IAAG,QAAQ,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM;gCAAE,SAAQ;4BAE9D,SAAS,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG;gCAC9B,WAAW,EAAE,QAAQ,CAAC,WAAW;gCACjC,OAAO,EAAE;oCACL,kBAAkB,EAAE;wCAChB,MAAM,EAAG;4CACL,IAAI,EAAE,QAAQ;4CACd,UAAU,EAAE,QAAQ,CAAC,OAAO,IAAI,IAAI;gDACpC,CAAC,CAAC,EAAE;gDACJ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;qDAC9B,MAAM,CAAC,CAAC,IAAyB,EAAE,GAAY,EAAE,EAAE;oDAChD,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAG,CAAC,QAAQ,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAA;oDAC9D,OAAO,IAAI,CAAC;gDAChB,CAAC,EAAE,EAAE,CAAC;yCACT;qCACJ;iCACJ;6BACJ,CAAA;yBACJ;wBAED,IAAI,CAAC,SAAS,GAAG;4BACb,GAAG,SAAS;yBAEf,CAAA;qBACJ;oBAED,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;oBAE1B,SAAQ;iBACX;gBAED,IAAI,CAAC,IAAI,GAAG;oBACR,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,EAAE,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;iBAC1E,CAAA;gBAED,IAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE;oBAEvD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;wBAC3C,OAAO;4BACH,IAAI,EAAG,CAAC;4BACR,EAAE,EAAG,MAAM;4BACX,QAAQ,EAAE,IAAI;4BACd,MAAM,EAAE;gCACJ,IAAI,EAAE,QAAQ;6BACjB;yBACJ,CAAA;oBACL,CAAC,CAAC,CAAA;iBACL;gBAED,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;aAE7B;YAED,OAAO,KAAK,CAAA;QAEhB,CAAC,CAAA;QAED,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAA;QAExC,MAAM,aAAa,GAAG,CAAC,GAAG,KAAe,EAAW,EAAE;YAClD,MAAM,IAAI,GAAG,KAAK;iBACjB,IAAI,CAAC,GAAG,CAAC;iBACT,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;iBACpB,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;YAEpB,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAA;YAE/D,OAAO,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC;gBACpC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC;gBACjD,CAAC,CAAC,cAAc,CAAA;QACxB,CAAC,CAAA;QAED,MAAM,UAAU,GAAG,aAAa,CAAA;QAChC,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,EAAE,GAAG,UAAU,oBAAoB,CAAC,CAAC,OAAO,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAA;QAC5H,MAAM,MAAM,GAAI,aAAa,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,EAAE,GAAG,UAAU,iBAAiB,CAAC,CAAC,OAAO,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAA;QACzH,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,IAAG,EAAE,EAAG,GAAG,UAAU,uBAAuB,CAAC,CAAC,OAAO,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAA;QACpI,MAAM,sBAAsB,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,EAAG,GAAG,UAAU,kCAAkC,CAAC,CAAC,OAAO,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAA;QAE1J,MAAM,IAAI,GAAG;;;;;;;yCAOoB,OAAO;+CACD,MAAM;;;;;;;;;;2BAU1B,YAAY;2BACZ,sBAAsB;;;;;;iCAMhB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;2CACV,GAAG,CAAC,OAAO,EAAE,eAAe,IAAI,MAAM;mCAC9C,GAAG,CAAC,OAAO,EAAE,MAAM,IAAI,kBAAkB;mCACzC,GAAG,CAAC,OAAO,EAAE,MAAM,IAAI,OAAO;yCACxB,GAAG,CAAC,OAAO,EAAE,YAAY,IAAI,MAAM;wCACpC,GAAG,CAAC,OAAO,EAAE,WAAW,IAAI,MAAM;+CAC3B,GAAG,CAAC,OAAO,EAAE,kBAAkB,IAAI,OAAO;mDACtC,GAAG,CAAC,OAAO,EAAE,sBAAsB,IAAI,OAAO;;;;;SAKxF,CAAA;QAED,MAAM,oBAAoB,GAAG,CAAC,GAAqB,EAAE,GAAoB,EAAE,MAA2B,EAAE,EAAE;YAEtG,MAAM,aAAa,GAAG,yBAAa,CAAC,iBAAiB,EAAE,CAAA;YAEvD,MAAM,SAAS,GAAwB;gBACnC,OAAO,EAAE,WAAW;gBACpB,MAAM,EAAE,UAAU;gBAClB,KAAK,EAAE,wBAAwB;gBAC/B,MAAM,EAAE,WAAW;gBACnB,MAAM,EAAE,YAAY;gBACpB,MAAM,EAAE,WAAW;gBACnB,MAAM,EAAE,eAAe;gBACvB,OAAO,EAAE,kBAAkB;aAC9B,CAAA;YAED,MAAM,iBAAiB,GAAQ,MAAM,CAAC,GAAG,CAAC,CAAC;YAC3C,MAAM,QAAQ,GAAG,cAAU,CAAC,IAAI,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;YACnE,MAAM,OAAO,GAAG,cAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;YAC5C,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,WAAW,CAAA;YAErD,IAAI;gBACA,MAAM,OAAO,GAAG,YAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;gBAE/C,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAC,cAAc,EAAE,WAAW,EAAE,CAAC,CAAA;gBAElD,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;aAEnC;YAAC,OAAO,GAAS,EAAE;gBAEhB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAC,cAAc,EAAE,WAAW,EAAE,CAAC,CAAA;gBAElD,OAAO,GAAG,CAAC,GAAG,CAAC,aAAa,iBAAiB,iBAAiB,CAAC,CAAA;aAClE;QACL,CAAC,CAAA;QAED,OAAO;YACH,IAAI,EAAG,GAAG,CAAC,IAAI;YACf,SAAS,EAAG,GAAG,UAAU,IAAI;YAC7B,oBAAoB;YACpB,IAAI;SACP,CAAA;IACL,CAAC;CACJ;AArjBD,sCAqjBC"}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RadixRouter = void 0;
4
+ class RadixNode {
5
+ part;
6
+ children = new Map();
7
+ paramChild;
8
+ handler;
9
+ paramName;
10
+ constructor(part) {
11
+ this.part = part;
12
+ }
13
+ }
14
+ class RadixRouter {
15
+ root = new RadixNode("");
16
+ add(path, handler) {
17
+ const parts = path.split("/").filter(Boolean);
18
+ let node = this.root;
19
+ for (const part of parts) {
20
+ if (part.startsWith(":")) {
21
+ if (!node.paramChild) {
22
+ node.paramChild = new RadixNode(part);
23
+ node.paramChild.paramName = part.slice(1);
24
+ }
25
+ node = node.paramChild;
26
+ continue;
27
+ }
28
+ if (!node.children.has(part)) {
29
+ node.children.set(part, new RadixNode(part));
30
+ }
31
+ node = node.children.get(part);
32
+ }
33
+ node.handler = handler;
34
+ }
35
+ lookup(req, res) {
36
+ const url = req.url || "/";
37
+ const path = url.split("?")[0];
38
+ const parts = path.split("/").filter(Boolean);
39
+ let node = this.root;
40
+ const params = {};
41
+ for (const part of parts) {
42
+ const child = node.children.get(part);
43
+ if (child) {
44
+ node = child;
45
+ continue;
46
+ }
47
+ if (node.paramChild) {
48
+ params[node.paramChild.paramName] = part;
49
+ node = node.paramChild;
50
+ continue;
51
+ }
52
+ res.statusCode = 404;
53
+ res.end("Not Found");
54
+ return;
55
+ }
56
+ if (!node.handler) {
57
+ res.statusCode = 404;
58
+ res.end("Not Found");
59
+ return;
60
+ }
61
+ node.handler(req, res, params);
62
+ }
63
+ }
64
+ exports.RadixRouter = RadixRouter;
65
+ //# sourceMappingURL=radix-router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radix-router.js","sourceRoot":"","sources":["../../../../src/lib/core/server/radix-router.ts"],"names":[],"mappings":";;;AAEA,MAAM,SAAS;IAEb,IAAI,CAAQ;IACZ,QAAQ,GAA2B,IAAI,GAAG,EAAE,CAAA;IAC5C,UAAU,CAAY;IACtB,OAAO,CAAU;IACjB,SAAS,CAAS;IAElB,YAAY,IAAY;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;CACF;AAED,MAAa,WAAW;IAEd,IAAI,GAAG,IAAI,SAAS,CAAC,EAAE,CAAC,CAAA;IAEhC,GAAG,CAAC,IAAY,EAAE,OAAgB;QAEhC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAE7C,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QAEpB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YAExB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;gBAExB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;oBACpB,IAAI,CAAC,UAAU,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAA;oBACrC,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;iBAC1C;gBAED,IAAI,GAAG,IAAI,CAAC,UAAU,CAAA;gBACtB,SAAQ;aACT;YAED,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBAC5B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;aAC7C;YAED,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAE,CAAA;SAChC;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,MAAM,CAAC,GAAQ,EAAE,GAAQ;QAEvB,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAA;QAC1B,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QAE9B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAE7C,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACpB,MAAM,MAAM,GAA0B,EAAE,CAAA;QAExC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YAExB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAErC,IAAI,KAAK,EAAE;gBACT,IAAI,GAAG,KAAK,CAAA;gBACZ,SAAQ;aACT;YAED,IAAI,IAAI,CAAC,UAAU,EAAE;gBAEnB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAU,CAAC,GAAG,IAAI,CAAA;gBACzC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAA;gBACtB,SAAQ;aACT;YAED,GAAG,CAAC,UAAU,GAAG,GAAG,CAAA;YACpB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;YACpB,OAAM;SACP;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,GAAG,CAAC,UAAU,GAAG,GAAG,CAAA;YACpB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;YACpB,OAAM;SACP;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;IAChC,CAAC;CACF;AAxED,kCAwEC"}
@@ -122,6 +122,40 @@ class Router {
122
122
  });
123
123
  return this;
124
124
  }
125
+ /**
126
+ * The 'head' method is used to add the request handler to the router for the 'HEAD' method.
127
+ *
128
+ * @param {string} path
129
+ * @callback {...Function[]} handlers of the middlewares
130
+ * @property {Object} ctx - context { req , res , query , params , cookies , files , body}
131
+ * @property {Function} next - go to next function
132
+ * @returns {this}
133
+ */
134
+ head(path, ...handlers) {
135
+ this._routes.push({
136
+ path,
137
+ method: 'head',
138
+ handlers
139
+ });
140
+ return this;
141
+ }
142
+ /**
143
+ * The 'options' method is used to add the request handler to the router for the 'OPTIONS' method.
144
+ *
145
+ * @param {string} path
146
+ * @callback {...Function[]} handlers of the middlewares
147
+ * @property {Object} ctx - context { req , res , query , params , cookies , files , body}
148
+ * @property {Function} next - go to next function
149
+ * @returns {this}
150
+ */
151
+ options(path, ...handlers) {
152
+ this._routes.push({
153
+ path,
154
+ method: 'options',
155
+ handlers
156
+ });
157
+ return this;
158
+ }
125
159
  }
126
160
  exports.Router = Router;
127
161
  exports.default = Router;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../../src/lib/core/server/router.ts"],"names":[],"mappings":";;;AAEA,MAAM,MAAM;IAEA,OAAO,GAIT,EAAE,CAAA;IAER,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,OAAO,CAAA;IACvB,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAE,MAAqB,EAAE,MAAoC;QACtE,MAAM,MAAM,GAAI,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC,CAAA;QACpC,KAAI,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE;YAC/B,KAAK,CAAC,IAAI,GAAG,GAAG,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;YAC1D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;SAC3B;IACL,CAAC;IAED;;;;;;;;OAQG;IACI,GAAG,CAAC,IAAmB,EAAG,GAAG,QAA+D;QAC/F,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACd,IAAI;YACJ,MAAM,EAAG,KAAK;YACd,QAAQ;SACX,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACf,CAAC;IAED;;;;;;;;OAQG;IACI,IAAI,CAAC,IAAmB,EAAG,GAAG,QAA+D;QAChG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACd,IAAI;YACJ,MAAM,EAAG,MAAM;YACf,QAAQ;SACX,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACf,CAAC;IAED;;;;;;;;OAQG;IACI,GAAG,CAAC,IAAmB,EAAG,GAAG,QAA+D;QAC/F,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACd,IAAI;YACJ,MAAM,EAAG,KAAK;YACd,QAAQ;SACX,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACf,CAAC;IAED;;;;;;;;OAQG;IACI,KAAK,CAAC,IAAmB,EAAG,GAAG,QAA+D;QACjG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACd,IAAI;YACJ,MAAM,EAAG,OAAO;YAChB,QAAQ;SACX,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACf,CAAC;IAEA;;;;;;;;MAQE;IACI,MAAM,CAAC,IAAmB,EAAG,GAAG,QAA+D;QAClG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACd,IAAI;YACJ,MAAM,EAAG,QAAQ;YACjB,QAAQ;SACX,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACf,CAAC;IAED;;;;;;;;OAQG;IACI,GAAG,CAAC,IAAmB,EAAG,GAAG,QAA+D;QAC/F,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACd,IAAI;YACJ,MAAM,EAAG,KAAK;YACd,QAAQ;SACX,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACf,CAAC;IAED;;;;;;;;OAQG;IACI,IAAI,CAAC,IAAmB,EAAG,GAAG,QAA+D;QAChG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACd,IAAI;YACJ,MAAM,EAAG,MAAM;YACf,QAAQ;SACX,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACf,CAAC;IAED;;;;;;;;OAQG;IACI,OAAO,CAAC,IAAmB,EAAG,GAAG,QAA+D;QACnG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACd,IAAI;YACJ,MAAM,EAAG,SAAS;YAClB,QAAQ;SACX,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACf,CAAC;CACJ;AAEQ,wBAAM;AACf,kBAAe,MAAM,CAAA"}
@@ -23,7 +23,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
23
23
  * @module tspace-spear
24
24
  */
25
25
  __exportStar(require("./core/decorators"), exports);
26
- __exportStar(require("./core/types"), exports);
27
26
  __exportStar(require("./core/server/router"), exports);
28
27
  __exportStar(require("./core/server"), exports);
29
28
  const server_1 = __importDefault(require("./core/server"));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;;;IAII;AACJ,oDAAiC;AACjC,+CAA4B;AAC5B,uDAAoC;AACpC,gDAA6B;AAE7B,2DAAkC;AAElC,kBAAe,gBAAK,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;;;IAII;AACJ,oDAAiC;AACjC,uDAAoC;AACpC,gDAA6B;AAG7B,2DAAkC;AAElC,kBAAe,gBAAK,CAAA"}
@@ -16,7 +16,7 @@ let connections = argv.c || argv.connections;
16
16
  let pipelining = argv.p || argv.pipelining;
17
17
  connections = connections == null ? 100 : Number(connections);
18
18
  pipelining = pipelining == null ? 10 : Number(pipelining);
19
- duration = duration == null ? 40 : Number(duration);
19
+ duration = duration == null ? 10 : Number(duration);
20
20
  function runExpress() {
21
21
  const port = 3000;
22
22
  (0, express_1.default)()
@@ -54,7 +54,7 @@ function runFastify() {
54
54
  });
55
55
  }
56
56
  function runSpear() {
57
- const port = 3999;
57
+ const port = 3003;
58
58
  new lib_1.default()
59
59
  .get('/', () => MESSAGE)
60
60
  .listen(port, () => console.log(`server 'Spear' running at : http://localhost:${port}`));
@@ -64,14 +64,26 @@ const urls = [
64
64
  { name: 'express', url: url(3000) },
65
65
  { name: 'http', url: url(3001) },
66
66
  { name: 'fastify', url: url(3002) },
67
- { name: 'tspace-spear', url: url(3999) }
67
+ { name: 'tspace-spear', url: url(3003) }
68
68
  ];
69
69
  const sleep = (ms) => {
70
70
  return new Promise(resolve => setTimeout(resolve, ms, null));
71
71
  };
72
72
  const runBenchmark = async () => {
73
73
  const results = [];
74
- for (const { name, url } of urls) {
74
+ const randomized = shuffle(urls);
75
+ await new Promise((resolve, reject) => {
76
+ (0, autocannon_1.default)({
77
+ url: randomized[0].url,
78
+ connections,
79
+ duration: 3
80
+ }, (err) => {
81
+ if (err)
82
+ return reject(err);
83
+ resolve(null);
84
+ });
85
+ });
86
+ for (const { name, url } of randomized) {
75
87
  const result = await new Promise((resolve, reject) => {
76
88
  (0, autocannon_1.default)({
77
89
  url,
@@ -84,14 +96,24 @@ const runBenchmark = async () => {
84
96
  return resolve(result);
85
97
  });
86
98
  });
99
+ const toMs = (v) => Number((v / 1000).toFixed(3));
100
+ const latency = result.latency;
87
101
  results.push({
88
102
  name,
89
103
  url,
90
- requests: result.requests.total,
91
- ['req/sec']: result.requests.total / duration,
92
- average: result.latency.average
104
+ "req/sec": Number(result.requests.average.toFixed(0)),
105
+ "avg(ms)": toMs(latency.average),
106
+ "p50(ms)": toMs(latency.p50),
107
+ "p90(ms)": toMs(latency.p90),
108
+ "p97(ms)": toMs(latency.p97_5),
109
+ "p99(ms)": toMs(latency.p99),
110
+ "max(ms)": toMs(latency.max),
111
+ "stddev": Number(latency.stddev.toFixed(2)),
112
+ "requests": result.requests.total
93
113
  });
94
114
  }
115
+ // sort ตาม performance
116
+ results.sort((a, b) => Number(b["req/sec"]) - Number(a["req/sec"]));
95
117
  console.log({
96
118
  connections,
97
119
  duration,
@@ -99,6 +121,14 @@ const runBenchmark = async () => {
99
121
  });
100
122
  console.table(results);
101
123
  };
124
+ const shuffle = (arr) => {
125
+ const a = [...arr];
126
+ for (let i = a.length - 1; i > 0; i--) {
127
+ const j = Math.floor(Math.random() * (i + 1));
128
+ [a[i], a[j]] = [a[j], a[i]];
129
+ }
130
+ return a;
131
+ };
102
132
  async function runApps() {
103
133
  await Promise.all([
104
134
  runSpear,
@@ -106,7 +136,7 @@ async function runApps() {
106
136
  runExpress,
107
137
  runHttp
108
138
  ].map(v => v()));
109
- await sleep(3000);
139
+ await sleep(5000);
110
140
  console.log('benchmarking !!');
111
141
  await runBenchmark();
112
142
  console.log('benchmarking done !!');
@@ -1 +1 @@
1
- {"version":3,"file":"benchmark.test.js","sourceRoot":"","sources":["../../src/tests/benchmark.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"benchmark.test.js","sourceRoot":"","sources":["../../src/tests/benchmark.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "tspace-spear",
3
- "version": "1.2.0",
3
+ "version": "1.2.1",
4
4
  "description": "tspace-spear is a lightweight API framework for Node.js that is fast and highly focused on providing the best developer experience. It utilizes the native HTTP server",
5
- "main": "./build/lib/index.js",
6
- "types": "./build/lib/index.d.ts",
5
+ "main": "./dist/lib/index.js",
6
+ "types": "./dist/lib/index.d.ts",
7
7
  "files": [
8
- "build"
8
+ "dist"
9
9
  ],
10
10
  "type": "commonjs",
11
11
  "repository": {
@@ -30,9 +30,10 @@
30
30
  "build": "tsc",
31
31
  "prepare": "npm run build",
32
32
  "release": "npm run build && npm publish",
33
- "test": "npm run build && node build/tests/benchmark.test.js",
34
- "test:build": "node build/tests/benchmark.test.js",
35
- "load": "autocannon -c 100 -d 40 -p 10 localhost:3000"
33
+ "beta": "npm run build && npm publish --tag beta",
34
+ "test": "npm run build && node dist/tests/benchmark.test.js",
35
+ "load": "autocannon -c 100 -d 40 -p 10 localhost:3000",
36
+ "docs": "npx docsify-cli serve docs"
36
37
  },
37
38
  "dependencies": {
38
39
  "busboy": "1.6.0",
@@ -40,7 +41,7 @@
40
41
  "mime-types": "2.1.35",
41
42
  "on-finished": "2.4.1",
42
43
  "reflect-metadata": "0.1.14",
43
- "swagger-ui-dist": "5.17.10"
44
+ "swagger-ui-dist": "5.32.0"
44
45
  },
45
46
  "devDependencies": {
46
47
  "@types/autocannon": "7.12.5",
@@ -50,12 +51,16 @@
50
51
  "@types/node": "16.4.0",
51
52
  "@types/on-finished": "2.3.4",
52
53
  "@types/swagger-ui-dist": "3.30.4",
54
+ "@types/ws": "8.18.1",
53
55
  "@types/yargs": "17.0.32",
54
56
  "autocannon": "7.15.0",
57
+ "docsify-cli": "4.4.4",
55
58
  "express": "4.19.2",
56
59
  "fastify": "4.28.1",
57
60
  "ts-node": "10.9.2",
58
- "typescript": "5.4.5",
59
- "yargs": "17.7.2"
61
+ "typescript": "5.1.6",
62
+ "ws": "8.18.3",
63
+ "yargs": "17.7.2",
64
+ "zod": "4.3.6"
60
65
  }
61
66
  }
@@ -1,5 +0,0 @@
1
- export declare const Body: (...bodyParms: string[]) => (target: any, key: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
2
- export declare const Files: (...filesParms: string[]) => (target: any, key: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
3
- export declare const Params: (...paramsData: string[]) => (target: any, key: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
4
- export declare const Query: (...queryParms: string[]) => (target: any, key: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
5
- export declare const Cookies: (...cookiesParms: string[]) => (target: any, key: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/lib/core/decorators/context.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export declare const Controller: (path: `/${string}`) => ClassDecorator;
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Controller = void 0;
4
- const Controller = (path) => {
5
- return (target) => {
6
- Reflect.defineMetadata("controllers", path, target);
7
- };
8
- };
9
- exports.Controller = Controller;
10
- //# sourceMappingURL=controller.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../../src/lib/core/decorators/controller.ts"],"names":[],"mappings":";;;AAAO,MAAM,UAAU,GAAG,CAAC,IAAkB,EAAkB,EAAE;IAC/D,OAAO,CAAC,MAAM,EAAE,EAAE;QAChB,OAAO,CAAC,cAAc,CAAC,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACtD,CAAC,CAAC;AACJ,CAAC,CAAA;AAJY,QAAA,UAAU,cAItB"}
@@ -1,3 +0,0 @@
1
- /// <reference types="node" />
2
- import { OutgoingHttpHeaders } from 'http';
3
- export declare const WriteHeader: (statusCode: number, contentType: OutgoingHttpHeaders) => (target: any, key: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WriteHeader = void 0;
4
- const WriteHeader = (statusCode, contentType) => {
5
- return (target, key, descriptor) => {
6
- const originalMethod = descriptor.value;
7
- descriptor.value = async function (ctx, next) {
8
- ctx.res.writeHead(...[statusCode, contentType]);
9
- return await originalMethod.call(this, ctx, next);
10
- };
11
- return descriptor;
12
- };
13
- };
14
- exports.WriteHeader = WriteHeader;
15
- //# sourceMappingURL=headers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"headers.js","sourceRoot":"","sources":["../../../../src/lib/core/decorators/headers.ts"],"names":[],"mappings":";;;AAGO,MAAO,WAAW,GAAG,CAAC,UAAmB,EAAG,WAAiC,EAAE,EAAE;IACpF,OAAO,CAAC,MAAW,EAAE,GAAW,EAAE,UAA8B,EAAE,EAAE;QAChE,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;QAExC,UAAU,CAAC,KAAK,GAAG,KAAK,WAAU,GAAc,EAAG,IAAmB;YAClE,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAE,UAAU,EAAG,WAAW,CAAE,CAAC,CAAA;YAClD,OAAO,MAAM,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAG,IAAI,CAAC,CAAC;QACvD,CAAC,CAAC;QAEF,OAAO,UAAU,CAAC;IACtB,CAAC,CAAC;AACN,CAAC,CAAA;AAXa,QAAA,WAAW,eAWxB"}
@@ -1,9 +0,0 @@
1
- import 'reflect-metadata';
2
- export * from './methods';
3
- export * from './headers';
4
- export * from './middleware';
5
- export * from './controller';
6
- export * from './headers';
7
- export * from './statusCode';
8
- export * from './context';
9
- export * from './swagger';
@@ -1,5 +0,0 @@
1
- export declare const Get: (path: `/${string}`) => MethodDecorator;
2
- export declare const Post: (path: `/${string}`) => MethodDecorator;
3
- export declare const Put: (path: `/${string}`) => MethodDecorator;
4
- export declare const Patch: (path: `/${string}`) => MethodDecorator;
5
- export declare const Delete: (path: `/${string}`) => MethodDecorator;
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Delete = exports.Patch = exports.Put = exports.Post = exports.Get = void 0;
4
- const methodDecorator = (method) => {
5
- return (path) => {
6
- return (target, propertyKey) => {
7
- const controller = target.constructor;
8
- const routers = Reflect.hasMetadata("routers", controller)
9
- ? Reflect.getMetadata("routers", controller)
10
- : [];
11
- routers.push({
12
- method,
13
- path,
14
- handler: propertyKey,
15
- });
16
- Reflect.defineMetadata("routers", routers, controller);
17
- };
18
- };
19
- };
20
- exports.Get = methodDecorator('get');
21
- exports.Post = methodDecorator('post');
22
- exports.Put = methodDecorator('put');
23
- exports.Patch = methodDecorator('patch');
24
- exports.Delete = methodDecorator('delete');
25
- //# sourceMappingURL=methods.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"methods.js","sourceRoot":"","sources":["../../../../src/lib/core/decorators/methods.ts"],"names":[],"mappings":";;;AAEA,MAAM,eAAe,GAAG,CAAC,MAAgB,EAAE,EAAE;IAC3C,OAAO,CAAC,IAAkB,EAAmB,EAAE;QAC7C,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;YAC7B,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;YAEtC,MAAM,OAAO,GAAc,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,UAAU,CAAC;gBACnE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,UAAU,CAAC;gBAC5C,CAAC,CAAC,EAAE,CAAC;YAEP,OAAO,CAAC,IAAI,CAAC;gBACX,MAAM;gBACN,IAAI;gBACJ,OAAO,EAAE,WAAW;aACrB,CAAC,CAAC;YAEH,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QACzD,CAAC,CAAA;IACH,CAAC,CAAA;AACH,CAAC,CAAA;AAEY,QAAA,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;AAC7B,QAAA,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;AAC/B,QAAA,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;AAC7B,QAAA,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;AACjC,QAAA,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- import { TRequestFunction } from '../types';
2
- export declare const Middleware: (middleware: TRequestFunction) => (target: any, key: string, descriptor: PropertyDescriptor) => void;