@stoqey/ib 1.2.11 → 1.2.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,12 +1,9 @@
1
1
  import { Observable, Subject } from "rxjs";
2
- import { Bar, CommissionReport, Contract, DepthMktDataDescription, DurationUnit, ExecutionFilter, HistogramEntry, HistoricalTick, HistoricalTickBidAsk, HistoricalTickLast, Order } from "../";
2
+ import { Bar, CommissionReport, Contract, DepthMktDataDescription, DurationUnit, ExecutionFilter, HistogramEntry, HistoricalTick, HistoricalTickBidAsk, HistoricalTickLast, TagValue, OrderBookUpdate, Order, OpenOrder, BarSizeSetting, ExecutionDetail, ContractDescription } from "../";
3
3
  import LogLevel from "../api/data/enum/log-level";
4
- import { ConnectionState, IBApiNextError, MarketDataType, PnL, PnLSingle, AccountSummariesUpdate, AccountPositionsUpdate, ContractDetailsUpdate, MarketDataUpdate } from "./";
5
- import { Logger } from "./common/logger";
6
4
  import { IBApiNextLogger } from "../core/api-next/logger";
7
- import { BarSizeSetting } from "../api/historical/bar-size-setting";
8
- import { OpenOrder } from "./order/open-order";
9
- import { ExecutionDetail } from "./order/execution-detail";
5
+ import { AccountPositionsUpdate, AccountSummariesUpdate, ConnectionState, ContractDetailsUpdate, IBApiNextError, MarketDataType, MarketDataUpdate, PnL, PnLSingle } from "./";
6
+ import { Logger } from "./common/logger";
10
7
  /**
11
8
  * Input arguments on the [[IBApiNext]] constructor.
12
9
  */
@@ -439,6 +436,25 @@ export declare class IBApiNext {
439
436
  * Get venues for which market data is returned on getMarketDepthL2 (those with market makers).
440
437
  */
441
438
  getMarketDepthExchanges(): Promise<DepthMktDataDescription[]>;
439
+ /** updateMktDepth event handler */
440
+ private readonly onUpdateMktDepth;
441
+ /** marketDepthL2 event handler */
442
+ private readonly onUpdateMktDepthL2;
443
+ /**
444
+ * Requests the contract's market depth (order book).
445
+ *
446
+ * This request must be direct-routed to an exchange and not smart-routed.
447
+ *
448
+ * The number of simultaneous market depth requests allowed in an account is calculated based on a formula
449
+ * that looks at an accounts equity, commissions, and quote booster packs.
450
+ *
451
+ * @param tickerId The request's identifier.
452
+ * @param contract The [[Contract]] for which the depth is being requested.
453
+ * @param numRows The number of rows on each side of the order book.
454
+ * @param isSmartDepth Flag indicates that this is smart depth request.
455
+ * @param mktDepthOptions TODO document
456
+ */
457
+ getMarketDepth(contract: Contract, numRows: number, isSmartDepth: boolean, mktDepthOptions?: TagValue[]): Observable<OrderBookUpdate>;
442
458
  /** histogramData event handler */
443
459
  private readonly onHistogramData;
444
460
  /**
@@ -545,19 +561,24 @@ export declare class IBApiNext {
545
561
  * @param subscriptions
546
562
  */
547
563
  private readonly onExecDetailsEnd;
548
- /**
549
- * Commision report of all the clients
550
- * @param subscriptions
551
- * @param commissionReport commissionReport details
552
- */
564
+ /** comissionReport event handler. */
553
565
  private readonly onComissionReport;
554
566
  /**
555
- * Ends the subscrition once all executed trades are recieved
556
- * @param filter filter trade data on [[ExecutionFilter]]
557
- * @see [[onExecDetails]]
558
- * @see [[onExecDetailsEnd]]
559
- * Executed trades only
567
+ * Get execution details of all executed trades.
568
+ * @param filter filter trade data on [[ExecutionFilter]]
560
569
  */
561
570
  getExecutionDetails(filter: ExecutionFilter): Promise<ExecutionDetail[]>;
571
+ /**
572
+ * Get commication reports details of all executed trades.
573
+ * @param filter filter trade data on [[ExecutionFilter]]
574
+ */
562
575
  getCommissionReport(filter: ExecutionFilter): Promise<CommissionReport[]>;
576
+ /** symbolSamples event handler. */
577
+ private readonly onSymbolSamples;
578
+ /**
579
+ * Search contracts where name or symbol matches the given text pattern.
580
+ *
581
+ * @param pattern Either start of ticker symbol or (for larger strings) company name.
582
+ */
583
+ searchContracts(pattern: string): Promise<ContractDescription[]>;
563
584
  }
@@ -4,14 +4,14 @@ exports.IBApiNext = void 0;
4
4
  const rxjs_1 = require("rxjs");
5
5
  const operators_1 = require("rxjs/operators");
6
6
  const __1 = require("../");
7
- const _1 = require("./");
8
- const console_logger_1 = require("../core/api-next/console-logger");
9
- const subscription_registry_1 = require("../core/api-next/subscription-registry");
10
7
  const mutable_account_summary_1 = require("../core/api-next/api/account/mutable-account-summary");
11
- const mutable_account_positions_update_1 = require("../core/api-next/api/position/mutable-account-positions-update");
12
8
  const mutable_market_data_1 = require("../core/api-next/api/market/mutable-market-data");
13
- const logger_1 = require("../core/api-next/logger");
9
+ const mutable_account_positions_update_1 = require("../core/api-next/api/position/mutable-account-positions-update");
14
10
  const auto_connection_1 = require("../core/api-next/auto-connection");
