@quotemedia.com/streamer 2.46.0 → 2.49.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.
@@ -568,6 +568,7 @@ var Stream = function () {
568
568
  this.pendingAlertSubscription = {};
569
569
  this.pendingTradeSubscription = {};
570
570
  this.pendingTradeUnsubscription = {};
571
+ this.pendingCorpEventSubscription = {};
571
572
 
572
573
  this.on("error", function (err) {
573
574
  _this.log.warn(err);
@@ -587,7 +588,7 @@ var Stream = function () {
587
588
 
588
589
  Stream.prototype.reconnectSuccess = function reconnectSuccess(msg) {
589
590
  this.events.fire("reconnectSuccess", msg);
590
- this.log.info("Successfull reconnection. Previous Id: " + msg.previousConnectionId + " Current Id = " + msg.currentConnectionId);
591
+ this.log.info("Successful reconnection. Previous Id: " + msg.previousConnectionId + " Current Id = " + msg.currentConnectionId);
591
592
  };
592
593
 
593
594
  Stream.prototype.on = function on(event, listener) {
@@ -739,6 +740,55 @@ var Stream = function () {
739
740
  this.send(request);
740
741
  };
741
742
 
743
+ Stream.prototype.subscribeCorpEvents = function subscribeCorpEvents(symbols, corpEventTypes, allCorpEvents, optsOrCallback, callbackOrNothing) {
744
+ if (symbols) {
745
+ symbols = (Array.isArray(symbols) ? symbols : [symbols]).map(function (s) {
746
+ return s.toUpperCase();
747
+ });
748
+ }
749
+ corpEventTypes = Array.isArray(corpEventTypes) ? corpEventTypes : [corpEventTypes].map(function (s) {
750
+ return s.toUpperCase();
751
+ });
752
+
753
+ var opts = optsOrCallback && typeof optsOrCallback !== "function" ? optsOrCallback : null;
754
+ var callback = callbackOrNothing ? callbackOrNothing : optsOrCallback && typeof optsOrCallback === "function" ? optsOrCallback : null;
755
+
756
+ if (this.isClosed()) {
757
+ var event = events.error("Stream is disconnected", {
758
+ code: -1,
759
+ reason: "Already disconnected"
760
+ });
761
+ this.events.fire("error", event);
762
+ return;
763
+ }
764
+
765
+ var subscribe = {
766
+ id: [],
767
+ symbols: symbols,
768
+ corpEventTypes: corpEventTypes,
769
+ allCorpEvents: allCorpEvents,
770
+ mimeType: this.format,
771
+ callback: callback,
772
+ result: {
773
+ subscribed: [],
774
+ unsubscribed: [],
775
+ invalid: []
776
+ }
777
+ };
778
+
779
+ if (corpEventTypes.length === 0) {
780
+ callback(null, subscribe.result);
781
+ }
782
+
783
+ var request = this.buildCorpEventRequest(symbols, subscribe, _streamerApi.messages.control.Action.SUBSCRIBE);
784
+ var id = this.requestid.next();
785
+ subscribe.id.push(id);
786
+ this.pendingCorpEventSubscription[id] = subscribe;
787
+ request.id = id;
788
+
789
+ this.send(request);
790
+ };
791
+
742
792
  Stream.prototype.subUnsubAlerts = function subUnsubAlerts(operation, optsOrCallback, callbackOrNothing) {
743
793
 
744
794
  var opts = optsOrCallback && typeof optsOrCallback !== "function" ? optsOrCallback : null;
@@ -1007,6 +1057,55 @@ var Stream = function () {
1007
1057
  this.send(request);
1008
1058
  };
1009
1059
 
1060
+ Stream.prototype.unsubscribeCorpEvents = function unsubscribeCorpEvents(symbols, corpEventTypes, allCorpEvents, optsOrCallback, callbackOrNothing) {
1061
+ if (symbols) {
1062
+ symbols = (Array.isArray(symbols) ? symbols : [symbols]).map(function (s) {
1063
+ return s.toUpperCase();
1064
+ });
1065
+ }
1066
+ corpEventTypes = Array.isArray(corpEventTypes) ? corpEventTypes : [corpEventTypes].map(function (s) {
1067
+ return s.toUpperCase();
1068
+ });
1069
+
1070
+ var opts = optsOrCallback && typeof optsOrCallback !== "function" ? optsOrCallback : null;
1071
+ var callback = callbackOrNothing ? callbackOrNothing : optsOrCallback && typeof optsOrCallback === "function" ? optsOrCallback : null;
1072
+
1073
+ if (this.isClosed()) {
1074
+ var event = events.error("Stream is disconnected", {
1075
+ code: -1,
1076
+ reason: "Already disconnected"
1077
+ });
1078
+ this.events.fire("error", event);
1079
+ return;
1080
+ }
1081
+
1082
+ var unsubscribe = {
1083
+ id: [],
1084
+ symbols: symbols,
1085
+ corpEventTypes: corpEventTypes,
1086
+ allCorpEvents: allCorpEvents,
1087
+ mimeType: this.format,
1088
+ callback: callback,
1089
+ result: {
1090
+ subscribed: [],
1091
+ unsubscribed: [],
1092
+ invalid: []
1093
+ }
1094
+ };
1095
+
1096
+ if (corpEventTypes.length === 0) {
1097
+ callback(null, unsubscribe.result);
1098
+ }
1099
+
1100
+ var request = this.buildCorpEventRequest(symbols, unsubscribe, _streamerApi.messages.control.Action.UNSUBSCRIBE);
1101
+ var id = this.requestid.next();
1102
+ unsubscribe.id.push(id);
1103
+ this.pendingCorpEventSubscription[id] = unsubscribe;
1104
+ request.id = id;
1105
+
1106
+ this.send(request);
1107
+ };
1108
+
1010
1109
  Stream.prototype.unsubscribeTrade = function unsubscribeTrade(notificationType, optsOrCallback, callbackOrNothing) {
1011
1110
  var opts = optsOrCallback && typeof optsOrCallback !== "function" ? optsOrCallback : null;
1012
1111
  var callback = callbackOrNothing ? callbackOrNothing : optsOrCallback && typeof optsOrCallback === "function" ? optsOrCallback : null;
@@ -1112,6 +1211,16 @@ var Stream = function () {
1112
1211
  return msg;
1113
1212
  };
1114
1213
 
1214
+ Stream.prototype.buildCorpEventRequest = function buildCorpEventRequest(symbols, sub, action) {
1215
+ var msg = new _streamerApi.messages.control.CorpEventSubscribeMessage();
1216
+ msg.symbols = symbols;
1217
+ msg.action = action;
1218
+ msg.corpEventTypes = sub.corpEventTypes;
1219
+ msg.allCorpEvents = sub.allCorpEvents;
1220
+ msg.mimeType = sub.mimeType;
1221
+ return msg;
1222
+ };
1223
+
1115
1224
  Stream.prototype.buildAlertsSubUnsubRequest = function buildAlertsSubUnsubRequest(opr, subscription) {
1116
1225
  var msg = new _streamerApi.messages.control.AlertsSubUnsubMessage();
1117
1226
  msg.operation = opr;
@@ -1181,6 +1290,9 @@ var Stream = function () {
1181
1290
  case _streamerApi.messages.MessageTypeNames.ctrl.NEWS_CMD_FILTER_RESPONSE:
1182
1291
  this.onNewsCmdFilterResponse(msg);
1183
1292
  break;
1293
+ case _streamerApi.messages.MessageTypeNames.ctrl.CORP_EVENT_RESPONSE:
1294
+ this.onCorpEventResponse(msg);
1295
+ break;
1184
1296
  case _streamerApi.messages.MessageTypeNames.ctrl.TRADE_UNSUBSCRIBE_RESPONSE:
1185
1297
  this.onTradeUnsubscribeResponse(msg);
1186
1298
  break;
@@ -1441,6 +1553,89 @@ var Stream = function () {
1441
1553
  }
1442
1554
  };
1443
1555
 
1556
+ Stream.prototype.onCorpEventResponse = function onCorpEventResponse(msg) {
1557
+ var corpEventSub = this.pendingCorpEventSubscription[msg.__id];
1558
+ var callback = corpEventSub.callback;
1559
+
1560
+ (0, _utils.removeFromArray)(corpEventSub.id, msg.__id);
1561
+ delete this.pendingCorpEventSubscription[msg.__id];
1562
+
1563
+ var result = corpEventSub.result;
1564
+
1565
+ console.log(msg);
1566
+ if (msg.code != 200) {
1567
+ var event = events.error("Error subscribing to Corporate Events", {
1568
+ code: msg.code,
1569
+ reason: msg.reason
1570
+ });
1571
+ this.events.fire("error", event);
1572
+ if (callback) {
1573
+ corpEventSub.callback(event);
1574
+ }
1575
+ return;
1576
+ }
1577
+ if (msg.subscribed) {
1578
+ for (var _iterator8 = msg.subscribed, _isArray8 = Array.isArray(_iterator8), _i8 = 0, _iterator8 = _isArray8 ? _iterator8 : _iterator8[Symbol.iterator]();;) {
1579
+ var _ref8;
1580
+
1581
+ if (_isArray8) {
1582
+ if (_i8 >= _iterator8.length) break;
1583
+ _ref8 = _iterator8[_i8++];
1584
+ } else {
1585
+ _i8 = _iterator8.next();
1586
+ if (_i8.done) break;
1587
+ _ref8 = _i8.value;
1588
+ }
1589
+
1590
+ var subbed = _ref8;
1591
+
1592
+ result.subscribed.push(subbed);
1593
+ }
1594
+ }
1595
+ if (msg.unsubscribed) {
1596
+ for (var _iterator9 = msg.unsubscribed, _isArray9 = Array.isArray(_iterator9), _i9 = 0, _iterator9 = _isArray9 ? _iterator9 : _iterator9[Symbol.iterator]();;) {
1597
+ var _ref9;
1598
+
1599
+ if (_isArray9) {
1600
+ if (_i9 >= _iterator9.length) break;
1601
+ _ref9 = _iterator9[_i9++];
1602
+ } else {
1603
+ _i9 = _iterator9.next();
1604
+ if (_i9.done) break;
1605
+ _ref9 = _i9.value;
1606
+ }
1607
+
1608
+ var unSubbed = _ref9;
1609
+
1610
+ result.unsubscribed.push(unSubbed);
1611
+ }
1612
+ }
1613
+ if (msg.invalid) {
1614
+ for (var _iterator10 = msg.invalid, _isArray10 = Array.isArray(_iterator10), _i10 = 0, _iterator10 = _isArray10 ? _iterator10 : _iterator10[Symbol.iterator]();;) {
1615
+ var _ref10;
1616
+
1617
+ if (_isArray10) {
1618
+ if (_i10 >= _iterator10.length) break;
1619
+ _ref10 = _iterator10[_i10++];
1620
+ } else {
1621
+ _i10 = _iterator10.next();
1622
+ if (_i10.done) break;
1623
+ _ref10 = _i10.value;
1624
+ }
1625
+
1626
+ var invalid = _ref10;
1627
+
1628
+ result.invalid.push(invalid);
1629
+ }
1630
+ }
1631
+
1632
+ if (corpEventSub.id.length === 0) {
1633
+ if (callback) {
1634
+ callback(null, corpEventSub.result);
1635
+ }
1636
+ }
1637
+ };
1638
+
1444
1639
  Stream.prototype.onAlertsSubUnsubResponse = function onAlertsSubUnsubResponse(msg) {
1445
1640
  var alertsSub = this.pendingAlertSubscription[msg.__id];
1446
1641
  var callback = alertsSub.callback;
@@ -1535,19 +1730,19 @@ var Stream = function () {
1535
1730
  }
1536
1731
 
1537
1732
  if (msg.newsFilters) {
1538
- for (var _iterator8 = msg.newsFilters, _isArray8 = Array.isArray(_iterator8), _i8 = 0, _iterator8 = _isArray8 ? _iterator8 : _iterator8[Symbol.iterator]();;) {
1539
- var _ref8;
1733
+ for (var _iterator11 = msg.newsFilters, _isArray11 = Array.isArray(_iterator11), _i11 = 0, _iterator11 = _isArray11 ? _iterator11 : _iterator11[Symbol.iterator]();;) {
1734
+ var _ref11;
1540
1735
 
1541
- if (_isArray8) {
1542
- if (_i8 >= _iterator8.length) break;
1543
- _ref8 = _iterator8[_i8++];
1736
+ if (_isArray11) {
1737
+ if (_i11 >= _iterator11.length) break;
1738
+ _ref11 = _iterator11[_i11++];
1544
1739
  } else {
1545
- _i8 = _iterator8.next();
1546
- if (_i8.done) break;
1547
- _ref8 = _i8.value;
1740
+ _i11 = _iterator11.next();
1741
+ if (_i11.done) break;
1742
+ _ref11 = _i11.value;
1548
1743
  }
1549
1744
 
1550
- var newsFilter = _ref8;
1745
+ var newsFilter = _ref11;
1551
1746
 
1552
1747
  result.unsubscribed.push(newsFilter);
1553
1748
  }
@@ -5947,6 +6142,8 @@ fmt.Formatter = function () {
5947
6142
  this.formatters[_streamerApi.messages.MessageTypeNames.ctrl.TRADE_UNSUBSCRIBE_RESPONSE] = this._fmttradeunsubscriberesponse;
5948
6143
  this.formatters[_streamerApi.messages.MessageTypeNames.ctrl.RECONNECT_RESPONSE] = this._fmtreconnectresponse;
5949
6144
  this.formatters[_streamerApi.messages.MessageTypeNames.ctrl.MISSED_DATA_SENT] = this._fmtmisseddatasent;
6145
+ this.formatters[_streamerApi.messages.MessageTypeNames.ctrl.CORP_EVENT_MESSAGE] = this._fmtcorporateeventsubscribe;
6146
+ this.formatters[_streamerApi.messages.MessageTypeNames.ctrl.CORP_EVENT_RESPONSE] = this._fmtcorporateeventresponse;
5950
6147
 
5951
6148
  //
5952
6149
  this.formatters[_streamerApi.messages.MessageTypeNames.data.QUOTE] = this._fmtquote;
@@ -5956,6 +6153,7 @@ fmt.Formatter = function () {
5956
6153
  this.formatters[_streamerApi.messages.MessageTypeNames.data.NETHOUSEPOSITION] = this._fmtnethouseposition;
5957
6154
  this.formatters[_streamerApi.messages.MessageTypeNames.data.MMQUOTE] = this._fmtmmquote;
5958
6155
  this.formatters[_streamerApi.messages.MessageTypeNames.data.BOOKORDER] = this._fmtbookorder;
6156
+ this.formatters[_streamerApi.messages.MessageTypeNames.data.PRICELEVEL] = this._fmtpricelevel;
5959
6157
  this.formatters[_streamerApi.messages.MessageTypeNames.data.PURGEBOOK] = this._fmtpurgebook;
5960
6158
  this.formatters[_streamerApi.messages.MessageTypeNames.data.BOOKDELETE] = this._fmtbookdelete;
5961
6159
  this.formatters[_streamerApi.messages.MessageTypeNames.data.SYMBOLINFO] = this._fmtsymbolinfo;
@@ -6356,6 +6554,32 @@ fmt.Formatter.prototype._fmtmmquote = function (val) {
6356
6554
  return s.toString();
6357
6555
  };
6358
6556
 
6557
+ fmt.Formatter.prototype._fmtpricelevel = function (val) {
6558
+ var s = new fmt.StringBuilder();
6559
+ s.append('PL');
6560
+ s.sep();
6561
+ s.datetime(val.timestamp);
6562
+ s.sep();
6563
+ s.append(val.symbol);
6564
+ s.sep();
6565
+ s.append(val.locateCode);
6566
+ s.sep();
6567
+ s.append(val.excode);
6568
+ s.sep();
6569
+ s.append(val.orderSide);
6570
+ s.sep();
6571
+ s.append(val.price);
6572
+ s.sep();
6573
+ s.append(val.size);
6574
+ s.sep();
6575
+ s.append(val.count);
6576
+ s.sep();
6577
+ s.append(val.bookType);
6578
+ s.sep();
6579
+ s.append(val.changeType);
6580
+ return s.toString();
6581
+ };
6582
+
6359
6583
  fmt.Formatter.prototype._fmtbookorder = function (val) {
6360
6584
  var s = new fmt.StringBuilder();
6361
6585
  s.append('BO');
@@ -6562,6 +6786,8 @@ fmt.Formatter.prototype._fmttradeNotification = function (val) {
6562
6786
  s.append(val.eventType);
6563
6787
  s.sep();
6564
6788
  s.append(val.alertable);
6789
+ s.sep();
6790
+ s.append(val.title);
6565
6791
 
6566
6792
  return s.toString();
6567
6793
  };
@@ -6736,6 +6962,13 @@ fmt.Formatter.prototype._fmtexchangesubscribe = function (val) {
6736
6962
  return s.toString();
6737
6963
  };
6738
6964
 
6965
+ fmt.Formatter.prototype._fmtcorporateeventsubscribe = function (val) {
6966
+ var s = new fmt.StringBuilder();
6967
+ s.append('CORPORATE EVENT SUBSCRIBE');
6968
+ // TODO
6969
+ return s.toString();
6970
+ };
6971
+
6739
6972
  fmt.Formatter.prototype._fmtalertsubunsub = function (val) {
6740
6973
  var s = new fmt.StringBuilder();
6741
6974
  s.append('ALERT');
@@ -6781,6 +7014,15 @@ fmt.Formatter.prototype._fmtexchangesubscriberesponse = function (val) {
6781
7014
  return s.toString();
6782
7015
  };
6783
7016
 
7017
+ fmt.Formatter.prototype._fmtcorporateeventresponse = function (val) {
7018
+ var s = new fmt.StringBuilder();
7019
+ s.append('CORPORATE EVENT SUBSCRIBED');
7020
+ s.sep();
7021
+ this.__baseresponse(val, s);
7022
+ // TODO
7023
+ return s.toString();
7024
+ };
7025
+
6784
7026
  fmt.Formatter.prototype._fmtalertsubunsubresponse = function (val) {
6785
7027
  var s = new fmt.StringBuilder();
6786
7028
  s.append('ALERT SUBSCRIBED');
@@ -7195,6 +7437,12 @@ _Streamer2["default"].marketDataTypes.get = function (msg) {
7195
7437
  * */
7196
7438
  _Streamer2["default"].subscriptionTypes = _streamerApi.messages.market.SubscriptionTypes;
7197
7439
 
7440
+ /**
7441
+ * Contains the different allowed subscription types.
7442
+ * It can be used along with the subscription requests.
7443
+ * */
7444
+ _Streamer2["default"].corpEventTypes = _streamerApi.messages.market.CorporateEventTypes;
7445
+
7198
7446
  module.exports = _Streamer2["default"];
7199
7447
  }).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/index.js","/lib")
7200
7448
  },{"./Streamer.js":7,"./formatting.js":13,"./polyfills":18,"./streamer-api.js":108,"./streamer-utils.js":110,"_process":131,"buffer":121,"json3":129,"timers":152}],16:[function(require,module,exports){
@@ -13450,6 +13698,7 @@ var StompStream = function () {
13450
13698
  this.pendingTradeSubscription = {};
13451
13699
  this.pendingTradeUnsubscription = {};
13452
13700
  this.pendingSCFMessages = {};
13701
+ this.pendingCorpEventSubscription = {};
13453
13702
 
13454
13703
  this.on("error", function (err) {
13455
13704
  _this.log.warn(err);
@@ -13469,7 +13718,7 @@ var StompStream = function () {
13469
13718
 
13470
13719
  StompStream.prototype.reconnectSuccess = function reconnectSuccess(msg) {
13471
13720
  this.events.fire("reconnectSuccess", msg);
13472
- this.log.info("Successfull reconnection. Previous Id: " + msg.previousConnectionId + " Current Id = " + msg.currentConnectionId);
13721
+ this.log.info("Successful reconnection. Previous Id: " + msg.previousConnectionId + " Current Id = " + msg.currentConnectionId);
13473
13722
  };
13474
13723
 
13475
13724
  StompStream.prototype.on = function on(event, listener) {
@@ -13658,6 +13907,55 @@ var StompStream = function () {
13658
13907
  this.send(request);
13659
13908
  };
13660
13909
 
13910
+ StompStream.prototype.subscribeCorpEvents = function subscribeCorpEvents(symbols, corpEventTypes, allCorpEvents, optsOrCallback, callbackOrNothing) {
13911
+ if (symbols) {
13912
+ symbols = (Array.isArray(symbols) ? symbols : [symbols]).map(function (s) {
13913
+ return s.toUpperCase();
13914
+ });
13915
+ }
13916
+ corpEventTypes = Array.isArray(corpEventTypes) ? corpEventTypes : [corpEventTypes].map(function (s) {
13917
+ return s.toUpperCase();
13918
+ });
13919
+
13920
+ var opts = optsOrCallback && typeof optsOrCallback !== "function" ? optsOrCallback : null;
13921
+ var callback = callbackOrNothing ? callbackOrNothing : optsOrCallback && typeof optsOrCallback === "function" ? optsOrCallback : null;
13922
+
13923
+ if (this.isClosed()) {
13924
+ var event = events.error("Stream is disconnected", {
13925
+ code: -1,
13926
+ reason: "Already disconnected"
13927
+ });
13928
+ this.events.fire("error", event);
13929
+ return;
13930
+ }
13931
+
13932
+ var subscribe = {
13933
+ id: [],
13934
+ symbols: symbols,
13935
+ corpEventTypes: corpEventTypes,
13936
+ allCorpEvents: allCorpEvents,
13937
+ mimeType: this.format,
13938
+ callback: callback,
13939
+ result: {
13940
+ subscribed: [],
13941
+ unsubscribed: [],
13942
+ invalid: []
13943
+ }
13944
+ };
13945
+
13946
+ if (corpEventTypes.length === 0) {
13947
+ callback(null, subscribe.result);
13948
+ }
13949
+
13950
+ var request = this.buildCorpEventRequest(symbols, subscribe, _streamerApi.messages.control.Action.SUBSCRIBE);
13951
+ var id = this.requestid.next();
13952
+ subscribe.id.push(id);
13953
+ this.pendingCorpEventSubscription[id] = subscribe;
13954
+ request.id = id;
13955
+
13956
+ this.send(request);
13957
+ };
13958
+
13661
13959
  StompStream.prototype.subUnsubAlerts = function subUnsubAlerts(operation, optsOrCallback, callbackOrNothing) {
13662
13960
 
13663
13961
  var opts = optsOrCallback && typeof optsOrCallback !== "function" ? optsOrCallback : null;
@@ -13926,6 +14224,55 @@ var StompStream = function () {
13926
14224
  this.send(request);
13927
14225
  };
13928
14226
 
14227
+ StompStream.prototype.unsubscribeCorpEvents = function unsubscribeCorpEvents(symbols, corpEventTypes, allCorpEvents, optsOrCallback, callbackOrNothing) {
14228
+ if (symbols) {
14229
+ symbols = (Array.isArray(symbols) ? symbols : [symbols]).map(function (s) {
14230
+ return s.toUpperCase();
14231
+ });
14232
+ }
14233
+ corpEventTypes = Array.isArray(corpEventTypes) ? corpEventTypes : [corpEventTypes].map(function (s) {
14234
+ return s.toUpperCase();
14235
+ });
14236
+
14237
+ var opts = optsOrCallback && typeof optsOrCallback !== "function" ? optsOrCallback : null;
14238
+ var callback = callbackOrNothing ? callbackOrNothing : optsOrCallback && typeof optsOrCallback === "function" ? optsOrCallback : null;
14239
+
14240
+ if (this.isClosed()) {
14241
+ var event = events.error("Stream is disconnected", {
14242
+ code: -1,
14243
+ reason: "Already disconnected"
14244
+ });
14245
+ this.events.fire("error", event);
14246
+ return;
14247
+ }
14248
+
14249
+ var unsubscribe = {
14250
+ id: [],
14251
+ symbols: symbols,
14252
+ corpEventTypes: corpEventTypes,
14253
+ allCorpEvents: allCorpEvents,
14254
+ mimeType: this.format,
14255
+ callback: callback,
14256
+ result: {
14257
+ subscribed: [],
14258
+ unsubscribed: [],
14259
+ invalid: []
14260
+ }
14261
+ };
14262
+
14263
+ if (corpEventTypes.length === 0) {
14264
+ callback(null, unsubscribe.result);
14265
+ }
14266
+
14267
+ var request = this.buildCorpEventRequest(symbols, unsubscribe, _streamerApi.messages.control.Action.UNSUBSCRIBE);
14268
+ var id = this.requestid.next();
14269
+ unsubscribe.id.push(id);
14270
+ this.pendingCorpEventSubscription[id] = unsubscribe;
14271
+ request.id = id;
14272
+
14273
+ this.send(request);
14274
+ };
14275
+
13929
14276
  StompStream.prototype.unsubscribeTrade = function unsubscribeTrade(notificationType, optsOrCallback, callbackOrNothing) {
13930
14277
  var opts = optsOrCallback && typeof optsOrCallback !== "function" ? optsOrCallback : null;
13931
14278
  var callback = callbackOrNothing ? callbackOrNothing : optsOrCallback && typeof optsOrCallback === "function" ? optsOrCallback : null;
@@ -14033,6 +14380,16 @@ var StompStream = function () {
14033
14380
  return msg;
14034
14381
  };
14035
14382
 
14383
+ StompStream.prototype.buildCorpEventRequest = function buildCorpEventRequest(symbols, sub, action) {
14384
+ var msg = new _streamerApi.messages.control.CorpEventSubscribeMessage();
14385
+ msg.symbols = symbols;
14386
+ msg.action = action;
14387
+ msg.corpEventTypes = sub.corpEventTypes;
14388
+ msg.allCorpEvents = sub.allCorpEvents;
14389
+ msg.mimeType = sub.mimeType;
14390
+ return msg;
14391
+ };
14392
+
14036
14393
  StompStream.prototype.buildAlertsSubUnsubRequest = function buildAlertsSubUnsubRequest(opr, subscription) {
14037
14394
  var msg = new _streamerApi.messages.control.AlertsSubUnsubMessage();
14038
14395
  msg.operation = opr;
@@ -14102,6 +14459,9 @@ var StompStream = function () {
14102
14459
  case _streamerApi.messages.MessageTypeNames.ctrl.NEWS_CMD_FILTER_RESPONSE:
14103
14460
  this.onNewsCmdFilterResponse(msg);
14104
14461
  break;
14462
+ case _streamerApi.messages.MessageTypeNames.ctrl.CORP_EVENT_RESPONSE:
14463
+ this.onCorpEventResponse(msg);
14464
+ break;
14105
14465
  case _streamerApi.messages.MessageTypeNames.ctrl.TRADE_UNSUBSCRIBE_RESPONSE:
14106
14466
  this.onTradeUnsubscribeResponse(msg);
14107
14467
  break;
@@ -14373,6 +14733,89 @@ var StompStream = function () {
14373
14733
  }
14374
14734
  };
14375
14735
 
14736
+ StompStream.prototype.onCorpEventResponse = function onCorpEventResponse(msg) {
14737
+ var corpEventSub = this.pendingCorpEventSubscription[msg.__id];
14738
+ var callback = corpEventSub.callback;
14739
+
14740
+ (0, _utils.removeFromArray)(corpEventSub.id, msg.__id);
14741
+ delete this.pendingCorpEventSubscription[msg.__id];
14742
+
14743
+ var result = corpEventSub.result;
14744
+
14745
+ console.log(msg);
14746
+ if (msg.code != 200) {
14747
+ var event = events.error("Error subscribing to Corporate Events", {
14748
+ code: msg.code,
14749
+ reason: msg.reason
14750
+ });
14751
+ this.events.fire("error", event);
14752
+ if (callback) {
14753
+ corpEventSub.callback(event);
14754
+ }
14755
+ return;
14756
+ }
14757
+ if (msg.subscribed) {
14758
+ for (var _iterator7 = msg.subscribed, _isArray7 = Array.isArray(_iterator7), _i7 = 0, _iterator7 = _isArray7 ? _iterator7 : _iterator7[Symbol.iterator]();;) {
14759
+ var _ref7;
14760
+
14761
+ if (_isArray7) {
14762
+ if (_i7 >= _iterator7.length) break;
14763
+ _ref7 = _iterator7[_i7++];
14764
+ } else {
14765
+ _i7 = _iterator7.next();
14766
+ if (_i7.done) break;
14767
+ _ref7 = _i7.value;
14768
+ }
14769
+
14770
+ var subbed = _ref7;
14771
+
14772
+ result.subscribed.push(subbed);
14773
+ }
14774
+ }
14775
+ if (msg.unsubscribed) {
14776
+ for (var _iterator8 = msg.unsubscribed, _isArray8 = Array.isArray(_iterator8), _i8 = 0, _iterator8 = _isArray8 ? _iterator8 : _iterator8[Symbol.iterator]();;) {
14777
+ var _ref8;
14778
+
14779
+ if (_isArray8) {
14780
+ if (_i8 >= _iterator8.length) break;
14781
+ _ref8 = _iterator8[_i8++];
14782
+ } else {
14783
+ _i8 = _iterator8.next();
14784
+ if (_i8.done) break;
14785
+ _ref8 = _i8.value;
14786
+ }
14787
+
14788
+ var unSubbed = _ref8;
14789
+
14790
+ result.unsubscribed.push(unSubbed);
14791
+ }
14792
+ }
14793
+ if (msg.invalid) {
14794
+ for (var _iterator9 = msg.invalid, _isArray9 = Array.isArray(_iterator9), _i9 = 0, _iterator9 = _isArray9 ? _iterator9 : _iterator9[Symbol.iterator]();;) {
14795
+ var _ref9;
14796
+
14797
+ if (_isArray9) {
14798
+ if (_i9 >= _iterator9.length) break;
14799
+ _ref9 = _iterator9[_i9++];
14800
+ } else {
14801
+ _i9 = _iterator9.next();
14802
+ if (_i9.done) break;
14803
+ _ref9 = _i9.value;
14804
+ }
14805
+
14806
+ var invalid = _ref9;
14807
+
14808
+ result.invalid.push(invalid);
14809
+ }
14810
+ }
14811
+
14812
+ if (corpEventSub.id.length === 0) {
14813
+ if (callback) {
14814
+ callback(null, corpEventSub.result);
14815
+ }
14816
+ }
14817
+ };
14818
+
14376
14819
  StompStream.prototype.onAlertsSubUnsubResponse = function onAlertsSubUnsubResponse(msg) {
14377
14820
  var alertsSub = this.pendingAlertSubscription[msg.__id];
14378
14821
  var callback = alertsSub.callback;
@@ -14467,19 +14910,19 @@ var StompStream = function () {
14467
14910
  }
14468
14911
 
14469
14912
  if (msg.newsFilters) {
14470
- for (var _iterator7 = msg.newsFilters, _isArray7 = Array.isArray(_iterator7), _i7 = 0, _iterator7 = _isArray7 ? _iterator7 : _iterator7[Symbol.iterator]();;) {
14471
- var _ref7;
14913
+ for (var _iterator10 = msg.newsFilters, _isArray10 = Array.isArray(_iterator10), _i10 = 0, _iterator10 = _isArray10 ? _iterator10 : _iterator10[Symbol.iterator]();;) {
14914
+ var _ref10;
14472
14915
 
14473
- if (_isArray7) {
14474
- if (_i7 >= _iterator7.length) break;
14475
- _ref7 = _iterator7[_i7++];
14916
+ if (_isArray10) {
14917
+ if (_i10 >= _iterator10.length) break;
14918
+ _ref10 = _iterator10[_i10++];
14476
14919
  } else {
14477
- _i7 = _iterator7.next();
14478
- if (_i7.done) break;
14479
- _ref7 = _i7.value;
14920
+ _i10 = _iterator10.next();
14921
+ if (_i10.done) break;
14922
+ _ref10 = _i10.value;
14480
14923
  }
14481
14924
 
14482
- var newsFilter = _ref7;
14925
+ var newsFilter = _ref10;
14483
14926
 
14484
14927
  result.unsubscribed.push(newsFilter);
14485
14928
  }
@@ -15014,7 +15457,7 @@ exports.__esModule = true;
15014
15457
  */
15015
15458
 
15016
15459
  var LIBRARY_NAME = exports.LIBRARY_NAME = "JavaScript";
15017
- var VERSION = exports.VERSION = "2.46.0";
15460
+ var VERSION = exports.VERSION = "2.49.0";
15018
15461
 
15019
15462
  /**
15020
15463
  * Streamer message api namespace.
@@ -15081,7 +15524,10 @@ messages.MessageTypeNames = {
15081
15524
  OPEN_FLOW: 'C28',
15082
15525
  RECONNECT_RESPONSE: 'C29',
15083
15526
  TRADE_UNSUBSCRIBE_RESPONSE: 'C30',
15084
- MISSED_DATA_SENT: 'C31'
15527
+ MISSED_DATA_SENT: 'C31',
15528
+ // Corporate events C33 and C34 for consistency with Java Mapping
15529
+ CORP_EVENT_MESSAGE: 'C33',
15530
+ CORP_EVENT_RESPONSE: 'C34'
15085
15531
  },
15086
15532
  /**
15087
15533
  * Name space for data message type identifiers.<br>
@@ -15113,7 +15559,8 @@ messages.MessageTypeNames = {
15113
15559
  DIVIDEND: 'D22',
15114
15560
  EARNINGS: 'D23',
15115
15561
  SPLIT: 'D24',
15116
- SYMBOLCHANGED: 'D25'
15562
+ SYMBOLCHANGED: 'D25',
15563
+ PRICELEVEL: 'D26'
15117
15564
  }
15118
15565
  };
15119
15566
 
@@ -15170,7 +15617,7 @@ messages.control.SubscribeMessage = function () {
15170
15617
  this.init(messages.MessageTypeNames.ctrl.SUBSCRIBE);
15171
15618
 
15172
15619
  /**
15173
- * The action the server will taken when receiving this message.
15620
+ * The action the server will take when receiving this message.
15174
15621
  * @type {string}
15175
15622
  * @see exports.messages.control.Action
15176
15623
  */
@@ -15212,7 +15659,7 @@ messages.control.ExchangeSubscribeMessage = function () {
15212
15659
  this.init(messages.MessageTypeNames.ctrl.EXCHANGE_SUBSCRIBE);
15213
15660
 
15214
15661
  /**
15215
- * The action the server will taken when receiving this message.
15662
+ * The action the server will take when receiving this message.
15216
15663
  * @type {string}
15217
15664
  * @see exports.messages.control.Action
15218
15665
  */
@@ -15240,14 +15687,14 @@ messages.control.ExchangeSubscribeMessage = function () {
15240
15687
  messages.control.ExchangeSubscribeMessage.prototype = new messages.control.CtrlMessage();
15241
15688
 
15242
15689
  /**
15243
- * Creates an news subscribe message.
15690
+ * Creates a news subscribe message.
15244
15691
  * @constructor
15245
15692
  */
15246
15693
  messages.control.NewsSubscribeMessage = function () {
15247
15694
  this.init(messages.MessageTypeNames.ctrl.NEWS_SUBSCRIBE);
15248
15695
 
15249
15696
  /**
15250
- * The action the server will taken when receiving this message.
15697
+ * The action the server will take when receiving this message.
15251
15698
  * @type {string}
15252
15699
  * @see exports.messages.control.Action
15253
15700
  */
@@ -15269,14 +15716,14 @@ messages.control.NewsSubscribeMessage = function () {
15269
15716
  messages.control.NewsSubscribeMessage.prototype = new messages.control.CtrlMessage();
15270
15717
 
15271
15718
  /**
15272
- * Creates an news reset message.
15719
+ * Creates a news reset message.
15273
15720
  * @constructor
15274
15721
  */
15275
15722
  messages.control.NewsCommandMessage = function () {
15276
15723
  this.init(messages.MessageTypeNames.ctrl.NEWS_COMMAND);
15277
15724
 
15278
15725
  /**
15279
- * The action the server will taken when receiving this message.
15726
+ * The action the server will take when receiving this message.
15280
15727
  * @type {string}
15281
15728
  * @see exports.messages.control.Action
15282
15729
  */
@@ -15292,7 +15739,48 @@ messages.control.NewsCommandMessage = function () {
15292
15739
  messages.control.NewsCommandMessage.prototype = new messages.control.CtrlMessage();
15293
15740
 
15294
15741
  /**
15295
- * Creates an news subscribe message.
15742
+ * Creates a Corporate Event subscribe message.
15743
+ * @constructor
15744
+ */
15745
+ messages.control.CorpEventSubscribeMessage = function () {
15746
+ this.init(messages.MessageTypeNames.ctrl.CORP_EVENT_MESSAGE);
15747
+
15748
+ /**
15749
+ * The action the server will take when receiving this message.
15750
+ * @type {string}
15751
+ * @see exports.messages.control.Action
15752
+ */
15753
+ this.action = null;
15754
+
15755
+ /**
15756
+ * The symbols to subscribe/un-subscribe for.
15757
+ * @type {Array.<string>}
15758
+ */
15759
+ this.symbols = [];
15760
+
15761
+ /**
15762
+ * List of Corporate Event types to subscribe/un-subscribe for.
15763
+ * @type {Array.<string>}
15764
+ */
15765
+ this.corpEventTypes = [];
15766
+
15767
+ /**
15768
+ * Whether to subscribe to all corporate events symbols
15769
+ * @type {boolean}
15770
+ */
15771
+ this.allCorpEvents = null;
15772
+
15773
+ /**
15774
+ * Requested message mime-type format.
15775
+ * @type {string}
15776
+ * @see exports.messages.MimeTypes
15777
+ */
15778
+ this.mimeType = null;
15779
+ };
15780
+ messages.control.CorpEventSubscribeMessage.prototype = new messages.control.CtrlMessage();
15781
+
15782
+ /**
15783
+ * Creates an Alert subscribe/unsubscribe message.
15296
15784
  * @constructor
15297
15785
  */
15298
15786
  messages.control.AlertsSubUnsubMessage = function () {
@@ -15322,7 +15810,7 @@ messages.control.TradeSubscribeMessage = function () {
15322
15810
  this.init(messages.MessageTypeNames.ctrl.TRADE_SUBSCRIBE);
15323
15811
 
15324
15812
  /**
15325
- * The action the server will taken when receiving this message.
15813
+ * The action the server will take when receiving this message.
15326
15814
  * @type {string}
15327
15815
  * @see exports.messages.control.Action
15328
15816
  */
@@ -15466,6 +15954,33 @@ messages.control.NewsUnsubscribeResponse = function () {
15466
15954
  };
15467
15955
  messages.control.NewsUnsubscribeResponse.prototype = new messages.control.BaseResponse();
15468
15956
 
15957
+ /**
15958
+ * Creates a Corporate Event response message.
15959
+ * @constructor
15960
+ */
15961
+ messages.control.CorporateEventResponse = function () {
15962
+ this.init(messages.MessageTypeNames.ctrl.CORP_EVENT_RESPONSE);
15963
+
15964
+ /**
15965
+ *
15966
+ * @type {Array.<string>}
15967
+ */
15968
+ this.subscribed = [];
15969
+
15970
+ /**
15971
+ *
15972
+ * @type {Array.<string>}
15973
+ */
15974
+ this.unsubscribed = [];
15975
+
15976
+ /**
15977
+ *
15978
+ * @type {Array.<string>}
15979
+ */
15980
+ this.invalid = [];
15981
+ };
15982
+ messages.control.CorporateEventResponse.prototype = new messages.control.BaseResponse();
15983
+
15469
15984
  /**
15470
15985
  * Creates Trade notification subscribe response message.
15471
15986
  * @constructor
@@ -15542,9 +16057,9 @@ messages.control.ReconnectResponse = function () {
15542
16057
  undefined.init(messages.MessageTypeNames.ctrl.RECONNECT_RESPONSE);
15543
16058
 
15544
16059
  /**
15545
- * The server version.
15546
- * @type {string}
15547
- */
16060
+ * The server version.
16061
+ * @type {string}
16062
+ */
15548
16063
  undefined.version = null;
15549
16064
 
15550
16065
  /**
@@ -15566,9 +16081,9 @@ messages.control.ReconnectResponse = function () {
15566
16081
  undefined.conflationMs = null;
15567
16082
 
15568
16083
  /**
15569
- * The previous subscriptions
15570
- * @type {Array.<messages.control.StreamEntitlement>}
15571
- */
16084
+ * The previous subscriptions
16085
+ * @type {Array.<messages.control.StreamEntitlement>}
16086
+ */
15572
16087
  undefined.previousSubscriptions = null;
15573
16088
  };
15574
16089
 
@@ -15754,9 +16269,9 @@ messages.control.ResubscribeMessage = function () {
15754
16269
  messages.control.ResubscribeMessage.prototype = new messages.control.CtrlMessage();
15755
16270
 
15756
16271
  /**
15757
- * Creates a Missed Data Sent response message.
15758
- * @constructor
15759
- */
16272
+ * Creates a Missed Data Sent response message.
16273
+ * @constructor
16274
+ */
15760
16275
  messages.control.MissedDataSent = function () {
15761
16276
  this.init(messages.MessageTypeNames.ctrl.MISSED_DATA_SENT);
15762
16277
 
@@ -15823,6 +16338,7 @@ messages.control.MarketdataType = {
15823
16338
  LASTSALE: "LASTSALE",
15824
16339
  BOOKORDER: "BOOKORDER",
15825
16340
  BOOKDELETE: "BOOKDELETE",
16341
+ PRICELEVEL: "PRICELEVEL",
15826
16342
  PURGEBOOK: "PURGEBOOK",
15827
16343
  LIMITUPLIMITDOWN: "LIMITUPLIMITDOWN",
15828
16344
  IVGREEKS: "IVGREEKS",
@@ -15847,6 +16363,17 @@ messages.market.SubscriptionTypes = {
15847
16363
  IVGREEKS: "IVGREEKS",
15848
16364
  IMBALANCESTATUS: "IMBALANCESTATUS"
15849
16365
 
16366
+ /**
16367
+ * Enum for the allowed Corporate Event subscription types
16368
+ * @enum
16369
+ * @readonly
16370
+ */
16371
+ };messages.market.CorporateEventTypes = {
16372
+ DIVIDEND: "DIVIDEND",
16373
+ SPLIT: "SPLIT",
16374
+ EARNINGS: "EARNINGS",
16375
+ SYMBOLCHANGED: "SYMBOLCHANGED"
16376
+
15850
16377
  /**
15851
16378
  * Enum for streamer responses from server
15852
16379
  * @enum
@@ -15859,6 +16386,7 @@ messages.market.SubscriptionTypes = {
15859
16386
  INTERVAL: "INTERVAL",
15860
16387
  NETHOUSEPOSITION: "NETHOUSEPOSITION",
15861
16388
  MMQUOTE: "MMQUOTE",
16389
+ PRICELEVEL: "PRICELEVEL",
15862
16390
  BOOKORDER: "BOOKORDER",
15863
16391
  PURGEBOOK: "PURGEBOOK",
15864
16392
  BOOKDELETE: "BOOKDELETE",
@@ -15998,6 +16526,17 @@ messages.market.BookDelete = function () {
15998
16526
  };
15999
16527
  messages.market.BookDelete.prototype = new messages.market.DataMessage();
16000
16528
 
16529
+ /**
16530
+ *
16531
+ * @constructor
16532
+ */
16533
+ messages.market.PriceLevel = function () {
16534
+ this.init(messages.MessageTypeNames.data.PRICELEVEL);
16535
+
16536
+ // TODO properties
16537
+ };
16538
+ messages.market.PriceLevel.prototype = new messages.market.DataMessage();
16539
+
16001
16540
  /**
16002
16541
  *
16003
16542
  * @constructor