@taicode/common-server 1.0.12 → 1.0.14

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 (69) hide show
  1. package/output/index.d.ts +1 -0
  2. package/output/index.d.ts.map +1 -1
  3. package/output/index.js +1 -0
  4. package/output/redis-queue/index.d.ts +2 -1
  5. package/output/redis-queue/index.d.ts.map +1 -1
  6. package/output/redis-queue/index.js +1 -1
  7. package/output/redis-queue/redis-batch-consumer.d.ts +13 -9
  8. package/output/redis-queue/redis-batch-consumer.d.ts.map +1 -1
  9. package/output/redis-queue/redis-batch-consumer.js +66 -55
  10. package/output/redis-queue/redis-batch-consumer.test.d.ts +5 -0
  11. package/output/redis-queue/redis-batch-consumer.test.d.ts.map +1 -1
  12. package/output/redis-queue/{batch-consumer.d.ts → redis-queue-batch-consumer.d.ts} +11 -41
  13. package/output/redis-queue/redis-queue-batch-consumer.d.ts.map +1 -0
  14. package/output/redis-queue/redis-queue-batch-consumer.js +320 -0
  15. package/output/redis-queue/redis-queue-batch-consumer.test.d.ts +26 -0
  16. package/output/redis-queue/redis-queue-batch-consumer.test.d.ts.map +1 -0
  17. package/output/redis-queue/{batch-consumer.test.js → redis-queue-batch-consumer.test.js} +144 -19
  18. package/output/redis-queue/redis-queue-common.d.ts +16 -4
  19. package/output/redis-queue/redis-queue-common.d.ts.map +1 -1
  20. package/output/redis-queue/redis-queue-common.js +88 -8
  21. package/output/redis-queue/redis-queue-common.test.d.ts +17 -0
  22. package/output/redis-queue/redis-queue-common.test.d.ts.map +1 -1
  23. package/output/redis-queue/redis-queue-common.test.js +27 -65
  24. package/output/redis-queue/redis-queue-consumer.d.ts +10 -35
  25. package/output/redis-queue/redis-queue-consumer.d.ts.map +1 -1
  26. package/output/redis-queue/redis-queue-consumer.js +98 -251
  27. package/output/redis-queue/redis-queue-consumer.test.d.ts +24 -0
  28. package/output/redis-queue/redis-queue-consumer.test.d.ts.map +1 -1
  29. package/output/redis-queue/redis-queue-consumer.test.js +89 -15
  30. package/output/redis-queue/redis-queue-provider.d.ts +14 -15
  31. package/output/redis-queue/redis-queue-provider.d.ts.map +1 -1
  32. package/output/redis-queue/redis-queue-provider.js +16 -13
  33. package/output/redis-queue/redis-queue-provider.test.d.ts +26 -0
  34. package/output/redis-queue/redis-queue-provider.test.d.ts.map +1 -1
  35. package/output/redis-queue/redis-queue-provider.test.js +73 -38
  36. package/output/redis-queue/test-helpers.d.ts +112 -0
  37. package/output/redis-queue/test-helpers.d.ts.map +1 -0
  38. package/output/redis-queue/test-helpers.js +242 -0
  39. package/output/redis-queue/test-helpers.test.d.ts +28 -0
  40. package/output/redis-queue/test-helpers.test.d.ts.map +1 -0
  41. package/output/redis-queue/test-helpers.test.js +572 -0
  42. package/output/redis-queue/types.d.ts +43 -12
  43. package/output/redis-queue/types.d.ts.map +1 -1
  44. package/package.json +5 -3
  45. package/output/logger/logger.d.ts +0 -33
  46. package/output/logger/logger.d.ts.map +0 -1
  47. package/output/logger/logger.js +0 -65
  48. package/output/logger/logger.test.d.ts +0 -2
  49. package/output/logger/logger.test.d.ts.map +0 -1
  50. package/output/logger/logger.test.js +0 -87
  51. package/output/redis-queue/batch-consumer.d.ts.map +0 -1
  52. package/output/redis-queue/batch-consumer.js +0 -492
  53. package/output/redis-queue/batch-consumer.test.d.ts +0 -2
  54. package/output/redis-queue/batch-consumer.test.d.ts.map +0 -1
  55. package/output/redis-queue/batch-redis-queue.d.ts +0 -136
  56. package/output/redis-queue/batch-redis-queue.d.ts.map +0 -1
  57. package/output/redis-queue/batch-redis-queue.js +0 -583
  58. package/output/redis-queue/batch-redis-queue.test.d.ts +0 -2
  59. package/output/redis-queue/batch-redis-queue.test.d.ts.map +0 -1
  60. package/output/redis-queue/batch-redis-queue.test.js +0 -243
  61. package/output/redis-queue/redis-queue.d.ts +0 -129
  62. package/output/redis-queue/redis-queue.d.ts.map +0 -1
  63. package/output/redis-queue/redis-queue.js +0 -557
  64. package/output/redis-queue/redis-queue.test.d.ts +0 -2
  65. package/output/redis-queue/redis-queue.test.d.ts.map +0 -1
  66. package/output/redis-queue/redis-queue.test.js +0 -234
  67. package/output/redis-queue/registry.d.ts +0 -57
  68. package/output/redis-queue/registry.d.ts.map +0 -1
  69. package/output/redis-queue/registry.js +0 -30
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../source/redis-queue/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,OAAO,CAAA;AAE5C;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,QAAQ,CAAA;AAEtE;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAEhE;;GAEG;AACH,MAAM,WAAW,IAAI,CAAC,CAAC,GAAG,QAAQ;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,CAAC,CAAA;IACP,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,eAAe,CAAA;IAC7B,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,CAAC,SAAS,QAAQ,GAAG,QAAQ;IAChG,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,eAAe,CAAA;IAC7B,QAAQ,EAAE,CAAC,CAAA;IACX,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,CAAC,SAAS,QAAQ,GAAG,QAAQ;IAChG,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,eAAe,CAAA;IAC7B,QAAQ,EAAE,CAAC,CAAA;IACX,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,OAAO,sBAAsB,EAAE,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAA;AAE1I;;GAEG;AACH,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,CAAC,SAAS,QAAQ,GAAG,QAAQ;IAC3F,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,eAAe,CAAA;IAC7B,QAAQ,EAAE,CAAC,CAAA;IACX,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAA;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC,OAAO,sBAAsB,EAAE,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../source/redis-queue/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taicode/common-server",
3
- "version": "1.0.12",
3
+ "version": "1.0.14",
4
4
  "author": "Alain",