11
+ const console_logger_1 = require("../core/api-next/console-logger");
12
+ const logger_1 = require("../core/api-next/logger");
13
+ const subscription_registry_1 = require("../core/api-next/subscription-registry");
14
+ const _1 = require("./");
15
15
  /**
16
16
  * @internal
17
17
  *
@@ -598,6 +598,89 @@ class IBApiNext {
598
598
  sub.complete();
599
599
  });
600
600
  };
601
+ /** updateMktDepth event handler */
602
+ this.onUpdateMktDepth = (subscriptions, tickerId, position, operation, side, price, size) => {
603
+ // forward to L2 handler, but w/o market maker and smart depth set to false
604
+ this.onUpdateMktDepthL2(subscriptions, tickerId, position, undefined, operation, side, price, size, false);
605
+ };
606
+ /** marketDepthL2 event handler */
607
+ this.onUpdateMktDepthL2 = (subscriptions, tickerId, position, marketMaker, operation, side, price, size, isSmartDepth) => {
608
+ var _a;
609
+ // get subscription
610
+ const subscription = subscriptions.get(tickerId);
611
+ if (!subscription) {
612
+ return;
613
+ }
614
+ // update cached
615
+ const cached = (_a = subscription.lastAllValue) !== null && _a !== void 0 ? _a : {
616
+ bids: new Map(),
617
+ asks: new Map(),
618
+ };
619
+ const changed = {
620
+ bids: new Map(),
621
+ asks: new Map(),
622
+ };
623
+ let cachedRows = undefined;
624
+ let changedRows = undefined;
625
+ if (side == 0) {
626
+ // ask side
627
+ cachedRows = cached.asks;
628
+ changedRows = changed.asks;
629
+ }
630
+ else if (side == 1) {
631
+ // bid side
632
+ cachedRows = cached.bids;
633
+ changedRows = changed.bids;
634
+ }
635
+ if (cachedRows === undefined || changedRows === undefined) {
636
+ this.logger.error(LOG_TAG, `onUpdateMktDepthL2: unknown side value ${side} received from TWS`);
637
+ return;
638
+ }
639
+ switch (operation) {
640
+ case 0:
641
+ case 1:
642
+ // it's an insert or update
643
+ const isUpdate = cachedRows.has(position);
644
+ cachedRows.set(position, {
645
+ price: price,
646
+ marketMaker: marketMaker,
647
+ size: size,
648
+ isSmartDepth: isSmartDepth,
649
+ });
650
+ changedRows.set(position, {
651
+ marketMaker: marketMaker,
652
+ price: price,
653
+ size: size,
654
+ isSmartDepth: isSmartDepth,
655
+ });
656
+ if (isUpdate) {
657
+ subscription.next({
658
+ all: cached,
659
+ changed: changed,
660
+ });
661
+ }
662
+ else {
663
+ subscription.next({
664
+ all: cached,
665
+ added: changed,
666
+ });
667
+ }
668
+ break;
669
+ case 2:
670
+ // it's a delete
671
+ const deletedRow = cachedRows.get(position);
672
+ cachedRows.delete(position);
673
+ changedRows.set(position, deletedRow);
674
+ subscription.next({
675
+ all: cached,
676
+ removed: changed,
677
+ });
678
+ break;
679
+ default:
680
+ this.logger.error(LOG_TAG, `onUpdateMktDepthL2: unknown operation value ${operation} received from TWS`);
681
+ break;
682
+ }
683
+ };
601
684
  /** histogramData event handler */
602
685
  this.onHistogramData = (subscriptions, reqId, data) => {
603
686
  // get the subscription
@@ -700,11 +783,7 @@ class IBApiNext {
700
783
  }
701
784
  sub.complete();
702
785
  };
703
- /**
704
- * Commision report of all the clients
705
- * @param subscriptions
706
- * @param commissionReport commissionReport details
707
- */
786
+ /** comissionReport event handler. */
708
787
  this.onComissionReport = (subscriptions, commissionReport) => {
709
788
  subscriptions.forEach((sub) => {
710
789
  var _a;
@@ -715,6 +794,15 @@ class IBApiNext {
715
794
  });
716
795
  });
717
796
  };
797
+ /** symbolSamples event handler. */
798
+ this.onSymbolSamples = (subscriptions, reqId, contractDescriptions) => {
799
+ const sub = subscriptions.get(reqId);
800
+ subscriptions.delete(reqId);
801
+ sub === null || sub === void 0 ? void 0 : sub.next({
802
+ all: contractDescriptions,
803
+ });
804
+ sub === null || sub === void 0 ? void 0 : sub.complete();
805
+ };
718
806
  this.logger = new logger_1.IBApiNextLogger((_a = options === null || options === void 0 ? void 0 : options.logger) !== null && _a !== void 0 ? _a : new console_logger_1.ConsoleLogger());
719
807
  // create the IBApiAutoConnection and subscription registry
720
808
  this.api = new auto_connection_1.IBApiAutoConnection((_b = options === null || options === void 0 ? void 0 : options.reconnectInterval) !== null && _b !== void 0 ? _b : 0, ((_c = options === null || options === void 0 ? void 0 : options.connectionWatchdogInterval) !== null && _c !== void 0 ? _c : 0) * 1000, this.logger, options);
@@ -814,7 +902,9 @@ class IBApiNext {
814
902
  this.api.reqCurrentTime();
815
903
  }, undefined, [[__1.EventName.currentTime, this.onCurrentTime]], "reqCurrentTime" // use same instance id each time, to make sure there is only 1 pending request at time
816
904
  )
817
- .pipe((0, operators_1.map)((v) => v.all)));
905
+ .pipe((0, operators_1.map)((v) => v.all)), {
906
+ defaultValue: 0,
907
+ });
818
908
  }
