@opra/socketio 1.22.7 → 1.22.9

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opra/socketio",
3
- "version": "1.22.7",
3
+ "version": "1.22.9",
4
4
  "description": "Opra Socket.IO adapter",
5
5
  "author": "Panates",
6
6
  "license": "MIT",
@@ -14,8 +14,8 @@
14
14
  "valgen": "^5.19.4"
15
15
  },
16
16
  "peerDependencies": {
17
- "@opra/common": "^1.22.7",
18
- "@opra/core": "^1.22.7",
17
+ "@opra/common": "^1.22.9",
18
+ "@opra/core": "^1.22.9",
19
19
  "socket.io": ">=4.0.0"
20
20
  },
21
21
  "type": "module",
@@ -41,6 +41,8 @@ export class SocketioAdapter extends PlatformAdapter {
41
41
  return this._scope;
42
42
  }
43
43
  async close() {
44
+ if (!this.server.engine)
45
+ return;
44
46
  return this.server.close().finally(() => {
45
47
  this._controllerInstances.clear();
46
48
  this._eventsRegByName.clear();
@@ -109,12 +111,13 @@ export class SocketioAdapter extends PlatformAdapter {
109
111
  this.emit('error', error, socket, this);
110
112
  });
111
113
  socket.onAny((event, ...args) => {
112
- const callback = args.length > 0 ? args[args.length - 1] : null;
114
+ const callback = args.length > 0 && typeof args[args.length - 1] === 'function'
115
+ ? args[args.length - 1]
116
+ : null;
113
117
  const reg = this._eventsRegByName.get(event) ||
114
118
  this._eventsRegByPattern.find(r => r.event.test(event));
115
119
  if (!reg) {
116
- if (callback)
117
- callback(new OpraException(`Unknown event "${event}"`));
120
+ callback?.(new OpraException(`Unknown event "${event}"`));
118
121
  return;
119
122
  }
120
123
  Promise.resolve().then(async () => {
@@ -148,13 +151,17 @@ export class SocketioAdapter extends PlatformAdapter {
148
151
  i++;
149
152
  }
150
153
  let x = await reg.handler.apply(reg.contDef.instance, callArgs);
151
- if (reg.encoder)
152
- x = reg.encoder(x);
153
- callback(x);
154
+ if (callback) {
155
+ if (reg.encoder)
156
+ x = reg.encoder(x);
157
+ callback(x);
158
+ }
154
159
  }
155
160
  catch (err) {
156
- const error = err instanceof OpraException ? err : new OpraException(err);
157
- callback({ errors: [error] });
161
+ if (callback) {
162
+ const error = err instanceof OpraException ? err : new OpraException(err);
163
+ callback({ errors: [error] });
164
+ }
158
165
  }
159
166
  });
160
167
  });