@tsed/socketio 8.0.0-alpha.5 → 8.0.0-alpha.6

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 (121) hide show
  1. package/lib/types/SocketIOModule.d.ts +2 -2
  2. package/package.json +17 -18
  3. package/lib/cjs/SocketIOModule.js +0 -111
  4. package/lib/cjs/SocketIOModule.js.map +0 -1
  5. package/lib/cjs/class/SocketHandlersBuilder.js +0 -218
  6. package/lib/cjs/class/SocketHandlersBuilder.js.map +0 -1
  7. package/lib/cjs/class/SocketProviderMetadata.js +0 -48
  8. package/lib/cjs/class/SocketProviderMetadata.js.map +0 -1
  9. package/lib/cjs/class/SocketSessionData.js +0 -73
  10. package/lib/cjs/class/SocketSessionData.js.map +0 -1
  11. package/lib/cjs/constants/constants.js +0 -5
  12. package/lib/cjs/constants/constants.js.map +0 -1
  13. package/lib/cjs/decorators/args.js +0 -61
  14. package/lib/cjs/decorators/args.js.map +0 -1
  15. package/lib/cjs/decorators/broadcast.js +0 -32
  16. package/lib/cjs/decorators/broadcast.js.map +0 -1
  17. package/lib/cjs/decorators/broadcastOthers.js +0 -32
  18. package/lib/cjs/decorators/broadcastOthers.js.map +0 -1
  19. package/lib/cjs/decorators/emit.js +0 -32
  20. package/lib/cjs/decorators/emit.js.map +0 -1
  21. package/lib/cjs/decorators/input.js +0 -37
  22. package/lib/cjs/decorators/input.js.map +0 -1
  23. package/lib/cjs/decorators/inputAndBroadcast.js +0 -32
  24. package/lib/cjs/decorators/inputAndBroadcast.js.map +0 -1
  25. package/lib/cjs/decorators/inputAndBroadcastOthers.js +0 -32
  26. package/lib/cjs/decorators/inputAndBroadcastOthers.js.map +0 -1
  27. package/lib/cjs/decorators/inputAndEmit.js +0 -32
  28. package/lib/cjs/decorators/inputAndEmit.js.map +0 -1
  29. package/lib/cjs/decorators/io.js +0 -13
  30. package/lib/cjs/decorators/io.js.map +0 -1
  31. package/lib/cjs/decorators/nsp.js +0 -96
  32. package/lib/cjs/decorators/nsp.js.map +0 -1
  33. package/lib/cjs/decorators/reason.js +0 -34
  34. package/lib/cjs/decorators/reason.js.map +0 -1
  35. package/lib/cjs/decorators/socket.js +0 -32
  36. package/lib/cjs/decorators/socket.js.map +0 -1
  37. package/lib/cjs/decorators/socketErr.js +0 -30
  38. package/lib/cjs/decorators/socketErr.js.map +0 -1
  39. package/lib/cjs/decorators/socketEventName.js +0 -30
  40. package/lib/cjs/decorators/socketEventName.js.map +0 -1
  41. package/lib/cjs/decorators/socketFilter.js +0 -29
  42. package/lib/cjs/decorators/socketFilter.js.map +0 -1
  43. package/lib/cjs/decorators/socketMiddleware.js +0 -74
  44. package/lib/cjs/decorators/socketMiddleware.js.map +0 -1
  45. package/lib/cjs/decorators/socketMiddlewareError.js +0 -71
  46. package/lib/cjs/decorators/socketMiddlewareError.js.map +0 -1
  47. package/lib/cjs/decorators/socketNsp.js +0 -33
  48. package/lib/cjs/decorators/socketNsp.js.map +0 -1
  49. package/lib/cjs/decorators/socketReturns.js +0 -27
  50. package/lib/cjs/decorators/socketReturns.js.map +0 -1
  51. package/lib/cjs/decorators/socketService.js +0 -24
  52. package/lib/cjs/decorators/socketService.js.map +0 -1
  53. package/lib/cjs/decorators/socketSession.js +0 -55
  54. package/lib/cjs/decorators/socketSession.js.map +0 -1
  55. package/lib/cjs/decorators/socketUseAfter.js +0 -74
  56. package/lib/cjs/decorators/socketUseAfter.js.map +0 -1
  57. package/lib/cjs/decorators/socketUseBefore.js +0 -78
  58. package/lib/cjs/decorators/socketUseBefore.js.map +0 -1
  59. package/lib/cjs/index.js +0 -45
  60. package/lib/cjs/index.js.map +0 -1
  61. package/lib/cjs/interfaces/OnNamespaceInit.js +0 -3
  62. package/lib/cjs/interfaces/OnNamespaceInit.js.map +0 -1
  63. package/lib/cjs/interfaces/SocketFilters.js +0 -19
  64. package/lib/cjs/interfaces/SocketFilters.js.map +0 -1
  65. package/lib/cjs/interfaces/SocketHandlerMetadata.js +0 -3
  66. package/lib/cjs/interfaces/SocketHandlerMetadata.js.map +0 -1
  67. package/lib/cjs/interfaces/SocketInjectableNsp.js +0 -3
  68. package/lib/cjs/interfaces/SocketInjectableNsp.js.map +0 -1
  69. package/lib/cjs/interfaces/SocketParamMetadata.js +0 -3
  70. package/lib/cjs/interfaces/SocketParamMetadata.js.map +0 -1
  71. package/lib/cjs/interfaces/SocketProviderTypes.js +0 -12
  72. package/lib/cjs/interfaces/SocketProviderTypes.js.map +0 -1
  73. package/lib/cjs/interfaces/SocketReturnsTypes.js +0 -13
  74. package/lib/cjs/interfaces/SocketReturnsTypes.js.map +0 -1
  75. package/lib/cjs/interfaces/interfaces.js +0 -3
  76. package/lib/cjs/interfaces/interfaces.js.map +0 -1
  77. package/lib/cjs/package.json +0 -3
  78. package/lib/cjs/services/SocketIOServer.js +0 -16
  79. package/lib/cjs/services/SocketIOServer.js.map +0 -1
  80. package/lib/cjs/services/SocketIOService.js +0 -66
  81. package/lib/cjs/services/SocketIOService.js.map +0 -1
  82. package/lib/esm/package.json +0 -3
  83. package/lib/types-esm/SocketIOModule.d.ts +0 -29
  84. package/lib/types-esm/class/SocketHandlersBuilder.d.ts +0 -37
  85. package/lib/types-esm/class/SocketProviderMetadata.d.ts +0 -20
  86. package/lib/types-esm/class/SocketSessionData.d.ts +0 -23
  87. package/lib/types-esm/constants/constants.d.ts +0 -1
  88. package/lib/types-esm/decorators/args.d.ts +0 -28
  89. package/lib/types-esm/decorators/broadcast.d.ts +0 -23
  90. package/lib/types-esm/decorators/broadcastOthers.d.ts +0 -23
  91. package/lib/types-esm/decorators/emit.d.ts +0 -23
  92. package/lib/types-esm/decorators/input.d.ts +0 -20
  93. package/lib/types-esm/decorators/inputAndBroadcast.d.ts +0 -20
  94. package/lib/types-esm/decorators/inputAndBroadcastOthers.d.ts +0 -20
  95. package/lib/types-esm/decorators/inputAndEmit.d.ts +0 -20
  96. package/lib/types-esm/decorators/io.d.ts +0 -20
  97. package/lib/types-esm/decorators/nsp.d.ts +0 -72
  98. package/lib/types-esm/decorators/reason.d.ts +0 -25
  99. package/lib/types-esm/decorators/socket.d.ts +0 -25
  100. package/lib/types-esm/decorators/socketErr.d.ts +0 -21
  101. package/lib/types-esm/decorators/socketEventName.d.ts +0 -21
  102. package/lib/types-esm/decorators/socketFilter.d.ts +0 -9
  103. package/lib/types-esm/decorators/socketMiddleware.d.ts +0 -54
  104. package/lib/types-esm/decorators/socketMiddlewareError.d.ts +0 -50
  105. package/lib/types-esm/decorators/socketNsp.d.ts +0 -26
  106. package/lib/types-esm/decorators/socketReturns.d.ts +0 -9
  107. package/lib/types-esm/decorators/socketService.d.ts +0 -11
  108. package/lib/types-esm/decorators/socketSession.d.ts +0 -44
  109. package/lib/types-esm/decorators/socketUseAfter.d.ts +0 -52
  110. package/lib/types-esm/decorators/socketUseBefore.d.ts +0 -56
  111. package/lib/types-esm/index.d.ts +0 -41
  112. package/lib/types-esm/interfaces/OnNamespaceInit.d.ts +0 -7
  113. package/lib/types-esm/interfaces/SocketFilters.d.ts +0 -14
  114. package/lib/types-esm/interfaces/SocketHandlerMetadata.d.ts +0 -18
  115. package/lib/types-esm/interfaces/SocketInjectableNsp.d.ts +0 -4
  116. package/lib/types-esm/interfaces/SocketParamMetadata.d.ts +0 -7
  117. package/lib/types-esm/interfaces/SocketProviderTypes.d.ts +0 -7
  118. package/lib/types-esm/interfaces/SocketReturnsTypes.d.ts +0 -8
  119. package/lib/types-esm/interfaces/interfaces.d.ts +0 -8
  120. package/lib/types-esm/services/SocketIOServer.d.ts +0 -4
  121. package/lib/types-esm/services/SocketIOService.d.ts +0 -29