819
909
  /**
820
910
  * Get the accounts to which the logged user has access to.
@@ -825,7 +915,9 @@ class IBApiNext {
825
915
  this.api.reqManagedAccts();
826
916
  }, undefined, [[__1.EventName.managedAccounts, this.onManagedAccts]], "getManagedAccounts" // use same instance id each time, to make sure there is only 1 pending request at time
827
917
  )
828
- .pipe((0, operators_1.map)((v) => v.all)));
918
+ .pipe((0, operators_1.map)((v) => v.all)), {
919
+ defaultValue: [],
920
+ });
829
921
  }
830
922
  /**
831
923
  * Create subscription to receive the account summaries of all linked accounts as presented in the TWS' Account Summary tab.
@@ -1018,7 +1110,9 @@ class IBApiNext {
1018
1110
  }, (reqId) => {
1019
1111
  this.api.cancelHeadTimestamp(reqId);
1020
1112
  }, [[__1.EventName.headTimestamp, this.onHeadTimestamp]], `${JSON.stringify(contract)}:${whatToShow}:${useRTH}:${formatDate}`)
1021
- .pipe((0, operators_1.map)((v) => v.all)));
1113
+ .pipe((0, operators_1.map)((v) => v.all)), {
1114
+ defaultValue: "",
1115
+ });
1022
1116
  }
1023
1117
  /**
1024
1118
  * Get a contracts historical data.
@@ -1073,7 +1167,9 @@ class IBApiNext {
1073
1167
  .register((reqId) => {
1074
1168
  this.api.reqHistoricalData(reqId, contract, endDateTime, durationStr, barSizeSetting, whatToShow, useRTH, formatDate, false);
1075
1169
  }, undefined, [[__1.EventName.historicalData, this.onHistoricalData]], undefined)
1076
- .pipe((0, operators_1.map)((v) => v.all)));
1170
+ .pipe((0, operators_1.map)((v) => v.all)), {
1171
+ defaultValue: [],
1172
+ });
1077
1173
  }
1078
1174
  /**
1079
1175
  * Create a subscription to receive update on the most recent historical data bar of a contract.
@@ -1185,7 +1281,33 @@ class IBApiNext {
1185
1281
  this.api.reqMktDepthExchanges();
1186
1282
  }, undefined, [[__1.EventName.mktDepthExchanges, this.onMktDepthExchanges]], "reqMktDepthExchanges" // use same instance id each time, to make sure there is only 1 pending request at time
1187
1283
  )
1188
- .pipe((0, operators_1.map)((v) => v.all)));
1284
+ .pipe((0, operators_1.map)((v) => v.all)), {
1285
+ defaultValue: [],
1286
+ });
1287
+ }
1288
+ /**
1289
+ * Requests the contract's market depth (order book).
1290
+ *
1291
+ * This request must be direct-routed to an exchange and not smart-routed.
1292
+ *
1293
+ * The number of simultaneous market depth requests allowed in an account is calculated based on a formula
1294
+ * that looks at an accounts equity, commissions, and quote booster packs.
1295
+ *
1296
+ * @param tickerId The request's identifier.
1297
+ * @param contract The [[Contract]] for which the depth is being requested.
1298
+ * @param numRows The number of rows on each side of the order book.
1299
+ * @param isSmartDepth Flag indicates that this is smart depth request.
1300
+ * @param mktDepthOptions TODO document
1301
+ */
1302
+ getMarketDepth(contract, numRows, isSmartDepth, mktDepthOptions) {
1303
+ return this.subscriptions.register((reqId) => {
1304
+ this.api.reqMktDepth(reqId, contract, numRows, isSmartDepth, mktDepthOptions);
1305
+ }, (reqId) => {
1306
+ this.api.cancelMktDepth(reqId, isSmartDepth);
1307
+ }, [
1308
+ [__1.EventName.updateMktDepth, this.onUpdateMktDepth],
1309
+ [__1.EventName.updateMktDepthL2, this.onUpdateMktDepthL2],
1310
+ ], `${JSON.stringify(contract)}:${numRows}:${isSmartDepth}:${mktDepthOptions}`);
1189
1311
  }
1190
1312
  /**
1191
1313
  * Get data histogram of specified contract.
@@ -1202,7 +1324,9 @@ class IBApiNext {
1202
1324
  }, (reqId) => {
1203
1325
  this.api.cancelHistogramData(reqId);
1204
1326
  }, [[__1.EventName.histogramData, this.onHistogramData]], `${JSON.stringify(contract)}:${useRTH}:${duration}:${durationUnit}`)
1205
- .pipe((0, operators_1.map)((v) => v.all)));
1327
+ .pipe((0, operators_1.map)((v) => v.all)), {
1328
+ defaultValue: [],
1329
+ });
1206
1330
  }
1207
1331
  /**
1208
1332
  * Requests all current open orders in associated accounts at the current moment.
@@ -1216,7 +1340,9 @@ class IBApiNext {
1216
1340
  [__1.EventName.orderStatus, this.onOrderBound],
1217
1341
  [__1.EventName.openOrderEnd, this.onOpenOrderEnd],
1218
1342
  ])
1219
- .pipe((0, operators_1.map)((v) => v.all)));
1343
+ .pipe((0, operators_1.map)((v) => v.all)), {
1344
+ defaultValue: [],
1345
+ });
1220
1346
  }
1221
1347
  /**
1222
1348
  * Requests the next valid order ID at the current moment.
@@ -1226,7 +1352,9 @@ class IBApiNext {
1226
1352
  .register(() => {
1227
1353
  this.api.reqIds();
1228
1354
  }, undefined, [[__1.EventName.nextValidId, this.onNextValidId]])
1229
- .pipe((0, operators_1.map)((v) => v.all)));
1355
+ .pipe((0, operators_1.map)((v) => v.all)), {
1356
+ defaultValue: -1,
1357
+ });
1230
1358
  }
1231
1359
  /**
1232
1360
  * Places or modifies an order.
@@ -1283,11 +1411,8 @@ class IBApiNext {
1283
1411
  this.api.reqGlobalCancel();
1284
1412
  }
1285
1413
  /**
1286
- * Ends the subscrition once all executed trades are recieved
1287
- * @param filter filter trade data on [[ExecutionFilter]]
1288
- * @see [[onExecDetails]]
1289
- * @see [[onExecDetailsEnd]]
1290
- * Executed trades only
1414
+ * Get execution details of all executed trades.
1415
+ * @param filter filter trade data on [[ExecutionFilter]]
1291
1416
  */
