@stomp/stompjs 7.0.1 → 7.1.1

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/esm6/client.d.ts CHANGED
@@ -2,7 +2,7 @@ import { ITransaction } from './i-transaction.js';
2
2
  import { StompConfig } from './stomp-config.js';
3
3
  import { StompHeaders } from './stomp-headers.js';
4
4
  import { StompSubscription } from './stomp-subscription.js';
5
- import { ActivationState, closeEventCallbackType, debugFnType, frameCallbackType, IPublishParams, IStompSocket, messageCallbackType, wsErrorCallbackType } from './types.js';
5
+ import { ActivationState, closeEventCallbackType, debugFnType, frameCallbackType, IPublishParams, IStompSocket, messageCallbackType, ReconnectionTimeMode, TickerStrategy, wsErrorCallbackType } from './types.js';
6
6
  import { Versions } from './versions.js';
7
7
  /**
8
8
  * STOMP Client Class.
@@ -63,6 +63,30 @@ export declare class Client {
63
63
  * automatically reconnect with delay in milliseconds, set to 0 to disable.
64
64
  */
65
65
  reconnectDelay: number;
66
+ /**
67
+ * tracking the time to the next reconnection. Initialized to [Client#reconnectDelay]{@link Client#reconnectDelay}'s value and it may
68
+ * change depending on the [Client#reconnectTimeMode]{@link Client#reconnectTimeMode} setting
69
+ */
70
+ private _nextReconnectDelay;
71
+ /**
72
+ * Maximum time to wait between reconnects, in milliseconds. Defaults to 15 minutes.
73
+ * Only relevant when [Client#reconnectTimeMode]{@link Client#reconnectTimeMode} not LINEAR (e.g., EXPONENTIAL).
74
+ * Set to 0 for no limit on wait time.
75
+ */
76
+ maxReconnectDelay: number;
77
+ /**
78
+ * Reconnection wait time mode, either linear (default) or exponential.
79
+ * Note: See [Client#maxReconnectDelay]{@link Client#maxReconnectDelay} for setting the maximum delay when exponential
80
+ *
81
+ * ```javascript
82
+ * client.configure({
83
+ * reconnectTimeMode: ReconnectionTimeMode.EXPONENTIAL,
84
+ * reconnectDelay: 200, // It will wait 200, 400, 800 ms...
85
+ * maxReconnectDelay: 10000, // Optional, when provided, it will not wait more that these ms
86
+ * })
87
+ * ```
88
+ */
89
+ reconnectTimeMode: ReconnectionTimeMode;
66
90
  /**
67
91
  * Incoming heartbeat interval in milliseconds. Set to 0 to disable.
68
92
  */
