@dangao/bun-server 0.1.5 → 0.3.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 (45) hide show
  1. package/dist/controller/controller.d.ts.map +1 -1
  2. package/dist/core/context.d.ts +6 -0
  3. package/dist/core/context.d.ts.map +1 -1
  4. package/dist/error/error-codes.d.ts +33 -0
  5. package/dist/error/error-codes.d.ts.map +1 -0
  6. package/dist/error/handler.d.ts.map +1 -1
  7. package/dist/error/http-exception.d.ts +12 -6
  8. package/dist/error/http-exception.d.ts.map +1 -1
  9. package/dist/error/i18n.d.ts +28 -0
  10. package/dist/error/i18n.d.ts.map +1 -0
  11. package/dist/error/index.d.ts +3 -0
  12. package/dist/error/index.d.ts.map +1 -1
  13. package/dist/index.d.ts +3 -2
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +904 -329
  16. package/dist/metrics/collector.d.ts +47 -0
  17. package/dist/metrics/collector.d.ts.map +1 -0
  18. package/dist/metrics/controller.d.ts +17 -0
  19. package/dist/metrics/controller.d.ts.map +1 -0
  20. package/dist/metrics/index.d.ts +7 -0
  21. package/dist/metrics/index.d.ts.map +1 -0
  22. package/dist/metrics/metrics-module.d.ts +9 -0
  23. package/dist/metrics/metrics-module.d.ts.map +1 -0
  24. package/dist/metrics/middleware.d.ts +7 -0
  25. package/dist/metrics/middleware.d.ts.map +1 -0
  26. package/dist/metrics/prometheus.d.ts +23 -0
  27. package/dist/metrics/prometheus.d.ts.map +1 -0
  28. package/dist/metrics/types.d.ts +88 -0
  29. package/dist/metrics/types.d.ts.map +1 -0
  30. package/dist/middleware/builtin/error-handler.d.ts.map +1 -1
  31. package/dist/middleware/builtin/index.d.ts +1 -0
  32. package/dist/middleware/builtin/index.d.ts.map +1 -1
  33. package/dist/middleware/builtin/rate-limit.d.ts +104 -0
  34. package/dist/middleware/builtin/rate-limit.d.ts.map +1 -0
  35. package/dist/middleware/decorators.d.ts +7 -0
  36. package/dist/middleware/decorators.d.ts.map +1 -1
  37. package/dist/middleware/index.d.ts +1 -1
  38. package/dist/middleware/index.d.ts.map +1 -1
  39. package/dist/security/context.d.ts.map +1 -1
  40. package/dist/security/filter.d.ts.map +1 -1
  41. package/dist/security/providers/oauth2-provider.d.ts +3 -1
  42. package/dist/security/providers/oauth2-provider.d.ts.map +1 -1
  43. package/dist/security/security-module.d.ts.map +1 -1
  44. package/package.json +3 -3
  45. package/readme.md +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/controller/controller.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAS5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE/C;;GAEG;AACH,eAAO,MAAM,uBAAuB,eAAuB,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,MAAM,EAAE,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;CAC7C;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,GAAE,MAAW,IACzB,QAAQ,WAAW,CAAC,OAAO,CAAC,UAI9C;AAED;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2D;IACvF,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA8C;IAEnF,OAAO;IAIP;;OAEG;WACW,WAAW,IAAI,kBAAkB;IAO/C;;;OAGG;IACI,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI;IAiInF;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAepB;;;OAGG;IACI,YAAY,IAAI,SAAS;IAIhC;;;OAGG;IACI,wBAAwB,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE;IAIzD;;OAEG;IACI,KAAK,IAAI,IAAI;CAKrB"}
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/controller/controller.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAS5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE/C;;GAEG;AACH,eAAO,MAAM,uBAAuB,eAAuB,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,MAAM,EAAE,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;CAC7C;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,GAAE,MAAW,IACzB,QAAQ,WAAW,CAAC,OAAO,CAAC,UAI9C;AAED;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2D;IACvF,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA8C;IAEnF,OAAO;IAIP;;OAEG;WACW,WAAW,IAAI,kBAAkB;IAO/C;;;OAGG;IACI,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI;IAgHnF;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAepB;;;OAGG;IACI,YAAY,IAAI,SAAS;IAIhC;;;OAGG;IACI,wBAAwB,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE;IAIzD;;OAEG;IACI,KAAK,IAAI,IAAI;CAKrB"}
@@ -95,6 +95,12 @@ export declare class Context {
95
95
  * @returns 头值
96
96
  */
97
97
  getHeader(key: string): string | null;
98
+ /**
99
+ * 获取客户端 IP 地址
100
+ * 优先从 X-Forwarded-For 头获取(代理场景),否则从连接信息获取
101
+ * @returns 客户端 IP 地址
102
+ */
103
+ getClientIp(): string;
98
104
  /**
99
105
  * 设置响应头
100
106
  * @param key - 头名称
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/core/context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAGjD;;;GAGG;AACH,qBAAa,OAAO;IAClB;;OAEG;IACH,SAAgB,OAAO,EAAE,OAAO,CAAC;IAEjC;;OAEG;IACI,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAE3B;;OAEG;IACH,SAAgB,GAAG,EAAE,GAAG,CAAC;IAEzB;;OAEG;IACH,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,SAAgB,IAAI,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,SAAgB,KAAK,EAAE,eAAe,CAAC;IAEvC;;OAEG;IACI,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAE3C;;OAEG;IACH,SAAgB,OAAO,EAAE,OAAO,CAAC;IAEjC;;OAEG;IACI,eAAe,EAAE,OAAO,CAAC;IAEhC;;OAEG;IACI,UAAU,EAAE,MAAM,CAAO;IAEhC;;OAEG;IACI,KAAK,EAAE,gBAAgB,EAAE,CAAM;IAEtC;;OAEG;IACH,OAAO,CAAC,KAAK,CAAC,CAAU;IAExB;;OAEG;IACH,OAAO,CAAC,WAAW,CAAkB;gBAElB,OAAO,EAAE,OAAO;IAUnC;;;OAGG;IACU,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAQxC;;;OAGG;IACH,IAAW,IAAI,IAAI,OAAO,CAEzB;IAED;;;OAGG;IACH,IAAW,IAAI,CAAC,IAAI,EAAE,OAAO,EAG5B;IAED;;;;OAIG;IACI,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAI3C;;;OAGG;IACI,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAQ5C;;;;OAIG;IACI,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIhD;;;;OAIG;IACI,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAI5C;;;;OAIG;IACI,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAIlD;;;OAGG;IACI,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIpC;;;;;OAKG;IACI,cAAc,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,QAAQ;CA2BrE"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/core/context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAGjD;;;GAGG;AACH,qBAAa,OAAO;IAClB;;OAEG;IACH,SAAgB,OAAO,EAAE,OAAO,CAAC;IAEjC;;OAEG;IACI,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAE3B;;OAEG;IACH,SAAgB,GAAG,EAAE,GAAG,CAAC;IAEzB;;OAEG;IACH,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,SAAgB,IAAI,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,SAAgB,KAAK,EAAE,eAAe,CAAC;IAEvC;;OAEG;IACI,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAE3C;;OAEG;IACH,SAAgB,OAAO,EAAE,OAAO,CAAC;IAEjC;;OAEG;IACI,eAAe,EAAE,OAAO,CAAC;IAEhC;;OAEG;IACI,UAAU,EAAE,MAAM,CAAO;IAEhC;;OAEG;IACI,KAAK,EAAE,gBAAgB,EAAE,CAAM;IAEtC;;OAEG;IACH,OAAO,CAAC,KAAK,CAAC,CAAU;IAExB;;OAEG;IACH,OAAO,CAAC,WAAW,CAAkB;gBAElB,OAAO,EAAE,OAAO;IAUnC;;;OAGG;IACU,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAQxC;;;OAGG;IACH,IAAW,IAAI,IAAI,OAAO,CAEzB;IAED;;;OAGG;IACH,IAAW,IAAI,CAAC,IAAI,EAAE,OAAO,EAG5B;IAED;;;;OAIG;IACI,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAI3C;;;OAGG;IACI,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAQ5C;;;;OAIG;IACI,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIhD;;;;OAIG;IACI,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAI5C;;;;OAIG;IACI,WAAW,IAAI,MAAM;IAmB5B;;;;OAIG;IACI,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAIlD;;;OAGG;IACI,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIpC;;;;;OAKG;IACI,cAAc,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,QAAQ;CA2BrE"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * 错误码定义
3
+ * 格式:模块_错误类型_具体错误
4
+ * 例如:AUTH_INVALID_TOKEN, VALIDATION_REQUIRED_FIELD
5
+ */
6
+ export declare enum ErrorCode {
7
+ INTERNAL_ERROR = "INTERNAL_ERROR",
8
+ INVALID_REQUEST = "INVALID_REQUEST",
9
+ RESOURCE_NOT_FOUND = "RESOURCE_NOT_FOUND",
10
+ METHOD_NOT_ALLOWED = "METHOD_NOT_ALLOWED",
11
+ AUTH_REQUIRED = "AUTH_REQUIRED",
12
+ AUTH_INVALID_TOKEN = "AUTH_INVALID_TOKEN",
13
+ AUTH_TOKEN_EXPIRED = "AUTH_TOKEN_EXPIRED",
14
+ AUTH_INSUFFICIENT_PERMISSIONS = "AUTH_INSUFFICIENT_PERMISSIONS",
15
+ VALIDATION_FAILED = "VALIDATION_FAILED",
16
+ VALIDATION_REQUIRED_FIELD = "VALIDATION_REQUIRED_FIELD",
17
+ VALIDATION_INVALID_FORMAT = "VALIDATION_INVALID_FORMAT",
18
+ VALIDATION_OUT_OF_RANGE = "VALIDATION_OUT_OF_RANGE",
19
+ OAUTH2_INVALID_CLIENT = "OAUTH2_INVALID_CLIENT",
20
+ OAUTH2_INVALID_GRANT = "OAUTH2_INVALID_GRANT",
21
+ OAUTH2_INVALID_SCOPE = "OAUTH2_INVALID_SCOPE",
22
+ OAUTH2_INVALID_REDIRECT_URI = "OAUTH2_INVALID_REDIRECT_URI",
23
+ OAUTH2_UNSUPPORTED_GRANT_TYPE = "OAUTH2_UNSUPPORTED_GRANT_TYPE"
24
+ }
25
+ /**
26
+ * 错误码到 HTTP 状态码的映射
27
+ */
28
+ export declare const ERROR_CODE_TO_STATUS: Record<ErrorCode, number>;
29
+ /**
30
+ * 错误码的默认消息(英文)
31
+ */
32
+ export declare const ERROR_CODE_MESSAGES: Record<ErrorCode, string>;
33
+ //# sourceMappingURL=error-codes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-codes.d.ts","sourceRoot":"","sources":["../../src/error/error-codes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,oBAAY,SAAS;IAEnB,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IACnC,kBAAkB,uBAAuB;IACzC,kBAAkB,uBAAuB;IAGzC,aAAa,kBAAkB;IAC/B,kBAAkB,uBAAuB;IACzC,kBAAkB,uBAAuB;IACzC,6BAA6B,kCAAkC;IAG/D,iBAAiB,sBAAsB;IACvC,yBAAyB,8BAA8B;IACvD,yBAAyB,8BAA8B;IACvD,uBAAuB,4BAA4B;IAGnD,qBAAqB,0BAA0B;IAC/C,oBAAoB,yBAAyB;IAC7C,oBAAoB,yBAAyB;IAC7C,2BAA2B,gCAAgC;IAC3D,6BAA6B,kCAAkC;CAChE;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAkB1D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAkBzD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/error/handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAK/C;;GAEG;AACH,wBAAsB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CA6BrF"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/error/handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAM/C;;GAEG;AACH,wBAAsB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAiDrF"}
@@ -1,24 +1,30 @@
1
+ import { ErrorCode } from './error-codes';
1
2
  /**
2
3
  * HTTP 异常基类
3
4
  */
4
5
  export declare class HttpException extends Error {
5
6
  readonly status: number;
7
+ readonly code?: ErrorCode;
6
8
  readonly details?: unknown;
7
- constructor(status: number, message: string, details?: unknown);
9
+ constructor(status: number, message: string, details?: unknown, code?: ErrorCode);
10
+ /**
11
+ * 创建带错误码的异常
12
+ */
13
+ static withCode(code: ErrorCode, message?: string, details?: unknown): HttpException;
8
14
  }
9
15
  export declare class BadRequestException extends HttpException {
10
- constructor(message?: string, details?: unknown);
16
+ constructor(message?: string, details?: unknown, code?: ErrorCode);
11
17
  }
12
18
  export declare class UnauthorizedException extends HttpException {
13
- constructor(message?: string, details?: unknown);
19
+ constructor(message?: string, details?: unknown, code?: ErrorCode);
14
20
  }
15
21
  export declare class ForbiddenException extends HttpException {
16
- constructor(message?: string, details?: unknown);
22
+ constructor(message?: string, details?: unknown, code?: ErrorCode);
17
23
  }
18
24
  export declare class NotFoundException extends HttpException {
19
- constructor(message?: string, details?: unknown);
25
+ constructor(message?: string, details?: unknown, code?: ErrorCode);
20
26
  }
21
27
  export declare class InternalServerErrorException extends HttpException {
22
- constructor(message?: string, details?: unknown);
28
+ constructor(message?: string, details?: unknown, code?: ErrorCode);
23
29
  }
24
30
  //# sourceMappingURL=http-exception.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"http-exception.d.ts","sourceRoot":"","sources":["../../src/error/http-exception.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,aAAc,SAAQ,KAAK;IACtC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,OAAO,CAAC,EAAE,OAAO,CAAC;gBAEf,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAMtE;AAED,qBAAa,mBAAoB,SAAQ,aAAa;gBACjC,OAAO,GAAE,MAAsB,EAAE,OAAO,CAAC,EAAE,OAAO;CAGtE;AAED,qBAAa,qBAAsB,SAAQ,aAAa;gBACnC,OAAO,GAAE,MAAuB,EAAE,OAAO,CAAC,EAAE,OAAO;CAGvE;AAED,qBAAa,kBAAmB,SAAQ,aAAa;gBAChC,OAAO,GAAE,MAAoB,EAAE,OAAO,CAAC,EAAE,OAAO;CAGpE;AAED,qBAAa,iBAAkB,SAAQ,aAAa;gBAC/B,OAAO,GAAE,MAAoB,EAAE,OAAO,CAAC,EAAE,OAAO;CAGpE;AAED,qBAAa,4BAA6B,SAAQ,aAAa;gBAC1C,OAAO,GAAE,MAAgC,EAAE,OAAO,CAAC,EAAE,OAAO;CAGhF"}
1
+ {"version":3,"file":"http-exception.d.ts","sourceRoot":"","sources":["../../src/error/http-exception.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA6C,MAAM,eAAe,CAAC;AAErF;;GAEG;AACH,qBAAa,aAAc,SAAQ,KAAK;IACtC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjC,SAAgB,OAAO,CAAC,EAAE,OAAO,CAAC;gBAGhC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,OAAO,EACjB,IAAI,CAAC,EAAE,SAAS;IASlB;;OAEG;WACW,QAAQ,CACpB,IAAI,EAAE,SAAS,EACf,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,OAAO,GAChB,aAAa;CAKjB;AAED,qBAAa,mBAAoB,SAAQ,aAAa;gBAElD,OAAO,GAAE,MAAsB,EAC/B,OAAO,CAAC,EAAE,OAAO,EACjB,IAAI,CAAC,EAAE,SAAS;CAInB;AAED,qBAAa,qBAAsB,SAAQ,aAAa;gBAEpD,OAAO,GAAE,MAAuB,EAChC,OAAO,CAAC,EAAE,OAAO,EACjB,IAAI,CAAC,EAAE,SAAS;CAInB;AAED,qBAAa,kBAAmB,SAAQ,aAAa;gBAEjD,OAAO,GAAE,MAAoB,EAC7B,OAAO,CAAC,EAAE,OAAO,EACjB,IAAI,CAAC,EAAE,SAAS;CAInB;AAED,qBAAa,iBAAkB,SAAQ,aAAa;gBAEhD,OAAO,GAAE,MAAoB,EAC7B,OAAO,CAAC,EAAE,OAAO,EACjB,IAAI,CAAC,EAAE,SAAS;CAInB;AAED,qBAAa,4BAA6B,SAAQ,aAAa;gBAE3D,OAAO,GAAE,MAAgC,EACzC,OAAO,CAAC,EAAE,OAAO,EACjB,IAAI,CAAC,EAAE,SAAS;CAInB"}
@@ -0,0 +1,28 @@
1
+ import { ErrorCode } from './error-codes';
2
+ /**
3
+ * 支持的语言
4
+ */
5
+ export type SupportedLanguage = 'en' | 'zh-CN';
6
+ /**
7
+ * 错误消息国际化服务
8
+ */
9
+ export declare class ErrorMessageI18n {
10
+ private static currentLanguage;
11
+ /**
12
+ * 设置当前语言
13
+ */
14
+ static setLanguage(language: SupportedLanguage): void;
15
+ /**
16
+ * 获取当前语言
17
+ */
18
+ static getLanguage(): SupportedLanguage;
19
+ /**
20
+ * 获取错误消息(国际化)
21
+ */
22
+ static getMessage(code: ErrorCode, language?: SupportedLanguage): string;
23
+ /**
24
+ * 从 Accept-Language 头解析语言
25
+ */
26
+ static parseLanguageFromHeader(acceptLanguage?: string | null): SupportedLanguage;
27
+ }
28
+ //# sourceMappingURL=i18n.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../src/error/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAuB,MAAM,eAAe,CAAC;AAE/D;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,IAAI,GAAG,OAAO,CAAC;AA+B/C;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAC,eAAe,CAA2B;IAEzD;;OAEG;WACW,WAAW,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAI5D;;OAEG;WACW,WAAW,IAAI,iBAAiB;IAI9C;;OAEG;WACW,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,MAAM;IAM/E;;OAEG;WACW,uBAAuB,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,iBAAiB;CAYzF"}
@@ -2,4 +2,7 @@ export { HttpException, BadRequestException, UnauthorizedException, ForbiddenExc
2
2
  export type { ExceptionFilter } from './filter';
3
3
  export { ExceptionFilterRegistry } from './filter';
4
4
  export { handleError } from './handler';
5
+ export { ErrorCode, ERROR_CODE_MESSAGES, ERROR_CODE_TO_STATUS } from './error-codes';
6
+ export { ErrorMessageI18n } from './i18n';
7
+ export type { SupportedLanguage } from './i18n';
5
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/error/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,4BAA4B,GAC7B,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/error/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,4BAA4B,GAC7B,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC1C,YAAY,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -12,9 +12,9 @@ export { Injectable, Inject } from './di/decorators';
12
12
  export { Lifecycle, type ProviderConfig, type DependencyMetadata } from './di/types';
13
13
  export { Module, type ModuleMetadata, type ModuleProvider, type ModuleClass, } from './di/module';
14
14
  export { ModuleRegistry } from './di/module-registry';
15
- export { UseMiddleware, MiddlewarePipeline } from './middleware';
15
+ export { UseMiddleware, RateLimit, MiddlewarePipeline } from './middleware';
16
16
  export type { Middleware, NextFunction } from './middleware';
17
- export { createLoggerMiddleware, createRequestLoggingMiddleware, createErrorHandlingMiddleware, createCorsMiddleware, createFileUploadMiddleware, createStaticFileMiddleware, } from './middleware/builtin';
17
+ export { createLoggerMiddleware, createRequestLoggingMiddleware, createErrorHandlingMiddleware, createCorsMiddleware, createFileUploadMiddleware, createStaticFileMiddleware, createRateLimitMiddleware, createTokenKeyGenerator, createUserKeyGenerator, type RateLimitOptions, type RateLimitStore, } from './middleware/builtin';
18
18
  export { Validate, IsString, IsNumber, IsEmail, IsOptional, MinLength, ValidationError, type ValidationIssue, } from './validation';
19
19
  export { HttpException, BadRequestException, UnauthorizedException, ForbiddenException, NotFoundException, InternalServerErrorException, ExceptionFilterRegistry, type ExceptionFilter, } from './error';
20
20
  export { WebSocketGateway, OnOpen, OnMessage, OnClose, WebSocketGatewayRegistry, type WebSocketConnectionData, } from './websocket';
@@ -23,6 +23,7 @@ export { SwaggerExtension, SwaggerModule, SwaggerGenerator, createSwaggerUIMiddl
23
23
  export { SecurityModule, SecurityContextHolder, AuthenticationManager, RoleBasedAccessDecisionManager, JwtAuthenticationProvider, OAuth2AuthenticationProvider, createSecurityFilter, type SecurityModuleConfig, type SecurityConfig, type SecurityContext, type Authentication, type AuthenticationProvider, type AuthenticationRequest, type Principal, type Credentials, type AccessDecisionManager, } from './security';
24
24
  export { ConfigModule, ConfigService, CONFIG_SERVICE_TOKEN, type ConfigModuleOptions, } from './config';
25
25
  export { HealthModule, type HealthIndicator, type HealthIndicatorResult, type HealthStatus, type HealthModuleOptions, HEALTH_INDICATORS_TOKEN, HEALTH_OPTIONS_TOKEN, } from './health';
26
+ export { MetricsModule, MetricsCollector, PrometheusFormatter, createHttpMetricsMiddleware, METRICS_SERVICE_TOKEN, METRICS_OPTIONS_TOKEN, type MetricsModuleOptions, type MetricType, type MetricLabels, type MetricValue, type MetricDataPoint, type CustomMetric, } from './metrics';
26
27
  export { JWTUtil, OAuth2Service, OAuth2Controller, Auth, getAuthMetadata, requiresAuth, checkRoles, OAUTH2_SERVICE_TOKEN, JWT_UTIL_TOKEN, type JWTConfig, type JWTPayload, type OAuth2Client, type OAuth2AuthorizationRequest, type OAuth2TokenRequest, type OAuth2TokenResponse, type UserInfo, type AuthContext, type AuthConfig, } from './auth';
27
28
  export { PerformanceHarness, StressTester, type BenchmarkResult, type StressResult, } from './testing/harness';
28
29
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACpE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvG,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrF,OAAO,EACL,MAAM,EACN,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,WAAW,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC5E,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EACL,sBAAsB,EACtB,8BAA8B,EAC9B,6BAA6B,EAC7B,oBAAoB,EACpB,0BAA0B,EAC1B,0BAA0B,EAC1B,yBAAyB,EACzB,uBAAuB,EACvB,sBAAsB,EACtB,KAAK,gBAAgB,EACrB,KAAK,cAAc,GACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,UAAU,EACV,SAAS,EACT,eAAe,EACf,KAAK,eAAe,GACrB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,4BAA4B,EAC5B,uBAAuB,EACvB,KAAK,eAAe,GACrB,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,gBAAgB,EAChB,MAAM,EACN,SAAS,EACT,OAAO,EACP,wBAAwB,EACxB,KAAK,uBAAuB,GAC7B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,QAAQ,GACd,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,yBAAyB,EACzB,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,WAAW,EACX,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,mBAAmB,GACzB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,qBAAqB,EACrB,8BAA8B,EAC9B,yBAAyB,EACzB,4BAA4B,EAC5B,oBAAoB,EACpB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,qBAAqB,GAC3B,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,KAAK,mBAAmB,GACzB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,YAAY,EACZ,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,2BAA2B,EAC3B,qBAAqB,EACrB,qBAAqB,EACrB,KAAK,oBAAoB,EACzB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,YAAY,GAClB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,OAAO,EACP,aAAa,EACb,gBAAgB,EAChB,IAAI,EACJ,eAAe,EACf,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,cAAc,EACd,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,0BAA0B,EAC/B,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,UAAU,GAChB,MAAM,QAAQ,CAAC;AAChB,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,KAAK,eAAe,EACpB,KAAK,YAAY,GAClB,MAAM,mBAAmB,CAAC"}