1292
1417
  getExecutionDetails(filter) {
1293
1418
  return (0, rxjs_1.lastValueFrom)(this.subscriptions
@@ -1296,19 +1421,37 @@ class IBApiNext {
1296
1421
  }, undefined, [
1297
1422
  [__1.EventName.execDetails, this.onExecDetails],
1298
1423
  [__1.EventName.execDetailsEnd, this.onExecDetailsEnd],
1299
- // [EventName.commissionReport, this.onComissionReport],
1300
1424
  ])
1301
- .pipe((0, operators_1.map)((v) => v.all)));
1425
+ .pipe((0, operators_1.map)((v) => v.all)), {
1426
+ defaultValue: [],
1427
+ });
1302
1428
  }
1429
+ /**
1430
+ * Get commication reports details of all executed trades.
1431
+ * @param filter filter trade data on [[ExecutionFilter]]
1432
+ */
1303
1433
  getCommissionReport(filter) {
1304
1434
  return (0, rxjs_1.lastValueFrom)(this.subscriptions
1305
1435
  .register((reqId) => {
1306
1436
  this.api.reqExecutions(reqId, filter);
1307
1437
  }, undefined, [
1308
- //[EventName.execDetails, this.onExecDetails],
1309
1438
  [__1.EventName.execDetailsEnd, this.onExecDetailsEnd],
1310
1439
  [__1.EventName.commissionReport, this.onComissionReport],
1311
1440
  ])
1441
+ .pipe((0, operators_1.map)((v) => v.all)), {
1442
+ defaultValue: [],
1443
+ });
1444
+ }
1445
+ /**
1446
+ * Search contracts where name or symbol matches the given text pattern.
1447
+ *
1448
+ * @param pattern Either start of ticker symbol or (for larger strings) company name.
1449
+ */
1450
+ searchContracts(pattern) {
1451
+ return (0, rxjs_1.lastValueFrom)(this.subscriptions
1452
+ .register((reqId) => {
1453
+ this.api.reqMatchingSymbols(reqId, pattern);
1454
+ }, undefined, [[__1.EventName.symbolSamples, this.onSymbolSamples]])
1312
1455
  .pipe((0, operators_1.map)((v) => v.all)));
1313
1456
  }
1314
1457
  }
