@hg-ts/redis 0.1.17

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 (211) hide show
  1. package/.eslintcache +1 -0
  2. package/.eslintrc.json +1 -0
  3. package/.nyc_output/089b21aa-e535-4b85-ae33-c883bb354098.json +1 -0
  4. package/.nyc_output/3e07cb8f-5adb-4386-8f08-9568a8f6b6fe.json +1 -0
  5. package/.nyc_output/84fba1cd-e0a1-4b6f-9061-44e27d7310d3.json +1 -0
  6. package/.nyc_output/processinfo/089b21aa-e535-4b85-ae33-c883bb354098.json +1 -0
  7. package/.nyc_output/processinfo/3e07cb8f-5adb-4386-8f08-9568a8f6b6fe.json +1 -0
  8. package/.nyc_output/processinfo/84fba1cd-e0a1-4b6f-9061-44e27d7310d3.json +1 -0
  9. package/.nyc_output/processinfo/index.json +1 -0
  10. package/dist/config.d.ts +31 -0
  11. package/dist/config.d.ts.map +1 -0
  12. package/dist/config.js +18 -0
  13. package/dist/config.js.map +1 -0
  14. package/dist/index.d.ts +1 -0
  15. package/dist/index.d.ts.map +1 -0
  16. package/dist/index.js +2 -0
  17. package/dist/index.js.map +1 -0
  18. package/dist/redis.module.d.ts +6 -0
  19. package/dist/redis.module.d.ts.map +1 -0
  20. package/dist/redis.module.js +37 -0
  21. package/dist/redis.module.js.map +1 -0
  22. package/dist-esm/base.handler-map.d.ts +13 -0
  23. package/dist-esm/base.handler-map.d.ts.map +1 -0
  24. package/dist-esm/base.handler-map.js +24 -0
  25. package/dist-esm/base.handler-map.js.map +1 -0
  26. package/dist-esm/base.server.d.ts +25 -0
  27. package/dist-esm/base.server.d.ts.map +1 -0
  28. package/dist-esm/base.server.js +51 -0
  29. package/dist-esm/base.server.js.map +1 -0
  30. package/dist-esm/config.d.ts +31 -0
  31. package/dist-esm/config.d.ts.map +1 -0
  32. package/dist-esm/config.js +13 -0
  33. package/dist-esm/config.js.map +1 -0
  34. package/dist-esm/controller-explorer.service.d.ts +10 -0
  35. package/dist-esm/controller-explorer.service.d.ts.map +1 -0
  36. package/dist-esm/controller-explorer.service.js +23 -0
  37. package/dist-esm/controller-explorer.service.js.map +1 -0
  38. package/dist-esm/controller.caller.d.ts +9 -0
  39. package/dist-esm/controller.caller.d.ts.map +1 -0
  40. package/dist-esm/controller.caller.js +41 -0
  41. package/dist-esm/controller.caller.js.map +1 -0
  42. package/dist-esm/controllers/controller-explorer.service.d.ts +10 -0
  43. package/dist-esm/controllers/controller-explorer.service.d.ts.map +1 -0
  44. package/dist-esm/controllers/controller-explorer.service.js +23 -0
  45. package/dist-esm/controllers/controller-explorer.service.js.map +1 -0
  46. package/dist-esm/controllers/controller.caller.d.ts +9 -0
  47. package/dist-esm/controllers/controller.caller.d.ts.map +1 -0
  48. package/dist-esm/controllers/controller.caller.js +41 -0
  49. package/dist-esm/controllers/controller.caller.js.map +1 -0
  50. package/dist-esm/controllers/index.d.ts +3 -0
  51. package/dist-esm/controllers/index.d.ts.map +1 -0
  52. package/dist-esm/controllers/index.js +3 -0
  53. package/dist-esm/controllers/index.js.map +1 -0
  54. package/dist-esm/decorators/context.decorator.d.ts +2 -0
  55. package/dist-esm/decorators/context.decorator.d.ts.map +1 -0
  56. package/dist-esm/decorators/context.decorator.js +3 -0
  57. package/dist-esm/decorators/context.decorator.js.map +1 -0
  58. package/dist-esm/decorators/controller.decorator.d.ts +7 -0
  59. package/dist-esm/decorators/controller.decorator.d.ts.map +1 -0
  60. package/dist-esm/decorators/controller.decorator.js +27 -0
  61. package/dist-esm/decorators/controller.decorator.js.map +1 -0
  62. package/dist-esm/decorators/create-param-decorator.d.ts +14 -0
  63. package/dist-esm/decorators/create-param-decorator.d.ts.map +1 -0
  64. package/dist-esm/decorators/create-param-decorator.js +26 -0
  65. package/dist-esm/decorators/create-param-decorator.js.map +1 -0
  66. package/dist-esm/decorators/index.d.ts +5 -0
  67. package/dist-esm/decorators/index.d.ts.map +1 -0
  68. package/dist-esm/decorators/index.js +5 -0
  69. package/dist-esm/decorators/index.js.map +1 -0
  70. package/dist-esm/decorators/middleware-data.decorator.d.ts +2 -0
  71. package/dist-esm/decorators/middleware-data.decorator.d.ts.map +1 -0
  72. package/dist-esm/decorators/middleware-data.decorator.js +3 -0
  73. package/dist-esm/decorators/middleware-data.decorator.js.map +1 -0
  74. package/dist-esm/execution-context/execution-context.d.ts +38 -0
  75. package/dist-esm/execution-context/execution-context.d.ts.map +1 -0
  76. package/dist-esm/execution-context/execution-context.js +69 -0
  77. package/dist-esm/execution-context/execution-context.js.map +1 -0
  78. package/dist-esm/execution-context/execution-context.provider.d.ts +5 -0
  79. package/dist-esm/execution-context/execution-context.provider.d.ts.map +1 -0
  80. package/dist-esm/execution-context/execution-context.provider.js +4 -0
  81. package/dist-esm/execution-context/execution-context.provider.js.map +1 -0
  82. package/dist-esm/execution-context/index.d.ts +3 -0
  83. package/dist-esm/execution-context/index.d.ts.map +1 -0
  84. package/dist-esm/execution-context/index.js +3 -0
  85. package/dist-esm/execution-context/index.js.map +1 -0
  86. package/dist-esm/index.d.ts +1 -0
  87. package/dist-esm/index.d.ts.map +1 -0
  88. package/dist-esm/index.js +2 -0
  89. package/dist-esm/index.js.map +1 -0
  90. package/dist-esm/map-to-observable.d.ts +5 -0
  91. package/dist-esm/map-to-observable.d.ts.map +1 -0
  92. package/dist-esm/map-to-observable.js +32 -0
  93. package/dist-esm/map-to-observable.js.map +1 -0
  94. package/dist-esm/redis.module.d.ts +6 -0
  95. package/dist-esm/redis.module.d.ts.map +1 -0
  96. package/dist-esm/redis.module.js +34 -0
  97. package/dist-esm/redis.module.js.map +1 -0
  98. package/dist-esm/request.handler.d.ts +6 -0
  99. package/dist-esm/request.handler.d.ts.map +1 -0
  100. package/dist-esm/request.handler.js +14 -0
  101. package/dist-esm/request.handler.js.map +1 -0
  102. package/dist-esm/server/base.handler-map.d.ts +13 -0
  103. package/dist-esm/server/base.handler-map.d.ts.map +1 -0
  104. package/dist-esm/server/base.handler-map.js +24 -0
  105. package/dist-esm/server/base.handler-map.js.map +1 -0
  106. package/dist-esm/server/base.server.d.ts +25 -0
  107. package/dist-esm/server/base.server.d.ts.map +1 -0
  108. package/dist-esm/server/base.server.js +51 -0
  109. package/dist-esm/server/base.server.js.map +1 -0
  110. package/dist-esm/server/index.d.ts +4 -0
  111. package/dist-esm/server/index.d.ts.map +1 -0
  112. package/dist-esm/server/index.js +4 -0
  113. package/dist-esm/server/index.js.map +1 -0
  114. package/dist-esm/server/request.handler.d.ts +6 -0
  115. package/dist-esm/server/request.handler.d.ts.map +1 -0
  116. package/dist-esm/server/request.handler.js +14 -0
  117. package/dist-esm/server/request.handler.js.map +1 -0
  118. package/dist-esm/server.module.d.ts +3 -0
  119. package/dist-esm/server.module.d.ts.map +1 -0
  120. package/dist-esm/server.module.js +25 -0
  121. package/dist-esm/server.module.js.map +1 -0
  122. package/dist-esm/tests/controllers/consts.d.ts +2 -0
  123. package/dist-esm/tests/controllers/consts.d.ts.map +1 -0
  124. package/dist-esm/tests/controllers/consts.js +2 -0
  125. package/dist-esm/tests/controllers/consts.js.map +1 -0
  126. package/dist-esm/tests/controllers/controller.test-suite.d.ts +9 -0
  127. package/dist-esm/tests/controllers/controller.test-suite.d.ts.map +1 -0
  128. package/dist-esm/tests/controllers/controller.test-suite.js +78 -0
  129. package/dist-esm/tests/controllers/controller.test-suite.js.map +1 -0
  130. package/dist-esm/tests/controllers/test.controller.d.ts +7 -0
  131. package/dist-esm/tests/controllers/test.controller.d.ts.map +1 -0
  132. package/dist-esm/tests/controllers/test.controller.js +32 -0
  133. package/dist-esm/tests/controllers/test.controller.js.map +1 -0
  134. package/dist-esm/tests/controllers/test.execution-context.d.ts +5 -0
  135. package/dist-esm/tests/controllers/test.execution-context.d.ts.map +1 -0
  136. package/dist-esm/tests/controllers/test.execution-context.js +7 -0
  137. package/dist-esm/tests/controllers/test.execution-context.js.map +1 -0
  138. package/dist-esm/tests/server/server.test-suite.d.ts +11 -0
  139. package/dist-esm/tests/server/server.test-suite.d.ts.map +1 -0
  140. package/dist-esm/tests/server/server.test-suite.js +42 -0
  141. package/dist-esm/tests/server/server.test-suite.js.map +1 -0
  142. package/dist-esm/tests/server/test-handler.decorator.d.ts +6 -0
  143. package/dist-esm/tests/server/test-handler.decorator.d.ts.map +1 -0
  144. package/dist-esm/tests/server/test-handler.decorator.js +15 -0
  145. package/dist-esm/tests/server/test-handler.decorator.js.map +1 -0
  146. package/dist-esm/tests/server/test.body.d.ts +2 -0
  147. package/dist-esm/tests/server/test.body.d.ts.map +1 -0
  148. package/dist-esm/tests/server/test.body.js +3 -0
  149. package/dist-esm/tests/server/test.body.js.map +1 -0
  150. package/dist-esm/tests/server/test.controller.d.ts +4 -0
  151. package/dist-esm/tests/server/test.controller.d.ts.map +1 -0
  152. package/dist-esm/tests/server/test.controller.js +21 -0
  153. package/dist-esm/tests/server/test.controller.js.map +1 -0
  154. package/dist-esm/tests/server/test.execution-context.d.ts +6 -0
  155. package/dist-esm/tests/server/test.execution-context.d.ts.map +1 -0
  156. package/dist-esm/tests/server/test.execution-context.js +7 -0
  157. package/dist-esm/tests/server/test.execution-context.js.map +1 -0
  158. package/dist-esm/tests/server/test.handler-map.d.ts +14 -0
  159. package/dist-esm/tests/server/test.handler-map.d.ts.map +1 -0
  160. package/dist-esm/tests/server/test.handler-map.js +12 -0
  161. package/dist-esm/tests/server/test.handler-map.js.map +1 -0
  162. package/dist-esm/tests/server/test.module.d.ts +3 -0
  163. package/dist-esm/tests/server/test.module.d.ts.map +1 -0
  164. package/dist-esm/tests/server/test.module.js +15 -0
  165. package/dist-esm/tests/server/test.module.js.map +1 -0
  166. package/dist-esm/tests/server/test.server.d.ts +17 -0
  167. package/dist-esm/tests/server/test.server.d.ts.map +1 -0
  168. package/dist-esm/tests/server/test.server.js +39 -0
  169. package/dist-esm/tests/server/test.server.js.map +1 -0
  170. package/dist-esm/tests/server.test-suite.d.ts +11 -0
  171. package/dist-esm/tests/server.test-suite.d.ts.map +1 -0
  172. package/dist-esm/tests/server.test-suite.js +42 -0
  173. package/dist-esm/tests/server.test-suite.js.map +1 -0
  174. package/dist-esm/tests/test-handler.decorator.d.ts +6 -0
  175. package/dist-esm/tests/test-handler.decorator.d.ts.map +1 -0
  176. package/dist-esm/tests/test-handler.decorator.js +15 -0
  177. package/dist-esm/tests/test-handler.decorator.js.map +1 -0
  178. package/dist-esm/tests/test.body.d.ts +2 -0
  179. package/dist-esm/tests/test.body.d.ts.map +1 -0
  180. package/dist-esm/tests/test.body.js +3 -0
  181. package/dist-esm/tests/test.body.js.map +1 -0
  182. package/dist-esm/tests/test.controller.d.ts +4 -0
  183. package/dist-esm/tests/test.controller.d.ts.map +1 -0
  184. package/dist-esm/tests/test.controller.js +21 -0
  185. package/dist-esm/tests/test.controller.js.map +1 -0
  186. package/dist-esm/tests/test.execution-context.d.ts +6 -0
  187. package/dist-esm/tests/test.execution-context.d.ts.map +1 -0
  188. package/dist-esm/tests/test.execution-context.js +7 -0
  189. package/dist-esm/tests/test.execution-context.js.map +1 -0
  190. package/dist-esm/tests/test.handler-map.d.ts +14 -0
  191. package/dist-esm/tests/test.handler-map.d.ts.map +1 -0
  192. package/dist-esm/tests/test.handler-map.js +12 -0
  193. package/dist-esm/tests/test.handler-map.js.map +1 -0
  194. package/dist-esm/tests/test.module.d.ts +3 -0
  195. package/dist-esm/tests/test.module.d.ts.map +1 -0
  196. package/dist-esm/tests/test.module.js +15 -0
  197. package/dist-esm/tests/test.module.js.map +1 -0
  198. package/dist-esm/tests/test.server.d.ts +18 -0
  199. package/dist-esm/tests/test.server.d.ts.map +1 -0
  200. package/dist-esm/tests/test.server.js +39 -0
  201. package/dist-esm/tests/test.server.js.map +1 -0
  202. package/dist-esm/utils.d.ts +5 -0
  203. package/dist-esm/utils.d.ts.map +1 -0
  204. package/dist-esm/utils.js +32 -0
  205. package/dist-esm/utils.js.map +1 -0
  206. package/package.json +47 -0
  207. package/src/config.ts +13 -0
  208. package/src/index.ts +0 -0
  209. package/src/redis.module.ts +40 -0
  210. package/tsconfig.esm.json +9 -0
  211. package/tsconfig.json +9 -0
