@stomp/stompjs 7.0.1 → 7.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
@@ -141,6 +141,9 @@ If you want to understand the code, develop, or contribute. Please visit
141
141
  - [Genadi](https://github.com/genadis)
142
142
  - [Bobohuochai](https://github.com/bobohuochai)
143
143
  - [Sailai](https://github.com/sailai)
144
+ - [Harsh Deep](https://github.com/harsh183)
145
+ - [Nikos Epping](https://github.com/Nikos410)
146
+ - [Tom Pachtner](https://github.com/tomamatics)
144
147
 
145
148
  ## License
146
149
 
@@ -4,6 +4,33 @@
4
4
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.StompJs = {}));
5
5
  })(this, (function (exports) { 'use strict';
6
6
 
7
+ /**
8
+ * @internal
9
+ */
10
+ function augmentWebsocket(webSocket, debug) {
11
+ webSocket.terminate = function () {
12
+ const noOp = () => { };
13
+ // set all callbacks to no op
14
+ this.onerror = noOp;
15
+ this.onmessage = noOp;
16
+ this.onopen = noOp;
17
+ const ts = new Date();
18
+ const id = Math.random().toString().substring(2, 8); // A simulated id
19
+ const origOnClose = this.onclose;
20
+ // Track delay in actual closure of the socket
21
+ this.onclose = closeEvent => {
22
+ const delay = new Date().getTime() - ts.getTime();
23
+ debug(`Discarded socket (#${id}) closed after ${delay}ms, with code/reason: ${closeEvent.code}/${closeEvent.reason}`);
24
+ };
25
+ this.close();
26
+ origOnClose?.call(webSocket, {
27
+ code: 4001,
28
+ reason: `Quick discarding socket (#${id}) without waiting for the shutdown sequence.`,
29
+ wasClean: false,
30
+ });
31
+ };
32
+ }
33
+
7
34
  /**
8
35
  * Some byte values, used as per STOMP specifications.
9
36
  *
@@ -429,6 +456,82 @@
429
456
  ActivationState[ActivationState["DEACTIVATING"] = 1] = "DEACTIVATING";
430
457
  ActivationState[ActivationState["INACTIVE"] = 2] = "INACTIVE";
431
458
  })(exports.ActivationState || (exports.ActivationState = {}));
459
+ /**
460
+ * Possible reconnection wait time modes
461
+ */
462
+ exports.ReconnectionTimeMode = void 0;
463
+ (function (ReconnectionTimeMode) {
464
+ ReconnectionTimeMode[ReconnectionTimeMode["LINEAR"] = 0] = "LINEAR";
465
+ ReconnectionTimeMode[ReconnectionTimeMode["EXPONENTIAL"] = 1] = "EXPONENTIAL";
466
+ })(exports.ReconnectionTimeMode || (exports.ReconnectionTimeMode = {}));
467
+ /**
468
+ * Possible ticker strategies for outgoing heartbeat ping
469
+ */
470
+ exports.TickerStrategy = void 0;
471
+ (function (TickerStrategy) {
472
+ TickerStrategy["Interval"] = "interval";
473
+ TickerStrategy["Worker"] = "worker";
474
+ })(exports.TickerStrategy || (exports.TickerStrategy = {}));
475
+
476
+ class Ticker {
477
+ constructor(_interval, _strategy = exports.TickerStrategy.Interval, _debug) {
478
+ this._interval = _interval;
479
+ this._strategy = _strategy;
480
+ this._debug = _debug;
481
+ this._workerScript = `
482
+ var startTime = Date.now();
483
+ setInterval(function() {
484
+ self.postMessage(Date.now() - startTime);
485
+ }, ${this._interval});
486
+ `;
487
+ }
488
+ start(tick) {
489
+ this.stop();
490
+ if (this.shouldUseWorker()) {
491
+ this.runWorker(tick);
492
+ }
493
+ else {
494
+ this.runInterval(tick);
495
+ }
496
+ }
497
+ stop() {
498
+ this.disposeWorker();
499
+ this.disposeInterval();
500
+ }
501
+ shouldUseWorker() {
502
+ return typeof (Worker) !== 'undefined' && this._strategy === exports.TickerStrategy.Worker;
503
+ }
504
+ runWorker(tick) {
505
+ this._debug('Using runWorker for outgoing pings');
506
+ if (!this._worker) {
507
+ this._worker = new Worker(URL.createObjectURL(new Blob([this._workerScript], { type: 'text/javascript' })));
508
+ this._worker.onmessage = (message) => tick(message.data);
509
+ }
510
+ }
511
+ runInterval(tick) {
512
+ this._debug('Using runInterval for outgoing pings');
513
+ if (!this._timer) {
514
+ const startTime = Date.now();
515
+ this._timer = setInterval(() => {
516
+ tick(Date.now() - startTime);
517
+ }, this._interval);
518
+ }
519
+ }
520
+ disposeWorker() {
521
+ if (this._worker) {
522
+ this._worker.terminate();
523
+ delete this._worker;
524
+ this._debug('Outgoing ping disposeWorker');
525
+ }
526
+ }
527
+ disposeInterval() {
528
+ if (this._timer) {
529
+ clearInterval(this._timer);
530
+ delete this._timer;
531
+ this._debug('Outgoing ping disposeInterval');
532
+ }
533
+ }
534
+ }
432
535
 
433
536
  /**
434
537
  * Supported STOMP versions
@@ -479,33 +582,6 @@
479
582
  Versions.V1_0,
480
583
  ]);
481
584
 
482
- /**
483
- * @internal
484
- */
485
- function augmentWebsocket(webSocket, debug) {
486
- webSocket.terminate = function () {
487
- const noOp = () => { };
488
- // set all callbacks to no op
489
- this.onerror = noOp;
490
- this.onmessage = noOp;
491
- this.onopen = noOp;
492
- const ts = new Date();
493
- const id = Math.random().toString().substring(2, 8); // A simulated id
494
- const origOnClose = this.onclose;
495
- // Track delay in actual closure of the socket
496
- this.onclose = closeEvent => {
497
- const delay = new Date().getTime() - ts.getTime();
498
- debug(`Discarded socket (#${id}) closed after ${delay}ms, with code/reason: ${closeEvent.code}/${closeEvent.reason}`);
499
- };
500
- this.close();
501
- origOnClose?.call(webSocket, {
502
- code: 4001,
503
- reason: `Quick discarding socket (#${id}) without waiting for the shutdown sequence.`,
504
- wasClean: false,
505
- });
506
- };
507
- }
508
-
509
585
  /**
510
586
  * The STOMP protocol handler
511
587
  *
@@ -677,12 +753,13 @@
677
753
  if (this.heartbeatOutgoing !== 0 && serverIncoming !== 0) {
678
754
  const ttl = Math.max(this.heartbeatOutgoing, serverIncoming);
679
755
  this.debug(`send PING every ${ttl}ms`);
680
- this._pinger = setInterval(() => {
756
+ this._pinger = new Ticker(ttl, this._client.heartbeatStrategy, this.debug);
757
+ this._pinger.start(() => {
681
758
  if (this._webSocket.readyState === exports.StompSocketState.OPEN) {
682
759
  this._webSocket.send(BYTE.LF);
683
760
  this.debug('>>> PING');
684
761
  }
685
- }, ttl);
762
+ });
686
763
  }
687
764
  if (this.heartbeatIncoming !== 0 && serverOutgoing !== 0) {
688
765
  const ttl = Math.max(this.heartbeatIncoming, serverOutgoing);
@@ -788,7 +865,7 @@
788
865
  _cleanUp() {
789
866
  this._connected = false;
790
867
  if (this._pinger) {
791
- clearInterval(this._pinger);
868
+ this._pinger.stop();
792
869
  this._pinger = undefined;
793
870
  }
794
871
  if (this._ponger) {
@@ -960,6 +1037,22 @@
960
1037
  * automatically reconnect with delay in milliseconds, set to 0 to disable.
961
1038
  */
962
1039
  this.reconnectDelay = 5000;
1040
+ /**
1041
+ * tracking the time to the next reconnection. Initialized to [Client#reconnectDelay]{@link Client#reconnectDelay}'s value and it may
1042
+ * change depending on the [Client#reconnectTimeMode]{@link Client#reconnectTimeMode} setting
1043
+ */
1044
+ this._nextReconnectDelay = 0;
1045
+ /**
1046
+ * Maximum time to wait between reconnects, in milliseconds. Defaults to 15 minutes.
1047
+ * Only relevant when reconnectTimeMode not LINEAR (e.g. EXPONENTIAL).
1048
+ * Set to 0 to wait indefinitely.
1049
+ */
1050
+ this.maxReconnectDelay = 15 * 60 * 1000; // 15 minutes in ms
1051
+ /**
1052
+ * Reconnection wait time mode, either linear (default) or exponential.
1053
+ * Note: See [Client#maxReconnectDelay]{@link Client#maxReconnectDelay} for setting the maximum delay when exponential
1054
+ */
1055
+ this.reconnectTimeMode = exports.ReconnectionTimeMode.LINEAR;
963
1056
  /**
964
1057
  * Incoming heartbeat interval in milliseconds. Set to 0 to disable.
965
1058
  */
@@ -968,6 +1061,22 @@
968
1061
  * Outgoing heartbeat interval in milliseconds. Set to 0 to disable.
969
1062
  */
970
1063
  this.heartbeatOutgoing = 10000;
1064
+ /**
1065
+ * Outgoing heartbeat strategy.
1066
+ * See https://github.com/stomp-js/stompjs/pull/579
1067
+ *
1068
+ * Can be worker or interval strategy, but will always use `interval`
1069
+ * if web workers are unavailable, for example, in a non-browser environment.
1070
+ *
1071
+ * Using Web Workers may work better on long-running pages
1072
+ * and mobile apps, as the browser may suspend Timers in the main page.
1073
+ * Try the `Worker` mode if you discover disconnects when the browser tab is in the background.
1074
+ *
1075
+ * When used in a JS environment, use 'worker' or 'interval' as valid values.
1076
+ *
1077
+ * Defaults to `interval` strategy.
1078
+ */
1079
+ this.heartbeatStrategy = exports.TickerStrategy.Interval;
971
1080
  /**
972
1081
  * This switches on a non-standard behavior while sending WebSocket packets.
973
1082
  * It splits larger (text) packets into chunks of [maxWebSocketChunkSize]{@link Client#maxWebSocketChunkSize}.
@@ -1049,11 +1158,18 @@
1049
1158
  configure(conf) {
1050
1159
  // bulk assign all properties to this
1051
1160
  Object.assign(this, conf);
1161
+ // Warn on incorrect maxReconnectDelay settings
1162
+ if (this.maxReconnectDelay > 0 &&
1163
+ this.maxReconnectDelay < this.reconnectDelay) {
1164
+ this.debug(`Warning: maxReconnectDelay (${this.maxReconnectDelay}ms) is less than reconnectDelay (${this.reconnectDelay}ms). Using reconnectDelay as the maxReconnectDelay delay.`);
1165
+ this.maxReconnectDelay = this.reconnectDelay;
1166
+ }
1052
1167
  }
1053
1168
  /**
1054
1169
  * Initiate the connection with the broker.
1055
1170
  * If the connection breaks, as per [Client#reconnectDelay]{@link Client#reconnectDelay},
1056
- * it will keep trying to reconnect.
1171
+ * it will keep trying to reconnect. If the [Client#reconnectTimeMode]{@link Client#reconnectTimeMode}
1172
+ * is set to EXPONENTIAL it will increase the wait time exponentially
1057
1173
  *
1058
1174
  * Call [Client#deactivate]{@link Client#deactivate} to disconnect and stop reconnection attempts.
1059
1175
  */
@@ -1064,6 +1180,7 @@
1064
1180
  return;
1065
1181
  }
1066
1182
  this._changeState(exports.ActivationState.ACTIVE);
1183
+ this._nextReconnectDelay = this.reconnectDelay;
1067
1184
  this._connect();
1068
1185
  };
1069
1186
  // if it is deactivating, wait for it to complete before activating.
@@ -1078,7 +1195,7 @@
1078
1195
  }
1079
1196
  }
1080
1197
  async _connect() {
1081
- await this.beforeConnect();
1198
+ await this.beforeConnect(this);
1082
1199
  if (this._stompHandler) {
1083
1200
  this.debug('There is already a stompHandler, skipping the call to connect');
1084
1201
  return;
@@ -1113,6 +1230,7 @@
1113
1230
  disconnectHeaders: this._disconnectHeaders,
1114
1231
  heartbeatIncoming: this.heartbeatIncoming,
1115
1232
  heartbeatOutgoing: this.heartbeatOutgoing,
1233
+ heartbeatStrategy: this.heartbeatStrategy,
1116
1234
  splitLargeFrames: this.splitLargeFrames,
1117
1235
  maxWebSocketChunkSize: this.maxWebSocketChunkSize,
1118
1236
  forceBinaryWSFrames: this.forceBinaryWSFrames,
@@ -1181,11 +1299,18 @@
1181
1299
  return webSocket;
1182
1300
  }
1183
1301
  _schedule_reconnect() {
1184
- if (this.reconnectDelay > 0) {
1185
- this.debug(`STOMP: scheduling reconnection in ${this.reconnectDelay}ms`);
1302
+ if (this._nextReconnectDelay > 0) {
1303
+ this.debug(`STOMP: scheduling reconnection in ${this._nextReconnectDelay}ms`);
1186
1304
  this._reconnector = setTimeout(() => {
1305
+ if (this.reconnectTimeMode === exports.ReconnectionTimeMode.EXPONENTIAL) {
1306
+ this._nextReconnectDelay = this._nextReconnectDelay * 2;
1307
+ // Truncated exponential backoff with a set limit unless disabled
1308
+ if (this.maxReconnectDelay !== 0) {
1309
+ this._nextReconnectDelay = Math.min(this._nextReconnectDelay, this.maxReconnectDelay);
1310
+ }
1311
+ }
1187
1312
  this._connect();
1188
- }, this.reconnectDelay);
1313
+ }, this._nextReconnectDelay);
1189
1314
  }
1190
1315
  }
1191
1316
  /**
@@ -1220,6 +1345,8 @@
1220
1345
  return Promise.resolve();
1221
1346
  }
1222
1347
  this._changeState(exports.ActivationState.DEACTIVATING);
1348
+ // Reset reconnection timer just to be safe
1349
+ this._nextReconnectDelay = 0;
1223
1350
  // Clear if a reconnection was scheduled
1224
1351
  if (this._reconnector) {
1225
1352
  clearTimeout(this._reconnector);
@@ -1 +1 @@
1
- {"version":3,"file":"stomp.umd.js","sources":["../src/byte.ts","../src/frame-impl.ts","../src/parser.ts","../src/types.ts","../src/versions.ts","../src/augment-websocket.ts","../src/stomp-handler.ts","../src/client.ts","../src/stomp-config.ts","../src/stomp-headers.ts","../src/compatibility/heartbeat-info.ts","../src/compatibility/compat-client.ts","../src/compatibility/stomp.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["StompSocketState","ActivationState"],"mappings":"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"}
1
+ {"version":3,"file":"stomp.umd.js","sources":["../src/augment-websocket.ts","../src/byte.ts","../src/frame-impl.ts","../src/parser.ts","../src/types.ts","../src/ticker.ts","../src/versions.ts","../src/stomp-handler.ts","../src/client.ts","../src/stomp-config.ts","../src/stomp-headers.ts","../src/compatibility/heartbeat-info.ts","../src/compatibility/compat-client.ts","../src/compatibility/stomp.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["StompSocketState","ActivationState","ReconnectionTimeMode","TickerStrategy"],"mappings":"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"}
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).StompJs={})}(this,(function(e){"use strict";const t="\n",s="\0";class n{get body(){return!this._body&&this.isBinaryBody&&(this._body=(new TextDecoder).decode(this._binaryBody)),this._body||""}get binaryBody(){return this._binaryBody||this.isBinaryBody||(this._binaryBody=(new TextEncoder).encode(this._body)),this._binaryBody}constructor(e){const{command:t,headers:s,body:n,binaryBody:i,escapeHeaderValues:o,skipContentLengthHeader:c}=e;this.command=t,this.headers=Object.assign({},s||{}),i?(this._binaryBody=i,this.isBinaryBody=!0):(this._body=n||"",this.isBinaryBody=!1),this.escapeHeaderValues=o||!1,this.skipContentLengthHeader=c||!1}static fromRawFrame(e,t){const s={},i=e=>e.replace(/^\s+|\s+$/g,"");for(const o of e.headers.reverse()){o.indexOf(":");const c=i(o[0]);let r=i(o[1]);t&&"CONNECT"!==e.command&&"CONNECTED"!==e.command&&(r=n.hdrValueUnEscape(r)),s[c]=r}return new n({command:e.command,headers:s,binaryBody:e.binaryBody,escapeHeaderValues:t})}toString(){return this.serializeCmdAndHeaders()}serialize(){const e=this.serializeCmdAndHeaders();return this.isBinaryBody?n.toUnit8Array(e,this._binaryBody).buffer:e+this._body+s}serializeCmdAndHeaders(){const e=[this.command];this.skipContentLengthHeader&&delete this.headers["content-length"];for(const t of Object.keys(this.headers||{})){const s=this.headers[t];this.escapeHeaderValues&&"CONNECT"!==this.command&&"CONNECTED"!==this.command?e.push(`${t}:${n.hdrValueEscape(`${s}`)}`):e.push(`${t}:${s}`)}return(this.isBinaryBody||!this.isBodyEmpty()&&!this.skipContentLengthHeader)&&e.push(`content-length:${this.bodyLength()}`),e.join(t)+t+t}isBodyEmpty(){return 0===this.bodyLength()}bodyLength(){const e=this.binaryBody;return e?e.length:0}static sizeOfUTF8(e){return e?(new TextEncoder).encode(e).length:0}static toUnit8Array(e,t){const s=(new TextEncoder).encode(e),n=new Uint8Array([0]),i=new Uint8Array(s.length+t.length+n.length);return i.set(s),i.set(t,s.length),i.set(n,s.length+t.length),i}static marshall(e){return new n(e).serialize()}static hdrValueEscape(e){return e.replace(/\\/g,"\\\\").replace(/\r/g,"\\r").replace(/\n/g,"\\n").replace(/:/g,"\\c")}static hdrValueUnEscape(e){return e.replace(/\\r/g,"\r").replace(/\\n/g,"\n").replace(/\\c/g,":").replace(/\\\\/g,"\\")}}class i{constructor(e,t){this.onFrame=e,this.onIncomingPing=t,this._encoder=new TextEncoder,this._decoder=new TextDecoder,this._token=[],this._initState()}parseChunk(e,t=!1){let s;if(s="string"==typeof e?this._encoder.encode(e):new Uint8Array(e),t&&0!==s[s.length-1]){const e=new Uint8Array(s.length+1);e.set(s,0),e[s.length]=0,s=e}for(let e=0;e<s.length;e++){const t=s[e];this._onByte(t)}}_collectFrame(e){0!==e&&13!==e&&(10!==e?(this._onByte=this._collectCommand,this._reinjectByte(e)):this.onIncomingPing())}_collectCommand(e){if(13!==e)return 10===e?(this._results.command=this._consumeTokenAsUTF8(),void(this._onByte=this._collectHeaders)):void this._consumeByte(e)}_collectHeaders(e){13!==e&&(10!==e?(this._onByte=this._collectHeaderKey,this._reinjectByte(e)):this._setupCollectBody())}_reinjectByte(e){this._onByte(e)}_collectHeaderKey(e){if(58===e)return this._headerKey=this._consumeTokenAsUTF8(),void(this._onByte=this._collectHeaderValue);this._consumeByte(e)}_collectHeaderValue(e){if(13!==e)return 10===e?(this._results.headers.push([this._headerKey,this._consumeTokenAsUTF8()]),this._headerKey=void 0,void(this._onByte=this._collectHeaders)):void this._consumeByte(e)}_setupCollectBody(){const e=this._results.headers.filter((e=>"content-length"===e[0]))[0];e?(this._bodyBytesRemaining=parseInt(e[1],10),this._onByte=this._collectBodyFixedSize):this._onByte=this._collectBodyNullTerminated}_collectBodyNullTerminated(e){0!==e?this._consumeByte(e):this._retrievedBody()}_collectBodyFixedSize(e){0!=this._bodyBytesRemaining--?this._consumeByte(e):this._retrievedBody()}_retrievedBody(){this._results.binaryBody=this._consumeTokenAsRaw();try{this.onFrame(this._results)}catch(e){console.log("Ignoring an exception thrown by a frame handler. Original exception: ",e)}this._initState()}_consumeByte(e){this._token.push(e)}_consumeTokenAsUTF8(){return this._decoder.decode(this._consumeTokenAsRaw())}_consumeTokenAsRaw(){const e=new Uint8Array(this._token);return this._token=[],e}_initState(){this._results={command:void 0,headers:[],binaryBody:void 0},this._token=[],this._headerKey=void 0,this._onByte=this._collectFrame}}var o,c;e.StompSocketState=void 0,(o=e.StompSocketState||(e.StompSocketState={}))[o.CONNECTING=0]="CONNECTING",o[o.OPEN=1]="OPEN",o[o.CLOSING=2]="CLOSING",o[o.CLOSED=3]="CLOSED",e.ActivationState=void 0,(c=e.ActivationState||(e.ActivationState={}))[c.ACTIVE=0]="ACTIVE",c[c.DEACTIVATING=1]="DEACTIVATING",c[c.INACTIVE=2]="INACTIVE";class r{constructor(e){this.versions=e}supportedVersions(){return this.versions.join(",")}protocolVersions(){return this.versions.map((e=>`v${e.replace(".","")}.stomp`))}}r.V1_0="1.0",r.V1_1="1.1",r.V1_2="1.2",r.default=new r([r.V1_2,r.V1_1,r.V1_0]);class a{get connectedVersion(){return this._connectedVersion}get connected(){return this._connected}constructor(e,t,s){this._client=e,this._webSocket=t,this._connected=!1,this._serverFrameHandlers={CONNECTED:e=>{this.debug(`connected to server ${e.headers.server}`),this._connected=!0,this._connectedVersion=e.headers.version,this._connectedVersion===r.V1_2&&(this._escapeHeaderValues=!0),this._setupHeartbeat(e.headers),this.onConnect(e)},MESSAGE:e=>{const t=e.headers.subscription,s=this._subscriptions[t]||this.onUnhandledMessage,n=e,i=this,o=this._connectedVersion===r.V1_2?n.headers.ack:n.headers["message-id"];n.ack=(e={})=>i.ack(o,t,e),n.nack=(e={})=>i.nack(o,t,e),s(n)},RECEIPT:e=>{const t=this._receiptWatchers[e.headers["receipt-id"]];t?(t(e),delete this._receiptWatchers[e.headers["receipt-id"]]):this.onUnhandledReceipt(e)},ERROR:e=>{this.onStompError(e)}},this._counter=0,this._subscriptions={},this._receiptWatchers={},this._partialData="",this._escapeHeaderValues=!1,this._lastServerActivityTS=Date.now(),this.debug=s.debug,this.stompVersions=s.stompVersions,this.connectHeaders=s.connectHeaders,this.disconnectHeaders=s.disconnectHeaders,this.heartbeatIncoming=s.heartbeatIncoming,this.heartbeatOutgoing=s.heartbeatOutgoing,this.splitLargeFrames=s.splitLargeFrames,this.maxWebSocketChunkSize=s.maxWebSocketChunkSize,this.forceBinaryWSFrames=s.forceBinaryWSFrames,this.logRawCommunication=s.logRawCommunication,this.appendMissingNULLonIncoming=s.appendMissingNULLonIncoming,this.discardWebsocketOnCommFailure=s.discardWebsocketOnCommFailure,this.onConnect=s.onConnect,this.onDisconnect=s.onDisconnect,this.onStompError=s.onStompError,this.onWebSocketClose=s.onWebSocketClose,this.onWebSocketError=s.onWebSocketError,this.onUnhandledMessage=s.onUnhandledMessage,this.onUnhandledReceipt=s.onUnhandledReceipt,this.onUnhandledFrame=s.onUnhandledFrame}start(){const e=new i((e=>{const t=n.fromRawFrame(e,this._escapeHeaderValues);this.logRawCommunication||this.debug(`<<< ${t}`);(this._serverFrameHandlers[t.command]||this.onUnhandledFrame)(t)}),(()=>{this.debug("<<< PONG")}));this._webSocket.onmessage=t=>{if(this.debug("Received data"),this._lastServerActivityTS=Date.now(),this.logRawCommunication){const e=t.data instanceof ArrayBuffer?(new TextDecoder).decode(t.data):t.data;this.debug(`<<< ${e}`)}e.parseChunk(t.data,this.appendMissingNULLonIncoming)},this._webSocket.onclose=e=>{this.debug(`Connection closed to ${this._webSocket.url}`),this._cleanUp(),this.onWebSocketClose(e)},this._webSocket.onerror=e=>{this.onWebSocketError(e)},this._webSocket.onopen=()=>{const e=Object.assign({},this.connectHeaders);this.debug("Web Socket Opened..."),e["accept-version"]=this.stompVersions.supportedVersions(),e["heart-beat"]=[this.heartbeatOutgoing,this.heartbeatIncoming].join(","),this._transmit({command:"CONNECT",headers:e})}}_setupHeartbeat(s){if(s.version!==r.V1_1&&s.version!==r.V1_2)return;if(!s["heart-beat"])return;const[n,i]=s["heart-beat"].split(",").map((e=>parseInt(e,10)));if(0!==this.heartbeatOutgoing&&0!==i){const s=Math.max(this.heartbeatOutgoing,i);this.debug(`send PING every ${s}ms`),this._pinger=setInterval((()=>{this._webSocket.readyState===e.StompSocketState.OPEN&&(this._webSocket.send(t),this.debug(">>> PING"))}),s)}if(0!==this.heartbeatIncoming&&0!==n){const e=Math.max(this.heartbeatIncoming,n);this.debug(`check PONG every ${e}ms`),this._ponger=setInterval((()=>{const t=Date.now()-this._lastServerActivityTS;t>2*e&&(this.debug(`did not receive server activity for the last ${t}ms`),this._closeOrDiscardWebsocket())}),e)}}_closeOrDiscardWebsocket(){this.discardWebsocketOnCommFailure?(this.debug("Discarding websocket, the underlying socket may linger for a while"),this.discardWebsocket()):(this.debug("Issuing close on the websocket"),this._closeWebsocket())}forceDisconnect(){this._webSocket&&(this._webSocket.readyState!==e.StompSocketState.CONNECTING&&this._webSocket.readyState!==e.StompSocketState.OPEN||this._closeOrDiscardWebsocket())}_closeWebsocket(){this._webSocket.onmessage=()=>{},this._webSocket.close()}discardWebsocket(){var e,t;"function"!=typeof this._webSocket.terminate&&(e=this._webSocket,t=e=>this.debug(e),e.terminate=function(){const s=()=>{};this.onerror=s,this.onmessage=s,this.onopen=s;const n=new Date,i=Math.random().toString().substring(2,8),o=this.onclose;this.onclose=e=>{const s=(new Date).getTime()-n.getTime();t(`Discarded socket (#${i}) closed after ${s}ms, with code/reason: ${e.code}/${e.reason}`)},this.close(),o?.call(e,{code:4001,reason:`Quick discarding socket (#${i}) without waiting for the shutdown sequence.`,wasClean:!1})}),this._webSocket.terminate()}_transmit(e){const{command:t,headers:s,body:i,binaryBody:o,skipContentLengthHeader:c}=e,r=new n({command:t,headers:s,body:i,binaryBody:o,escapeHeaderValues:this._escapeHeaderValues,skipContentLengthHeader:c});let a=r.serialize();if(this.logRawCommunication?this.debug(`>>> ${a}`):this.debug(`>>> ${r}`),this.forceBinaryWSFrames&&"string"==typeof a&&(a=(new TextEncoder).encode(a)),"string"==typeof a&&this.splitLargeFrames){let e=a;for(;e.length>0;){const t=e.substring(0,this.maxWebSocketChunkSize);e=e.substring(this.maxWebSocketChunkSize),this._webSocket.send(t),this.debug(`chunk sent = ${t.length}, remaining = ${e.length}`)}}else this._webSocket.send(a)}dispose(){if(this.connected)try{const e=Object.assign({},this.disconnectHeaders);e.receipt||(e.receipt="close-"+this._counter++),this.watchForReceipt(e.receipt,(e=>{this._closeWebsocket(),this._cleanUp(),this.onDisconnect(e)})),this._transmit({command:"DISCONNECT",headers:e})}catch(e){this.debug(`Ignoring error during disconnect ${e}`)}else this._webSocket.readyState!==e.StompSocketState.CONNECTING&&this._webSocket.readyState!==e.StompSocketState.OPEN||this._closeWebsocket()}_cleanUp(){this._connected=!1,this._pinger&&(clearInterval(this._pinger),this._pinger=void 0),this._ponger&&(clearInterval(this._ponger),this._ponger=void 0)}publish(e){const{destination:t,headers:s,body:n,binaryBody:i,skipContentLengthHeader:o}=e,c=Object.assign({destination:t},s);this._transmit({command:"SEND",headers:c,body:n,binaryBody:i,skipContentLengthHeader:o})}watchForReceipt(e,t){this._receiptWatchers[e]=t}subscribe(e,t,s={}){(s=Object.assign({},s)).id||(s.id="sub-"+this._counter++),s.destination=e,this._subscriptions[s.id]=t,this._transmit({command:"SUBSCRIBE",headers:s});const n=this;return{id:s.id,unsubscribe:e=>n.unsubscribe(s.id,e)}}unsubscribe(e,t={}){t=Object.assign({},t),delete this._subscriptions[e],t.id=e,this._transmit({command:"UNSUBSCRIBE",headers:t})}begin(e){const t=e||"tx-"+this._counter++;this._transmit({command:"BEGIN",headers:{transaction:t}});const s=this;return{id:t,commit(){s.commit(t)},abort(){s.abort(t)}}}commit(e){this._transmit({command:"COMMIT",headers:{transaction:e}})}abort(e){this._transmit({command:"ABORT",headers:{transaction:e}})}ack(e,t,s={}){s=Object.assign({},s),this._connectedVersion===r.V1_2?s.id=e:s["message-id"]=e,s.subscription=t,this._transmit({command:"ACK",headers:s})}nack(e,t,s={}){return s=Object.assign({},s),this._connectedVersion===r.V1_2?s.id=e:s["message-id"]=e,s.subscription=t,this._transmit({command:"NACK",headers:s})}}class h{get webSocket(){return this._stompHandler?._webSocket}get disconnectHeaders(){return this._disconnectHeaders}set disconnectHeaders(e){this._disconnectHeaders=e,this._stompHandler&&(this._stompHandler.disconnectHeaders=this._disconnectHeaders)}get connected(){return!!this._stompHandler&&this._stompHandler.connected}get connectedVersion(){return this._stompHandler?this._stompHandler.connectedVersion:void 0}get active(){return this.state===e.ActivationState.ACTIVE}_changeState(e){this.state=e,this.onChangeState(e)}constructor(t={}){this.stompVersions=r.default,this.connectionTimeout=0,this.reconnectDelay=5e3,this.heartbeatIncoming=1e4,this.heartbeatOutgoing=1e4,this.splitLargeFrames=!1,this.maxWebSocketChunkSize=8192,this.forceBinaryWSFrames=!1,this.appendMissingNULLonIncoming=!1,this.discardWebsocketOnCommFailure=!1,this.state=e.ActivationState.INACTIVE;const s=()=>{};this.debug=s,this.beforeConnect=s,this.onConnect=s,this.onDisconnect=s,this.onUnhandledMessage=s,this.onUnhandledReceipt=s,this.onUnhandledFrame=s,this.onStompError=s,this.onWebSocketClose=s,this.onWebSocketError=s,this.logRawCommunication=!1,this.onChangeState=s,this.connectHeaders={},this._disconnectHeaders={},this.configure(t)}configure(e){Object.assign(this,e)}activate(){const t=()=>{this.active?this.debug("Already ACTIVE, ignoring request to activate"):(this._changeState(e.ActivationState.ACTIVE),this._connect())};this.state===e.ActivationState.DEACTIVATING?(this.debug("Waiting for deactivation to finish before activating"),this.deactivate().then((()=>{t()}))):t()}async _connect(){if(await this.beforeConnect(),this._stompHandler)return void this.debug("There is already a stompHandler, skipping the call to connect");if(!this.active)return void this.debug("Client has been marked inactive, will not attempt to connect");this.connectionTimeout>0&&(this._connectionWatcher&&clearTimeout(this._connectionWatcher),this._connectionWatcher=setTimeout((()=>{this.connected||(this.debug(`Connection not established in ${this.connectionTimeout}ms, closing socket`),this.forceDisconnect())}),this.connectionTimeout)),this.debug("Opening Web Socket...");const t=this._createWebSocket();this._stompHandler=new a(this,t,{debug:this.debug,stompVersions:this.stompVersions,connectHeaders:this.connectHeaders,disconnectHeaders:this._disconnectHeaders,heartbeatIncoming:this.heartbeatIncoming,heartbeatOutgoing:this.heartbeatOutgoing,splitLargeFrames:this.splitLargeFrames,maxWebSocketChunkSize:this.maxWebSocketChunkSize,forceBinaryWSFrames:this.forceBinaryWSFrames,logRawCommunication:this.logRawCommunication,appendMissingNULLonIncoming:this.appendMissingNULLonIncoming,discardWebsocketOnCommFailure:this.discardWebsocketOnCommFailure,onConnect:e=>{if(this._connectionWatcher&&(clearTimeout(this._connectionWatcher),this._connectionWatcher=void 0),!this.active)return this.debug("STOMP got connected while deactivate was issued, will disconnect now"),void this._disposeStompHandler();this.onConnect(e)},onDisconnect:e=>{this.onDisconnect(e)},onStompError:e=>{this.onStompError(e)},onWebSocketClose:t=>{this._stompHandler=void 0,this.state===e.ActivationState.DEACTIVATING&&this._changeState(e.ActivationState.INACTIVE),this.onWebSocketClose(t),this.active&&this._schedule_reconnect()},onWebSocketError:e=>{this.onWebSocketError(e)},onUnhandledMessage:e=>{this.onUnhandledMessage(e)},onUnhandledReceipt:e=>{this.onUnhandledReceipt(e)},onUnhandledFrame:e=>{this.onUnhandledFrame(e)}}),this._stompHandler.start()}_createWebSocket(){let e;if(this.webSocketFactory)e=this.webSocketFactory();else{if(!this.brokerURL)throw new Error("Either brokerURL or webSocketFactory must be provided");e=new WebSocket(this.brokerURL,this.stompVersions.protocolVersions())}return e.binaryType="arraybuffer",e}_schedule_reconnect(){this.reconnectDelay>0&&(this.debug(`STOMP: scheduling reconnection in ${this.reconnectDelay}ms`),this._reconnector=setTimeout((()=>{this._connect()}),this.reconnectDelay))}async deactivate(t={}){const s=t.force||!1,n=this.active;let i;if(this.state===e.ActivationState.INACTIVE)return this.debug("Already INACTIVE, nothing more to do"),Promise.resolve();if(this._changeState(e.ActivationState.DEACTIVATING),this._reconnector&&(clearTimeout(this._reconnector),this._reconnector=void 0),!this._stompHandler||this.webSocket.readyState===e.StompSocketState.CLOSED)return this._changeState(e.ActivationState.INACTIVE),Promise.resolve();{const e=this._stompHandler.onWebSocketClose;i=new Promise(((t,s)=>{this._stompHandler.onWebSocketClose=s=>{e(s),t()}}))}return s?this._stompHandler?.discardWebsocket():n&&this._disposeStompHandler(),i}forceDisconnect(){this._stompHandler&&this._stompHandler.forceDisconnect()}_disposeStompHandler(){this._stompHandler&&this._stompHandler.dispose()}publish(e){this._checkConnection(),this._stompHandler.publish(e)}_checkConnection(){if(!this.connected)throw new TypeError("There is no underlying STOMP connection")}watchForReceipt(e,t){this._checkConnection(),this._stompHandler.watchForReceipt(e,t)}subscribe(e,t,s={}){return this._checkConnection(),this._stompHandler.subscribe(e,t,s)}unsubscribe(e,t={}){this._checkConnection(),this._stompHandler.unsubscribe(e,t)}begin(e){return this._checkConnection(),this._stompHandler.begin(e)}commit(e){this._checkConnection(),this._stompHandler.commit(e)}abort(e){this._checkConnection(),this._stompHandler.abort(e)}ack(e,t,s={}){this._checkConnection(),this._stompHandler.ack(e,t,s)}nack(e,t,s={}){this._checkConnection(),this._stompHandler.nack(e,t,s)}}class d{constructor(e){this.client=e}get outgoing(){return this.client.heartbeatOutgoing}set outgoing(e){this.client.heartbeatOutgoing=e}get incoming(){return this.client.heartbeatIncoming}set incoming(e){this.client.heartbeatIncoming=e}}class l extends h{constructor(e){super(),this.maxWebSocketFrameSize=16384,this._heartbeatInfo=new d(this),this.reconnect_delay=0,this.webSocketFactory=e,this.debug=(...e)=>{console.log(...e)}}_parseConnect(...e){let t,s,n,i={};if(e.length<2)throw new Error("Connect requires at least 2 arguments");if("function"==typeof e[1])[i,s,n,t]=e;else if(6===e.length)[i.login,i.passcode,s,n,t,i.host]=e;else[i.login,i.passcode,s,n,t]=e;return[i,s,n,t]}connect(...e){const t=this._parseConnect(...e);t[0]&&(this.connectHeaders=t[0]),t[1]&&(this.onConnect=t[1]),t[2]&&(this.onStompError=t[2]),t[3]&&(this.onWebSocketClose=t[3]),super.activate()}disconnect(e,t={}){e&&(this.onDisconnect=e),this.disconnectHeaders=t,super.deactivate()}send(e,t={},s=""){const n=!1===(t=Object.assign({},t))["content-length"];n&&delete t["content-length"],this.publish({destination:e,headers:t,body:s,skipContentLengthHeader:n})}set reconnect_delay(e){this.reconnectDelay=e}get ws(){return this.webSocket}get version(){return this.connectedVersion}get onreceive(){return this.onUnhandledMessage}set onreceive(e){this.onUnhandledMessage=e}get onreceipt(){return this.onUnhandledReceipt}set onreceipt(e){this.onUnhandledReceipt=e}get heartbeat(){return this._heartbeatInfo}set heartbeat(e){this.heartbeatIncoming=e.incoming,this.heartbeatOutgoing=e.outgoing}}class m{static client(e,t){null==t&&(t=r.default.protocolVersions());return new l((()=>new(m.WebSocketClass||WebSocket)(e,t)))}static over(e){let t;return"function"==typeof e?t=e:(console.warn("Stomp.over did not receive a factory, auto reconnect will not work. Please see https://stomp-js.github.io/api-docs/latest/classes/Stomp.html#over"),t=()=>e),new l(t)}}m.WebSocketClass=null,e.Client=h,e.CompatClient=l,e.FrameImpl=n,e.Parser=i,e.Stomp=m,e.StompConfig=class{},e.StompHeaders=class{},e.Versions=r}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).StompJs={})}(this,(function(e){"use strict";const t="\n",n="\0";class s{get body(){return!this._body&&this.isBinaryBody&&(this._body=(new TextDecoder).decode(this._binaryBody)),this._body||""}get binaryBody(){return this._binaryBody||this.isBinaryBody||(this._binaryBody=(new TextEncoder).encode(this._body)),this._binaryBody}constructor(e){const{command:t,headers:n,body:s,binaryBody:i,escapeHeaderValues:o,skipContentLengthHeader:r}=e;this.command=t,this.headers=Object.assign({},n||{}),i?(this._binaryBody=i,this.isBinaryBody=!0):(this._body=s||"",this.isBinaryBody=!1),this.escapeHeaderValues=o||!1,this.skipContentLengthHeader=r||!1}static fromRawFrame(e,t){const n={},i=e=>e.replace(/^\s+|\s+$/g,"");for(const o of e.headers.reverse()){o.indexOf(":");const r=i(o[0]);let c=i(o[1]);t&&"CONNECT"!==e.command&&"CONNECTED"!==e.command&&(c=s.hdrValueUnEscape(c)),n[r]=c}return new s({command:e.command,headers:n,binaryBody:e.binaryBody,escapeHeaderValues:t})}toString(){return this.serializeCmdAndHeaders()}serialize(){const e=this.serializeCmdAndHeaders();return this.isBinaryBody?s.toUnit8Array(e,this._binaryBody).buffer:e+this._body+n}serializeCmdAndHeaders(){const e=[this.command];this.skipContentLengthHeader&&delete this.headers["content-length"];for(const t of Object.keys(this.headers||{})){const n=this.headers[t];this.escapeHeaderValues&&"CONNECT"!==this.command&&"CONNECTED"!==this.command?e.push(`${t}:${s.hdrValueEscape(`${n}`)}`):e.push(`${t}:${n}`)}return(this.isBinaryBody||!this.isBodyEmpty()&&!this.skipContentLengthHeader)&&e.push(`content-length:${this.bodyLength()}`),e.join(t)+t+t}isBodyEmpty(){return 0===this.bodyLength()}bodyLength(){const e=this.binaryBody;return e?e.length:0}static sizeOfUTF8(e){return e?(new TextEncoder).encode(e).length:0}static toUnit8Array(e,t){const n=(new TextEncoder).encode(e),s=new Uint8Array([0]),i=new Uint8Array(n.length+t.length+s.length);return i.set(n),i.set(t,n.length),i.set(s,n.length+t.length),i}static marshall(e){return new s(e).serialize()}static hdrValueEscape(e){return e.replace(/\\/g,"\\\\").replace(/\r/g,"\\r").replace(/\n/g,"\\n").replace(/:/g,"\\c")}static hdrValueUnEscape(e){return e.replace(/\\r/g,"\r").replace(/\\n/g,"\n").replace(/\\c/g,":").replace(/\\\\/g,"\\")}}class i{constructor(e,t){this.onFrame=e,this.onIncomingPing=t,this._encoder=new TextEncoder,this._decoder=new TextDecoder,this._token=[],this._initState()}parseChunk(e,t=!1){let n;if(n="string"==typeof e?this._encoder.encode(e):new Uint8Array(e),t&&0!==n[n.length-1]){const e=new Uint8Array(n.length+1);e.set(n,0),e[n.length]=0,n=e}for(let e=0;e<n.length;e++){const t=n[e];this._onByte(t)}}_collectFrame(e){0!==e&&13!==e&&(10!==e?(this._onByte=this._collectCommand,this._reinjectByte(e)):this.onIncomingPing())}_collectCommand(e){if(13!==e)return 10===e?(this._results.command=this._consumeTokenAsUTF8(),void(this._onByte=this._collectHeaders)):void this._consumeByte(e)}_collectHeaders(e){13!==e&&(10!==e?(this._onByte=this._collectHeaderKey,this._reinjectByte(e)):this._setupCollectBody())}_reinjectByte(e){this._onByte(e)}_collectHeaderKey(e){if(58===e)return this._headerKey=this._consumeTokenAsUTF8(),void(this._onByte=this._collectHeaderValue);this._consumeByte(e)}_collectHeaderValue(e){if(13!==e)return 10===e?(this._results.headers.push([this._headerKey,this._consumeTokenAsUTF8()]),this._headerKey=void 0,void(this._onByte=this._collectHeaders)):void this._consumeByte(e)}_setupCollectBody(){const e=this._results.headers.filter((e=>"content-length"===e[0]))[0];e?(this._bodyBytesRemaining=parseInt(e[1],10),this._onByte=this._collectBodyFixedSize):this._onByte=this._collectBodyNullTerminated}_collectBodyNullTerminated(e){0!==e?this._consumeByte(e):this._retrievedBody()}_collectBodyFixedSize(e){0!=this._bodyBytesRemaining--?this._consumeByte(e):this._retrievedBody()}_retrievedBody(){this._results.binaryBody=this._consumeTokenAsRaw();try{this.onFrame(this._results)}catch(e){console.log("Ignoring an exception thrown by a frame handler. Original exception: ",e)}this._initState()}_consumeByte(e){this._token.push(e)}_consumeTokenAsUTF8(){return this._decoder.decode(this._consumeTokenAsRaw())}_consumeTokenAsRaw(){const e=new Uint8Array(this._token);return this._token=[],e}_initState(){this._results={command:void 0,headers:[],binaryBody:void 0},this._token=[],this._headerKey=void 0,this._onByte=this._collectFrame}}var o,r,c,a;e.StompSocketState=void 0,(o=e.StompSocketState||(e.StompSocketState={}))[o.CONNECTING=0]="CONNECTING",o[o.OPEN=1]="OPEN",o[o.CLOSING=2]="CLOSING",o[o.CLOSED=3]="CLOSED",e.ActivationState=void 0,(r=e.ActivationState||(e.ActivationState={}))[r.ACTIVE=0]="ACTIVE",r[r.DEACTIVATING=1]="DEACTIVATING",r[r.INACTIVE=2]="INACTIVE",e.ReconnectionTimeMode=void 0,(c=e.ReconnectionTimeMode||(e.ReconnectionTimeMode={}))[c.LINEAR=0]="LINEAR",c[c.EXPONENTIAL=1]="EXPONENTIAL",e.TickerStrategy=void 0,(a=e.TickerStrategy||(e.TickerStrategy={})).Interval="interval",a.Worker="worker";class h{constructor(t,n=e.TickerStrategy.Interval,s){this._interval=t,this._strategy=n,this._debug=s,this._workerScript=`\n var startTime = Date.now();\n setInterval(function() {\n self.postMessage(Date.now() - startTime);\n }, ${this._interval});\n `}start(e){this.stop(),this.shouldUseWorker()?this.runWorker(e):this.runInterval(e)}stop(){this.disposeWorker(),this.disposeInterval()}shouldUseWorker(){return"undefined"!=typeof Worker&&this._strategy===e.TickerStrategy.Worker}runWorker(e){this._debug("Using runWorker for outgoing pings"),this._worker||(this._worker=new Worker(URL.createObjectURL(new Blob([this._workerScript],{type:"text/javascript"}))),this._worker.onmessage=t=>e(t.data))}runInterval(e){if(this._debug("Using runInterval for outgoing pings"),!this._timer){const t=Date.now();this._timer=setInterval((()=>{e(Date.now()-t)}),this._interval)}}disposeWorker(){this._worker&&(this._worker.terminate(),delete this._worker,this._debug("Outgoing ping disposeWorker"))}disposeInterval(){this._timer&&(clearInterval(this._timer),delete this._timer,this._debug("Outgoing ping disposeInterval"))}}class d{constructor(e){this.versions=e}supportedVersions(){return this.versions.join(",")}protocolVersions(){return this.versions.map((e=>`v${e.replace(".","")}.stomp`))}}d.V1_0="1.0",d.V1_1="1.1",d.V1_2="1.2",d.default=new d([d.V1_2,d.V1_1,d.V1_0]);class l{get connectedVersion(){return this._connectedVersion}get connected(){return this._connected}constructor(e,t,n){this._client=e,this._webSocket=t,this._connected=!1,this._serverFrameHandlers={CONNECTED:e=>{this.debug(`connected to server ${e.headers.server}`),this._connected=!0,this._connectedVersion=e.headers.version,this._connectedVersion===d.V1_2&&(this._escapeHeaderValues=!0),this._setupHeartbeat(e.headers),this.onConnect(e)},MESSAGE:e=>{const t=e.headers.subscription,n=this._subscriptions[t]||this.onUnhandledMessage,s=e,i=this,o=this._connectedVersion===d.V1_2?s.headers.ack:s.headers["message-id"];s.ack=(e={})=>i.ack(o,t,e),s.nack=(e={})=>i.nack(o,t,e),n(s)},RECEIPT:e=>{const t=this._receiptWatchers[e.headers["receipt-id"]];t?(t(e),delete this._receiptWatchers[e.headers["receipt-id"]]):this.onUnhandledReceipt(e)},ERROR:e=>{this.onStompError(e)}},this._counter=0,this._subscriptions={},this._receiptWatchers={},this._partialData="",this._escapeHeaderValues=!1,this._lastServerActivityTS=Date.now(),this.debug=n.debug,this.stompVersions=n.stompVersions,this.connectHeaders=n.connectHeaders,this.disconnectHeaders=n.disconnectHeaders,this.heartbeatIncoming=n.heartbeatIncoming,this.heartbeatOutgoing=n.heartbeatOutgoing,this.splitLargeFrames=n.splitLargeFrames,this.maxWebSocketChunkSize=n.maxWebSocketChunkSize,this.forceBinaryWSFrames=n.forceBinaryWSFrames,this.logRawCommunication=n.logRawCommunication,this.appendMissingNULLonIncoming=n.appendMissingNULLonIncoming,this.discardWebsocketOnCommFailure=n.discardWebsocketOnCommFailure,this.onConnect=n.onConnect,this.onDisconnect=n.onDisconnect,this.onStompError=n.onStompError,this.onWebSocketClose=n.onWebSocketClose,this.onWebSocketError=n.onWebSocketError,this.onUnhandledMessage=n.onUnhandledMessage,this.onUnhandledReceipt=n.onUnhandledReceipt,this.onUnhandledFrame=n.onUnhandledFrame}start(){const e=new i((e=>{const t=s.fromRawFrame(e,this._escapeHeaderValues);this.logRawCommunication||this.debug(`<<< ${t}`);(this._serverFrameHandlers[t.command]||this.onUnhandledFrame)(t)}),(()=>{this.debug("<<< PONG")}));this._webSocket.onmessage=t=>{if(this.debug("Received data"),this._lastServerActivityTS=Date.now(),this.logRawCommunication){const e=t.data instanceof ArrayBuffer?(new TextDecoder).decode(t.data):t.data;this.debug(`<<< ${e}`)}e.parseChunk(t.data,this.appendMissingNULLonIncoming)},this._webSocket.onclose=e=>{this.debug(`Connection closed to ${this._webSocket.url}`),this._cleanUp(),this.onWebSocketClose(e)},this._webSocket.onerror=e=>{this.onWebSocketError(e)},this._webSocket.onopen=()=>{const e=Object.assign({},this.connectHeaders);this.debug("Web Socket Opened..."),e["accept-version"]=this.stompVersions.supportedVersions(),e["heart-beat"]=[this.heartbeatOutgoing,this.heartbeatIncoming].join(","),this._transmit({command:"CONNECT",headers:e})}}_setupHeartbeat(n){if(n.version!==d.V1_1&&n.version!==d.V1_2)return;if(!n["heart-beat"])return;const[s,i]=n["heart-beat"].split(",").map((e=>parseInt(e,10)));if(0!==this.heartbeatOutgoing&&0!==i){const n=Math.max(this.heartbeatOutgoing,i);this.debug(`send PING every ${n}ms`),this._pinger=new h(n,this._client.heartbeatStrategy,this.debug),this._pinger.start((()=>{this._webSocket.readyState===e.StompSocketState.OPEN&&(this._webSocket.send(t),this.debug(">>> PING"))}))}if(0!==this.heartbeatIncoming&&0!==s){const e=Math.max(this.heartbeatIncoming,s);this.debug(`check PONG every ${e}ms`),this._ponger=setInterval((()=>{const t=Date.now()-this._lastServerActivityTS;t>2*e&&(this.debug(`did not receive server activity for the last ${t}ms`),this._closeOrDiscardWebsocket())}),e)}}_closeOrDiscardWebsocket(){this.discardWebsocketOnCommFailure?(this.debug("Discarding websocket, the underlying socket may linger for a while"),this.discardWebsocket()):(this.debug("Issuing close on the websocket"),this._closeWebsocket())}forceDisconnect(){this._webSocket&&(this._webSocket.readyState!==e.StompSocketState.CONNECTING&&this._webSocket.readyState!==e.StompSocketState.OPEN||this._closeOrDiscardWebsocket())}_closeWebsocket(){this._webSocket.onmessage=()=>{},this._webSocket.close()}discardWebsocket(){var e,t;"function"!=typeof this._webSocket.terminate&&(e=this._webSocket,t=e=>this.debug(e),e.terminate=function(){const n=()=>{};this.onerror=n,this.onmessage=n,this.onopen=n;const s=new Date,i=Math.random().toString().substring(2,8),o=this.onclose;this.onclose=e=>{const n=(new Date).getTime()-s.getTime();t(`Discarded socket (#${i}) closed after ${n}ms, with code/reason: ${e.code}/${e.reason}`)},this.close(),o?.call(e,{code:4001,reason:`Quick discarding socket (#${i}) without waiting for the shutdown sequence.`,wasClean:!1})}),this._webSocket.terminate()}_transmit(e){const{command:t,headers:n,body:i,binaryBody:o,skipContentLengthHeader:r}=e,c=new s({command:t,headers:n,body:i,binaryBody:o,escapeHeaderValues:this._escapeHeaderValues,skipContentLengthHeader:r});let a=c.serialize();if(this.logRawCommunication?this.debug(`>>> ${a}`):this.debug(`>>> ${c}`),this.forceBinaryWSFrames&&"string"==typeof a&&(a=(new TextEncoder).encode(a)),"string"==typeof a&&this.splitLargeFrames){let e=a;for(;e.length>0;){const t=e.substring(0,this.maxWebSocketChunkSize);e=e.substring(this.maxWebSocketChunkSize),this._webSocket.send(t),this.debug(`chunk sent = ${t.length}, remaining = ${e.length}`)}}else this._webSocket.send(a)}dispose(){if(this.connected)try{const e=Object.assign({},this.disconnectHeaders);e.receipt||(e.receipt="close-"+this._counter++),this.watchForReceipt(e.receipt,(e=>{this._closeWebsocket(),this._cleanUp(),this.onDisconnect(e)})),this._transmit({command:"DISCONNECT",headers:e})}catch(e){this.debug(`Ignoring error during disconnect ${e}`)}else this._webSocket.readyState!==e.StompSocketState.CONNECTING&&this._webSocket.readyState!==e.StompSocketState.OPEN||this._closeWebsocket()}_cleanUp(){this._connected=!1,this._pinger&&(this._pinger.stop(),this._pinger=void 0),this._ponger&&(clearInterval(this._ponger),this._ponger=void 0)}publish(e){const{destination:t,headers:n,body:s,binaryBody:i,skipContentLengthHeader:o}=e,r=Object.assign({destination:t},n);this._transmit({command:"SEND",headers:r,body:s,binaryBody:i,skipContentLengthHeader:o})}watchForReceipt(e,t){this._receiptWatchers[e]=t}subscribe(e,t,n={}){(n=Object.assign({},n)).id||(n.id="sub-"+this._counter++),n.destination=e,this._subscriptions[n.id]=t,this._transmit({command:"SUBSCRIBE",headers:n});const s=this;return{id:n.id,unsubscribe:e=>s.unsubscribe(n.id,e)}}unsubscribe(e,t={}){t=Object.assign({},t),delete this._subscriptions[e],t.id=e,this._transmit({command:"UNSUBSCRIBE",headers:t})}begin(e){const t=e||"tx-"+this._counter++;this._transmit({command:"BEGIN",headers:{transaction:t}});const n=this;return{id:t,commit(){n.commit(t)},abort(){n.abort(t)}}}commit(e){this._transmit({command:"COMMIT",headers:{transaction:e}})}abort(e){this._transmit({command:"ABORT",headers:{transaction:e}})}ack(e,t,n={}){n=Object.assign({},n),this._connectedVersion===d.V1_2?n.id=e:n["message-id"]=e,n.subscription=t,this._transmit({command:"ACK",headers:n})}nack(e,t,n={}){return n=Object.assign({},n),this._connectedVersion===d.V1_2?n.id=e:n["message-id"]=e,n.subscription=t,this._transmit({command:"NACK",headers:n})}}class m{get webSocket(){return this._stompHandler?._webSocket}get disconnectHeaders(){return this._disconnectHeaders}set disconnectHeaders(e){this._disconnectHeaders=e,this._stompHandler&&(this._stompHandler.disconnectHeaders=this._disconnectHeaders)}get connected(){return!!this._stompHandler&&this._stompHandler.connected}get connectedVersion(){return this._stompHandler?this._stompHandler.connectedVersion:void 0}get active(){return this.state===e.ActivationState.ACTIVE}_changeState(e){this.state=e,this.onChangeState(e)}constructor(t={}){this.stompVersions=d.default,this.connectionTimeout=0,this.reconnectDelay=5e3,this._nextReconnectDelay=0,this.maxReconnectDelay=9e5,this.reconnectTimeMode=e.ReconnectionTimeMode.LINEAR,this.heartbeatIncoming=1e4,this.heartbeatOutgoing=1e4,this.heartbeatStrategy=e.TickerStrategy.Interval,this.splitLargeFrames=!1,this.maxWebSocketChunkSize=8192,this.forceBinaryWSFrames=!1,this.appendMissingNULLonIncoming=!1,this.discardWebsocketOnCommFailure=!1,this.state=e.ActivationState.INACTIVE;const n=()=>{};this.debug=n,this.beforeConnect=n,this.onConnect=n,this.onDisconnect=n,this.onUnhandledMessage=n,this.onUnhandledReceipt=n,this.onUnhandledFrame=n,this.onStompError=n,this.onWebSocketClose=n,this.onWebSocketError=n,this.logRawCommunication=!1,this.onChangeState=n,this.connectHeaders={},this._disconnectHeaders={},this.configure(t)}configure(e){Object.assign(this,e),this.maxReconnectDelay>0&&this.maxReconnectDelay<this.reconnectDelay&&(this.debug(`Warning: maxReconnectDelay (${this.maxReconnectDelay}ms) is less than reconnectDelay (${this.reconnectDelay}ms). Using reconnectDelay as the maxReconnectDelay delay.`),this.maxReconnectDelay=this.reconnectDelay)}activate(){const t=()=>{this.active?this.debug("Already ACTIVE, ignoring request to activate"):(this._changeState(e.ActivationState.ACTIVE),this._nextReconnectDelay=this.reconnectDelay,this._connect())};this.state===e.ActivationState.DEACTIVATING?(this.debug("Waiting for deactivation to finish before activating"),this.deactivate().then((()=>{t()}))):t()}async _connect(){if(await this.beforeConnect(this),this._stompHandler)return void this.debug("There is already a stompHandler, skipping the call to connect");if(!this.active)return void this.debug("Client has been marked inactive, will not attempt to connect");this.connectionTimeout>0&&(this._connectionWatcher&&clearTimeout(this._connectionWatcher),this._connectionWatcher=setTimeout((()=>{this.connected||(this.debug(`Connection not established in ${this.connectionTimeout}ms, closing socket`),this.forceDisconnect())}),this.connectionTimeout)),this.debug("Opening Web Socket...");const t=this._createWebSocket();this._stompHandler=new l(this,t,{debug:this.debug,stompVersions:this.stompVersions,connectHeaders:this.connectHeaders,disconnectHeaders:this._disconnectHeaders,heartbeatIncoming:this.heartbeatIncoming,heartbeatOutgoing:this.heartbeatOutgoing,heartbeatStrategy:this.heartbeatStrategy,splitLargeFrames:this.splitLargeFrames,maxWebSocketChunkSize:this.maxWebSocketChunkSize,forceBinaryWSFrames:this.forceBinaryWSFrames,logRawCommunication:this.logRawCommunication,appendMissingNULLonIncoming:this.appendMissingNULLonIncoming,discardWebsocketOnCommFailure:this.discardWebsocketOnCommFailure,onConnect:e=>{if(this._connectionWatcher&&(clearTimeout(this._connectionWatcher),this._connectionWatcher=void 0),!this.active)return this.debug("STOMP got connected while deactivate was issued, will disconnect now"),void this._disposeStompHandler();this.onConnect(e)},onDisconnect:e=>{this.onDisconnect(e)},onStompError:e=>{this.onStompError(e)},onWebSocketClose:t=>{this._stompHandler=void 0,this.state===e.ActivationState.DEACTIVATING&&this._changeState(e.ActivationState.INACTIVE),this.onWebSocketClose(t),this.active&&this._schedule_reconnect()},onWebSocketError:e=>{this.onWebSocketError(e)},onUnhandledMessage:e=>{this.onUnhandledMessage(e)},onUnhandledReceipt:e=>{this.onUnhandledReceipt(e)},onUnhandledFrame:e=>{this.onUnhandledFrame(e)}}),this._stompHandler.start()}_createWebSocket(){let e;if(this.webSocketFactory)e=this.webSocketFactory();else{if(!this.brokerURL)throw new Error("Either brokerURL or webSocketFactory must be provided");e=new WebSocket(this.brokerURL,this.stompVersions.protocolVersions())}return e.binaryType="arraybuffer",e}_schedule_reconnect(){this._nextReconnectDelay>0&&(this.debug(`STOMP: scheduling reconnection in ${this._nextReconnectDelay}ms`),this._reconnector=setTimeout((()=>{this.reconnectTimeMode===e.ReconnectionTimeMode.EXPONENTIAL&&(this._nextReconnectDelay=2*this._nextReconnectDelay,0!==this.maxReconnectDelay&&(this._nextReconnectDelay=Math.min(this._nextReconnectDelay,this.maxReconnectDelay))),this._connect()}),this._nextReconnectDelay))}async deactivate(t={}){const n=t.force||!1,s=this.active;let i;if(this.state===e.ActivationState.INACTIVE)return this.debug("Already INACTIVE, nothing more to do"),Promise.resolve();if(this._changeState(e.ActivationState.DEACTIVATING),this._nextReconnectDelay=0,this._reconnector&&(clearTimeout(this._reconnector),this._reconnector=void 0),!this._stompHandler||this.webSocket.readyState===e.StompSocketState.CLOSED)return this._changeState(e.ActivationState.INACTIVE),Promise.resolve();{const e=this._stompHandler.onWebSocketClose;i=new Promise(((t,n)=>{this._stompHandler.onWebSocketClose=n=>{e(n),t()}}))}return n?this._stompHandler?.discardWebsocket():s&&this._disposeStompHandler(),i}forceDisconnect(){this._stompHandler&&this._stompHandler.forceDisconnect()}_disposeStompHandler(){this._stompHandler&&this._stompHandler.dispose()}publish(e){this._checkConnection(),this._stompHandler.publish(e)}_checkConnection(){if(!this.connected)throw new TypeError("There is no underlying STOMP connection")}watchForReceipt(e,t){this._checkConnection(),this._stompHandler.watchForReceipt(e,t)}subscribe(e,t,n={}){return this._checkConnection(),this._stompHandler.subscribe(e,t,n)}unsubscribe(e,t={}){this._checkConnection(),this._stompHandler.unsubscribe(e,t)}begin(e){return this._checkConnection(),this._stompHandler.begin(e)}commit(e){this._checkConnection(),this._stompHandler.commit(e)}abort(e){this._checkConnection(),this._stompHandler.abort(e)}ack(e,t,n={}){this._checkConnection(),this._stompHandler.ack(e,t,n)}nack(e,t,n={}){this._checkConnection(),this._stompHandler.nack(e,t,n)}}class g{constructor(e){this.client=e}get outgoing(){return this.client.heartbeatOutgoing}set outgoing(e){this.client.heartbeatOutgoing=e}get incoming(){return this.client.heartbeatIncoming}set incoming(e){this.client.heartbeatIncoming=e}}class _ extends m{constructor(e){super(),this.maxWebSocketFrameSize=16384,this._heartbeatInfo=new g(this),this.reconnect_delay=0,this.webSocketFactory=e,this.debug=(...e)=>{console.log(...e)}}_parseConnect(...e){let t,n,s,i={};if(e.length<2)throw new Error("Connect requires at least 2 arguments");if("function"==typeof e[1])[i,n,s,t]=e;else if(6===e.length)[i.login,i.passcode,n,s,t,i.host]=e;else[i.login,i.passcode,n,s,t]=e;return[i,n,s,t]}connect(...e){const t=this._parseConnect(...e);t[0]&&(this.connectHeaders=t[0]),t[1]&&(this.onConnect=t[1]),t[2]&&(this.onStompError=t[2]),t[3]&&(this.onWebSocketClose=t[3]),super.activate()}disconnect(e,t={}){e&&(this.onDisconnect=e),this.disconnectHeaders=t,super.deactivate()}send(e,t={},n=""){const s=!1===(t=Object.assign({},t))["content-length"];s&&delete t["content-length"],this.publish({destination:e,headers:t,body:n,skipContentLengthHeader:s})}set reconnect_delay(e){this.reconnectDelay=e}get ws(){return this.webSocket}get version(){return this.connectedVersion}get onreceive(){return this.onUnhandledMessage}set onreceive(e){this.onUnhandledMessage=e}get onreceipt(){return this.onUnhandledReceipt}set onreceipt(e){this.onUnhandledReceipt=e}get heartbeat(){return this._heartbeatInfo}set heartbeat(e){this.heartbeatIncoming=e.incoming,this.heartbeatOutgoing=e.outgoing}}class u{static client(e,t){null==t&&(t=d.default.protocolVersions());return new _((()=>new(u.WebSocketClass||WebSocket)(e,t)))}static over(e){let t;return"function"==typeof e?t=e:(console.warn("Stomp.over did not receive a factory, auto reconnect will not work. Please see https://stomp-js.github.io/api-docs/latest/classes/Stomp.html#over"),t=()=>e),new _(t)}}u.WebSocketClass=null,e.Client=m,e.CompatClient=_,e.FrameImpl=s,e.Parser=i,e.Stomp=u,e.StompConfig=class{},e.StompHeaders=class{},e.Versions=d}));