@enfyra/sdk-nuxt 0.6.0 → 0.6.2
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/README.md +16 -1
- package/dist/module.cjs +0 -8
- package/dist/module.d.ts.map +1 -1
- package/dist/module.json +1 -1
- package/dist/module.mjs +0 -8
- package/dist/runtime/server/api/login.post.d.ts.map +1 -1
- package/dist/runtime/server/api/login.post.js +4 -2
- package/dist/types/index.d.ts +0 -9
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/module.ts +0 -8
- package/src/runtime/server/api/login.post.ts +4 -3
- package/src/types/index.ts +0 -10
- package/dist/runtime/composables/useEnfyraWebSocket.d.ts +0 -16
- package/dist/runtime/composables/useEnfyraWebSocket.d.ts.map +0 -1
- package/dist/runtime/composables/useEnfyraWebSocket.js +0 -94
- package/src/runtime/composables/useEnfyraWebSocket.ts +0 -127
package/README.md
CHANGED
|
@@ -157,7 +157,20 @@ The SDK automatically proxies all asset requests to your backend. Simply use `/a
|
|
|
157
157
|
- Supports all asset types: images, videos, documents, etc.
|
|
158
158
|
- Maintains proper authentication headers
|
|
159
159
|
|
|
160
|
-
##
|
|
160
|
+
## Available Composables
|
|
161
|
+
|
|
162
|
+
### `useEnfyraApi()`
|
|
163
|
+
|
|
164
|
+
**[See Documentation](./docs/useEnfyraApi.md)**
|
|
165
|
+
|
|
166
|
+
API composable with SSR support, error handling, and batch operations.
|
|
167
|
+
|
|
168
|
+
```typescript
|
|
169
|
+
const { data, pending, execute } = useEnfyraApi('/users', {
|
|
170
|
+
method: 'get',
|
|
171
|
+
errorContext: 'Fetch Users'
|
|
172
|
+
});
|
|
173
|
+
```
|
|
161
174
|
|
|
162
175
|
### `useEnfyra()`
|
|
163
176
|
|
|
@@ -176,6 +189,8 @@ const { baseUrl, apiPrefix } = useEnfyra();
|
|
|
176
189
|
|
|
177
190
|
### `useEnfyraAuth()`
|
|
178
191
|
|
|
192
|
+
**[See Documentation](./docs/useEnfyraAuth.md)**
|
|
193
|
+
|
|
179
194
|
Authentication composable with reactive state management.
|
|
180
195
|
|
|
181
196
|
```typescript
|
package/dist/module.cjs
CHANGED
|
@@ -67,10 +67,6 @@ enfyraSDK: {
|
|
|
67
67
|
{
|
|
68
68
|
name: "useEnfyraAuth",
|
|
69
69
|
from: resolve("./runtime/composables/useEnfyraAuth")
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
name: "useEnfyraWebSocket",
|
|
73
|
-
from: resolve("./runtime/composables/useEnfyraWebSocket")
|
|
74
70
|
}
|
|
75
71
|
]);
|
|
76
72
|
kit.addTypeTemplate({
|
|
@@ -85,10 +81,6 @@ declare module '#imports' {
|
|
|
85
81
|
export function useEnfyra(): UseEnfyraReturn
|
|
86
82
|
|
|
87
83
|
export function useEnfyraAuth(): import('@enfyra/sdk-nuxt/types').UseEnfyraAuthReturn
|
|
88
|
-
|
|
89
|
-
export type EnfyraWebSocketInstance = import('@enfyra/sdk-nuxt/types').EnfyraWebSocketInstance
|
|
90
|
-
|
|
91
|
-
export function useEnfyraWebSocket(path: string, options?: { reconnect?: boolean; reconnectInterval?: number; maxReconnectAttempts?: number }): EnfyraWebSocketInstance
|
|
92
84
|
}
|
|
93
85
|
`
|
|
94
86
|
});
|
package/dist/module.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;;AAED,
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;;AAED,wBA6HG"}
|
package/dist/module.json
CHANGED
package/dist/module.mjs
CHANGED
|
@@ -64,10 +64,6 @@ enfyraSDK: {
|
|
|
64
64
|
{
|
|
65
65
|
name: "useEnfyraAuth",
|
|
66
66
|
from: resolve("./runtime/composables/useEnfyraAuth")
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
name: "useEnfyraWebSocket",
|
|
70
|
-
from: resolve("./runtime/composables/useEnfyraWebSocket")
|
|
71
67
|
}
|
|
72
68
|
]);
|
|
73
69
|
addTypeTemplate({
|
|
@@ -82,10 +78,6 @@ declare module '#imports' {
|
|
|
82
78
|
export function useEnfyra(): UseEnfyraReturn
|
|
83
79
|
|
|
84
80
|
export function useEnfyraAuth(): import('@enfyra/sdk-nuxt/types').UseEnfyraAuthReturn
|
|
85
|
-
|
|
86
|
-
export type EnfyraWebSocketInstance = import('@enfyra/sdk-nuxt/types').EnfyraWebSocketInstance
|
|
87
|
-
|
|
88
|
-
export function useEnfyraWebSocket(path: string, options?: { reconnect?: boolean; reconnectInterval?: number; maxReconnectAttempts?: number }): EnfyraWebSocketInstance
|
|
89
81
|
}
|
|
90
82
|
`
|
|
91
83
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.post.d.ts","sourceRoot":"","sources":["../../../../src/runtime/server/api/login.post.ts"],"names":[],"mappings":";;;AAiBA,
|
|
1
|
+
{"version":3,"file":"login.post.d.ts","sourceRoot":"","sources":["../../../../src/runtime/server/api/login.post.ts"],"names":[],"mappings":";;;AAiBA,wBAsDG"}
|
|
@@ -43,8 +43,10 @@ export default defineEventHandler(async (event) => {
|
|
|
43
43
|
let errorMessage = "Authentication failed";
|
|
44
44
|
let errorCode = "AUTHENTICATION_ERROR";
|
|
45
45
|
if (errorData?.error) {
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
const msg = errorData.error.message || errorData.message;
|
|
47
|
+
errorMessage = typeof msg === "string" ? msg : errorMessage;
|
|
48
|
+
const code = errorData.error.code;
|
|
49
|
+
errorCode = typeof code === "string" ? code : errorCode;
|
|
48
50
|
}
|
|
49
51
|
return sendError(
|
|
50
52
|
event,
|
package/dist/types/index.d.ts
CHANGED
|
@@ -140,13 +140,4 @@ export interface UseEnfyraApiClientReturn<T> {
|
|
|
140
140
|
execute: (executeOpts?: ExecuteOptions) => Promise<T | T[] | null>;
|
|
141
141
|
}
|
|
142
142
|
export * from './auth';
|
|
143
|
-
export interface EnfyraWebSocketInstance {
|
|
144
|
-
connect: () => void;
|
|
145
|
-
close: () => void;
|
|
146
|
-
send: (event: string, data?: any) => void;
|
|
147
|
-
on: (event: string, callback: (...args: any[]) => void) => void;
|
|
148
|
-
off: (event: string, callback: (...args: any[]) => void) => void;
|
|
149
|
-
getWebSocket: () => WebSocket | null;
|
|
150
|
-
isConnected: () => boolean;
|
|
151
|
-
}
|
|
152
143
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/module.ts
CHANGED
|
@@ -96,10 +96,6 @@ export default defineNuxtModule<ModuleOptions>({
|
|
|
96
96
|
name: "useEnfyraAuth",
|
|
97
97
|
from: resolve("./runtime/composables/useEnfyraAuth"),
|
|
98
98
|
},
|
|
99
|
-
{
|
|
100
|
-
name: "useEnfyraWebSocket",
|
|
101
|
-
from: resolve("./runtime/composables/useEnfyraWebSocket"),
|
|
102
|
-
},
|
|
103
99
|
]);
|
|
104
100
|
addTypeTemplate({
|
|
105
101
|
filename: "types/enfyra-sdk.d.ts",
|
|
@@ -113,10 +109,6 @@ declare module '#imports' {
|
|
|
113
109
|
export function useEnfyra(): UseEnfyraReturn
|
|
114
110
|
|
|
115
111
|
export function useEnfyraAuth(): import('@enfyra/sdk-nuxt/types').UseEnfyraAuthReturn
|
|
116
|
-
|
|
117
|
-
export type EnfyraWebSocketInstance = import('@enfyra/sdk-nuxt/types').EnfyraWebSocketInstance
|
|
118
|
-
|
|
119
|
-
export function useEnfyraWebSocket(path: string, options?: { reconnect?: boolean; reconnectInterval?: number; maxReconnectAttempts?: number }): EnfyraWebSocketInstance
|
|
120
112
|
}
|
|
121
113
|
`,
|
|
122
114
|
});
|
|
@@ -50,9 +50,10 @@ export default defineEventHandler(async (event) => {
|
|
|
50
50
|
let errorCode = "AUTHENTICATION_ERROR";
|
|
51
51
|
|
|
52
52
|
if (errorData?.error) {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
53
|
+
const msg = errorData.error.message || errorData.message;
|
|
54
|
+
errorMessage = typeof msg === "string" ? msg : errorMessage;
|
|
55
|
+
const code = errorData.error.code;
|
|
56
|
+
errorCode = typeof code === "string" ? code : errorCode;
|
|
56
57
|
}
|
|
57
58
|
|
|
58
59
|
return sendError(
|
package/src/types/index.ts
CHANGED
|
@@ -163,13 +163,3 @@ export interface UseEnfyraApiClientReturn<T> {
|
|
|
163
163
|
|
|
164
164
|
export * from './auth';
|
|
165
165
|
|
|
166
|
-
export interface EnfyraWebSocketInstance {
|
|
167
|
-
connect: () => void;
|
|
168
|
-
close: () => void;
|
|
169
|
-
send: (event: string, data?: any) => void;
|
|
170
|
-
on: (event: string, callback: (...args: any[]) => void) => void;
|
|
171
|
-
off: (event: string, callback: (...args: any[]) => void) => void;
|
|
172
|
-
getWebSocket: () => WebSocket | null;
|
|
173
|
-
isConnected: () => boolean;
|
|
174
|
-
}
|
|
175
|
-
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export interface EnfyraWebSocketOptions {
|
|
2
|
-
reconnect?: boolean;
|
|
3
|
-
reconnectInterval?: number;
|
|
4
|
-
maxReconnectAttempts?: number;
|
|
5
|
-
}
|
|
6
|
-
export interface EnfyraWebSocketInstance {
|
|
7
|
-
connect: () => void;
|
|
8
|
-
close: () => void;
|
|
9
|
-
send: (event: string, data?: any) => void;
|
|
10
|
-
on: (event: string, callback: (...args: any[]) => void) => void;
|
|
11
|
-
off: (event: string, callback: (...args: any[]) => void) => void;
|
|
12
|
-
getWebSocket: () => WebSocket | null;
|
|
13
|
-
isConnected: () => boolean;
|
|
14
|
-
}
|
|
15
|
-
export declare function useEnfyraWebSocket(path: string, options?: EnfyraWebSocketOptions): EnfyraWebSocketInstance;
|
|
16
|
-
//# sourceMappingURL=useEnfyraWebSocket.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useEnfyraWebSocket.d.ts","sourceRoot":"","sources":["../../../src/runtime/composables/useEnfyraWebSocket.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAC1C,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,KAAK,IAAI,CAAC;IAChE,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,KAAK,IAAI,CAAC;IACjE,YAAY,EAAE,MAAM,SAAS,GAAG,IAAI,CAAC;IACrC,WAAW,EAAE,MAAM,OAAO,CAAC;CAC5B;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,sBAA2B,GAAG,uBAAuB,CA2G9G"}
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import { useRuntimeConfig } from "#imports";
|
|
2
|
-
import { normalizeUrl } from "../utils/url.js";
|
|
3
|
-
export function useEnfyraWebSocket(path, options = {}) {
|
|
4
|
-
const config = useRuntimeConfig().public.enfyraSDK;
|
|
5
|
-
const apiUrl = config?.apiUrl || process.env.API_URL || "http://localhost:1105";
|
|
6
|
-
let ws = null;
|
|
7
|
-
let reconnectTimer = null;
|
|
8
|
-
let reconnectAttempts = 0;
|
|
9
|
-
const listeners = /* @__PURE__ */ new Map();
|
|
10
|
-
const getWsUrl = (path2) => {
|
|
11
|
-
const url = apiUrl.replace(/^http/, "ws");
|
|
12
|
-
return normalizeUrl(url, path2);
|
|
13
|
-
};
|
|
14
|
-
const connect = () => {
|
|
15
|
-
if (ws && ws.readyState === WebSocket.OPEN) {
|
|
16
|
-
return;
|
|
17
|
-
}
|
|
18
|
-
ws = new WebSocket(getWsUrl(path));
|
|
19
|
-
ws.onopen = () => {
|
|
20
|
-
reconnectAttempts = 0;
|
|
21
|
-
emit("open");
|
|
22
|
-
};
|
|
23
|
-
ws.onmessage = (event) => {
|
|
24
|
-
try {
|
|
25
|
-
const parsed = JSON.parse(event.data);
|
|
26
|
-
const eventName = parsed.event || "message";
|
|
27
|
-
emit(eventName, parsed.data);
|
|
28
|
-
emit("message", parsed);
|
|
29
|
-
} catch {
|
|
30
|
-
emit("message", event.data);
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
ws.onclose = () => {
|
|
34
|
-
emit("close");
|
|
35
|
-
if (options.reconnect && (!options.maxReconnectAttempts || reconnectAttempts < (options.maxReconnectAttempts || 5))) {
|
|
36
|
-
reconnectTimer = setTimeout(() => {
|
|
37
|
-
reconnectAttempts++;
|
|
38
|
-
connect();
|
|
39
|
-
}, options.reconnectInterval || 3e3);
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
ws.onerror = (error) => {
|
|
43
|
-
emit("error", error);
|
|
44
|
-
};
|
|
45
|
-
};
|
|
46
|
-
const send = (event, data) => {
|
|
47
|
-
if (!ws || ws.readyState !== WebSocket.OPEN) {
|
|
48
|
-
throw new Error("WebSocket is not connected");
|
|
49
|
-
}
|
|
50
|
-
const payload = data !== void 0 ? { event, data } : { event };
|
|
51
|
-
ws.send(JSON.stringify(payload));
|
|
52
|
-
};
|
|
53
|
-
const close = () => {
|
|
54
|
-
if (reconnectTimer) {
|
|
55
|
-
clearTimeout(reconnectTimer);
|
|
56
|
-
reconnectTimer = null;
|
|
57
|
-
}
|
|
58
|
-
if (ws) {
|
|
59
|
-
ws.close();
|
|
60
|
-
ws = null;
|
|
61
|
-
}
|
|
62
|
-
};
|
|
63
|
-
const getWebSocket = () => ws;
|
|
64
|
-
const isConnected = () => {
|
|
65
|
-
return ws !== null && ws.readyState === WebSocket.OPEN;
|
|
66
|
-
};
|
|
67
|
-
const on = (event, callback) => {
|
|
68
|
-
if (!listeners.has(event)) {
|
|
69
|
-
listeners.set(event, /* @__PURE__ */ new Set());
|
|
70
|
-
}
|
|
71
|
-
listeners.get(event).add(callback);
|
|
72
|
-
};
|
|
73
|
-
const off = (event, callback) => {
|
|
74
|
-
const eventListeners = listeners.get(event);
|
|
75
|
-
if (eventListeners) {
|
|
76
|
-
eventListeners.delete(callback);
|
|
77
|
-
}
|
|
78
|
-
};
|
|
79
|
-
const emit = (event, ...args) => {
|
|
80
|
-
const eventListeners = listeners.get(event);
|
|
81
|
-
if (eventListeners) {
|
|
82
|
-
eventListeners.forEach((callback) => callback(...args));
|
|
83
|
-
}
|
|
84
|
-
};
|
|
85
|
-
return {
|
|
86
|
-
connect,
|
|
87
|
-
send,
|
|
88
|
-
close,
|
|
89
|
-
getWebSocket,
|
|
90
|
-
isConnected,
|
|
91
|
-
on,
|
|
92
|
-
off
|
|
93
|
-
};
|
|
94
|
-
}
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
import { useRuntimeConfig } from "#imports";
|
|
2
|
-
import { normalizeUrl } from "../utils/url";
|
|
3
|
-
|
|
4
|
-
export interface EnfyraWebSocketOptions {
|
|
5
|
-
reconnect?: boolean;
|
|
6
|
-
reconnectInterval?: number;
|
|
7
|
-
maxReconnectAttempts?: number;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export interface EnfyraWebSocketInstance {
|
|
11
|
-
connect: () => void;
|
|
12
|
-
close: () => void;
|
|
13
|
-
send: (event: string, data?: any) => void;
|
|
14
|
-
on: (event: string, callback: (...args: any[]) => void) => void;
|
|
15
|
-
off: (event: string, callback: (...args: any[]) => void) => void;
|
|
16
|
-
getWebSocket: () => WebSocket | null;
|
|
17
|
-
isConnected: () => boolean;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export function useEnfyraWebSocket(path: string, options: EnfyraWebSocketOptions = {}): EnfyraWebSocketInstance {
|
|
21
|
-
const config = useRuntimeConfig().public.enfyraSDK;
|
|
22
|
-
const apiUrl = config?.apiUrl || process.env.API_URL || 'http://localhost:1105';
|
|
23
|
-
|
|
24
|
-
let ws: WebSocket | null = null;
|
|
25
|
-
let reconnectTimer: ReturnType<typeof setTimeout> | null = null;
|
|
26
|
-
let reconnectAttempts = 0;
|
|
27
|
-
const listeners: Map<string, Set<(...args: any[]) => void>> = new Map();
|
|
28
|
-
|
|
29
|
-
const getWsUrl = (path: string): string => {
|
|
30
|
-
const url = apiUrl.replace(/^http/, 'ws');
|
|
31
|
-
return normalizeUrl(url, path);
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
const connect = (): void => {
|
|
35
|
-
if (ws && ws.readyState === WebSocket.OPEN) {
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
ws = new WebSocket(getWsUrl(path));
|
|
40
|
-
|
|
41
|
-
ws.onopen = () => {
|
|
42
|
-
reconnectAttempts = 0;
|
|
43
|
-
emit('open');
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
ws.onmessage = (event: MessageEvent) => {
|
|
47
|
-
try {
|
|
48
|
-
const parsed = JSON.parse(event.data);
|
|
49
|
-
const eventName = parsed.event || 'message';
|
|
50
|
-
emit(eventName, parsed.data);
|
|
51
|
-
emit('message', parsed);
|
|
52
|
-
} catch {
|
|
53
|
-
emit('message', event.data);
|
|
54
|
-
}
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
ws.onclose = () => {
|
|
58
|
-
emit('close');
|
|
59
|
-
if (options.reconnect && (!options.maxReconnectAttempts || reconnectAttempts < (options.maxReconnectAttempts || 5))) {
|
|
60
|
-
reconnectTimer = setTimeout(() => {
|
|
61
|
-
reconnectAttempts++;
|
|
62
|
-
connect();
|
|
63
|
-
}, options.reconnectInterval || 3000);
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
ws.onerror = (error: Event) => {
|
|
68
|
-
emit('error', error);
|
|
69
|
-
};
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
const send = (event: string, data?: any): void => {
|
|
73
|
-
if (!ws || ws.readyState !== WebSocket.OPEN) {
|
|
74
|
-
throw new Error('WebSocket is not connected');
|
|
75
|
-
}
|
|
76
|
-
const payload = data !== undefined ? { event, data } : { event };
|
|
77
|
-
ws.send(JSON.stringify(payload));
|
|
78
|
-
};
|
|
79
|
-
|
|
80
|
-
const close = (): void => {
|
|
81
|
-
if (reconnectTimer) {
|
|
82
|
-
clearTimeout(reconnectTimer);
|
|
83
|
-
reconnectTimer = null;
|
|
84
|
-
}
|
|
85
|
-
if (ws) {
|
|
86
|
-
ws.close();
|
|
87
|
-
ws = null;
|
|
88
|
-
}
|
|
89
|
-
};
|
|
90
|
-
|
|
91
|
-
const getWebSocket = (): WebSocket | null => ws;
|
|
92
|
-
|
|
93
|
-
const isConnected = (): boolean => {
|
|
94
|
-
return ws !== null && ws.readyState === WebSocket.OPEN;
|
|
95
|
-
};
|
|
96
|
-
|
|
97
|
-
const on = (event: string, callback: (...args: any[]) => void): void => {
|
|
98
|
-
if (!listeners.has(event)) {
|
|
99
|
-
listeners.set(event, new Set());
|
|
100
|
-
}
|
|
101
|
-
listeners.get(event)!.add(callback);
|
|
102
|
-
};
|
|
103
|
-
|
|
104
|
-
const off = (event: string, callback: (...args: any[]) => void): void => {
|
|
105
|
-
const eventListeners = listeners.get(event);
|
|
106
|
-
if (eventListeners) {
|
|
107
|
-
eventListeners.delete(callback);
|
|
108
|
-
}
|
|
109
|
-
};
|
|
110
|
-
|
|
111
|
-
const emit = (event: string, ...args: any[]): void => {
|
|
112
|
-
const eventListeners = listeners.get(event);
|
|
113
|
-
if (eventListeners) {
|
|
114
|
-
eventListeners.forEach(callback => callback(...args));
|
|
115
|
-
}
|
|
116
|
-
};
|
|
117
|
-
|
|
118
|
-
return {
|
|
119
|
-
connect,
|
|
120
|
-
send,
|
|
121
|
-
close,
|
|
122
|
-
getWebSocket,
|
|
123
|
-
isConnected,
|
|
124
|
-
on,
|
|
125
|
-
off,
|
|
126
|
-
};
|
|
127
|
-
}
|