@@ -71,6 +95,22 @@ export declare class Client {
71
95
  * Outgoing heartbeat interval in milliseconds. Set to 0 to disable.
72
96
  */
73
97
  heartbeatOutgoing: number;
98
+ /**
99
+ * Outgoing heartbeat strategy.
100
+ * See https://github.com/stomp-js/stompjs/pull/579
101
+ *
102
+ * Can be worker or interval strategy, but will always use `interval`
103
+ * if web workers are unavailable, for example, in a non-browser environment.
104
+ *
105
+ * Using Web Workers may work better on long-running pages
106
+ * and mobile apps, as the browser may suspend Timers in the main page.
107
+ * Try the `Worker` mode if you discover disconnects when the browser tab is in the background.
108
+ *
109
+ * When used in a JS environment, use 'worker' or 'interval' as valid values.
110
+ *
111
+ * Defaults to `interval` strategy.
112
+ */
113
+ heartbeatStrategy: TickerStrategy;
74
114
  /**
75
115
  * This switches on a non-standard behavior while sending WebSocket packets.
76
116
  * It splits larger (text) packets into chunks of [maxWebSocketChunkSize]{@link Client#maxWebSocketChunkSize}.
@@ -169,7 +209,7 @@ export declare class Client {
169
209
  * This can be used to reliably fetch credentials, access token etc. from some other service
170
210
  * in an asynchronous way.
171
211
  */
172
- beforeConnect: () => void | Promise<void>;
212
+ beforeConnect: (client: Client) => void | Promise<void>;
173
213
  /**
174
214
  * Callback, invoked on every successful connection to the STOMP broker.
175
215
  *
@@ -278,7 +318,8 @@ export declare class Client {
278
318
  /**
279
319
  * Initiate the connection with the broker.
280
320
  * If the connection breaks, as per [Client#reconnectDelay]{@link Client#reconnectDelay},
281
- * it will keep trying to reconnect.
321
+ * it will keep trying to reconnect. If the [Client#reconnectTimeMode]{@link Client#reconnectTimeMode}
322
+ * is set to EXPONENTIAL it will increase the wait time exponentially
282
323
  *
283
324
  * Call [Client#deactivate]{@link Client#deactivate} to disconnect and stop reconnection attempts.
284
325
  */
package/esm6/client.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { StompHandler } from './stomp-handler.js';
2
- import { ActivationState, StompSocketState, } from './types.js';
2
+ import { ActivationState, ReconnectionTimeMode, StompSocketState, TickerStrategy, } from './types.js';
3
3
  import { Versions } from './versions.js';
4
4
  /**
5
5
  * STOMP Client Class.
@@ -70,6 +70,30 @@ export class Client {
70
70
  * automatically reconnect with delay in milliseconds, set to 0 to disable.
71
71
  */
72
72
  this.reconnectDelay = 5000;
73
+ /**
74
+ * tracking the time to the next reconnection. Initialized to [Client#reconnectDelay]{@link Client#reconnectDelay}'s value and it may
75
+ * change depending on the [Client#reconnectTimeMode]{@link Client#reconnectTimeMode} setting
76
+ */
77
+ this._nextReconnectDelay = 0;
78
+ /**
79
+ * Maximum time to wait between reconnects, in milliseconds. Defaults to 15 minutes.
80
+ * Only relevant when [Client#reconnectTimeMode]{@link Client#reconnectTimeMode} not LINEAR (e.g., EXPONENTIAL).
81
+ * Set to 0 for no limit on wait time.
82
+ */
83
+ this.maxReconnectDelay = 15 * 60 * 1000; // 15 minutes in ms
84
+ /**
85
+ * Reconnection wait time mode, either linear (default) or exponential.
86
+ * Note: See [Client#maxReconnectDelay]{@link Client#maxReconnectDelay} for setting the maximum delay when exponential
87
+ *
88
+ * ```javascript
89
+ * client.configure({
90
+ * reconnectTimeMode: ReconnectionTimeMode.EXPONENTIAL,
91
+ * reconnectDelay: 200, // It will wait 200, 400, 800 ms...
92
+ * maxReconnectDelay: 10000, // Optional, when provided, it will not wait more that these ms
93
+ * })
94
+ * ```
95
+ */
96
+ this.reconnectTimeMode = ReconnectionTimeMode.LINEAR;
73
97
  /**
74
98
  * Incoming heartbeat interval in milliseconds. Set to 0 to disable.
75
99
  */
@@ -78,6 +102,22 @@ export class Client {
78
102
  * Outgoing heartbeat interval in milliseconds. Set to 0 to disable.
79
103
  */
80
104
  this.heartbeatOutgoing = 10000;
105
+ /**
106
+ * Outgoing heartbeat strategy.
107
+ * See https://github.com/stomp-js/stompjs/pull/579
108
+ *
109
+ * Can be worker or interval strategy, but will always use `interval`
110
+ * if web workers are unavailable, for example, in a non-browser environment.
111
+ *
112
+ * Using Web Workers may work better on long-running pages
113
+ * and mobile apps, as the browser may suspend Timers in the main page.
114
+ * Try the `Worker` mode if you discover disconnects when the browser tab is in the background.
115
+ *
116
+ * When used in a JS environment, use 'worker' or 'interval' as valid values.
117
+ *
118
+ * Defaults to `interval` strategy.
119
+ */
120
+ this.heartbeatStrategy = TickerStrategy.Interval;
81
121
  /**
82
122
  * This switches on a non-standard behavior while sending WebSocket packets.
83
123
  * It splits larger (text) packets into chunks of [maxWebSocketChunkSize]{@link Client#maxWebSocketChunkSize}.
@@ -159,11 +199,18 @@ export class Client {
159
199
  configure(conf) {
160
200
  // bulk assign all properties to this
161
201
  Object.assign(this, conf);
202
+ // Warn on incorrect maxReconnectDelay settings
203
+ if (this.maxReconnectDelay > 0 &&
204
+ this.maxReconnectDelay < this.reconnectDelay) {
205
+ this.debug(`Warning: maxReconnectDelay (${this.maxReconnectDelay}ms) is less than reconnectDelay (${this.reconnectDelay}ms). Using reconnectDelay as the maxReconnectDelay delay.`);
206
+ this.maxReconnectDelay = this.reconnectDelay;
207
+ }
162
208
  }
163
209
  /**
164
210
  * Initiate the connection with the broker.
165
211
  * If the connection breaks, as per [Client#reconnectDelay]{@link Client#reconnectDelay},
166
- * it will keep trying to reconnect.
212
+ * it will keep trying to reconnect. If the [Client#reconnectTimeMode]{@link Client#reconnectTimeMode}
213
+ * is set to EXPONENTIAL it will increase the wait time exponentially
167
214
  *
168
215
  * Call [Client#deactivate]{@link Client#deactivate} to disconnect and stop reconnection attempts.
169
216
  */
@@ -174,6 +221,7 @@ export class Client {
174
221
  return;
175
222
  }
176
223
  this._changeState(ActivationState.ACTIVE);
224
+ this._nextReconnectDelay = this.reconnectDelay;
177
225
  this._connect();
178
226
  };
179
227
  // if it is deactivating, wait for it to complete before activating.
@@ -188,7 +236,7 @@ export class Client {
188
236
  }
189
237
  }
