@dangao/bun-server 0.1.2 → 0.1.4

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 (68) hide show
  1. package/dist/auth/controller.d.ts +35 -0
  2. package/dist/auth/controller.d.ts.map +1 -0
  3. package/dist/auth/decorators.d.ts +38 -0
  4. package/dist/auth/decorators.d.ts.map +1 -0
  5. package/dist/auth/index.d.ts +6 -0
  6. package/dist/auth/index.d.ts.map +1 -0
  7. package/dist/auth/jwt.d.ts +43 -0
  8. package/dist/auth/jwt.d.ts.map +1 -0
  9. package/dist/auth/oauth2.d.ts +45 -0
  10. package/dist/auth/oauth2.d.ts.map +1 -0
  11. package/dist/auth/types.d.ts +238 -0
  12. package/dist/auth/types.d.ts.map +1 -0
  13. package/dist/controller/controller.d.ts +5 -0
  14. package/dist/controller/controller.d.ts.map +1 -1
  15. package/dist/core/application.d.ts.map +1 -1
  16. package/dist/core/context.d.ts.map +1 -1
  17. package/dist/di/module-registry.d.ts +14 -2
  18. package/dist/di/module-registry.d.ts.map +1 -1
  19. package/dist/di/module.d.ts +12 -1
  20. package/dist/di/module.d.ts.map +1 -1
  21. package/dist/extensions/index.d.ts +1 -0
  22. package/dist/extensions/index.d.ts.map +1 -1
  23. package/dist/extensions/logger-module.d.ts +30 -0
  24. package/dist/extensions/logger-module.d.ts.map +1 -0
  25. package/dist/index.d.ts +4 -1
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +1154 -12
  28. package/dist/router/registry.d.ts +4 -1
  29. package/dist/router/registry.d.ts.map +1 -1
  30. package/dist/router/route.d.ts +9 -1
  31. package/dist/router/route.d.ts.map +1 -1
  32. package/dist/router/router.d.ts +8 -1
  33. package/dist/router/router.d.ts.map +1 -1
  34. package/dist/security/access-decision-manager.d.ts +14 -0
  35. package/dist/security/access-decision-manager.d.ts.map +1 -0
  36. package/dist/security/authentication-manager.d.ts +22 -0
  37. package/dist/security/authentication-manager.d.ts.map +1 -0
  38. package/dist/security/context.d.ts +46 -0
  39. package/dist/security/context.d.ts.map +1 -0
  40. package/dist/security/filter.d.ts +27 -0
  41. package/dist/security/filter.d.ts.map +1 -0
  42. package/dist/security/index.d.ts +8 -0
  43. package/dist/security/index.d.ts.map +1 -0
  44. package/dist/security/providers/index.d.ts +3 -0
  45. package/dist/security/providers/index.d.ts.map +1 -0
  46. package/dist/security/providers/jwt-provider.d.ts +19 -0
  47. package/dist/security/providers/jwt-provider.d.ts.map +1 -0
  48. package/dist/security/providers/oauth2-provider.d.ts +19 -0
  49. package/dist/security/providers/oauth2-provider.d.ts.map +1 -0
  50. package/dist/security/security-module.d.ts +50 -0
  51. package/dist/security/security-module.d.ts.map +1 -0
  52. package/dist/security/types.d.ts +152 -0
  53. package/dist/security/types.d.ts.map +1 -0
  54. package/dist/swagger/decorators.d.ts +56 -0
  55. package/dist/swagger/decorators.d.ts.map +1 -0
  56. package/dist/swagger/generator.d.ts +17 -0
  57. package/dist/swagger/generator.d.ts.map +1 -0
  58. package/dist/swagger/index.d.ts +7 -0
  59. package/dist/swagger/index.d.ts.map +1 -0
  60. package/dist/swagger/swagger-extension.d.ts +25 -0
  61. package/dist/swagger/swagger-extension.d.ts.map +1 -0
  62. package/dist/swagger/swagger-module.d.ts +37 -0
  63. package/dist/swagger/swagger-module.d.ts.map +1 -0
  64. package/dist/swagger/types.d.ts +176 -0
  65. package/dist/swagger/types.d.ts.map +1 -0
  66. package/dist/swagger/ui.d.ts +13 -0
  67. package/dist/swagger/ui.d.ts.map +1 -0
  68. package/package.json +1 -1
