@quotemedia.com/streamer 2.56.0 → 2.59.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.
@@ -746,8 +746,7 @@ var Stream = function () {
746
746
  });
747
747
  };
748
748
 
749
- Stream.prototype.subscribeNews = function subscribeNews(newsFilters, optsOrCallback, callbackOrNothing) {
750
-
749
+ Stream.prototype.subscribeNews = function subscribeNews(newsFilters, filterId, optsOrCallback, callbackOrNothing) {
751
750
  var opts = optsOrCallback && typeof optsOrCallback !== "function" ? optsOrCallback : null;
752
751
  var callback = callbackOrNothing ? callbackOrNothing : optsOrCallback && typeof optsOrCallback === "function" ? optsOrCallback : null;
753
752
 
@@ -763,6 +762,11 @@ var Stream = function () {
763
762
  return;
764
763
  }
765
764
 
765
+ if (filterId === '' || filterId == undefined) {
766
+ filterId = crypto.randomUUID();
767
+ console.log("News FilterId Created: ", filterId);
768
+ }
769
+
766
770
  var newsSub = {
767
771
  callback: callback,
768
772
  mimetype: this.format,
@@ -770,14 +774,15 @@ var Stream = function () {
770
774
  result: {
771
775
  newsFilters: [],
772
776
  rejectedNewsFilters: [],
773
- unentitledNewsFilters: []
777
+ unentitledNewsFilters: [],
778
+ filterId: filterId
774
779
  }
775
780
  };
776
781
  //check for empty filters
777
782
  if (newsFilters.length === 0) {
778
783
  callback(null, newsSub.result);
779
784
  }
780
- var request = this.buildNewsSubscribeRequest(newsFilters, newsSub, _streamerApi.messages.control.Action.SUBSCRIBE, opts);
785
+ var request = this.buildNewsSubscribeRequest(newsFilters, filterId, newsSub, _streamerApi.messages.control.NewsAction.NEWS_FLT_ADD, opts);
781
786
 
782
787
  var id = this.requestid.next();
783
788
  this.pendingNewsSubscriptions[id] = newsSub;
@@ -912,7 +917,43 @@ var Stream = function () {
912
917
  this.send(msg);
913
918
  };
914
919
 
915
- Stream.prototype.cmdFilterRefreshNews = function cmdFilterRefreshNews(callbackOrNothing) {
920
+ Stream.prototype.fltUpdateNews = function fltUpdateNews(filters, filterId, 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
+ if (callback) {
930
+ callback(event);
931
+ }
932
+ return;
933
+ }
934
+
935
+ var newsFltUpdate = {
936
+ callback: callback,
937
+ mimetype: this.format,
938
+ id: [],
939
+ result: {
940
+ newsFilters: [],
941
+ rejectedNewsFilters: [],
942
+ unentitledNewsFilters: [],
943
+ filterId: filterId
944
+ }
945
+ };
946
+
947
+ var request = this.buildNewsSubscribeRequest(filters, filterId, newsFltUpdate, _streamerApi.messages.control.NewsAction.NEWS_FLT_UPDATE, null);
948
+
949
+ var id = this.requestid.next();
950
+ this.pendingNewsSubscriptions[id] = newsFltUpdate;
951
+ request.id = id;
952
+
953
+ this.send(request);
954
+ };
955
+
956
+ Stream.prototype.fltDeleteNews = function fltDeleteNews(filterId, callbackOrNothing) {
916
957
  var callback = callbackOrNothing ? callbackOrNothing : optsOrCallback && typeof optsOrCallback === "function" ? optsOrCallback : null;
917
958
 
918
959
  if (this.isClosed()) {
@@ -927,16 +968,16 @@ var Stream = function () {
927
968
  return;
928
969
  }
929
970
 
930
- var newsCmdFilterRefresh = {
971
+ var newsFltDelete = {
931
972
  callback: callback,
932
973
  mimetype: this.format
933
974
  };
934
975
 
935
- var request = this.buildNewsCommandRequest(newsCmdFilterRefresh, 'NEWSCMDFILTERREFRESH');
976
+ var request = this.buildNewsSubscribeRequest(null, filterId, newsFltDelete, _streamerApi.messages.control.NewsAction.NEWS_FLT_DELETE, null);
936
977
  this.send(request);
937
978
  };
938
979
 
939
- Stream.prototype.cmdFilterNews = function cmdFilterNews(callbackOrNothing) {
980
+ Stream.prototype.fltGetNews = function fltGetNews(callbackOrNothing) {
940
981
  var callback = callbackOrNothing ? callbackOrNothing : optsOrCallback && typeof optsOrCallback === "function" ? optsOrCallback : null;
941
982
 
942
983
  if (this.isClosed()) {
@@ -951,12 +992,36 @@ var Stream = function () {
951
992
  return;
952
993
  }
953
994
 
954
- var newsCmdFilter = {
995
+ var newsFltGet = {
955
996
  callback: callback,
956
997
  mimetype: this.format
957
998
  };
958
999
 
959
- var request = this.buildNewsCommandRequest(newsCmdFilter, 'NEWSCMDFILTER');
1000
+ var request = this.buildNewsCommandRequest(newsFltGet, _streamerApi.messages.control.NewsAction.NEWS_FLT_GET);
1001
+ this.send(request);
1002
+ };
1003
+
1004
+ Stream.prototype.fltMockBasicNews = function fltMockBasicNews(callbackOrNothing) {
1005
+ var callback = callbackOrNothing ? callbackOrNothing : optsOrCallback && typeof optsOrCallback === "function" ? optsOrCallback : null;
1006
+
1007
+ if (this.isClosed()) {
1008
+ var event = events.error("Stream is disconnected", {
1009
+ code: -1,
1010
+ reason: "Already disconnected"
1011
+ });
1012
+ this.events.fire("error", event);
1013
+ if (callback) {
1014
+ callback(event);
1015
+ }
1016
+ return;
1017
+ }
1018
+
1019
+ var newsFltMockBasic = {
1020
+ callback: callback,
1021
+ mimetype: this.format
1022
+ };
1023
+
1024
+ var request = this.buildNewsCommandRequest(newsFltMockBasic, _streamerApi.messages.control.NewsAction.NEWS_FLT_MOCK_BASIC);
960
1025
  this.send(request);
961
1026
  };
962
1027
 
@@ -1107,7 +1172,7 @@ var Stream = function () {
1107
1172
  }
1108
1173
  }
1109
1174
 
1110
- var request = this.buildNewsSubscribeRequest(newsFilters, unsubscription, _streamerApi.messages.control.Action.UNSUBSCRIBE, opts);
1175
+ var request = this.buildNewsSubscribeRequest(newsFilters, unsubscription, _streamerApi.messages.control.NewsAction.NEWS_FLT_DELETE, opts);
1111
1176
 
1112
1177
  var id = this.requestid.next();
1113
1178
  unsubscription.id.push(id);
@@ -1260,10 +1325,11 @@ var Stream = function () {
1260
1325
  return msg;
1261
1326
  };
1262
1327
 
1263
- Stream.prototype.buildNewsSubscribeRequest = function buildNewsSubscribeRequest(newsFilters, sub, action, opts) {
1328
+ Stream.prototype.buildNewsSubscribeRequest = function buildNewsSubscribeRequest(newsFilters, filterId, sub, newsAction, opts) {
1264
1329
  var msg = new _streamerApi.messages.control.NewsSubscribeMessage();
1265
- msg.action = action;
1330
+ msg.newsAction = newsAction;
1266
1331
  msg.newsFilters = newsFilters;
1332
+ msg.filterId = filterId;
1267
1333
  msg.mimetype = sub.mimetype;
1268
1334
  if (opts && opts.skipHeavyInitialLoad) {
1269
1335
  msg.skipHeavyInitialLoad = opts.skipHeavyInitialLoad;
@@ -1326,8 +1392,8 @@ var Stream = function () {
1326
1392
  case _streamerApi.messages.MessageTypeNames.ctrl.EXCHANGE_RESPONSE:
1327
1393
  this.onExchangeSubscribeResponse(msg);
1328
1394
  break;
1329
- case _streamerApi.messages.MessageTypeNames.ctrl.NEWS_SUBSCRIBE_RESPONSE:
1330
- this.onNewsSubscribeResponse(msg);
1395
+ case _streamerApi.messages.MessageTypeNames.ctrl.NEWS_FLT_ADD_RESPONSE:
1396
+ this.onNewsFltAddResponse(msg);
1331
1397
  break;
1332
1398
  case _streamerApi.messages.MessageTypeNames.ctrl.ALERTS_SUBUNSUB_RESPONSE:
1333
1399
  this.onAlertsSubUnsubResponse(msg);
@@ -1341,14 +1407,11 @@ var Stream = function () {
1341
1407
  case _streamerApi.messages.MessageTypeNames.ctrl.EXCHANGE_UNSUBSCRIBE_RESPONSE:
1342
1408
  this.onExchangeUnsubscribeResponse(msg);
1343
1409
  break;
1344
- case _streamerApi.messages.MessageTypeNames.ctrl.NEWS_UNSUBSCRIBE_RESPONSE:
1345
- this.onNewsUnsubscribeResponse(msg);
1410
+ case _streamerApi.messages.MessageTypeNames.ctrl.NEWS_FLT_DELETE_RESPONSE:
1411
+ this.onNewsFltDeleteResponse(msg);
1346
1412
  break;
1347
- case _streamerApi.messages.MessageTypeNames.ctrl.NEWS_CMD_FILTER_REFRESH_RESPONSE:
1348
- this.onNewsCmdFilterRefreshResponse(msg);
1349
- break;
1350
- case _streamerApi.messages.MessageTypeNames.ctrl.NEWS_CMD_FILTER_RESPONSE:
1351
- this.onNewsCmdFilterResponse(msg);
1413
+ case _streamerApi.messages.MessageTypeNames.ctrl.NEWS_FLT_GET_RESPONSE:
1414
+ this.onNewsFltGetResponse(msg);
1352
1415
  break;
1353
1416
  case _streamerApi.messages.MessageTypeNames.ctrl.CORP_EVENT_RESPONSE:
1354
1417
  this.onCorpEventResponse(msg);
@@ -1380,6 +1443,15 @@ var Stream = function () {
1380
1443
  case _streamerApi.messages.MessageTypeNames.ctrl.MISSED_DATA_SENT:
1381
1444
  this.onMissedDataSent(msg);
1382
1445
  break;
1446
+ case _streamerApi.messages.MessageTypeNames.ctrl.NEWS_FILTER_MESSAGE:
1447
+ this.onNewsFilterRemoteMessage(msg);
1448
+ break;
1449
+ case _streamerApi.messages.MessageTypeNames.ctrl.NEWS_ERROR_MESSAGE:
1450
+ this.onNewsErrorRemoteMessage(msg);
1451
+ break;
1452
+ case _streamerApi.messages.MessageTypeNames.ctrl.NEWS_FLT_UPDATE_RESPONSE:
1453
+ this.onNewsFltUpdateMessage(msg);
1454
+ break;
1383
1455
  }
1384
1456
  };
1385
1457
 
@@ -1529,7 +1601,7 @@ var Stream = function () {
1529
1601
  }
1530
1602
  };
1531
1603
 
1532
- Stream.prototype.onNewsSubscribeResponse = function onNewsSubscribeResponse(msg) {
1604
+ Stream.prototype.onNewsFltAddResponse = function onNewsFltAddResponse(msg) {
1533
1605
  var newsSub = this.pendingNewsSubscriptions[msg.__id];
1534
1606
  var callback = newsSub.callback;
1535
1607
 
@@ -1603,6 +1675,9 @@ var Stream = function () {
1603
1675
  result.unentitledNewsFilters.push(unentitledFilter);
1604
1676
  }
1605
1677
  }
1678
+ if (msg.filterId) {
1679
+ result.filterId = msg.filterId;
1680
+ }
1606
1681
 
1607
1682
  if (newsSub.id.length === 0) {
1608
1683
  if (callback) {
@@ -1761,52 +1836,19 @@ var Stream = function () {
1761
1836
  }
1762
1837
  };
1763
1838
 
1764
- Stream.prototype.onNewsUnsubscribeResponse = function onNewsUnsubscribeResponse(msg) {
1765
- var newsUnsub = this.pendingNewsUnsubscriptions[msg.__id];
1766
- var callback = newsUnsub.callback;
1767
-
1768
- (0, _utils.removeFromArray)(newsUnsub.id, msg.__id);
1769
- delete this.pendingNewsUnsubscriptions[msg.__id];
1839
+ Stream.prototype.onNewsFltDeleteResponse = function onNewsFltDeleteResponse(msg) {
1840
+ console.log("News_flt_delete Response", msg);
1770
1841
 
1771
- var result = newsUnsub.result;
1772
-
1773
- if (msg.code != 200 && !newsUnsub.failed) {
1774
- newsUnsub.failed = true;
1775
- var event = events.error("Error unsubscribing to news", {
1842
+ if (msg.code != 200) {
1843
+ var event = events.error("Error Unsubscribe News Filter", {
1776
1844
  code: msg.code,
1777
1845
  reason: msg.reason
1778
1846
  });
1779
1847
  this.events.fire("error", event);
1780
- if (callback) {
1781
- newsUnsub.callback(event);
1782
- }
1783
1848
  return;
1784
1849
  }
1785
1850
 
1786
- if (msg.newsFilters) {
1787
- for (var _iterator11 = msg.newsFilters, _isArray11 = Array.isArray(_iterator11), _i11 = 0, _iterator11 = _isArray11 ? _iterator11 : _iterator11[Symbol.iterator]();;) {
1788
- var _ref11;
1789
-
1790
- if (_isArray11) {
1791
- if (_i11 >= _iterator11.length) break;
1792
- _ref11 = _iterator11[_i11++];
1793
- } else {
1794
- _i11 = _iterator11.next();
1795
- if (_i11.done) break;
1796
- _ref11 = _i11.value;
1797
- }
1798
-
1799
- var newsFilter = _ref11;
1800
-
1801
- result.unsubscribed.push(newsFilter);
1802
- }
1803
- }
1804
-
1805
- if (newsUnsub.id.length === 0) {
1806
- if (callback) {
1807
- callback(null, newsUnsub.result);
1808
- }
1809
- }
1851
+ this.events.fire("filter delete", msg);
1810
1852
  };
1811
1853
 
1812
1854
  Stream.prototype.onTradeUnsubscribeResponse = function onTradeUnsubscribeResponse(msg) {
@@ -1843,20 +1885,7 @@ var Stream = function () {
1843
1885
  }
1844
1886
  };
1845
1887
 
1846
- Stream.prototype.onNewsCmdFilterRefreshResponse = function onNewsCmdFilterRefreshResponse(msg) {
1847
- if (msg.code != 200) {
1848
- var event = events.error("Error Refreshing News Filters", {
1849
- code: msg.code,
1850
- reason: msg.reason
1851
- });
1852
- this.events.fire("error", event);
1853
- return;
1854
- }
1855
-
1856
- this.events.fire("msg", msg);
1857
- };
1858
-
1859
- Stream.prototype.onNewsCmdFilterResponse = function onNewsCmdFilterResponse(msg) {
1888
+ Stream.prototype.onNewsFltGetResponse = function onNewsFltGetResponse(msg) {
1860
1889
  if (msg.code != 200) {
1861
1890
  var event = events.error("Error Getting News Filters Status", {
1862
1891
  code: msg.code,
@@ -2014,6 +2043,101 @@ var Stream = function () {
2014
2043
  this.events.fire("missedDataSent", msg);
2015
2044
  };
2016
2045
 
2046
+ Stream.prototype.onNewsFilterRemoteMessage = function onNewsFilterRemoteMessage(msg) {
2047
+ this.log.debug(_formatting.msgfmt.fmt(msg));
2048
+ this.events.fire("newsRemoteMessage", msg);
2049
+ };
2050
+
2051
+ Stream.prototype.onNewsErrorRemoteMessage = function onNewsErrorRemoteMessage(msg) {
2052
+ this.log.debug(_formatting.msgfmt.fmt(msg));
2053
+ this.events.fire("newsRemoteMessage", msg);
2054
+ };
2055
+
2056
+ Stream.prototype.onNewsFltUpdateMessage = function onNewsFltUpdateMessage(msg) {
2057
+ var newsUpdate = this.pendingNewsSubscriptions[msg.__id];
2058
+ var callback = newsUpdate.callback;
2059
+
2060
+ (0, _utils.removeFromArray)(newsUpdate.id, msg.__id);
2061
+ delete this.pendingNewsSubscriptions[msg.__id];
2062
+
2063
+ var result = newsUpdate.result;
2064
+
2065
+ if (msg.code != 200) {
2066
+ var event = events.error("Error updating to news", {
2067
+ code: msg.code,
2068
+ reason: msg.reason
2069
+ });
2070
+ this.events.fire("error", event);
2071
+ if (callback) {
2072
+ newsUpdate.callback(event);
2073
+ }
2074
+ return;
2075
+ }
2076
+ if (msg.newsFilters) {
2077
+ for (var _iterator11 = msg.newsFilters, _isArray11 = Array.isArray(_iterator11), _i11 = 0, _iterator11 = _isArray11 ? _iterator11 : _iterator11[Symbol.iterator]();;) {
2078
+ var _ref11;
2079
+
2080
+ if (_isArray11) {
2081
+ if (_i11 >= _iterator11.length) break;
2082
+ _ref11 = _iterator11[_i11++];
2083
+ } else {
2084
+ _i11 = _iterator11.next();
2085
+ if (_i11.done) break;
2086
+ _ref11 = _i11.value;
2087
+ }
2088
+
2089
+ var newsFilter = _ref11;
2090
+
2091
+ result.newsFilters.push(newsFilter);
2092
+ }
2093
+ }
2094
+ if (msg.rejectedNewsFilters) {
2095
+ for (var _iterator12 = msg.rejectedNewsFilters, _isArray12 = Array.isArray(_iterator12), _i12 = 0, _iterator12 = _isArray12 ? _iterator12 : _iterator12[Symbol.iterator]();;) {
2096
+ var _ref12;
2097
+
2098
+ if (_isArray12) {
2099
+ if (_i12 >= _iterator12.length) break;
2100
+ _ref12 = _iterator12[_i12++];
2101
+ } else {
2102
+ _i12 = _iterator12.next();
2103
+ if (_i12.done) break;
2104
+ _ref12 = _i12.value;
2105
+ }
2106
+
2107
+ var rejectedFilter = _ref12;
2108
+
2109
+ result.rejectedNewsFilters.push(rejectedFilter);
2110
+ }
2111
+ }
2112
+ if (msg.unentitledNewsFilters) {
2113
+ for (var _iterator13 = msg.unentitledNewsFilters, _isArray13 = Array.isArray(_iterator13), _i13 = 0, _iterator13 = _isArray13 ? _iterator13 : _iterator13[Symbol.iterator]();;) {
2114
+ var _ref13;
2115
+
2116
+ if (_isArray13) {
2117
+ if (_i13 >= _iterator13.length) break;
2118
+ _ref13 = _iterator13[_i13++];
2119
+ } else {
2120
+ _i13 = _iterator13.next();
2121
+ if (_i13.done) break;
2122
+ _ref13 = _i13.value;
2123
+ }
2124
+
2125
+ var unentitledFilter = _ref13;
2126
+
2127
+ result.unentitledNewsFilters.push(unentitledFilter);
2128
+ }
2129
+ }
2130
+ if (msg.filterId) {
2131
+ result.filterId = msg.filterId;
2132
+ }
2133
+
2134
+ if (newsUpdate.id.length === 0) {
2135
+ if (callback) {
2136
+ callback(null, newsUpdate.result);
2137
+ }
2138
+ }
2139
+ };
2140
+
2017
2141
  Stream.prototype._handledatamsg = function _handledatamsg(msg) {
2018
2142
  this.events.fire("message", msg);
2019
2143
  };
@@ -6207,17 +6331,21 @@ fmt.Formatter = function () {
6207
6331
  this.formatters[_streamerApi.messages.MessageTypeNames.ctrl.ALERTS_SUBUNSUB] = this._fmtalertsubunsub;
6208
6332
  this.formatters[_streamerApi.messages.MessageTypeNames.ctrl.ALERTS_SUBUNSUB_RESPONSE] = this._fmtalertsubunsubresponse;
6209
6333
  this.formatters[_streamerApi.messages.MessageTypeNames.ctrl.NEWS_SUBSCRIBE] = this._fmtnewssubscribe;
6210
- this.formatters[_streamerApi.messages.MessageTypeNames.ctrl.NEWS_SUBSCRIBE_RESPONSE] = this._fmtnewssubscriberesponse;
6334
+ this.formatters[_streamerApi.messages.MessageTypeNames.ctrl.NEWS_FLT_ADD_RESPONSE] = this._fmtnewsfltaddresponse;
6211
6335
  this.formatters[_streamerApi.messages.MessageTypeNames.ctrl.TRADE_SUBSCRIBE] = this._fmttradesubscribe;
6212
6336
  this.formatters[_streamerApi.messages.MessageTypeNames.ctrl.TRADE_SUBSCRIBE_RESPONSE] = this._fmttradesubscriberesponse;
6213
- this.formatters[_streamerApi.messages.MessageTypeNames.ctrl.NEWS_UNSUBSCRIBE_RESPONSE] = this._fmtnewsunsubscriberesponse;
6214
- this.formatters[_streamerApi.messages.MessageTypeNames.ctrl.NEWS_CMD_FILTER_REFRESH_RESPONSE] = this._fmtnewscmdfilterrefreshresponse;
6215
- this.formatters[_streamerApi.messages.MessageTypeNames.ctrl.NEWS_CMD_FILTER_RESPONSE] = this._fmtnewscmdfilterresponse;
6337
+ this.formatters[_streamerApi.messages.MessageTypeNames.ctrl.NEWS_FLT_DELETE_RESPONSE] = this._fmtnewsfltdeleteresponse;
6338
+ this.formatters[_streamerApi.messages.MessageTypeNames.ctrl.NEWS_FLT_GET_RESPONSE] = this._fmtnewsfltgetresponse;
6216
6339
  this.formatters[_streamerApi.messages.MessageTypeNames.ctrl.TRADE_UNSUBSCRIBE_RESPONSE] = this._fmttradeunsubscriberesponse;
6217
6340
  this.formatters[_streamerApi.messages.MessageTypeNames.ctrl.RECONNECT_RESPONSE] = this._fmtreconnectresponse;
6218
6341
  this.formatters[_streamerApi.messages.MessageTypeNames.ctrl.MISSED_DATA_SENT] = this._fmtmisseddatasent;
6219
6342
  this.formatters[_streamerApi.messages.MessageTypeNames.ctrl.CORP_EVENT_MESSAGE] = this._fmtcorporateeventsubscribe;
6220
6343
  this.formatters[_streamerApi.messages.MessageTypeNames.ctrl.CORP_EVENT_RESPONSE] = this._fmtcorporateeventresponse;
6344
+ this.formatters[_streamerApi.messages.MessageTypeNames.ctrl.NEWS_FLT_MOCK_BASIC_RESPONSE] = this._fmtnewsfltmockbasicresponse;
6345
+ this.formatters[_streamerApi.messages.MessageTypeNames.ctrl.NEWS_FLT_UPDATE_RESPONSE] = this._fmtnewsfltupdateresponse;
6346
+ this.formatters[_streamerApi.messages.MessageTypeNames.ctrl.NEWS_FILTER_MESSAGE] = this._fmtnewsfilterremotemessage;
6347
+ this.formatters[_streamerApi.messages.MessageTypeNames.ctrl.NEWS_ERROR_MESSAGE] = this._fmtnewserrorremotemessage;
6348
+ this.formatters[_streamerApi.messages.MessageTypeNames.ctrl.NEWS_SUCCESS_MESSAGE] = this._fmtnewssuccessremotemessage;
6221
6349
 
6222
6350
  //
6223
6351
  this.formatters[_streamerApi.messages.MessageTypeNames.data.QUOTE] = this._fmtquote;
@@ -6241,12 +6369,11 @@ fmt.Formatter = function () {
6241
6369
  this.formatters[_streamerApi.messages.MessageTypeNames.data.ALERT] = this._fmtalert;
6242
6370
  this.formatters[_streamerApi.messages.MessageTypeNames.data.NEWS] = this._fmtnews;
6243
6371
  this.formatters[_streamerApi.messages.MessageTypeNames.data.TRADENOTIFICATION] = this._fmttradeNotification;
6244
- this.formatters[_streamerApi.messages.MessageTypeNames.data.NEWSCMDFILTER] = this._fmtnewscmdfilter;
6245
- this.formatters[_streamerApi.messages.MessageTypeNames.data.NEWSERROR] = this._fmtnewserror;
6246
6372
  this.formatters[_streamerApi.messages.MessageTypeNames.data.DIVIDEND] = this._fmtdividend;
6247
6373
  this.formatters[_streamerApi.messages.MessageTypeNames.data.EARNINGS] = this._fmtearnings;
6248
6374
  this.formatters[_streamerApi.messages.MessageTypeNames.data.SPLIT] = this._fmtsplit;
6249
6375
  this.formatters[_streamerApi.messages.MessageTypeNames.data.SYMBOLCHANGED] = this._fmtsymbolChanged;
6376
+ this.formatters[_streamerApi.messages.MessageTypeNames.data.ORDEREXECUTED] = this._fmtorderexecuted;
6250
6377
  };
6251
6378
 
6252
6379
  fmt.Formatter._UNKOWNTYPE = '__UNKNOWN__';
@@ -6839,6 +6966,8 @@ fmt.Formatter.prototype._fmtnews = function (val) {
6839
6966
  var s = new fmt.StringBuilder();
6840
6967
  s.append('N');
6841
6968
  s.sep();
6969
+ s.append(val.filterId);
6970
+ s.sep();
6842
6971
  s.append(val.storyId);
6843
6972
  s.sep();
6844
6973
  s.datetime(val.timestamp);
@@ -6870,6 +6999,8 @@ fmt.Formatter.prototype._fmtnews = function (val) {
6870
6999
  s.append(val.videoUrl);
6871
7000
  s.sep();
6872
7001
  s.append(val.videoImageUrl);
7002
+ s.sep();
7003
+ s.append(val.vendorDateId);
6873
7004
 
6874
7005
  return s.toString();
6875
7006
  };
@@ -6899,56 +7030,6 @@ fmt.Formatter.prototype._fmttradeNotification = function (val) {
6899
7030
  return s.toString();
6900
7031
  };
6901
7032
 
6902
- fmt.Formatter.prototype._fmtnewscmdfilter = function (val) {
6903
- var s = new fmt.StringBuilder();
6904
- s.append("NEWS CMD_FILTER");
6905
- s.sep();
6906
- s.append(val.srcName + ": [");
6907
- s.append(val.srcValue);
6908
- s.append("]");
6909
- s.sep();
6910
- s.append(val.topicName + ": [");
6911
- s.append(val.topicValue);
6912
- s.append("]");
6913
- s.sep();
6914
- s.append(val.symbolName + ": [");
6915
- s.append(val.symbolValue);
6916
- s.append("]");
6917
- s.sep();
6918
- s.append(val.excodeName + ": ");
6919
- s.append(val.excodeValue);
6920
- s.sep();
6921
- s.append(val.exgroupName + ": ");
6922
- s.append(val.exgroupValue);
6923
- s.sep();
6924
- s.append(val.summaryName + ": ");
6925
- s.append(val.summaryValue);
6926
- s.sep();
6927
- s.append(val.summlenName + ": ");
6928
- s.append(val.summlenValue);
6929
- s.sep();
6930
- s.append(val.constituentName + ": ");
6931
- s.append(val.constituentValue);
6932
- s.sep();
6933
- s.append(val.searchByExchangeName + ": ");
6934
- s.append(val.searchByExchangeValue);
6935
-
6936
- return s.toString();
6937
- };
6938
-
6939
- fmt.Formatter.prototype._fmtnewserror = function (val) {
6940
- var s = new fmt.StringBuilder();
6941
- s.append("NEWS ERROR");
6942
- s.sep();
6943
- s.append("Event: " + val.event);
6944
- s.sep();
6945
- s.append("Code: " + val.code);
6946
- s.sep();
6947
- s.append("Message: " + val.message);
6948
-
6949
- return s.toString();
6950
- };
6951
-
6952
7033
  fmt.Formatter.prototype._fmtdividend = function (val) {
6953
7034
  var s = new fmt.StringBuilder();
6954
7035
  s.append("DV");
@@ -7047,6 +7128,62 @@ fmt.Formatter.prototype._fmtsymbolChanged = function (val) {
7047
7128
  return s.toString();
7048
7129
  };
7049
7130
 
7131
+ fmt.Formatter.prototype._fmtorderexecuted = function (val) {
7132
+ var s = new fmt.StringBuilder();
7133
+ s.append("OE");
7134
+ s.sep();
7135
+ s.datetime(val.timestamp);
7136
+ s.sep();
7137
+ s.append(val.symbol);
7138
+ s.sep();
7139
+ s.append(val.price);
7140
+ s.sep();
7141
+ s.append(val.size);
7142
+ s.sep();
7143
+ s.append(val.sequenceNumber);
7144
+ s.sep();
7145
+ s.append(val.matchID);
7146
+ s.sep();
7147
+ s.append(val.displaySize);
7148
+ s.sep();
7149
+ s.append(val.marketMakerID);
7150
+ s.sep();
7151
+ s.append(val.orderID);
7152
+
7153
+ return s.toString();
7154
+ };
7155
+
7156
+ fmt.Formatter.prototype._fmtnewsfilterremotemessage = function (val) {
7157
+ var s = new fmt.StringBuilder();
7158
+ s.append("NEWS FILTER");
7159
+ s.sep();
7160
+ s.append(val.message);
7161
+ return s.toString();
7162
+ };
7163
+
7164
+ fmt.Formatter.prototype._fmtnewserrorremotemessage = function (val) {
7165
+ var s = new fmt.StringBuilder();
7166
+ s.append("NEWS ERROR");
7167
+ s.sep();
7168
+ s.append("Event: " + val.event);
7169
+ s.sep();
7170
+ s.append("Code: " + val.code);
7171
+ s.sep();
7172
+ s.append("Message: " + val.message);
7173
+
7174
+ return s.toString();
7175
+ };
7176
+
7177
+ fmt.Formatter.prototype._fmtnewssuccessremotemessage = function (val) {
7178
+ var s = new fmt.StringBuilder();
7179
+ s.append('NEWS SUCCESS');
7180
+ s.sep();
7181
+ s.append(val.code);
7182
+ s.sep();
7183
+ s.append(val.message);
7184
+ return s.toString();
7185
+ };
7186
+
7050
7187
  fmt.Formatter.prototype._fmtheartbeat = function (val) {
7051
7188
  var s = new fmt.StringBuilder();
7052
7189
  s.append("HEARBEAT");
@@ -7144,36 +7281,45 @@ fmt.Formatter.prototype._fmttradesubscriberesponse = function (val) {
7144
7281
  return s.toString();
7145
7282
  };
7146
7283
 
7147
- fmt.Formatter.prototype._fmtnewssubscriberesponse = function (val) {
7284
+ fmt.Formatter.prototype._fmtnewsfltaddresponse = function (val) {
7148
7285
  var s = new fmt.StringBuilder();
7149
- s.append('NEWS SUBSCRIBED');
7286
+ s.append('NEWS SUBSCRIBED FLT_ADD');
7150
7287
  s.sep();
7151
7288
  this.__baseresponse(val, s);
7152
7289
  // TODO
7153
7290
  return s.toString();
7154
7291
  };
7155
7292
 
7156
- fmt.Formatter.prototype._fmtnewsunsubscriberesponse = function (val) {
7293
+ fmt.Formatter.prototype._fmtnewsfltdeleteresponse = function (val) {
7157
7294
  var s = new fmt.StringBuilder();
7158
- s.append('NEWS UNSUBSCRIBED');
7295
+ s.append('NEWS UNSUBSCRIBED FLT_DELETE');
7159
7296
  s.sep();
7160
7297
  this.__baseresponse(val, s);
7161
7298
  // TODO
7162
7299
  return s.toString();
7163
7300
  };
7164
7301
 
7165
- fmt.Formatter.prototype._fmtnewscmdfilterrefreshresponse = function (val) {
7302
+ fmt.Formatter.prototype._fmtnewsfltgetresponse = function (val) {
7166
7303
  var s = new fmt.StringBuilder();
7167
- s.append('NEWS COMMAND FILTER REFRESH');
7304
+ s.append('NEWS COMMAND FILTER');
7168
7305
  s.sep();
7169
7306
  this.__baseresponse(val, s);
7170
7307
  // TODO
7171
7308
  return s.toString();
7172
7309
  };
7173
7310
 
7174
- fmt.Formatter.prototype._fmtnewscmdfilterresponse = function (val) {
7311
+ fmt.Formatter.prototype._fmtnewsfltmockbasicresponse = function (val) {
7175
7312
  var s = new fmt.StringBuilder();
7176
- s.append('NEWS COMMAND FILTER');
7313
+ s.append('NEWS COMMAND FLT_MOCK_BASIC');
7314
+ s.sep();
7315
+ this.__baseresponse(val, s);
7316
+ // TODO
7317
+ return s.toString();
7318
+ };
7319
+
7320
+ fmt.Formatter.prototype._fmtnewsfltupdateresponse = function (val) {
7321
+ var s = new fmt.StringBuilder();
7322
+ s.append('NEWS COMMAND FLT_UPDATE');
7177
7323
  s.sep();
7178
7324
  this.__baseresponse(val, s);
7179
7325
  // TODO
@@ -7264,6 +7410,10 @@ fmt.Formatter.prototype._fmtslowconnection = function (val) {
7264
7410
  s.append(val.timesExceeded);
7265
7411
  s.sep();
7266
7412
  s.append(val.maxExceed);
7413
+ s.sep();
7414
+ s.append(val.currentDelta);
7415
+ s.sep();
7416
+ s.append(val.sendingRate);
7267
7417
  return s.toString();
7268
7418
  };
7269
7419
 
@@ -9431,7 +9581,7 @@ var LENGTH = exports.LENGTH = TIMESTAMP_OFFSET + _QitchConstants.TIMESTAMP_LENGT
9431
9581
  "use strict";
9432
9582
 
9433
9583
  exports.__esModule = true;
9434
- exports.LENGTH = exports.MAX_EXCEED_OFFSET = exports.TIMES_EXCEED_OFFSET = exports.TYPEID = undefined;
9584
+ exports.LENGTH = exports.SENDING_RATE_OFFSET = exports.CURRENT_DELTA_OFFSET = exports.MAX_EXCEED_OFFSET = exports.TIMES_EXCEED_OFFSET = exports.TYPEID = undefined;
9435
9585
 
9436
9586
  var _QitchConstants = require("../QitchConstants");
9437
9587
 
@@ -9439,8 +9589,10 @@ var TYPEID = exports.TYPEID = 111;
9439
9589
 
9440
9590
  var TIMES_EXCEED_OFFSET = exports.TIMES_EXCEED_OFFSET = 0;
9441
9591
  var MAX_EXCEED_OFFSET = exports.MAX_EXCEED_OFFSET = TIMES_EXCEED_OFFSET + _QitchConstants.INT_LENGTH;
9592
+ var CURRENT_DELTA_OFFSET = exports.CURRENT_DELTA_OFFSET = MAX_EXCEED_OFFSET + _QitchConstants.INT_LENGTH;
9593
+ var SENDING_RATE_OFFSET = exports.SENDING_RATE_OFFSET = CURRENT_DELTA_OFFSET + _QitchConstants.INT_LENGTH;
9442
9594
 
9443
- var LENGTH = exports.LENGTH = MAX_EXCEED_OFFSET + _QitchConstants.INT_LENGTH;
9595
+ var LENGTH = exports.LENGTH = SENDING_RATE_OFFSET + _QitchConstants.INT_LENGTH;
9444
9596
  }).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")
9445
9597
  },{"../QitchConstants":26,"_process":131,"buffer":121,"timers":152}],37:[function(require,module,exports){
9446
9598
  (function (process,global,Buffer,__argument0,__argument1,__argument2,__argument3,setImmediate,clearImmediate,__filename,__dirname){
@@ -10509,6 +10661,8 @@ var SlowConnectionDecoder = function () {
10509
10661
  var out = new _streamerApi.messages.control.SlowConnection();
10510
10662
  out.timesExceeded = _Qitch2["default"].int32(src, offset + def.TIMES_EXCEED_OFFSET);
10511
10663
  out.maxExceed = _Qitch2["default"].int32(src, offset + def.MAX_EXCEED_OFFSET);
10664
+ out.currentDelta = _Qitch2["default"].int32(src, offset + def.CURRENT_DELTA_OFFSET);
10665
+ out.sendingRate = _Qitch2["default"].int32(src, offset + def.SENDING_RATE_OFFSET);
10512
10666
  return out;
10513
10667
  };
10514
10668
 
@@ -14147,30 +14301,6 @@ var StompStream = function () {
14147
14301
  this.send(msg);
14148
14302
  };
14149
14303
 
14150
- StompStream.prototype.cmdFilterRefreshNews = function cmdFilterRefreshNews(callbackOrNothing) {
14151
- var callback = callbackOrNothing ? callbackOrNothing : optsOrCallback && typeof optsOrCallback === "function" ? optsOrCallback : null;
14152
-
14153
- if (this.isClosed()) {
14154
- var event = events.error("Stream is disconnected", {
14155
- code: -1,
14156
- reason: "Already disconnected"
14157
- });
14158
- this.events.fire("error", event);
14159
- if (callback) {
14160
- callback(event);
14161
- }
14162
- return;
14163
- }
14164
-
14165
- var newsCmdFilterRefresh = {
14166
- callback: callback,
14167
- mimetype: this.format
14168
- };
14169
-
14170
- var request = this.buildNewsCommandRequest(newsCmdFilterRefresh, 'NEWSCMDFILTERREFRESH');
14171
- this.send(request);
14172
- };
14173
-
14174
14304
  StompStream.prototype.cmdFilterNews = function cmdFilterNews(callbackOrNothing) {
14175
14305
  var callback = callbackOrNothing ? callbackOrNothing : optsOrCallback && typeof optsOrCallback === "function" ? optsOrCallback : null;
14176
14306
 
@@ -14568,9 +14698,6 @@ var StompStream = function () {
14568
14698
  case _streamerApi.messages.MessageTypeNames.ctrl.NEWS_UNSUBSCRIBE_RESPONSE:
14569
14699
  this.onNewsUnsubscribeResponse(msg);
14570
14700
  break;
14571
- case _streamerApi.messages.MessageTypeNames.ctrl.NEWS_CMD_FILTER_REFRESH_RESPONSE:
14572
- this.onNewsCmdFilterRefreshResponse(msg);
14573
- break;
14574
14701
  case _streamerApi.messages.MessageTypeNames.ctrl.NEWS_CMD_FILTER_RESPONSE:
14575
14702
  this.onNewsCmdFilterResponse(msg);
14576
14703
  break;
@@ -15077,32 +15204,6 @@ var StompStream = function () {
15077
15204
  }
15078
15205
  };
15079
15206
 
15080
- StompStream.prototype.onNewsCmdFilterRefreshResponse = function onNewsCmdFilterRefreshResponse(msg) {
15081
- if (msg.code != 200) {
15082
- var event = events.error("Error Refreshing News Filters", {
15083
- code: msg.code,
15084
- reason: msg.reason
15085
- });
15086
- this.events.fire("error", event);
15087
- return;
15088
- }
15089
-
15090
- this.events.fire("msg", msg);
15091
- };
15092
-
15093
- StompStream.prototype.onNewsCmdFilterResponse = function onNewsCmdFilterResponse(msg) {
15094
- if (msg.code != 200) {
15095
- var event = events.error("Error Getting News Filters Status", {
15096
- code: msg.code,
15097
- reason: msg.reason
15098
- });
15099
- this.events.fire("error", event);
15100
- return;
15101
- }
15102
-
15103
- this.events.fire("filter status", msg);
15104
- };
15105
-
15106
15207
  StompStream.prototype.onUnsubscribeResponse = function onUnsubscribeResponse(msg) {
15107
15208
  var unsubscription = this.pendingUnsubscriptions[msg.__id];
15108
15209
  var callback = unsubscription.callback;
@@ -15570,7 +15671,7 @@ exports.__esModule = true;
15570
15671
  */
15571
15672
 
15572
15673
  var LIBRARY_NAME = exports.LIBRARY_NAME = "JavaScript";
15573
- var VERSION = exports.VERSION = "2.56.0";
15674
+ var VERSION = exports.VERSION = "2.59.0";
15574
15675
 
15575
15676
  /**
15576
15677
  * Streamer API namespace.
@@ -15632,15 +15733,14 @@ messages.MessageTypeNames = {
15632
15733
  EXCHANGE_RESPONSE: 'C15',
15633
15734
  EXCHANGE_UNSUBSCRIBE_RESPONSE: 'C16',
15634
15735
  NEWS_SUBSCRIBE: 'C17',
15635
- NEWS_SUBSCRIBE_RESPONSE: 'C18',
15736
+ NEWS_FLT_ADD_RESPONSE: 'C18',
15636
15737
  ALERTS_SUBUNSUB: 'C19',
15637
15738
  ALERTS_SUBUNSUB_RESPONSE: 'C20',
15638
15739
  TRADE_SUBSCRIBE: 'C21',
15639
15740
  TRADE_SUBSCRIBE_RESPONSE: 'C22',
15640
- NEWS_UNSUBSCRIBE_RESPONSE: 'C23',
15741
+ NEWS_FLT_DELETE_RESPONSE: 'C23',
15641
15742
  NEWS_COMMAND: 'C24',
15642
- NEWS_CMD_FILTER_REFRESH_RESPONSE: 'C25',
15643
- NEWS_CMD_FILTER_RESPONSE: 'C26',
15743
+ NEWS_FLT_GET_RESPONSE: 'C26',
15644
15744
  AUTHENTICATION: 'C27',
15645
15745
  OPEN_FLOW: 'C28',
15646
15746
  RECONNECT_RESPONSE: 'C29',
@@ -15648,7 +15748,13 @@ messages.MessageTypeNames = {
15648
15748
  MISSED_DATA_SENT: 'C31',
15649
15749
  // Corporate events C33 and C34 for consistency with Java Mapping
15650
15750
  CORP_EVENT_MESSAGE: 'C33',
15651
- CORP_EVENT_RESPONSE: 'C34'
15751
+ CORP_EVENT_RESPONSE: 'C34',
15752
+ NEWS_FLT_MOCK_BASIC_RESPONSE: 'C35',
15753
+ NEWS_FLT_UPDATE_RESPONSE: 'C36',
15754
+ NEWS_FILTER_MESSAGE: "C37",
15755
+ NEWS_ERROR_MESSAGE: "C38",
15756
+ NEWS_SUCCESS_MESSAGE: "C39"
15757
+
15652
15758
  },
15653
15759
  /**
15654
15760
  * Name space for data message type identifiers.<br>
@@ -15675,14 +15781,13 @@ messages.MessageTypeNames = {
15675
15781
  ALERT: 'D17',
15676
15782
  NEWS: 'D18',
15677
15783
  TRADENOTIFICATION: 'D19',
15678
- NEWSCMDFILTER: 'D20',
15679
- NEWSERROR: 'D21',
15680
15784
  DIVIDEND: 'D22',
15681
15785
  EARNINGS: 'D23',
15682
15786
  SPLIT: 'D24',
15683
15787
  SYMBOLCHANGED: 'D25',
15684
15788
  PRICELEVEL: 'D26',
15685
- MMPRICELEVEL: 'D27'
15789
+ MMPRICELEVEL: 'D27',
15790
+ ORDEREXECUTED: 'D28'
15686
15791
  }
15687
15792
  };
15688
15793
 
@@ -15816,11 +15921,11 @@ messages.control.NewsSubscribeMessage = function () {
15816
15921
  this.init(messages.MessageTypeNames.ctrl.NEWS_SUBSCRIBE);
15817
15922
 
15818
15923
  /**
15819
- * The action the server will take when receiving this message.
15924
+ * The newsAction the server will take when receiving this message.
15820
15925
  * @type {string}
15821
15926
  * @see exports.messages.control.Action
15822
15927
  */
15823
- this.action = null;
15928
+ this.newsAction = null;
15824
15929
 
15825
15930
  /**
15826
15931
  * The news filters to subscribe for.
@@ -15828,6 +15933,12 @@ messages.control.NewsSubscribeMessage = function () {
15828
15933
  */
15829
15934
  this.newsFilters = null;
15830
15935
 
15936
+ /**
15937
+ * The news filters ID to subscribe for.
15938
+ * @type {Array.<string>}
15939
+ */
15940
+ this.filtersId = null;
15941
+
15831
15942
  /**
15832
15943
  * Requested message mime-type format.
15833
15944
  * @type {string}
@@ -16254,6 +16365,18 @@ messages.control.SlowConnection = function () {
16254
16365
  * @type {number}
16255
16366
  */
16256
16367
  this.maxExceed = null;
16368
+
16369
+ /**
16370
+ * The current delta representing how many messages the client is behind.
16371
+ * @type {number}
16372
+ */
16373
+ this.currentDelta = null;
16374
+
16375
+ /**
16376
+ * The server sending rate in messages per second.
16377
+ * @type {number}
16378
+ */
16379
+ this.sendingRate = null;
16257
16380
  };
16258
16381
  messages.control.SlowConnection.prototype = new messages.control.CtrlMessage();
16259
16382
 
@@ -16442,6 +16565,19 @@ messages.control.Action = {
16442
16565
  UNSUBSCRIBE: "UNSUBSCRIBE"
16443
16566
  };
16444
16567
 
16568
+ /**
16569
+ * Enumeration for News actions.
16570
+ * @enum
16571
+ * @readonly
16572
+ */
16573
+ messages.control.NewsAction = {
16574
+ NEWS_FLT_ADD: "NEWS_FLT_ADD",
16575
+ NEWS_FLT_DELETE: "NEWS_FLT_DELETE",
16576
+ NEWS_FLT_UPDATE: "NEWS_FLT_UPDATE",
16577
+ NEWS_FLT_GET: "NEWS_FLT_GET",
16578
+ NEWS_FLT_MOCK_BASIC: "NEWS_FLT_MOCK_BASIC"
16579
+ };
16580
+
16445
16581
  /**
16446
16582
  * Enumeration for associations.
16447
16583
  * @enum
@@ -16494,7 +16630,8 @@ messages.market.SubscriptionTypes = {
16494
16630
  LASTSALE: "LASTSALE",
16495
16631
  LIMITUPLIMITDOWN: "LIMITUPLIMITDOWN",
16496
16632
  IVGREEKS: "IVGREEKS",
16497
- IMBALANCESTATUS: "IMBALANCESTATUS"
16633
+ IMBALANCESTATUS: "IMBALANCESTATUS",
16634
+ ORDEREXECUTED: "ORDEREXECUTED"
16498
16635
 
16499
16636
  /**
16500
16637
  * Enum for the allowed Corporate Event subscription types
@@ -16534,9 +16671,9 @@ messages.market.SubscriptionTypes = {
16534
16671
  ALERT: "ALERT",
16535
16672
  NEWS: "NEWS",
16536
16673
  TRADENOTIFICATION: "TRADENOTIFICATION",
16537
- NEWSCMDFILTER: "NEWSCMDFILTER",
16538
16674
  NEWSERROR: "NEWSERROR",
16539
- DIVIDEND: "DIVIDEND"
16675
+ DIVIDEND: "DIVIDEND",
16676
+ ORDEREXECUTED: "ORDEREXECUTED"
16540
16677
 
16541
16678
  /**
16542
16679
  * Response codes and reasons.
@@ -16788,6 +16925,17 @@ messages.market.Alert = function () {
16788
16925
  };
16789
16926
  messages.market.Alert.prototype = new messages.market.DataMessage();
16790
16927
 
16928
+ /**
16929
+ *
16930
+ * @constructor
16931
+ */
16932
+ messages.market.OrderExecuted = function () {
16933
+ this.init(messages.MessageTypeNames.data.ORDEREXECUTED);
16934
+
16935
+ // TODO properties
16936
+ };
16937
+ messages.market.OrderExecuted.prototype = new messages.market.DataMessage();
16938
+
16791
16939
  /**
16792
16940
  * Enumeration for instrument types.
16793
16941
  * @enum