@dangao/bun-server 0.4.0 → 1.0.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 (44) hide show
  1. package/dist/cache/cache-module.d.ts +9 -0
  2. package/dist/cache/cache-module.d.ts.map +1 -0
  3. package/dist/cache/decorators.d.ts +110 -0
  4. package/dist/cache/decorators.d.ts.map +1 -0
  5. package/dist/cache/index.d.ts +6 -0
  6. package/dist/cache/index.d.ts.map +1 -0
  7. package/dist/cache/service.d.ts +76 -0
  8. package/dist/cache/service.d.ts.map +1 -0
  9. package/dist/cache/types.d.ts +160 -0
  10. package/dist/cache/types.d.ts.map +1 -0
  11. package/dist/controller/decorators.d.ts +9 -1
  12. package/dist/controller/decorators.d.ts.map +1 -1
  13. package/dist/controller/param-binder.d.ts +4 -1
  14. package/dist/controller/param-binder.d.ts.map +1 -1
  15. package/dist/index.d.ts +6 -0
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +1123 -25
  18. package/dist/middleware/pipeline.d.ts.map +1 -1
  19. package/dist/queue/decorators.d.ts +63 -0
  20. package/dist/queue/decorators.d.ts.map +1 -0
  21. package/dist/queue/index.d.ts +6 -0
  22. package/dist/queue/index.d.ts.map +1 -0
  23. package/dist/queue/queue-module.d.ts +9 -0
  24. package/dist/queue/queue-module.d.ts.map +1 -0
  25. package/dist/queue/service.d.ts +93 -0
  26. package/dist/queue/service.d.ts.map +1 -0
  27. package/dist/queue/types.d.ts +204 -0
  28. package/dist/queue/types.d.ts.map +1 -0
  29. package/dist/router/router.d.ts +16 -1
  30. package/dist/router/router.d.ts.map +1 -1
  31. package/dist/session/decorators.d.ts +16 -0
  32. package/dist/session/decorators.d.ts.map +1 -0
  33. package/dist/session/index.d.ts +8 -0
  34. package/dist/session/index.d.ts.map +1 -0
  35. package/dist/session/middleware.d.ts +8 -0
  36. package/dist/session/middleware.d.ts.map +1 -0
  37. package/dist/session/service.d.ts +86 -0
  38. package/dist/session/service.d.ts.map +1 -0
  39. package/dist/session/session-module.d.ts +9 -0
  40. package/dist/session/session-module.d.ts.map +1 -0
  41. package/dist/session/types.d.ts +193 -0
  42. package/dist/session/types.d.ts.map +1 -0
  43. package/package.json +1 -1
  44. package/readme.md +98 -117
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/middleware/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE7D;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;gBAE7B,kBAAkB,GAAE,UAAU,EAAO;IAIxD;;;OAGG;IACI,GAAG,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAIxC;;OAEG;IACI,KAAK,IAAI,IAAI;IAIpB;;OAEG;IACI,cAAc,IAAI,OAAO;IAIhC;;;;;OAKG;IACU,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC;CAwBlF;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,WAAW,EAAE,UAAU,EAAE,EACzB,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,QAAQ,CAAC,CAOnB"}
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/middleware/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE7D;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;gBAE7B,kBAAkB,GAAE,UAAU,EAAO;IAIxD;;;OAGG;IACI,GAAG,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAIxC;;OAEG;IACI,KAAK,IAAI,IAAI;IAIpB;;OAEG;IACI,cAAc,IAAI,OAAO;IAIhC;;;;;OAKG;IACU,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC;CA6BlF;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,WAAW,EAAE,UAAU,EAAE,EACzB,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,QAAQ,CAAC,CAOnB"}
@@ -0,0 +1,63 @@
1
+ import 'reflect-metadata';
2
+ /**
3
+ * 队列配置
4
+ */
5
+ export interface QueueOptions {
6
+ /**
7
+ * 队列名称
8
+ * @default 'default'
9
+ */
10
+ name?: string;
11
+ }
12
+ /**
13
+ * Cron 配置
14
+ */
15
+ export interface CronDecoratorOptions {
16
+ /**
17
+ * Cron 表达式
18
+ */
19
+ pattern: string;
20
+ /**
21
+ * 时区
22
+ * @default 'UTC'
23
+ */
24
+ timezone?: string;
25
+ /**
26
+ * 是否立即执行一次
27
+ * @default false
28
+ */
29
+ runOnInit?: boolean;
30
+ /**
31
+ * 队列名称
32
+ * @default 'default'
33
+ */
34
+ queueName?: string;
35
+ }
36
+ /**
37
+ * 队列装饰器元数据
38
+ */
39
+ export interface QueueMetadata {
40
+ name?: string;
41
+ }
42
+ export interface CronMetadata {
43
+ pattern: string;
44
+ timezone?: string;
45
+ runOnInit?: boolean;
46
+ queueName?: string;
47
+ }
48
+ /**
49
+ * 标记方法为队列任务处理器
50
+ * @param options - 队列配置
51
+ */
52
+ export declare function Queue(options?: QueueOptions): MethodDecorator;
53
+ /**
54
+ * 标记方法为定时任务(Cron)
55
+ * @param options - Cron 配置
56
+ */
57
+ export declare function Cron(options: CronDecoratorOptions): MethodDecorator;
58
+ /**
59
+ * 获取队列装饰器元数据
60
+ */
61
+ export declare function getQueueMetadata(target: unknown): QueueMetadata | undefined;
62
+ export declare function getCronMetadata(target: unknown): CronMetadata | undefined;
63
+ //# sourceMappingURL=decorators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/queue/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAQ1B;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,OAAO,GAAE,YAAiB,GAAG,eAAe,CAYjE;AAED;;;GAGG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,oBAAoB,GAAG,eAAe,CAenE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG,aAAa,GAAG,SAAS,CAE3E;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,GAAG,YAAY,GAAG,SAAS,CAEzE"}
@@ -0,0 +1,6 @@
1
+ export { QueueModule } from './queue-module';
2
+ export { QueueService } from './service';
3
+ export { Queue, Cron, getQueueMetadata, getCronMetadata, type QueueOptions, type CronDecoratorOptions, type QueueMetadata, type CronMetadata, } from './decorators';
4
+ export { MemoryQueueStore, QUEUE_SERVICE_TOKEN, QUEUE_OPTIONS_TOKEN, } from './types';
5
+ export type { QueueStore, QueueModuleOptions, Job, JobData, JobHandler, JobOptions, CronOptions, } from './types';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/queue/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EACL,KAAK,EACL,IAAI,EACJ,gBAAgB,EAChB,eAAe,EACf,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,SAAS,CAAC;AACjB,YAAY,EACV,UAAU,EACV,kBAAkB,EAClB,GAAG,EACH,OAAO,EACP,UAAU,EACV,UAAU,EACV,WAAW,GACZ,MAAM,SAAS,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { type QueueModuleOptions } from './types';
2
+ export declare class QueueModule {
3
+ /**
4
+ * 创建队列模块
5
+ * @param options - 模块配置
6
+ */
7
+ static forRoot(options?: QueueModuleOptions): typeof QueueModule;
8
+ }
9
+ //# sourceMappingURL=queue-module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queue-module.d.ts","sourceRoot":"","sources":["../../src/queue/queue-module.ts"],"names":[],"mappings":"AAGA,OAAO,EAIL,KAAK,kBAAkB,EAExB,MAAM,SAAS,CAAC;AAEjB,qBAGa,WAAW;IACtB;;;OAGG;WACW,OAAO,CACnB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,WAAW;CA0CtB"}
@@ -0,0 +1,93 @@
1
+ import type { QueueModuleOptions, Job, JobData, JobHandler, JobOptions, CronOptions } from './types';
2
+ /**
3
+ * 队列服务
4
+ */
5
+ export declare class QueueService {
6
+ private store;
7
+ private defaultQueue;
8
+ private enableWorker;
9
+ private concurrency;
10
+ private workers;
11
+ private cronJobs;
12
+ private cronTimers;
13
+ constructor(options: QueueModuleOptions);
14
+ /**
15
+ * 添加任务
16
+ * @param jobName - 任务名称
17
+ * @param data - 任务数据
18
+ * @param options - 任务选项
19
+ * @param queueName - 队列名称(可选,默认使用 defaultQueue)
20
+ * @returns 任务 ID
21
+ */
22
+ add<T = JobData>(jobName: string, data: T, options?: JobOptions, queueName?: string): Promise<string>;
23
+ /**
24
+ * 获取任务
25
+ * @param jobId - 任务 ID
26
+ * @param queueName - 队列名称(可选)
27
+ * @returns 任务,如果不存在则返回 undefined
28
+ */
29
+ get<T = JobData>(jobId: string, queueName?: string): Promise<Job<T> | undefined>;
30
+ /**
31
+ * 删除任务
32
+ * @param jobId - 任务 ID
33
+ * @param queueName - 队列名称(可选)
34
+ * @returns 是否删除成功
35
+ */
36
+ delete(jobId: string, queueName?: string): Promise<boolean>;
37
+ /**
38
+ * 清空队列
39
+ * @param queueName - 队列名称(可选)
40
+ * @returns 是否清空成功
41
+ */
42
+ clear(queueName?: string): Promise<boolean>;
43
+ /**
44
+ * 获取队列中的任务数量
45
+ * @param queueName - 队列名称(可选)
46
+ * @returns 任务数量
47
+ */
48
+ count(queueName?: string): Promise<number>;
49
+ /**
50
+ * 注册任务处理器
51
+ * @param jobName - 任务名称
52
+ * @param handler - 任务处理器
53
+ * @param queueName - 队列名称(可选)
54
+ */
55
+ registerHandler<T = JobData>(jobName: string, handler: JobHandler<T>, queueName?: string): Promise<void>;
56
+ /**
57
+ * 注册定时任务(Cron)
58
+ * @param jobName - 任务名称
59
+ * @param handler - 任务处理器
60
+ * @param options - Cron 配置
61
+ * @param queueName - 队列名称(可选)
62
+ */
63
+ registerCron<T = JobData>(jobName: string, handler: JobHandler<T>, options: CronOptions, queueName?: string): Promise<void>;
64
+ /**
65
+ * 启动工作进程
66
+ * @param queueName - 队列名称
67
+ */
68
+ private startWorker;
69
+ /**
70
+ * 处理队列
71
+ * @param queueName - 队列名称
72
+ */
73
+ private processQueue;
74
+ /**
75
+ * 获取处理器
76
+ * @param jobName - 任务名称
77
+ * @param queueName - 队列名称
78
+ * @returns 处理器,如果不存在则返回 undefined
79
+ */
80
+ private getHandler;
81
+ /**
82
+ * 解析 Cron 表达式为间隔时间(毫秒)
83
+ * 注意:这是简化实现,实际应该使用专业的 cron 解析库
84
+ * @param pattern - Cron 表达式
85
+ * @returns 间隔时间(毫秒),如果无法解析则返回 -1
86
+ */
87
+ private parseCronInterval;
88
+ /**
89
+ * 销毁服务,清理资源
90
+ */
91
+ destroy(): void;
92
+ }
93
+ //# sourceMappingURL=service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/queue/service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,kBAAkB,EAClB,GAAG,EACH,OAAO,EACP,UAAU,EACV,UAAU,EACV,WAAW,EACZ,MAAM,SAAS,CAAC;AAGjB;;GAEG;AACH,qBACa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAA8C;IAC7D,OAAO,CAAC,QAAQ,CACJ;IACZ,OAAO,CAAC,UAAU,CAA0D;gBAE5B,OAAO,EAAE,kBAAkB;IAW3E;;;;;;;OAOG;IACU,GAAG,CAAC,CAAC,GAAG,OAAO,EAC1B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,CAAC,EACP,OAAO,CAAC,EAAE,UAAU,EACpB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC;IAgBlB;;;;;OAKG;IACU,GAAG,CAAC,CAAC,GAAG,OAAO,EAC1B,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAK9B;;;;;OAKG;IACU,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKxE;;;;OAIG;IACU,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKxD;;;;OAIG;IACU,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKvD;;;;;OAKG;IACU,eAAe,CAAC,CAAC,GAAG,OAAO,EACtC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,EACtB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC;IAehB;;;;;;OAMG;IACU,YAAY,CAAC,CAAC,GAAG,OAAO,EACnC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,EACtB,OAAO,EAAE,WAAW,EACpB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC;IAsBhB;;;OAGG;IACH,OAAO,CAAC,WAAW;IAenB;;;OAGG;YACW,YAAY;IAoC1B;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAUlB;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAqCzB;;OAEG;IACI,OAAO,IAAI,IAAI;CASvB"}
@@ -0,0 +1,204 @@
1
+ /**
2
+ * 任务数据
3
+ */
4
+ export interface JobData {
5
+ [key: string]: unknown;
6
+ }
7
+ /**
8
+ * 任务选项
9
+ */
10
+ export interface JobOptions {
11
+ /**
12
+ * 任务延迟(毫秒)
13
+ */
14
+ delay?: number;
15
+ /**
16
+ * 任务优先级(数字越大优先级越高)
17
+ */
18
+ priority?: number;
19
+ /**
20
+ * 任务重试次数
21
+ */
22
+ attempts?: number;
23
+ /**
24
+ * 任务重试延迟(毫秒)
25
+ */
26
+ backoff?: {
27
+ type: 'fixed' | 'exponential';
28
+ delay: number;
29
+ };
30
+ /**
31
+ * 任务超时时间(毫秒)
32
+ */
33
+ timeout?: number;
34
+ /**
35
+ * 任务 ID(如果不提供则自动生成)
36
+ */
37
+ jobId?: string;
38
+ /**
39
+ * 是否移除任务(如果已完成)
40
+ */
41
+ removeOnComplete?: boolean | number;
42
+ /**
43
+ * 是否移除任务(如果失败)
44
+ */
45
+ removeOnFail?: boolean | number;
46
+ }
47
+ /**
48
+ * 任务
49
+ */
50
+ export interface Job<T = JobData> {
51
+ /**
52
+ * 任务 ID
53
+ */
54
+ id: string;
55
+ /**
56
+ * 任务名称
57
+ */
58
+ name: string;
59
+ /**
60
+ * 任务数据
61
+ */
62
+ data: T;
63
+ /**
64
+ * 任务选项
65
+ */
66
+ options?: JobOptions;
67
+ /**
68
+ * 任务状态
69
+ */
70
+ status: 'waiting' | 'active' | 'completed' | 'failed' | 'delayed';
71
+ /**
72
+ * 创建时间
73
+ */
74
+ createdAt: number;
75
+ /**
76
+ * 更新时间
77
+ */
78
+ updatedAt: number;
79
+ }
80
+ /**
81
+ * 任务处理器
82
+ */
83
+ export type JobHandler<T = JobData> = (job: Job<T>) => Promise<void> | void;
84
+ /**
85
+ * 队列存储接口
86
+ */
87
+ export interface QueueStore {
88
+ /**
89
+ * 添加任务
90
+ * @param queueName - 队列名称
91
+ * @param job - 任务
92
+ * @returns 任务 ID
93
+ */
94
+ add<T = JobData>(queueName: string, job: Omit<Job<T>, 'id' | 'status' | 'createdAt' | 'updatedAt'>): Promise<string>;
95
+ /**
96
+ * 获取任务
97
+ * @param queueName - 队列名称
98
+ * @param jobId - 任务 ID
99
+ * @returns 任务,如果不存在则返回 undefined
100
+ */
101
+ get<T = JobData>(queueName: string, jobId: string): Promise<Job<T> | undefined>;
102
+ /**
103
+ * 获取下一个待处理的任务
104
+ * @param queueName - 队列名称
105
+ * @returns 任务,如果没有则返回 undefined
106
+ */
107
+ getNext<T = JobData>(queueName: string): Promise<Job<T> | undefined>;
108
+ /**
109
+ * 更新任务状态
110
+ * @param queueName - 队列名称
111
+ * @param jobId - 任务 ID
112
+ * @param status - 新状态
113
+ * @returns 是否更新成功
114
+ */
115
+ updateStatus(queueName: string, jobId: string, status: Job['status']): Promise<boolean>;
116
+ /**
117
+ * 删除任务
118
+ * @param queueName - 队列名称
119
+ * @param jobId - 任务 ID
120
+ * @returns 是否删除成功
121
+ */
122
+ delete(queueName: string, jobId: string): Promise<boolean>;
123
+ /**
124
+ * 清空队列
125
+ * @param queueName - 队列名称
126
+ * @returns 是否清空成功
127
+ */
128
+ clear(queueName: string): Promise<boolean>;
129
+ /**
130
+ * 获取队列中的任务数量
131
+ * @param queueName - 队列名称
132
+ * @returns 任务数量
133
+ */
134
+ count(queueName: string): Promise<number>;
135
+ }
136
+ /**
137
+ * 内存队列存储实现
138
+ */
139
+ export declare class MemoryQueueStore implements QueueStore {
140
+ private queues;
141
+ private jobCounter;
142
+ add<T = JobData>(queueName: string, job: Omit<Job<T>, 'id' | 'status' | 'createdAt' | 'updatedAt'>): Promise<string>;
143
+ get<T = JobData>(queueName: string, jobId: string): Promise<Job<T> | undefined>;
144
+ getNext<T = JobData>(queueName: string): Promise<Job<T> | undefined>;
145
+ updateStatus(queueName: string, jobId: string, status: Job['status']): Promise<boolean>;
146
+ delete(queueName: string, jobId: string): Promise<boolean>;
147
+ clear(queueName: string): Promise<boolean>;
148
+ count(queueName: string): Promise<number>;
149
+ private getQueue;
150
+ }
151
+ /**
152
+ * Cron 表达式配置
153
+ */
154
+ export interface CronOptions {
155
+ /**
156
+ * Cron 表达式(支持标准 5 字段格式:分 时 日 月 周)
157
+ * 例如:'0 0 * * *' 表示每天午夜执行
158
+ */
159
+ pattern: string;
160
+ /**
161
+ * 时区
162
+ * @default 'UTC'
163
+ */
164
+ timezone?: string;
165
+ /**
166
+ * 是否立即执行一次
167
+ * @default false
168
+ */
169
+ runOnInit?: boolean;
170
+ }
171
+ /**
172
+ * QueueModule 配置选项
173
+ */
174
+ export interface QueueModuleOptions {
175
+ /**
176
+ * 队列存储实现
177
+ * @default MemoryQueueStore
178
+ */
179
+ store?: QueueStore;
180
+ /**
181
+ * 默认队列名称
182
+ * @default 'default'
183
+ */
184
+ defaultQueue?: string;
185
+ /**
186
+ * 是否启用工作进程
187
+ * @default true
188
+ */
189
+ enableWorker?: boolean;
190
+ /**
191
+ * 工作进程并发数
192
+ * @default 1
193
+ */
194
+ concurrency?: number;
195
+ }
196
+ /**
197
+ * QueueService Token
198
+ */
199
+ export declare const QUEUE_SERVICE_TOKEN: unique symbol;
200
+ /**
201
+ * QueueModule Options Token
202
+ */
203
+ export declare const QUEUE_OPTIONS_TOKEN: unique symbol;
204
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/queue/types.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { Context } from '../core/context';
2
2
  import { Route } from './route';
