ib-client
Version:
Interactive Brokers API client library for Node.js
24 lines (21 loc) • 1.6 kB
JavaScript
;Object.defineProperty(exports, "__esModule", { value: true });exports["default"] = void 0;var _validators = require("../validators");
var _constants = require("../constants");function _classCallCheck(instance, Constructor) {if (!(instance instanceof Constructor)) {throw new TypeError("Cannot call a class as a function");}}var _default =
function _default(_ref) {var conId = _ref.conId,symbol = _ref.symbol,strike = _ref.strike,expiry = _ref.expiry,right = _ref.right,multiplier = _ref.multiplier,currency = _ref.currency,exchange = _ref.exchange;_classCallCheck(this, _default);
if (!conId) {
(0, _validators.validateInput)(typeof symbol === 'string' && symbol.length > 0, 'Symbol must be a string.');
(0, _validators.validateInput)(typeof strike === 'number', 'Strike must be a number.');
(0, _validators.validateInput)(typeof expiry === 'string' && expiry.length > 0, 'Expiry must be a string.');
(0, _validators.validateInput)([_constants.RIGHT.CALL, _constants.RIGHT.PUT].includes(right), 'Right must either be CALL or PUT.');
} else {
(0, _validators.validateInput)(typeof conId === 'number', 'Contract Id must be a number.');
}
this.conId = conId || undefined;
this.symbol = symbol || undefined;
this.secType = _constants.SEC_TYPE.STOCK_OPTION;
this.strike = strike || undefined;
this.expiry = expiry || undefined;
this.right = right || undefined;
this.multiplier = multiplier || 100;
this.currency = currency || _constants.DEFAULT_CURRENCY;
this.exchange = exchange || _constants.DEFAULT_EXCHANGE;
};exports["default"] = _default;