@quotemedia.com/streamer 2.58.0 → 2.60.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.
@@ -1,7 +1,7 @@
1
1
  <html>
2
2
 
3
3
  <head>
4
- <script src="qmci-streamer-2.58.0.min.js"></script>
4
+ <script src="qmci-streamer-2.60.0.min.js"></script>
5
5
  </head>
6
6
 
7
7
  <body>
@@ -1,7 +1,7 @@
1
1
  <html>
2
2
 
3
3
  <head>
4
- <script src="qmci-streamer-2.58.0.min.js"></script>
4
+ <script src="qmci-streamer-2.60.0.min.js"></script>
5
5
  </head>
6
6
 
7
7
  <body>
@@ -1,7 +1,7 @@
1
1
  <html>
2
2
 
3
3
  <head>
4
- <script src="qmci-streamer-2.58.0.min.js"></script>
4
+ <script src="qmci-streamer-2.60.0.min.js"></script>
5
5
  </head>
6
6
 
7
7
  <body>
@@ -2,7 +2,7 @@
2
2
  <html lang="en">
3
3
 
4
4
  <head>
5
- <script src="qmci-streamer-2.58.0.min.js"></script>
5
+ <script src="qmci-streamer-2.60.0.min.js"></script>
6
6
  <script src="https://cdnjs.cloudflare.com/ajax/libs/stomp.js/2.3.3/stomp.min.js"></script>
7
7
  </head>
8
8
 
@@ -1,7 +1,7 @@
1
1
  <html>
2
2
 
3
3
  <head>
4
- <script src="qmci-streamer-2.58.0.min.js"></script>
4
+ <script src="qmci-streamer-2.60.0.min.js"></script>
5
5
  </head>
6
6
 
7
7
  <body>
@@ -1,7 +1,7 @@
1
1
  <html>
2
2
 
3
3
  <head>
4
- <script src="qmci-streamer-2.58.0.min.js"></script>
4
+ <script src="qmci-streamer-2.60.0.min.js"></script>
5
5
  </head>
6
6
 
7
7
  <body>
@@ -1,7 +1,7 @@
1
1
  <html>
2
2
 
3
3
  <head>
4
- <script src="qmci-streamer-2.58.0.min.js"></script>
4
+ <script src="qmci-streamer-2.60.0.min.js"></script>
5
5
  </head>
6
6
 
7
7
  <body>
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@quotemedia.com/streamer",
3
- "version": "2.58.0",
3
+ "version": "2.60.0",
4
4
  "description": "A JavaScript client for QuoteMedia's streaming data service.",
5
5
  "main": "lib/index.js",
6
6
  "author": "QuoteMedia",
7
7
  "dependencies": {
8
8
  "array-equal": "1.0.0",
9
- "json3": "3.3.2",
10
- "jsbi": "3.1.1",
11
9
  "bignumber.js": "9.0.0",
10
+ "jsbi": "3.1.1",
11
+ "json3": "3.3.2",
12
12
  "stompjs": "2.3.3"
13
13
  },
