@stoqey/ib 1.3.6 → 1.3.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/api.d.ts +20 -7
- package/dist/api/api.js +19 -8
- package/dist/api/api.js.map +1 -1
- package/dist/api/contract/cfd.js +2 -3
- package/dist/api/contract/cfd.js.map +1 -1
- package/dist/api/contract/combo.js +2 -3
- package/dist/api/contract/combo.js.map +1 -1
- package/dist/api/contract/fop.js +3 -4
- package/dist/api/contract/fop.js.map +1 -1
- package/dist/api/contract/ind.js +2 -3
- package/dist/api/contract/ind.js.map +1 -1
- package/dist/api/contract/option.js +2 -3
- package/dist/api/contract/option.js.map +1 -1
- package/dist/api/contract/stock.js +2 -3
- package/dist/api/contract/stock.js.map +1 -1
- package/dist/api/data/enum/event-name.d.ts +3 -1
- package/dist/api/data/enum/event-name.js +2 -0
- package/dist/api/data/enum/event-name.js.map +1 -1
- package/dist/api/data/enum/min-server-version.js +3 -2
- package/dist/api/data/enum/min-server-version.js.map +1 -1
- package/dist/api/market/scannerSubscription.d.ts +4 -3
- package/dist/api/order/market.js +3 -4
- package/dist/api/order/market.js.map +1 -1
- package/dist/api/order/stop.js +3 -4
- package/dist/api/order/stop.js.map +1 -1
- package/dist/api/order/stopLimit.js +3 -4
- package/dist/api/order/stopLimit.js.map +1 -1
- package/dist/api/order/trailingStop.js +3 -4
- package/dist/api/order/trailingStop.js.map +1 -1
- package/dist/api-next/api-next.d.ts +44 -4
- package/dist/api-next/api-next.js +235 -94
- package/dist/api-next/api-next.js.map +1 -1
- package/dist/api-next/common/error.d.ts +2 -0
- package/dist/api-next/common/item-list-update.d.ts +2 -0
- package/dist/api-next/market-scanner/market-scanner.d.ts +224 -0
- package/dist/api-next/market-scanner/market-scanner.js +218 -0
- package/dist/api-next/market-scanner/market-scanner.js.map +1 -0
- package/dist/common/configuration.js +4 -1
- package/dist/common/configuration.js.map +1 -1
- package/dist/common/errorCode.js +3 -2
- package/dist/common/errorCode.js.map +1 -1
- package/dist/common/logger.js +10 -7
- package/dist/common/logger.js.map +1 -1
- package/dist/core/api-next/auto-connection.js +2 -2
- package/dist/core/api-next/auto-connection.js.map +1 -1
- package/dist/core/api-next/item-list-update.d.ts +2 -1
- package/dist/core/api-next/item-list-update.js +2 -1
- package/dist/core/api-next/item-list-update.js.map +1 -1
- package/dist/core/api-next/subscription-registry.js +1 -2
- package/dist/core/api-next/subscription-registry.js.map +1 -1
- package/dist/core/api-next/subscription.d.ts +7 -3
- package/dist/core/api-next/subscription.js +18 -10
- package/dist/core/api-next/subscription.js.map +1 -1
- package/dist/core/io/controller.js +4 -6
- package/dist/core/io/controller.js.map +1 -1
- package/dist/core/io/decoder.d.ts +9 -5
- package/dist/core/io/decoder.js +41 -25
- package/dist/core/io/decoder.js.map +1 -1
- package/dist/core/io/encoder.d.ts +3 -2
- package/dist/core/io/encoder.js +43 -41
- package/dist/core/io/encoder.js.map +1 -1
- package/dist/core/io/enum/in-msg-id.d.ts +2 -1
- package/dist/core/io/enum/in-msg-id.js +1 -0
- package/dist/core/io/enum/in-msg-id.js.map +1 -1
- package/dist/core/io/socket.js +15 -15
- package/dist/core/io/socket.js.map +1 -1
- package/dist/tests/unit/api/api.test.js +31 -54
- package/dist/tests/unit/api/api.test.js.map +1 -1
- package/dist/tests/unit/api/connect.test.js +40 -14
- package/dist/tests/unit/api/connect.test.js.map +1 -1
- package/dist/tests/unit/api/market-data.test.d.ts +1 -0
- package/dist/tests/unit/api/market-data.test.js +84 -0
- package/dist/tests/unit/api/market-data.test.js.map +1 -0
- package/dist/tests/unit/api/order/placeOrder.test.js +118 -28
- package/dist/tests/unit/api/order/placeOrder.test.js.map +1 -1
- package/dist/tests/unit/api/order/reqAllOpenOrders.test.js +22 -23
- package/dist/tests/unit/api/order/reqAllOpenOrders.test.js.map +1 -1
- package/dist/tests/unit/api-next/get-account-summary.test.js +21 -24
- package/dist/tests/unit/api-next/get-account-summary.test.js.map +1 -1
- package/dist/tests/unit/api-next/get-contract-details.test.js +1 -1
- package/dist/tests/unit/api-next/get-contract-details.test.js.map +1 -1
- package/dist/tests/unit/api-next/get-market-data.test.js +1 -1
- package/dist/tests/unit/api-next/get-market-data.test.js.map +1 -1
- package/dist/tests/unit/api-next/get-positions.test.js +8 -9
- package/dist/tests/unit/api-next/get-positions.test.js.map +1 -1
- package/dist/tests/unit/api-next/place-order.test.js +3 -3
- package/dist/tests/unit/api-next/place-order.test.js.map +1 -1
- package/dist/tools/account-summary.js +4 -7
- package/dist/tools/account-summary.js.map +1 -1
- package/dist/tools/commission-reports.js +3 -6
- package/dist/tools/commission-reports.js.map +1 -1
- package/dist/tools/common/ib-api-next-app.d.ts +20 -1
- package/dist/tools/common/ib-api-next-app.js +103 -38
- package/dist/tools/common/ib-api-next-app.js.map +1 -1
- package/dist/tools/contract-details.js +3 -28
- package/dist/tools/contract-details.js.map +1 -1
- package/dist/tools/current-time.js +2 -3
- package/dist/tools/current-time.js.map +1 -1
- package/dist/tools/execution-details.js +3 -6
- package/dist/tools/execution-details.js.map +1 -1
- package/dist/tools/get-head-timestamp.js +11 -30
- package/dist/tools/get-head-timestamp.js.map +1 -1
- package/dist/tools/histogram-data.js +2 -3
- package/dist/tools/histogram-data.js.map +1 -1
- package/dist/tools/historical-data-updates.js +3 -5
- package/dist/tools/historical-data-updates.js.map +1 -1
- package/dist/tools/historical-data.js +2 -3
- package/dist/tools/historical-data.js.map +1 -1
- package/dist/tools/historical-ticks-bid-ask.js +3 -5
- package/dist/tools/historical-ticks-bid-ask.js.map +1 -1
- package/dist/tools/historical-ticks-last.js +4 -7
- package/dist/tools/historical-ticks-last.js.map +1 -1
- package/dist/tools/historical-ticks-mid.js +3 -5
- package/dist/tools/historical-ticks-mid.js.map +1 -1
- package/dist/tools/managed-accts.js +2 -3
- package/dist/tools/managed-accts.js.map +1 -1
- package/dist/tools/{market-data-single.js → market-data-snapshot.js} +13 -39
- package/dist/tools/market-data-snapshot.js.map +1 -0
- package/dist/tools/market-data.js +9 -43
- package/dist/tools/market-data.js.map +1 -1
- package/dist/tools/market-depth-exchanges.js +2 -3
- package/dist/tools/market-depth-exchanges.js.map +1 -1
- package/dist/tools/market-depth.js +4 -7
- package/dist/tools/market-depth.js.map +1 -1
- package/dist/tools/market-scanner.d.ts +1 -0
- package/dist/tools/market-scanner.js +64 -0
- package/dist/tools/market-scanner.js.map +1 -0
- package/dist/tools/modify-order.js +2 -5
- package/dist/tools/modify-order.js.map +1 -1
- package/dist/tools/next-valid-order-id.js +2 -3
- package/dist/tools/next-valid-order-id.js.map +1 -1
- package/dist/tools/open-orders-auto.js +5 -10
- package/dist/tools/open-orders-auto.js.map +1 -1
- package/dist/tools/open-orders.js +2 -3
- package/dist/tools/open-orders.js.map +1 -1
- package/dist/tools/place-new-order.js +2 -4
- package/dist/tools/place-new-order.js.map +1 -1
- package/dist/tools/place-order.d.ts +1 -1
- package/dist/tools/place-order.js +24 -20
- package/dist/tools/place-order.js.map +1 -1
- package/dist/tools/pnl-single.js +3 -10
- package/dist/tools/pnl-single.js.map +1 -1
- package/dist/tools/pnl.js +3 -10
- package/dist/tools/pnl.js.map +1 -1
- package/dist/tools/positions.js +4 -12
- package/dist/tools/positions.js.map +1 -1
- package/dist/tools/search-contracts.js +2 -3
- package/dist/tools/search-contracts.js.map +1 -1
- package/dist/tools/sec-def-opt-params.js +7 -6
- package/dist/tools/sec-def-opt-params.js.map +1 -1
- package/dist/tools/user-info.d.ts +4 -0
- package/dist/tools/user-info.js +51 -0
- package/dist/tools/user-info.js.map +1 -0
- package/package.json +51 -53
- package/dist/tools/market-data-single.js.map +0 -1
- /package/dist/tools/{market-data-single.d.ts → market-data-snapshot.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../src/core/io/controller.ts"],"names":[],"mappings":";;;;;;AAAA,oEAA2C;AAC3C,8EAA4C;AAG5C,+DAA2D;AAC3D,+EAAuD;AACvD,sDAAmD;AACnD,uCAAsD;AACtD,uCAAsD;AACtD,qCAAkC;AAElC;;;;;GAKG;AACH,MAAa,UAAU;IACrB;;;;OAIG;IACH,YAAoB,EAAS,EAAU,OAA8B
|
|
1
|
+
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../src/core/io/controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,7 +32,7 @@ export interface DecoderCallbacks {
|
|
|
32
32
|
* @param errMsg The error test message.
|
|
33
33
|
* @param code The code identifying the error.
|
|
34
34
|
* @param reqId The request identifier which generated the error.
|
|
35
|
-
* @param advancedOrderReject
|
|
35
|
+
* @param advancedOrderReject An object providing more information in case of an order rejection
|
|
36
36
|
*/
|
|
37
37
|
emitError(errMsg: string, code: number, reqId: number, advancedOrderReject?: unknown): void;
|
|
38
38
|
/**
|
|
@@ -120,10 +120,10 @@ export declare class Decoder {
|
|
|
120
120
|
*/
|
|
121
121
|
readInt(): number | undefined;
|
|
122
122
|
/**
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
123
|
+
* Read a token from queue and return it as integer value.
|
|
124
|
+
*
|
|
125
|
+
* Returns Number.MAX_VALUE if the token is empty.
|
|
126
|
+
*/
|
|
127
127
|
readIntMax(): number;
|
|
128
128
|
/**
|
|
129
129
|
* Read a token from queue and return it as integer value.
|
|
@@ -447,6 +447,10 @@ export declare class Decoder {
|
|
|
447
447
|
* Decode a HISTORICAL_SCHEDULE message from data queue and a emit historicalSchedule event.
|
|
448
448
|
*/
|
|
449
449
|
private decodeMsg_HISTORICAL_SCHEDULE;
|
|
450
|
+
/**
|
|
451
|
+
* Decode a USER_INFO message from data queue and a emit userInfo event.
|
|
452
|
+
*/
|
|
453
|
+
private decodeMsg_USER_INFO;
|
|
450
454
|
/**
|
|
451
455
|
* Decode a [[Contract]] object from data queue.
|
|
452
456
|
*/
|
package/dist/core/io/decoder.js
CHANGED
|
@@ -7,7 +7,6 @@ exports.Decoder = exports.UnderrunError = void 0;
|
|
|
7
7
|
const event_name_1 = require("../../api/data/enum/event-name");
|
|
8
8
|
const min_server_version_1 = __importDefault(require("../../api/data/enum/min-server-version"));
|
|
9
9
|
const option_type_1 = __importDefault(require("../../api/data/enum/option-type"));
|
|
10
|
-
const errorCode_1 = require("../../common/errorCode");
|
|
11
10
|
const tickType_1 = require("../../api/market/tickType");
|
|
12
11
|
const execution_condition_1 = __importDefault(require("../../api/order/condition/execution-condition"));
|
|
13
12
|
const margin_condition_1 = __importDefault(require("../../api/order/condition/margin-condition"));
|
|
@@ -17,6 +16,7 @@ const time_condition_1 = __importDefault(require("../../api/order/condition/time
|
|
|
17
16
|
const volume_condition_1 = __importDefault(require("../../api/order/condition/volume-condition"));
|
|
18
17
|
const order_condition_type_1 = require("../../api/order/enum/order-condition-type");
|
|
19
18
|
const orderType_1 = require("../../api/order/enum/orderType");
|
|
19
|
+
const errorCode_1 = require("../../common/errorCode");
|
|
20
20
|
const in_msg_id_1 = require("./enum/in-msg-id");
|
|
21
21
|
/**
|
|
22
22
|
* @internal
|
|
@@ -250,6 +250,8 @@ class Decoder {
|
|
|
250
250
|
return this.decodeMsg_WSH_EVENT_DATA();
|
|
251
251
|
case in_msg_id_1.IN_MSG_ID.HISTORICAL_SCHEDULE:
|
|
252
252
|
return this.decodeMsg_HISTORICAL_SCHEDULE();
|
|
253
|
+
case in_msg_id_1.IN_MSG_ID.USER_INFO:
|
|
254
|
+
return this.decodeMsg_USER_INFO();
|
|
253
255
|
default:
|
|
254
256
|
this.callback.emitError(`No parser implementation found for token: ${in_msg_id_1.IN_MSG_ID[msgId]} (${msgId}).`, errorCode_1.ErrorCode.UNKNOWN_ID, -1);
|
|
255
257
|
}
|
|
@@ -310,8 +312,7 @@ class Decoder {
|
|
|
310
312
|
try {
|
|
311
313
|
while (true) {
|
|
312
314
|
const escapeIndex = v.indexOf("\\u");
|
|
313
|
-
if (escapeIndex == -1
|
|
314
|
-
|| v.length - escapeIndex < 6) {
|
|
315
|
+
if (escapeIndex == -1 || v.length - escapeIndex < 6) {
|
|
315
316
|
break;
|
|
316
317
|
}
|
|
317
318
|
const escapeString = v.substring(escapeIndex, escapeIndex + 6);
|
|
@@ -383,10 +384,10 @@ class Decoder {
|
|
|
383
384
|
return val === Number.MAX_VALUE ? undefined : val;
|
|
384
385
|
}
|
|
385
386
|
/**
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
387
|
+
* Read a token from queue and return it as integer value.
|
|
388
|
+
*
|
|
389
|
+
* Returns Number.MAX_VALUE if the token is empty.
|
|
390
|
+
*/
|
|
390
391
|
readIntMax() {
|
|
391
392
|
const token = this.readStr();
|
|
392
393
|
if (!token || token === "") {
|
|
@@ -539,8 +540,9 @@ class Decoder {
|
|
|
539
540
|
let advancedOrderReject;
|
|
540
541
|
if (this.serverVersion >= min_server_version_1.default.ADVANCED_ORDER_REJECT) {
|
|
541
542
|
const advancedOrderRejectJson = this.readStr();
|
|
542
|
-
if (advancedOrderRejectJson)
|
|
543
|
+
if (advancedOrderRejectJson?.length > 0) {
|
|
543
544
|
advancedOrderReject = JSON.parse(this.decodeUnicodeEscapedString(advancedOrderRejectJson));
|
|
545
|
+
}
|
|
544
546
|
}
|
|
545
547
|
if (id === -1) {
|
|
546
548
|
this.callback.emitInfo(msg, code);
|
|
@@ -741,7 +743,8 @@ class Decoder {
|
|
|
741
743
|
contract.contract.tradingClass = this.readStr();
|
|
742
744
|
contract.contract.conId = this.readInt();
|
|
743
745
|
contract.minTick = this.readDouble();
|
|
744
|
-
if (
|
|
746
|
+
if (this.serverVersion >= min_server_version_1.default.MD_SIZE_MULTIPLIER &&
|
|
747
|
+
this.serverVersion < min_server_version_1.default.SIZE_RULES) {
|
|
745
748
|
this.readInt(); // mdSizeMultiplier - not used anymore
|
|
746
749
|
}
|
|
747
750
|
contract.contract.multiplier = this.readInt();
|
|
@@ -801,7 +804,8 @@ class Decoder {
|
|
|
801
804
|
if (this.serverVersion >= min_server_version_1.default.STOCK_TYPE) {
|
|
802
805
|
contract.stockType = this.readStr();
|
|
803
806
|
}
|
|
804
|
-
if (this.serverVersion >= min_server_version_1.default.FRACTIONAL_SIZE_SUPPORT &&
|
|
807
|
+
if (this.serverVersion >= min_server_version_1.default.FRACTIONAL_SIZE_SUPPORT &&
|
|
808
|
+
this.serverVersion < min_server_version_1.default.SIZE_RULES) {
|
|
805
809
|
this.readDouble(); // sizeMinTick - not used anymore
|
|
806
810
|
}
|
|
807
811
|
if (this.serverVersion >= min_server_version_1.default.SIZE_RULES) {
|
|
@@ -1061,7 +1065,8 @@ class Decoder {
|
|
|
1061
1065
|
contract.contract.tradingClass = this.readStr();
|
|
1062
1066
|
contract.contract.conId = this.readInt();
|
|
1063
1067
|
contract.minTick = this.readDouble();
|
|
1064
|
-
if (
|
|
1068
|
+
if (this.serverVersion >= min_server_version_1.default.MD_SIZE_MULTIPLIER &&
|
|
1069
|
+
this.serverVersion < min_server_version_1.default.SIZE_RULES) {
|
|
1065
1070
|
this.readInt(); // mdSizeMultiplier - not used anymore
|
|
1066
1071
|
}
|
|
1067
1072
|
contract.orderTypes = this.readStr();
|
|
@@ -1118,7 +1123,7 @@ class Decoder {
|
|
|
1118
1123
|
*/
|
|
1119
1124
|
decodeMsg_SCANNER_DATA() {
|
|
1120
1125
|
const version = this.readInt();
|
|
1121
|
-
const
|
|
1126
|
+
const reqId = this.readInt();
|
|
1122
1127
|
let numberOfElements = this.readInt();
|
|
1123
1128
|
while (numberOfElements--) {
|
|
1124
1129
|
const contract = {
|
|
@@ -1145,9 +1150,9 @@ class Decoder {
|
|
|
1145
1150
|
if (version >= 2) {
|
|
1146
1151
|
legsStr = this.readStr();
|
|
1147
1152
|
}
|
|
1148
|
-
this.emit(event_name_1.EventName.scannerData,
|
|
1153
|
+
this.emit(event_name_1.EventName.scannerData, reqId, rank, contract, distance, benchmark, projection, legsStr);
|
|
1149
1154
|
}
|
|
1150
|
-
this.emit(event_name_1.EventName.scannerDataEnd,
|
|
1155
|
+
this.emit(event_name_1.EventName.scannerDataEnd, reqId);
|
|
1151
1156
|
}
|
|
1152
1157
|
/**
|
|
1153
1158
|
* Decode a TICK_OPTION_COMPUTATION message from data queue and emit a tickOptionComputation event.
|
|
@@ -1849,7 +1854,10 @@ class Decoder {
|
|
|
1849
1854
|
const mask = this.readInt();
|
|
1850
1855
|
const bidPastLow = (mask & (1 << 0)) !== 0;
|
|
1851
1856
|
const askPastHigh = (mask & (1 << 1)) !== 0;
|
|
1852
|
-
this.emit(event_name_1.EventName.tickByTickBidAsk, reqId, time, bidPrice, askPrice, bidSize, askSize, {
|
|
1857
|
+
this.emit(event_name_1.EventName.tickByTickBidAsk, reqId, time, bidPrice, askPrice, bidSize, askSize, {
|
|
1858
|
+
bidPastLow,
|
|
1859
|
+
askPastHigh,
|
|
1860
|
+
});
|
|
1853
1861
|
break;
|
|
1854
1862
|
}
|
|
1855
1863
|
case 4: {
|
|
@@ -1873,7 +1881,6 @@ class Decoder {
|
|
|
1873
1881
|
* Decode a COMPLETED_ORDER message from data queue and a emit completedOrder event.
|
|
1874
1882
|
*/
|
|
1875
1883
|
decodeMsg_COMPLETED_ORDER() {
|
|
1876
|
-
var _a;
|
|
1877
1884
|
const contract = {};
|
|
1878
1885
|
const order = {};
|
|
1879
1886
|
const orderState = {};
|
|
@@ -2118,7 +2125,7 @@ class Decoder {
|
|
|
2118
2125
|
for (let i = 0; i < nConditions; i++) {
|
|
2119
2126
|
const type = this.readInt();
|
|
2120
2127
|
// OrderCondition
|
|
2121
|
-
const conjunctionConnection =
|
|
2128
|
+
const conjunctionConnection = this.readStr()?.toLocaleLowerCase();
|
|
2122
2129
|
switch (type) {
|
|
2123
2130
|
case order_condition_type_1.OrderConditionType.Execution: {
|
|
2124
2131
|
const secType = this.readStr();
|
|
@@ -2250,11 +2257,19 @@ class Decoder {
|
|
|
2250
2257
|
sessions[i] = {
|
|
2251
2258
|
startDateTime: sessionStartDateTime,
|
|
2252
2259
|
endDateTime: sessionEndDateTime,
|
|
2253
|
-
refDate: sessionRefDate
|
|
2260
|
+
refDate: sessionRefDate,
|
|
2254
2261
|
};
|
|
2255
2262
|
}
|
|
2256
2263
|
this.emit(event_name_1.EventName.historicalSchedule, reqId, startDateTime, endDateTime, timeZone, sessions);
|
|
2257
2264
|
}
|
|
2265
|
+
/**
|
|
2266
|
+
* Decode a USER_INFO message from data queue and a emit userInfo event.
|
|
2267
|
+
*/
|
|
2268
|
+
decodeMsg_USER_INFO() {
|
|
2269
|
+
const reqId = this.readInt();
|
|
2270
|
+
const whiteBrandingId = this.readStr();
|
|
2271
|
+
this.emit(event_name_1.EventName.userInfo, reqId, whiteBrandingId);
|
|
2272
|
+
}
|
|
2258
2273
|
/**
|
|
2259
2274
|
* Decode a [[Contract]] object from data queue.
|
|
2260
2275
|
*/
|
|
@@ -2355,13 +2370,13 @@ class Decoder {
|
|
|
2355
2370
|
order.volatilityType = this.readInt();
|
|
2356
2371
|
order.deltaNeutralOrderType = this.readStr();
|
|
2357
2372
|
order.deltaNeutralAuxPrice = this.readDoubleOrUndefined();
|
|
2358
|
-
if (version >= 27 &&
|
|
2373
|
+
if (version >= 27 && order?.deltaNeutralOrderType.length) {
|
|
2359
2374
|
order.deltaNeutralConId = this.readInt();
|
|
2360
2375
|
order.deltaNeutralSettlingFirm = this.readStr();
|
|
2361
2376
|
order.deltaNeutralClearingAccount = this.readStr();
|
|
2362
2377
|
order.deltaNeutralClearingIntent = this.readStr();
|
|
2363
2378
|
}
|
|
2364
|
-
if (version >= 31 &&
|
|
2379
|
+
if (version >= 31 && order?.deltaNeutralOrderType.length) {
|
|
2365
2380
|
order.deltaNeutralOpenClose = this.readStr();
|
|
2366
2381
|
order.deltaNeutralShortSale = this.readBool();
|
|
2367
2382
|
order.deltaNeutralShortSaleSlot = this.readInt();
|
|
@@ -2397,7 +2412,7 @@ class Decoder {
|
|
|
2397
2412
|
*/
|
|
2398
2413
|
readLastTradeDate(contract, isBond) {
|
|
2399
2414
|
const lastTradeDateOrContractMonth = this.readStr();
|
|
2400
|
-
if (lastTradeDateOrContractMonth
|
|
2415
|
+
if (lastTradeDateOrContractMonth?.length) {
|
|
2401
2416
|
const tokens = lastTradeDateOrContractMonth.split("\\s+");
|
|
2402
2417
|
if (tokens.length > 0) {
|
|
2403
2418
|
if (isBond) {
|
|
@@ -2915,7 +2930,6 @@ class OrderDecoder {
|
|
|
2915
2930
|
}
|
|
2916
2931
|
}
|
|
2917
2932
|
readConditions() {
|
|
2918
|
-
var _a;
|
|
2919
2933
|
if (this.serverVersion >= min_server_version_1.default.PEGGED_TO_BENCHMARK) {
|
|
2920
2934
|
const nConditions = this.decoder.readInt();
|
|
2921
2935
|
this.order.conditions = new Array(nConditions);
|
|
@@ -2923,8 +2937,9 @@ class OrderDecoder {
|
|
|
2923
2937
|
for (let i = 0; i < nConditions; i++) {
|
|
2924
2938
|
const orderConditionType = this.decoder.readInt();
|
|
2925
2939
|
// OrderCondition
|
|
2926
|
-
const conjunctionConnection =
|
|
2927
|
-
.readStr()
|
|
2940
|
+
const conjunctionConnection = this.decoder
|
|
2941
|
+
.readStr()
|
|
2942
|
+
?.toLocaleLowerCase();
|
|
2928
2943
|
switch (orderConditionType) {
|
|
2929
2944
|
case order_condition_type_1.OrderConditionType.Execution: {
|
|
2930
2945
|
const secType = this.decoder.readStr();
|
|
@@ -3043,7 +3058,8 @@ class OrderDecoder {
|
|
|
3043
3058
|
this.order.refFuturesConId = this.decoder.readInt();
|
|
3044
3059
|
}
|
|
3045
3060
|
readAutoCancelParent(minVersionAutoCancelParent) {
|
|
3046
|
-
if (
|
|
3061
|
+
if (minVersionAutoCancelParent === undefined ||
|
|
3062
|
+
this.serverVersion >= minVersionAutoCancelParent) {
|
|
3047
3063
|
this.order.autoCancelParent = this.decoder.readBool();
|
|
3048
3064
|
}
|
|
3049
3065
|
}
|