@rc-ex/ws 1.0.10 → 1.1.0

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 CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  WebSocket Extension adds support for WebSocket protocol.
4
4
 
5
- Please do read this article: [Create WebSocket subscriptions using RingCentral JavaScript SDKs](https://medium.com/@tylerlong/create-websocket-subscriptions-using-ringcentral-javascript-sdks-1204ce5843b8).
5
+ Please read this article: [Create WebSocket subscriptions using RingCentral JavaScript SDKs](https://medium.com/@tylerlong/create-websocket-subscriptions-using-ringcentral-javascript-sdks-1204ce5843b8).
6
6
 
7
7
 
8
8
  ## Install
@@ -46,6 +46,10 @@ const extInfo = await rc.restapi().account().extension().get();
46
46
  console.log(extInfo.id);
47
47
  ```
48
48
 
49
+ ## Known limitations
50
+
51
+ Each `WebSocketExtension` can only have 1 subscription. Trying to invoke `subscribe` multiple times will **override** the previous subscriptions.
52
+ If you need to create multiple subscriptions, you need to create multiple `WebSocketExtension`.
49
53
 
50
54
  ## WebSocketOptions
51
55
 
package/lib/index.d.ts CHANGED
@@ -26,7 +26,7 @@ declare class WebSocketExtension extends SdkExtension {
26
26
  ws: WS;
27
27
  connectionDetails: ConnectionDetails;
28
28
  wsc?: Wsc;
29
- subscriptions: Subscription[];
29
+ subscription?: Subscription;
30
30
  intervalHandle?: NodeJS.Timeout;
31
31
  recoverTimestamp?: number;
32
32
  pingServerHandle?: NodeJS.Timeout;
package/lib/index.js CHANGED
@@ -33,7 +33,6 @@ class WebSocketExtension extends SdkExtension_1.default {
33
33
  super();
34
34
  this.eventEmitter = new events_1.EventEmitter();
35
35
  this.wsTokenExpiresAt = 0;
36
- this.subscriptions = [];
37
36
  this.request = rest_1.request; // request method was moved to another file to keep this file short
38
37
  this.options = options;
39
38
  (_a = (_f = this.options).restOverWebSocket) !== null && _a !== void 0 ? _a : (_f.restOverWebSocket = false);
@@ -48,11 +47,10 @@ class WebSocketExtension extends SdkExtension_1.default {
48
47
  (_e = (_k = this.options.autoRecover).pingServerInterval) !== null && _e !== void 0 ? _e : (_k.pingServerInterval = 30000);
49
48
  }
50
49
  disable() {
51
- var _a;
52
50
  super.disable();
53
- ((_a = this.subscriptions) !== null && _a !== void 0 ? _a : []).forEach((subscription) => {
54
- subscription.enabled = false;
55
- });
51
+ if (this.subscription) {
52
+ this.subscription.enabled = false;
53
+ }
56
54
  }
57
55
  async install(rc) {
58
56
  this.rc = rc;
@@ -293,31 +291,29 @@ class WebSocketExtension extends SdkExtension_1.default {
293
291
  this.connectionDetails = body;
294
292
  // fired when ws connection is ready for creating subscription
295
293
  this.eventEmitter.emit(Events.connectionReady, this.ws);
296
- // recover all subscriptions, if there are any
297
- for (const subscription of this.subscriptions.filter((sub) => sub.enabled)) {
294
+ // recover the subscription, if it exists and enabled
295
+ if (this.subscription && this.subscription.enabled) {
298
296
  // because we have a new ws object
299
- subscription.setupWsEventListener();
297
+ this.subscription.setupWsEventListener();
300
298
  if (!recoverSession
301
299
  || this.connectionDetails.recoveryState === 'Failed') {
302
300
  // create new subscription if don't recover existing one
303
- await subscription.subscribe();
301
+ await this.subscription.subscribe();
304
302
  }
305
303
  }
306
304
  }
307
305
  // keepInterval means we do not clear the interval
308
306
  async revoke(keepInterval = false) {
309
- var _a;
310
- for (const subscription of this.subscriptions) {
311
- await subscription.revoke();
312
- }
313
- this.subscriptions = [];
307
+ var _a, _b;
308
+ await ((_a = this.subscription) === null || _a === void 0 ? void 0 : _a.revoke());
309
+ this.subscription = undefined;
314
310
  if (!keepInterval && this.intervalHandle) {
315
311
  clearInterval(this.intervalHandle);
316
312
  }
317
313
  if (this.pingServerHandle) {
318
314
  clearTimeout(this.pingServerHandle);
319
315
  }
320
- (_a = this.ws) === null || _a === void 0 ? void 0 : _a.close();
316
+ (_b = this.ws) === null || _b === void 0 ? void 0 : _b.close();
321
317
  this.wsc = undefined;
322
318
  this.wsToken = undefined;
323
319
  this.wsTokenExpiresAt = 0;
@@ -332,7 +328,7 @@ class WebSocketExtension extends SdkExtension_1.default {
332
328
  subscription.subscriptionInfo = cache;
333
329
  await subscription.refresh();
334
330
  }
335
- this.subscriptions.push(subscription);
331
+ this.subscription = subscription;
336
332
  return subscription;
337
333
  }
338
334
  }
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -12,9 +12,7 @@ declare class Subscription {
12
12
  constructor(wse: WebSocketExtensionInterface, eventFilters: string[], callback: (event: {}) => void);
13
13
  setupWsEventListener(): void;
14
14
  get requestBody(): CreateSubscriptionRequest;
15
- _subscriptionInfo?: SubscriptionInfo;
16
- get subscriptionInfo(): SubscriptionInfo | undefined;
17
- set subscriptionInfo(_subscription: SubscriptionInfo | undefined);
15
+ subscriptionInfo?: SubscriptionInfo;
18
16
  subscribe(): Promise<void>;
19
17
  refresh(): Promise<void>;
20
18
  revoke(): Promise<void>;
@@ -29,22 +29,6 @@ class Subscription {
29
29
  eventFilters: this.eventFilters,
30
30
  };
31
31
  }
32
- get subscriptionInfo() {
33
- return this._subscriptionInfo;
34
- }
35
- set subscriptionInfo(_subscription) {
36
- var _a;
37
- this._subscriptionInfo = _subscription;
38
- if (this.timeout) {
39
- global.clearTimeout(this.timeout);
40
- this.timeout = undefined;
41
- }
42
- if (_subscription) {
43
- this.timeout = global.setTimeout(() => {
44
- this.refresh();
45
- }, (((_a = _subscription.expiresIn) !== null && _a !== void 0 ? _a : 900) - 120) * 1000);
46
- }
47
- }
48
32
  async subscribe() {
49
33
  this.subscriptionInfo = (await this.wse.request('POST', '/restapi/v1.0/subscription', this.requestBody)).data;
50
34
  }
@@ -100,7 +84,7 @@ class Subscription {
100
84
  if (this.wse.ws) {
101
85
  this.wse.ws.removeEventListener('message', this.eventListener);
102
86
  }
103
- this.wse.subscriptions = this.wse.subscriptions.filter((x) => x !== this);
87
+ this.wse.subscription = undefined;
104
88
  }
105
89
  }
106
90
  exports.default = Subscription;
@@ -1 +1 @@
1
- {"version":3,"file":"subscription.js","sourceRoot":"","sources":["../src/subscription.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subscription.js","sourceRoot":"","sources":["../src/subscription.ts"],"names":[],"mappings":"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"}
package/lib/types.d.ts CHANGED
@@ -51,7 +51,7 @@ export type ConnectionDetails = {
51
51
  };
52
52
  export interface WebSocketExtensionInterface {
53
53
  options: WebSocketOptions;
54
- subscriptions: SubscriptionInterface[];
54
+ subscription?: SubscriptionInterface;
55
55
  ws: WS;
56
56
  wsToken?: WsToken;
57
57
  rc: RingCentral;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rc-ex/ws",
3
- "version": "1.0.10",
3
+ "version": "1.1.0",
4
4
  "description": "WebSocket extension for ringcentral-extensible project",
5
5
  "author": "Tyler Liu <tyler.liu@ringcentral.com>",
6
6
  "homepage": "https://github.com/ringcentral/ringcentral-extensible/tree/master/packages/extensions/ws",
@@ -26,7 +26,7 @@
26
26
  "ws": "^8.13.0"
27
27
  },
28
28
  "devDependencies": {
29
- "@rc-ex/core": "^1.2.1"
29
+ "@rc-ex/core": "^1.3.0"
30
30
  },
31
- "gitHead": "f3dd9ef6804c65cbaa12a3d1d61cfae7717f2e8d"
31
+ "gitHead": "d4e3baaab68b491b0e532ad6c8fa6bd16703c75d"
32
32
  }
package/src/index.ts CHANGED
@@ -57,7 +57,7 @@ class WebSocketExtension extends SdkExtension {
57
57
 
58
58
  wsc?: Wsc;
59
59
 
60
- subscriptions: Subscription[] = [];
60
+ subscription?: Subscription;
61
61
 
62
62
  // for auto recover
63
63
  intervalHandle?: NodeJS.Timeout;
@@ -85,9 +85,9 @@ class WebSocketExtension extends SdkExtension {
85
85
 
86
86
  disable() {
87
87
  super.disable();
88
- (this.subscriptions ?? []).forEach((subscription) => {
89
- subscription.enabled = false;
90
- });
88
+ if (this.subscription) {
89
+ this.subscription.enabled = false;
90
+ }
91
91
  }
92
92
 
93
93
  async install(rc: RingCentral) {
@@ -367,28 +367,24 @@ class WebSocketExtension extends SdkExtension {
367
367
  // fired when ws connection is ready for creating subscription
368
368
  this.eventEmitter.emit(Events.connectionReady, this.ws);
369
369
 
370
- // recover all subscriptions, if there are any
371
- for (const subscription of this.subscriptions.filter(
372
- (sub) => sub.enabled,
373
- )) {
370
+ // recover the subscription, if it exists and enabled
371
+ if (this.subscription && this.subscription.enabled) {
374
372
  // because we have a new ws object
375
- subscription.setupWsEventListener();
373
+ this.subscription.setupWsEventListener();
376
374
  if (
377
375
  !recoverSession
378
376
  || this.connectionDetails.recoveryState === 'Failed'
379
377
  ) {
380
378
  // create new subscription if don't recover existing one
381
- await subscription.subscribe();
379
+ await this.subscription.subscribe();
382
380
  }
383
381
  }
384
382
  }
385
383
 
386
384
  // keepInterval means we do not clear the interval
387
385
  async revoke(keepInterval = false) {
388
- for (const subscription of this.subscriptions) {
389
- await subscription.revoke();
390
- }
391
- this.subscriptions = [];
386
+ await this.subscription?.revoke();
387
+ this.subscription = undefined;
392
388
  if (!keepInterval && this.intervalHandle) {
393
389
  clearInterval(this.intervalHandle);
394
390
  }
@@ -414,7 +410,7 @@ class WebSocketExtension extends SdkExtension {
414
410
  subscription.subscriptionInfo = cache;
415
411
  await subscription.refresh();
416
412
  }
417
- this.subscriptions.push(subscription);
413
+ this.subscription = subscription;
418
414
  return subscription;
419
415
  }
420
416
  }
@@ -50,24 +50,7 @@ class Subscription {
50
50
  };
51
51
  }
52
52
 
53
- _subscriptionInfo?: SubscriptionInfo;
54
-
55
- get subscriptionInfo(): SubscriptionInfo | undefined {
56
- return this._subscriptionInfo;
57
- }
58
-
59
- set subscriptionInfo(_subscription) {
60
- this._subscriptionInfo = _subscription;
61
- if (this.timeout) {
62
- global.clearTimeout(this.timeout);
63
- this.timeout = undefined;
64
- }
65
- if (_subscription) {
66
- this.timeout = global.setTimeout(() => {
67
- this.refresh();
68
- }, ((_subscription.expiresIn ?? 900) - 120) * 1000);
69
- }
70
- }
53
+ subscriptionInfo?: SubscriptionInfo;
71
54
 
72
55
  async subscribe() {
73
56
  this.subscriptionInfo = (
@@ -141,7 +124,7 @@ class Subscription {
141
124
  if (this.wse.ws) {
142
125
  this.wse.ws.removeEventListener('message', this.eventListener);
143
126
  }
144
- this.wse.subscriptions = this.wse.subscriptions.filter((x) => x !== this);
127
+ this.wse.subscription = undefined;
145
128
  }
146
129
  }
147
130
 
package/src/types.ts CHANGED
@@ -63,7 +63,7 @@ export type ConnectionDetails = {
63
63
 
64
64
  export interface WebSocketExtensionInterface {
65
65
  options: WebSocketOptions;
66
- subscriptions: SubscriptionInterface[];
66
+ subscription?: SubscriptionInterface;
67
67
  ws: WS;
68
68
  wsToken?: WsToken;
69
69
  rc: RingCentral;