@dangao/bun-server 0.1.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 (120) hide show
  1. package/dist/controller/controller.d.ts +63 -0
  2. package/dist/controller/controller.d.ts.map +1 -0
  3. package/dist/controller/decorators.d.ts +46 -0
  4. package/dist/controller/decorators.d.ts.map +1 -0
  5. package/dist/controller/index.d.ts +7 -0
  6. package/dist/controller/index.d.ts.map +1 -0
  7. package/dist/controller/metadata.d.ts +17 -0
  8. package/dist/controller/metadata.d.ts.map +1 -0
  9. package/dist/controller/param-binder.d.ts +51 -0
  10. package/dist/controller/param-binder.d.ts.map +1 -0
  11. package/dist/core/application.d.ts +80 -0
  12. package/dist/core/application.d.ts.map +1 -0
  13. package/dist/core/context.d.ts +117 -0
  14. package/dist/core/context.d.ts.map +1 -0
  15. package/dist/core/index.d.ts +4 -0
  16. package/dist/core/index.d.ts.map +1 -0
  17. package/dist/core/server.d.ts +53 -0
  18. package/dist/core/server.d.ts.map +1 -0
  19. package/dist/core/types.d.ts +2 -0
  20. package/dist/core/types.d.ts.map +1 -0
  21. package/dist/di/container.d.ts +80 -0
  22. package/dist/di/container.d.ts.map +1 -0
  23. package/dist/di/decorators.d.ts +43 -0
  24. package/dist/di/decorators.d.ts.map +1 -0
  25. package/dist/di/index.d.ts +4 -0
  26. package/dist/di/index.d.ts.map +1 -0
  27. package/dist/di/module-registry.d.ts +27 -0
  28. package/dist/di/module-registry.d.ts.map +1 -0
  29. package/dist/di/module.d.ts +30 -0
  30. package/dist/di/module.d.ts.map +1 -0
  31. package/dist/di/types.d.ts +57 -0
  32. package/dist/di/types.d.ts.map +1 -0
  33. package/dist/error/filter.d.ts +18 -0
  34. package/dist/error/filter.d.ts.map +1 -0
  35. package/dist/error/handler.d.ts +6 -0
  36. package/dist/error/handler.d.ts.map +1 -0
  37. package/dist/error/http-exception.d.ts +24 -0
  38. package/dist/error/http-exception.d.ts.map +1 -0
  39. package/dist/error/index.d.ts +5 -0
  40. package/dist/error/index.d.ts.map +1 -0
  41. package/dist/extensions/index.d.ts +5 -0
  42. package/dist/extensions/index.d.ts.map +1 -0
  43. package/dist/extensions/logger-extension.d.ts +13 -0
  44. package/dist/extensions/logger-extension.d.ts.map +1 -0
  45. package/dist/extensions/types.d.ts +12 -0
  46. package/dist/extensions/types.d.ts.map +1 -0
  47. package/dist/files/index.d.ts +5 -0
  48. package/dist/files/index.d.ts.map +1 -0
  49. package/dist/files/static-middleware.d.ts +8 -0
  50. package/dist/files/static-middleware.d.ts.map +1 -0
  51. package/dist/files/storage.d.ts +10 -0
  52. package/dist/files/storage.d.ts.map +1 -0
  53. package/dist/files/types.d.ts +27 -0
  54. package/dist/files/types.d.ts.map +1 -0
  55. package/dist/files/upload-middleware.d.ts +7 -0
  56. package/dist/files/upload-middleware.d.ts.map +1 -0
  57. package/dist/index.d.ts +23 -0
  58. package/dist/index.d.ts.map +1 -0
  59. package/dist/index.js +2118 -0
  60. package/dist/middleware/builtin/cors.d.ts +14 -0
  61. package/dist/middleware/builtin/cors.d.ts.map +1 -0
  62. package/dist/middleware/builtin/error-handler.d.ts +23 -0
  63. package/dist/middleware/builtin/error-handler.d.ts.map +1 -0
  64. package/dist/middleware/builtin/file-upload.d.ts +9 -0
  65. package/dist/middleware/builtin/file-upload.d.ts.map +1 -0
  66. package/dist/middleware/builtin/index.d.ts +6 -0
  67. package/dist/middleware/builtin/index.d.ts.map +1 -0
  68. package/dist/middleware/builtin/logger.d.ts +26 -0
  69. package/dist/middleware/builtin/logger.d.ts.map +1 -0
  70. package/dist/middleware/builtin/static-file.d.ts +14 -0
  71. package/dist/middleware/builtin/static-file.d.ts.map +1 -0
  72. package/dist/middleware/decorators.d.ts +22 -0
  73. package/dist/middleware/decorators.d.ts.map +1 -0
  74. package/dist/middleware/index.d.ts +5 -0
  75. package/dist/middleware/index.d.ts.map +1 -0
  76. package/dist/middleware/middleware.d.ts +10 -0
  77. package/dist/middleware/middleware.d.ts.map +1 -0
  78. package/dist/middleware/pipeline.d.ts +38 -0
  79. package/dist/middleware/pipeline.d.ts.map +1 -0
  80. package/dist/request/body-parser.d.ts +37 -0
  81. package/dist/request/body-parser.d.ts.map +1 -0
  82. package/dist/request/file-handler.d.ts +13 -0
  83. package/dist/request/file-handler.d.ts.map +1 -0
  84. package/dist/request/index.d.ts +5 -0
  85. package/dist/request/index.d.ts.map +1 -0
  86. package/dist/request/request.d.ts +67 -0
  87. package/dist/request/request.d.ts.map +1 -0
  88. package/dist/request/response.d.ts +65 -0
  89. package/dist/request/response.d.ts.map +1 -0
  90. package/dist/router/decorators.d.ts +45 -0
  91. package/dist/router/decorators.d.ts.map +1 -0
  92. package/dist/router/index.d.ts +6 -0
  93. package/dist/router/index.d.ts.map +1 -0
  94. package/dist/router/registry.d.ts +54 -0
  95. package/dist/router/registry.d.ts.map +1 -0
  96. package/dist/router/route.d.ts +57 -0
  97. package/dist/router/route.d.ts.map +1 -0
  98. package/dist/router/router.d.ts +76 -0
  99. package/dist/router/router.d.ts.map +1 -0
  100. package/dist/router/types.d.ts +23 -0
  101. package/dist/router/types.d.ts.map +1 -0
  102. package/dist/testing/harness.d.ts +26 -0
  103. package/dist/testing/harness.d.ts.map +1 -0
  104. package/dist/validation/decorators.d.ts +20 -0
  105. package/dist/validation/decorators.d.ts.map +1 -0
  106. package/dist/validation/errors.d.ts +19 -0
  107. package/dist/validation/errors.d.ts.map +1 -0
  108. package/dist/validation/index.d.ts +5 -0
  109. package/dist/validation/index.d.ts.map +1 -0
  110. package/dist/validation/types.d.ts +29 -0
  111. package/dist/validation/types.d.ts.map +1 -0
  112. package/dist/validation/validator.d.ts +8 -0
  113. package/dist/validation/validator.d.ts.map +1 -0
  114. package/dist/websocket/decorators.d.ts +16 -0
  115. package/dist/websocket/decorators.d.ts.map +1 -0
  116. package/dist/websocket/index.d.ts +4 -0
  117. package/dist/websocket/index.d.ts.map +1 -0
  118. package/dist/websocket/registry.d.ts +22 -0
  119. package/dist/websocket/registry.d.ts.map +1 -0
  120. package/package.json +56 -0
