@stoqey/ib 1.3.29 → 1.4.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.
Files changed (87) hide show
  1. package/README.md +1 -1
  2. package/dist/api/api.d.ts +2 -2
  3. package/dist/api/api.js +22 -3
  4. package/dist/api/api.js.map +1 -1
  5. package/dist/api/contract/priceIncrement.d.ts +7 -0
  6. package/dist/api/contract/priceIncrement.js +3 -0
  7. package/dist/api/contract/priceIncrement.js.map +1 -0
  8. package/dist/api/order/orderCancel.d.ts +1 -1
  9. package/dist/api-next/api-next.d.ts +24 -4
  10. package/dist/api-next/api-next.js +69 -48
  11. package/dist/api-next/api-next.js.map +1 -1
  12. package/dist/common/configuration.js +17 -7
  13. package/dist/common/configuration.js.map +1 -1
  14. package/dist/common/errorCode.d.ts +9 -3
  15. package/dist/common/errorCode.js +26 -5
  16. package/dist/common/errorCode.js.map +1 -1
  17. package/dist/common/logger.js +17 -7
  18. package/dist/common/logger.js.map +1 -1
  19. package/dist/core/api-next/auto-connection.js +17 -7
  20. package/dist/core/api-next/auto-connection.js.map +1 -1
  21. package/dist/core/api-next/console-logger.js +17 -7
  22. package/dist/core/api-next/console-logger.js.map +1 -1
  23. package/dist/core/api-next/subscription-registry.d.ts +3 -4
  24. package/dist/core/api-next/subscription-registry.js +7 -8
  25. package/dist/core/api-next/subscription-registry.js.map +1 -1
  26. package/dist/core/api-next/subscription.js +5 -5
  27. package/dist/core/api-next/subscription.js.map +1 -1
  28. package/dist/core/io/controller.d.ts +1 -1
  29. package/dist/core/io/controller.js +3 -4
  30. package/dist/core/io/controller.js.map +1 -1
  31. package/dist/core/io/decoder.d.ts +1 -1
  32. package/dist/core/io/decoder.js +7 -7
  33. package/dist/core/io/decoder.js.map +1 -1
  34. package/dist/core/io/encoder.d.ts +16 -16
  35. package/dist/core/io/encoder.js +78 -82
  36. package/dist/core/io/encoder.js.map +1 -1
  37. package/dist/core/io/socket.js +15 -27
  38. package/dist/core/io/socket.js.map +1 -1
  39. package/dist/index.d.ts +2 -1
  40. package/dist/index.js +2 -1
  41. package/dist/index.js.map +1 -1
  42. package/dist/tests/unit/api/historical-data.test.js +34 -42
  43. package/dist/tests/unit/api/historical-data.test.js.map +1 -1
  44. package/dist/tests/unit/api/market-data.test.js +1 -1
  45. package/dist/tests/unit/api/market-data.test.js.map +1 -1
  46. package/dist/tests/unit/api/market-scanner.test.js +19 -27
  47. package/dist/tests/unit/api/market-scanner.test.js.map +1 -1
  48. package/dist/tests/unit/api/order/cancelOrder.test.js +162 -28
  49. package/dist/tests/unit/api/order/cancelOrder.test.js.map +1 -1
  50. package/dist/tests/unit/api/order/placeConditionalOrder.test.js +117 -179
  51. package/dist/tests/unit/api/order/placeConditionalOrder.test.js.map +1 -1
  52. package/dist/tests/unit/api/order/placeOrder.test.js +68 -92
  53. package/dist/tests/unit/api/order/placeOrder.test.js.map +1 -1
  54. package/dist/tests/unit/api-next/get-account-summary.test.js +1 -1
  55. package/dist/tests/unit/api-next/get-account-updates.test.d.ts +4 -0
  56. package/dist/tests/unit/api-next/get-account-updates.test.js +86 -0
  57. package/dist/tests/unit/api-next/get-account-updates.test.js.map +1 -0
  58. package/dist/tests/unit/api-next/get-historical-data.test.js +1 -1
  59. package/dist/tests/unit/api-next/get-historical-data.test.js.map +1 -1
  60. package/dist/tests/unit/api-next/next-valid-order-id.test.js +1 -1
  61. package/dist/tests/unit/api-next/next-valid-order-id.test.js.map +1 -1
  62. package/dist/tests/unit/api-next-live/get-contract-details.test.js +31 -36
  63. package/dist/tests/unit/api-next-live/get-contract-details.test.js.map +1 -1
  64. package/dist/tests/unit/api-next-live/get-current-time.test.d.ts +4 -0
  65. package/dist/tests/unit/api-next-live/get-current-time.test.js +64 -0
  66. package/dist/tests/unit/api-next-live/get-current-time.test.js.map +1 -0
  67. package/dist/tests/unit/api-next-live/get-historical-ticks.test.js +7 -3
  68. package/dist/tests/unit/api-next-live/get-historical-ticks.test.js.map +1 -1
  69. package/dist/tests/unit/api-next-live/get-managed-accounts.test.d.ts +4 -0
  70. package/dist/tests/unit/api-next-live/get-managed-accounts.test.js +48 -0
  71. package/dist/tests/unit/api-next-live/get-managed-accounts.test.js.map +1 -0
  72. package/dist/tests/unit/api-next-live/get-market-rule.test.d.ts +4 -0
  73. package/dist/tests/unit/api-next-live/get-market-rule.test.js +64 -0
  74. package/dist/tests/unit/api-next-live/get-market-rule.test.js.map +1 -0
  75. package/dist/tests/unit/api-next-live/get-user-info.test.d.ts +4 -0
  76. package/dist/tests/unit/api-next-live/get-user-info.test.js +50 -0
  77. package/dist/tests/unit/api-next-live/get-user-info.test.js.map +1 -0
  78. package/dist/tests/unit/api-next-live/subscription-registry.test.js +12 -8
  79. package/dist/tests/unit/api-next-live/subscription-registry.test.js.map +1 -1
  80. package/dist/tests/unit/sample-data/contracts.js +2 -2
  81. package/dist/tests/unit/sample-data/orders.d.ts +2 -0
  82. package/dist/tests/unit/sample-data/orders.js +16 -0
  83. package/dist/tests/unit/sample-data/orders.js.map +1 -0
  84. package/package.json +4 -4
  85. package/dist/tests/unit/api/order/issue203.test.d.ts +0 -1
  86. package/dist/tests/unit/api/order/issue203.test.js +0 -137
  87. package/dist/tests/unit/api/order/issue203.test.js.map +0 -1
