@dangao/bun-server 3.2.0 → 3.3.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 (139) hide show
  1. package/dist/ai/types.d.ts +4 -0
  2. package/dist/ai/types.d.ts.map +1 -1
  3. package/dist/auth/types.d.ts +4 -0
  4. package/dist/auth/types.d.ts.map +1 -1
  5. package/dist/cache/interceptors.d.ts +3 -3
  6. package/dist/cache/interceptors.d.ts.map +1 -1
  7. package/dist/cache/service.d.ts +6 -6
  8. package/dist/cache/service.d.ts.map +1 -1
  9. package/dist/cache/types.d.ts +12 -12
  10. package/dist/cache/types.d.ts.map +1 -1
  11. package/dist/config/service.d.ts +6 -4
  12. package/dist/config/service.d.ts.map +1 -1
  13. package/dist/core/application.d.ts +4 -0
  14. package/dist/core/application.d.ts.map +1 -1
  15. package/dist/core/context.d.ts +4 -2
  16. package/dist/core/context.d.ts.map +1 -1
  17. package/dist/database/sqlite-adapter.d.ts +4 -2
  18. package/dist/database/sqlite-adapter.d.ts.map +1 -1
  19. package/dist/di/container.d.ts +2 -0
  20. package/dist/di/container.d.ts.map +1 -1
  21. package/dist/di/module-registry.d.ts.map +1 -1
  22. package/dist/di/module.d.ts +11 -1
  23. package/dist/di/module.d.ts.map +1 -1
  24. package/dist/di/types.d.ts +1 -1
  25. package/dist/di/types.d.ts.map +1 -1
  26. package/dist/error/handler.d.ts.map +1 -1
  27. package/dist/error/http-exception.d.ts +8 -8
  28. package/dist/error/http-exception.d.ts.map +1 -1
  29. package/dist/error/index.d.ts +1 -0
  30. package/dist/error/index.d.ts.map +1 -1
  31. package/dist/events/service.d.ts +2 -2
  32. package/dist/events/service.d.ts.map +1 -1
  33. package/dist/events/types.d.ts +12 -3
  34. package/dist/events/types.d.ts.map +1 -1
  35. package/dist/index.js +63 -25
  36. package/dist/index.node.mjs +63 -25
  37. package/dist/interceptor/base-interceptor.d.ts +3 -3
  38. package/dist/interceptor/base-interceptor.d.ts.map +1 -1
  39. package/dist/interceptor/builtin/log-interceptor.d.ts +1 -1
  40. package/dist/interceptor/builtin/log-interceptor.d.ts.map +1 -1
  41. package/dist/interceptor/builtin/permission-interceptor.d.ts +1 -1
  42. package/dist/interceptor/builtin/permission-interceptor.d.ts.map +1 -1
  43. package/dist/interceptor/interceptor-chain.d.ts +1 -1
  44. package/dist/interceptor/interceptor-chain.d.ts.map +1 -1
  45. package/dist/interceptor/interceptor-registry.d.ts +3 -1
  46. package/dist/interceptor/interceptor-registry.d.ts.map +1 -1
  47. package/dist/interceptor/types.d.ts +6 -1
  48. package/dist/interceptor/types.d.ts.map +1 -1
  49. package/dist/microservice/service-client/types.d.ts +1 -0
  50. package/dist/microservice/service-client/types.d.ts.map +1 -1
  51. package/dist/microservice/tracing/tracer.d.ts +1 -0
  52. package/dist/microservice/tracing/tracer.d.ts.map +1 -1
  53. package/dist/middleware/builtin/file-upload.d.ts +2 -0
  54. package/dist/middleware/builtin/file-upload.d.ts.map +1 -1
  55. package/dist/middleware/builtin/rate-limit.d.ts +9 -1
  56. package/dist/middleware/builtin/rate-limit.d.ts.map +1 -1
  57. package/dist/queue/service.d.ts +2 -2
  58. package/dist/queue/service.d.ts.map +1 -1
  59. package/dist/queue/types.d.ts +25 -1
  60. package/dist/queue/types.d.ts.map +1 -1
  61. package/dist/router/decorators.d.ts +1 -2
  62. package/dist/router/decorators.d.ts.map +1 -1
  63. package/dist/security/guards/types.d.ts +1 -0
  64. package/dist/security/guards/types.d.ts.map +1 -1
  65. package/dist/security/types.d.ts +1 -1
  66. package/dist/security/types.d.ts.map +1 -1
  67. package/dist/session/types.d.ts +8 -0
  68. package/dist/session/types.d.ts.map +1 -1
  69. package/dist/swagger/decorators.d.ts +1 -1
  70. package/dist/swagger/decorators.d.ts.map +1 -1
  71. package/dist/swagger/types.d.ts +1 -1
  72. package/dist/swagger/types.d.ts.map +1 -1
  73. package/dist/testing/harness.d.ts +1 -1
  74. package/dist/testing/harness.d.ts.map +1 -1
  75. package/dist/testing/test-client.d.ts +1 -1
  76. package/dist/testing/test-client.d.ts.map +1 -1
  77. package/dist/testing/testing-module.d.ts +2 -2
  78. package/dist/testing/testing-module.d.ts.map +1 -1
  79. package/dist/validation/errors.d.ts +5 -1
  80. package/dist/validation/errors.d.ts.map +1 -1
  81. package/docs/microservice-config-center.md +2 -1
  82. package/docs/microservice-nacos.md +32 -5
  83. package/docs/microservice-service-registry.md +3 -6
  84. package/docs/microservice.md +0 -3
  85. package/docs/zh/microservice-config-center.md +2 -1
  86. package/docs/zh/microservice-nacos.md +32 -5
  87. package/docs/zh/microservice-service-registry.md +3 -6
  88. package/docs/zh/microservice.md +0 -3
  89. package/package.json +4 -4
  90. package/src/ai/types.ts +5 -0
  91. package/src/auth/types.ts +4 -1
  92. package/src/cache/interceptors.ts +6 -6
  93. package/src/cache/service-proxy.ts +2 -2
  94. package/src/cache/service.ts +17 -8
  95. package/src/cache/types.ts +12 -12
  96. package/src/config/service.ts +8 -6
  97. package/src/core/application.ts +7 -1
  98. package/src/core/context.ts +6 -3
  99. package/src/database/sqlite-adapter.ts +4 -3
  100. package/src/di/container.ts +13 -0
  101. package/src/di/module-registry.ts +2 -3
  102. package/src/di/module.ts +21 -2
  103. package/src/di/types.ts +1 -2
  104. package/src/error/handler.ts +3 -4
  105. package/src/error/http-exception.ts +11 -11
  106. package/src/error/index.ts +1 -1
  107. package/src/events/service.ts +4 -2
  108. package/src/events/types.ts +14 -3
  109. package/src/interceptor/base-interceptor.ts +5 -6
  110. package/src/interceptor/builtin/log-interceptor.ts +2 -3
  111. package/src/interceptor/builtin/permission-interceptor.ts +2 -3
  112. package/src/interceptor/interceptor-chain.ts +6 -7
  113. package/src/interceptor/interceptor-registry.ts +5 -3
  114. package/src/interceptor/types.ts +9 -4
  115. package/src/microservice/service-client/types.ts +1 -1
  116. package/src/microservice/tracing/tracer.ts +15 -3
  117. package/src/middleware/builtin/file-upload.ts +3 -2
  118. package/src/middleware/builtin/rate-limit.ts +22 -5
  119. package/src/queue/service.ts +1 -1
  120. package/src/queue/types.ts +40 -1
  121. package/src/router/decorators.ts +2 -3
  122. package/src/security/guards/types.ts +2 -1
  123. package/src/security/types.ts +1 -2
  124. package/src/session/service.ts +1 -1
  125. package/src/session/types.ts +10 -0
  126. package/src/swagger/decorators.ts +15 -4
  127. package/src/swagger/generator.ts +2 -3
  128. package/src/swagger/types.ts +1 -2
  129. package/src/testing/harness.ts +1 -2
  130. package/src/testing/test-client.ts +2 -2
  131. package/src/testing/testing-module.ts +5 -5
  132. package/src/validation/errors.ts +6 -2
  133. package/tests/bun-test-shim.d.ts +11 -0
  134. package/tests/controller/context-decorator.test.ts +1 -2
  135. package/tests/di/module.test.ts +199 -1
  136. package/tests/events/event-emitter.test.ts +2 -2
  137. package/tests/global.d.ts +30 -0
  138. package/tests/queue/queue-service.test.ts +14 -0
  139. package/tests/testing/testing-module.test.ts +20 -0