5
5
  "license": "ISC",
6
6
  "description": "",
@@ -29,14 +29,16 @@
29
29
  ],
30
30
  "peerDependencies": {
31
31
  "@taicode/common-base": "^1.7.0",
32
+ "bullmq": "^5.34.0",
32
33
  "fastify": "^5.5.0",
33
- "redis": "^4.7.0",
34
+ "ioredis": "^5.4.2",
34
35
  "zod": "^4.1.0"
35
36
  },
36
37
  "devDependencies": {
37
38
  "@types/node": "^22.10.2",
39
+ "bullmq": "^5.65.0",
38
40
  "fastify": "^5.5.0",
39
- "redis": "^4.7.1",
41
+ "ioredis": "^5.8.2",
40
42
  "vitest": "^3.2.4",
41
43
  "zod": "^4.1.0"
42
44
  }
@@ -1,33 +0,0 @@
1
- import { FastifyBaseLogger } from 'fastify';
2
- import { Bindings, ChildLoggerOptions } from 'fastify/types/logger';
3
- import { LevelWithSilentOrString, LogFn } from 'pino';
4
- import { LoggerOptions } from '@taicode/common-base/logger';
5
- export declare class FastifyLogger implements FastifyBaseLogger {
6
- private logger;
7
- private _msgPrefix?;
8
- constructor(options?: LoggerOptions);
9
- /**
10
- * 创建子 logger
11
- */
12
- child(bindings: Bindings, options?: ChildLoggerOptions): FastifyBaseLogger;
13
- /**
14
- * Pino 兼容的 level getter/setter
15
- */
16
- get level(): LevelWithSilentOrString;
17
- set level(newLevel: LevelWithSilentOrString);
18
- /**
19
- * 获取消息前缀
20
- */
21
- get msgPrefix(): string | undefined;
22
- /**
23
- * 日志方法实现
24
- */
25
- fatal: LogFn;
26
- error: LogFn;
27
- warn: LogFn;
28
- info: LogFn;
29
- debug: LogFn;
30
- trace: LogFn;
31
- silent: LogFn;
32
- }
33
- //# sourceMappingURL=logger.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../source/logger/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,EAAE,uBAAuB,EAAE,KAAK,EAAE,MAAM,MAAM,CAAA;AACrD,OAAO,EAAU,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAEnE,qBAAa,aAAc,YAAW,iBAAiB;IACrD,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,UAAU,CAAC,CAAQ;gBAEf,OAAO,CAAC,EAAE,aAAa;IAInC;;OAEG;IACH,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,iBAAiB;IAgB1E;;OAEG;IACH,IAAI,KAAK,IAAI,uBAAuB,CAEnC;IAED,IAAI,KAAK,CAAC,QAAQ,EAAE,uBAAuB,EAK1C;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,MAAM,GAAG,SAAS,CAElC;IAED;;OAEG;IACH,KAAK,EAAE,KAAK,CAEX;IAED,KAAK,EAAE,KAAK,CAEX;IAED,IAAI,EAAE,KAAK,CAEV;IAED,IAAI,EAAE,KAAK,CAEV;IAED,KAAK,EAAE,KAAK,CAEX;IAED,KAAK,EAAE,KAAK,CAEX;IAED,MAAM,EAAE,KAAK,CAEZ;CACF"}
@@ -1,65 +0,0 @@
1
- import { Logger } from '@taicode/common-base/logger';
2
- export class FastifyLogger {
3
- logger;
4
- _msgPrefix;
5
- constructor(options) {
6
- this.logger = new Logger(options);
7
- }
8
- /**
9
- * 创建子 logger
10
- */
11
- child(bindings, options) {
12
- const childOptions = {
13
- level: options?.level,
14
- transports: this.logger.getTransports(),
15
- };
16
- const childLogger = new FastifyLogger(childOptions);
17
- // 如果 bindings 包含 msgPrefix,保存它
18
- if (bindings && typeof bindings === 'object' && 'msgPrefix' in bindings) {
19
- childLogger._msgPrefix = bindings.msgPrefix;
20
- }
21
- return childLogger;
22
- }
23
- /**
24
- * Pino 兼容的 level getter/setter
25
- */
26
- get level() {
27
- return this.logger.level;
28
- }
29
- set level(newLevel) {
30
- // 过滤掉 'silent' 因为我们的 Logger 不支持它作为 level
31
- if (newLevel !== 'silent') {
32
- this.logger.level = newLevel;
33
- }
34
- }
35
- /**
36
- * 获取消息前缀
37
- */
38
- get msgPrefix() {
39
- return this._msgPrefix;
40
- }
41
- /**
42
- * 日志方法实现
43
- */
44
- fatal = (...args) => {
45
- this.logger.fatal(...args);
46
- };
47
- error = (...args) => {
48
- this.logger.error(...args);
49
- };
50
- warn = (...args) => {
51
- this.logger.warn(...args);
52
- };
53
- info = (...args) => {
54
- this.logger.info(...args);
55
- };
56
- debug = (...args) => {
57
- this.logger.debug(...args);
58
- };
59
- trace = (...args) => {
60
- this.logger.trace(...args);
61
- };
62
- silent = (...args) => {
63
- this.logger.silent();
64
- };
65
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=logger.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.test.d.ts","sourceRoot":"","sources":["../../source/logger/logger.test.ts"],"names":[],"mappings":""}
@@ -1,87 +0,0 @@
1
- import { describe, it, expect, vi, beforeEach } from 'vitest';
2
- import { FastifyLogger } from './logger';
3
- describe('FastifyLogger', () => {
4
- let printMock;
5
- let loggerOptions;
6
- beforeEach(() => {
7
- printMock = vi.fn();
8
- loggerOptions = {
9
- print: printMock,
10
- level: 'info'
11
- };
12
- });
13
- it('应该创建一个 FastifyLogger 实例', () => {
14
- const logger = new FastifyLogger(loggerOptions);
15
- expect(logger).toBeInstanceOf(FastifyLogger);
16
- });
17
- it('应该支持所有日志级别方法', () => {
18
- const logger = new FastifyLogger(loggerOptions);
19
- logger.trace('trace message');
20
- logger.debug('debug message');
21
- logger.info('info message');
22
- logger.warn('warn message');
23
- logger.error('error message');
24
- logger.fatal('fatal message');
25
- // 由于默认级别是 info,trace 和 debug 不应该被调用
26
- expect(printMock).not.toHaveBeenCalledWith('trace', 'trace message');
27
- expect(printMock).not.toHaveBeenCalledWith('debug', 'debug message');
28
- expect(printMock).toHaveBeenCalledWith('info', 'info message');
29
- expect(printMock).toHaveBeenCalledWith('warn', 'warn message');
30
- expect(printMock).toHaveBeenCalledWith('error', 'error message');
31
- expect(printMock).toHaveBeenCalledWith('fatal', 'fatal message');
32
- });
33
- it('应该支持 silent 方法', () => {
34
- const logger = new FastifyLogger(loggerOptions);
35
- // silent 方法不应该抛出错误
36
- expect(() => logger.silent('test')).not.toThrow();
37
- // silent 方法不应该调用 print
38
- expect(printMock).not.toHaveBeenCalled();
39
- });
40
- it('应该支持 level getter/setter', () => {
41
- const logger = new FastifyLogger(loggerOptions);
42
- expect(logger.level).toBe('info');
43
- logger.level = 'warn';
44
- expect(logger.level).toBe('warn');
45
- // 验证新级别生效
46
- printMock.mockClear();
47
- logger.info('info message');
48
- logger.warn('warn message');
49
- expect(printMock).not.toHaveBeenCalledWith('info', 'info message');
50
- expect(printMock).toHaveBeenCalledWith('warn', 'warn message');
51
- });
52
- it('应该忽略 silent 级别设置', () => {
53
- const logger = new FastifyLogger(loggerOptions);
54
- logger.level = 'silent';
55
- // silent 不是有效的 logger 级别,所以应该保持原来的级别
56
- expect(logger.level).toBe('info');
57
- });
58
- it('应该支持创建子 logger', () => {
59
- const logger = new FastifyLogger(loggerOptions);
60
- const childLogger = logger.child({ requestId: '123' });
61
- expect(childLogger).toBeInstanceOf(FastifyLogger);
62
- expect(childLogger).not.toBe(logger);
63
- });
64
- it('应该在子 logger 中保存 msgPrefix', () => {
65
- const logger = new FastifyLogger(loggerOptions);
66
- const childLogger = logger.child({ msgPrefix: '[Request] ' });
67
- expect(childLogger.msgPrefix).toBe('[Request] ');
68
- });
69
- it('子 logger 应该继承父 logger 的配置', () => {
70
- const logger = new FastifyLogger({ ...loggerOptions, level: 'warn' });
71
- const childLogger = logger.child({}, { level: 'debug' });
72
- // 子 logger 应该使用传入的 level
73
- expect(childLogger.level).toBe('debug');
74
- });
75
- it('应该支持多个参数的日志输出', () => {
76
- const logger = new FastifyLogger(loggerOptions);
77
- logger.info('message');
78
- expect(printMock).toHaveBeenCalledWith('info', 'message');
79
- });
80
- it('应该正确处理错误对象', () => {
81
- const logger = new FastifyLogger(loggerOptions);
82
- const error = new Error('test error');
83
- logger.error(error);
84
- // 验证 print 被调用,不验证具体的格式化内容
85
- expect(printMock).toHaveBeenCalledWith('error', expect.stringContaining('test error'));
86
- });
87
- });
@@ -1 +0,0 @@
1
- {"version":3,"file":"batch-consumer.d.ts","sourceRoot":"","sources":["../../source/redis-queue/batch-consumer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAU,QAAQ,EAAQ,UAAU,EAAE,MAAM,SAAS,CAAA;AAEtF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,qBAAa,kBAAkB,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ;IAC3D,OAAO,CAAC,eAAe,CAAQ;IAC/B,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,gBAAgB,CAA8B;IACtD,OAAO,CAAC,gBAAgB,CAA8B;IACtD,OAAO,CAAC,iBAAiB,CAAI;IAE7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkC;IAGzD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAQ;IACrC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAQ;IACxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;gBAE3B,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAyC1C;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAY9B;;OAEG;IACH,UAAU,IAAI,IAAI;IAUlB;;OAEG;YACW,OAAO;IAWrB;;OAEG;YACW,WAAW;IA8BzB;;OAEG;YACW,gBAAgB;IAI9B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAUxB;;OAEG;YACW,mBAAmB;IA6EjC;;OAEG;YACW,YAAY;IA4F1B;;OAEG;IACH,OAAO,CAAC,aAAa;IAoBrB;;OAEG;IACH,OAAO,CAAC,YAAY;IAQpB;;OAEG;IACH,OAAO,CAAC,aAAa;IAyErB;;OAEG;IACH,OAAO,CAAC,YAAY;IASpB;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC;IAevC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA4B5B;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;CAMjC"}