@@ -48,7 +48,7 @@ class IBApiNextSubscriptionRegistry {
48
48
  this.api = api;
49
49
  this.apiNext = apiNext;
50
50
  /** A Map containing the subscription registry, with event name as key. */
51
- this.entires = new map_1.IBApiNextMap();
51
+ this.entries = new map_1.IBApiNextMap();
52
52
  }
53
53
  /**
54
54
  * Register a subscription.
@@ -60,8 +60,7 @@ class IBApiNextSubscriptionRegistry {
60
60
  * the subscription instance. This can be used to avoid creation of multiple subscriptions,
61
61
  * that will end up on same TWS request (i.e. request same market data multiple times), but an
62
62
  * existing subscription instance will be re-used if same instanceId does already exist.
63
- * As a general rule: don't use instanceId when there is no reqId or when you want to return
64
- * a Promise (single emitted value). Use it everywhere else.
63
+ * As a general rule: don't use instanceId when there is a reqId. Use it everywhere else.
65
64
  */
66
65
  register(requestFunction, cancelFunction, eventHandler, instanceId) {
67
66
  // get the existing registry entries, or add if not existing yet
@@ -69,7 +68,7 @@ class IBApiNextSubscriptionRegistry {
69
68
  eventHandler.forEach((handler) => {
70
69
  const eventName = handler[0];
71
70
  const callback = handler[1];
72
- const entry = this.entires.getOrAdd(eventName, () => {
71
+ const entry = this.entries.getOrAdd(eventName, () => {
73
72
  const entry = new RegistryEntry(eventName, callback);
74
73
  this.apiNext.logger.debug(LOG_TAG, `Add RegistryEntry for EventName.${eventName}`);
75
74
  this.api.addListener(eventName, entry.listener);
@@ -107,7 +106,7 @@ class IBApiNextSubscriptionRegistry {
107
106
  if (!entry.subscriptions.size) {
108
107
  this.api.removeListener(entry.eventName, entry.listener);
109
108
  this.apiNext.logger.debug(LOG_TAG, `Remove RegistryEntry for EventName.${entry.eventName}.`);
110
- this.entires.delete(entry.eventName);
109
+ this.entries.delete(entry.eventName);
111
110
  }
112
111
  });
113
112
  this.apiNext.logger.debug(LOG_TAG, `Deleted IBApiNextSubscription for ${subscription.reqId}.`);
@@ -123,9 +122,9 @@ class IBApiNextSubscriptionRegistry {
123
122
  /**
124
123
  * Dispatch an error into the subscription that owns the given request id.
125
124
  */
126
- dispatchError(reqId, error) {
127
- this.entires.forEach((entry) => {
128
- entry.subscriptions.get(reqId)?.error(error);
125
+ dispatchError(error) {
126
+ this.entries.forEach((entry) => {
127
+ entry.subscriptions.get(error.reqId)?.error(error);
129
128
  });
130
129
  }
131
130
  }
@@ -1 +1 @@
1
- {"version":3,"file":"subscription-registry.js","sourceRoot":"","sources":["../../../src/core/api-next/subscription-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subscription-registry.js","sourceRoot":"","sources":["../../../src/core/api-next/subscription-registry.ts"],"names":[],"mappings":"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"}
@@ -68,7 +68,7 @@ class IBApiNextSubscription {
68
68
  */
69
69
  error(error) {
70
70
  delete this._lastAllValue;
71
- this.endEventReceived = false;
71
+ // this.endEventReceived = false;
72
72
  this.hasError = true;
73
73
  this.subject.error(error);
74
74
  this.cancelTwsSubscription();
@@ -97,15 +97,15 @@ class IBApiNextSubscription {
97
97
  }))
98
98
  .subscribe(subscriber);
99
99
  // request from TWS if first subscriber
100
- if (this.observersCount === 0) {
100
+ if (this.observersCount++ === 0) {
101
101
  this.requestTwsSubscription();
102
102
  }
103
- this.observersCount++;
103
+ // this.observersCount++; moved into "if" condition above
104
104
  // handle unsubscribe
105
105
  return () => {
106
106
  subscription$.unsubscribe();
107
- this.observersCount--;
108
- if (this.observersCount <= 0) {
107
+ // this.observersCount--; moved into "if" condition below
108
+ if (--this.observersCount <= 0) {
109
109
  this.cancelTwsSubscription();
110
110
  this.cleanupFunction();
111
111
  }
@@ -1 +1 @@
1
- {"version":3,"file":"subscription.js","sourceRoot":"","sources":["../../../src/core/api-next/subscription.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subscription.js","sourceRoot":"","sources":["../../../src/core/api-next/subscription.ts"],"names":[],"mappings":"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"}
@@ -125,7 +125,7 @@ export declare class Controller implements EncoderCallbacks, DecoderCallbacks {
125
125
  * @param reqId RequestId associated to this error.
126
126
  * @param advancedOrderReject Additional error data (optional).
127
127
  */
128
- emitError(errMsg: string, code: number, reqId: number, advancedOrderReject?: unknown): void;
128
+ emitError(errMsg: string, code: number, reqId?: number, advancedOrderReject?: unknown): void;
129
129
  /**
130
130
  * Execute a command.
131
131
  *
@@ -189,8 +189,7 @@ class Controller {
189
189
  * @param advancedOrderReject Additional error data (optional).
190
190
  */
191
191
  emitError(errMsg, code, reqId, advancedOrderReject) {
192
- // if (advancedOrderReject) errMsg += ", advancedOrderReject: " + JSON.stringify(advancedOrderReject);
193
- this.emitEvent(event_name_1.EventName.error, new Error(errMsg), code, reqId, advancedOrderReject);
192
+ this.emitEvent(event_name_1.EventName.error, new Error(errMsg), code, reqId ?? errorCode_1.ErrorCode.NO_VALID_ID, advancedOrderReject);
194
193
  }
195
194
  /**
196
195
  * Execute a command.
@@ -211,7 +210,7 @@ class Controller {
211
210
  this.socket.connect(clientId);
212
211
  }
213
212
  else {
214
- this.emitError("Cannot connect if already connected.", errorCode_1.ErrorCode.CONNECT_FAIL, -1);
213
+ this.emitInfo("Cannot connect if already connected.", errorCode_1.ErrorCode.ALREADY_CONNECTED);
215
214
  }
216
215
  }
217
216
  /**
@@ -239,7 +238,7 @@ class Controller {
239
238
  this.socket.send(tokens);
240
239
  }
241
240
  else {
242
- this.emitError("Cannot send data when disconnected.", errorCode_1.ErrorCode.NOT_CONNECTED, -1);
241
+ this.emitError("Cannot send data when disconnected.", errorCode_1.ErrorCode.NOT_CONNECTED, errorCode_1.ErrorCode.NO_VALID_ID);
243
242
  }
244
243
  }
245
244
  }
@@ -1 +1 @@
1
- {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../src/core/io/controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../src/core/io/controller.ts"],"names":[],"mappings":"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"}
@@ -34,7 +34,7 @@ export interface DecoderCallbacks {
34
34
  * @param reqId The request identifier which generated the error.
35
35
  * @param advancedOrderReject An object providing more information in case of an order rejection
36
36
  */
37
- emitError(errMsg: string, code: number, reqId: number, advancedOrderReject?: unknown): void;
37
+ emitError(errMsg: string, code: number, reqId?: number, advancedOrderReject?: unknown): void;
38
38
  /**
39
39
  * Emit an information message event to public API interface.
40
40
  *
@@ -267,7 +267,7 @@ class Decoder {
267
267
  case in_msg_id_1.IN_MSG_ID.USER_INFO:
268
268
  return this.decodeMsg_USER_INFO();
269
269
  default:
270
- this.callback.emitError(`No parser implementation found for token: ${in_msg_id_1.IN_MSG_ID[msgId]} (${msgId}).`, errorCode_1.ErrorCode.UNKNOWN_ID, -1);
270
+ this.callback.emitError(`No parser implementation found for token: ${in_msg_id_1.IN_MSG_ID[msgId]} (${msgId}).`, errorCode_1.ErrorCode.UNKNOWN_ID);
271
271
  }
272
272
  }
273
273
  /**
@@ -295,7 +295,7 @@ class Decoder {
295
295
  // check if all of the message data was processed and drain any remaining tokens
296
296
  if (verifyMessageBoundary) {
297
297
  if (this.dataQueue[0] !== undefined) {
298
- this.callback.emitError(`Decoding error on ${in_msg_id_1.IN_MSG_ID[msgId]}: unprocessed data left on queue (${JSON.stringify(this.dataQueue)}). Please report to https://github.com/stoqey/ib`, errorCode_1.ErrorCode.UNKNOWN_ID, -1);
298
+ this.callback.emitError(`Decoding error on ${in_msg_id_1.IN_MSG_ID[msgId]}: unprocessed data left on queue (${JSON.stringify(this.dataQueue)}). Please report to https://github.com/stoqey/ib`, errorCode_1.ErrorCode.UNKNOWN_ID);
299
299
  }
300
300
  this.drainQueue();
301
301
  }
@@ -305,7 +305,7 @@ class Decoder {
305
305
  throw e;
306
306
  }
307
307
  if (verifyMessageBoundary) {
308
- this.callback.emitError(`Underrun error on ${in_msg_id_1.IN_MSG_ID[msgId]}: ${e.message} Please report to https://github.com/stoqey/ib`, errorCode_1.ErrorCode.UNKNOWN_ID, -1);
308
+ this.callback.emitError(`Underrun error on ${in_msg_id_1.IN_MSG_ID[msgId]}: ${e.message} Please report to https://github.com/stoqey/ib`, errorCode_1.ErrorCode.UNKNOWN_ID);
309
309
  }
310
310
  this.drainQueue();
311
311
  }
@@ -354,7 +354,7 @@ class Decoder {
354
354
  * Read a token from queue and return it as boolean value.
355
355
  */
356
356
  readBool() {
357
- return parseInt(this.readStr(), 10) != 0;
357
+ return !!parseInt(this.readStr());
358
358
  }
359
359
  /**
360
360
  * Read a token from queue and return it as floating point value.
@@ -542,7 +542,7 @@ class Decoder {
542
542
  const version = this.readInt();
543
543
  if (version < 2) {
544
544
  const errorMsg = this.readStr();
545
- this.callback.emitError(errorMsg, -1, -1);
545
+ this.callback.emitError(errorMsg, errorCode_1.ErrorCode.UNKNOWN_ID);
546
546
  }
547
547
  else {
548
548
  const id = this.readInt();
@@ -558,7 +558,7 @@ class Decoder {
558
558
  advancedOrderReject = JSON.parse(this.decodeUnicodeEscapedString(advancedOrderRejectJson));
559
559
  }
560
560
  }
561
- if (id === -1) {
561
+ if (id === errorCode_1.ErrorCode.NO_VALID_ID) {
562
562
  this.callback.emitInfo(msg, code);
563
563
  }
564
564
  else {
@@ -1171,7 +1171,7 @@ class Decoder {
1171
1171
  * Decode a SCANNER_PARAMETERS message from data queue and emit a scannerParameters event.
1172
1172
  */
1173
1173
  decodeMsg_SCANNER_PARAMETERS() {
1174
- this.readInt(); // version
1174
+ const _version = this.readInt();
1175
1175
  const xml = this.readStr();
1176
1176
  this.emit(event_name_1.EventName.scannerParameters, xml);
1177
1177
  }