@pathscale/wss-adapter 1.0.9 → 1.0.10
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/dist/types/index.d.ts +2 -9
- package/dist/wssAdapter.js +6 -11
- package/package.json +1 -1
- package/types/index.ts +2 -3
- package/wssAdapter.ts +9 -11
package/dist/types/index.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ interface IService {
|
|
|
9
9
|
}
|
|
10
10
|
declare type ISubscriptions = Record<string, unknown>;
|
|
11
11
|
interface IServiceConfig extends IService {
|
|
12
|
-
subscriptions
|
|
12
|
+
subscriptions?: ISubscriptions;
|
|
13
13
|
onDisconnect: (event: {
|
|
14
14
|
code: number;
|
|
15
15
|
reason: string;
|
|
@@ -26,10 +26,6 @@ interface IConfiguration {
|
|
|
26
26
|
timeout: number;
|
|
27
27
|
services: IServices;
|
|
28
28
|
errors: IErrors;
|
|
29
|
-
onError: (error: {
|
|
30
|
-
error: number;
|
|
31
|
-
message: string;
|
|
32
|
-
}) => void;
|
|
33
29
|
}
|
|
34
30
|
interface IServiceConnect {
|
|
35
31
|
connect<T>(payload: string | string[] | undefined, remote?: string): Promise<T>;
|
|
@@ -57,6 +53,7 @@ interface IPendingPromises {
|
|
|
57
53
|
resolve: (payload: unknown) => void;
|
|
58
54
|
reject: (error: Error) => void;
|
|
59
55
|
toHandler: ReturnType<typeof setTimeout>;
|
|
56
|
+
methodName: string;
|
|
60
57
|
};
|
|
61
58
|
}
|
|
62
59
|
interface IStore {
|
|
@@ -67,9 +64,5 @@ interface IStore {
|
|
|
67
64
|
sessions: ISessions;
|
|
68
65
|
subscriptions: ISubscriptions;
|
|
69
66
|
pendingPromises: IPendingPromises;
|
|
70
|
-
onError: (error: {
|
|
71
|
-
error: number;
|
|
72
|
-
message: string;
|
|
73
|
-
}) => void;
|
|
74
67
|
}
|
|
75
68
|
export { IStore, IWssAdapter, IServiceConfig, IConfiguration, IErrors, IServices, IService, };
|
package/dist/wssAdapter.js
CHANGED
|
@@ -25,15 +25,13 @@ var store = {
|
|
|
25
25
|
},
|
|
26
26
|
sessions: {},
|
|
27
27
|
pendingPromises: {},
|
|
28
|
-
onError: function () { },
|
|
29
28
|
};
|
|
30
29
|
wssAdapter.configure = function (configuration) {
|
|
31
|
-
var timeout = configuration.timeout, services = configuration.services, errors = configuration.errors
|
|
30
|
+
var timeout = configuration.timeout, services = configuration.services, errors = configuration.errors;
|
|
32
31
|
// save some stuff for later retrieval
|
|
33
32
|
store.timeout = timeout;
|
|
34
33
|
store.errors = errors;
|
|
35
34
|
store.services = services;
|
|
36
|
-
store.onError = onError;
|
|
37
35
|
var _loop_1 = function (serviceName, serviceConfig) {
|
|
38
36
|
// construct services objects with two simple functions
|
|
39
37
|
// intended use: `wssAdapter.services.admin.connect([1, 2, 3])` or `wssAdapter.services.auth.connect([1, 2, 3])`
|
|
@@ -112,19 +110,20 @@ var sendHandler = function (serviceName, serviceConfig, methodName, params) {
|
|
|
112
110
|
resolve: resolve,
|
|
113
111
|
reject: reject,
|
|
114
112
|
toHandler: setTimeout(function () {
|
|
115
|
-
reject(new Error(
|
|
113
|
+
reject(new Error(methodName + ' took to long, aborting'));
|
|
116
114
|
}, store.timeout),
|
|
115
|
+
methodName: methodName,
|
|
117
116
|
};
|
|
118
117
|
});
|
|
119
118
|
};
|
|
120
119
|
var receiveHandler = function (event) {
|
|
120
|
+
var _a;
|
|
121
121
|
var response = JSON.parse(event.data);
|
|
122
122
|
if (response.method || response.method === 0) {
|
|
123
|
-
console.log("app::".concat(response.method, " got:"), response);
|
|
123
|
+
console.log("app::".concat(((_a = store.pendingPromises[response.seq]) === null || _a === void 0 ? void 0 : _a.methodName) || response.method, " got:"), response);
|
|
124
124
|
var error = response.method === 0;
|
|
125
125
|
var done = response.method.toString().endsWith('1');
|
|
126
126
|
var resolve = function (payload, code) {
|
|
127
|
-
console.log(code);
|
|
128
127
|
var executor = store.pendingPromises[response.seq];
|
|
129
128
|
clearTimeout(store.pendingPromises[response.seq].toHandler);
|
|
130
129
|
delete store.pendingPromises[response.seq];
|
|
@@ -148,17 +147,13 @@ var receiveHandler = function (event) {
|
|
|
148
147
|
}
|
|
149
148
|
};
|
|
150
149
|
function onError(response) {
|
|
151
|
-
var _a
|
|
150
|
+
var _a;
|
|
152
151
|
var errorCode = response.params.error;
|
|
153
152
|
var errorMsg = (_a = store.errors[errorCode]) !== null && _a !== void 0 ? _a : errorCode;
|
|
154
153
|
if ([45349638, 45349637].includes(errorCode)) {
|
|
155
154
|
store.sequence.decreaseSeq();
|
|
156
155
|
console.log('seq has been decreased because of error');
|
|
157
156
|
}
|
|
158
|
-
(_b = store.onError) === null || _b === void 0 ? void 0 : _b.call(store, {
|
|
159
|
-
error: errorCode,
|
|
160
|
-
message: errorMsg,
|
|
161
|
-
});
|
|
162
157
|
// if there was only one executor saved in store.pendingPromises, then it was that request that failed
|
|
163
158
|
if (Object.keys(store.pendingPromises).length === 1) {
|
|
164
159
|
var onlyKey = Number.parseInt(Object.keys(store.pendingPromises)[0]);
|
package/package.json
CHANGED
package/types/index.ts
CHANGED
|
@@ -11,7 +11,7 @@ interface IService {
|
|
|
11
11
|
type ISubscriptions = Record<string, unknown>
|
|
12
12
|
|
|
13
13
|
interface IServiceConfig extends IService {
|
|
14
|
-
subscriptions
|
|
14
|
+
subscriptions?: ISubscriptions
|
|
15
15
|
onDisconnect: (event: {
|
|
16
16
|
code: number
|
|
17
17
|
reason: string
|
|
@@ -28,7 +28,6 @@ interface IConfiguration {
|
|
|
28
28
|
timeout: number
|
|
29
29
|
services: IServices
|
|
30
30
|
errors: IErrors
|
|
31
|
-
onError: (error: { error: number; message: string }) => void
|
|
32
31
|
}
|
|
33
32
|
interface IServiceConnect {
|
|
34
33
|
connect<T>(
|
|
@@ -62,6 +61,7 @@ interface IPendingPromises {
|
|
|
62
61
|
resolve: (payload: unknown) => void
|
|
63
62
|
reject: (error: Error) => void
|
|
64
63
|
toHandler: ReturnType<typeof setTimeout>
|
|
64
|
+
methodName: string
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
interface IStore {
|
|
@@ -72,7 +72,6 @@ interface IStore {
|
|
|
72
72
|
sessions: ISessions
|
|
73
73
|
subscriptions: ISubscriptions
|
|
74
74
|
pendingPromises: IPendingPromises
|
|
75
|
-
onError: (error: { error: number; message: string }) => void
|
|
76
75
|
}
|
|
77
76
|
export {
|
|
78
77
|
IStore,
|
package/wssAdapter.ts
CHANGED
|
@@ -29,17 +29,15 @@ const store: IStore = {
|
|
|
29
29
|
|
|
30
30
|
sessions: {},
|
|
31
31
|
pendingPromises: {},
|
|
32
|
-
onError() {},
|
|
33
32
|
}
|
|
34
33
|
|
|
35
34
|
wssAdapter.configure = (configuration) => {
|
|
36
|
-
const { timeout, services, errors
|
|
35
|
+
const { timeout, services, errors } = configuration
|
|
37
36
|
|
|
38
37
|
// save some stuff for later retrieval
|
|
39
38
|
store.timeout = timeout
|
|
40
39
|
store.errors = errors
|
|
41
40
|
store.services = services
|
|
42
|
-
store.onError = onError
|
|
43
41
|
|
|
44
42
|
for (const [serviceName, serviceConfig] of Object.entries(services)) {
|
|
45
43
|
// construct services objects with two simple functions
|
|
@@ -144,8 +142,9 @@ const sendHandler = (
|
|
|
144
142
|
resolve,
|
|
145
143
|
reject,
|
|
146
144
|
toHandler: setTimeout(() => {
|
|
147
|
-
reject(new Error(
|
|
145
|
+
reject(new Error(methodName + ' took to long, aborting'))
|
|
148
146
|
}, store.timeout),
|
|
147
|
+
methodName,
|
|
149
148
|
}
|
|
150
149
|
})
|
|
151
150
|
}
|
|
@@ -154,13 +153,17 @@ const receiveHandler = (event: { data: string }) => {
|
|
|
154
153
|
const response = JSON.parse(event.data)
|
|
155
154
|
|
|
156
155
|
if (response.method || response.method === 0) {
|
|
157
|
-
console.log(
|
|
156
|
+
console.log(
|
|
157
|
+
`app::${
|
|
158
|
+
store.pendingPromises[response.seq]?.methodName || response.method
|
|
159
|
+
} got:`,
|
|
160
|
+
response
|
|
161
|
+
)
|
|
158
162
|
|
|
159
163
|
const error = response.method === 0
|
|
160
164
|
const done = response.method.toString().endsWith('1')
|
|
161
165
|
|
|
162
166
|
const resolve = (payload: unknown, code: number) => {
|
|
163
|
-
console.log(code)
|
|
164
167
|
const executor = store.pendingPromises[response.seq]
|
|
165
168
|
clearTimeout(store.pendingPromises[response.seq].toHandler)
|
|
166
169
|
delete store.pendingPromises[response.seq]
|
|
@@ -205,11 +208,6 @@ function onError(response: IResponse) {
|
|
|
205
208
|
console.log('seq has been decreased because of error')
|
|
206
209
|
}
|
|
207
210
|
|
|
208
|
-
store.onError?.({
|
|
209
|
-
error: errorCode,
|
|
210
|
-
message: errorMsg,
|
|
211
|
-
})
|
|
212
|
-
|
|
213
211
|
// if there was only one executor saved in store.pendingPromises, then it was that request that failed
|
|
214
212
|
if (Object.keys(store.pendingPromises).length === 1) {
|
|
215
213
|
const onlyKey = Number.parseInt(Object.keys(store.pendingPromises)[0])
|