@@ -0,0 +1,78 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { Describe, Test, TestSuite, expect, } from '@hg-ts/tests';
3
+ import { getControllerHandlers, getHandlerArguments, isController, } from '../../decorators';
4
+ import { ExecutionContext } from '../../execution-context';
5
+ import { TEST_TRANSPORT } from './consts';
6
+ import { TestController, HANDLERS_COUNT } from './test.controller';
7
+ import { TestExecutionContext } from './test.execution-context';
8
+ let ControllerTestSuite = class ControllerTestSuite extends TestSuite {
9
+ async isController() {
10
+ expect(isController(TestController, TEST_TRANSPORT)).toBe(true);
11
+ }
12
+ async isControllerWithIncorrectTransport() {
13
+ const UNKNOWN_TRANSPORT = Symbol('UNKNOWN_TRANSPORT');
14
+ expect(isController(TestController, UNKNOWN_TRANSPORT)).toBe(false);
15
+ }
16
+ async getHandlers() {
17
+ const controller = new TestController();
18
+ const handlers = getControllerHandlers(controller);
19
+ expect(handlers.size).toBe(HANDLERS_COUNT);
20
+ expect(handlers.has('noop')).toBe(true);
21
+ expect(handlers.has('echo')).toBe(true);
22
+ }
23
+ async getEmptyArguments() {
24
+ const controller = new TestController();
25
+ const args = getHandlerArguments(controller, 'noop');
26
+ expect(args.size).toBe(0);
27
+ }
28
+ async getEchoArguments() {
29
+ const controller = new TestController();
30
+ const args = getHandlerArguments(controller, 'echo');
31
+ expect(args.size).toBe(1);
32
+ expect(args.has(1)).toBe(true);
33
+ const argumentInfo = args.get(1);
34
+ expect(argumentInfo.metaType).toBeInstanceOf(Function);
35
+ expect(argumentInfo.metaType.prototype).toBeInstanceOf(ExecutionContext);
36
+ const executionContext = new TestExecutionContext({
37
+ instance: controller,
38
+ method: 'echo',
39
+ data: 'some data',
40
+ });
41
+ expect(argumentInfo.factory(executionContext)).toBe(executionContext);
42
+ }
43
+ };
44
+ __decorate([
45
+ Test(),
46
+ __metadata("design:type", Function),
47
+ __metadata("design:paramtypes", []),
48
+ __metadata("design:returntype", Promise)
49
+ ], ControllerTestSuite.prototype, "isController", null);
50
+ __decorate([
51
+ Test(),
52
+ __metadata("design:type", Function),
53
+ __metadata("design:paramtypes", []),
54
+ __metadata("design:returntype", Promise)
55
+ ], ControllerTestSuite.prototype, "isControllerWithIncorrectTransport", null);
56
+ __decorate([
57
+ Test(),
58
+ __metadata("design:type", Function),
59
+ __metadata("design:paramtypes", []),
60
+ __metadata("design:returntype", Promise)
61
+ ], ControllerTestSuite.prototype, "getHandlers", null);
62
+ __decorate([
63
+ Test(),
64
+ __metadata("design:type", Function),
65
+ __metadata("design:paramtypes", []),
66
+ __metadata("design:returntype", Promise)
67
+ ], ControllerTestSuite.prototype, "getEmptyArguments", null);
68
+ __decorate([
69
+ Test(),
70
+ __metadata("design:type", Function),
71
+ __metadata("design:paramtypes", []),
72
+ __metadata("design:returntype", Promise)
73
+ ], ControllerTestSuite.prototype, "getEchoArguments", null);
74
+ ControllerTestSuite = __decorate([
75
+ Describe()
76
+ ], ControllerTestSuite);
77
+ export { ControllerTestSuite };
78
+ //# sourceMappingURL=controller.test-suite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controller.test-suite.js","sourceRoot":"","sources":["../../../src/tests/controllers/controller.test-suite.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { TestExecutionContext } from './test.execution-context';
2
+ export declare const HANDLERS_COUNT = 2;
3
+ export declare class TestController {
4
+ noop(): Promise<void>;
5
+ echo(_noDecoratedArgument: unknown, _context: TestExecutionContext): Promise<void>;
6
+ }
7
+ //# sourceMappingURL=test.controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.controller.d.ts","sourceRoot":"","sources":["../../../src/tests/controllers/test.controller.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAMhE,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC,qBACa,cAAc;IAEb,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAKrB,IAAI,CAAC,oBAAoB,EAAE,OAAO,EAAa,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;CAG1G"}
@@ -0,0 +1,32 @@
1
+ import { __decorate, __metadata, __param } from "tslib";
2
+ import { addControllerHandler, Context, Controller, } from '../../decorators';
3
+ import { TEST_TRANSPORT } from './consts';
4
+ import { TestExecutionContext } from './test.execution-context';
5
+ const TestHandler = (target, propertyKey, _descriptor) => {
6
+ addControllerHandler(target, propertyKey);
7
+ };
8
+ export const HANDLERS_COUNT = 2;
9
+ let TestController = class TestController {
10
+ async noop() {
11
+ }
12
+ async echo(_noDecoratedArgument, _context) {
13
+ }
14
+ };
15
+ __decorate([
16
+ TestHandler,
17
+ __metadata("design:type", Function),
18
+ __metadata("design:paramtypes", []),
19
+ __metadata("design:returntype", Promise)
20
+ ], TestController.prototype, "noop", null);
21
+ __decorate([
22
+ TestHandler,
23
+ __param(1, Context()),
24
+ __metadata("design:type", Function),
25
+ __metadata("design:paramtypes", [Object, TestExecutionContext]),
26
+ __metadata("design:returntype", Promise)
27
+ ], TestController.prototype, "echo", null);
28
+ TestController = __decorate([
29
+ Controller(TEST_TRANSPORT)
30
+ ], TestController);
31
+ export { TestController };
32
+ //# sourceMappingURL=test.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.controller.js","sourceRoot":"","sources":["../../../src/tests/controllers/test.controller.ts"],"names":[],"mappings":";AAAA,OAAO,EACN,oBAAoB,EACpB,OAAO,EACP,UAAU,GACV,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,MAAM,WAAW,GAAoB,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE;IACzE,oBAAoB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAC3C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAGzB,IAAM,cAAc,GAApB,MAAM,cAAc;IAEb,AAAN,KAAK,CAAC,IAAI;IAEjB,CAAC;IAGY,AAAN,KAAK,CAAC,IAAI,CAAC,oBAA6B,EAAa,QAA8B;IAE1F,CAAC;CACD,CAAA;AARa;IADZ,WAAW;;;;0CAGX;AAGY;IADZ,WAAW;IACsC,WAAA,OAAO,EAAE,CAAA;;6CAAW,oBAAoB;;0CAEzF;AATW,cAAc;IAD1B,UAAU,CAAC,cAAc,CAAC;GACd,cAAc,CAU1B"}
@@ -0,0 +1,5 @@
1
+ import { CallType, ExecutionContext } from '../../execution-context';
2
+ export declare class TestExecutionContext extends ExecutionContext {
3
+ protected callType(): CallType;
4
+ }
5
+ //# sourceMappingURL=test.execution-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.execution-context.d.ts","sourceRoot":"","sources":["../../../src/tests/controllers/test.execution-context.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,QAAQ,EACR,gBAAgB,EAChB,MAAM,yBAAyB,CAAC;AAEjC,qBAAa,oBAAqB,SAAQ,gBAAgB;IACzD,SAAS,CAAC,QAAQ,IAAI,QAAQ;CAG9B"}
@@ -0,0 +1,7 @@
1
+ import { CallType, ExecutionContext, } from '../../execution-context';
2
+ export class TestExecutionContext extends ExecutionContext {
3
+ callType() {
4
+ return CallType.RPC;
5
+ }
6
+ }
7
+ //# sourceMappingURL=test.execution-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.execution-context.js","sourceRoot":"","sources":["../../../src/tests/controllers/test.execution-context.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,QAAQ,EACR,gBAAgB,GAChB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,OAAO,oBAAqB,SAAQ,gBAAgB;IAC/C,QAAQ;QACjB,OAAO,QAAQ,CAAC,GAAG,CAAC;IACrB,CAAC;CACD"}
@@ -0,0 +1,11 @@
1
+ import { TestSuite } from '@hg-ts/tests';
2
+ import { TestContainer } from '@hg-ts/ioc';
3
+ import { TestServer } from './test.server';
4
+ export declare class ServerTestSuite extends TestSuite {
5
+ protected server: TestServer;
6
+ protected container: TestContainer;
7
+ test(): Promise<void>;
8
+ beforeEach(): Promise<void>;
9
+ afterEach(): Promise<void>;
10
+ }
11
+ //# sourceMappingURL=server.test-suite.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.test-suite.d.ts","sourceRoot":"","sources":["../../../src/tests/server/server.test-suite.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,SAAS,EAGT,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,qBACa,eAAgB,SAAQ,SAAS;IAC7C,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC;IAC7B,SAAS,CAAC,SAAS,EAAE,aAAa,CAAC;IAGtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAeZ,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAS3B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CAIhD"}
@@ -0,0 +1,42 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { Describe, TestSuite, Test, expect, } from '@hg-ts/tests';
3
+ import { TestContainer } from '@hg-ts/ioc';
4
+ import { TestModule } from './test.module';
5
+ import { TestServer } from './test.server';
6
+ let ServerTestSuite = class ServerTestSuite extends TestSuite {
7
+ server;
8
+ container;
9
+ async test() {
10
+ const data = Math.random();
11
+ const response = await new Promise((resolve, reject) => {
12
+ this.server.request({
13
+ data,
14
+ key: 'echo',
15
+ response: resolve,
16
+ error: reject,
17
+ });
18
+ });
19
+ expect(response).toBe(data);
20
+ }
21
+ async beforeEach() {
22
+ this.container = await TestContainer.create(TestModule);
23
+ await this.container.init();
24
+ await this.container.start();
25
+ this.server = this.container.get(TestServer);
26
+ }
27
+ async afterEach() {
28
+ await this.container.destroy();
29
+ await this.container.shutdown();
30
+ }
31
+ };
32
+ __decorate([
33
+ Test(),
34
+ __metadata("design:type", Function),
35
+ __metadata("design:paramtypes", []),
36
+ __metadata("design:returntype", Promise)
37
+ ], ServerTestSuite.prototype, "test", null);
38
+ ServerTestSuite = __decorate([
39
+ Describe()
40
+ ], ServerTestSuite);
41
+ export { ServerTestSuite };
42
+ //# sourceMappingURL=server.test-suite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.test-suite.js","sourceRoot":"","sources":["../../../src/tests/server/server.test-suite.ts"],"names":[],"mappings":";AAAA,OAAO,EACN,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,MAAM,GACN,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGpC,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,SAAS;IACnC,MAAM,CAAa;IACnB,SAAS,CAAgB;IAGtB,AAAN,KAAK,CAAC,IAAI;QAChB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAE3B,MAAM,QAAQ,GAAG,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;gBACnB,IAAI;gBACJ,GAAG,EAAE,MAAM;gBACX,QAAQ,EAAE,OAAO;gBACjB,KAAK,EAAE,MAAM;aACb,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAEe,KAAK,CAAC,UAAU;QAC/B,IAAI,CAAC,SAAS,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAExD,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC5B,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QAE7B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;IAEe,KAAK,CAAC,SAAS;QAC9B,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QAC/B,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;CACD,CAAA;AA5Ba;IADZ,IAAI,EAAE;;;;2CAcN;AAlBW,eAAe;IAD3B,QAAQ,EAAE;GACE,eAAe,CAiC3B"}
@@ -0,0 +1,6 @@
1
+ /// <reference types="@hg-ts/types" />
2
+ export type TestHandlerKey = RegExp | string;
3
+ export declare const TEST_TRANSPORT: unique symbol;
4
+ export declare function TestHandler(mask?: TestHandlerKey): MethodDecorator;
5
+ export declare function getTestHandlerKey(target: object, propertyKey: string | symbol): Nullable<RegExp | string>;
6
+ //# sourceMappingURL=test-handler.decorator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-handler.decorator.d.ts","sourceRoot":"","sources":["../../../src/tests/server/test-handler.decorator.ts"],"names":[],"mappings":";AAIA,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,CAAC;AAE7C,eAAO,MAAM,cAAc,eAA2B,CAAC;AAEvD,wBAAgB,WAAW,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,eAAe,CASlE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,CAEzG"}
@@ -0,0 +1,15 @@
1
+ import assert from 'node:assert/strict';
2
+ import { addControllerHandler } from '../../decorators';
3
+ export const TEST_TRANSPORT = Symbol('TEST_TRANSPORT');
4
+ export function TestHandler(mask) {
5
+ return (target, propertyKey) => {
6
+ const key = mask || propertyKey;
7
+ assert.ok(typeof key !== 'symbol');
8
+ addControllerHandler(target, propertyKey);
9
+ Reflect.defineMetadata(TEST_TRANSPORT, key, target, propertyKey);
10
+ };
11
+ }
12
+ export function getTestHandlerKey(target, propertyKey) {
13
+ return Reflect.getMetadata(TEST_TRANSPORT, target, propertyKey) ?? null;
14
+ }
15
+ //# sourceMappingURL=test-handler.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-handler.decorator.js","sourceRoot":"","sources":["../../../src/tests/server/test-handler.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAExC,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAIxD,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAEvD,MAAM,UAAU,WAAW,CAAC,IAAqB;IAChD,OAAO,CAAC,MAAM,EAAE,WAAW,EAAQ,EAAE;QACpC,MAAM,GAAG,GAAG,IAAI,IAAI,WAAW,CAAC;QAChC,MAAM,CAAC,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC;QAEnC,oBAAoB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAE1C,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAClE,CAAC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,WAA4B;IAC7E,OAAO,OAAO,CAAC,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,IAAI,CAAC;AACzE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const TestBody: () => ParameterDecorator;
2
+ //# sourceMappingURL=test.body.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.body.d.ts","sourceRoot":"","sources":["../../../src/tests/server/test.body.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,QAAQ,0BAA8E,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { createParamDecorator } from '../../decorators';
2
+ export const TestBody = createParamDecorator((context) => context.data.data);
3
+ //# sourceMappingURL=test.body.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.body.js","sourceRoot":"","sources":["../../../src/tests/server/test.body.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAGxD,MAAM,CAAC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,CAAC,OAA6B,EAAE,EAAE,CAAC,OAAO,CAAC,IAAK,CAAC,IAAI,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare class TestController {
2
+ echo(data: unknown): Promise<unknown>;
3
+ }
4
+ //# sourceMappingURL=test.controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.controller.d.ts","sourceRoot":"","sources":["../../../src/tests/server/test.controller.ts"],"names":[],"mappings":"AAQA,qBACa,cAAc;IAEb,IAAI,CACJ,IAAI,EAAE,OAAO,GACvB,OAAO,CAAC,OAAO,CAAC;CAGnB"}
@@ -0,0 +1,21 @@
1
+ import { __decorate, __metadata, __param } from "tslib";
2
+ import { Controller } from '../../decorators';
3
+ import { TEST_TRANSPORT, TestHandler, } from './test-handler.decorator';
4
+ import { TestBody } from './test.body';
5
+ let TestController = class TestController {
6
+ async echo(data) {
7
+ return data;
8
+ }
9
+ };
10
+ __decorate([
11
+ TestHandler(),
12
+ __param(0, TestBody()),
13
+ __metadata("design:type", Function),
14
+ __metadata("design:paramtypes", [Object]),
15
+ __metadata("design:returntype", Promise)
16
+ ], TestController.prototype, "echo", null);
17
+ TestController = __decorate([
18
+ Controller(TEST_TRANSPORT)
19
+ ], TestController);
20
+ export { TestController };
21
+ //# sourceMappingURL=test.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.controller.js","sourceRoot":"","sources":["../../../src/tests/server/test.controller.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EACN,cAAc,EACd,WAAW,GACX,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGhC,IAAM,cAAc,GAApB,MAAM,cAAc;IAEb,AAAN,KAAK,CAAC,IAAI,CACJ,IAAa;QAEzB,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAA;AALa;IADZ,WAAW,EAAE;IAEZ,WAAA,QAAQ,EAAE,CAAA;;;;0CAGX;AANW,cAAc;IAD1B,UAAU,CAAC,cAAc,CAAC;GACd,cAAc,CAO1B"}
@@ -0,0 +1,6 @@
1
+ import { CallType, ExecutionContext } from '../../execution-context';
2
+ import type { TestInput } from './test.handler-map';
3
+ export declare class TestExecutionContext extends ExecutionContext<TestInput> {
4
+ protected callType(): CallType;
5
+ }
6
+ //# sourceMappingURL=test.execution-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.execution-context.d.ts","sourceRoot":"","sources":["../../../src/tests/server/test.execution-context.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,QAAQ,EACR,gBAAgB,EAChB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,qBAAa,oBAAqB,SAAQ,gBAAgB,CAAC,SAAS,CAAC;IACpE,SAAS,CAAC,QAAQ,IAAI,QAAQ;CAG9B"}
@@ -0,0 +1,7 @@
1
+ import { CallType, ExecutionContext, } from '../../execution-context';
2
+ export class TestExecutionContext extends ExecutionContext {
3
+ callType() {
4
+ return CallType.RPC;
5
+ }
6
+ }
7
+ //# sourceMappingURL=test.execution-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.execution-context.js","sourceRoot":"","sources":["../../../src/tests/server/test.execution-context.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,QAAQ,EACR,gBAAgB,GAChB,MAAM,yBAAyB,CAAC;AAGjC,MAAM,OAAO,oBAAqB,SAAQ,gBAA2B;IAC1D,QAAQ;QACjB,OAAO,QAAQ,CAAC,GAAG,CAAC;IACrB,CAAC;CACD"}
@@ -0,0 +1,14 @@
1
+ /// <reference types="@hg-ts/types" />
2
+ import { BaseHandlersMap, GetHandlerParams } from '../../server';
3
+ import { TestHandlerKey } from './test-handler.decorator';
4
+ export type TestInput = {
5
+ key: string;
6
+ data: unknown;
7
+ response(data: unknown): void;
8
+ error(error: unknown): void;
9
+ };
10
+ export declare class TestHandlerMap extends BaseHandlersMap<TestHandlerKey, TestInput> {
11
+ getInputKey(input: TestInput): Nullable<string>;
12
+ protected getHandlerKey({ controller, method }: GetHandlerParams): Nullable<TestHandlerKey>;
13
+ }
14
+ //# sourceMappingURL=test.handler-map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.handler-map.d.ts","sourceRoot":"","sources":["../../../src/tests/server/test.handler-map.ts"],"names":[],"mappings":";AAAA,OAAO,EACN,eAAe,EACf,gBAAgB,EAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EAEN,cAAc,EACd,MAAM,0BAA0B,CAAC;AAElC,MAAM,MAAM,SAAS,GAAG;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9B,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;CAC5B,CAAC;AAEF,qBAAa,cAAe,SAAQ,eAAe,CAAC,cAAc,EAAE,SAAS,CAAC;IACtE,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC;IAGtD,SAAS,CAAC,aAAa,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,gBAAgB,GAAG,QAAQ,CAAC,cAAc,CAAC;CAK3F"}
@@ -0,0 +1,12 @@
1
+ import { BaseHandlersMap, } from '../../server';
2
+ import { getTestHandlerKey, } from './test-handler.decorator';
3
+ export class TestHandlerMap extends BaseHandlersMap {
4
+ getInputKey(input) {
5
+ return input.key;
6
+ }
7
+ getHandlerKey({ controller, method }) {
8
+ const controllerPrototype = Object.getPrototypeOf(controller);
9
+ return getTestHandlerKey(controllerPrototype, method);
10
+ }
11
+ }
12
+ //# sourceMappingURL=test.handler-map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.handler-map.js","sourceRoot":"","sources":["../../../src/tests/server/test.handler-map.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,eAAe,GAEf,MAAM,cAAc,CAAC;AACtB,OAAO,EACN,iBAAiB,GAEjB,MAAM,0BAA0B,CAAC;AASlC,MAAM,OAAO,cAAe,SAAQ,eAA0C;IACtE,WAAW,CAAC,KAAgB;QAClC,OAAO,KAAK,CAAC,GAAG,CAAC;IAClB,CAAC;IACS,aAAa,CAAC,EAAE,UAAU,EAAE,MAAM,EAAoB;QAC/D,MAAM,mBAAmB,GAAG,MAAM,CAAC,cAAc,CAAC,UAAU,CAAE,CAAC;QAE/D,OAAO,iBAAiB,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;IACvD,CAAC;CACD"}
@@ -0,0 +1,3 @@
1
+ export declare class TestModule {
2
+ }
3
+ //# sourceMappingURL=test.module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.module.d.ts","sourceRoot":"","sources":["../../../src/tests/server/test.module.ts"],"names":[],"mappings":"AAMA,qBAIa,UAAU;CAAG"}
@@ -0,0 +1,15 @@
1
+ import { __decorate } from "tslib";
2
+ import { Module } from '@hg-ts/ioc';
3
+ import { ServerModule } from '../../server.module';
4
+ import { TestController } from './test.controller';
5
+ import { TestServer } from './test.server';
6
+ let TestModule = class TestModule {
7
+ };
8
+ TestModule = __decorate([
9
+ Module({
10
+ imports: [ServerModule],
11
+ providers: [TestServer, TestController],
12
+ })
13
+ ], TestModule);
14
+ export { TestModule };
15
+ //# sourceMappingURL=test.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.module.js","sourceRoot":"","sources":["../../../src/tests/server/test.module.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAMpC,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAG,CAAA;AAAb,UAAU;IAJtB,MAAM,CAAC;QACP,OAAO,EAAE,CAAC,YAAY,CAAC;QACvB,SAAS,EAAE,CAAC,UAAU,EAAE,cAAc,CAAC;KACvC,CAAC;GACW,UAAU,CAAG"}
@@ -0,0 +1,17 @@
1
+ import { MonoTypeOperatorFunction, Observable, OperatorFunction } from 'rxjs';
2
+ import { GetHandlerParams, BaseServer } from '../../server';
3
+ import { TestHandlerKey } from './test-handler.decorator';
4
+ import { TestExecutionContext } from './test.execution-context';
5
+ import { TestHandlerMap, TestInput } from './test.handler-map';
6
+ export declare class TestServer extends BaseServer<TestHandlerKey, TestInput, TestExecutionContext> {
7
+ protected readonly handlersMap: TestHandlerMap;
8
+ private readonly subject;
9
+ request(data: TestInput): void;
10
+ protected getInputSteam(): Observable<TestInput>;
11
+ protected get transportKey(): symbol;
12
+ protected getFilterOperator(): MonoTypeOperatorFunction<TestInput>;
13
+ protected getHandlerResultOperator(): OperatorFunction<unknown, void>;
14
+ protected createContext(input: TestInput, info: GetHandlerParams): TestExecutionContext;
15
+ protected close(): Promise<void>;
16
+ }
17
+ //# sourceMappingURL=test.server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.server.d.ts","sourceRoot":"","sources":["../../../src/tests/server/test.server.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,wBAAwB,EACxB,UAAU,EAEV,gBAAgB,EAEhB,MAAM,MAAM,CAAC;AAEd,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE5D,OAAO,EAAkB,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EACN,cAAc,EACd,SAAS,EACT,MAAM,oBAAoB,CAAC;AAE5B,qBAAa,UAAW,SAAQ,UAAU,CAAC,cAAc,EAAE,SAAS,EAAE,oBAAoB,CAAC;IAC1F,SAAS,CAAC,QAAQ,CAAC,WAAW,iBAAwB;IACtD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IAE7C,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAIrC,SAAS,CAAC,aAAa,IAAI,UAAU,CAAC,SAAS,CAAC;IAIhD,SAAS,KAAK,YAAY,IAAI,MAAM,CAEnC;IAED,SAAS,CAAC,iBAAiB,IAAI,wBAAwB,CAAC,SAAS,CAAC;IAMlE,SAAS,CAAC,wBAAwB,IAAI,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC;IAWrE,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,GAAG,oBAAoB;cAQvE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAGtC"}
@@ -0,0 +1,39 @@
1
+ import { filter, mergeMap, of, Subject, } from 'rxjs';
2
+ import { BaseServer } from '../../server';
3
+ import { TEST_TRANSPORT } from './test-handler.decorator';
4
+ import { TestExecutionContext } from './test.execution-context';
5
+ import { TestHandlerMap, } from './test.handler-map';
6
+ export class TestServer extends BaseServer {
7
+ handlersMap = new TestHandlerMap();
8
+ subject = new Subject();
9
+ request(data) {
10
+ this.subject.next(data);
11
+ }
12
+ getInputSteam() {
13
+ return this.subject.asObservable();
14
+ }
15
+ get transportKey() {
16
+ return TEST_TRANSPORT;
17
+ }
18
+ getFilterOperator() {
19
+ return (source) => source.pipe(filter(input => this.handlersMap.hasInputKey(input)));
20
+ }
21
+ getHandlerResultOperator() {
22
+ return source => source.pipe(mergeMap(response => {
23
+ const { context } = this;
24
+ context.data?.response(response);
25
+ return of();
26
+ }));
27
+ }
28
+ createContext(input, info) {
29
+ return new TestExecutionContext({
30
+ instance: info.controller,
31
+ method: info.method,
32
+ data: input,
33
+ });
34
+ }
35
+ async close() {
36
+ this.subject.complete();
37
+ }
38
+ }
39
+ //# sourceMappingURL=test.server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.server.js","sourceRoot":"","sources":["../../../src/tests/server/test.server.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,MAAM,EACN,QAAQ,EAGR,EAAE,EAEF,OAAO,GACP,MAAM,MAAM,CAAC;AAEd,OAAO,EAAoB,UAAU,EAAE,MAAM,cAAc,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAkB,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EACN,cAAc,GAEd,MAAM,oBAAoB,CAAC;AAE5B,MAAM,OAAO,UAAW,SAAQ,UAA2D;IACvE,WAAW,GAAG,IAAI,cAAc,EAAE,CAAC;IACrC,OAAO,GAAG,IAAI,OAAO,EAAa,CAAC;IAE7C,OAAO,CAAC,IAAe;QAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAES,aAAa;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;IACpC,CAAC;IAED,IAAc,YAAY;QACzB,OAAO,cAAc,CAAC;IACvB,CAAC;IAES,iBAAiB;QAC1B,OAAO,CAAC,MAAM,EAAyB,EAAE,CAAC,MAAM,CAAC,IAAI,CACpD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CACpD,CAAC;IACH,CAAC;IAES,wBAAwB;QACjC,OAAO,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE;YACnB,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;YAEzB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACjC,OAAO,EAAE,EAAE,CAAC;QACb,CAAC,CAAC,CACF,CAAC;IACH,CAAC;IAES,aAAa,CAAC,KAAgB,EAAE,IAAsB;QAC/D,OAAO,IAAI,oBAAoB,CAAC;YAC/B,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,KAAK;SACX,CAAC,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,KAAK;QACpB,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;CACD"}
@@ -0,0 +1,11 @@
1
+ import { TestSuite } from '@hg-ts/tests';
2
+ import { TestContainer } from '@hg-ts/ioc';
3
+ import { TestServer } from './test.server';
4
+ export declare class ServerTestSuite extends TestSuite {
5
+ protected server: TestServer;
6
+ protected container: TestContainer;
7
+ test(): Promise<void>;
8
+ beforeEach(): Promise<void>;
9
+ afterEach(): Promise<void>;
10
+ }
11
+ //# sourceMappingURL=server.test-suite.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.test-suite.d.ts","sourceRoot":"","sources":["../../src/tests/server.test-suite.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,SAAS,EAGT,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,qBACa,eAAgB,SAAQ,SAAS;IAC7C,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC;IAC7B,SAAS,CAAC,SAAS,EAAE,aAAa,CAAC;IAGtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAeZ,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAS3B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CAIhD"}
@@ -0,0 +1,42 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { Describe, TestSuite, Test, expect, } from '@hg-ts/tests';
3
+ import { TestContainer } from '@hg-ts/ioc';
4
+ import { TestModule } from './test.module';
5
+ import { TestServer } from './test.server';
6
+ let ServerTestSuite = class ServerTestSuite extends TestSuite {
7
+ server;
8
+ container;
9
+ async test() {
10
+ const data = Math.random();
11
+ const response = await new Promise((resolve, reject) => {
12
+ this.server.request({
13
+ data,
14
+ key: 'echo',
15
+ response: resolve,
16
+ error: reject,
17
+ });
18
+ });
19
+ expect(response).toBe(data);
20
+ }
21
+ async beforeEach() {
22
+ this.container = await TestContainer.create(TestModule);
23
+ await this.container.init();
24
+ await this.container.start();
25
+ this.server = this.container.get(TestServer);
26
+ }
27
+ async afterEach() {
28
+ await this.container.destroy();
29
+ await this.container.shutdown();
30
+ }
31
+ };
32
+ __decorate([
33
+ Test(),
34
+ __metadata("design:type", Function),
35
+ __metadata("design:paramtypes", []),
36
+ __metadata("design:returntype", Promise)
37
+ ], ServerTestSuite.prototype, "test", null);
38
+ ServerTestSuite = __decorate([
39
+ Describe()
40
+ ], ServerTestSuite);
41
+ export { ServerTestSuite };
42
+ //# sourceMappingURL=server.test-suite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.test-suite.js","sourceRoot":"","sources":["../../src/tests/server.test-suite.ts"],"names":[],"mappings":";AAAA,OAAO,EACN,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,MAAM,GACN,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGpC,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,SAAS;IACnC,MAAM,CAAa;IACnB,SAAS,CAAgB;IAGtB,AAAN,KAAK,CAAC,IAAI;QAChB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAE3B,MAAM,QAAQ,GAAG,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;gBACnB,IAAI;gBACJ,GAAG,EAAE,MAAM;gBACX,QAAQ,EAAE,OAAO;gBACjB,KAAK,EAAE,MAAM;aACb,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAEe,KAAK,CAAC,UAAU;QAC/B,IAAI,CAAC,SAAS,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAExD,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC5B,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QAE7B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;IAEe,KAAK,CAAC,SAAS;QAC9B,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QAC/B,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;CACD,CAAA;AA5Ba;IADZ,IAAI,EAAE;;;;2CAcN;AAlBW,eAAe;IAD3B,QAAQ,EAAE;GACE,eAAe,CAiC3B"}
@@ -0,0 +1,6 @@
1
+ /// <reference types="@hg-ts/types" />
2
+ export type TestHandlerKey = RegExp | string;
3
+ export declare const TEST_TRANSPORT: unique symbol;
4
+ export declare function TestHandler(mask?: TestHandlerKey): MethodDecorator;
5
+ export declare function getTestHandlerKey(target: object, propertyKey: string | symbol): Nullable<RegExp | string>;
6
+ //# sourceMappingURL=test-handler.decorator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-handler.decorator.d.ts","sourceRoot":"","sources":["../../src/tests/test-handler.decorator.ts"],"names":[],"mappings":";AAIA,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,CAAC;AAE7C,eAAO,MAAM,cAAc,eAA2B,CAAC;AAEvD,wBAAgB,WAAW,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,eAAe,CASlE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,CAEzG"}
@@ -0,0 +1,15 @@
1
+ import assert from 'node:assert/strict';
2
+ import { addControllerHandler } from '@hg-ts/controllers';
3
+ export const TEST_TRANSPORT = Symbol('TEST_TRANSPORT');
4
+ export function TestHandler(mask) {
5
+ return (target, propertyKey) => {
6
+ const key = mask || propertyKey;
7
+ assert.ok(typeof key !== 'symbol');
8
+ addControllerHandler(target, propertyKey);
9
+ Reflect.defineMetadata(TEST_TRANSPORT, key, target, propertyKey);
10
+ };
11
+ }
12
+ export function getTestHandlerKey(target, propertyKey) {
13
+ return Reflect.getMetadata(TEST_TRANSPORT, target, propertyKey) ?? null;
14
+ }
15
+ //# sourceMappingURL=test-handler.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-handler.decorator.js","sourceRoot":"","sources":["../../src/tests/test-handler.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAExC,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAI1D,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAEvD,MAAM,UAAU,WAAW,CAAC,IAAqB;IAChD,OAAO,CAAC,MAAM,EAAE,WAAW,EAAQ,EAAE;QACpC,MAAM,GAAG,GAAG,IAAI,IAAI,WAAW,CAAC;QAChC,MAAM,CAAC,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC;QAEnC,oBAAoB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAE1C,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAClE,CAAC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,WAA4B;IAC7E,OAAO,OAAO,CAAC,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,IAAI,CAAC;AACzE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const TestBody: () => ParameterDecorator;
2
+ //# sourceMappingURL=test.body.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.body.d.ts","sourceRoot":"","sources":["../../src/tests/test.body.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,QAAQ,0BAA8E,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { createParamDecorator } from '@hg-ts/controllers';
2
+ export const TestBody = createParamDecorator((context) => context.data.data);
3
+ //# sourceMappingURL=test.body.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.body.js","sourceRoot":"","sources":["../../src/tests/test.body.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAG1D,MAAM,CAAC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,CAAC,OAA6B,EAAE,EAAE,CAAC,OAAO,CAAC,IAAK,CAAC,IAAI,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare class TestController {
2
+ echo(data: unknown): Promise<unknown>;
3
+ }
4
+ //# sourceMappingURL=test.controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.controller.d.ts","sourceRoot":"","sources":["../../src/tests/test.controller.ts"],"names":[],"mappings":"AAQA,qBACa,cAAc;IAEb,IAAI,CACJ,IAAI,EAAE,OAAO,GACvB,OAAO,CAAC,OAAO,CAAC;CAGnB"}
@@ -0,0 +1,21 @@
1
+ import { __decorate, __metadata, __param } from "tslib";
2
+ import { Controller } from '@hg-ts/controllers';
3
+ import { TEST_TRANSPORT, TestHandler, } from './test-handler.decorator';
4
+ import { TestBody } from './test.body';
5
+ let TestController = class TestController {
6
+ async echo(data) {
7
+ return data;
8
+ }
9
+ };
10
+ __decorate([
11
+ TestHandler(),
12
+ __param(0, TestBody()),
13
+ __metadata("design:type", Function),
14
+ __metadata("design:paramtypes", [Object]),
15
+ __metadata("design:returntype", Promise)
16
+ ], TestController.prototype, "echo", null);
17
+ TestController = __decorate([
18
+ Controller(TEST_TRANSPORT)
19
+ ], TestController);
20
+ export { TestController };
21
+ //# sourceMappingURL=test.controller.js.map