@quotemedia.com/streamer 2.21.0 → 2.25.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.
@@ -452,6 +452,10 @@ var Stream = function () {
452
452
  this.pendingUnsubscriptions = {};
453
453
  this.pendingExchangeSubscriptions = {};
454
454
  this.pendingExchangeUnsubscriptions = {};
455
+ this.pendingNewsSubscriptions = {};
456
+ this.pendingNewsUnsubscriptions = {};
457
+ this.pendingAlertSubscription = {};
458
+ this.pendingTradeSubscription = {};
455
459
 
456
460
  this.on("error", function (err) {
457
461
  _this.log.warn(err);
@@ -576,6 +580,110 @@ var Stream = function () {
576
580
  });
577
581
  };
578
582
 
583
+ Stream.prototype.subscribeNews = function subscribeNews(newsFilters, optsOrCallback, callbackOrNothing) {
584
+
585
+ var opts = optsOrCallback && typeof optsOrCallback !== "function" ? optsOrCallback : null;
586
+ var callback = callbackOrNothing ? callbackOrNothing : optsOrCallback && typeof optsOrCallback === "function" ? optsOrCallback : null;
587
+
588
+ if (this.isClosed()) {
589
+ var event = events.error("Stream is disconnected", {
590
+ code: -1,
591
+ reason: "Already disconnected"
592
+ });
593
+ this.events.fire("error", event);
594
+ if (callback) {
595
+ callback(event);
596
+ }
597
+ return;
598
+ }
599
+
600
+ var newsSub = {
601
+ callback: callback,
602
+ mimetype: this.format,
603
+ id: [],
604
+ result: {
605
+ newsFilters: [],
606
+ rejectedNewsFilters: [],
607
+ unentitledNewsFilters: []
608
+ }
609
+ };
610
+ //check for empty filters
611
+ if (newsFilters.length === 0) {
612
+ callback(null, newsSub.result);
613
+ }
614
+ var request = this.buildNewsSubscribeRequest(newsFilters, newsSub, _streamerApi.messages.control.Action.SUBSCRIBE, opts);
615
+
616
+ var id = this.requestid.next();
617
+ this.pendingNewsSubscriptions[id] = newsSub;
618
+
619
+ request.id = id;
620
+
621
+ this.send(request);
622
+ };
623
+
624
+ Stream.prototype.subUnsubAlerts = function subUnsubAlerts(operation, optsOrCallback, callbackOrNothing) {
625
+
626
+ var opts = optsOrCallback && typeof optsOrCallback !== "function" ? optsOrCallback : null;
627
+ var callback = callbackOrNothing ? callbackOrNothing : optsOrCallback && typeof optsOrCallback === "function" ? optsOrCallback : null;
628
+
629
+ if (this.isClosed()) {
630
+ var event = events.error("Stream is disconnected", {
631
+ code: -1,
632
+ reason: "Already disconnected"
633
+ });
634
+ this.events.fire("error", event);
635
+ return;
636
+ }
637
+
638
+ var subscription = {
639
+ id: [],
640
+ mimetype: this.format,
641
+ callback: callback,
642
+ result: {
643
+ operation: ""
644
+ }
645
+ };
646
+
647
+ var request = this.buildAlertsSubUnsubRequest(operation, subscription);
648
+ var id = this.requestid.next();
649
+ subscription.id.push(id);
650
+ this.pendingAlertSubscription[id] = subscription;
651
+ request.id = id;
652
+
653
+ this.send(request);
654
+ };
655
+
656
+ Stream.prototype.subscribeTrade = function subscribeTrade(operation, optsOrCallback, callbackOrNothing) {
657
+ var opts = optsOrCallback && typeof optsOrCallback !== "function" ? optsOrCallback : null;
658
+ var callback = callbackOrNothing ? callbackOrNothing : optsOrCallback && typeof optsOrCallback === "function" ? optsOrCallback : null;
659
+
660
+ if (this.isClosed()) {
661
+ var event = events.error("Stream is disconnected", {
662
+ code: -1,
663
+ reason: "Already disconnected"
664
+ });
665
+ this.events.fire("error", event);
666
+ return;
667
+ }
668
+
669
+ var tradeSub = {
670
+ id: [],
671
+ mimetype: this.format,
672
+ callback: callback,
673
+ result: {
674
+ operation: ""
675
+ }
676
+ };
677
+
678
+ var request = this.buildTradeSubscribeRequest(operation, tradeSub);
679
+ var id = this.requestid.next();
680
+ tradeSub.id.push(id);
681
+ this.pendingTradeSubscription[id] = tradeSub;
682
+ request.id = id;
683
+
684
+ this.send(request);
685
+ };
686
+
579
687
  Stream.prototype.getSessionStats = function getSessionStats() {
580
688
  if (this.isClosed()) {
581
689
  var event = events.error("Stream is disconnected", {
@@ -589,6 +697,54 @@ var Stream = function () {
589
697
  this.send(msg);
590
698
  };
591
699
 
700
+ Stream.prototype.cmdFilterRefreshNews = function cmdFilterRefreshNews(callbackOrNothing) {
701
+ var callback = callbackOrNothing ? callbackOrNothing : optsOrCallback && typeof optsOrCallback === "function" ? optsOrCallback : null;
702
+
703
+ if (this.isClosed()) {
704
+ var event = events.error("Stream is disconnected", {
705
+ code: -1,
706
+ reason: "Already disconnected"
707
+ });
708
+ this.events.fire("error", event);
709
+ if (callback) {
710
+ callback(event);
711
+ }
712
+ return;
713
+ }
714
+
715
+ var newsCmdFilterRefresh = {
716
+ callback: callback,
717
+ mimetype: this.format
718
+ };
719
+
720
+ var request = this.buildNewsCommandRequest(newsCmdFilterRefresh, 'NEWSCMDFILTERREFRESH');
721
+ this.send(request);
722
+ };
723
+
724
+ Stream.prototype.cmdFilterNews = function cmdFilterNews(callbackOrNothing) {
725
+ var callback = callbackOrNothing ? callbackOrNothing : optsOrCallback && typeof optsOrCallback === "function" ? optsOrCallback : null;
726
+
727
+ if (this.isClosed()) {
728
+ var event = events.error("Stream is disconnected", {
729
+ code: -1,
730
+ reason: "Already disconnected"
731
+ });
732
+ this.events.fire("error", event);
733
+ if (callback) {
734
+ callback(event);
735
+ }
736
+ return;
737
+ }
738
+
739
+ var newsCmdFilter = {
740
+ callback: callback,
741
+ mimetype: this.format
742
+ };
743
+
744
+ var request = this.buildNewsCommandRequest(newsCmdFilter, 'NEWSCMDFILTER');
745
+ this.send(request);
746
+ };
747
+
592
748
  Stream.prototype.unsubscribe = function unsubscribe(symbols, types, optsOrCallback, callbackOrNothing) {
593
749
  var _this4 = this;
594
750
 
@@ -690,6 +846,49 @@ var Stream = function () {
690
846
  });
691
847
  };
692
848
 
849
+ Stream.prototype.unsubscribeNews = function unsubscribeNews(newsFilters, optsOrCallback, callbackOrNothing) {
850
+ newsFilters = Array.isArray(newsFilters) ? newsFilters : [newsFilters];
851
+
852
+ var opts = optsOrCallback && typeof optsOrCallback !== "function" ? optsOrCallback : null;
853
+ var callback = callbackOrNothing ? callbackOrNothing : optsOrCallback && typeof optsOrCallback === "function" ? optsOrCallback : null;
854
+
855
+ if (this.isClosed()) {
856
+ var event = events.error("Stream is disconnected", {
857
+ code: -1,
858
+ reason: "Already disconnected"
859
+ });
860
+ this.events.fire("error", event);
861
+ if (callback) {
862
+ callback(event);
863
+ }
864
+ return;
865
+ }
866
+
867
+ var unsubscription = {
868
+ callback: callback,
869
+ mimetype: this.format,
870
+ id: [],
871
+ result: {
872
+ unsubscribed: []
873
+ }
874
+ };
875
+
876
+ if (newsFilters.length === 0) {
877
+ if (callback) {
878
+ callback(null, unsubscription.result);
879
+ }
880
+ }
881
+
882
+ var request = this.buildNewsSubscribeRequest(newsFilters, unsubscription, _streamerApi.messages.control.Action.UNSUBSCRIBE, opts);
883
+
884
+ var id = this.requestid.next();
885
+ unsubscription.id.push(id);
886
+ this.pendingNewsUnsubscriptions[id] = unsubscription;
887
+ request.id = id;
888
+
889
+ this.send(request);
890
+ };
891
+
693
892
  Stream.prototype._handlejsonmsg = function _handlejsonmsg(msg) {
694
893
  if ((0, _streamerUtils.iscontrolmessage)(msg)) {
695
894
  this.handlectrlmsg(msg);
@@ -752,6 +951,38 @@ var Stream = function () {
752
951
  return msg;
753
952
  };
754
953
 
954
+ Stream.prototype.buildNewsSubscribeRequest = function buildNewsSubscribeRequest(newsFilters, sub, action, opts) {
955
+ var msg = new _streamerApi.messages.control.NewsSubscribeMessage();
956
+ msg.action = action;
957
+ msg.newsFilters = newsFilters;
958
+ msg.mimetype = sub.mimetype;
959
+ if (opts && opts.skipHeavyInitialLoad) {
960
+ msg.skipHeavyInitialLoad = opts.skipHeavyInitialLoad === '0' ? false : true;
961
+ }
962
+ return msg;
963
+ };
964
+
965
+ Stream.prototype.buildAlertsSubUnsubRequest = function buildAlertsSubUnsubRequest(opr, subscription) {
966
+ var msg = new _streamerApi.messages.control.AlertsSubUnsubMessage();
967
+ msg.operation = opr;
968
+ msg.mimetype = subscription.mimetype;
969
+ return msg;
970
+ };
971
+
972
+ Stream.prototype.buildTradeSubscribeRequest = function buildTradeSubscribeRequest(operation, sub) {
973
+ var msg = new _streamerApi.messages.control.TradeSubscribeMessage();
974
+ msg.operation = operation;
975
+ msg.mimetype = sub.mimetype;
976
+ return msg;
977
+ };
978
+
979
+ Stream.prototype.buildNewsCommandRequest = function buildNewsCommandRequest(sub, newsAction) {
980
+ var msg = new _streamerApi.messages.control.NewsCommandMessage();
981
+ msg.newsAction = newsAction;
982
+ msg.mimetype = sub.mimetype;
983
+ return msg;
984
+ };
985
+
755
986
  Stream.prototype._getUpdatedNumberOfEntitlements = function _getUpdatedNumberOfEntitlements(numberOfSubscriptionTypes, currentApproximateNumberOfEntitlements, symbol, isSubscribeToOrderbook) {
756
987
  var result = currentApproximateNumberOfEntitlements;
757
988
  if (isSubscribeToOrderbook && symbol.endsWith(CONSOLIDATED_SYMBOL_SUFFIX)) {
@@ -775,12 +1006,30 @@ var Stream = function () {
775
1006
  case _streamerApi.messages.MessageTypeNames.ctrl.EXCHANGE_RESPONSE:
776
1007
  this.onExchangeSubscribeResponse(msg);
777
1008
  break;
1009
+ case _streamerApi.messages.MessageTypeNames.ctrl.NEWS_SUBSCRIBE_RESPONSE:
1010
+ this.onNewsSubscribeResponse(msg);
1011
+ break;
1012
+ case _streamerApi.messages.MessageTypeNames.ctrl.ALERTS_SUBUNSUB_RESPONSE:
1013
+ this.onAlertsSubUnsubResponse(msg);
1014
+ break;
1015
+ case _streamerApi.messages.MessageTypeNames.ctrl.TRADE_SUBSCRIBE_RESPONSE:
1016
+ this.onTradeSubscribeResponse(msg);
1017
+ break;
778
1018
  case _streamerApi.messages.MessageTypeNames.ctrl.UNSUBSCRIBE_RESPONSE:
779
1019
  this.onUnsubscribeResponse(msg);
780
1020
  break;
781
1021
  case _streamerApi.messages.MessageTypeNames.ctrl.EXCHANGE_UNSUBSCRIBE_RESPONSE:
782
1022
  this.onExchangeUnsubscribeResponse(msg);
783
1023
  break;
1024
+ case _streamerApi.messages.MessageTypeNames.ctrl.NEWS_UNSUBSCRIBE_RESPONSE:
1025
+ this.onNewsUnsubscribeResponse(msg);
1026
+ break;
1027
+ case _streamerApi.messages.MessageTypeNames.ctrl.NEWS_CMD_FILTER_REFRESH_RESPONSE:
1028
+ this.onNewsCmdFilterRefreshResponse(msg);
1029
+ break;
1030
+ case _streamerApi.messages.MessageTypeNames.ctrl.NEWS_CMD_FILTER_RESPONSE:
1031
+ this.onNewsCmdFilterResponse(msg);
1032
+ break;
784
1033
  case _streamerApi.messages.MessageTypeNames.ctrl.CONNECT_RESPONSE:
785
1034
  this.onConnectResponse(msg);
786
1035
  break;
@@ -875,59 +1124,289 @@ var Stream = function () {
875
1124
  result.rejected.push(symbol);
876
1125
  }
877
1126
  }
878
- if (msg.invalidSymbols) {
879
- for (var _iterator3 = msg.invalidSymbols, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator]();;) {
880
- var _result$invalidSymbol;
1127
+ if (msg.invalidSymbols) {
1128
+ for (var _iterator3 = msg.invalidSymbols, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator]();;) {
1129
+ var _result$invalidSymbol;
1130
+
1131
+ var _ref3;
1132
+
1133
+ if (_isArray3) {
1134
+ if (_i3 >= _iterator3.length) break;
1135
+ _ref3 = _iterator3[_i3++];
1136
+ } else {
1137
+ _i3 = _iterator3.next();
1138
+ if (_i3.done) break;
1139
+ _ref3 = _i3.value;
1140
+ }
1141
+
1142
+ var _symbol2 = _ref3;
1143
+
1144
+ this.log.warn('INVALID SYMBOL ' + _symbol2);
1145
+ (_result$invalidSymbol = result.invalidSymbols).push.apply(_result$invalidSymbol, msg.invalidSymbols);
1146
+ }
1147
+ }
1148
+
1149
+ if (subscription.ids.length === 0 && !subscription.failed) {
1150
+ if (callback) {
1151
+ callback(null, subscription.result);
1152
+ }
1153
+ }
1154
+ };
1155
+
1156
+ Stream.prototype.onExchangeSubscribeResponse = function onExchangeSubscribeResponse(msg) {
1157
+ var exchangeSub = this.pendingExchangeSubscriptions[msg.__id];
1158
+ var callback = exchangeSub.callback;
1159
+
1160
+ (0, _utils.removeFromArray)(exchangeSub.id, msg.__id);
1161
+ delete this.pendingExchangeSubscriptions[msg.__id];
1162
+
1163
+ console.log(msg);
1164
+ if (msg.code != 200) {
1165
+ var event = events.error("Error subscribing", {
1166
+ code: msg.code,
1167
+ reason: msg.reason
1168
+ });
1169
+ this.events.fire("error", event);
1170
+ if (callback) {
1171
+ exchangeSub.callback(event);
1172
+ }
1173
+ return;
1174
+ }
1175
+ if (exchangeSub.id.length === 0) {
1176
+ if (callback) {
1177
+ callback(null, exchangeSub);
1178
+ }
1179
+ }
1180
+ };
1181
+
1182
+ Stream.prototype.onNewsSubscribeResponse = function onNewsSubscribeResponse(msg) {
1183
+ var newsSub = this.pendingNewsSubscriptions[msg.__id];
1184
+ var callback = newsSub.callback;
1185
+
1186
+ (0, _utils.removeFromArray)(newsSub.id, msg.__id);
1187
+ delete this.pendingNewsSubscriptions[msg.__id];
1188
+
1189
+ var result = newsSub.result;
1190
+
1191
+ console.log(msg);
1192
+ if (msg.code != 200) {
1193
+ var event = events.error("Error subscribing to news", {
1194
+ code: msg.code,
1195
+ reason: msg.reason
1196
+ });
1197
+ this.events.fire("error", event);
1198
+ if (callback) {
1199
+ newsSub.callback(event);
1200
+ }
1201
+ return;
1202
+ }
1203
+ if (msg.newsFilters) {
1204
+ for (var _iterator4 = msg.newsFilters, _isArray4 = Array.isArray(_iterator4), _i4 = 0, _iterator4 = _isArray4 ? _iterator4 : _iterator4[Symbol.iterator]();;) {
1205
+ var _ref4;
1206
+
1207
+ if (_isArray4) {
1208
+ if (_i4 >= _iterator4.length) break;
1209
+ _ref4 = _iterator4[_i4++];
1210
+ } else {
1211
+ _i4 = _iterator4.next();
1212
+ if (_i4.done) break;
1213
+ _ref4 = _i4.value;
1214
+ }
1215
+
1216
+ var newsFilter = _ref4;
1217
+
1218
+ result.newsFilters.push(newsFilter);
1219
+ }
1220
+ }
1221
+ if (msg.rejectedNewsFilters) {
1222
+ for (var _iterator5 = msg.rejectedNewsFilters, _isArray5 = Array.isArray(_iterator5), _i5 = 0, _iterator5 = _isArray5 ? _iterator5 : _iterator5[Symbol.iterator]();;) {
1223
+ var _ref5;
1224
+
1225
+ if (_isArray5) {
1226
+ if (_i5 >= _iterator5.length) break;
1227
+ _ref5 = _iterator5[_i5++];
1228
+ } else {
1229
+ _i5 = _iterator5.next();
1230
+ if (_i5.done) break;
1231
+ _ref5 = _i5.value;
1232
+ }
1233
+
1234
+ var rejectedFilter = _ref5;
1235
+
1236
+ result.rejectedNewsFilters.push(rejectedFilter);
1237
+ }
1238
+ }
1239
+ if (msg.unentitledNewsFilters) {
1240
+ for (var _iterator6 = msg.unentitledNewsFilters, _isArray6 = Array.isArray(_iterator6), _i6 = 0, _iterator6 = _isArray6 ? _iterator6 : _iterator6[Symbol.iterator]();;) {
1241
+ var _ref6;
1242
+
1243
+ if (_isArray6) {
1244
+ if (_i6 >= _iterator6.length) break;
1245
+ _ref6 = _iterator6[_i6++];
1246
+ } else {
1247
+ _i6 = _iterator6.next();
1248
+ if (_i6.done) break;
1249
+ _ref6 = _i6.value;
1250
+ }
1251
+
1252
+ var unentitledFilter = _ref6;
1253
+
1254
+ result.unentitledNewsFilters.push(unentitledFilter);
1255
+ }
1256
+ }
1257
+
1258
+ if (newsSub.id.length === 0) {
1259
+ if (callback) {
1260
+ callback(null, newsSub.result);
1261
+ }
1262
+ }
1263
+ };
1264
+
1265
+ Stream.prototype.onAlertsSubUnsubResponse = function onAlertsSubUnsubResponse(msg) {
1266
+ var alertsSub = this.pendingAlertSubscription[msg.__id];
1267
+ var callback = alertsSub.callback;
1268
+
1269
+ (0, _utils.removeFromArray)(alertsSub.id, msg.__id);
1270
+ delete this.pendingAlertSubscription[msg.__id];
1271
+
1272
+ console.log(msg);
1273
+ if (msg.code != 200 && !alertsSub.failed) {
1274
+ alertsSub.failed = true;
1275
+ var event = events.error("Error subscribing", {
1276
+ code: msg.code,
1277
+ reason: msg.reason
1278
+ });
1279
+ this.events.fire("error", event);
1280
+ if (callback) {
1281
+ alertsSub.callback(event);
1282
+ }
1283
+ return;
1284
+ }
1285
+
1286
+ var result = alertsSub.result;
1287
+
1288
+ if (msg.operation) {
1289
+ this.log.debug('Alerts ' + msg.operation);
1290
+ result.operation = msg.operation;
1291
+ }
1292
+
1293
+ if (alertsSub.id.length === 0) {
1294
+ if (callback) {
1295
+ callback(null, alertsSub.result);
1296
+ }
1297
+ }
1298
+ };
1299
+
1300
+ Stream.prototype.onTradeSubscribeResponse = function onTradeSubscribeResponse(msg) {
1301
+ var tradeSub = this.pendingTradeSubscription[msg.__id];
1302
+ var callback = tradeSub.callback;
1303
+
1304
+ (0, _utils.removeFromArray)(tradeSub.id, msg.__id);
1305
+ delete this.pendingTradeSubscription[msg.__id];
1306
+
1307
+ console.log(msg);
1308
+ if (msg.code != 200 && !tradeSub.failed) {
1309
+ tradeSub.failed = true;
1310
+ var event = events.error("Error subscribing", {
1311
+ code: msg.code,
1312
+ reason: msg.reason
1313
+ });
1314
+ this.events.fire("error", event);
1315
+ if (callback) {
1316
+ tradeSub.callback(event);
1317
+ }
1318
+ return;
1319
+ }
1320
+
1321
+ var result = tradeSub.result;
1322
+
1323
+ if (msg.operation) {
1324
+ this.log.debug('Trade ' + msg.operation);
1325
+ result.operation = msg.operation;
1326
+ }
1327
+
1328
+ if (tradeSub.id.length === 0) {
1329
+ if (callback) {
1330
+ callback(null, tradeSub.result);
1331
+ }
1332
+ }
1333
+ };
1334
+
1335
+ Stream.prototype.onNewsUnsubscribeResponse = function onNewsUnsubscribeResponse(msg) {
1336
+ var newsUnsub = this.pendingNewsUnsubscriptions[msg.__id];
1337
+ var callback = newsUnsub.callback;
1338
+
1339
+ (0, _utils.removeFromArray)(newsUnsub.id, msg.__id);
1340
+ delete this.pendingNewsUnsubscriptions[msg.__id];
1341
+
1342
+ console.log("msg", msg);
1343
+ var result = newsUnsub.result;
1344
+
1345
+ if (msg.code != 200 && !newsUnsub.failed) {
1346
+ newsUnsub.failed = true;
1347
+ var event = events.error("Error unsubscribing to news", {
1348
+ code: msg.code,
1349
+ reason: msg.reason
1350
+ });
1351
+ this.events.fire("error", event);
1352
+ if (callback) {
1353
+ newsUnsub.callback(event);
1354
+ }
1355
+ return;
1356
+ }
881
1357
 
882
- var _ref3;
1358
+ if (msg.newsFilters) {
1359
+ for (var _iterator7 = msg.newsFilters, _isArray7 = Array.isArray(_iterator7), _i7 = 0, _iterator7 = _isArray7 ? _iterator7 : _iterator7[Symbol.iterator]();;) {
1360
+ var _ref7;
883
1361
 
884
- if (_isArray3) {
885
- if (_i3 >= _iterator3.length) break;
886
- _ref3 = _iterator3[_i3++];
1362
+ if (_isArray7) {
1363
+ if (_i7 >= _iterator7.length) break;
1364
+ _ref7 = _iterator7[_i7++];
887
1365
  } else {
888
- _i3 = _iterator3.next();
889
- if (_i3.done) break;
890
- _ref3 = _i3.value;
1366
+ _i7 = _iterator7.next();
1367
+ if (_i7.done) break;
1368
+ _ref7 = _i7.value;
891
1369
  }
892
1370
 
893
- var _symbol2 = _ref3;
1371
+ var newsFilter = _ref7;
894
1372
 
895
- this.log.warn('INVALID SYMBOL ' + _symbol2);
896
- (_result$invalidSymbol = result.invalidSymbols).push.apply(_result$invalidSymbol, msg.invalidSymbols);
1373
+ result.unsubscribed.push(newsFilter);
897
1374
  }
898
1375
  }
899
1376
 
900
- if (subscription.ids.length === 0 && !subscription.failed) {
1377
+ if (newsUnsub.id.length === 0) {
901
1378
  if (callback) {
902
- callback(null, subscription.result);
1379
+ callback(null, newsUnsub.result);
903
1380
  }
904
1381
  }
905
1382
  };
906
1383
 
907
- Stream.prototype.onExchangeSubscribeResponse = function onExchangeSubscribeResponse(msg) {
908
- var exchangeSub = this.pendingExchangeSubscriptions[msg.__id];
909
- var callback = exchangeSub.callback;
1384
+ Stream.prototype.onNewsCmdFilterRefreshResponse = function onNewsCmdFilterRefreshResponse(msg) {
1385
+ console.log("msg", msg);
1386
+ if (msg.code != 200) {
1387
+ var event = events.error("Error Refreshing News Filters", {
1388
+ code: msg.code,
1389
+ reason: msg.reason
1390
+ });
1391
+ this.events.fire("error", event);
1392
+ return;
1393
+ }
910
1394
 
911
- (0, _utils.removeFromArray)(exchangeSub.id, msg.__id);
912
- delete this.pendingExchangeSubscriptions[msg.__id];
1395
+ this.events.fire("msg", msg);
1396
+ };
913
1397
 
914
- console.log(msg);
1398
+ Stream.prototype.onNewsCmdFilterResponse = function onNewsCmdFilterResponse(msg) {
1399
+ console.log("msg", msg);
915
1400
  if (msg.code != 200) {
916
- var event = events.error("Error subscribing", {
1401
+ var event = events.error("Error Getting News Filters Status", {
917
1402
  code: msg.code,
918
1403
  reason: msg.reason
919
1404
  });
920
1405
  this.events.fire("error", event);
921
- if (callback) {
922
- exchangeSub.callback(event);
923
- }
924
1406
  return;
925
1407
  }
926
- if (exchangeSub.id.length === 0) {
927
- if (callback) {
928
- callback(null, exchangeSub);
929
- }
930
- }
1408
+
1409
+ this.events.fire("filter status", msg);
931
1410
  };
932
1411
 
933
1412
  Stream.prototype.onUnsubscribeResponse = function onUnsubscribeResponse(msg) {
@@ -1574,7 +2053,7 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol
1574
2053
  attachHeadersAsQueryString: true,
1575
2054
  executeCallbackBeforeReconnect: false,
1576
2055
  readyState: 0,
1577
- withCredentials: false,
2056
+ withCredentials: true,
1578
2057
  trackMessageLength: false,
1579
2058
  messageDelimiter: '|',
1580
2059
  connectTimeout: -1,
@@ -5023,8 +5502,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
5023
5502
 
5024
5503
  var AUTHSERVICEURLS = {
5025
5504
  "ping": "/g/ping",
5026
- "authenticate_get": "/g/authenticate/v0",
5027
- "authenticate_post": "/p/authenticate/v0/legacy=false"
5505
+ "authenticate_post": "/p/authenticate/v0/?legacy=false"
5028
5506
  };
5029
5507
 
5030
5508
  var EnduserAuthService = function () {
@@ -5043,15 +5521,11 @@ var EnduserAuthService = function () {
5043
5521
  this.http = http;
5044
5522
  this.host = config.host || "app.quotemedia.com";
5045
5523
  this.credentials = credentials;
5046
- this.method = config.method || "GET";
5524
+ this.method = "POST";
5047
5525
  }
5048
5526
 
5049
5527
  EnduserAuthService.prototype.login = function login(callback) {
5050
- if ('POST' == this.method) {
5051
- this.login_POST(callback);
5052
- } else {
5053
- this.login_GET(callback);
5054
- }
5528
+ this.login_POST(callback);
5055
5529
  };
5056
5530
 
5057
5531
  EnduserAuthService.prototype.login_POST = function login_POST(callback) {
@@ -5066,18 +5540,7 @@ var EnduserAuthService = function () {
5066
5540
  type: 'POST',
5067
5541
  contentType: 'application/json',
5068
5542
  data: JSON.stringify(req),
5069
- success: this.handleSuccess(callback),
5070
- failure: this.handleFailure(callback)
5071
- });
5072
- };
5073
-
5074
- EnduserAuthService.prototype.login_GET = function login_GET(callback) {
5075
- var url = this.host + AUTHSERVICEURLS.authenticate_get;
5076
- url += '/' + this.credentials.wmid + '/' + this.credentials.username + '/' + this.credentials.password + '/';
5077
- this.http({
5078
- url: url,
5079
5543
  dataType: "json",
5080
- timeout: 5000,
5081
5544
  success: this.handleSuccess(callback),
5082
5545
  failure: this.handleFailure(callback)
5083
5546
  });
@@ -5156,6 +5619,15 @@ fmt.Formatter = function () {
5156
5619
  this.formatters[_streamerApi.messages.MessageTypeNames.ctrl.EXCHANGE_SUBSCRIBE] = this._fmtexchangesubscribe;
5157
5620
  this.formatters[_streamerApi.messages.MessageTypeNames.ctrl.EXCHANGE_RESPONSE] = this._fmtexchangesubscriberesponse;
5158
5621
  this.formatters[_streamerApi.messages.MessageTypeNames.ctrl.EXCHANGE_UNSUBSCRIBE_RESPONSE] = this._fmtexchangeunsubscriberesponse;
5622
+ this.formatters[_streamerApi.messages.MessageTypeNames.ctrl.ALERTS_SUBUNSUB] = this._fmtalertsubunsub;
5623
+ this.formatters[_streamerApi.messages.MessageTypeNames.ctrl.ALERTS_SUBUNSUB_RESPONSE] = this._fmtalertsubunsubresponse;
5624
+ this.formatters[_streamerApi.messages.MessageTypeNames.ctrl.NEWS_SUBSCRIBE] = this._fmtnewssubscribe;
5625
+ this.formatters[_streamerApi.messages.MessageTypeNames.ctrl.NEWS_SUBSCRIBE_RESPONSE] = this._fmtnewssubscriberesponse;
5626
+ this.formatters[_streamerApi.messages.MessageTypeNames.ctrl.TRADE_SUBSCRIBE] = this._fmttradesubscribe;
5627
+ this.formatters[_streamerApi.messages.MessageTypeNames.ctrl.TRADE_SUBSCRIBE_RESPONSE] = this._fmttradesubscriberesponse;
5628
+ this.formatters[_streamerApi.messages.MessageTypeNames.ctrl.NEWS_UNSUBSCRIBE_RESPONSE] = this._fmtnewsunsubscriberesponse;
5629
+ this.formatters[_streamerApi.messages.MessageTypeNames.ctrl.NEWS_CMD_FILTER_REFRESH_RESPONSE] = this._fmtnewscmdfilterrefreshresponse;
5630
+ this.formatters[_streamerApi.messages.MessageTypeNames.ctrl.NEWS_CMD_FILTER_RESPONSE] = this._fmtnewscmdfilterresponse;
5159
5631
 
5160
5632
  //
5161
5633
  this.formatters[_streamerApi.messages.MessageTypeNames.data.QUOTE] = this._fmtquote;
@@ -5175,6 +5647,9 @@ fmt.Formatter = function () {
5175
5647
  this.formatters[_streamerApi.messages.MessageTypeNames.data.IVGREEKS] = this._fmtivgreeks;
5176
5648
  this.formatters[_streamerApi.messages.MessageTypeNames.data.IMBALANCESTATUS] = this._fmtimbalancestatus;
5177
5649
  this.formatters[_streamerApi.messages.MessageTypeNames.data.ALERT] = this._fmtalert;
5650
+ this.formatters[_streamerApi.messages.MessageTypeNames.data.NEWS] = this._fmtnews;
5651
+ this.formatters[_streamerApi.messages.MessageTypeNames.data.TRADENOTIFICATION] = this._fmttradeNotification;
5652
+ this.formatters[_streamerApi.messages.MessageTypeNames.data.NEWSCMDFILTER] = this._fmtnewscmdfilter;
5178
5653
  };
5179
5654
 
5180
5655
  fmt.Formatter._UNKOWNTYPE = '__UNKNOWN__';
@@ -5553,6 +6028,8 @@ fmt.Formatter.prototype._fmtbookorder = function (val) {
5553
6028
  s.sep();
5554
6029
  s.append(val.locateCode);
5555
6030
  s.sep();
6031
+ s.append(val.excode);
6032
+ s.sep();
5556
6033
  s.append(val.orderID);
5557
6034
  s.sep();
5558
6035
  s.append(val.orderReference);
@@ -5621,6 +6098,8 @@ fmt.Formatter.prototype._fmtsymbolinfo = function (val) {
5621
6098
  s.append(val.pqe);
5622
6099
  s.sep();
5623
6100
  s.append(val.caveatEmptor);
6101
+ s.sep();
6102
+ s.append(val.boardLotSize);
5624
6103
  return s.toString();
5625
6104
  };
5626
6105
 
@@ -5691,6 +6170,97 @@ fmt.Formatter.prototype._fmtalert = function (val) {
5691
6170
  return s.toString();
5692
6171
  };
5693
6172
 
6173
+ fmt.Formatter.prototype._fmtnews = function (val) {
6174
+ var s = new fmt.StringBuilder();
6175
+ s.append('N');
6176
+ s.sep();
6177
+ s.append(val.storyId);
6178
+ s.sep();
6179
+ s.datetime(val.timestamp);
6180
+ s.sep();
6181
+ s.append(val.storyUrl);
6182
+ s.sep();
6183
+ s.append(val.epochtime);
6184
+ s.sep();
6185
+ s.append(val.headline);
6186
+ s.sep();
6187
+ s.append(val.source);
6188
+ s.sep();
6189
+ s.append(val.sourceId);
6190
+ s.sep();
6191
+ s.append(val.lang);
6192
+ s.sep();
6193
+ s.append(val.symbol);
6194
+ s.sep();
6195
+ s.append(val.excode);
6196
+ s.sep();
6197
+ s.append(val.exgroup);
6198
+ s.sep();
6199
+ s.append(val.topic);
6200
+ s.sep();
6201
+ s.append(val.thumbnailUrl);
6202
+ s.sep();
6203
+ s.append(val.newsUrl);
6204
+ s.sep();
6205
+ s.append(val.videoUrl);
6206
+ s.sep();
6207
+ s.append(val.videoImageUrl);
6208
+
6209
+ return s.toString();
6210
+ };
6211
+
6212
+ fmt.Formatter.prototype._fmttradeNotification = function (val) {
6213
+ var s = new fmt.StringBuilder();
6214
+ s.append("TN");
6215
+ s.sep();
6216
+ s.append(val.accountId);
6217
+ s.sep();
6218
+ s.append(val.enduserId);
6219
+ s.sep();
6220
+ s.append(val.message);
6221
+ s.sep();
6222
+ s.append(val.eventType);
6223
+
6224
+ return s.toString();
6225
+ };
6226
+
6227
+ fmt.Formatter.prototype._fmtnewscmdfilter = function (val) {
6228
+ var s = new fmt.StringBuilder();
6229
+ s.append("NEWS CMD_FILTER");
6230
+ s.sep();
6231
+ s.append(val.srcName + ": [");
6232
+ s.append(val.srcValue);
6233
+ s.append("]");
6234
+ s.sep();
6235
+ s.append(val.topicName + ": [");
6236
+ s.append(val.topicValue);
6237
+ s.append("]");
6238
+ s.sep();
6239
+ s.append(val.symbolName + ": [");
6240
+ s.append(val.symbolValue);
6241
+ s.append("]");
6242
+ s.sep();
6243
+ s.append(val.excodeName + ": ");
6244
+ s.append(val.excodeValue);
6245
+ s.sep();
6246
+ s.append(val.exgroupName + ": ");
6247
+ s.append(val.exgroupValue);
6248
+ s.sep();
6249
+ s.append(val.summaryName + ": ");
6250
+ s.append(val.summaryValue);
6251
+ s.sep();
6252
+ s.append(val.summlenName + ": ");
6253
+ s.append(val.summlenValue);
6254
+ s.sep();
6255
+ s.append(val.constituentName + ": ");
6256
+ s.append(val.constituentValue);
6257
+ s.sep();
6258
+ s.append(val.searchByExchangeName + ": ");
6259
+ s.append(val.searchByExchangeValue);
6260
+
6261
+ return s.toString();
6262
+ };
6263
+
5694
6264
  fmt.Formatter.prototype._fmtheartbeat = function (val) {
5695
6265
  var s = new fmt.StringBuilder();
5696
6266
  s.append("HEARBEAT");
@@ -5713,6 +6283,27 @@ fmt.Formatter.prototype._fmtexchangesubscribe = function (val) {
5713
6283
  return s.toString();
5714
6284
  };
5715
6285
 
6286
+ fmt.Formatter.prototype._fmtalertsubunsub = function (val) {
6287
+ var s = new fmt.StringBuilder();
6288
+ s.append('ALERT');
6289
+ // TODO
6290
+ return s.toString();
6291
+ };
6292
+
6293
+ fmt.Formatter.prototype._fmttradesubscribe = function (val) {
6294
+ var s = new fmt.StringBuilder();
6295
+ s.append('TRADE');
6296
+ // TODO
6297
+ return s.toString();
6298
+ };
6299
+
6300
+ fmt.Formatter.prototype._fmtnewssubscribe = function (val) {
6301
+ var s = new fmt.StringBuilder();
6302
+ s.append('NEWS SUBSCRIBE');
6303
+ // TODO
6304
+ return s.toString();
6305
+ };
6306
+
5716
6307
  fmt.Formatter.prototype._fmtstats = function (val) {
5717
6308
  var s = new fmt.StringBuilder();
5718
6309
  s.append('STATS');
@@ -5737,6 +6328,56 @@ fmt.Formatter.prototype._fmtexchangesubscriberesponse = function (val) {
5737
6328
  return s.toString();
5738
6329
  };
5739
6330
 
6331
+ fmt.Formatter.prototype._fmtalertsubunsubresponse = function (val) {
6332
+ var s = new fmt.StringBuilder();
6333
+ s.append('ALERT SUBSCRIBED');
6334
+ // TODO
6335
+ return s.toString();
6336
+ };
6337
+
6338
+ fmt.Formatter.prototype._fmttradesubscriberesponse = function (val) {
6339
+ var s = new fmt.StringBuilder();
6340
+ s.append('TRADE SUBSCRIBED');
6341
+ // TODO
6342
+ return s.toString();
6343
+ };
6344
+
6345
+ fmt.Formatter.prototype._fmtnewssubscriberesponse = function (val) {
6346
+ var s = new fmt.StringBuilder();
6347
+ s.append('NEWS SUBSCRIBED');
6348
+ s.sep();
6349
+ this.__baseresponse(val, s);
6350
+ // TODO
6351
+ return s.toString();
6352
+ };
6353
+
6354
+ fmt.Formatter.prototype._fmtnewsunsubscriberesponse = function (val) {
6355
+ var s = new fmt.StringBuilder();
6356
+ s.append('NEWS UNSUBSCRIBED');
6357
+ s.sep();
6358
+ this.__baseresponse(val, s);
6359
+ // TODO
6360
+ return s.toString();
6361
+ };
6362
+
6363
+ fmt.Formatter.prototype._fmtnewscmdfilterrefreshresponse = function (val) {
6364
+ var s = new fmt.StringBuilder();
6365
+ s.append('NEWS COMMAND FILTER REFRESH');
6366
+ s.sep();
6367
+ this.__baseresponse(val, s);
6368
+ // TODO
6369
+ return s.toString();
6370
+ };
6371
+
6372
+ fmt.Formatter.prototype._fmtnewscmdfilterresponse = function (val) {
6373
+ var s = new fmt.StringBuilder();
6374
+ s.append('NEWS COMMAND FILTER');
6375
+ s.sep();
6376
+ this.__baseresponse(val, s);
6377
+ // TODO
6378
+ return s.toString();
6379
+ };
6380
+
5740
6381
  fmt.Formatter.prototype._fmtunsubscriberesponse = function (val) {
5741
6382
  var s = new fmt.StringBuilder();
5742
6383
  s.append('UN-SUBSCRIBED');
@@ -5954,8 +6595,8 @@ function http(opts) {
5954
6595
  var url = opts.url;
5955
6596
  var success = opts.success || function () {};
5956
6597
  var failure = opts.failure || function () {};
5957
- var type = opts.type || "GET";
5958
- var applicationType = opts.applicationType;
6598
+ var type = opts.type || "POST";
6599
+ var contentType = opts.contentType;
5959
6600
  var data = opts.data;
5960
6601
  var timeout = opts.timeout;
5961
6602
 
@@ -5971,10 +6612,10 @@ function http(opts) {
5971
6612
  }
5972
6613
  }
5973
6614
  };
5974
- if (applicationType) {
5975
- xhr.setRequestHeader("Content-Type", applicationType);
5976
- }
5977
6615
  xhr.open(type, url, true);
6616
+ if (contentType) {
6617
+ xhr.setRequestHeader("Content-Type", contentType);
6618
+ }
5978
6619
  if (timeout) {
5979
6620
  xhr.timeout = timeout;
5980
6621
  }
@@ -9009,6 +9650,7 @@ var BookOrderDecoder = function () {
9009
9650
  out.display = def.BookOrderFlags.isDisplay(flags);
9010
9651
  out.orderChangeType = _Qitch2["default"].bookOrderChangeType(src, offset + def.CHANGE_TYPE_OFFSET);
9011
9652
  out.orderReference = _Qitch2["default"].orderreference(src, offset + def.ORDER_REFERENCE_OFFSET);
9653
+ out.excode = _Qitch2["default"].excode(src, offset + def.EXCODE_OFFSET);
9012
9654
  return out;
9013
9655
  };
9014
9656
 
@@ -9707,6 +10349,7 @@ var SymbolInfoDecoder = function () {
9707
10349
  resultingMessage.regSHOStatus = _Qitch2["default"].asciichar(src, offset + def.REGSHOSTATUS_OFFSET);
9708
10350
  resultingMessage.pqe = _Qitch2["default"].sbyte(src, offset + def.PQE_OFFSET) > 0;
9709
10351
  resultingMessage.caveatEmptor = _Qitch2["default"].sbyte(src, offset + def.CAVEATEMPTOR_OFFSET) > 0;
10352
+ resultingMessage.boardLotSize = _Qitch2["default"].int32(src, offset + def.BOARDLOTSIZE_OFFSET);
9710
10353
 
9711
10354
  return resultingMessage;
9712
10355
  };
@@ -10109,7 +10752,7 @@ var LENGTH = exports.LENGTH = ORDER_REFERENCE_OFFSET + _QitchConstants.ORDER_REF
10109
10752
  "use strict";
10110
10753
 
10111
10754
  exports.__esModule = true;
10112
- exports.BookOrderFlags = exports.LENGTH = exports.ORDER_REFERENCE_OFFSET = exports.CHANGE_TYPE_OFFSET = exports.FLAGS_OFFSET = exports.LASTUPDATE_OFFSET = exports.SIZE_OFFSET = exports.PRICE_OFFSET = exports.SIDE_OFFSET = exports.ORDERID_OFFSET = exports.MMID_OFFSET = exports.SYMBOL_OFFSET = exports.TIMESTAMP_OFFSET = exports.TYPEID = undefined;
10755
+ exports.BookOrderFlags = exports.LENGTH = exports.EXCODE_OFFSET = exports.ORDER_REFERENCE_OFFSET = exports.CHANGE_TYPE_OFFSET = exports.FLAGS_OFFSET = exports.LASTUPDATE_OFFSET = exports.SIZE_OFFSET = exports.PRICE_OFFSET = exports.SIDE_OFFSET = exports.ORDERID_OFFSET = exports.MMID_OFFSET = exports.SYMBOL_OFFSET = exports.TIMESTAMP_OFFSET = exports.TYPEID = undefined;
10113
10756
 
10114
10757
  var _QitchConstants = require("../QitchConstants");
10115
10758
 
@@ -10128,7 +10771,8 @@ var LASTUPDATE_OFFSET = exports.LASTUPDATE_OFFSET = SIZE_OFFSET + _QitchConstant
10128
10771
  var FLAGS_OFFSET = exports.FLAGS_OFFSET = LASTUPDATE_OFFSET + _QitchConstants.TIMESTAMP_LENGTH;
10129
10772
  var CHANGE_TYPE_OFFSET = exports.CHANGE_TYPE_OFFSET = FLAGS_OFFSET + _QitchConstants.INT_LENGTH;
10130
10773
  var ORDER_REFERENCE_OFFSET = exports.ORDER_REFERENCE_OFFSET = CHANGE_TYPE_OFFSET + _QitchConstants.ASCIICHAR_LENGTH;
10131
- var LENGTH = exports.LENGTH = ORDER_REFERENCE_OFFSET + _QitchConstants.ORDER_REFERENCE_LENGTH;
10774
+ var EXCODE_OFFSET = exports.EXCODE_OFFSET = ORDER_REFERENCE_OFFSET + _QitchConstants.ORDER_REFERENCE_LENGTH;
10775
+ var LENGTH = exports.LENGTH = EXCODE_OFFSET + _QitchConstants.EXCODE_LENGTH;
10132
10776
 
10133
10777
  var BookOrderFlags = exports.BookOrderFlags = function () {
10134
10778
  function BookOrderFlags() {
@@ -10546,7 +11190,7 @@ var LENGTH = exports.LENGTH = DECIMALBIDSIZE_OFFSET + _QitchConstants.DOUBLE_LEN
10546
11190
  "use strict";
10547
11191
 
10548
11192
  exports.__esModule = true;
10549
- exports.LENGTH = exports.CAVEATEMPTOR_OFFSET = exports.PQE_OFFSET = exports.REGSHOSTATUS_OFFSET = exports.HALTINDICATOR_OFFSET = exports.HALTSTATUS_OFFSET = exports.CURRENCYID_OFFSET = exports.INSTRUMENTTYPE_OFFSET = exports.EXCODE_OFFSET = exports.LOCATECODE_OFFSET = exports.SYMBOL_OFFSET = exports.TYPEID = undefined;
11193
+ exports.LENGTH = exports.BOARDLOTSIZE_OFFSET = exports.CAVEATEMPTOR_OFFSET = exports.PQE_OFFSET = exports.REGSHOSTATUS_OFFSET = exports.HALTINDICATOR_OFFSET = exports.HALTSTATUS_OFFSET = exports.CURRENCYID_OFFSET = exports.INSTRUMENTTYPE_OFFSET = exports.EXCODE_OFFSET = exports.LOCATECODE_OFFSET = exports.SYMBOL_OFFSET = exports.TYPEID = undefined;
10550
11194
 
10551
11195
  var _QitchConstants = require("../QitchConstants");
10552
11196
 
@@ -10562,7 +11206,8 @@ var HALTINDICATOR_OFFSET = exports.HALTINDICATOR_OFFSET = HALTSTATUS_OFFSET + _Q
10562
11206
  var REGSHOSTATUS_OFFSET = exports.REGSHOSTATUS_OFFSET = HALTINDICATOR_OFFSET + _QitchConstants.BYTE_LENGTH;
10563
11207
  var PQE_OFFSET = exports.PQE_OFFSET = REGSHOSTATUS_OFFSET + _QitchConstants.ASCIICHAR_LENGTH;
10564
11208
  var CAVEATEMPTOR_OFFSET = exports.CAVEATEMPTOR_OFFSET = PQE_OFFSET + _QitchConstants.BYTE_LENGTH;
10565
- var LENGTH = exports.LENGTH = CAVEATEMPTOR_OFFSET + _QitchConstants.BYTE_LENGTH;
11209
+ var BOARDLOTSIZE_OFFSET = exports.BOARDLOTSIZE_OFFSET = CAVEATEMPTOR_OFFSET + _QitchConstants.BYTE_LENGTH;
11210
+ var LENGTH = exports.LENGTH = BOARDLOTSIZE_OFFSET + _QitchConstants.INT_LENGTH;
10566
11211
  }).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/marketDataDefinition/SymbolInfoDef.js","/lib/qitch/marketDataDefinition")
10567
11212
  },{"../QitchConstants":26,"_process":114,"buffer":104,"timers":135}],85:[function(require,module,exports){
10568
11213
  (function (process,global,Buffer,__argument0,__argument1,__argument2,__argument3,setImmediate,clearImmediate,__filename,__dirname){
@@ -10975,7 +11620,7 @@ exports.__esModule = true;
10975
11620
  */
10976
11621
 
10977
11622
  var LIBRARY_NAME = exports.LIBRARY_NAME = "JavaScript";
10978
- var VERSION = exports.VERSION = "2.21.0";
11623
+ var VERSION = exports.VERSION = "2.25.0";
10979
11624
 
10980
11625
  /**
10981
11626
  * Streamer message api namespace.
@@ -11027,7 +11672,17 @@ messages.MessageTypeNames = {
11027
11672
  STATS_RESPONSE: 'C13',
11028
11673
  EXCHANGE_SUBSCRIBE: 'C14',
11029
11674
  EXCHANGE_RESPONSE: 'C15',
11030
- EXCHANGE_UNSUBSCRIBE_RESPONSE: 'C16'
11675
+ EXCHANGE_UNSUBSCRIBE_RESPONSE: 'C16',
11676
+ NEWS_SUBSCRIBE: 'C17',
11677
+ NEWS_SUBSCRIBE_RESPONSE: 'C18',
11678
+ ALERTS_SUBUNSUB: 'C19',
11679
+ ALERTS_SUBUNSUB_RESPONSE: 'C20',
11680
+ TRADE_SUBSCRIBE: 'C21',
11681
+ TRADE_SUBSCRIBE_RESPONSE: 'C22',
11682
+ NEWS_UNSUBSCRIBE_RESPONSE: 'C23',
11683
+ NEWS_COMMAND: 'C24',
11684
+ NEWS_CMD_FILTER_REFRESH_RESPONSE: 'C25',
11685
+ NEWS_CMD_FILTER_RESPONSE: 'C26'
11031
11686
  },
11032
11687
  /**
11033
11688
  * Name space for data message type identifiers.<br>
@@ -11051,7 +11706,10 @@ messages.MessageTypeNames = {
11051
11706
  LIMITUPLIMITDOWN: 'D14',
11052
11707
  IVGREEKS: 'D15',
11053
11708
  IMBALANCESTATUS: 'D16',
11054
- ALERT: 'D17'
11709
+ ALERT: 'D17',
11710
+ NEWS: 'D18',
11711
+ TRADENOTIFICATION: 'D19',
11712
+ NEWSCMDFILTER: 'D20'
11055
11713
  }
11056
11714
  };
11057
11715
 
@@ -11177,6 +11835,103 @@ messages.control.ExchangeSubscribeMessage = function () {
11177
11835
  };
11178
11836
  messages.control.ExchangeSubscribeMessage.prototype = new messages.control.CtrlMessage();
11179
11837
 
11838
+ /**
11839
+ * Creates an news subscribe message.
11840
+ * @constructor
11841
+ */
11842
+ messages.control.NewsSubscribeMessage = function () {
11843
+ this.init(messages.MessageTypeNames.ctrl.NEWS_SUBSCRIBE);
11844
+
11845
+ /**
11846
+ * The action the server will taken when receiving this message.
11847
+ * @type {string}
11848
+ * @see exports.messages.control.Action
11849
+ */
11850
+ this.action = null;
11851
+
11852
+ /**
11853
+ * The news filters to subscribe for.
11854
+ * @type {Array.<string>}
11855
+ */
11856
+ this.newsFilters = null;
11857
+
11858
+ /**
11859
+ * Requested message mime-type format.
11860
+ * @type {string}
11861
+ * @see exports.messages.MimeTypes
11862
+ */
11863
+ this.mimetype = null;
11864
+ };
11865
+ messages.control.NewsSubscribeMessage.prototype = new messages.control.CtrlMessage();
11866
+
11867
+ /**
11868
+ * Creates an news reset message.
11869
+ * @constructor
11870
+ */
11871
+ messages.control.NewsCommandMessage = function () {
11872
+ this.init(messages.MessageTypeNames.ctrl.NEWS_COMMAND);
11873
+
11874
+ /**
11875
+ * The action the server will taken when receiving this message.
11876
+ * @type {string}
11877
+ * @see exports.messages.control.Action
11878
+ */
11879
+ this.newsAction = null;
11880
+
11881
+ /**
11882
+ * Requested message mime-type format.
11883
+ * @type {string}
11884
+ * @see exports.messages.MimeTypes
11885
+ */
11886
+ this.mimetype = null;
11887
+ };
11888
+ messages.control.NewsCommandMessage.prototype = new messages.control.CtrlMessage();
11889
+
11890
+ /**
11891
+ * Creates an news subscribe message.
11892
+ * @constructor
11893
+ */
11894
+ messages.control.AlertsSubUnsubMessage = function () {
11895
+ this.init(messages.MessageTypeNames.ctrl.ALERTS_SUBUNSUB);
11896
+
11897
+ /**
11898
+ * sub/unsub for alerts.
11899
+ * @type {string}
11900
+ */
11901
+ this.operation = null;
11902
+
11903
+ /**
11904
+ * Requested message mime-type format.
11905
+ * @type {string}
11906
+ * @see exports.messages.MimeTypes
11907
+ */
11908
+ this.mimetype = null;
11909
+ };
11910
+ messages.control.AlertsSubUnsubMessage.prototype = new messages.control.CtrlMessage();
11911
+
11912
+ /**
11913
+ * Creates Trade notification subscribe message.
11914
+ * @constructor
11915
+ */
11916
+
11917
+ messages.control.TradeSubscribeMessage = function () {
11918
+ this.init(messages.MessageTypeNames.ctrl.TRADE_SUBSCRIBE);
11919
+
11920
+ /**
11921
+ * The subscribe/un-subscribe for trade notifications.
11922
+ * @type {Array.<string>}
11923
+ */
11924
+ this.operation = null;
11925
+
11926
+ /**
11927
+ * Requested message mime-type format.
11928
+ * @type {string}
11929
+ * @see exports.messages.MimeTypes
11930
+ */
11931
+ this.mimetype = null;
11932
+ };
11933
+ messages.control.TradeSubscribeMessage.prototype = new messages.control.CtrlMessage();
11934
+
11180
11935
  /**
11181
11936
  * Base class for response exports.
11182
11937
  * @abstract
@@ -11235,6 +11990,16 @@ messages.control.ExchangeSubscribeResponse = function () {
11235
11990
 
11236
11991
  messages.control.ExchangeSubscribeResponse.prototype = new messages.control.BaseResponse();
11237
11992
 
11993
+ /**
11994
+ * Creates Trade notification subscribe response message.
11995
+ * @constructor
11996
+ */
11997
+ messages.control.TradeSubscribeResponse = function () {
11998
+ this.init(messages.MessageTypeNames.ctrl.TRADE_SUBSCRIBE_RESPONSE);
11999
+ };
12000
+
12001
+ messages.control.TradeSubscribeResponse.prototype = new messages.control.BaseResponse();
12002
+
11238
12003
  /**
11239
12004
  * Creates an un-subscribe response message.
11240
12005
  * @constructor
@@ -11260,6 +12025,21 @@ messages.control.ExchangeUnsubscribeResponse = function () {
11260
12025
 
11261
12026
  messages.control.ExchangeUnsubscribeResponse.prototype = new messages.control.BaseResponse();
11262
12027
 
12028
+ /**
12029
+ * Creates an news un-subscribe response message.
12030
+ * @constructor
12031
+ */
12032
+ messages.control.NewsUnsubscribeResponse = function () {
12033
+ this.init(messages.MessageTypeNames.ctrl.NEWS_UNSUBSCRIBE_RESPONSE);
12034
+
12035
+ /**
12036
+ *
12037
+ * @type {Array.<messages.control.StreamEntitlement>}
12038
+ */
12039
+ this.unsubscribed = null;
12040
+ };
12041
+ messages.control.NewsUnsubscribeResponse.prototype = new messages.control.BaseResponse();
12042
+
11263
12043
  /**
11264
12044
  * Creates a stream entitlement info.
11265
12045
  * @constructor
@@ -11421,6 +12201,11 @@ messages.control.StatsResponse = function () {
11421
12201
  * @type {number}
11422
12202
  */
11423
12203
  this.numberOfSubscribedExchanges = null;
12204
+ /**
12205
+ *
12206
+ * @type {number}
12207
+ */
12208
+ this.numberOfSubscribedTrades = null;
11424
12209
  };
11425
12210
  messages.control.StatsResponse.prototype = new messages.control.BaseResponse();
11426
12211
 
@@ -11482,6 +12267,17 @@ messages.control.Action = {
11482
12267
  UNSUBSCRIBE: "UNSUBSCRIBE"
11483
12268
  };
11484
12269
 
12270
+ /**
12271
+ * Enumeration for associations.
12272
+ * @enum
12273
+ * @readonly
12274
+ */
12275
+ messages.control.Association = {
12276
+ AND: "AND",
12277
+ OR: "OR",
12278
+ NOT: "NOT"
12279
+ };
12280
+
11485
12281
  /**
11486
12282
  * Enumeration for streaming message types.
11487
12283
  * @enum