@hazeljs/websocket 0.2.0-alpha.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.
- package/LICENSE +192 -0
- package/README.md +531 -0
- package/dist/decorators/realtime.decorator.d.ts +113 -0
- package/dist/decorators/realtime.decorator.d.ts.map +1 -0
- package/dist/decorators/realtime.decorator.js +202 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +32 -0
- package/dist/room/room.manager.d.ts +81 -0
- package/dist/room/room.manager.d.ts.map +1 -0
- package/dist/room/room.manager.js +209 -0
- package/dist/sse/sse.handler.d.ts +61 -0
- package/dist/sse/sse.handler.d.ts.map +1 -0
- package/dist/sse/sse.handler.js +209 -0
- package/dist/websocket.gateway.d.ts +94 -0
- package/dist/websocket.gateway.d.ts.map +1 -0
- package/dist/websocket.gateway.js +309 -0
- package/dist/websocket.module.d.ts +57 -0
- package/dist/websocket.module.d.ts.map +1 -0
- package/dist/websocket.module.js +88 -0
- package/dist/websocket.test.d.ts +2 -0
- package/dist/websocket.test.d.ts.map +1 -0
- package/dist/websocket.test.js +972 -0
- package/dist/websocket.types.d.ts +258 -0
- package/dist/websocket.types.d.ts.map +1 -0
- package/dist/websocket.types.js +2 -0
- package/package.json +55 -0
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
|
+
};
|
|
11
|
+
var WebSocketModule_1;
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.WebSocketModule = void 0;
|
|
14
|
+
const core_1 = require("@hazeljs/core");
|
|
15
|
+
const sse_handler_1 = require("./sse/sse.handler");
|
|
16
|
+
const room_manager_1 = require("./room/room.manager");
|
|
17
|
+
const core_2 = __importDefault(require("@hazeljs/core"));
|
|
18
|
+
/**
|
|
19
|
+
* WebSocket module for HazelJS
|
|
20
|
+
*/
|
|
21
|
+
let WebSocketModule = WebSocketModule_1 = class WebSocketModule {
|
|
22
|
+
/**
|
|
23
|
+
* Configure WebSocket module
|
|
24
|
+
*/
|
|
25
|
+
static forRoot(options = {}) {
|
|
26
|
+
const { isGlobal = true, enableSSE = true, enableRooms = true } = options;
|
|
27
|
+
core_2.default.info('Configuring WebSocket module...');
|
|
28
|
+
const providers = [];
|
|
29
|
+
// Add SSE handler if enabled
|
|
30
|
+
if (enableSSE) {
|
|
31
|
+
providers.push({
|
|
32
|
+
provide: sse_handler_1.SSEHandler,
|
|
33
|
+
useValue: new sse_handler_1.SSEHandler(),
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
// Add room manager if enabled
|
|
37
|
+
if (enableRooms) {
|
|
38
|
+
providers.push({
|
|
39
|
+
provide: room_manager_1.RoomManager,
|
|
40
|
+
useValue: new room_manager_1.RoomManager(),
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
return {
|
|
44
|
+
module: WebSocketModule_1,
|
|
45
|
+
providers,
|
|
46
|
+
exports: providers.map((p) => p.provide),
|
|
47
|
+
global: isGlobal,
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Configure WebSocket module asynchronously
|
|
52
|
+
*/
|
|
53
|
+
static forRootAsync(options) {
|
|
54
|
+
return {
|
|
55
|
+
module: WebSocketModule_1,
|
|
56
|
+
providers: [
|
|
57
|
+
{
|
|
58
|
+
provide: 'WEBSOCKET_OPTIONS',
|
|
59
|
+
useFactory: options.useFactory,
|
|
60
|
+
inject: options.inject || [],
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
provide: sse_handler_1.SSEHandler,
|
|
64
|
+
useFactory: (wsOptions) => {
|
|
65
|
+
return wsOptions.enableSSE !== false ? new sse_handler_1.SSEHandler() : null;
|
|
66
|
+
},
|
|
67
|
+
inject: ['WEBSOCKET_OPTIONS'],
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
provide: room_manager_1.RoomManager,
|
|
71
|
+
useFactory: (wsOptions) => {
|
|
72
|
+
return wsOptions.enableRooms !== false ? new room_manager_1.RoomManager() : null;
|
|
73
|
+
},
|
|
74
|
+
inject: ['WEBSOCKET_OPTIONS'],
|
|
75
|
+
},
|
|
76
|
+
],
|
|
77
|
+
exports: [sse_handler_1.SSEHandler, room_manager_1.RoomManager],
|
|
78
|
+
global: true,
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
exports.WebSocketModule = WebSocketModule;
|
|
83
|
+
exports.WebSocketModule = WebSocketModule = WebSocketModule_1 = __decorate([
|
|
84
|
+
(0, core_1.HazelModule)({
|
|
85
|
+
providers: [],
|
|
86
|
+
exports: [],
|
|
87
|
+
})
|
|
88
|
+
], WebSocketModule);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"websocket.test.d.ts","sourceRoot":"","sources":["../src/websocket.test.ts"],"names":[],"mappings":""}
|