@pathscale/wss-adapter 1.0.10 → 1.0.13

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.
@@ -121,7 +121,7 @@ var receiveHandler = function (event) {
121
121
  var response = JSON.parse(event.data);
122
122
  if (response.method || response.method === 0) {
123
123
  console.log("app::".concat(((_a = store.pendingPromises[response.seq]) === null || _a === void 0 ? void 0 : _a.methodName) || response.method, " got:"), response);
124
- var error = response.method === 0;
124
+ var error = response.method === 0 || response.params.error;
125
125
  var done = response.method.toString().endsWith('1');
126
126
  var resolve = function (payload, code) {
127
127
  var executor = store.pendingPromises[response.seq];
@@ -139,7 +139,6 @@ var receiveHandler = function (event) {
139
139
  }
140
140
  }
141
141
  else if (response.resource) {
142
- console.log("app::".concat(response.resource, " got:"), response);
143
142
  var resource = response.resource.split('@')[0];
144
143
  //@ts-ignore
145
144
  var executor = store.subscriptions.app[resource];
@@ -147,20 +146,26 @@ var receiveHandler = function (event) {
147
146
  }
148
147
  };
149
148
  function onError(response) {
150
- var _a;
149
+ var _a, _b;
151
150
  var errorCode = response.params.error;
152
151
  var errorMsg = (_a = store.errors[errorCode]) !== null && _a !== void 0 ? _a : errorCode;
153
152
  if ([45349638, 45349637].includes(errorCode)) {
154
153
  store.sequence.decreaseSeq();
155
- console.log('seq has been decreased because of error');
156
154
  }
157
155
  // if there was only one executor saved in store.pendingPromises, then it was that request that failed
158
156
  if (Object.keys(store.pendingPromises).length === 1) {
159
157
  var onlyKey = Number.parseInt(Object.keys(store.pendingPromises)[0]);
160
158
  clearTimeout(store.pendingPromises[onlyKey].toHandler);
161
159
  store.pendingPromises[onlyKey].reject(new Error(errorMsg));
160
+ console.error(store.pendingPromises[onlyKey].methodName + ' failed');
162
161
  delete store.pendingPromises[onlyKey];
163
162
  }
163
+ else if (response.seq > 1 && store.pendingPromises[response.seq]) {
164
+ var executor = store.pendingPromises[response.seq];
165
+ clearTimeout(executor.toHandler);
166
+ executor.reject(new Error("".concat((_b = executor.methodName) !== null && _b !== void 0 ? _b : '', ": ").concat(errorCode || JSON.stringify(response.params))));
167
+ delete store.pendingPromises[response.seq];
168
+ }
164
169
  // if there were more than one, there is no way of knowing who failed
165
170
  else {
166
171
  throw new Error('Unkown request failed');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pathscale/wss-adapter",
3
- "version": "1.0.10",
3
+ "version": "1.0.13",
4
4
  "description": "Websocket adapter for the Pathscale WSS",
5
5
  "main": "dist/wssAdapter.js",
6
6
  "types": "dist/wssAdapter.d.ts",
package/wssAdapter.ts CHANGED
@@ -160,7 +160,7 @@ const receiveHandler = (event: { data: string }) => {
160
160
  response
161
161
  )
162
162
 
163
- const error = response.method === 0
163
+ const error = response.method === 0 || response.params.error
164
164
  const done = response.method.toString().endsWith('1')
165
165
 
166
166
  const resolve = (payload: unknown, code: number) => {
@@ -178,7 +178,6 @@ const receiveHandler = (event: { data: string }) => {
178
178
  resolve(response, code)
179
179
  }
180
180
  } else if (response.resource) {
181
- console.log(`app::${response.resource} got:`, response)
182
181
  const resource = response.resource.split('@')[0]
183
182
  //@ts-ignore
184
183
  const executor = store.subscriptions.app[resource] as (
@@ -197,6 +196,7 @@ interface IResponse {
197
196
  params: {
198
197
  error: number
199
198
  }
199
+ seq: number
200
200
  }
201
201
 
202
202
  function onError(response: IResponse) {
@@ -205,7 +205,6 @@ function onError(response: IResponse) {
205
205
 
206
206
  if ([45349638, 45349637].includes(errorCode)) {
207
207
  store.sequence.decreaseSeq()
208
- console.log('seq has been decreased because of error')
209
208
  }
210
209
 
211
210
  // if there was only one executor saved in store.pendingPromises, then it was that request that failed
@@ -213,9 +212,21 @@ function onError(response: IResponse) {
213
212
  const onlyKey = Number.parseInt(Object.keys(store.pendingPromises)[0])
214
213
  clearTimeout(store.pendingPromises[onlyKey].toHandler)
215
214
  store.pendingPromises[onlyKey].reject(new Error(errorMsg))
215
+ console.error(store.pendingPromises[onlyKey].methodName + ' failed')
216
216
  delete store.pendingPromises[onlyKey]
217
+ } else if (response.seq > 1 && store.pendingPromises[response.seq]) {
218
+ const executor = store.pendingPromises[response.seq]
219
+
220
+ clearTimeout(executor.toHandler)
221
+ executor.reject(
222
+ new Error(
223
+ `${executor.methodName ?? ''}: ${
224
+ errorCode || JSON.stringify(response.params)
225
+ }`
226
+ )
227
+ )
228
+ delete store.pendingPromises[response.seq]
217
229
  }
218
-
219
230
  // if there were more than one, there is no way of knowing who failed
220
231
  else {
221
232
  throw new Error('Unkown request failed')