@@ -0,0 +1,30 @@
1
+ import 'reflect-metadata';
2
+ import type { Constructor } from '@/core/types';
3
+ import type { Container } from './container';
4
+ import type { Lifecycle } from './types';
5
+ export type ModuleClass<T = unknown> = Constructor<T>;
6
+ export type ProviderToken = Constructor<unknown> | string | symbol;
7
+ export interface ClassProvider {
8
+ provide?: ProviderToken;
9
+ useClass: Constructor<unknown>;
10
+ lifecycle?: Lifecycle;
11
+ }
12
+ export interface ValueProvider {
13
+ provide: ProviderToken;
14
+ useValue: unknown;
15
+ }
16
+ export interface FactoryProvider {
17
+ provide: ProviderToken;
18
+ useFactory: (container: Container) => unknown;
19
+ lifecycle?: Lifecycle;
20
+ }
21
+ export type ModuleProvider = Constructor<unknown> | ClassProvider | ValueProvider | FactoryProvider;
22
+ export interface ModuleMetadata {
23
+ imports?: ModuleClass[];
24
+ controllers?: Constructor<unknown>[];
25
+ providers?: ModuleProvider[];
26
+ exports?: ProviderToken[];
27
+ }
28
+ export declare function Module(metadata: ModuleMetadata): ClassDecorator;
29
+ export declare function getModuleMetadata(moduleClass: ModuleClass): Required<ModuleMetadata>;
30
+ //# sourceMappingURL=module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/di/module.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;AACtD,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,MAAM,GAAG,MAAM,CAAC;AAEnE,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,aAAa,CAAC;IACvB,UAAU,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,OAAO,CAAC;IAC9C,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,MAAM,MAAM,cAAc,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,aAAa,GAAG,aAAa,GAAG,eAAe,CAAC;AAEpG,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;IACrC,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;CAC3B;AAID,wBAAgB,MAAM,CAAC,QAAQ,EAAE,cAAc,GAAG,cAAc,CAI/D;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,CAQpF"}
@@ -0,0 +1,57 @@
1
+ import type { Constructor } from '@/core/types';
2
+ /**
3
+ * 依赖生命周期类型
4
+ */
5
+ export declare enum Lifecycle {
6
+ /**
7
+ * 单例:整个应用生命周期中只有一个实例
8
+ */
9
+ Singleton = "singleton",
10
+ /**
11
+ * 瞬态:每次请求都创建新实例
12
+ */
13
+ Transient = "transient",
14
+ /**
15
+ * 作用域:在特定作用域内共享实例(未来扩展)
16
+ */
17
+ Scoped = "scoped"
18
+ }
19
+ /**
20
+ * 提供者配置
21
+ */
22
+ export interface ProviderConfig {
23
+ /**
24
+ * 生命周期
25
+ */
26
+ lifecycle?: Lifecycle;
27
+ /**
28
+ * 自定义工厂函数
29
+ */
30
+ factory?: () => unknown;
31
+ /**
32
+ * 提供者标识符(用于接口注入)
33
+ */
34
+ token?: string | symbol;
35
+ /**
36
+ * 实际实现类(当 token 为 string/symbol 时用于实例化)
37
+ */
38
+ implementation?: new (...args: unknown[]) => unknown;
39
+ }
40
+ /**
41
+ * 依赖元数据
42
+ */
43
+ export interface DependencyMetadata {
44
+ /**
45
+ * 参数索引
46
+ */
47
+ index: number;
48
+ /**
49
+ * 依赖类型(构造函数)
50
+ */
51
+ type: Constructor<unknown> | string;
52
+ /**
53
+ * 可选的 token(用于接口注入)
54
+ */
55
+ token?: string | symbol;
56
+ }
57
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/di/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE/C;;GAEG;AACH,oBAAY,SAAS;IACnB;;OAEG;IACH,SAAS,cAAc;IAEvB;;OAEG;IACH,SAAS,cAAc;IAEvB;;OAEG;IACH,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC;IAExB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAExB;;OAEG;IACH,cAAc,CAAC,EAAE,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;CACtD;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC;IAEpC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB"}
@@ -0,0 +1,18 @@
1
+ import type { Context } from '../core/context';
2
+ export interface ExceptionFilter {
3
+ /**
4
+ * 捕获异常并返回 Response
5
+ * 如果返回 undefined,则继续交给下一个过滤器
6
+ */
7
+ catch(error: unknown, context: Context): Response | Promise<Response> | undefined;
8
+ }
9
+ export declare class ExceptionFilterRegistry {
10
+ private static instance;
11
+ private readonly filters;
12
+ private constructor();
13
+ static getInstance(): ExceptionFilterRegistry;
14
+ register(filter: ExceptionFilter): void;
15
+ clear(): void;
16
+ execute(error: unknown, context: Context): Promise<Response | undefined>;
17
+ }
18
+ //# sourceMappingURL=filter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../src/error/filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;CACnF;AAED,qBAAa,uBAAuB;IAClC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA0B;IACjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IAEjD,OAAO;WAEO,WAAW,IAAI,uBAAuB;IAO7C,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAIvC,KAAK,IAAI,IAAI;IAIP,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;CAStF"}
@@ -0,0 +1,6 @@
1
+ import type { Context } from '../core/context';
2
+ /**
3
+ * 全局错误处理
4
+ */
5
+ export declare function handleError(error: unknown, context: Context): Promise<Response>;
6
+ //# sourceMappingURL=handler.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * HTTP 异常基类
3
+ */
4
+ export declare class HttpException extends Error {
5
+ readonly status: number;
6
+ readonly details?: unknown;
7
+ constructor(status: number, message: string, details?: unknown);
8
+ }
9
+ export declare class BadRequestException extends HttpException {
10
+ constructor(message?: string, details?: unknown);
11
+ }
12
+ export declare class UnauthorizedException extends HttpException {
13
+ constructor(message?: string, details?: unknown);
14
+ }
15
+ export declare class ForbiddenException extends HttpException {
16
+ constructor(message?: string, details?: unknown);
17
+ }
18
+ export declare class NotFoundException extends HttpException {
19
+ constructor(message?: string, details?: unknown);
20
+ }
21
+ export declare class InternalServerErrorException extends HttpException {
22
+ constructor(message?: string, details?: unknown);
23
+ }
24
+ //# sourceMappingURL=http-exception.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,5 @@
1
+ export { HttpException, BadRequestException, UnauthorizedException, ForbiddenException, NotFoundException, InternalServerErrorException, } from './http-exception';
2
+ export type { ExceptionFilter } from './filter';
3
+ export { ExceptionFilterRegistry } from './filter';
4
+ export { handleError } from './handler';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,5 @@
1
+ export type { ApplicationExtension } from "./types";
2
+ export { LOGGER_TOKEN, LoggerExtension } from "./logger-extension";
3
+ export { LoggerManager, LogLevel, SimpleLogger } from "@dangao/logsmith";
4
+ export type { LogEntry, Logger, LoggerOptions } from "@dangao/logsmith";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/extensions/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACzE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { Container } from "../di/container";
2
+ import type { ApplicationExtension } from "./types";
3
+ import { type LoggerOptions } from "@dangao/logsmith";
4
+ export declare const LOGGER_TOKEN: unique symbol;
5
+ /**
6
+ * Bun Server Logger Provider
7
+ */
8
+ export declare class LoggerExtension implements ApplicationExtension {
9
+ private readonly options;
10
+ constructor(options?: LoggerOptions);
11
+ register(container: Container): void;
12
+ }
13
+ //# sourceMappingURL=logger-extension.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger-extension.d.ts","sourceRoot":"","sources":["../../src/extensions/logger-extension.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAEL,KAAK,aAAa,EAGnB,MAAM,kBAAkB,CAAC;AAE1B,eAAO,MAAM,YAAY,eAAsC,CAAC;AAEhE;;GAEG;AACH,qBAAa,eAAgB,YAAW,oBAAoB;IAC1D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;gBAErB,OAAO,GAAE,aAAkB;IAOvC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;CAM5C"}
@@ -0,0 +1,12 @@
1
+ import type { Container } from '../di/container';
2
+ /**
3
+ * 应用扩展接口
4
+ */
5
+ export interface ApplicationExtension {
6
+ /**
7
+ * 注册扩展
8
+ * @param container - 应用 DI 容器
9
+ */
10
+ register(container: Container): void;
11
+ }
12
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/extensions/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;CACtC"}
@@ -0,0 +1,5 @@
1
+ export type { UploadedFileInfo } from './types';
2
+ export { FileStorage } from './storage';
3
+ export { createFileUploadMiddleware } from './upload-middleware';
4
+ export { createStaticFileMiddleware } from './static-middleware';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/files/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { Middleware } from '../middleware';
2
+ export interface StaticFileOptions {
3
+ root: string;
4
+ prefix?: string;
5
+ fallthrough?: boolean;
6
+ }
7
+ export declare function createStaticFileMiddleware(options: StaticFileOptions): Middleware;
8
+ //# sourceMappingURL=static-middleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static-middleware.d.ts","sourceRoot":"","sources":["../../src/files/static-middleware.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAOD,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,iBAAiB,GAAG,UAAU,CAkCjF"}
@@ -0,0 +1,10 @@
1
+ import type { UploadedFileInfo } from './types';
2
+ export interface SaveFileOptions {
3
+ dest: string;
4
+ filename?: string;
5
+ overwrite?: boolean;
6
+ }
7
+ export declare class FileStorage {
8
+ static saveFile(file: File, options: SaveFileOptions, fieldName: string): Promise<UploadedFileInfo>;
9
+ }
10
+ //# sourceMappingURL=storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/files/storage.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAmBD,qBAAa,WAAW;WACF,QAAQ,CAC1B,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,gBAAgB,CAAC;CA8B7B"}
@@ -0,0 +1,27 @@
1
+ export interface UploadedFileInfo {
2
+ /**
3
+ * 表单字段名
4
+ */
5
+ fieldName: string;
6
+ /**
7
+ * 保存后的文件名
8
+ */
9
+ filename: string;
10
+ /**
11
+ * 原始文件名
12
+ */
13
+ originalName?: string;
14
+ /**
15
+ * MIME 类型
16
+ */
17
+ mimeType: string;
18
+ /**
19
+ * 文件大小(字节)
20
+ */
21
+ size: number;
22
+ /**
23
+ * 文件保存路径
24
+ */
25
+ path: string;
26
+ }
27
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/files/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd"}
@@ -0,0 +1,7 @@
1
+ import type { Middleware } from '../middleware';
2
+ import { type SaveFileOptions } from './storage';
3
+ export interface FileUploadOptions extends Omit<SaveFileOptions, 'filename'> {
4
+ filename?: (fieldName: string, file: File) => string | undefined;
5
+ }
6
+ export declare function createFileUploadMiddleware(options: FileUploadOptions): Middleware;
7
+ //# sourceMappingURL=upload-middleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upload-middleware.d.ts","sourceRoot":"","sources":["../../src/files/upload-middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,EAAe,KAAK,eAAe,EAAE,MAAM,WAAW,CAAC;AAE9D,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC;IAC1E,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,KAAK,MAAM,GAAG,SAAS,CAAC;CAClE;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,iBAAiB,GAAG,UAAU,CAkCjF"}
@@ -0,0 +1,23 @@
1
+ export { Application, type ApplicationOptions } from './core/application';
2
+ export { BunServer, type ServerOptions } from './core/server';
3
+ export { Context } from './core/context';
4
+ export { Route, Router, RouteRegistry } from './router';
5
+ export { GET, POST, PUT, DELETE, PATCH } from './router/decorators';
6
+ export type { HttpMethod, RouteHandler, RouteMatch } from './router/types';
7
+ export { BodyParser, RequestWrapper, ResponseBuilder } from './request';
8
+ export { Body, Query, Param, Header, ParamBinder, Controller, ControllerRegistry } from './controller';
9
+ export type { ParamMetadata, ControllerMetadata } from './controller';
10
+ export { Container } from './di/container';
11
+ export { Injectable, Inject } from './di/decorators';
12
+ export { Lifecycle, type ProviderConfig, type DependencyMetadata } from './di/types';
13
+ export { Module, type ModuleMetadata, type ModuleProvider, type ModuleClass, } from './di/module';
14
+ export { ModuleRegistry } from './di/module-registry';
15
+ export { UseMiddleware, MiddlewarePipeline } from './middleware';
16
+ export type { Middleware, NextFunction } from './middleware';
17
+ export { createLoggerMiddleware, createRequestLoggingMiddleware, createErrorHandlingMiddleware, createCorsMiddleware, createFileUploadMiddleware, createStaticFileMiddleware, } from './middleware/builtin';
18
+ export { Validate, IsString, IsNumber, IsEmail, IsOptional, MinLength, ValidationError, type ValidationIssue, } from './validation';
19
+ export { HttpException, BadRequestException, UnauthorizedException, ForbiddenException, NotFoundException, InternalServerErrorException, ExceptionFilterRegistry, type ExceptionFilter, } from './error';
20
+ export { WebSocketGateway, OnOpen, OnMessage, OnClose, WebSocketGatewayRegistry, type WebSocketConnectionData, } from './websocket';
21
+ export { LoggerExtension, LogLevel, LOGGER_TOKEN, type Logger, type LoggerOptions, type LogEntry, } from './extensions';
22
+ export { PerformanceHarness, StressTester, type BenchmarkResult, type StressResult, } from './testing/harness';
23
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
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,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACjE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EACL,sBAAsB,EACtB,8BAA8B,EAC9B,6BAA6B,EAC7B,oBAAoB,EACpB,0BAA0B,EAC1B,0BAA0B,GAC3B,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,QAAQ,EACR,YAAY,EACZ,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,QAAQ,GACd,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,KAAK,eAAe,EACpB,KAAK,YAAY,GAClB,MAAM,mBAAmB,CAAC"}