@rc-ex/ws 0.16.1 → 0.17.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.
Files changed (38) hide show
  1. package/lib/exceptions/ClosedException.d.ts +4 -0
  2. package/lib/exceptions/ClosedException.js +9 -0
  3. package/lib/exceptions/ClosedException.js.map +1 -0
  4. package/lib/exceptions/ConnectionException.d.ts +7 -0
  5. package/lib/exceptions/ConnectionException.js +16 -0
  6. package/lib/exceptions/ConnectionException.js.map +1 -0
  7. package/lib/exceptions/TimeoutException.d.ts +4 -0
  8. package/lib/exceptions/TimeoutException.js +9 -0
  9. package/lib/exceptions/TimeoutException.js.map +1 -0
  10. package/lib/index.d.ts +2 -1
  11. package/lib/index.js +25 -22
  12. package/lib/index.js.map +1 -1
  13. package/lib/rest.d.ts +3 -3
  14. package/lib/rest.js +18 -20
  15. package/lib/rest.js.map +1 -1
  16. package/lib/subscription.d.ts +6 -4
  17. package/lib/subscription.js +15 -9
  18. package/lib/subscription.js.map +1 -1
  19. package/lib/types.d.ts +14 -0
  20. package/lib/types.js.map +1 -1
  21. package/lib/utils.d.ts +1 -1
  22. package/lib/utils.js +14 -12
  23. package/lib/utils.js.map +1 -1
  24. package/package.json +11 -5
  25. package/src/exceptions/ClosedException.ts +7 -0
  26. package/src/exceptions/ConnectionException.ts +17 -0
  27. package/src/exceptions/TimeoutException.ts +7 -0
  28. package/{index.ts → src/index.ts} +50 -36
  29. package/{rest.ts → src/rest.ts} +26 -26
  30. package/{subscription.ts → src/subscription.ts} +41 -32
  31. package/{types.ts → src/types.ts} +27 -5
  32. package/{utils.ts → src/utils.ts} +15 -14
  33. package/tsconfig.json +3 -2
  34. package/exceptions.ts +0 -25
  35. package/lib/exceptions.d.ts +0 -12
  36. package/lib/exceptions.js +0 -29
  37. package/lib/exceptions.js.map +0 -1
  38. package/lib/package.json +0 -31
@@ -0,0 +1,4 @@
1
+ declare class ClosedException extends Error {
2
+ constructor(message?: string);
3
+ }
4
+ export default ClosedException;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class ClosedException extends Error {
4
+ constructor(message) {
5
+ super(message !== null && message !== void 0 ? message : 'WebSocket has been closed');
6
+ }
7
+ }
8
+ exports.default = ClosedException;
9
+ //# sourceMappingURL=ClosedException.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClosedException.js","sourceRoot":"","sources":["../../src/exceptions/ClosedException.ts"],"names":[],"mappings":";;AAAA,MAAM,eAAgB,SAAQ,KAAK;IACjC,YAAY,OAAgB;QAC1B,KAAK,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,2BAA2B,CAAC,CAAC;IAChD,CAAC;CACF;AAED,kBAAe,eAAe,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { WsgError, WsgEvent } from '../types';
2
+ declare class ConnectionException extends Error {
3
+ wsgEvent: WsgEvent;
4
+ wsgError: WsgError;
5
+ constructor(wsgEvent: WsgEvent);
6
+ }
7
+ export default ConnectionException;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const utils_1 = __importDefault(require("../utils"));
7
+ class ConnectionException extends Error {
8
+ constructor(wsgEvent) {
9
+ const [, wsgError] = utils_1.default.splitWsgData(wsgEvent.data);
10
+ super(JSON.stringify(wsgError, null, 2));
11
+ this.wsgEvent = wsgEvent;
12
+ this.wsgError = wsgError;
13
+ }
14
+ }
15
+ exports.default = ConnectionException;
16
+ //# sourceMappingURL=ConnectionException.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConnectionException.js","sourceRoot":"","sources":["../../src/exceptions/ConnectionException.ts"],"names":[],"mappings":";;;;;AACA,qDAA6B;AAE7B,MAAM,mBAAoB,SAAQ,KAAK;IAKrC,YAAY,QAAkB;QAC5B,MAAM,CAAC,EAAE,QAAQ,CAAC,GAAwB,eAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC5E,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF;AAED,kBAAe,mBAAmB,CAAC"}
@@ -0,0 +1,4 @@
1
+ declare class TimeoutException extends Error {
2
+ constructor(message?: string);
3
+ }
4
+ export default TimeoutException;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class TimeoutException extends Error {
4
+ constructor(message) {
5
+ super(message !== null && message !== void 0 ? message : 'Failed to receive expected WebSocket message in time.');
6
+ }
7
+ }
8
+ exports.default = TimeoutException;
9
+ //# sourceMappingURL=TimeoutException.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimeoutException.js","sourceRoot":"","sources":["../../src/exceptions/TimeoutException.ts"],"names":[],"mappings":";;AAAA,MAAM,gBAAiB,SAAQ,KAAK;IAClC,YAAY,OAAgB;QAC1B,KAAK,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,uDAAuD,CAAC,CAAC;IAC5E,CAAC;CACF;AAED,kBAAe,gBAAgB,CAAC"}
package/lib/index.d.ts CHANGED
@@ -1,10 +1,11 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="ws" />
3
+ /// <reference types="node" />
3
4
  import RingCentral from '@rc-ex/core';