3
- import type { HttpMethod, RouteHandler } from './types';
3
+ import type { HttpMethod, RouteHandler, RouteMatch } from './types';
4
4
  import type { Middleware } from '../middleware';
5
5
  /**
6
6
  * 路由器类
@@ -13,6 +13,11 @@ export declare class Router {
13
13
  private readonly routes;
14
14
  private readonly staticRoutes;
15
15
  private readonly dynamicRoutes;
16
+ /**
17
+ * 路由匹配结果缓存(method:path -> { route, match })
18
+ * 用于避免重复匹配,提升性能
19
+ */
20
+ private readonly matchCache;
16
21
  /**
17
22
  * 规范化路径(移除尾部斜杠,除非是根路径)
18
23
  */
@@ -64,6 +69,16 @@ export declare class Router {
64
69
  * @returns 匹配的路由,如果没有找到则返回 undefined
65
70
  */
66
71
  findRoute(method: HttpMethod, path: string): Route | undefined;
72
+ /**
73
+ * 查找匹配的路由并返回匹配结果(包含参数)
74
+ * @param method - HTTP 方法
75
+ * @param path - 请求路径
76
+ * @returns 匹配结果,包含路由和参数,如果没有找到则返回 undefined
77
+ */
78
+ findRouteWithMatch(method: HttpMethod, path: string): {
79
+ route: Route;
80
+ match: RouteMatch;
81
+ } | undefined;
67
82
  /**
68
83
  * 预处理请求:仅匹配路由并设置路径参数 / routeHandler,但不执行处理器
69
84
  * 供安全过滤器等中间件在真正执行前基于路由元数据做鉴权
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/router/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD;;;GAGG;AACH,qBAAa,MAAM;IACjB;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA4B;IACzD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAE7C;;OAEG;IACH,OAAO,CAAC,aAAa;IAOrB;;;;;;;;OAQG;IACI,QAAQ,CACb,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,YAAY,EACrB,WAAW,GAAE,UAAU,EAAO,EAC9B,eAAe,CAAC,EAAE,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,EACrD,UAAU,CAAC,EAAE,MAAM,GAClB,IAAI;IAaP;;;;OAIG;IACI,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,GAAE,UAAU,EAAO,GAAG,IAAI;IAIrF;;;;OAIG;IACI,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,GAAE,UAAU,EAAO,GAAG,IAAI;IAItF;;;;OAIG;IACI,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,GAAE,UAAU,EAAO,GAAG,IAAI;IAIrF;;;;OAIG;IACI,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,GAAE,UAAU,EAAO,GAAG,IAAI;IAIxF;;;;OAIG;IACI,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,GAAE,UAAU,EAAO,GAAG,IAAI;IAIvF;;;;;OAKG;IACI,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAerE;;;OAGG;IACU,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBvD;;;;OAIG;IACU,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;IAepE;;;OAGG;IACI,SAAS,IAAI,SAAS,KAAK,EAAE;IAIpC;;OAEG;IACI,KAAK,IAAI,IAAI;CAKrB"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/router/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD;;;GAGG;AACH,qBAAa,MAAM;IACjB;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA4B;IACzD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAE7C;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA0D;IAErF;;OAEG;IACH,OAAO,CAAC,aAAa;IAOrB;;;;;;;;OAQG;IACI,QAAQ,CACb,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,YAAY,EACrB,WAAW,GAAE,UAAU,EAAO,EAC9B,eAAe,CAAC,EAAE,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,EACrD,UAAU,CAAC,EAAE,MAAM,GAClB,IAAI;IAgBP;;;;OAIG;IACI,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,GAAE,UAAU,EAAO,GAAG,IAAI;IAIrF;;;;OAIG;IACI,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,GAAE,UAAU,EAAO,GAAG,IAAI;IAItF;;;;OAIG;IACI,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,GAAE,UAAU,EAAO,GAAG,IAAI;IAIrF;;;;OAIG;IACI,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,GAAE,UAAU,EAAO,GAAG,IAAI;IAIxF;;;;OAIG;IACI,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,GAAE,UAAU,EAAO,GAAG,IAAI;IAIvF;;;;;OAKG;IACI,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAKrE;;;;;OAKG;IACI,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,GAAG,SAAS;IAmC5G;;;OAGG;IACU,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBvD;;;;OAIG;IACU,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;IA4BpE;;;OAGG;IACI,SAAS,IAAI,SAAS,KAAK,EAAE;IAIpC;;OAEG;IACI,KAAK,IAAI,IAAI;CAMrB"}
@@ -0,0 +1,16 @@
1
+ import 'reflect-metadata';
2
+ import type { Context } from '../core/context';
3
+ import { Container } from '../di/container';
4
+ /**
5
+ * Session 参数装饰器
6
+ * 用于在控制器方法中注入 Session 对象
7
+ */
8
+ export declare function Session(): (target: any, propertyKey: string | symbol | undefined, parameterIndex: number) => void;
9
+ /**
10
+ * 获取 Session 对象(用于参数绑定)
11
+ * @param context - 请求上下文
12
+ * @param container - DI 容器
13
+ * @returns Session 对象,如果不存在则返回 undefined
14
+ */
15
+ export declare function getSessionFromContext(context: Context, container: Container): Promise<unknown | undefined>;
16
+ //# sourceMappingURL=decorators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/session/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAG/C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C;;;GAGG;AACH,wBAAgB,OAAO,4FAEtB;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAoB9B"}
@@ -0,0 +1,8 @@
1
+ export { SessionModule } from './session-module';
2
+ export { SessionService } from './service';
3
+ export { createSessionMiddleware } from './middleware';
4
+ export { Session as SessionDecorator, getSessionFromContext } from './decorators';
5
+ export { MemorySessionStore, RedisSessionStore, SESSION_SERVICE_TOKEN, SESSION_OPTIONS_TOKEN, } from './types';
6
+ export type { SessionStore, } from './types';
7
+ export type { SessionModuleOptions, Session, SessionData, RedisSessionStoreOptions, } from './types';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAClF,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,SAAS,CAAC;AACjB,YAAY,EACV,YAAY,GACb,MAAM,SAAS,CAAC;AACjB,YAAY,EACV,oBAAoB,EACpB,OAAO,EACP,WAAW,EACX,wBAAwB,GACzB,MAAM,SAAS,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { Middleware } from '../middleware/middleware';
2
+ import type { Container } from '../di/container';
3
+ /**
4
+ * Session 中间件
5
+ * 从 Cookie 中读取 Session ID,并将 Session 对象附加到 Context
6
+ */
7
+ export declare function createSessionMiddleware(container: Container): Middleware;
8
+ //# sourceMappingURL=middleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/session/middleware.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAgB,MAAM,0BAA0B,CAAC;AAGzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,SAAS,GACnB,UAAU,CAsFZ"}
@@ -0,0 +1,86 @@
1
+ import type { SessionModuleOptions, Session, SessionData } from './types';
2
+ /**
3
+ * Session 服务
4
+ */
5
+ export declare class SessionService {
6
+ private store;
7
+ private name;
8
+ private maxAge;
9
+ private rolling;
10
+ private cookieOptions;
11
+ constructor(options: SessionModuleOptions);
12
+ /**
13
+ * 生成 Session ID
14
+ * @returns Session ID
15
+ */
16
+ private generateSessionId;
17
+ /**
18
+ * 创建新 Session
19
+ * @param initialData - 初始数据
20
+ * @returns Session
21
+ */
22
+ create(initialData?: SessionData): Promise<Session>;
23
+ /**
24
+ * 获取 Session
25
+ * @param sessionId - Session ID
26
+ * @returns Session,如果不存在或已过期则返回 undefined
27
+ */
28
+ get(sessionId: string): Promise<Session | undefined>;
29
+ /**
30
+ * 更新 Session 数据
31
+ * @param sessionId - Session ID
32
+ * @param data - 新数据
33
+ * @returns 是否更新成功
34
+ */
35
+ set(sessionId: string, data: SessionData): Promise<boolean>;
36
+ /**
37
+ * 获取 Session 数据中的某个值
38
+ * @param sessionId - Session ID
39
+ * @param key - 数据键
40
+ * @returns 数据值,如果不存在则返回 undefined
41
+ */
42
+ getValue<T = unknown>(sessionId: string, key: string): Promise<T | undefined>;
43
+ /**
44
+ * 设置 Session 数据中的某个值
45
+ * @param sessionId - Session ID
46
+ * @param key - 数据键
47
+ * @param value - 数据值
48
+ * @returns 是否设置成功
49
+ */
50
+ setValue<T = unknown>(sessionId: string, key: string, value: T): Promise<boolean>;
51
+ /**
52
+ * 删除 Session 数据中的某个值
53
+ * @param sessionId - Session ID
54
+ * @param key - 数据键
55
+ * @returns 是否删除成功
56
+ */
57
+ deleteValue(sessionId: string, key: string): Promise<boolean>;
58
+ /**
59
+ * 删除 Session
60
+ * @param sessionId - Session ID
61
+ * @returns 是否删除成功
62
+ */
63
+ delete(sessionId: string): Promise<boolean>;
64
+ /**
65
+ * 更新 Session 的最后访问时间
66
+ * @param sessionId - Session ID
67
+ * @returns 是否更新成功
68
+ */
69
+ touch(sessionId: string): Promise<boolean>;
70
+ /**
71
+ * 获取 Cookie 名称
72
+ * @returns Cookie 名称
73
+ */
74
+ getCookieName(): string;
75
+ /**
76
+ * 获取 Cookie 选项
77
+ * @returns Cookie 选项
78
+ */
79
+ getCookieOptions(): Required<SessionModuleOptions>['cookie'];
80
+ /**
81
+ * 获取最大存活时间
82
+ * @returns 最大存活时间(毫秒)
83
+ */
84
+ getMaxAge(): number;
85
+ }
86
+ //# sourceMappingURL=service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/session/service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,oBAAoB,EACpB,OAAO,EACP,WAAW,EACZ,MAAM,SAAS,CAAC;AAIjB;;GAEG;AACH,qBACa,cAAc;IACzB,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,aAAa,CAA2C;gBAG/B,OAAO,EAAE,oBAAoB;IAe9D;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;;;OAIG;IACU,MAAM,CAAC,WAAW,GAAE,WAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAcpE;;;;OAIG;IACU,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAcjE;;;;;OAKG;IACU,GAAG,CACd,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,OAAO,CAAC;IAgBnB;;;;;OAKG;IACU,QAAQ,CAAC,CAAC,GAAG,OAAO,EAC/B,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IASzB;;;;;;OAMG;IACU,QAAQ,CAAC,CAAC,GAAG,OAAO,EAC/B,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,CAAC,GACP,OAAO,CAAC,OAAO,CAAC;IAgBnB;;;;;OAKG;IACU,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAgB1E;;;;OAIG;IACU,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIxD;;;;OAIG;IACU,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIvD;;;OAGG;IACI,aAAa,IAAI,MAAM;IAI9B;;;OAGG;IACI,gBAAgB,IAAI,QAAQ,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC;IAInE;;;OAGG;IACI,SAAS,IAAI,MAAM;CAG3B"}
@@ -0,0 +1,9 @@
1
+ import { type SessionModuleOptions } from './types';
2
+ export declare class SessionModule {
3
+ /**
4
+ * 创建 Session 模块
5
+ * @param options - 模块配置
6
+ */
7
+ static forRoot(options?: SessionModuleOptions): typeof SessionModule;
8
+ }
9
+ //# sourceMappingURL=session-module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-module.d.ts","sourceRoot":"","sources":["../../src/session/session-module.ts"],"names":[],"mappings":"AAGA,OAAO,EAIL,KAAK,oBAAoB,EAE1B,MAAM,SAAS,CAAC;AAEjB,qBAGa,aAAa;IACxB;;;OAGG;WACW,OAAO,CACnB,OAAO,GAAE,oBAAyB,GACjC,OAAO,aAAa;CA+CxB"}