190
238
  async _connect() {
191
- await this.beforeConnect();
239
+ await this.beforeConnect(this);
192
240
  if (this._stompHandler) {
193
241
  this.debug('There is already a stompHandler, skipping the call to connect');
194
242
  return;
@@ -223,6 +271,7 @@ export class Client {
223
271
  disconnectHeaders: this._disconnectHeaders,
224
272
  heartbeatIncoming: this.heartbeatIncoming,
225
273
  heartbeatOutgoing: this.heartbeatOutgoing,
274
+ heartbeatStrategy: this.heartbeatStrategy,
226
275
  splitLargeFrames: this.splitLargeFrames,
227
276
  maxWebSocketChunkSize: this.maxWebSocketChunkSize,
228
277
  forceBinaryWSFrames: this.forceBinaryWSFrames,
@@ -291,11 +340,18 @@ export class Client {
291
340
  return webSocket;
292
341
  }
293
342
  _schedule_reconnect() {
294
- if (this.reconnectDelay > 0) {
295
- this.debug(`STOMP: scheduling reconnection in ${this.reconnectDelay}ms`);
343
+ if (this._nextReconnectDelay > 0) {
344
+ this.debug(`STOMP: scheduling reconnection in ${this._nextReconnectDelay}ms`);
296
345
  this._reconnector = setTimeout(() => {
346
+ if (this.reconnectTimeMode === ReconnectionTimeMode.EXPONENTIAL) {
347
+ this._nextReconnectDelay = this._nextReconnectDelay * 2;
348
+ // Truncated exponential backoff with a set limit unless disabled
349
+ if (this.maxReconnectDelay !== 0) {
350
+ this._nextReconnectDelay = Math.min(this._nextReconnectDelay, this.maxReconnectDelay);
351
+ }
352
+ }
297
353
  this._connect();
298
- }, this.reconnectDelay);
354
+ }, this._nextReconnectDelay);
299
355
  }
300
356
  }
301
357
  /**
@@ -330,6 +386,8 @@ export class Client {
330
386
  return Promise.resolve();
331
387
  }
332
388
  this._changeState(ActivationState.DEACTIVATING);
389
+ // Reset reconnection timer just to be safe
390
+ this._nextReconnectDelay = 0;
333
391
  // Clear if a reconnection was scheduled
334
392
  if (this._reconnector) {
335
393
  clearTimeout(this._reconnector);
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,6 @@
2
2
  * A Transaction is created by calling [Client#begin]{@link Client#begin}
3
3
  *
4
4
  * Part of `@stomp/stompjs`.
5
- *
6
- * TODO: Example and caveat
7
5
  */
8
6
  export interface ITransaction {
9
7
  /**
@@ -1,6 +1,7 @@
1
1
  import { StompHeaders } from './stomp-headers.js';
2
- import { ActivationState, closeEventCallbackType, debugFnType, frameCallbackType, messageCallbackType, wsErrorCallbackType } from './types.js';
2
+ import { ActivationState, TickerStrategy, closeEventCallbackType, debugFnType, frameCallbackType, messageCallbackType, ReconnectionTimeMode, wsErrorCallbackType } from './types.js';
3
3
  import { Versions } from './versions.js';
4
+ import { Client } from './client.js';
4
5
  /**
5
6
  * Configuration options for STOMP Client, each key corresponds to
6
7
  * field by the same name in {@link Client}. This can be passed to
@@ -29,6 +30,14 @@ export declare class StompConfig {
29
30
  * See [Client#reconnectDelay]{@link Client#reconnectDelay}.
30
31
  */
31
32
  reconnectDelay?: number;
33
+ /**
34
+ * See [Client#maxReconnectDelay]{@link Client#maxReconnectDelay}
35
+ */
36
+ maxReconnectDelay?: number;
37
+ /**
38
+ * See [Client#reconnectTimeMode]{@link Client#reconnectTimeMode}
39
+ */
40
+ reconnectTimeMode?: ReconnectionTimeMode;
32
41
  /**
33
42
  * See [Client#heartbeatIncoming]{@link Client#heartbeatIncoming}.
34
43
  */
@@ -37,6 +46,10 @@ export declare class StompConfig {
37
46
  * See [Client#heartbeatOutgoing]{@link Client#heartbeatOutgoing}.
38
47
  */
39
48
  heartbeatOutgoing?: number;
49
+ /**
50
+ * See [Client#heartbeatStrategy]{@link Client#heartbeatStrategy}.
51
+ */
52
+ heartbeatStrategy?: TickerStrategy;
40
53
  /**
41
54
  * See [Client#splitLargeFrames]{@link Client#splitLargeFrames}.
42
55
  */
@@ -76,7 +89,7 @@ export declare class StompConfig {
76
89
  /**
77
90
  * See [Client#beforeConnect]{@link Client#beforeConnect}.
78
91
  */
79
- beforeConnect?: () => void | Promise<void>;
92
+ beforeConnect?: (client: Client) => void | Promise<void>;
80
93
  /**
81
94
  * See [Client#onConnect]{@link Client#onConnect}.
82
95
  */
@@ -1 +1 @@
1
- {"version":3,"file":"stomp-config.js","sourceRoot":"","sources":["../src/stomp-config.ts"],"names":[],"mappings":"AAWA;;;;;;GAMG;AACH,MAAM,OAAO,WAAW;CAkIvB"}
1
+ {"version":3,"file":"stomp-config.js","sourceRoot":"","sources":["../src/stomp-config.ts"],"names":[],"mappings":"AAcA;;;;;;GAMG;AACH,MAAM,OAAO,WAAW;CAiJvB"}
@@ -43,7 +43,7 @@ export declare class StompHandler {
43
43
  private _partialData;
44
44
  private _escapeHeaderValues;
45
45
  private _counter;
46
- private _pinger;
46
+ private _pinger?;
47
47
  private _ponger;
48
48
  private _lastServerActivityTS;
49
49
  constructor(_client: Client, _webSocket: IStompSocket, config: IStomptHandlerConfig);
@@ -1,9 +1,10 @@
1
+ import { augmentWebsocket } from './augment-websocket.js';
1
2
  import { BYTE } from './byte.js';
2
3
  import { FrameImpl } from './frame-impl.js';
3
4
  import { Parser } from './parser.js';
5
+ import { Ticker } from './ticker.js';
4
6
  import { StompSocketState, } from './types.js';
5
7
  import { Versions } from './versions.js';
6
- import { augmentWebsocket } from './augment-websocket.js';
7
8
  /**
8
9
  * The STOMP protocol handler
9
10
  *
@@ -175,12 +176,13 @@ export class StompHandler {
175
176
  if (this.heartbeatOutgoing !== 0 && serverIncoming !== 0) {
176
177
  const ttl = Math.max(this.heartbeatOutgoing, serverIncoming);
177
178
  this.debug(`send PING every ${ttl}ms`);
178
- this._pinger = setInterval(() => {
179
+ this._pinger = new Ticker(ttl, this._client.heartbeatStrategy, this.debug);
180
+ this._pinger.start(() => {
179
181
  if (this._webSocket.readyState === StompSocketState.OPEN) {
180
182
  this._webSocket.send(BYTE.LF);
181
183
  this.debug('>>> PING');
182
184
  }
183
- }, ttl);
185
+ });
184
186
  }
185
187
  if (this.heartbeatIncoming !== 0 && serverOutgoing !== 0) {
186
188
  const ttl = Math.max(this.heartbeatIncoming, serverOutgoing);
@@ -286,7 +288,7 @@ export class StompHandler {
286
288
  _cleanUp() {
287
289
  this._connected = false;
288
290
  if (this._pinger) {
289
- clearInterval(this._pinger);
291
+ this._pinger.stop();
290
292
  this._pinger = undefined;
291
293
  }
292
294
  if (this._ponger) {
@@ -1 +1 @@
1
- {"version":3,"file":"stomp-handler.js","sourceRoot":"","sources":["../src/stomp-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stomp-handler.js","sourceRoot":"","sources":["../src/stomp-handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { debugFnType, TickerStrategy } from './types.js';
2
+ export declare class Ticker {
3
+ private readonly _interval;
4
+ private readonly _strategy;
5
+ private readonly _debug;
6
+ private readonly _workerScript;
7
+ private _worker?;
8
+ private _timer?;
9
+ constructor(_interval: number, _strategy: TickerStrategy | undefined, _debug: debugFnType);
10
+ start(tick: (elapsedTime: number) => void): void;
11
+ stop(): void;
12
+ private shouldUseWorker;
13
+ private runWorker;
14
+ private runInterval;
15
+ private disposeWorker;
16
+ private disposeInterval;
17
+ }
package/esm6/ticker.js ADDED
@@ -0,0 +1,61 @@
1
+ import { TickerStrategy } from './types.js';
2
+ export class Ticker {
3
+ constructor(_interval, _strategy = TickerStrategy.Interval, _debug) {
4
+ this._interval = _interval;
5
+ this._strategy = _strategy;
6
+ this._debug = _debug;
7
+ this._workerScript = `
8
+ var startTime = Date.now();
9
+ setInterval(function() {
10
+ self.postMessage(Date.now() - startTime);
11
+ }, ${this._interval});
12
+ `;
13
+ }
14
+ start(tick) {
15
+ this.stop();
16
+ if (this.shouldUseWorker()) {
17
+ this.runWorker(tick);
18
+ }
19
+ else {
20
+ this.runInterval(tick);
21
+ }
22
+ }
23
+ stop() {
24
+ this.disposeWorker();
25
+ this.disposeInterval();
26
+ }
27
+ shouldUseWorker() {
28
+ return typeof (Worker) !== 'undefined' && this._strategy === TickerStrategy.Worker;
29
+ }
30
+ runWorker(tick) {
31
+ this._debug('Using runWorker for outgoing pings');
32
+ if (!this._worker) {
33
+ this._worker = new Worker(URL.createObjectURL(new Blob([this._workerScript], { type: 'text/javascript' })));
34
+ this._worker.onmessage = (message) => tick(message.data);
35
+ }
36
+ }
37
+ runInterval(tick) {
38
+ this._debug('Using runInterval for outgoing pings');
39
+ if (!this._timer) {
40
+ const startTime = Date.now();
41
+ this._timer = setInterval(() => {
42
+ tick(Date.now() - startTime);
43
+ }, this._interval);
44
+ }
45
+ }
46
+ disposeWorker() {
47
+ if (this._worker) {
48
+ this._worker.terminate();
49
+ delete this._worker;
50
+ this._debug('Outgoing ping disposeWorker');
51
+ }
52
+ }
53
+ disposeInterval() {
54
+ if (this._timer) {
55
+ clearInterval(this._timer);
56
+ delete this._timer;
57
+ this._debug('Outgoing ping disposeInterval');
58
+ }
59
+ }
60
+ }
61
+ //# sourceMappingURL=ticker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ticker.js","sourceRoot":"","sources":["../src/ticker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,cAAc,EAAE,MAAM,YAAY,CAAC;AAEzD,MAAM,OAAO,MAAM;IAWjB,YACmB,SAAiB,EACjB,YAAY,cAAc,CAAC,QAAQ,EACnC,MAAmB;QAFnB,cAAS,GAAT,SAAS,CAAQ;QACjB,cAAS,GAAT,SAAS,CAA0B;QACnC,WAAM,GAAN,MAAM,CAAa;QAbrB,kBAAa,GAAG;;;;SAI1B,IAAI,CAAC,SAAS;GACpB,CAAC;IASF,CAAC;IAEM,KAAK,CAAC,IAAmC;QAC9C,IAAI,CAAC,IAAI,EAAE,CAAC;QAEZ,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;YAC3B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAEM,IAAI;QACT,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAEO,eAAe;QACrB,OAAO,OAAM,CAAC,MAAM,CAAC,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,cAAc,CAAC,MAAM,CAAA;IACnF,CAAC;IAEO,SAAS,CAAC,IAAmC;QACnD,IAAI,CAAC,MAAM,CAAC,oCAAoC,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,GAAG,IAAI,MAAM,CACvB,GAAG,CAAC,eAAe,CACjB,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAC5D,CACF,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,IAAmC;QACrD,IAAI,CAAC,MAAM,CAAC,sCAAsC,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE;gBAC7B,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC;YAC/B,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAEO,aAAa;QACnB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,OAAO,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAEO,eAAe;QACrB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,IAAI,CAAC,MAAM,CAAC;YACnB,IAAI,CAAC,MAAM,CAAC,+BAA+B,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;CACF"}
package/esm6/types.d.ts CHANGED
@@ -140,6 +140,20 @@ export declare enum ActivationState {
140
140
  DEACTIVATING = 1,
141
141
  INACTIVE = 2
142
142
  }
143
+ /**
144
+ * Possible reconnection wait time modes
145
+ */
146
+ export declare enum ReconnectionTimeMode {
147
+ LINEAR = 0,
148
+ EXPONENTIAL = 1
149
+ }
150
+ /**
151
+ * Possible ticker strategies for outgoing heartbeat ping
152
+ */
153
+ export declare enum TickerStrategy {
154
+ Interval = "interval",
155
+ Worker = "worker"
156
+ }
143
157
  /**
144
158
  * @internal
145
159
  */
@@ -150,6 +164,7 @@ export interface IStomptHandlerConfig {
150
164
  disconnectHeaders: StompHeaders;
151
165
  heartbeatIncoming: number;
152
166
  heartbeatOutgoing: number;
167
+ heartbeatStrategy: TickerStrategy;
153
168
  splitLargeFrames: boolean;
154
169
  maxWebSocketChunkSize: number;
155
170
  forceBinaryWSFrames: boolean;
package/esm6/types.js CHANGED
@@ -17,4 +17,20 @@ export var ActivationState;
17
17
  ActivationState[ActivationState["DEACTIVATING"] = 1] = "DEACTIVATING";
18
18
  ActivationState[ActivationState["INACTIVE"] = 2] = "INACTIVE";
19
19
  })(ActivationState || (ActivationState = {}));
20
+ /**
21
+ * Possible reconnection wait time modes
22
+ */
23
+ export var ReconnectionTimeMode;
24
+ (function (ReconnectionTimeMode) {
25
+ ReconnectionTimeMode[ReconnectionTimeMode["LINEAR"] = 0] = "LINEAR";
26
+ ReconnectionTimeMode[ReconnectionTimeMode["EXPONENTIAL"] = 1] = "EXPONENTIAL";
27
+ })(ReconnectionTimeMode || (ReconnectionTimeMode = {}));
28
+ /**
29
+ * Possible ticker strategies for outgoing heartbeat ping
30
+ */
31
+ export var TickerStrategy;
32
+ (function (TickerStrategy) {
33
+ TickerStrategy["Interval"] = "interval";
34
+ TickerStrategy["Worker"] = "worker";
35
+ })(TickerStrategy || (TickerStrategy = {}));
20
36
  //# sourceMappingURL=types.js.map
package/esm6/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AA4IA;;GAEG;AACH,MAAM,CAAN,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,mEAAU,CAAA;IACV,uDAAI,CAAA;IACJ,6DAAO,CAAA;IACP,2DAAM,CAAA;AACR,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,QAK3B;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,yDAAM,CAAA;IACN,qEAAY,CAAA;IACZ,6DAAQ,CAAA;AACV,CAAC,EAJW,eAAe,KAAf,eAAe,QAI1B"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AA4IA;;GAEG;AACH,MAAM,CAAN,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,mEAAU,CAAA;IACV,uDAAI,CAAA;IACJ,6DAAO,CAAA;IACP,2DAAM,CAAA;AACR,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,QAK3B;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,yDAAM,CAAA;IACN,qEAAY,CAAA;IACZ,6DAAQ,CAAA;AACV,CAAC,EAJW,eAAe,KAAf,eAAe,QAI1B;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC9B,mEAAM,CAAA;IACN,6EAAW,CAAA;AACb,CAAC,EAHW,oBAAoB,KAApB,oBAAoB,QAG/B;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,uCAAqB,CAAA;IACrB,mCAAiB,CAAA;AACnB,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB"}
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@stomp/stompjs",
3
- "version": "7.0.1",
3
+ "version": "7.1.1",
4
4
  "description": "STOMP client for Javascript and Typescript",
5
5
  "scripts": {
6
6
  "clean": "rm -rf bundles esm6",
7
7
  "rollup": "rollup -c && rm -rf bundles/esm6/",
8
- "build": "npm run clean && npx tsc && npm run rollup && rm -rf bundles/compatibility bundles/*.d.ts && cp spec/package.json bundles",
8
+ "build": "npm run clean && npx tsc && npm run rollup && rm -rf bundles/compatibility bundles/*.d.ts && cp spec/package.json bundles && date",
9
9
  "test": "jasmine",
10
10
  "karma": "karma start spec/karma.conf.js --single-run",
11
11
  "lint": "tslint 'src/**/*.ts'",