@@ -0,0 +1,37 @@
1
+ import type { SwaggerOptions } from './types';
2
+ /**
3
+ * Swagger 模块配置
4
+ */
5
+ export interface SwaggerModuleOptions extends SwaggerOptions {
6
+ /**
7
+ * Swagger UI 路径
8
+ * @default '/swagger'
9
+ */
10
+ uiPath?: string;
11
+ /**
12
+ * Swagger JSON 路径
13
+ * @default '/swagger.json'
14
+ */
15
+ jsonPath?: string;
16
+ /**
17
+ * Swagger UI 标题
18
+ */
19
+ uiTitle?: string;
20
+ /**
21
+ * 是否启用 Swagger UI
22
+ * @default true
23
+ */
24
+ enableUI?: boolean;
25
+ }
26
+ /**
27
+ * Swagger 模块
28
+ * 提供 API 文档生成和 Swagger UI
29
+ */
30
+ export declare class SwaggerModule {
31
+ /**
32
+ * 创建 Swagger 模块
33
+ * @param options - 模块配置
34
+ */
35
+ static forRoot(options: SwaggerModuleOptions): typeof SwaggerModule;
36
+ }
37
+ //# sourceMappingURL=swagger-module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swagger-module.d.ts","sourceRoot":"","sources":["../../src/swagger/swagger-module.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;GAGG;AACH,qBAQa,aAAa;IACxB;;;OAGG;WACW,OAAO,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,aAAa;CAkC3E"}
@@ -0,0 +1,176 @@
1
+ /**
2
+ * Swagger/OpenAPI 类型定义
3
+ */
4
+ /**
5
+ * Swagger 信息配置
6
+ */
7
+ export interface SwaggerInfo {
8
+ title: string;
9
+ version: string;
10
+ description?: string;
11
+ contact?: {
12
+ name?: string;
13
+ email?: string;
14
+ url?: string;
15
+ };
16
+ license?: {
17
+ name: string;
18
+ url?: string;
19
+ };
20
+ }
21
+ /**
22
+ * Swagger 配置
23
+ */
24
+ export interface SwaggerOptions {
25
+ info: SwaggerInfo;
26
+ servers?: Array<{
27
+ url: string;
28
+ description?: string;
29
+ }>;
30
+ basePath?: string;
31
+ tags?: Array<{
32
+ name: string;
33
+ description?: string;
34
+ }>;
35
+ }
36
+ /**
37
+ * API 操作元数据
38
+ */
39
+ export interface ApiOperationMetadata {
40
+ summary?: string;
41
+ description?: string;
42
+ operationId?: string;
43
+ tags?: string[];
44
+ deprecated?: boolean;
45
+ }
46
+ /**
47
+ * API 参数元数据
48
+ */
49
+ export interface ApiParamMetadata {
50
+ name: string;
51
+ description?: string;
52
+ required?: boolean;
53
+ schema?: {
54
+ type?: string;
55
+ format?: string;
56
+ enum?: unknown[];
57
+ default?: unknown;
58
+ };
59
+ in: 'query' | 'path' | 'header' | 'cookie';
60
+ }
61
+ /**
62
+ * API 请求体元数据
63
+ */
64
+ export interface ApiBodyMetadata {
65
+ description?: string;
66
+ required?: boolean;
67
+ schema?: {
68
+ type?: string;
69
+ properties?: Record<string, unknown>;
70
+ required?: string[];
71
+ };
72
+ examples?: Record<string, unknown>;
73
+ }
74
+ /**
75
+ * API 响应元数据
76
+ */
77
+ export interface ApiResponseMetadata {
78
+ status: number;
79
+ description?: string;
80
+ schema?: {
81
+ type?: string;
82
+ properties?: Record<string, unknown>;
83
+ };
84
+ examples?: Record<string, unknown>;
85
+ }
86
+ /**
87
+ * API 标签元数据
88
+ */
89
+ export interface ApiTagMetadata {
90
+ name: string;
91
+ description?: string;
92
+ }
93
+ /**
94
+ * Swagger 路径项
95
+ */
96
+ export interface SwaggerPathItem {
97
+ summary?: string;
98
+ description?: string;
99
+ operationId?: string;
100
+ tags?: string[];
101
+ parameters?: Array<{
102
+ name: string;
103
+ in: 'query' | 'path' | 'header' | 'cookie';
104
+ description?: string;
105
+ required?: boolean;
106
+ schema?: {
107
+ type?: string;
108
+ format?: string;
109
+ enum?: unknown[];
110
+ default?: unknown;
111
+ };
112
+ }>;
113
+ requestBody?: {
114
+ description?: string;
115
+ required?: boolean;
116
+ content?: {
117
+ 'application/json'?: {
118
+ schema?: {
119
+ type?: string;
120
+ properties?: Record<string, unknown>;
121
+ required?: string[];
122
+ };
123
+ examples?: Record<string, unknown>;
124
+ };
125
+ };
126
+ };
127
+ responses?: Record<string, {
128
+ description?: string;
129
+ content?: {
130
+ 'application/json'?: {
131
+ schema?: {
132
+ type?: string;
133
+ properties?: Record<string, unknown>;
134
+ };
135
+ examples?: Record<string, unknown>;
136
+ };
137
+ };
138
+ }>;
139
+ deprecated?: boolean;
140
+ }
141
+ /**
142
+ * Swagger 文档结构
143
+ */
144
+ export interface SwaggerDocument {
145
+ openapi: string;
146
+ info: {
147
+ title: string;
148
+ version: string;
149
+ description?: string;
150
+ contact?: {
151
+ name?: string;
152
+ email?: string;
153
+ url?: string;
154
+ };
155
+ license?: {
156
+ name: string;
157
+ url?: string;
158
+ };
159
+ };
160
+ servers?: Array<{
161
+ url: string;
162
+ description?: string;
163
+ }>;
164
+ tags?: Array<{
165
+ name: string;
166
+ description?: string;
167
+ }>;
168
+ paths: Record<string, {
169
+ get?: SwaggerPathItem;
170
+ post?: SwaggerPathItem;
171
+ put?: SwaggerPathItem;
172
+ delete?: SwaggerPathItem;
173
+ patch?: SwaggerPathItem;
174
+ }>;
175
+ }
176
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/swagger/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { Middleware } from '../middleware';
2
+ import { SwaggerExtension } from './swagger-extension';
3
+ /**
4
+ * 创建 Swagger UI 中间件
5
+ * @param extension - Swagger 扩展实例
6
+ * @param options - 配置选项
7
+ */
8
+ export declare function createSwaggerUIMiddleware(extension: SwaggerExtension, options?: {
9
+ uiPath?: string;
10
+ jsonPath?: string;
11
+ title?: string;
12
+ }): Middleware;
13
+ //# sourceMappingURL=ui.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/swagger/ui.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAgB,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAmDvD;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,gBAAgB,EAC3B,OAAO,GAAE;IACP,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CACX,GACL,UAAU,CA+BZ"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dangao/bun-server",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",