@eleven-am/pondsocket 0.1.85 → 0.1.87

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.
Files changed (2) hide show
  1. package/nest.js +36 -6
  2. package/package.json +1 -1
package/nest.js CHANGED
@@ -50,6 +50,12 @@ const channelClassKey = Symbol('channel');
50
50
  const endpointClassKey = Symbol('endpoint');
51
51
  const channelsClassKey = Symbol('channels');
52
52
  const endpointsClassKey = Symbol('endpoints');
53
+ function isNotEmpty(value) {
54
+ return value !== null &&
55
+ value !== undefined &&
56
+ value !== '' &&
57
+ Object.keys(value).length !== 0;
58
+ }
53
59
  function createClassDecorator(key, value) {
54
60
  return (0, common_1.applyDecorators)((0, common_1.Injectable)(), (0, common_1.SetMetadata)(key, value));
55
61
  }
@@ -359,8 +365,16 @@ function OnJoinRequest() {
359
365
  const data = yield originalMethod.apply(instance, resolveJoinParameters(request, response, target, propertyKey));
360
366
  if (!response.hasResponded) {
361
367
  if (data) {
362
- const { event } = data, rest = __rest(data, ["event"]);
363
- response.send(event !== null && event !== void 0 ? event : 'response', rest);
368
+ const { event, presence, assigns } = data, rest = __rest(data, ["event", "presence", "assigns"]);
369
+ if (typeof event === 'string' && isNotEmpty(rest)) {
370
+ response.send(event, rest, assigns);
371
+ }
372
+ else if (assigns) {
373
+ response.accept(assigns);
374
+ }
375
+ if (presence) {
376
+ response.trackPresence(presence);
377
+ }
364
378
  }
365
379
  else {
366
380
  response.accept();
@@ -383,8 +397,19 @@ function OnEvent(event = '*') {
383
397
  const data = yield originalMethod.apply(instance, resolveEventParameters(request, response, target, propertyKey));
384
398
  if (!response.hasResponded) {
385
399
  if (data) {
386
- const { event } = data, rest = __rest(data, ["event"]);
387
- response.send(event !== null && event !== void 0 ? event : 'response', rest);
400
+ const { event, presence, updatePresence, assigns } = data, rest = __rest(data, ["event", "presence", "updatePresence", "assigns"]);
401
+ if (typeof event === 'string' && isNotEmpty(rest)) {
402
+ response.send(event, rest, assigns);
403
+ }
404
+ else if (assigns) {
405
+ response.accept(assigns);
406
+ }
407
+ if (presence) {
408
+ response.trackPresence(presence);
409
+ }
410
+ else if (updatePresence) {
411
+ response.updatePresence(updatePresence);
412
+ }
388
413
  }
389
414
  else {
390
415
  response.accept();
@@ -407,8 +432,13 @@ function OnConnectionRequest() {
407
432
  const data = yield originalMethod.apply(instance, resolveConnectionParameters(request, response, target, propertyKey));
408
433
  if (!response.hasResponded) {
409
434
  if (data) {
410
- const { event } = data, rest = __rest(data, ["event"]);
411
- response.send(event !== null && event !== void 0 ? event : 'response', rest);
435
+ const { event, assigns } = data, rest = __rest(data, ["event", "assigns"]);
436
+ if (typeof event === 'string' && isNotEmpty(rest)) {
437
+ response.send(event, rest, assigns);
438
+ }
439
+ else if (assigns) {
440
+ response.accept(assigns);
441
+ }
412
442
  }
413
443
  else {
414
444
  response.accept();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eleven-am/pondsocket",
3
- "version": "0.1.85",
3
+ "version": "0.1.87",
4
4
  "description": "PondSocket is a fast simple socket server",
5
5
  "keywords": [
6
6
  "socket",