@@ -1 +1 @@
1
- {"version":3,"file":"api-next.js","sourceRoot":"","sources":["../../src/api-next/api-next.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-next.js","sourceRoot":"","sources":["../../src/api-next/api-next.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,8 @@ export { IBApiNextTickType };
14
14
  export { PnL } from "./pnl/pnl";
15
15
  export { PnLSingle } from "./pnl/pnl-single";
16
16
  export { Position, AccountPositions, AccountPositionsUpdate, } from "./position/position";
17
+ export { OrderBookRow, OrderBookRowPosition, OrderBookRows, OrderBook, OrderBookUpdate, } from "./market-depth/order-book";
17
18
  export { OpenOrder } from "./order/open-order";
18
19
  export { OpenOrdersUpdate } from "./order/open-order-update";
20
+ export { ExecutionDetail } from "./order/execution-detail";
19
21
  export { IBApiNext, IBApiNextCreationOptions } from "./api-next";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api-next/index.ts"],"names":[],"mappings":";AAAA,UAAU;;;AAiBV,8DAA4D;AAAnD,mHAAA,eAAe,OAAA;AAMxB,SAAS;AAET,8DAA2D;AAAlD,kHAAA,cAAc,OAAA;AAMvB,qDAAmE;AAC1D,8FADY,mBAAa,OACZ;AACtB,kDAAmE;AAC1D,kGADY,oBAAiB,OACZ;AAmB1B,YAAY;AAEZ,uCAAiE;AAAxD,qGAAA,SAAS,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api-next/index.ts"],"names":[],"mappings":";AAAA,UAAU;;;AAiBV,8DAA4D;AAAnD,mHAAA,eAAe,OAAA;AAMxB,SAAS;AAET,8DAA2D;AAAlD,kHAAA,cAAc,OAAA;AAMvB,qDAAmE;AAC1D,8FADY,mBAAa,OACZ;AACtB,kDAAmE;AAC1D,kGADY,oBAAiB,OACZ;AA+B1B,YAAY;AAEZ,uCAAiE;AAAxD,qGAAA,SAAS,OAAA"}
@@ -0,0 +1,33 @@
1
+ import { ItemListUpdate } from "..";
2
+ /** A row on the order book. */
3
+ export interface OrderBookRow {
4
+ /** The order's price. */
5
+ price: number;
6
+ /** The order's size. */
7
+ size: number;
8
+ /**
9
+ * The market maker if there are multiple market makers (e.g on ISLAND / NASDAQ ECN),
10
+ * or undefined if its the exchange (no market makers, such as on ARCA).
11
+ */
12
+ marketMaker?: string;
13
+ /**
14
+ * A flag indicating if this is smart depth response
15
+ * (aggregate data from multiple exchanges, v974+).
16
+ */
17
+ isSmartDepth: boolean;
18
+ }
19
+ /** A row position index on the order book. */
20
+ export declare type OrderBookRowPosition = number;
21
+ /** Rows on the order-book (either ask or bid side) */
22
+ export declare type OrderBookRows = ReadonlyMap<OrderBookRowPosition, OrderBookRow>;
23
+ /**
24
+ * The order book.
25
+ */
26
+ export interface OrderBook {
27
+ /** Rows on the bid-side. */
28
+ bids: OrderBookRows;
29
+ /** Rows on the ask-side. */
30
+ asks: OrderBookRows;
31
+ }
32
+ /** An update on the order book. */
33
+ export declare type OrderBookUpdate = ItemListUpdate<OrderBook>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=order-book.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order-book.js","sourceRoot":"","sources":["../../../src/api-next/market-depth/order-book.ts"],"names":[],"mappings":""}
@@ -0,0 +1,162 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * This file implements tests for the [[IBApiNext.getMarketDepthExchanges]] function.
5
+ */
6
+ const __1 = require("../../..");
7
+ describe("RxJS Wrapper: getMarketDepthL2()", () => {
8
+ test("Insert rows", (done) => {
9
+ // create IBApiNext
10
+ const apiNext = new __1.IBApiNext();
11
+ const api = apiNext.api;
12
+ let eventCount = 0;
13
+ apiNext
14
+ .getMarketDepth({}, 100, false)
15
+ // eslint-disable-next-line rxjs/no-ignored-subscription
16
+ .subscribe({
17
+ next: (update) => {
18
+ switch (eventCount) {
19
+ case 0:
20
+ expect(update.all.asks.size).toEqual(1);
21
+ expect(update.all.asks.get(0).price).toEqual(1);
22
+ expect(update.all.asks.get(0).size).toEqual(2);
23
+ break;
24
+ case 1:
25
+ expect(update.all.asks.size).toEqual(1);
26
+ expect(update.all.asks.get(0).price).toEqual(1);
27
+ expect(update.all.asks.get(0).size).toEqual(2);
28
+ expect(update.all.bids.size).toEqual(1);
29
+ expect(update.all.bids.get(0).price).toEqual(11);
30
+ expect(update.all.bids.get(0).size).toEqual(12);
31
+ break;
32
+ case 2:
33
+ expect(update.all.asks.size).toEqual(2);
34
+ expect(update.all.asks.get(0).price).toEqual(1);
35
+ expect(update.all.asks.get(0).size).toEqual(2);
36
+ expect(update.all.asks.get(1).price).toEqual(21);
37
+ expect(update.all.asks.get(1).size).toEqual(22);
38
+ expect(update.all.bids.size).toEqual(1);
39
+ expect(update.all.bids.get(0).price).toEqual(11);
40
+ expect(update.all.bids.get(0).size).toEqual(12);
41
+ break;
42
+ case 3:
43
+ expect(update.all.asks.size).toEqual(2);
44
+ expect(update.all.asks.get(0).price).toEqual(1);
45
+ expect(update.all.asks.get(0).size).toEqual(2);
46
+ expect(update.all.asks.get(1).price).toEqual(21);
47
+ expect(update.all.asks.get(1).size).toEqual(22);
48
+ expect(update.all.bids.size).toEqual(2);
49
+ expect(update.all.bids.get(0).price).toEqual(11);
50
+ expect(update.all.bids.get(0).size).toEqual(12);
51
+ expect(update.all.bids.get(1).price).toEqual(31);
52
+ expect(update.all.bids.get(1).size).toEqual(32);
53
+ done();
54
+ break;
55
+ default:
56
+ fail();
57
+ }
58
+ },
59
+ error: (error) => {
60
+ fail(error.error.message);
61
+ },
62
+ });
63
+ api.emit(__1.EventName.updateMktDepth, 1 /* ticker id */, 0 /* position */, 0 /* insert */, 0 /* ask */, 1 /* price */, 2 /* size */);
64
+ eventCount++;
65
+ api.emit(__1.EventName.updateMktDepth, 1 /* ticker id */, 0 /* position */, 0 /* insert */, 1 /* bid */, 11 /* price */, 12 /* size */);
66
+ eventCount++;
67
+ api.emit(__1.EventName.updateMktDepth, 1 /* ticker id */, 1 /* position */, 0 /* insert */, 0 /* ask */, 21 /* price */, 22 /* size */);
68
+ eventCount++;
69
+ api.emit(__1.EventName.updateMktDepth, 1 /* ticker id */, 1 /* position */, 0 /* insert */, 1 /* bid */, 31 /* price */, 32 /* size */);
70
+ eventCount++;
71
+ });
72
+ test("Update rows", (done) => {
73
+ // create IBApiNext
74
+ const apiNext = new __1.IBApiNext();
75
+ const api = apiNext.api;
76
+ let eventCount = 0;
77
+ apiNext
78
+ .getMarketDepth({}, 100, false)
79
+ // eslint-disable-next-line rxjs/no-ignored-subscription
80
+ .subscribe({
81
+ next: (update) => {
82
+ switch (eventCount) {
83
+ case 0:
84
+ expect(update.all.asks.size).toEqual(1);
85
+ expect(update.all.asks.get(0).price).toEqual(1);
86
+ expect(update.all.asks.get(0).size).toEqual(2);
87
+ break;
88
+ case 1:
89
+ expect(update.all.asks.size).toEqual(1);
90
+ expect(update.all.asks.get(0).price).toEqual(11);
91
+ expect(update.all.asks.get(0).size).toEqual(12);
92
+ break;
93
+ case 2:
94
+ expect(update.all.asks.size).toEqual(1);
95
+ expect(update.all.asks.get(0).price).toEqual(11);
96
+ expect(update.all.asks.get(0).size).toEqual(12);
97
+ expect(update.all.bids.size).toEqual(1);
98
+ expect(update.all.bids.get(0).price).toEqual(1);
99
+ expect(update.all.bids.get(0).size).toEqual(2);
100
+ break;
101
+ case 3:
102
+ expect(update.all.asks.size).toEqual(1);
103
+ expect(update.all.asks.get(0).price).toEqual(11);
104
+ expect(update.all.asks.get(0).size).toEqual(12);
105
+ expect(update.all.bids.size).toEqual(1);
106
+ expect(update.all.bids.get(0).price).toEqual(11);
107
+ expect(update.all.bids.get(0).size).toEqual(12);
108
+ done();
109
+ break;
110
+ default:
111
+ fail();
112
+ }
113
+ },
114
+ error: (error) => {
115
+ fail(error.error.message);
116
+ },
117
+ });
118
+ // TODO emit insert events
119
+ api.emit(__1.EventName.updateMktDepth, 1 /* ticker id */, 0 /* position */, 0 /* insert */, 0 /* ask */, 1 /* price */, 2 /* size */);
120
+ eventCount++;
121
+ api.emit(__1.EventName.updateMktDepth, 1 /* ticker id */, 0 /* position */, 1 /* update */, 0 /* ask */, 11 /* price */, 12 /* size */);
122
+ eventCount++;
123
+ api.emit(__1.EventName.updateMktDepth, 1 /* ticker id */, 0 /* position */, 0 /* insert */, 1 /* bid */, 1 /* price */, 2 /* size */);
124
+ eventCount++;
125
+ api.emit(__1.EventName.updateMktDepth, 1 /* ticker id */, 0 /* position */, 1 /* update */, 1 /* bid */, 11 /* price */, 12 /* size */);
126
+ eventCount++;
127
+ });
128
+ test("Delete rows", (done) => {
129
+ // create IBApiNext
130
+ const apiNext = new __1.IBApiNext();
131
+ const api = apiNext.api;
132
+ let eventCount = 0;
133
+ apiNext
134
+ .getMarketDepth({}, 100, false)
135
+ // eslint-disable-next-line rxjs/no-ignored-subscription
136
+ .subscribe({
137
+ next: (update) => {
138
+ switch (eventCount) {
139
+ case 0:
140
+ expect(update.all.asks.size).toEqual(1);
141
+ expect(update.all.asks.get(0).price).toEqual(1);
142
+ expect(update.all.asks.get(0).size).toEqual(2);
143
+ break;
144
+ case 1:
145
+ expect(update.all.asks.size).toEqual(0);
146
+ done();
147
+ break;
148
+ default:
149
+ fail();
150
+ }
151
+ },
152
+ error: (error) => {
153
+ fail(error.error.message);
154
+ },
155
+ });
156
+ api.emit(__1.EventName.updateMktDepth, 1 /* ticker id */, 0 /* position */, 0 /* insert */, 0 /* ask */, 1 /* price */, 2 /* size */);
157
+ eventCount++;
158
+ api.emit(__1.EventName.updateMktDepth, 1 /* ticker id */, 0 /* position */, 2 /* delete */, 0 /* ask */, 11 /* price */, 12 /* size */);
159
+ eventCount++;
160
+ });
161
+ });
162
+ //# sourceMappingURL=get-market-depth-l2.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-market-depth-l2.test.js","sourceRoot":"","sources":["../../../../src/tests/unit/api-next/get-market-depth-l2.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ /**
2
+ * This file implements tests for the [[IBApiNext.getContractDetails]] function.
3
+ */
4
+ export {};
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ /**
3
+ * This file implements tests for the [[IBApiNext.getContractDetails]] function.
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const assert_1 = require("assert");
7
+ const __1 = require("../../..");
8
+ describe("RxJS Wrapper: searchContracts()", () => {
9
+ test("Error Event", (done) => {
10
+ const apiNext = new __1.IBApiNext();
11
+ const api = apiNext.api;
12
+ // emit a error event and verify RxJS result
13
+ const testValue = "We want this error";
14
+ apiNext
15
+ .searchContracts("AAPL")
16
+ .then(() => {
17
+ (0, assert_1.fail)();
18
+ })
19
+ .catch((e) => {
20
+ expect(e.error.message).toEqual(testValue);
21
+ done();
22
+ });
23
+ api.emit(__1.EventName.error, new Error(testValue), -1, 1);
24
+ });
25
+ test("Result Event", (done) => {
26
+ const apiNext = new __1.IBApiNext();
27
+ const api = apiNext.api;
28
+ // emit a result event and verify RxJS result
29
+ const testValues = [
30
+ {
31
+ contract: {
32
+ conId: Math.random(),
33
+ },
34
+ },
35
+ {
36
+ contract: {
37
+ conId: Math.random(),
38
+ },
39
+ },
40
+ ];
41
+ apiNext
42
+ .searchContracts("AAPL")
43
+ .then((result) => {
44
+ expect(result).toEqual(testValues);
45
+ done();
46
+ })
47
+ .catch((e) => {
48
+ (0, assert_1.fail)(e.error.message);
49
+ });
50
+ api.emit(__1.EventName.symbolSamples, 1, testValues);
51
+ });
52
+ });
53
+ //# sourceMappingURL=search-contracts.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-contracts.test.js","sourceRoot":"","sources":["../../../../src/tests/unit/api-next/search-contracts.test.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAEH,mCAA8B;AAC9B,gCAMkB;AAElB,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;IAC/C,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE;QAC3B,MAAM,OAAO,GAAG,IAAI,aAAS,EAAE,CAAC;QAChC,MAAM,GAAG,GAAI,OAA8C,CAAC,GAAY,CAAC;QAEzE,4CAA4C;QAE5C,MAAM,SAAS,GAAG,oBAAoB,CAAC;QAEvC,OAAO;aACJ,eAAe,CAAC,MAAM,CAAC;aACvB,IAAI,CAAC,GAAG,EAAE;YACT,IAAA,aAAI,GAAE,CAAC;QACT,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,CAAiB,EAAE,EAAE;YAC3B,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC3C,IAAI,EAAE,CAAC;QACT,CAAC,CAAC,CAAC;QAEL,GAAG,CAAC,IAAI,CAAC,aAAS,CAAC,KAAK,EAAE,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE;QAC5B,MAAM,OAAO,GAAG,IAAI,aAAS,EAAE,CAAC;QAChC,MAAM,GAAG,GAAI,OAA8C,CAAC,GAAY,CAAC;QAEzE,6CAA6C;QAE7C,MAAM,UAAU,GAAsB;YACpC;gBACE,QAAQ,EAAE;oBACR,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;iBACrB;aACF;YACD;gBACE,QAAQ,EAAE;oBACR,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;iBACrB;aACF;SACF,CAAC;QAEF,OAAO;aACJ,eAAe,CAAC,MAAM,CAAC;aACvB,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACf,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACnC,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,CAAiB,EAAE,EAAE;YAC3B,IAAA,aAAI,EAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;QAEL,GAAG,CAAC,IAAI,CAAC,aAAS,CAAC,aAAa,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -85,7 +85,13 @@ class IBApiNextApp {
85
85
  }
86
86
  });
87
87
  }
88
- this.api.connect(clientId);
88
+ try {
89
+ this.api.connect(clientId);
90
+ }
91
+ catch (error) {
92
+ logger_1.default.error("Connection error", error.message);
93
+ logger_1.default.debug(`IB host: ${host} - IB port: ${port}`);
94
+ }
89
95
  }
90
96
  /**
91
97
  * Print text to console.
@@ -1 +1 @@
1
- {"version":3,"file":"ib-api-next-app.js","sourceRoot":"","sources":["../../../src/tools/common/ib-api-next-app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ib-api-next-app.js","sourceRoot":"","sources":["../../../src/tools/common/ib-api-next-app.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ /**
2
+ * This App will print a contract's market depth (order book).
3
+ */
4
+ export {};
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ /**
3
+ * This App will print a contract's market depth (order book).
4
+ */
5
+ var __importDefault = (this && this.__importDefault) || function (mod) {
6
+ return (mod && mod.__esModule) ? mod : { "default": mod };
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ const path_1 = __importDefault(require("path"));
10
+ const logger_1 = __importDefault(require("../common/logger"));
11
+ const ib_api_next_app_1 = require("./common/ib-api-next-app");
12
+ /////////////////////////////////////////////////////////////////////////////////
13
+ // Help text and command line parsing //
14
+ /////////////////////////////////////////////////////////////////////////////////
15
+ const DESCRIPTION_TEXT = "Prints a contract's market depth (order book).";
16
+ const USAGE_TEXT = "Usage: market-depth.js <options>";
17
+ const OPTION_ARGUMENTS = [
18
+ ["conid=<number>", "Contract ID (conId) of the contract."],
19
+ ["exchange=<name>", "The destination exchange name."],
20
+ ["rows=<number>", "The number of rows on each side of the order book."],
21
+ [
22
+ "smart=<0/1>",
23
+ "Enable/Disable smart depth request (aggregate from multiple exchanges). Default is 1 (smart)",
24
+ ],
25
+ ];
26
+ const EXAMPLE_TEXT = "market-depth.js -conid=385666824 -exchange=NYSELIFFE -rows=200 -smart=0 -port=4002";
27
+ //////////////////////////////////////////////////////////////////////////////
28
+ // The App code //
29
+ //////////////////////////////////////////////////////////////////////////////
30
+ class PrintMarketDepthExchangesApp extends ib_api_next_app_1.IBApiNextApp {
31
+ constructor() {
32
+ super(DESCRIPTION_TEXT, USAGE_TEXT, OPTION_ARGUMENTS, EXAMPLE_TEXT);
33
+ }
34
+ /**
35
+ * Start the the app.
36
+ */
37
+ start() {
38
+ const scriptName = path_1.default.basename(__filename);
39
+ logger_1.default.debug(`Starting ${scriptName} script`);
40
+ this.connect(0);
41
+ if (!this.cmdLineArgs.conid) {
42
+ this.error("-conid argument missing.");
43
+ }
44
+ if (!this.cmdLineArgs.exchange) {
45
+ this.error("-exchange argument missing.");
46
+ }
47
+ // print order book updates
48
+ this.subscription$ = this.api
49
+ .getMarketDepth({
50
+ conId: this.cmdLineArgs.conid,
51
+ exchange: this.cmdLineArgs.exchange,
52
+ }, this.cmdLineArgs.rows !== undefined
53
+ ? this.cmdLineArgs.rows
54
+ : 100, this.cmdLineArgs.smart !== undefined
55
+ ? this.cmdLineArgs.smart === "1"
56
+ : true)
57
+ .subscribe({
58
+ next: (orderBookUpdate) => {
59
+ this.printObject(orderBookUpdate);
60
+ },
61
+ error: (err) => {
62
+ var _a;
63
+ (_a = this.subscription$) === null || _a === void 0 ? void 0 : _a.unsubscribe();
64
+ this.error(`getMarketData failed with '${err.error.message}'`);
65
+ },
66
+ });
67
+ }
68
+ /**
69
+ * Stop the the app with success code.
70
+ */
71
+ stop() {
72
+ var _a;
73
+ (_a = this.subscription$) === null || _a === void 0 ? void 0 : _a.unsubscribe();
74
+ this.exit();
75
+ }
76
+ }
77
+ // run the app
78
+ new PrintMarketDepthExchangesApp().start();
79
+ //# sourceMappingURL=market-depth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"market-depth.js","sourceRoot":"","sources":["../../src/tools/market-depth.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;AAEH,gDAAwB;AAIxB,8DAAsC;AACtC,8DAAwD;AAExD,iFAAiF;AACjF,iFAAiF;AACjF,iFAAiF;AAEjF,MAAM,gBAAgB,GAAG,gDAAgD,CAAC;AAC1E,MAAM,UAAU,GAAG,kCAAkC,CAAC;AACtD,MAAM,gBAAgB,GAAuB;IAC3C,CAAC,gBAAgB,EAAE,sCAAsC,CAAC;IAC1D,CAAC,iBAAiB,EAAE,gCAAgC,CAAC;IACrD,CAAC,eAAe,EAAE,oDAAoD,CAAC;IACvE;QACE,aAAa;QACb,8FAA8F;KAC/F;CACF,CAAC;AACF,MAAM,YAAY,GAChB,oFAAoF,CAAC;AAEvF,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAE9E,MAAM,4BAA6B,SAAQ,8BAAY;IACrD;QACE,KAAK,CAAC,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;IACtE,CAAC;IAKD;;OAEG;IACH,KAAK;QACH,MAAM,UAAU,GAAG,cAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC7C,gBAAM,CAAC,KAAK,CAAC,YAAY,UAAU,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAEhB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;YAC3B,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;SACxC;QACD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;YAC9B,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;SAC3C;QAED,2BAA2B;QAE3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG;aAC1B,cAAc,CACb;YACE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,KAAe;YACvC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAkB;SAC9C,EACD,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,SAAS;YACjC,CAAC,CAAE,IAAI,CAAC,WAAW,CAAC,IAAe;YACnC,CAAC,CAAC,GAAG,EACP,IAAI,CAAC,WAAW,CAAC,KAAK,KAAK,SAAS;YAClC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,KAAK,GAAG;YAChC,CAAC,CAAC,IAAI,CACT;aACA,SAAS,CAAC;YACT,IAAI,EAAE,CAAC,eAAe,EAAE,EAAE;gBACxB,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;YACpC,CAAC;YACD,KAAK,EAAE,CAAC,GAAmB,EAAE,EAAE;;gBAC7B,MAAA,IAAI,CAAC,aAAa,0CAAE,WAAW,EAAE,CAAC;gBAClC,IAAI,CAAC,KAAK,CAAC,8BAA8B,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;YACjE,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACH,IAAI;;QACF,MAAA,IAAI,CAAC,aAAa,0CAAE,WAAW,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;CACF;AAED,cAAc;AAEd,IAAI,4BAA4B,EAAE,CAAC,KAAK,EAAE,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * This App will search contracts matching a given text pattern and print it
3
+ * to console.
4
+ */
5
+ export {};
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ /**
3
+ * This App will search contracts matching a given text pattern and print it
4
+ * to console.
5
+ */
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ const path_1 = __importDefault(require("path"));
11
+ const logger_1 = __importDefault(require("../common/logger"));
12
+ const ib_api_next_app_1 = require("./common/ib-api-next-app");
13
+ ///////////////////////////////////////////////////////////////////////////////
14
+ // The help text //
15
+ ///////////////////////////////////////////////////////////////////////////////
16
+ const DESCRIPTION_TEXT = "Search contracts matching a given text pattern.";
17
+ const USAGE_TEXT = "Usage: search-contract.js <options>";
18
+ const OPTION_ARGUMENTS = [
19
+ ["pattern=<text>", "The name or symbol to search."],
20
+ ];
21
+ const EXAMPLE_TEXT = "search-contract.ts -text=Apple";
22
+ //////////////////////////////////////////////////////////////////////////////
23
+ // The App code //
24
+ //////////////////////////////////////////////////////////////////////////////
25
+ class PrintContractSearchApp extends ib_api_next_app_1.IBApiNextApp {
26
+ constructor() {
27
+ super(DESCRIPTION_TEXT, USAGE_TEXT, OPTION_ARGUMENTS, EXAMPLE_TEXT);
28
+ }
29
+ /**
30
+ * Start the the app.
31
+ */
32
+ start() {
33
+ const scriptName = path_1.default.basename(__filename);
34
+ logger_1.default.debug(`Starting ${scriptName} script`);
35
+ if (!this.cmdLineArgs.pattern) {
36
+ this.error("-pattern argument missing.");
37
+ }
38
+ this.connect();
39
+ this.api
40
+ .searchContracts(this.cmdLineArgs.pattern)
41
+ .then((searchResult) => {
42
+ this.printObject(searchResult);
43
+ this.stop();
44
+ })
45
+ .catch((err) => {
46
+ this.error(`searchContracts failed with '${err.error.message}'`);
47
+ });
48
+ }
49
+ /**
50
+ * Stop the the app with success code.
51
+ */
52
+ stop() {
53
+ this.exit();
54
+ }
55
+ }
56
+ // run the app
57
+ new PrintContractSearchApp().start();
58
+ //# sourceMappingURL=search-contracts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-contracts.js","sourceRoot":"","sources":["../../src/tools/search-contracts.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;AAEH,gDAAwB;AAExB,8DAAsC;AACtC,8DAAwD;AAExD,+EAA+E;AAC/E,+EAA+E;AAC/E,+EAA+E;AAE/E,MAAM,gBAAgB,GAAG,iDAAiD,CAAC;AAC3E,MAAM,UAAU,GAAG,qCAAqC,CAAC;AACzD,MAAM,gBAAgB,GAAuB;IAC3C,CAAC,gBAAgB,EAAE,+BAA+B,CAAC;CACpD,CAAC;AACF,MAAM,YAAY,GAAG,gCAAgC,CAAC;AAEtD,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAE9E,MAAM,sBAAuB,SAAQ,8BAAY;IAC/C;QACE,KAAK,CAAC,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;IACtE,CAAC;IAED;;OAEG;IACH,KAAK;QACH,MAAM,UAAU,GAAG,cAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC7C,gBAAM,CAAC,KAAK,CAAC,YAAY,UAAU,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;YAC7B,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;SAC1C;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;QAEf,IAAI,CAAC,GAAG;aACL,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,OAAiB,CAAC;aACnD,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE;YACrB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YAC/B,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAmB,EAAE,EAAE;YAC7B,IAAI,CAAC,KAAK,CAAC,gCAAgC,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;CACF;AAED,cAAc;AAEd,IAAI,sBAAsB,EAAE,CAAC,KAAK,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stoqey/ib",
3
3
  "private": false,
4
- "version": "1.2.11",
4
+ "version": "1.2.15",
5
5
  "description": "Interactive Brokers TWS/IB Gateway API client library for Node.js (TS)",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",