@@ -0,0 +1,30 @@
1
+ declare global {
2
+ interface Body {
3
+ json(): Promise<any>;
4
+ }
5
+
6
+ interface Response {
7
+ json(): Promise<any>;
8
+ }
9
+ }
10
+
11
+ declare module 'bun:test' {
12
+ export function expect(actual?: any): any;
13
+ export function mock(fn?: (...args: any[]) => any): any;
14
+
15
+ interface MatchersBuiltin<T = unknown> {
16
+ toBe(expected: any): void;
17
+ }
18
+
19
+ interface Matchers<T = unknown> {
20
+ toBe(expected: any): void;
21
+ }
22
+ }
23
+
24
+ declare module '@dangao/logsmith' {
25
+ interface LogEntry {
26
+ data?: unknown;
27
+ }
28
+ }
29
+
30
+ export {};
@@ -47,6 +47,16 @@ function createMockStore(): QueueStore {
47
47
  return first as Job<T> | undefined;
48
48
  },
49
49
 
50
+ async updateStatus(queueName: string, jobId: string, status: Job['status']): Promise<boolean> {
51
+ const job = queues.get(queueName)?.get(jobId);
52
+ if (!job) {
53
+ return false;
54
+ }
55
+ job.status = status;
56
+ job.updatedAt = Date.now();
57
+ return true;
58
+ },
59
+
50
60
  async complete(queueName: string, jobId: string, result?: any): Promise<boolean> {
51
61
  const job = queues.get(queueName)?.get(jobId);
52
62
  if (job) {
@@ -84,6 +94,10 @@ function createMockStore(): QueueStore {
84
94
  }
85
95
  return { waiting, active, completed, failed };
86
96
  },
97
+
98
+ async count(queueName: string): Promise<number> {
99
+ return queues.get(queueName)?.size ?? 0;
100
+ },
87
101
  };
88
102
  }
89
103
 
@@ -126,4 +126,24 @@ describe('TestingModule', () => {
126
126
  const greeter = module.get<Greeter>(GREETER_TOKEN);
127
127
  expect(greeter.greet('X')).toBe('Factory: X');
128
128
  });
129
+
130
+ test('should inject dependencies into provider factories', async () => {
131
+ const FACTORY_TOKEN = Symbol('FactoryGreeter');
132
+
133
+ const module = await Test.createTestingModule({
134
+ providers: [
135
+ { provide: GREETER_TOKEN, useClass: RealGreeter },
136
+ {
137
+ provide: FACTORY_TOKEN,
138
+ useFactory: (greeter: Greeter) => ({
139
+ greet: (name: string) => greeter.greet(name).toUpperCase(),
140
+ }),
141
+ inject: [GREETER_TOKEN],
142
+ },
143
+ ],
144
+ }).compile();
145
+
146
+ const greeter = module.get<Greeter>(FACTORY_TOKEN);
147
+ expect(greeter.greet('Test')).toBe('HELLO, TEST!');
148
+ });
129
149
  });