14
14
  "devDependencies": {
@@ -917,6 +917,30 @@ var Stream = function () {
917
917
  this.send(msg);
918
918
  };
919
919
 
920
+ Stream.prototype.updateOAuthToken = function updateOAuthToken(token, previousToken, callbackOrNothing) {
921
+ var callback = callbackOrNothing ? callbackOrNothing : optsOrCallback && typeof optsOrCallback === "function" ? optsOrCallback : null;
922
+
923
+ if (this.isClosed()) {
924
+ var event = events.error("Stream is disconnected", {
925
+ code: -1,
926
+ reason: "Already disconnected"
927
+ });
928
+ this.events.fire("error", event);
929
+ return;
930
+ }
931
+
932
+ var updateToken = {
933
+ mimetype: this.format,
934
+ callback: callback
935
+ };
936
+
937
+ var request = this.buildUpdateAuthTokenRequest("oauth", token, previousToken, updateToken);
938
+ var id = this.requestid.next();
939
+ request.id = id;
940
+
941
+ this.send(request);
942
+ };
943
+
920
944
  Stream.prototype.fltUpdateNews = function fltUpdateNews(filters, filterId, callbackOrNothing) {
921
945
  var callback = callbackOrNothing ? callbackOrNothing : optsOrCallback && typeof optsOrCallback === "function" ? optsOrCallback : null;
922
946
 
@@ -1362,6 +1386,17 @@ var Stream = function () {
1362
1386
  return msg;
1363
1387
  };
1364
1388
 
1389
+ Stream.prototype.buildUpdateAuthTokenRequest = function buildUpdateAuthTokenRequest(authMethod, token, previousToken, updateToken) {
1390
+ var msg = new _streamerApi.messages.control.AuthTokenMessage();
1391
+ msg.authMethod = authMethod;
1392
+ msg.authParams = {
1393
+ "oauthToken": token,
1394
+ "previousToken": previousToken
1395
+ };
1396
+ msg.mimetype = updateToken.mimetype;
1397
+ return msg;
1398
+ };
1399
+
1365
1400
  Stream.prototype.buildNewsCommandRequest = function buildNewsCommandRequest(sub, newsAction) {
1366
1401
  var msg = new _streamerApi.messages.control.NewsCommandMessage();
1367
1402
  msg.newsAction = newsAction;
@@ -1449,12 +1484,12 @@ var Stream = function () {
1449
1484
  case _streamerApi.messages.MessageTypeNames.ctrl.NEWS_ERROR_MESSAGE:
1450
1485
  this.onNewsErrorRemoteMessage(msg);
1451
1486
  break;
1452
- case _streamerApi.messages.MessageTypeNames.ctrl.NEWS_FLT_ADD_MESSAGE:
1453
- this.onNewsFltAddRemoteMessage(msg);
1454
- break;
1455
1487
  case _streamerApi.messages.MessageTypeNames.ctrl.NEWS_FLT_UPDATE_RESPONSE:
1456
1488
  this.onNewsFltUpdateMessage(msg);
1457
1489
  break;
1490
+ case _streamerApi.messages.MessageTypeNames.ctrl.AUTH_TOKEN_RESPONSE:
1491
+ this.onAuthTokenResponse(msg);
1492
+ break;
1458
1493
  }
1459
1494
  };
1460
1495
 
@@ -2056,11 +2091,6 @@ var Stream = function () {
2056
2091
  this.events.fire("newsRemoteMessage", msg);
2057
2092
  };
2058
2093
 
2059
- Stream.prototype.onNewsFltAddRemoteMessage = function onNewsFltAddRemoteMessage(msg) {
2060
- this.log.debug(_formatting.msgfmt.fmt(msg));
2061
- this.events.fire("newsRemoteMessage", msg);
2062
- };
2063
-
2064
2094
  Stream.prototype.onNewsFltUpdateMessage = function onNewsFltUpdateMessage(msg) {
2065
2095
  var newsUpdate = this.pendingNewsSubscriptions[msg.__id];
2066
2096
  var callback = newsUpdate.callback;
@@ -2146,6 +2176,11 @@ var Stream = function () {
2146
2176
  }
2147
2177
  };
2148
2178
 
2179
+ Stream.prototype.onAuthTokenResponse = function onAuthTokenResponse(msg) {
2180
+ this.log.debug(_formatting.msgfmt.fmt(msg));
2181
+ this.events.fire("authTokenResponse", msg);
2182
+ };
2183
+
2149
2184
  Stream.prototype._handledatamsg = function _handledatamsg(msg) {
2150
2185
  this.events.fire("message", msg);
2151
2186
  };
@@ -6192,6 +6227,22 @@ var DataToolCredentials = function () {
6192
6227
  return DataToolCredentials;
6193
6228
  }();
6194
6229
 
6230
+ var OAuthTokenCredentials = function () {
6231
+ function OAuthTokenCredentials(token) {
6232
+ _classCallCheck(this, OAuthTokenCredentials);
6233
+
6234
+ this.oauth_token = token;
6235
+ }
6236
+
6237
+ OAuthTokenCredentials.prototype.getHeaders = function getHeaders() {
6238
+ return {
6239
+ "Authorization": this.oauth_token
6240
+ };
6241
+ };
6242
+
6243
+ return OAuthTokenCredentials;
6244
+ }();
6245
+
6195
6246
  function asCredentials(credentials) {
6196
6247
  var keys = Object.keys(credentials);
6197
6248
  if ((0, _arrayEqual2["default"])(keys, ["sid"])) {
@@ -6202,6 +6253,8 @@ function asCredentials(credentials) {
6202
6253
  return new WebmasterIpCredentials(credentials.wmid);
6203
6254
  } else if ((0, _arrayEqual2["default"])(keys, ["data_token"])) {
6204
6255
  return new DataToolCredentials(credentials.data_token);
6256
+ } else if ((0, _arrayEqual2["default"])(keys, ["oauth_token"])) {
6257
+ return new OAuthTokenCredentials(credentials.oauth_token);
6205
6258
  } else {
6206
6259
  throw new Error("Misconfigured credentials, should be one of {sid}, {wmid,token}, or {wmid}");
6207
6260
  }
@@ -6354,7 +6407,8 @@ fmt.Formatter = function () {
6354
6407
  this.formatters[_streamerApi.messages.MessageTypeNames.ctrl.NEWS_FILTER_MESSAGE] = this._fmtnewsfilterremotemessage;
6355
6408
  this.formatters[_streamerApi.messages.MessageTypeNames.ctrl.NEWS_ERROR_MESSAGE] = this._fmtnewserrorremotemessage;
6356
6409
  this.formatters[_streamerApi.messages.MessageTypeNames.ctrl.NEWS_SUCCESS_MESSAGE] = this._fmtnewssuccessremotemessage;
6357
- this.formatters[_streamerApi.messages.MessageTypeNames.ctrl.NEWS_FLT_ADD_MESSAGE] = this._fmtnewsfltaddremotemessage;
6410
+ this.formatters[_streamerApi.messages.MessageTypeNames.ctrl.AUTH_TOKEN] = this._fmtauthtoken;
6411
+ this.formatters[_streamerApi.messages.MessageTypeNames.ctrl.AUTH_TOKEN_RESPONSE] = this._fmtauthtokenresponse;
6358
6412
 
6359
6413
  //
6360
6414
  this.formatters[_streamerApi.messages.MessageTypeNames.data.QUOTE] = this._fmtquote;
@@ -6382,6 +6436,7 @@ fmt.Formatter = function () {
6382
6436
  this.formatters[_streamerApi.messages.MessageTypeNames.data.EARNINGS] = this._fmtearnings;
6383
6437
  this.formatters[_streamerApi.messages.MessageTypeNames.data.SPLIT] = this._fmtsplit;
6384
6438
  this.formatters[_streamerApi.messages.MessageTypeNames.data.SYMBOLCHANGED] = this._fmtsymbolChanged;
6439
+ this.formatters[_streamerApi.messages.MessageTypeNames.data.ORDEREXECUTED] = this._fmtorderexecuted;
6385
6440
  };
6386
6441
 
6387
6442
  fmt.Formatter._UNKOWNTYPE = '__UNKNOWN__';
@@ -7136,6 +7191,31 @@ fmt.Formatter.prototype._fmtsymbolChanged = function (val) {
7136
7191
  return s.toString();
7137
7192
  };
7138
7193
 
7194
+ fmt.Formatter.prototype._fmtorderexecuted = function (val) {
7195
+ var s = new fmt.StringBuilder();
7196
+ s.append("OE");
7197
+ s.sep();
7198
+ s.datetime(val.timestamp);
7199
+ s.sep();
7200
+ s.append(val.symbol);
7201
+ s.sep();
7202
+ s.append(val.price);
7203
+ s.sep();
7204
+ s.append(val.size);
7205
+ s.sep();
7206
+ s.append(val.sequenceNumber);
7207
+ s.sep();
7208
+ s.append(val.matchID);
7209
+ s.sep();
7210
+ s.append(val.displaySize);
7211
+ s.sep();
7212
+ s.append(val.marketMakerID);
7213
+ s.sep();
7214
+ s.append(val.orderID);
7215
+
7216
+ return s.toString();
7217
+ };
7218
+
7139
7219
  fmt.Formatter.prototype._fmtnewsfilterremotemessage = function (val) {
7140
7220
  var s = new fmt.StringBuilder();
7141
7221
  s.append("NEWS FILTER");
@@ -7167,16 +7247,21 @@ fmt.Formatter.prototype._fmtnewssuccessremotemessage = function (val) {
7167
7247
  return s.toString();
7168
7248
  };
7169
7249
 
7170
- fmt.Formatter.prototype._fmtnewsfltaddremotemessage = function (val) {
7250
+ fmt.Formatter.prototype._fmtauthtoken = function (val) {
7171
7251
  var s = new fmt.StringBuilder();
7172
- s.append('NEWS SUBSCRIPTION');
7173
- s.sep();
7174
- s.append(val.code);
7252
+ s.append('AUTH TOKEN');
7175
7253
  s.sep();
7176
- s.append(val.message);
7177
- s.sep();
7178
- s.append(val.filterId);
7254
+ this.__baseresponse(val, s);
7255
+ // TODO
7256
+ return s.toString();
7257
+ };
7179
7258
 
7259
+ fmt.Formatter.prototype._fmtauthtokenresponse = function (val) {
7260
+ var s = new fmt.StringBuilder();
7261
+ s.append('AUTH TOKEN RESPONSE');
7262
+ s.sep();
7263
+ this.__baseresponse(val, s);
7264
+ // TODO
7180
7265
  return s.toString();
7181
7266
  };
7182
7267
 
@@ -7406,6 +7491,10 @@ fmt.Formatter.prototype._fmtslowconnection = function (val) {
7406
7491
  s.append(val.timesExceeded);
7407
7492
  s.sep();
7408
7493
  s.append(val.maxExceed);
7494
+ s.sep();
7495
+ s.append(val.currentDelta);
7496
+ s.sep();
7497
+ s.append(val.sendingRate);
7409
7498
  return s.toString();
7410
7499
  };
7411
7500
 
@@ -8411,6 +8500,8 @@ var EnumValueTranslator = function () {
8411
8500
  return "DLO";
8412
8501
  case 8:
8413
8502
  return "DLN";
8503
+ case 9:
8504
+ return "LCQ";
8414
8505
  default:
8415
8506
  return "NA";
8416
8507
  }
@@ -9573,7 +9664,7 @@ var LENGTH = exports.LENGTH = TIMESTAMP_OFFSET + _QitchConstants.TIMESTAMP_LENGT
9573
9664
  "use strict";
9574
9665
 
9575
9666
  exports.__esModule = true;
9576
- exports.LENGTH = exports.MAX_EXCEED_OFFSET = exports.TIMES_EXCEED_OFFSET = exports.TYPEID = undefined;
9667
+ exports.LENGTH = exports.SENDING_RATE_OFFSET = exports.CURRENT_DELTA_OFFSET = exports.MAX_EXCEED_OFFSET = exports.TIMES_EXCEED_OFFSET = exports.TYPEID = undefined;
9577
9668
 
9578
9669
  var _QitchConstants = require("../QitchConstants");
9579
9670
 
@@ -9581,8 +9672,10 @@ var TYPEID = exports.TYPEID = 111;
9581
9672
 
9582
9673
  var TIMES_EXCEED_OFFSET = exports.TIMES_EXCEED_OFFSET = 0;
9583
9674
  var MAX_EXCEED_OFFSET = exports.MAX_EXCEED_OFFSET = TIMES_EXCEED_OFFSET + _QitchConstants.INT_LENGTH;
9675
+ var CURRENT_DELTA_OFFSET = exports.CURRENT_DELTA_OFFSET = MAX_EXCEED_OFFSET + _QitchConstants.INT_LENGTH;
9676
+ var SENDING_RATE_OFFSET = exports.SENDING_RATE_OFFSET = CURRENT_DELTA_OFFSET + _QitchConstants.INT_LENGTH;
9584
9677
 
9585
- var LENGTH = exports.LENGTH = MAX_EXCEED_OFFSET + _QitchConstants.INT_LENGTH;
9678
+ var LENGTH = exports.LENGTH = SENDING_RATE_OFFSET + _QitchConstants.INT_LENGTH;
9586
9679
  }).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],require("timers").setImmediate,require("timers").clearImmediate,"/lib/qitch/controlMessageDefinition/SlowConnectionDef.js","/lib/qitch/controlMessageDefinition")
9587
9680
  },{"../QitchConstants":26,"_process":131,"buffer":121,"timers":152}],37:[function(require,module,exports){
9588
9681
  (function (process,global,Buffer,__argument0,__argument1,__argument2,__argument3,setImmediate,clearImmediate,__filename,__dirname){
@@ -10651,6 +10744,8 @@ var SlowConnectionDecoder = function () {
10651
10744
  var out = new _streamerApi.messages.control.SlowConnection();
10652
10745
  out.timesExceeded = _Qitch2["default"].int32(src, offset + def.TIMES_EXCEED_OFFSET);
10653
10746
  out.maxExceed = _Qitch2["default"].int32(src, offset + def.MAX_EXCEED_OFFSET);
10747
+ out.currentDelta = _Qitch2["default"].int32(src, offset + def.CURRENT_DELTA_OFFSET);
10748
+ out.sendingRate = _Qitch2["default"].int32(src, offset + def.SENDING_RATE_OFFSET);
10654
10749
  return out;
10655
10750
  };
10656
10751
 
@@ -15659,7 +15754,7 @@ exports.__esModule = true;
15659
15754
  */
15660
15755
 
15661
15756
  var LIBRARY_NAME = exports.LIBRARY_NAME = "JavaScript";
15662
- var VERSION = exports.VERSION = "2.58.0";
15757
+ var VERSION = exports.VERSION = "2.60.0";
15663
15758
 
15664
15759
  /**
15665
15760
  * Streamer API namespace.
@@ -15742,8 +15837,8 @@ messages.MessageTypeNames = {
15742
15837
  NEWS_FILTER_MESSAGE: "C37",
15743
15838
  NEWS_ERROR_MESSAGE: "C38",
15744
15839
  NEWS_SUCCESS_MESSAGE: "C39",
15745
- NEWS_FLT_ADD_MESSAGE: "C40"
15746
-
15840
+ AUTH_TOKEN: "C41",
15841
+ AUTH_TOKEN_RESPONSE: "C42"
15747
15842
  },
15748
15843
  /**
15749
15844
  * Name space for data message type identifiers.<br>
@@ -15775,7 +15870,8 @@ messages.MessageTypeNames = {
15775
15870
  SPLIT: 'D24',
15776
15871
  SYMBOLCHANGED: 'D25',
15777
15872
  PRICELEVEL: 'D26',
15778
- MMPRICELEVEL: 'D27'
15873
+ MMPRICELEVEL: 'D27',
15874
+ ORDEREXECUTED: 'D28'
15779
15875
  }
15780
15876
  };
15781
15877
 
@@ -16026,7 +16122,6 @@ messages.control.AlertsSubUnsubMessage.prototype = new messages.control.CtrlMess
16026
16122
  * Creates Trade notification subscribe message.
16027
16123
  * @constructor
16028
16124
  */
16029
-
16030
16125
  messages.control.TradeSubscribeMessage = function () {
16031
16126
  this.init(messages.MessageTypeNames.ctrl.TRADE_SUBSCRIBE);
16032
16127
 
@@ -16052,6 +16147,34 @@ messages.control.TradeSubscribeMessage = function () {
16052
16147
  };
16053
16148
  messages.control.TradeSubscribeMessage.prototype = new messages.control.CtrlMessage();
16054
16149
 
16150
+ /**
16151
+ * Creates Update Auth Token message.
16152
+ * @constructor
16153
+ */
16154
+ messages.control.AuthTokenMessage = function () {
16155
+ this.init(messages.MessageTypeNames.ctrl.AUTH_TOKEN);
16156
+
16157
+ /**
16158
+ * The auth method.
16159
+ * @type {string}
16160
+ */
16161
+ this.authMethod = null;
16162
+
16163
+ /**
16164
+ * The auth parameters.
16165
+ * @type {Array}
16166
+ */
16167
+ this.authParams = null;
16168
+
16169
+ /**
16170
+ * Requested message mime-type format.
16171
+ * @type {string}
16172
+ * @see exports.messages.MimeTypes
16173
+ */
16174
+ this.mimetype = null;
16175
+ };
16176
+ messages.control.AuthTokenMessage.prototype = new messages.control.CtrlMessage();
16177
+
16055
16178
  /**
16056
16179
  * Base class for response exports.
16057
16180
  * @abstract
@@ -16353,6 +16476,18 @@ messages.control.SlowConnection = function () {
16353
16476
  * @type {number}
16354
16477
  */
16355
16478
  this.maxExceed = null;
16479
+
16480
+ /**
16481
+ * The current delta representing how many messages the client is behind.
16482
+ * @type {number}
16483
+ */
16484
+ this.currentDelta = null;
16485
+
16486
+ /**
16487
+ * The server sending rate in messages per second.
16488
+ * @type {number}
16489
+ */
16490
+ this.sendingRate = null;
16356
16491
  };
16357
16492
  messages.control.SlowConnection.prototype = new messages.control.CtrlMessage();
16358
16493
 
@@ -16528,6 +16663,7 @@ messages.control.StreamEntitlementType = {
16528
16663
  DL: "Delayed",
16529
16664
  DLO: "Delayed CBOE One",
16530
16665
  DLN: "Delayed NASDAQ",
16666
+ LCQ: "Low Cost QM",
16531
16667
  NA: "Not Entitled"
16532
16668
  };
16533
16669
 
@@ -16606,7 +16742,8 @@ messages.market.SubscriptionTypes = {
16606
16742
  LASTSALE: "LASTSALE",
16607
16743
  LIMITUPLIMITDOWN: "LIMITUPLIMITDOWN",
16608
16744
  IVGREEKS: "IVGREEKS",
16609
- IMBALANCESTATUS: "IMBALANCESTATUS"
16745
+ IMBALANCESTATUS: "IMBALANCESTATUS",
16746
+ ORDEREXECUTED: "ORDEREXECUTED"
16610
16747
 
16611
16748
  /**
16612
16749
  * Enum for the allowed Corporate Event subscription types
@@ -16647,7 +16784,8 @@ messages.market.SubscriptionTypes = {
16647
16784
  NEWS: "NEWS",
16648
16785
  TRADENOTIFICATION: "TRADENOTIFICATION",
16649
16786
  NEWSERROR: "NEWSERROR",
16650
- DIVIDEND: "DIVIDEND"
16787
+ DIVIDEND: "DIVIDEND",
16788
+ ORDEREXECUTED: "ORDEREXECUTED"
16651
16789
 
16652
16790
  /**
16653
16791
  * Response codes and reasons.
@@ -16899,6 +17037,17 @@ messages.market.Alert = function () {
16899
17037
  };
16900
17038
  messages.market.Alert.prototype = new messages.market.DataMessage();
16901
17039
 
17040
+ /**
17041
+ *
17042
+ * @constructor
17043
+ */
17044
+ messages.market.OrderExecuted = function () {
17045
+ this.init(messages.MessageTypeNames.data.ORDEREXECUTED);
17046
+
17047
+ // TODO properties
17048
+ };
17049
+ messages.market.OrderExecuted.prototype = new messages.market.DataMessage();
17050
+
16902
17051
  /**
16903
17052
  * Enumeration for instrument types.
16904
17053
  * @enum