@@ -1,71 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SocketMiddlewareError = void 0;
4
- const platform_middlewares_1 = require("@tsed/platform-middlewares");
5
- const core_1 = require("@tsed/core");
6
- const SocketProviderTypes_js_1 = require("../interfaces/SocketProviderTypes.js");
7
- /**
8
- * Declare a new SocketMiddlewareError.
9
- *
10
- * ### Example
11
- *
12
- * A middleware can be also used on a `SocketService` either on a class or on a method.
13
- *
14
- * Here an example of a middleware:
15
- *
16
- * ```typescript
17
- * import {SocketMiddlewareError, SocketErr, Socket, Args} from "@tsed/socketio";
18
- *
19
- * @SocketMiddlewareError()
20
- * export class ErrorHandlerSocketMiddleware {
21
- * async use(@SocketEventName, @SocketErr err: any, @Socket socket: SocketIO.Socket) {
22
- * console.error(err);
23
- * socket.emit("error", {message: "An error has occured"})
24
- * }
25
- * }
26
- * ```
27
- *
28
- * Then:
29
- *
30
- * ```typescript
31
- * import {SocketService, SocketUseAfter, SocketUseBefore, Emit, Input, Args} from "@tsed/socketio";
32
- * import {ErrorHandlerSocketMiddleware} from "../middlewares.js";
33
- * import {User} from "../models/User.js";
34
- *
35
- * @SocketService("/my-namespace")
36
- * @SocketUseAfter(ErrorHandlerSocketMiddleware) // global version
37
- * export class MySocketService {
38
- *
39
- * @Input("eventName")
40
- * @Emit("responseEventName") // or Broadcast or BroadcastOthers
41
- * @SocketUseAfter(ErrorHandlerSocketMiddleware)
42
- * async myMethod(@Args(0) userName: User) {
43
- *
44
- * console.log(user);
45
- * throw new Error("Error");
46
- *
47
- * return user;
48
- * }
49
- * }
50
- * ```
51
- *
52
- * @returns {Function}
53
- * @decorator
54
- * @experimental
55
- */
56
- function SocketMiddlewareError() {
57
- return (target) => {
58
- core_1.Store.from(target).merge("socketIO", {
59
- type: SocketProviderTypes_js_1.SocketProviderTypes.MIDDLEWARE,
60
- error: true,
61
- handlers: {
62
- use: {
63
- methodClassName: "use"
64
- }
65
- }
66
- });
67
- return (0, platform_middlewares_1.Middleware)()(target);
68
- };
69
- }
70
- exports.SocketMiddlewareError = SocketMiddlewareError;
71
- //# sourceMappingURL=socketMiddlewareError.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"socketMiddlewareError.js","sourceRoot":"","sources":["../../../src/decorators/socketMiddlewareError.ts"],"names":[],"mappings":";;;AAAA,qEAAsD;AACtD,qCAAuC;AACvC,iFAAyE;AAEzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,SAAgB,qBAAqB;IACnC,OAAO,CAAC,MAAiB,EAAE,EAAE;QAC3B,YAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE;YACnC,IAAI,EAAE,4CAAmB,CAAC,UAAU;YACpC,KAAK,EAAE,IAAI;YAEX,QAAQ,EAAE;gBACR,GAAG,EAAE;oBACH,eAAe,EAAE,KAAK;iBACvB;aACF;SACF,CAAC,CAAC;QAEH,OAAO,IAAA,iCAAU,GAAE,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC,CAAC;AACJ,CAAC;AAfD,sDAeC"}
@@ -1,33 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SocketNsp = void 0;
4
- const SocketFilters_js_1 = require("../interfaces/SocketFilters.js");
5
- const socketFilter_js_1 = require("./socketFilter.js");
6
- /**
7
- * Inject the [SocketIO.Namespace](https://socket.io/docs/rooms-and-namespaces/#namespaces) instance in the decorated parameter.
8
- * This namespace may differ from the default namespace when using dynamic namespaces.
9
- *
10
- * ### Example
11
- *
12
- * ```typescript
13
- * @SocketService(/nsp-.+/)
14
- * export class MyWS {
15
- *
16
- * @Input("event")
17
- * myMethod(@SocketNsp nsp: SocketNsp) {
18
- *
19
- * }
20
- * }
21
- * ```
22
- *
23
- * @experimental
24
- * @param target
25
- * @param {string} propertyKey
26
- * @param {number} index
27
- * @decorator
28
- */
29
- function SocketNsp(target, propertyKey, index) {
30
- return (0, socketFilter_js_1.SocketFilter)(SocketFilters_js_1.SocketFilters.SOCKET_NSP)(target, propertyKey, index);
31
- }
32
- exports.SocketNsp = SocketNsp;
33
- //# sourceMappingURL=socketNsp.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"socketNsp.js","sourceRoot":"","sources":["../../../src/decorators/socketNsp.ts"],"names":[],"mappings":";;;AACA,qEAA6D;AAC7D,uDAA+C;AAI/C;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,SAAgB,SAAS,CAAC,MAAW,EAAE,WAAmB,EAAE,KAAa;IACvE,OAAO,IAAA,8BAAY,EAAC,gCAAa,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;AAC5E,CAAC;AAFD,8BAEC"}
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SocketReturns = void 0;
4
- const core_1 = require("@tsed/core");
5
- /**
6
- *
7
- * @param {string} eventName
8
- * @param {SocketReturnsTypes} type
9
- * @returns {(target: any, propertyKey: string, descriptor: PropertyDescriptor) => void}
10
- * @decorator
11
- */
12
- function SocketReturns(eventName, type) {
13
- return (target, propertyKey, descriptor) => {
14
- core_1.Store.from(target).merge("socketIO", {
15
- handlers: {
16
- [propertyKey]: {
17
- returns: {
18
- eventName,
19
- type
20
- }
21
- }
22
- }
23
- });
24
- };
25
- }
26
- exports.SocketReturns = SocketReturns;
27
- //# sourceMappingURL=socketReturns.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"socketReturns.js","sourceRoot":"","sources":["../../../src/decorators/socketReturns.ts"],"names":[],"mappings":";;;AAAA,qCAAiC;AAGjC;;;;;;GAMG;AACH,SAAgB,aAAa,CAAC,SAAiB,EAAE,IAAwB;IACvE,OAAO,CAAC,MAAW,EAAE,WAAmB,EAAE,UAA8B,EAAE,EAAE;QAC1E,YAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE;YACnC,QAAQ,EAAE;gBACR,CAAC,WAAW,CAAC,EAAE;oBACb,OAAO,EAAE;wBACP,SAAS;wBACT,IAAI;qBACL;iBACF;aACF;SACF,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAbD,sCAaC"}
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SocketService = void 0;
4
- const core_1 = require("@tsed/core");
5
- const di_1 = require("@tsed/di");
6
- const SocketProviderTypes_js_1 = require("../interfaces/SocketProviderTypes.js");
7
- const constants_js_1 = require("../constants/constants.js");
8
- /**
9
- * The decorators `@SocketService()` declare a new socket service (and service) can be injected in other service or controller on there `constructor`.
10
- * All services annotated with `@SocketService()` are constructed one time.
11
- *
12
- * > `@SocketService()` use the `reflect-metadata` to collect and inject service on controllers or other services.
13
- *
14
- * @param namespace
15
- * @returns {Function}
16
- * @decorator
17
- */
18
- function SocketService(namespace = "/") {
19
- return (0, core_1.useDecorators)((0, core_1.StoreMerge)("socketIO", { namespace, type: SocketProviderTypes_js_1.SocketProviderTypes.SERVICE }), (0, di_1.Injectable)({
20
- type: constants_js_1.PROVIDER_TYPE_SOCKET_SERVICE
21
- }));
22
- }
23
- exports.SocketService = SocketService;
24
- //# sourceMappingURL=socketService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"socketService.js","sourceRoot":"","sources":["../../../src/decorators/socketService.ts"],"names":[],"mappings":";;;AAAA,qCAAqD;AACrD,iCAAoC;AACpC,iFAAyE;AACzE,4DAAuE;AAEvE;;;;;;;;;GASG;AACH,SAAgB,aAAa,CAAC,YAA6B,GAAG;IAC5D,OAAO,IAAA,oBAAa,EAClB,IAAA,iBAAU,EAAC,UAAU,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,4CAAmB,CAAC,OAAO,EAAC,CAAC,EACtE,IAAA,eAAU,EAAC;QACT,IAAI,EAAE,2CAA4B;KACnC,CAAC,CACH,CAAC;AACJ,CAAC;AAPD,sCAOC"}
@@ -1,55 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RawSocketSession = exports.SocketSession = void 0;
4
- const SocketFilters_js_1 = require("../interfaces/SocketFilters.js");
5
- const socketFilter_js_1 = require("./socketFilter.js");
6
- /**
7
- * Inject the socket session data in the decorated parameter.
8
- *
9
- * ### Example
10
- *
11
- * ```typescript
12
- * @SocketService("/nsp")
13
- * export class MyWS {
14
- *
15
- * @Input("event")
16
- * myMethod(@SocketSession session: SocketSession) {
17
- * console.log(session);
18
- * }
19
- * }
20
- * ```
21
- *
22
- * @param target
23
- * @param {string} propertyKey
24
- * @param {number} index
25
- * @decorator
26
- */
27
- function SocketSession(target, propertyKey, index) {
28
- return (0, socketFilter_js_1.SocketFilter)(SocketFilters_js_1.SocketFilters.SESSION)(target, propertyKey, index);
29
- }
30
- exports.SocketSession = SocketSession;
31
- /**
32
- * Inject the raw `socket.data` in the decorated parameter.
33
- *
34
- * @example
35
- * ```typescript
36
- * @SocketService("/nsp")
37
- * export class MyWS {
38
- *
39
- * @Input("event")
40
- * myMethod(@RawSocketSession session: Record<string, unknown>) {
41
- * console.log(session);
42
- * }
43
- * }
44
- * ```
45
- *
46
- * @param target
47
- * @param {string} propertyKey
48
- * @param {number} index
49
- * @constructor
50
- */
51
- function RawSocketSession(target, propertyKey, index) {
52
- return (0, socketFilter_js_1.SocketFilter)(SocketFilters_js_1.SocketFilters.RAW_SESSION)(target, propertyKey, index);
53
- }
54
- exports.RawSocketSession = RawSocketSession;
55
- //# sourceMappingURL=socketSession.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"socketSession.js","sourceRoot":"","sources":["../../../src/decorators/socketSession.ts"],"names":[],"mappings":";;;AAAA,qEAA6D;AAC7D,uDAA+C;AAI/C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,SAAgB,aAAa,CAAC,MAAW,EAAE,WAAmB,EAAE,KAAa;IAC3E,OAAO,IAAA,8BAAY,EAAC,gCAAa,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;AACzE,CAAC;AAFD,sCAEC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAgB,gBAAgB,CAAC,MAAW,EAAE,WAAmB,EAAE,KAAa;IAC9E,OAAO,IAAA,8BAAY,EAAC,gCAAa,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;AAC7E,CAAC;AAFD,4CAEC"}
@@ -1,74 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SocketUseAfter = void 0;
4
- const core_1 = require("@tsed/core");
5
- /**
6
- * Attach a Socket Middleware to a method or a class.
7
- *
8
- * ### Example
9
- *
10
- * A middleware can be also used on a `SocketService` either on a class or on a method.
11
- *
12
- * Here an example of a middleware:
13
- *
14
- * ```typescript
15
- * import {SocketMiddlewareError, SocketErr, Socket, Args} from "@tsed/socketio";
16
- *
17
- * @SocketMiddlewareError()
18
- * export class ErrorHandlerSocketMiddleware {
19
- * async use(@SocketErr() err: any, @Socket socket: SocketIO.Socket) {
20
- * console.error(err);
21
- * socket.emit("error", {message: "An error has occured"})
22
- * }
23
- * }
24
- * ```
25
- *
26
- * Then:
27
- *
28
- * ```typescript
29
- * import {SocketService, SocketUseAfter, SocketUseBefore, Emit, Input, Args} from "@tsed/socketio";
30
- * import {ErrorHandlerSocketMiddleware} from "../middlewares.js";
31
- * import {User} from "../models/User.js";
32
- *
33
- * @SocketService("/my-namespace")
34
- * @SocketUseAfter(ErrorHandlerSocketMiddleware) // global version
35
- * export class MySocketService {
36
- *
37
- * @Input("eventName")
38
- * @Emit("responseEventName") // or Broadcast or BroadcastOthers
39
- * @SocketUseAfter(ErrorHandlerSocketMiddleware)
40
- * async myMethod(@Args(0) userName: User) {
41
- *
42
- * console.log(user);
43
- * throw new Error("Error");
44
- *
45
- * return user;
46
- * }
47
- * }
48
- * ```
49
- *
50
- * @returns {(target: any, propertyKey?: string, descriptor?: PropertyDescriptor) => void}
51
- * @decorator
52
- * @experimental
53
- * @param middlewares
54
- */
55
- function SocketUseAfter(...middlewares) {
56
- return (target, propertyKey, descriptor) => {
57
- if (propertyKey) {
58
- core_1.Store.from(target).merge("socketIO", {
59
- handlers: {
60
- [propertyKey]: {
61
- useAfter: middlewares
62
- }
63
- }
64
- });
65
- }
66
- else {
67
- core_1.Store.from(target).merge("socketIO", {
68
- useAfter: middlewares
69
- });
70
- }
71
- };
72
- }
73
- exports.SocketUseAfter = SocketUseAfter;
74
- //# sourceMappingURL=socketUseAfter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"socketUseAfter.js","sourceRoot":"","sources":["../../../src/decorators/socketUseAfter.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,SAAgB,cAAc,CAAC,GAAG,WAAwB;IACxD,OAAO,CAAC,MAAW,EAAE,WAAoB,EAAE,UAA+B,EAAE,EAAE;QAC5E,IAAI,WAAW,EAAE;YACf,YAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE;gBACnC,QAAQ,EAAE;oBACR,CAAC,WAAW,CAAC,EAAE;wBACb,QAAQ,EAAE,WAAW;qBACtB;iBACF;aACF,CAAC,CAAC;SACJ;aAAM;YACL,YAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE;gBACnC,QAAQ,EAAE,WAAW;aACtB,CAAC,CAAC;SACJ;IACH,CAAC,CAAC;AACJ,CAAC;AAhBD,wCAgBC"}
@@ -1,78 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SocketUseBefore = void 0;
4
- const core_1 = require("@tsed/core");
5
- /**
6
- * Attach a Socket Middleware to a method or a class.
7
- *
8
- * ### Example
9
- *
10
- * A middleware can be also used on a `SocketService` either on a class or on a method.
11
- *
12
- * Here an example of a middleware:
13
- *
14
- * ```typescript
15
- * @SocketMiddleware()
16
- * export class UserConverterSocketMiddleware {
17
- * constructor(private converterService: ConverterService) {
18
- * }
19
- * async use(@Args() args: any[]) {
20
- *
21
- * let [user] = args;
22
- * // update Arguments
23
- * user = ConverterService.deserialize(user, User);
24
- *
25
- * return [user];
26
- * }
27
- * }
28
- * ```
29
- * > The user instance will be forwarded to the next middleware and to your decorated method.
30
- *
31
- * Then:
32
- *
33
- * ```typescript
34
- * import {SocketService, SocketUseAfter, SocketUseBefore, Emit, Input, Args} from "@tsed/socketio";
35
- * import {UserConverterSocketMiddleware} from "../middlewares.js";
36
- * import {User} from "../models/User.js";
37
- *
38
- * @SocketService("/my-namespace")
39
- * @SocketUseBefore(UserConverterSocketMiddleware) // global version
40
- * export class MySocketService {
41
- *
42
- * @Input("eventName")
43
- * @Emit("responseEventName") // or Broadcast or BroadcastOthers
44
- * @SocketUseBefore(UserConverterSocketMiddleware)
45
- * async myMethod(@Args(0) user: User) {
46
- *
47
- * console.log(user);
48
- *
49
- * return user;
50
- * }
51
- * }
52
- * ```
53
- *
54
- * @returns {(target: any, propertyKey?: string, descriptor?: PropertyDescriptor) => void}
55
- * @decorator
56
- * @experimental
57
- * @param middlewares
58
- */
59
- function SocketUseBefore(...middlewares) {
60
- return (target, propertyKey, descriptor) => {
61
- if (propertyKey) {
62
- core_1.Store.from(target).merge("socketIO", {
63
- handlers: {
64
- [propertyKey]: {
65
- useBefore: middlewares
66
- }
67
- }
68
- });
69
- }
70
- else {
71
- core_1.Store.from(target).merge("socketIO", {
72
- useBefore: middlewares
73
- });
74
- }
75
- };
76
- }
77
- exports.SocketUseBefore = SocketUseBefore;
78
- //# sourceMappingURL=socketUseBefore.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"socketUseBefore.js","sourceRoot":"","sources":["../../../src/decorators/socketUseBefore.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,SAAgB,eAAe,CAAC,GAAG,WAAwB;IACzD,OAAO,CAAC,MAAW,EAAE,WAAoB,EAAE,UAA+B,EAAE,EAAE;QAC5E,IAAI,WAAW,EAAE;YACf,YAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE;gBACnC,QAAQ,EAAE;oBACR,CAAC,WAAW,CAAC,EAAE;wBACb,SAAS,EAAE,WAAW;qBACvB;iBACF;aACF,CAAC,CAAC;SACJ;aAAM;YACL,YAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE;gBACnC,SAAS,EAAE,WAAW;aACvB,CAAC,CAAC;SACJ;IACH,CAAC,CAAC;AACJ,CAAC;AAhBD,0CAgBC"}
package/lib/cjs/index.js DELETED
@@ -1,45 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- /**
5
- * @file Automatically generated by @tsed/barrels.
6
- */
7
- tslib_1.__exportStar(require("./class/SocketHandlersBuilder.js"), exports);
8
- tslib_1.__exportStar(require("./class/SocketProviderMetadata.js"), exports);
9
- tslib_1.__exportStar(require("./class/SocketSessionData.js"), exports);
10
- tslib_1.__exportStar(require("./constants/constants.js"), exports);
11
- tslib_1.__exportStar(require("./decorators/args.js"), exports);
12
- tslib_1.__exportStar(require("./decorators/broadcast.js"), exports);
13
- tslib_1.__exportStar(require("./decorators/broadcastOthers.js"), exports);
14
- tslib_1.__exportStar(require("./decorators/emit.js"), exports);
15
- tslib_1.__exportStar(require("./decorators/input.js"), exports);
16
- tslib_1.__exportStar(require("./decorators/inputAndBroadcast.js"), exports);
17
- tslib_1.__exportStar(require("./decorators/inputAndBroadcastOthers.js"), exports);
18
- tslib_1.__exportStar(require("./decorators/inputAndEmit.js"), exports);
19
- tslib_1.__exportStar(require("./decorators/io.js"), exports);
20
- tslib_1.__exportStar(require("./decorators/nsp.js"), exports);
21
- tslib_1.__exportStar(require("./decorators/reason.js"), exports);
22
- tslib_1.__exportStar(require("./decorators/socket.js"), exports);
23
- tslib_1.__exportStar(require("./decorators/socketErr.js"), exports);
24
- tslib_1.__exportStar(require("./decorators/socketEventName.js"), exports);
25
- tslib_1.__exportStar(require("./decorators/socketFilter.js"), exports);
26
- tslib_1.__exportStar(require("./decorators/socketMiddleware.js"), exports);
27
- tslib_1.__exportStar(require("./decorators/socketMiddlewareError.js"), exports);
28
- tslib_1.__exportStar(require("./decorators/socketNsp.js"), exports);
29
- tslib_1.__exportStar(require("./decorators/socketReturns.js"), exports);
30
- tslib_1.__exportStar(require("./decorators/socketService.js"), exports);
31
- tslib_1.__exportStar(require("./decorators/socketSession.js"), exports);
32
- tslib_1.__exportStar(require("./decorators/socketUseAfter.js"), exports);
33
- tslib_1.__exportStar(require("./decorators/socketUseBefore.js"), exports);
34
- tslib_1.__exportStar(require("./interfaces/interfaces.js"), exports);
35
- tslib_1.__exportStar(require("./interfaces/OnNamespaceInit.js"), exports);
36
- tslib_1.__exportStar(require("./interfaces/SocketFilters.js"), exports);
37
- tslib_1.__exportStar(require("./interfaces/SocketHandlerMetadata.js"), exports);
38
- tslib_1.__exportStar(require("./interfaces/SocketInjectableNsp.js"), exports);
39
- tslib_1.__exportStar(require("./interfaces/SocketParamMetadata.js"), exports);
40
- tslib_1.__exportStar(require("./interfaces/SocketProviderTypes.js"), exports);
41
- tslib_1.__exportStar(require("./interfaces/SocketReturnsTypes.js"), exports);
42
- tslib_1.__exportStar(require("./services/SocketIOServer.js"), exports);
43
- tslib_1.__exportStar(require("./services/SocketIOService.js"), exports);
44
- tslib_1.__exportStar(require("./SocketIOModule.js"), exports);
45
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,2EAAiD;AACjD,4EAAkD;AAClD,uEAA6C;AAC7C,mEAAyC;AACzC,+DAAqC;AACrC,oEAA0C;AAC1C,0EAAgD;AAChD,+DAAqC;AACrC,gEAAsC;AACtC,4EAAkD;AAClD,kFAAwD;AACxD,uEAA6C;AAC7C,6DAAmC;AACnC,8DAAoC;AACpC,iEAAuC;AACvC,iEAAuC;AACvC,oEAA0C;AAC1C,0EAAgD;AAChD,uEAA6C;AAC7C,2EAAiD;AACjD,gFAAsD;AACtD,oEAA0C;AAC1C,wEAA8C;AAC9C,wEAA8C;AAC9C,wEAA8C;AAC9C,yEAA+C;AAC/C,0EAAgD;AAChD,qEAA2C;AAC3C,0EAAgD;AAChD,wEAA8C;AAC9C,gFAAsD;AACtD,8EAAoD;AACpD,8EAAoD;AACpD,8EAAoD;AACpD,6EAAmD;AACnD,uEAA6C;AAC7C,wEAA8C;AAC9C,8DAAoC"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=OnNamespaceInit.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OnNamespaceInit.js","sourceRoot":"","sources":["../../../src/interfaces/OnNamespaceInit.ts"],"names":[],"mappings":""}
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SocketFilters = void 0;
4
- /**
5
- * @ignore
6
- */
7
- var SocketFilters;
8
- (function (SocketFilters) {
9
- SocketFilters["ARGS"] = "args";
10
- SocketFilters["SOCKET"] = "socket";
11
- SocketFilters["EVENT_NAME"] = "eventName";
12
- SocketFilters["NSP"] = "nsp";
13
- SocketFilters["SESSION"] = "session";
14
- SocketFilters["RAW_SESSION"] = "raw_session";
15
- SocketFilters["ERR"] = "error";
16
- SocketFilters["SOCKET_NSP"] = "socket_nsp";
17
- SocketFilters["REASON"] = "reason";
18
- })(SocketFilters = exports.SocketFilters || (exports.SocketFilters = {}));
19
- //# sourceMappingURL=SocketFilters.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SocketFilters.js","sourceRoot":"","sources":["../../../src/interfaces/SocketFilters.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,IAAY,aAUX;AAVD,WAAY,aAAa;IACvB,8BAAa,CAAA;IACb,kCAAiB,CAAA;IACjB,yCAAwB,CAAA;IACxB,4BAAW,CAAA;IACX,oCAAmB,CAAA;IACnB,4CAA2B,CAAA;IAC3B,8BAAa,CAAA;IACb,0CAAyB,CAAA;IACzB,kCAAiB,CAAA;AACnB,CAAC,EAVW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAUxB"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=SocketHandlerMetadata.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SocketHandlerMetadata.js","sourceRoot":"","sources":["../../../src/interfaces/SocketHandlerMetadata.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=SocketInjectableNsp.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SocketInjectableNsp.js","sourceRoot":"","sources":["../../../src/interfaces/SocketInjectableNsp.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=SocketParamMetadata.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SocketParamMetadata.js","sourceRoot":"","sources":["../../../src/interfaces/SocketParamMetadata.ts"],"names":[],"mappings":""}
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SocketProviderTypes = void 0;
4
- /**
5
- *
6
- */
7
- var SocketProviderTypes;
8
- (function (SocketProviderTypes) {
9
- SocketProviderTypes["SERVICE"] = "service";
10
- SocketProviderTypes["MIDDLEWARE"] = "middleware";
11
- })(SocketProviderTypes = exports.SocketProviderTypes || (exports.SocketProviderTypes = {}));
12
- //# sourceMappingURL=SocketProviderTypes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SocketProviderTypes.js","sourceRoot":"","sources":["../../../src/interfaces/SocketProviderTypes.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,IAAY,mBAGX;AAHD,WAAY,mBAAmB;IAC7B,0CAAmB,CAAA;IACnB,gDAAyB,CAAA;AAC3B,CAAC,EAHW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAG9B"}
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SocketReturnsTypes = void 0;
4
- /**
5
- * @ignore
6
- */
7
- var SocketReturnsTypes;
8
- (function (SocketReturnsTypes) {
9
- SocketReturnsTypes["BROADCAST"] = "broadcast";
10
- SocketReturnsTypes["BROADCAST_OTHERS"] = "broadcastOthers";
11
- SocketReturnsTypes["EMIT"] = "emit";
12
- })(SocketReturnsTypes = exports.SocketReturnsTypes || (exports.SocketReturnsTypes = {}));
13
- //# sourceMappingURL=SocketReturnsTypes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SocketReturnsTypes.js","sourceRoot":"","sources":["../../../src/interfaces/SocketReturnsTypes.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC5B,6CAAuB,CAAA;IACvB,0DAAoC,CAAA;IACpC,mCAAa,CAAA;AACf,CAAC,EAJW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAI7B"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=interfaces.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/interfaces/interfaces.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- {
2
- "type": "commonjs"
3
- }
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Server = exports.SocketIOServer = void 0;
4
- const di_1 = require("@tsed/di");
5
- const socket_io_1 = require("socket.io");
6
- Object.defineProperty(exports, "Server", { enumerable: true, get: function () { return socket_io_1.Server; } });
7
- // tslint:disable-next-line: variable-name
8
- exports.SocketIOServer = socket_io_1.Server;
9
- (0, di_1.registerProvider)({
10
- provide: socket_io_1.Server,
11
- deps: [di_1.Configuration],
12
- useFactory(config) {
13
- return new socket_io_1.Server(config.socketIO);
14
- }
15
- });
16
- //# sourceMappingURL=SocketIOServer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SocketIOServer.js","sourceRoot":"","sources":["../../../src/services/SocketIOServer.ts"],"names":[],"mappings":";;;AAAA,iCAAyD;AACzD,yCAAiC;AAOzB,uFAPA,kBAAM,OAOA;AAHd,0CAA0C;AAC7B,QAAA,cAAc,GAAG,kBAAM,CAAC;AAIrC,IAAA,qBAAgB,EAAC;IACf,OAAO,EAAE,kBAAM;IACf,IAAI,EAAE,CAAC,kBAAa,CAAC;IACrB,UAAU,CAAC,MAAqB;QAC9B,OAAO,IAAI,kBAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;CACF,CAAC,CAAC"}
@@ -1,66 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SocketIOService = void 0;
4
- const tslib_1 = require("tslib");
5
- const common_1 = require("@tsed/common");
6
- const SocketIO = tslib_1.__importStar(require("socket.io")); // tslint:disable-line: no-unused-variable
7
- const SocketHandlersBuilder_js_1 = require("../class/SocketHandlersBuilder.js");
8
- const SocketProviderMetadata_js_1 = require("../class/SocketProviderMetadata.js");
9
- const io_js_1 = require("../decorators/io.js");
10
- /**
11
- *
12
- */
13
- let SocketIOService = class SocketIOService {
14
- constructor(injector, io) {
15
- this.injector = injector;
16
- this.io = io;
17
- /**
18
- *
19
- * @type {Map<any, any>}
20
- */
21
- this.namespaces = new Map();
22
- }
23
- /**
24
- *
25
- * @param {string} namespace
26
- * @returns {SocketIO.Namespace}
27
- */
28
- getNsp(namespace = "/") {
29
- if (!this.namespaces.has(namespace)) {
30
- const conf = { nsp: this.io.of(namespace), instances: [] };
31
- this.namespaces.set(namespace, conf);
32
- conf.nsp.on("connection", (socket) => {
33
- conf.instances.forEach((builder) => {
34
- builder.onConnection(socket, conf.nsp);
35
- });
36
- socket.on("disconnect", (reason) => {
37
- conf.instances.forEach((builder) => {
38
- builder.onDisconnect(socket, conf.nsp, reason);
39
- });
40
- });
41
- });
42
- }
43
- return this.namespaces.get(namespace);
44
- }
45
- /**
46
- *
47
- * @param {Provider<any>} provider
48
- */
49
- addSocketProvider(provider) {
50
- const wsConfig = new SocketProviderMetadata_js_1.SocketProviderMetadata(provider.store.get("socketIO"));
51
- const nspConfig = this.getNsp(wsConfig.namespace);
52
- const nsps = new Map();
53
- this.namespaces.forEach((value, nsp) => {
54
- nsps.set(nsp, value.nsp);
55
- });
56
- const builder = new SocketHandlersBuilder_js_1.SocketHandlersBuilder(provider, this.injector).build(nsps);
57
- nspConfig.instances.push(builder);
58
- }
59
- };
60
- SocketIOService = tslib_1.__decorate([
61
- (0, common_1.Service)(),
62
- tslib_1.__param(1, io_js_1.IO),
63
- tslib_1.__metadata("design:paramtypes", [common_1.InjectorService, SocketIO.Server])
64
- ], SocketIOService);
65
- exports.SocketIOService = SocketIOService;
66
- //# sourceMappingURL=SocketIOService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SocketIOService.js","sourceRoot":"","sources":["../../../src/services/SocketIOService.ts"],"names":[],"mappings":";;;;AAAA,yCAAgE;AAChE,4DAAsC,CAAC,0CAA0C;AACjF,gFAAwE;AACxE,kFAA0E;AAC1E,+CAAuC;AAEvC;;GAEG;AAEI,IAAM,eAAe,GAArB,MAAM,eAAe;IAO1B,YACU,QAAyB,EACrB,EAAmB;QADvB,aAAQ,GAAR,QAAQ,CAAiB;QACrB,OAAE,GAAF,EAAE,CAAiB;QARjC;;;WAGG;QACK,eAAU,GAAoE,IAAI,GAAG,EAAE,CAAC;IAK7F,CAAC;IAEJ;;;;OAIG;IACI,MAAM,CAAC,YAA6B,GAAG;QAC5C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YACnC,MAAM,IAAI,GAAG,EAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,EAAE,EAAC,CAAC;YAEzD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAErC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE;gBACnC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAA8B,EAAE,EAAE;oBACxD,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;gBACzC,CAAC,CAAC,CAAC;gBAEH,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,MAAc,EAAE,EAAE;oBACzC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAA8B,EAAE,EAAE;wBACxD,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;oBACjD,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;IACzC,CAAC;IAED;;;OAGG;IACI,iBAAiB,CAAC,QAAuB;QAC9C,MAAM,QAAQ,GAA2B,IAAI,kDAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QAEpG,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;QAEvB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACrC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,IAAI,gDAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE/E,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;CACF,CAAA;AAzDY,eAAe;IAD3B,IAAA,gBAAO,GAAE;IAUL,mBAAA,UAAE,CAAA;6CADe,wBAAe,EACjB,QAAQ,CAAC,MAAM;GATtB,eAAe,CAyD3B;AAzDY,0CAAe"}