tspace-spear 1.2.8 → 1.2.9-beta.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 (99) hide show
  1. package/README.md +303 -82
  2. package/dist/cli/app.d.ts +1 -1
  3. package/dist/cli/app.js +3 -7
  4. package/dist/cli/app.js.map +1 -1
  5. package/dist/cli/controller.d.ts +1 -1
  6. package/dist/cli/controller.js +1 -12
  7. package/dist/cli/controller.js.map +1 -1
  8. package/dist/cli/generators/app/index.js +1 -1
  9. package/dist/cli/generators/app/index.js.map +1 -1
  10. package/dist/cli/generators/controller/template.d.ts +1 -1
  11. package/dist/cli/generators/controller/template.js +16 -7
  12. package/dist/cli/generators/controller/template.js.map +1 -1
  13. package/dist/cli/generators/dto/index.js +5 -3
  14. package/dist/cli/generators/dto/index.js.map +1 -1
  15. package/dist/cli/generators/module/index.js +3 -3
  16. package/dist/cli/generators/service/template.d.ts +1 -1
  17. package/dist/cli/generators/service/template.js +17 -17
  18. package/dist/cli/index.js +10 -7
  19. package/dist/cli/index.js.map +1 -1
  20. package/dist/lib/core/client/index.d.ts +13 -43
  21. package/dist/lib/core/client/index.js +70 -33
  22. package/dist/lib/core/client/index.js.map +1 -1
  23. package/dist/lib/core/client/types.d.ts +43 -0
  24. package/dist/lib/core/client/types.js +3 -0
  25. package/dist/lib/core/client/types.js.map +1 -0
  26. package/dist/lib/core/compiler/generator.d.ts +4 -6
  27. package/dist/lib/core/compiler/generator.js +172 -39
  28. package/dist/lib/core/compiler/generator.js.map +1 -1
  29. package/dist/lib/core/compiler/index.d.ts +2 -2
  30. package/dist/lib/core/compiler/index.js +2 -2
  31. package/dist/lib/core/compiler/index.js.map +1 -1
  32. package/dist/lib/core/compiler/pre-routes.d.ts +12 -130
  33. package/dist/lib/core/compiler/pre-routes.js +13 -35
  34. package/dist/lib/core/compiler/pre-routes.js.map +1 -1
  35. package/dist/lib/core/compiler/types.d.ts +25 -0
  36. package/dist/lib/core/decorators/context.js +23 -15
  37. package/dist/lib/core/decorators/context.js.map +1 -1
  38. package/dist/lib/core/decorators/controller.js +2 -1
  39. package/dist/lib/core/decorators/controller.js.map +1 -1
  40. package/dist/lib/core/decorators/index.d.ts +1 -0
  41. package/dist/lib/core/decorators/index.js +1 -0
  42. package/dist/lib/core/decorators/index.js.map +1 -1
  43. package/dist/lib/core/decorators/methods.js +4 -3
  44. package/dist/lib/core/decorators/methods.js.map +1 -1
  45. package/dist/lib/core/decorators/middleware.d.ts +40 -2
  46. package/dist/lib/core/decorators/middleware.js +54 -9
  47. package/dist/lib/core/decorators/middleware.js.map +1 -1
  48. package/dist/lib/core/decorators/service.d.ts +28 -0
  49. package/dist/lib/core/decorators/service.js +36 -0
  50. package/dist/lib/core/decorators/service.js.map +1 -0
  51. package/dist/lib/core/decorators/statusCode.js +3 -1
  52. package/dist/lib/core/decorators/statusCode.js.map +1 -1
  53. package/dist/lib/core/decorators/swagger.js +4 -3
  54. package/dist/lib/core/decorators/swagger.js.map +1 -1
  55. package/dist/lib/core/exception/index.d.ts +68 -0
  56. package/dist/lib/core/exception/index.js +123 -0
  57. package/dist/lib/core/exception/index.js.map +1 -0
  58. package/dist/lib/core/metadata/index.d.ts +6 -0
  59. package/dist/lib/core/metadata/index.js +13 -0
  60. package/dist/lib/core/metadata/index.js.map +1 -0
  61. package/dist/lib/core/server/fast-router.d.ts +2 -2
  62. package/dist/lib/core/server/fast-router.js +17 -3
  63. package/dist/lib/core/server/fast-router.js.map +1 -1
  64. package/dist/lib/core/server/index.d.ts +32 -5
  65. package/dist/lib/core/server/index.js +188 -45
  66. package/dist/lib/core/server/index.js.map +1 -1
  67. package/dist/lib/core/server/parser-factory.js +59 -10
  68. package/dist/lib/core/server/parser-factory.js.map +1 -1
  69. package/dist/lib/core/server/response.js +21 -1
  70. package/dist/lib/core/server/response.js.map +1 -1
  71. package/dist/lib/core/types/index.d.ts +42 -29
  72. package/package.json +14 -5
  73. package/dist/cli/client.d.ts +0 -1
  74. package/dist/cli/client.js +0 -30
  75. package/dist/cli/client.js.map +0 -1
  76. package/dist/cli/middleware.d.ts +0 -1
  77. package/dist/cli/middleware.js +0 -16
  78. package/dist/cli/middleware.js.map +0 -1
  79. package/dist/client.d.ts +0 -1
  80. package/dist/client.js +0 -17
  81. package/dist/client.js.map +0 -1
  82. package/dist/common/middlewares/log.middleware.d.ts +0 -2
  83. package/dist/common/middlewares/log.middleware.js +0 -12
  84. package/dist/common/middlewares/log.middleware.js.map +0 -1
  85. package/dist/index.d.ts +0 -4
  86. package/dist/index.js +0 -32
  87. package/dist/index.js.map +0 -1
  88. package/dist/modules/cats/cat.controller.d.ts +0 -58
  89. package/dist/modules/cats/cat.controller.js +0 -90
  90. package/dist/modules/cats/cat.controller.js.map +0 -1
  91. package/dist/modules/cats/cat.dto.d.ts +0 -8
  92. package/dist/modules/cats/cat.dto.js +0 -44
  93. package/dist/modules/cats/cat.dto.js.map +0 -1
  94. package/dist/modules/cats/cat.service.d.ts +0 -23
  95. package/dist/modules/cats/cat.service.js +0 -56
  96. package/dist/modules/cats/cat.service.js.map +0 -1
  97. package/dist/tests/e2e..test.d.ts +0 -1
  98. package/dist/tests/e2e..test.js +0 -16
  99. package/dist/tests/e2e..test.js.map +0 -1
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GatewayTimeoutException = exports.ServiceUnavailableException = exports.BadGatewayException = exports.NotImplementedException = exports.InternalServerErrorException = exports.TooManyRequestsException = exports.UnprocessableEntityException = exports.UnsupportedMediaTypeException = exports.GoneException = exports.ConflictException = exports.MethodNotAllowedException = exports.NotFoundException = exports.ForbiddenException = exports.UnauthorizedException = exports.BadRequestException = exports.HttpStatus = void 0;
4
+ exports.HttpStatus = {
5
+ BAD_REQUEST: 400,
6
+ UNAUTHORIZED: 401,
7
+ FORBIDDEN: 403,
8
+ NOT_FOUND: 404,
9
+ METHOD_NOT_ALLOWED: 405,
10
+ CONFLICT: 409,
11
+ GONE: 410,
12
+ UNSUPPORTED_MEDIA_TYPE: 415,
13
+ UNPROCESSABLE_ENTITY: 422,
14
+ TOO_MANY_REQUESTS: 429,
15
+ INTERNAL_SERVER_ERROR: 500,
16
+ NOT_IMPLEMENTED: 501,
17
+ BAD_GATEWAY: 502,
18
+ SERVICE_UNAVAILABLE: 503,
19
+ GATEWAY_TIMEOUT: 504,
20
+ };
21
+ class HttpException extends Error {
22
+ statusCode;
23
+ message;
24
+ constructor(statusCode, message) {
25
+ super(message);
26
+ this.statusCode = statusCode;
27
+ this.message = message;
28
+ this.name = this.constructor.name;
29
+ Object.setPrototypeOf(this, new.target.prototype);
30
+ Error.captureStackTrace?.(this, this.constructor);
31
+ }
32
+ }
33
+ class BadRequestException extends HttpException {
34
+ constructor(message = 'Bad Request') {
35
+ super(exports.HttpStatus.BAD_REQUEST, message);
36
+ }
37
+ }
38
+ exports.BadRequestException = BadRequestException;
39
+ class UnauthorizedException extends HttpException {
40
+ constructor(message = 'Unauthorized') {
41
+ super(exports.HttpStatus.UNAUTHORIZED, message);
42
+ }
43
+ }
44
+ exports.UnauthorizedException = UnauthorizedException;
45
+ class ForbiddenException extends HttpException {
46
+ constructor(message = 'Forbidden') {
47
+ super(exports.HttpStatus.FORBIDDEN, message);
48
+ }
49
+ }
50
+ exports.ForbiddenException = ForbiddenException;
51
+ class NotFoundException extends HttpException {
52
+ constructor(message = 'Not Found') {
53
+ super(exports.HttpStatus.NOT_FOUND, message);
54
+ }
55
+ }
56
+ exports.NotFoundException = NotFoundException;
57
+ class MethodNotAllowedException extends HttpException {
58
+ constructor(message = 'Method Not Allowed') {
59
+ super(exports.HttpStatus.METHOD_NOT_ALLOWED, message);
60
+ }
61
+ }
62
+ exports.MethodNotAllowedException = MethodNotAllowedException;
63
+ class ConflictException extends HttpException {
64
+ constructor(message = 'Conflict') {
65
+ super(exports.HttpStatus.CONFLICT, message);
66
+ }
67
+ }
68
+ exports.ConflictException = ConflictException;
69
+ class GoneException extends HttpException {
70
+ constructor(message = 'Gone') {
71
+ super(exports.HttpStatus.GONE, message);
72
+ }
73
+ }
74
+ exports.GoneException = GoneException;
75
+ class UnsupportedMediaTypeException extends HttpException {
76
+ constructor(message = 'Unsupported Media Type') {
77
+ super(exports.HttpStatus.UNSUPPORTED_MEDIA_TYPE, message);
78
+ }
79
+ }
80
+ exports.UnsupportedMediaTypeException = UnsupportedMediaTypeException;
81
+ class UnprocessableEntityException extends HttpException {
82
+ constructor(message = 'Unprocessable Entity') {
83
+ super(exports.HttpStatus.UNPROCESSABLE_ENTITY, message);
84
+ }
85
+ }
86
+ exports.UnprocessableEntityException = UnprocessableEntityException;
87
+ class TooManyRequestsException extends HttpException {
88
+ constructor(message = 'Too Many Requests') {
89
+ super(exports.HttpStatus.TOO_MANY_REQUESTS, message);
90
+ }
91
+ }
92
+ exports.TooManyRequestsException = TooManyRequestsException;
93
+ class InternalServerErrorException extends HttpException {
94
+ constructor(message = 'Internal Server Error') {
95
+ super(exports.HttpStatus.INTERNAL_SERVER_ERROR, message);
96
+ }
97
+ }
98
+ exports.InternalServerErrorException = InternalServerErrorException;
99
+ class NotImplementedException extends HttpException {
100
+ constructor(message = 'Not Implemented') {
101
+ super(exports.HttpStatus.NOT_IMPLEMENTED, message);
102
+ }
103
+ }
104
+ exports.NotImplementedException = NotImplementedException;
105
+ class BadGatewayException extends HttpException {
106
+ constructor(message = 'Bad Gateway') {
107
+ super(exports.HttpStatus.BAD_GATEWAY, message);
108
+ }
109
+ }
110
+ exports.BadGatewayException = BadGatewayException;
111
+ class ServiceUnavailableException extends HttpException {
112
+ constructor(message = 'Service Unavailable') {
113
+ super(exports.HttpStatus.SERVICE_UNAVAILABLE, message);
114
+ }
115
+ }
116
+ exports.ServiceUnavailableException = ServiceUnavailableException;
117
+ class GatewayTimeoutException extends HttpException {
118
+ constructor(message = 'Gateway Timeout') {
119
+ super(exports.HttpStatus.GATEWAY_TIMEOUT, message);
120
+ }
121
+ }
122
+ exports.GatewayTimeoutException = GatewayTimeoutException;
123
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/core/exception/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare const CONTROLLER_METADATA: unique symbol;
2
+ export declare const ROUTE_METADATA: unique symbol;
3
+ export declare const SERVICE_METADATA: unique symbol;
4
+ export declare const SWAGGER_METADATA: unique symbol;
5
+ export declare const MIDDLEWARE_METADATA: unique symbol;
6
+ export declare const PARAMTYPES_METADATA = "design:paramtypes";
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PARAMTYPES_METADATA = exports.MIDDLEWARE_METADATA = exports.SWAGGER_METADATA = exports.SERVICE_METADATA = exports.ROUTE_METADATA = exports.CONTROLLER_METADATA = void 0;
4
+ exports.CONTROLLER_METADATA = Symbol("controllers");
5
+ exports.ROUTE_METADATA = Symbol("routes");
6
+ exports.SERVICE_METADATA = Symbol("services");
7
+ exports.SWAGGER_METADATA = Symbol("swaggers");
8
+ exports.MIDDLEWARE_METADATA = Symbol("middlewares");
9
+ // "design:paramtypes" is a metadata key automatically generated by TypeScript
10
+ // when the emitDecoratorMetadata compiler option is enabled.
11
+ // It stores the constructor parameter types of a class and can be accessed through the Reflect Metadata API.
12
+ exports.PARAMTYPES_METADATA = "design:paramtypes";
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/core/metadata/index.ts"],"names":[],"mappings":";;;AAAa,QAAA,mBAAmB,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AAC5C,QAAA,cAAc,GAAQ,MAAM,CAAC,QAAQ,CAAC,CAAC;AACvC,QAAA,gBAAgB,GAAM,MAAM,CAAC,UAAU,CAAC,CAAC;AACzC,QAAA,gBAAgB,GAAM,MAAM,CAAC,UAAU,CAAC,CAAC;AACzC,QAAA,mBAAmB,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzD,+EAA+E;AAC/E,8DAA8D;AAC9D,6GAA6G;AAChG,QAAA,mBAAmB,GAAG,mBAAmB,CAAC"}
@@ -113,8 +113,8 @@ export declare class FastRouter {
113
113
  * It supports parameterized routes, static routes, and (optionally)
114
114
  * wildcard matching depending on router implementation.
115
115
  *
116
- * @param req Incoming HTTP request object
117
- * @param res Server response object used to send output
116
+ * @param {IncomingMessage} req Incoming HTTP request object
117
+ * @param {ServerResponse} res Server response object used to send output
118
118
  *
119
119
  * @returns void
120
120
  *
@@ -5,6 +5,20 @@ const METHODS = [
5
5
  "GET", "POST", "PUT", "PATCH",
6
6
  "DELETE", "OPTIONS", "HEAD"
7
7
  ];
8
+ const parseValue = (value) => {
9
+ if (/^-?\d+(\.\d+)?$/.test(value)) {
10
+ const num = Number(value);
11
+ if (Number.isFinite(num) &&
12
+ Number.isSafeInteger(num)) {
13
+ return num;
14
+ }
15
+ if (Number.isFinite(num) &&
16
+ !Number.isInteger(num)) {
17
+ return num;
18
+ }
19
+ }
20
+ return value;
21
+ };
8
22
  class FastRouter {
9
23
  trees = Object.create(null);
10
24
  _routes = [];
@@ -146,8 +160,8 @@ class FastRouter {
146
160
  * It supports parameterized routes, static routes, and (optionally)
147
161
  * wildcard matching depending on router implementation.
148
162
  *
149
- * @param req Incoming HTTP request object
150
- * @param res Server response object used to send output
163
+ * @param {IncomingMessage} req Incoming HTTP request object
164
+ * @param {ServerResponse} res Server response object used to send output
151
165
  *
152
166
  * @returns void
153
167
  *
@@ -189,7 +203,7 @@ class FastRouter {
189
203
  continue;
190
204
  }
191
205
  if (node.param) {
192
- params[node.param.paramName] = part;
206
+ params[node.param.paramName] = parseValue(part);
193
207
  node = node.param;
194
208
  start = i + 1;
195
209
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"fast-router.js","sourceRoot":"","sources":["../../../../src/lib/core/server/fast-router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fast-router.js","sourceRoot":"","sources":["../../../../src/lib/core/server/fast-router.ts"],"names":[],"mappings":";;;AAiBA,MAAM,OAAO,GAAG;IACd,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;IAC7B,QAAQ,EAAE,SAAS,EAAE,MAAM;CACnB,CAAC;AAIX,MAAM,UAAU,GAAG,CAAC,KAAa,EAAQ,EAAE;IAEzC,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAElC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAE1B,IACE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;YACpB,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,EACzB,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;QAED,IACE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;YACpB,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,EACtB,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAA;AACD,MAAa,UAAU;IACb,KAAK,GAAyB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAClD,OAAO,GAAc,EAAE,CAAA;IAE/B;QACE,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACrC,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;;;;;;;;;OAWG;IACI,GAAG,CAAC,IAAY,EAAE,OAAgB;QACvC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;OAQG;IACI,IAAI,CAAC,IAAY,EAAE,OAAgB;QACxC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;OAQG;IACI,GAAG,CAAC,IAAY,EAAE,OAAgB;QACvC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;OAQG;IACI,KAAK,CAAC,IAAY,EAAE,OAAgB;QACzC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;OAQG;IACI,MAAM,CAAC,IAAY,EAAE,OAAgB;QAC1C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;OAQG;IACI,OAAO,CAAC,IAAY,EAAE,OAAgB;QAC3C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;OAQG;IACI,IAAI,CAAC,IAAY,EAAE,OAAgB;QACxC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;OAYG;IACI,GAAG,CAAC,IAAY,EAAE,OAAgB;QACvC,KAAI,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACI,MAAM,CAAC,GAAoB,EAAE,GAAmB;QACrD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAO,CAAC;QAE3B,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAE9B,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;gBACtB,OAAM;YACR,CAAC;YACD,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;YACrB,OAAO,GAAG,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC;QACzB,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,CAAC;YAAE,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEpC,MAAM,MAAM,GAA2B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAE3D,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;QAEnC,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC;gBACvC,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;gBAEhC,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,KAAK,GAAG,CAAC,GAAG,CAAC,CAAA;oBACb,SAAQ;gBACV,CAAC;gBAED,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAE7B,IAAI,IAAI,EAAE,CAAC;oBACT,IAAI,GAAG,IAAI,CAAA;oBACX,KAAK,GAAG,CAAC,GAAG,CAAC,CAAA;oBACb,SAAQ;gBACV,CAAC;gBAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAU,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;oBACjD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAA;oBACjB,KAAK,GAAG,CAAC,GAAG,CAAC,CAAA;oBAEb,SAAQ;gBACV,CAAC;gBAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAClB,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBAC/B,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;oBACrB,MAAK;gBACP,CAAC;gBAED,IAAI,YAAY,EAAE,OAAO,EAAE,CAAC;oBAC1B,OAAO,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;gBAC/C,CAAC;gBAED,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;oBACtB,OAAM;gBACR,CAAC;gBAED,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;gBACrB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;QACH,CAAC;QAEA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAEnB,IAAI,YAAY,EAAE,OAAO,EAAE,CAAC;gBAC1B,OAAO,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;YAChD,CAAC;YAED,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;gBACtB,OAAO;YACT,CAAC;YAED,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;YACrB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;IACvC,CAAC;IAEO,WAAW;QACjB,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAA;IACxC,CAAC;IAEO,IAAI,CAAC,MAAc,EAAE,IAAY,EAAE,OAAgB;QACzD,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAE9B,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;gBACzC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAElC,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,KAAK,GAAG,CAAC,GAAG,CAAC,CAAA;oBACb,SAAS;gBACX,CAAC;gBAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBAEpB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;wBAChB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;wBAChC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBACvC,CAAC;oBAED,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;gBACpB,CAAC;qBAEI,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;oBAEtB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;oBACrC,CAAC;oBACD,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;oBAErB,MAAK;gBACP,CAAC;qBAEI,CAAC;oBAEJ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;wBACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;oBACzC,CAAC;oBAED,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC3B,CAAC;gBAED,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;YAChB,CAAC;QACH,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YAChB,IAAI;YACJ,MAAM;YACN,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;SAClC,CAAC,CAAC;QAEH,OAAO;IACT,CAAC;IAEO,cAAc,CAAC,IAAY;QACjC,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;gBACzC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAElC,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBAC5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7B,CAAC;gBAED,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;YAChB,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AA3UD,gCA2UC"}
@@ -84,13 +84,38 @@ declare class Spear {
84
84
  /**
85
85
  * The 'useGlobalPrefix' method is used to sets a global prefix for all routes in the router.
86
86
  *
87
- * If `globalPrefix` is `null` or `undefined`, it will default to an empty string,
88
- * meaning no prefix will be applied.
87
+ * This prefix will be prepended to every route path in the application.
88
+ * If `path` is `null`, `undefined`, or an empty string, no global prefix
89
+ * will be applied.
89
90
  *
90
- * @param {string | null} globalPrefix - The base path prefix to apply to all routes.
91
- * @returns {this} Returns the current instance for method chaining.
91
+ * @param {string} path - The global route prefix.
92
+ *
93
+ * @param {Object} [options] - Additional configuration options.
94
+ * @param {Array<{ path: string; method?: TMethod | TMethod[] }>} [options.exclude]
95
+ * Routes to exclude from the global prefix.
96
+ *
97
+ * @returns {this} Returns the current router instance for chaining.
98
+ *
99
+ * @example
100
+ * import Spear from "tspace-spear";
101
+ * const app = new Spear()
102
+ *
103
+ * app.useGlobalPrefix('/api');
104
+ *
105
+ * @example
106
+ * app.useGlobalPrefix('/api', {
107
+ * exclude: [
108
+ * { path: '/health' },
109
+ * { path: '/auth/login', method: 'POST' }
110
+ * ]
111
+ * });
92
112
  */
93
- useGlobalPrefix(globalPrefix: string | null): this;
113
+ useGlobalPrefix(path: string | null, options?: {
114
+ exclude?: {
115
+ path: string;
116
+ methods?: T.MethodInput[] | '*';
117
+ }[];
118
+ }): this;
94
119
  /**
95
120
  * The 'useAdater' method is used to switch between different server implementations,
96
121
  * such as the native Node.js HTTP server or uWebSockets.js (uWS).
@@ -299,6 +324,7 @@ declare class Spear {
299
324
  private _import;
300
325
  private _scan;
301
326
  private _registerControllers;
327
+ private _createController;
302
328
  private _registerMiddlewares;
303
329
  private _wrapHandlers;
304
330
  private _wrapResponse;
@@ -308,6 +334,7 @@ declare class Spear {
308
334
  private _createContext;
309
335
  private _normalizePath;
310
336
  private _swaggerHandler;
337
+ private _resolveGlobalPrefix;
311
338
  }
312
339
  export declare class Application extends Spear {
313
340
  }