4
5
  import SdkExtension from '@rc-ex/core/lib/SdkExtension';
5
6
  import WS from 'isomorphic-ws';
6
7
  import { EventEmitter } from 'events';
7
- import { SubscriptionInfo } from '@rc-ex/core/lib/definitions';
8
+ import SubscriptionInfo from '@rc-ex/core/lib/definitions/SubscriptionInfo';
8
9
  import { request } from './rest';
9
10
  import { WsToken, ConnectionDetails, WebSocketOptions, Wsc } from './types';
10
11
  import Subscription from './subscription';
package/lib/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -32,7 +36,7 @@ const RestException_1 = __importDefault(require("@rc-ex/core/lib/RestException")
32
36
  const debounce_1 = __importDefault(require("lodash/debounce"));
33
37
  const rest_1 = require("./rest");
34
38
  const subscription_1 = __importDefault(require("./subscription"));
35
- const exceptions_1 = require("./exceptions");
39
+ const ConnectionException_1 = __importDefault(require("./exceptions/ConnectionException"));
36
40
  const utils_1 = __importDefault(require("./utils"));
37
41
  const uuid = (0, hyperid_1.default)();
38
42
  var Events;
@@ -58,7 +62,7 @@ class WebSocketExtension extends SdkExtension_1.default {
58
62
  (_c = (_h = this.options).autoRecover) !== null && _c !== void 0 ? _c : (_h.autoRecover = {
59
63
  enabled: true,
60
64
  });
61
- (_d = (_j = this.options.autoRecover).checkInterval) !== null && _d !== void 0 ? _d : (_j.checkInterval = retriesAttempted => {
65
+ (_d = (_j = this.options.autoRecover).checkInterval) !== null && _d !== void 0 ? _d : (_j.checkInterval = (retriesAttempted) => {
62
66
  const interval = 2000 + 2000 * retriesAttempted;
63
67
  return Math.min(8000, interval);
64
68
  });
@@ -75,9 +79,9 @@ class WebSocketExtension extends SdkExtension_1.default {
75
79
  disable() {
76
80
  var _a;
77
81
  super.disable();
78
- for (const subscription of (_a = this.subscriptions) !== null && _a !== void 0 ? _a : []) {
82
+ ((_a = this.subscriptions) !== null && _a !== void 0 ? _a : []).forEach((subscription) => {
79
83
  subscription.enabled = false;
80
- }
84
+ });
81
85
  }
82
86
  async install(rc) {
83
87
  this.rc = rc;
@@ -90,9 +94,9 @@ class WebSocketExtension extends SdkExtension_1.default {
90
94
  }
91
95
  if (
92
96
  // the following cannot be done with WebSocket
93
- ((_b = (_a = config === null || config === void 0 ? void 0 : config.headers) === null || _a === void 0 ? void 0 : _a['Content-Type']) === null || _b === void 0 ? void 0 : _b.includes('multipart/form-data')) ||
94
- (config === null || config === void 0 ? void 0 : config.responseType) === 'arraybuffer' ||
95
- endpoint.startsWith('/restapi/oauth/') // token, revoke, wstoken
97
+ ((_b = (_a = config === null || config === void 0 ? void 0 : config.headers) === null || _a === void 0 ? void 0 : _a['Content-Type']) === null || _b === void 0 ? void 0 : _b.includes('multipart/form-data'))
98
+ || (config === null || config === void 0 ? void 0 : config.responseType) === 'arraybuffer'
99
+ || endpoint.startsWith('/restapi/oauth/') // token, revoke, wstoken
96
100
  ) {
97
101
  return request(method, endpoint, content, queryParams, config);
98
102
  }
@@ -186,9 +190,9 @@ class WebSocketExtension extends SdkExtension_1.default {
186
190
  if (this.recoverTimestamp === undefined) {
187
191
  this.recoverTimestamp = Date.now();
188
192
  }
189
- if (this.connectionDetails !== undefined &&
190
- Date.now() - this.recoverTimestamp >
191
- this.connectionDetails.recoveryTimeout * 1000) {
193
+ if (this.connectionDetails !== undefined
194
+ && Date.now() - this.recoverTimestamp
195
+ > this.connectionDetails.recoveryTimeout * 1000) {
192
196
  if (this.options.debugMode) {
193
197
  console.debug('connect to WSG but do not recover');
194
198
  }
@@ -232,8 +236,7 @@ class WebSocketExtension extends SdkExtension_1.default {
232
236
  if (Date.now() > this.wsTokenExpiresAt) {
233
237
  const r = await this.rc.post('/restapi/oauth/wstoken');
234
238
  this.wsToken = r.data;
235
- this.wsTokenExpiresAt =
236
- Date.now() + (this.wsToken.expires_in - 10) * 1000;
239
+ this.wsTokenExpiresAt = Date.now() + (this.wsToken.expires_in - 10) * 1000;
237
240
  }
238
241
  let wsUri = '';
239
242
  if (this.wsToken) {
@@ -271,26 +274,26 @@ class WebSocketExtension extends SdkExtension_1.default {
271
274
  this.ws.addEventListener('message', (mEvent) => {
272
275
  const event = mEvent;
273
276
  const [meta, body] = utils_1.default.splitWsgData(event.data);
274
- if (meta.wsc &&
275
- (!this.wsc ||
276
- (meta.type === 'ConnectionDetails' && body.recoveryState) ||
277
- this.wsc.sequence < meta.wsc.sequence)) {
277
+ if (meta.wsc
278
+ && (!this.wsc
279
+ || (meta.type === 'ConnectionDetails' && body.recoveryState)
280
+ || this.wsc.sequence < meta.wsc.sequence)) {
278
281
  this.wsc = meta.wsc;
279
282
  this.eventEmitter.emit(Events.newWsc, this.wsc);
280
283
  }
281
284
  });
282
285
  // get initial ConnectionDetails data
283
- const [meta, body, event] = await utils_1.default.waitForWebSocketMessage(this.ws, meta => meta.type === 'ConnectionDetails' || meta.type === 'Error');
286
+ const [meta, body, event] = await utils_1.default.waitForWebSocketMessage(this.ws, (meta) => meta.type === 'ConnectionDetails' || meta.type === 'Error');
284
287
  if (meta.type === 'Error') {
285
- throw new exceptions_1.ConnectionException(event);
288
+ throw new ConnectionException_1.default(event);
286
289
  }
287
290
  this.connectionDetails = body;
288
291
  // recover all subscriptions, if there are any
289
- for (const subscription of this.subscriptions.filter(sub => sub.enabled)) {
292
+ for (const subscription of this.subscriptions.filter((sub) => sub.enabled)) {
290
293
  // because we have a new ws object
291
294
  subscription.setupWsEventListener();
292
- if (!recoverSession ||
293
- this.connectionDetails.recoveryState === 'Failed') {
295
+ if (!recoverSession
296
+ || this.connectionDetails.recoveryState === 'Failed') {
294
297
  // create new subscription if don't recover existing one
295
298
  await subscription.subscribe();
296
299
  }
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../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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"}
package/lib/rest.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- import { RestMethod, RestRequestConfig, RestResponse } from '@rc-ex/core/lib/Rest';
2
- import WebSocketExtension from './index';
3
- export declare function request<T>(this: WebSocketExtension, method: RestMethod, endpoint: string, content?: {}, queryParams?: {}, config?: RestRequestConfig): Promise<RestResponse<T>>;
1
+ import { RestMethod, RestRequestConfig, RestResponse } from '@rc-ex/core/lib/types';
2
+ import { WebSocketExtensionInterface } from './types';
3
+ export declare function request<T>(this: WebSocketExtensionInterface, method: RestMethod, endpoint: string, content?: {}, queryParams?: {}, config?: RestRequestConfig): Promise<RestResponse<T>>;
package/lib/rest.js CHANGED
@@ -7,54 +7,52 @@ exports.request = void 0;
7
7
  const RestException_1 = __importDefault(require("@rc-ex/core/lib/RestException"));
8
8
  const hyperid_1 = __importDefault(require("hyperid"));
9
9
  const http_status_codes_1 = require("http-status-codes");
10
- const package_json_1 = require("./package.json");
11
10
  const utils_1 = __importDefault(require("./utils"));
11
+ const version = '0.16';
12
12
  const uuid = (0, hyperid_1.default)();
13
13
  async function request(method, endpoint, content, queryParams, config) {
14
14
  var _a;
15
- const _config = {
16
- method: method,
15
+ const newConfig = {
16
+ method,
17
17
  baseURL: (_a = this.wsToken) === null || _a === void 0 ? void 0 : _a.uri,
18
18
  url: endpoint,
19
19
  data: content,
20
20
  params: queryParams,
21
21
  ...config,
22
22
  };
23
- _config.headers = {
24
- ..._config.headers,
25
- 'X-User-Agent': `${this.rc.rest.appName}/${this.rc.rest.appVersion} ringcentral-extensible/ws/${package_json_1.version}`,
23
+ newConfig.headers = {
24
+ ...newConfig.headers,
25
+ 'X-User-Agent': `${this.rc.rest.appName}/${this.rc.rest.appVersion} ringcentral-extensible/ws/${version}`,
26
26
  };
27
27
  const messageId = uuid();
28
28
  const requestBody = [
29
29
  {
30
30
  type: 'ClientRequest',
31
31
  messageId,
32
- method: _config.method,
33
- path: _config.url,
34
- headers: _config.headers,
35
- query: _config.params,
32
+ method: newConfig.method,
33
+ path: newConfig.url,
34
+ headers: newConfig.headers,
35
+ query: newConfig.params,
36
36
  },
37
37
  ];
38
- if (_config.data) {
39
- requestBody.push(_config.data);
38
+ if (newConfig.data) {
39
+ requestBody.push(newConfig.data);
40
40
  }
41
41
  await this.ws.send(JSON.stringify(requestBody));
42
- const [meta, body] = await utils_1.default.waitForWebSocketMessage(this.ws, meta => meta.messageId === messageId);
42
+ const [meta, body] = await utils_1.default.waitForWebSocketMessage(this.ws, (_meta) => _meta.messageId === messageId);
43
43
  const response = {
44
44
  data: body,
45
45
  status: meta.status,
46
46
  statusText: (0, http_status_codes_1.getReasonPhrase)(meta.status),
47
47
  headers: meta.headers,
48
- config: _config,
48
+ config: newConfig,
49
49
  };
50
- if (meta.type === 'ClientRequest' &&
51
- meta.status >= 200 &&
52
- meta.status < 300) {
50
+ if (meta.type === 'ClientRequest'
51
+ && meta.status >= 200
52
+ && meta.status < 300) {
53
53
  return response;
54
54
  }
55
- else {
56
- throw new RestException_1.default(response);
57
- }
55
+ throw new RestException_1.default(response);
58
56
  }
59
57
  exports.request = request;
60
58
  //# sourceMappingURL=rest.js.map
package/lib/rest.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"rest.js","sourceRoot":"","sources":["../rest.ts"],"names":[],"mappings":";;;;;;AAKA,kFAA0D;AAC1D,sDAA8B;AAC9B,yDAAkD;AAGlD,iDAAuC;AACvC,oDAA4B;AAE5B,MAAM,IAAI,GAAG,IAAA,iBAAO,GAAE,CAAC;AAEhB,KAAK,UAAU,OAAO,CAE3B,MAAkB,EAClB,QAAgB,EAChB,OAAY,EACZ,WAAgB,EAChB,MAA0B;;IAE1B,MAAM,OAAO,GAAsB;QACjC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,MAAA,IAAI,CAAC,OAAO,0CAAE,GAAG;QAC1B,GAAG,EAAE,QAAQ;QACb,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,WAAW;QACnB,GAAG,MAAM;KACV,CAAC;IACF,OAAO,CAAC,OAAO,GAAG;QAChB,GAAG,OAAO,CAAC,OAAO;QAClB,cAAc,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,IAAK,CAAC,OAAO,IACtC,IAAI,CAAC,EAAE,CAAC,IAAK,CAAC,UAChB,8BAA8B,sBAAO,EAAE;KACxC,CAAC;IACF,MAAM,SAAS,GAAG,IAAI,EAAE,CAAC;IACzB,MAAM,WAAW,GAAG;QAClB;YACE,IAAI,EAAE,eAAe;YACrB,SAAS;YACT,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,IAAI,EAAE,OAAO,CAAC,GAAG;YACjB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,KAAK,EAAE,OAAO,CAAC,MAAM;SACtB;KACF,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE;QAChB,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KAChC;IACD,MAAM,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,MAAM,eAAK,CAAC,uBAAuB,CACtD,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CACrC,CAAC;IACF,MAAM,QAAQ,GAAiB;QAC7B,IAAI,EAAE,IAAS;QACf,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,UAAU,EAAE,IAAA,mCAAe,EAAC,IAAI,CAAC,MAAM,CAAC;QACxC,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,MAAM,EAAE,OAAO;KAChB,CAAC;IACF,IACE,IAAI,CAAC,IAAI,KAAK,eAAe;QAC7B,IAAI,CAAC,MAAM,IAAI,GAAG;QAClB,IAAI,CAAC,MAAM,GAAG,GAAG,EACjB;QACA,OAAO,QAAQ,CAAC;KACjB;SAAM;QACL,MAAM,IAAI,uBAAa,CAAC,QAAQ,CAAC,CAAC;KACnC;AACH,CAAC;AAzDD,0BAyDC"}
1
+ {"version":3,"file":"rest.js","sourceRoot":"","sources":["../src/rest.ts"],"names":[],"mappings":";;;;;;AAKA,kFAA0D;AAC1D,sDAA8B;AAC9B,yDAAoD;AAEpD,oDAA4B;AAK5B,MAAM,OAAO,GAAG,MAAM,CAAC;AAEvB,MAAM,IAAI,GAAG,IAAA,iBAAO,GAAE,CAAC;AAEhB,KAAK,UAAU,OAAO,CAE3B,MAAkB,EAClB,QAAgB,EAChB,OAAY,EACZ,WAAgB,EAChB,MAA0B;;IAE1B,MAAM,SAAS,GAAsB;QACnC,MAAM;QACN,OAAO,EAAE,MAAA,IAAI,CAAC,OAAO,0CAAE,GAAG;QAC1B,GAAG,EAAE,QAAQ;QACb,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,WAAW;QACnB,GAAG,MAAM;KACV,CAAC;IACF,SAAS,CAAC,OAAO,GAAG;QAClB,GAAG,SAAS,CAAC,OAAO;QACpB,cAAc,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,IAAK,CAAC,OAAO,IAAI,IAAI,CAAC,EAAE,CAAC,IAAK,CAAC,UAAU,8BAA8B,OAAO,EAAE;KAC5G,CAAC;IACF,MAAM,SAAS,GAAG,IAAI,EAAE,CAAC;IACzB,MAAM,WAAW,GAAG;QAClB;YACE,IAAI,EAAE,eAAe;YACrB,SAAS;YACT,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,IAAI,EAAE,SAAS,CAAC,GAAG;YACnB,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,KAAK,EAAE,SAAS,CAAC,MAAM;SACxB;KACF,CAAC;IACF,IAAI,SAAS,CAAC,IAAI,EAAE;QAClB,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;KAClC;IACD,MAAM,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,MAAM,eAAK,CAAC,uBAAuB,CACtD,IAAI,CAAC,EAAE,EACP,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CACzC,CAAC;IACF,MAAM,QAAQ,GAAiB;QAC7B,IAAI,EAAE,IAAS;QACf,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,UAAU,EAAE,IAAA,mCAAe,EAAC,IAAI,CAAC,MAAM,CAAC;QACxC,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,MAAM,EAAE,SAAS;KAClB,CAAC;IACF,IACE,IAAI,CAAC,IAAI,KAAK,eAAe;WAC1B,IAAI,CAAC,MAAM,IAAI,GAAG;WAClB,IAAI,CAAC,MAAM,GAAG,GAAG,EACpB;QACA,OAAO,QAAQ,CAAC;KACjB;IACD,MAAM,IAAI,uBAAa,CAAC,QAAQ,CAAC,CAAC;AACpC,CAAC;AAtDD,0BAsDC"}
@@ -1,14 +1,15 @@
1
1
  /// <reference types="node" />
2
- import { CreateSubscriptionRequest, SubscriptionInfo } from '@rc-ex/core/lib/definitions';
2
+ import CreateSubscriptionRequest from '@rc-ex/core/lib/definitions/CreateSubscriptionRequest';
3
+ import SubscriptionInfo from '@rc-ex/core/lib/definitions/SubscriptionInfo';
3
4
  import { MessageEvent } from 'ws';
4
- import WebSocketExtension from './index';
5
+ import { WebSocketExtensionInterface } from './types';
5
6
  declare class Subscription {
6
- wse: WebSocketExtension;
7
+ wse: WebSocketExtensionInterface;
7
8
  eventFilters: string[];
8
9
  eventListener: (event: MessageEvent) => void;
9
10
  timeout?: NodeJS.Timeout;
10
11
  enabled: boolean;
11
- constructor(wse: WebSocketExtension, eventFilters: string[], callback: (event: {}) => void);
12
+ constructor(wse: WebSocketExtensionInterface, eventFilters: string[], callback: (event: {}) => void);
12
13
  setupWsEventListener(): void;
13
14
  get requestBody(): CreateSubscriptionRequest;
14
15
  _subscriptionInfo?: SubscriptionInfo;
@@ -17,5 +18,6 @@ declare class Subscription {
17
18
  subscribe(): Promise<void>;
18
19
  refresh(): Promise<void>;
19
20
  revoke(): Promise<void>;
21
+ remove(): void;
20
22
  }
21
23
  export default Subscription;
@@ -12,9 +12,9 @@ class Subscription {
12
12
  this.eventListener = (mEvent) => {
13
13
  const event = mEvent;
14
14
  const [meta, body] = utils_1.default.splitWsgData(event.data);
15
- if (this.enabled &&
16
- meta.type === 'ServerNotification' &&
17
- body.subscriptionId === this.subscriptionInfo.id) {
15
+ if (this.enabled
16
+ && meta.type === 'ServerNotification'
17
+ && body.subscriptionId === this.subscriptionInfo.id) {
18
18
  callback(body);
19
19
  }
20
20
  };
@@ -67,10 +67,6 @@ class Subscription {
67
67
  if (!this.subscriptionInfo) {
68
68
  return;
69
69
  }
70
- if (this.timeout) {
71
- global.clearTimeout(this.timeout);
72
- this.timeout = undefined;
73
- }
74
70
  try {
75
71
  await this.wse.request('DELETE', `/restapi/v1.0/subscription/${this.subscriptionInfo.id}`);
76
72
  }
@@ -92,9 +88,19 @@ class Subscription {
92
88
  throw e;
93
89
  }
94
90
  }
95
- this.subscriptionInfo = undefined;
91
+ this.remove();
92
+ }
93
+ remove() {
94
+ if (this.timeout) {
95
+ global.clearTimeout(this.timeout);
96
+ this.timeout = undefined;
97
+ }
96
98
  this.enabled = false;
97
- this.wse.ws.removeEventListener('message', this.eventListener);
99
+ this.subscriptionInfo = undefined;
100
+ if (this.wse.ws) {
101
+ this.wse.ws.removeEventListener('message', this.eventListener);
102
+ }
103
+ this.wse.subscriptions = this.wse.subscriptions.filter((x) => x !== this);
98
104
  }
99
105
  }
100
106
  exports.default = Subscription;
@@ -1 +1 @@
1
- {"version":3,"file":"subscription.js","sourceRoot":"","sources":["../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
@@ -1,3 +1,7 @@
1
+ /// <reference types="ws" />
2
+ import RingCentral from '@rc-ex/core';
3
+ import { RestMethod, RestRequestConfig, RestResponse } from '@rc-ex/core/lib/types';
4
+ import WS from 'isomorphic-ws';
1
5
  export declare type WsToken = {
2
6
  uri: string;
3
7
  ws_access_token: string;
@@ -45,3 +49,13 @@ export declare type ConnectionDetails = {
45
49
  recoveryState?: 'Successful' | 'Failed';
46
50
  recoveryErrorCode?: string;
47
51
  };
52
+ export interface WebSocketExtensionInterface {
53
+ options: WebSocketOptions;
54
+ subscriptions: SubscriptionInterface[];
55
+ ws: WS;
56
+ wsToken?: WsToken;
57
+ rc: RingCentral;
58
+ request<T>(method: RestMethod, endpoint: string, content?: {}, queryParams?: {}, config?: RestRequestConfig): Promise<RestResponse<T>>;
59
+ }
60
+ export interface SubscriptionInterface {
61
+ }
package/lib/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/lib/utils.d.ts CHANGED
@@ -3,7 +3,7 @@ import WS from 'isomorphic-ws';
3
3
  import { WsgMeta, WsgEvent } from './types';
4
4
  declare class Utils {
5
5
  static splitWsgData(wsgData: string): [WsgMeta, any];
6
- static debugWebSocket(ws: WS): void;
6
+ static debugWebSocket(_ws: WS): void;
7
7
  static waitForWebSocketMessage(ws: WS, matchCondition: (meta: WsgMeta) => boolean, timeout?: number): Promise<[WsgMeta, any, WsgEvent]>;
8
8
  }
9
9
  export default Utils;
package/lib/utils.js CHANGED
@@ -1,6 +1,10 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const exceptions_1 = require("./exceptions");
6
+ const ClosedException_1 = __importDefault(require("./exceptions/ClosedException"));
7
+ const TimeoutException_1 = __importDefault(require("./exceptions/TimeoutException"));
4
8
  class Utils {
5
9
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
6
10
  static splitWsgData(wsgData) {
@@ -11,11 +15,10 @@ class Utils {
11
15
  wsgData.substring(index + 1, wsgData.length - 1),
12
16
  ];
13
17
  }
14
- else {
15
- return JSON.parse(wsgData);
16
- }
18
+ return JSON.parse(wsgData);
17
19
  }
18
- static debugWebSocket(ws) {
20
+ static debugWebSocket(_ws) {
21
+ const ws = _ws;
19
22
  const send = ws.send.bind(ws);
20
23
  ws.send = async (str) => {
21
24
  await send(str);
@@ -29,13 +32,13 @@ ${JSON.stringify(JSON.parse(str), null, 2)}
29
32
  ${JSON.stringify(JSON.parse(event.data), null, 2)}
30
33
  ******`);
31
34
  });
32
- ws.addEventListener('open', event => {
35
+ ws.addEventListener('open', (event) => {
33
36
  console.debug('WebSocket open event:', event);
34
37
  });
35
- ws.addEventListener('error', event => {
38
+ ws.addEventListener('error', (event) => {
36
39
  console.debug('WebSocket error event:', event);
37
40
  });
38
- ws.addEventListener('close', event => {
41
+ ws.addEventListener('close', (event) => {
39
42
  console.debug('WebSocket close event:', event);
40
43
  });
41
44
  }
@@ -45,14 +48,14 @@ ${JSON.stringify(JSON.parse(event.data), null, 2)}
45
48
  const checkHandle = setInterval(() => {
46
49
  if (ws.readyState === ws.CLOSED) {
47
50
  clearInterval(checkHandle);
48
- reject(new exceptions_1.ClosedException());
51
+ reject(new ClosedException_1.default());
49
52
  }
50
53
  }, 1000);
51
54
  const timeoutHandle = setTimeout(() => {
55
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
52
56
  ws.removeEventListener('message', handler);
53
57
  clearInterval(checkHandle);
54
- reject(new exceptions_1.TimeoutException());
55
- return;
58
+ reject(new TimeoutException_1.default());
56
59
  }, timeout);
57
60
  const handler = (mEvent) => {
58
61
  const event = mEvent;
@@ -62,7 +65,6 @@ ${JSON.stringify(JSON.parse(event.data), null, 2)}
62
65
  clearInterval(checkHandle);
63
66
  clearTimeout(timeoutHandle);
64
67
  resolve([meta, body, event]);
65
- return;
66
68
  }
67
69
  };
68
70
  ws.addEventListener('message', handler);
package/lib/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../utils.ts"],"names":[],"mappings":";;AAGA,6CAA+D;AAE/D,MAAM,KAAK;IACT,8DAA8D;IAC9D,MAAM,CAAC,YAAY,CAAC,OAAe;QACjC,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;YACnC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YAC7C,OAAO;gBACL,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACvC,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;aACjD,CAAC;SACH;aAAM;YACL,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SAC5B;IACH,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,EAAM;QAC1B,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9B,EAAE,CAAC,IAAI,GAAG,KAAK,EAAE,GAAW,EAAE,EAAE;YAC9B,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;YAChB,OAAO,CAAC,KAAK,CACX;EACN,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;OACnC,CACA,CAAC;QACJ,CAAC,CAAC;QACF,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,MAAoB,EAAE,EAAE;YACtD,MAAM,KAAK,GAAG,MAAkB,CAAC;YACjC,OAAO,CAAC,KAAK,CACX;EACN,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;OAC1C,CACA,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE;YAClC,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;YACnC,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;YACnC,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,uBAAuB,CAC5B,EAAM,EACN,cAA0C,EAC1C,OAAO,GAAG,KAAK;QAEf,8DAA8D;QAC9D,OAAO,IAAI,OAAO,CAA2B,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC/D,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;gBACnC,IAAI,EAAE,CAAC,UAAU,KAAK,EAAE,CAAC,MAAM,EAAE;oBAC/B,aAAa,CAAC,WAAW,CAAC,CAAC;oBAC3B,MAAM,CAAC,IAAI,4BAAe,EAAE,CAAC,CAAC;iBAC/B;YACH,CAAC,EAAE,IAAI,CAAC,CAAC;YACT,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;gBACpC,EAAE,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBAC3C,aAAa,CAAC,WAAW,CAAC,CAAC;gBAC3B,MAAM,CAAC,IAAI,6BAAgB,EAAE,CAAC,CAAC;gBAC/B,OAAO;YACT,CAAC,EAAE,OAAO,CAAC,CAAC;YACZ,MAAM,OAAO,GAAG,CAAC,MAAoB,EAAE,EAAE;gBACvC,MAAM,KAAK,GAAG,MAAkB,CAAC;gBACjC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACpD,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE;oBACxB,EAAE,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;oBAC3C,aAAa,CAAC,WAAW,CAAC,CAAC;oBAC3B,YAAY,CAAC,aAAa,CAAC,CAAC;oBAC5B,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;oBAC7B,OAAO;iBACR;YACH,CAAC,CAAC;YACF,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED,kBAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rc-ex/ws",
3
- "version": "0.16.1",
3
+ "version": "0.17.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",
@@ -18,14 +18,20 @@
18
18
  "access": "public"
19
19
  },
20
20
  "dependencies": {
21
- "@types/lodash": "^4.14.179",
22
- "@types/ws": "^8.5.1",
21
+ "@types/lodash": "^4.14.182",
22
+ "@types/ws": "^8.5.3",
23
23
  "http-status-codes": "^2.2.0",
24
24
  "hyperid": "^3.0.1",
25
25
  "isomorphic-ws": "^4.0.1",
26
26
  "lodash": "^4.17.21",
27
27
  "wait-for-async": "^0.6.0",
28
- "ws": "^8.5.0"
28
+ "ws": "^8.7.0"
29
29
  },
30
- "gitHead": "42cebe2aaf135088b2b5a0965658a1dfaf227b0d"
30
+ "devDependencies": {
31
+ "@rc-ex/core": "^0.13.0"
32
+ },
33
+ "peerDependencies": {
34
+ "@rc-ex/core": "^0.12.4"
35
+ },
36
+ "gitHead": "4a3c0ad89f45228f7e396ce733a3e4e44e13c414"
31
37
  }
@@ -0,0 +1,7 @@
1
+ class ClosedException extends Error {
2
+ constructor(message?: string) {
3
+ super(message ?? 'WebSocket has been closed');
4
+ }
5
+ }
6
+
7
+ export default ClosedException;
@@ -0,0 +1,17 @@
1
+ import { WsgError, WsgEvent, WsgMeta } from '../types';
2
+ import Utils from '../utils';
3
+
4
+ class ConnectionException extends Error {
5
+ wsgEvent: WsgEvent;
6
+
7
+ wsgError: WsgError;
8
+
9
+ constructor(wsgEvent: WsgEvent) {
10
+ const [, wsgError]: [WsgMeta, WsgError] = Utils.splitWsgData(wsgEvent.data);
11
+ super(JSON.stringify(wsgError, null, 2));
12
+ this.wsgEvent = wsgEvent;
13
+ this.wsgError = wsgError;
14
+ }
15
+ }
16
+
17
+ export default ConnectionException;
@@ -0,0 +1,7 @@
1
+ class TimeoutException extends Error {
2
+ constructor(message?: string) {
3
+ super(message ?? 'Failed to receive expected WebSocket message in time.');
4
+ }
5
+ }
6
+
7
+ export default TimeoutException;