@tastytrade/api 3.0.0 → 4.0.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 (107) hide show
  1. package/.vscode/launch.json +29 -0
  2. package/CHANGELOG.md +26 -0
  3. package/CODEOWNERS +1 -0
  4. package/README.md +4 -2
  5. package/dist/account-streamer.d.ts +7 -6
  6. package/dist/account-streamer.d.ts.map +1 -0
  7. package/dist/account-streamer.js +145 -228
  8. package/dist/account-streamer.js.map +1 -0
  9. package/dist/market-data-streamer.d.ts +7 -5
  10. package/dist/market-data-streamer.d.ts.map +1 -0
  11. package/dist/market-data-streamer.js +139 -172
  12. package/dist/market-data-streamer.js.map +1 -0
  13. package/dist/models/tastytrade-session.d.ts +1 -0
  14. package/dist/models/tastytrade-session.d.ts.map +1 -0
  15. package/dist/models/tastytrade-session.js +10 -20
  16. package/dist/models/tastytrade-session.js.map +1 -0
  17. package/dist/services/account-status-service.d.ts +2 -1
  18. package/dist/services/account-status-service.d.ts.map +1 -0
  19. package/dist/services/account-status-service.js +12 -61
  20. package/dist/services/account-status-service.js.map +1 -0
  21. package/dist/services/accounts-and-customers-service.d.ts +2 -1
  22. package/dist/services/accounts-and-customers-service.d.ts.map +1 -0
  23. package/dist/services/accounts-and-customers-service.js +29 -112
  24. package/dist/services/accounts-and-customers-service.js.map +1 -0
  25. package/dist/services/balances-and-positions-service.d.ts +2 -1
  26. package/dist/services/balances-and-positions-service.d.ts.map +1 -0
  27. package/dist/services/balances-and-positions-service.js +22 -88
  28. package/dist/services/balances-and-positions-service.js.map +1 -0
  29. package/dist/services/instruments-service.d.ts +2 -1
  30. package/dist/services/instruments-service.d.ts.map +1 -0
  31. package/dist/services/instruments-service.js +130 -365
  32. package/dist/services/instruments-service.js.map +1 -0
  33. package/dist/services/margin-requirements-service.d.ts +2 -1
  34. package/dist/services/margin-requirements-service.d.ts.map +1 -0
  35. package/dist/services/margin-requirements-service.js +16 -73
  36. package/dist/services/margin-requirements-service.js.map +1 -0
  37. package/dist/services/market-metrics-service.d.ts +2 -1
  38. package/dist/services/market-metrics-service.d.ts.map +1 -0
  39. package/dist/services/market-metrics-service.js +21 -88
  40. package/dist/services/market-metrics-service.js.map +1 -0
  41. package/dist/services/net-liquidating-value-history-service.d.ts +2 -1
  42. package/dist/services/net-liquidating-value-history-service.d.ts.map +1 -0
  43. package/dist/services/net-liquidating-value-history-service.js +16 -74
  44. package/dist/services/net-liquidating-value-history-service.js.map +1 -0
  45. package/dist/services/orders-service.d.ts +4 -1
  46. package/dist/services/orders-service.d.ts.map +1 -0
  47. package/dist/services/orders-service.js +76 -205
  48. package/dist/services/orders-service.js.map +1 -0
  49. package/dist/services/risk-parameters-service.d.ts +2 -1
  50. package/dist/services/risk-parameters-service.d.ts.map +1 -0
  51. package/dist/services/risk-parameters-service.js +16 -73
  52. package/dist/services/risk-parameters-service.js.map +1 -0
  53. package/dist/services/session-service.d.ts +2 -1
  54. package/dist/services/session-service.d.ts.map +1 -0
  55. package/dist/services/session-service.js +30 -110
  56. package/dist/services/session-service.js.map +1 -0
  57. package/dist/services/symbol-search-service.d.ts +2 -1
  58. package/dist/services/symbol-search-service.d.ts.map +1 -0
  59. package/dist/services/symbol-search-service.js +11 -60
  60. package/dist/services/symbol-search-service.js.map +1 -0
  61. package/dist/services/tastytrade-http-client.d.ts +2 -2
  62. package/dist/services/tastytrade-http-client.d.ts.map +1 -0
  63. package/dist/services/tastytrade-http-client.js +51 -133
  64. package/dist/services/tastytrade-http-client.js.map +1 -0
  65. package/dist/services/transactions-service.d.ts +2 -1
  66. package/dist/services/transactions-service.d.ts.map +1 -0
  67. package/dist/services/transactions-service.js +22 -87
  68. package/dist/services/transactions-service.js.map +1 -0
  69. package/dist/services/watchlists-service.d.ts +2 -1
  70. package/dist/services/watchlists-service.d.ts.map +1 -0
  71. package/dist/services/watchlists-service.js +51 -165
  72. package/dist/services/watchlists-service.js.map +1 -0
  73. package/dist/tastytrade-api.d.ts +20 -19
  74. package/dist/tastytrade-api.d.ts.map +1 -0
  75. package/dist/tastytrade-api.js +41 -77
  76. package/dist/tastytrade-api.js.map +1 -0
  77. package/dist/utils/constants.d.ts +1 -0
  78. package/dist/utils/constants.d.ts.map +1 -0
  79. package/dist/utils/constants.js +2 -4
  80. package/dist/utils/constants.js.map +1 -0
  81. package/dist/utils/json-util.d.ts +4 -3
  82. package/dist/utils/json-util.d.ts.map +1 -0
  83. package/dist/utils/json-util.js +14 -25
  84. package/dist/utils/json-util.js.map +1 -0
  85. package/dist/utils/response-util.d.ts +1 -0
  86. package/dist/utils/response-util.d.ts.map +1 -0
  87. package/dist/utils/response-util.js +7 -12
  88. package/dist/utils/response-util.js.map +1 -0
  89. package/lib/account-streamer.ts +4 -4
  90. package/lib/market-data-streamer.ts +5 -1
  91. package/lib/services/account-status-service.ts +3 -3
  92. package/lib/services/accounts-and-customers-service.ts +2 -2
  93. package/lib/services/balances-and-positions-service.ts +2 -2
  94. package/lib/services/instruments-service.ts +2 -2
  95. package/lib/services/margin-requirements-service.ts +2 -2
  96. package/lib/services/market-metrics-service.ts +2 -2
  97. package/lib/services/net-liquidating-value-history-service.ts +2 -2
  98. package/lib/services/orders-service.ts +14 -2
  99. package/lib/services/risk-parameters-service.ts +2 -2
  100. package/lib/services/session-service.ts +2 -2
  101. package/lib/services/symbol-search-service.ts +2 -2
  102. package/lib/services/tastytrade-http-client.ts +15 -13
  103. package/lib/services/transactions-service.ts +2 -2
  104. package/lib/services/watchlists-service.ts +2 -2
  105. package/lib/tastytrade-api.ts +19 -19
  106. package/package.json +14 -9
  107. package/tsconfig.json +12 -11
@@ -1,370 +1,135 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- var __importDefault = (this && this.__importDefault) || function (mod) {
39
- return (mod && mod.__esModule) ? mod : { "default": mod };
40
- };
41
- Object.defineProperty(exports, "__esModule", { value: true });
42
- var response_util_1 = __importDefault(require("../utils/response-util"));
43
- var lodash_1 = __importDefault(require("lodash"));
44
- var InstrumentsService = /** @class */ (function () {
45
- function InstrumentsService(httpClient) {
1
+ import extractResponseData from "../utils/response-util.js";
2
+ import TastytradeHttpClient from "./tastytrade-http-client.js";
3
+ import _ from 'lodash';
4
+ export default class InstrumentsService {
5
+ constructor(httpClient) {
46
6
  this.httpClient = httpClient;
47
7
  }
48
8
  //Instruments: Allows an API client to fetch data about instruments.
49
- InstrumentsService.prototype.getCryptocurrencies = function (symbols) {
50
- if (symbols === void 0) { symbols = []; }
51
- return __awaiter(this, void 0, void 0, function () {
52
- var queryParams, cryptocurrencies;
53
- return __generator(this, function (_a) {
54
- switch (_a.label) {
55
- case 0:
56
- queryParams = { symbol: symbols };
57
- return [4 /*yield*/, this.httpClient.getData("/instruments/cryptocurrencies", {}, queryParams)];
58
- case 1:
59
- cryptocurrencies = (_a.sent());
60
- return [2 /*return*/, (0, response_util_1.default)(cryptocurrencies)];
61
- }
62
- });
63
- });
64
- };
65
- InstrumentsService.prototype.getSingleCryptocurrency = function (symbol) {
66
- return __awaiter(this, void 0, void 0, function () {
67
- var encodedSymbol, singleCryptocurrency;
68
- return __generator(this, function (_a) {
69
- switch (_a.label) {
70
- case 0:
71
- encodedSymbol = encodeURIComponent(symbol);
72
- return [4 /*yield*/, this.httpClient.getData("/instruments/cryptocurrencies/".concat(encodedSymbol), {}, {})];
73
- case 1:
74
- singleCryptocurrency = (_a.sent());
75
- return [2 /*return*/, (0, response_util_1.default)(singleCryptocurrency)];
76
- }
77
- });
78
- });
79
- };
80
- InstrumentsService.prototype.getActiveEquities = function (queryParams) {
81
- if (queryParams === void 0) { queryParams = {}; }
82
- return __awaiter(this, void 0, void 0, function () {
83
- var activeEquities;
84
- return __generator(this, function (_a) {
85
- switch (_a.label) {
86
- case 0: return [4 /*yield*/, this.httpClient.getData("/instruments/equities/active", {}, queryParams)];
87
- case 1:
88
- activeEquities = (_a.sent());
89
- return [2 /*return*/, (0, response_util_1.default)(activeEquities)];
90
- }
91
- });
92
- });
93
- };
94
- InstrumentsService.prototype.getEquityDefinitions = function (queryParams) {
95
- if (queryParams === void 0) { queryParams = {}; }
96
- return __awaiter(this, void 0, void 0, function () {
97
- var equityDefinitions;
98
- return __generator(this, function (_a) {
99
- switch (_a.label) {
100
- case 0: return [4 /*yield*/, this.httpClient.getData("/instruments/equities", {}, queryParams)];
101
- case 1:
102
- equityDefinitions = (_a.sent());
103
- return [2 /*return*/, (0, response_util_1.default)(equityDefinitions)];
104
- }
105
- });
106
- });
107
- };
108
- InstrumentsService.prototype.getSingleEquity = function (symbol) {
109
- return __awaiter(this, void 0, void 0, function () {
110
- var singleEquity;
111
- return __generator(this, function (_a) {
112
- switch (_a.label) {
113
- case 0: return [4 /*yield*/, this.httpClient.getData("/instruments/equities/".concat(symbol), {}, {})];
114
- case 1:
115
- singleEquity = (_a.sent());
116
- return [2 /*return*/, (0, response_util_1.default)(singleEquity)];
117
- }
118
- });
119
- });
120
- };
121
- InstrumentsService.prototype.getEquityOptions = function (symbols, active, withExpired) {
122
- if (active === void 0) { active = true; }
123
- if (withExpired === void 0) { withExpired = false; }
124
- return __awaiter(this, void 0, void 0, function () {
125
- var queryParams, equityOptions;
126
- return __generator(this, function (_a) {
127
- switch (_a.label) {
128
- case 0:
129
- if (lodash_1.default.isEmpty(symbols)) {
130
- throw new Error('Symbols are required for InstrumentService.getEquityOptions');
131
- }
132
- queryParams = { symbols: symbols, active: active, withExpired: withExpired };
133
- return [4 /*yield*/, this.httpClient.getData("/instruments/equity-options", {}, queryParams)];
134
- case 1:
135
- equityOptions = (_a.sent());
136
- return [2 /*return*/, (0, response_util_1.default)(equityOptions)];
137
- }
138
- });
139
- });
140
- };
141
- InstrumentsService.prototype.getSingleEquityOption = function (symbol, queryParams) {
142
- if (queryParams === void 0) { queryParams = {}; }
143
- return __awaiter(this, void 0, void 0, function () {
144
- var singleOption;
145
- return __generator(this, function (_a) {
146
- switch (_a.label) {
147
- case 0: return [4 /*yield*/, this.httpClient.getData("/instruments/equity-options/".concat(symbol), {}, queryParams)];
148
- case 1:
149
- singleOption = _a.sent();
150
- return [2 /*return*/, (0, response_util_1.default)(singleOption)];
151
- }
152
- });
153
- });
154
- };
155
- InstrumentsService.prototype.getFutures = function (queryParams) {
156
- if (queryParams === void 0) { queryParams = {}; }
157
- return __awaiter(this, void 0, void 0, function () {
158
- var futures;
159
- return __generator(this, function (_a) {
160
- switch (_a.label) {
161
- case 0: return [4 /*yield*/, this.httpClient.getData("/instruments/futures", {}, queryParams)];
162
- case 1:
163
- futures = (_a.sent());
164
- return [2 /*return*/, (0, response_util_1.default)(futures)];
165
- }
166
- });
167
- });
168
- };
169
- InstrumentsService.prototype.getSingleFuture = function (symbol) {
170
- return __awaiter(this, void 0, void 0, function () {
171
- var singleFuture;
172
- return __generator(this, function (_a) {
173
- switch (_a.label) {
174
- case 0: return [4 /*yield*/, this.httpClient.getData("/instruments/futures/".concat(symbol), {}, {})];
175
- case 1:
176
- singleFuture = _a.sent();
177
- return [2 /*return*/, (0, response_util_1.default)(singleFuture)];
178
- }
179
- });
180
- });
181
- };
182
- InstrumentsService.prototype.getFutureOptionsProducts = function () {
183
- return __awaiter(this, void 0, void 0, function () {
184
- var futureOptionsProducts;
185
- return __generator(this, function (_a) {
186
- switch (_a.label) {
187
- case 0: return [4 /*yield*/, this.httpClient.getData("/instruments/future-option-products", {}, {})];
188
- case 1:
189
- futureOptionsProducts = (_a.sent());
190
- return [2 /*return*/, (0, response_util_1.default)(futureOptionsProducts)];
191
- }
192
- });
193
- });
194
- };
195
- InstrumentsService.prototype.getSingleFutureOptionProduct = function (exchange, rootSymbol) {
196
- return __awaiter(this, void 0, void 0, function () {
197
- var singleFutureOptionProduct;
198
- return __generator(this, function (_a) {
199
- switch (_a.label) {
200
- case 0: return [4 /*yield*/, this.httpClient.getData("/instruments/future-option-products/".concat(exchange, "/").concat(rootSymbol), {}, {})];
201
- case 1:
202
- singleFutureOptionProduct = (_a.sent());
203
- return [2 /*return*/, (0, response_util_1.default)(singleFutureOptionProduct)];
204
- }
205
- });
206
- });
207
- };
208
- InstrumentsService.prototype.getFutureOptions = function (queryParams) {
209
- if (queryParams === void 0) { queryParams = {}; }
210
- return __awaiter(this, void 0, void 0, function () {
211
- var futureOptions;
212
- return __generator(this, function (_a) {
213
- switch (_a.label) {
214
- case 0: return [4 /*yield*/, this.httpClient.getData("/instruments/future-options", {}, queryParams)];
215
- case 1:
216
- futureOptions = (_a.sent());
217
- return [2 /*return*/, (0, response_util_1.default)(futureOptions)];
218
- }
219
- });
220
- });
221
- };
222
- InstrumentsService.prototype.getSingleFutureOption = function (symbol) {
223
- return __awaiter(this, void 0, void 0, function () {
224
- var singleFutureOption;
225
- return __generator(this, function (_a) {
226
- switch (_a.label) {
227
- case 0: return [4 /*yield*/, this.httpClient.getData("/instruments/future-options/".concat(symbol), {}, {})];
228
- case 1:
229
- singleFutureOption = _a.sent();
230
- return [2 /*return*/, (0, response_util_1.default)(singleFutureOption)];
231
- }
232
- });
233
- });
234
- };
235
- InstrumentsService.prototype.getFuturesProducts = function () {
236
- return __awaiter(this, void 0, void 0, function () {
237
- var futuresProducts;
238
- return __generator(this, function (_a) {
239
- switch (_a.label) {
240
- case 0: return [4 /*yield*/, this.httpClient.getData("/instruments/future-products", {}, {})];
241
- case 1:
242
- futuresProducts = (_a.sent());
243
- return [2 /*return*/, (0, response_util_1.default)(futuresProducts)];
244
- }
245
- });
246
- });
247
- };
248
- InstrumentsService.prototype.getSingleFutureProduct = function (exchange, code) {
249
- return __awaiter(this, void 0, void 0, function () {
250
- var singleFutureProduct;
251
- return __generator(this, function (_a) {
252
- switch (_a.label) {
253
- case 0: return [4 /*yield*/, this.httpClient.getData("/instruments/future-products/".concat(exchange, "/").concat(code), {}, {})];
254
- case 1:
255
- singleFutureProduct = (_a.sent());
256
- return [2 /*return*/, (0, response_util_1.default)(singleFutureProduct)];
257
- }
258
- });
259
- });
260
- };
261
- InstrumentsService.prototype.getQuantityDecimalPrecisions = function () {
262
- return __awaiter(this, void 0, void 0, function () {
263
- var quantityDecimalPrecisions;
264
- return __generator(this, function (_a) {
265
- switch (_a.label) {
266
- case 0: return [4 /*yield*/, this.httpClient.getData("/instruments/quantity-decimal-precisions", {}, {})];
267
- case 1:
268
- quantityDecimalPrecisions = (_a.sent());
269
- return [2 /*return*/, (0, response_util_1.default)(quantityDecimalPrecisions)];
270
- }
271
- });
272
- });
273
- };
274
- InstrumentsService.prototype.getWarrants = function (queryParams) {
275
- if (queryParams === void 0) { queryParams = {}; }
276
- return __awaiter(this, void 0, void 0, function () {
277
- var warrants;
278
- return __generator(this, function (_a) {
279
- switch (_a.label) {
280
- case 0: return [4 /*yield*/, this.httpClient.getData("/instruments/warrants", {}, queryParams)];
281
- case 1:
282
- warrants = (_a.sent());
283
- return [2 /*return*/, (0, response_util_1.default)(warrants)];
284
- }
285
- });
286
- });
287
- };
288
- InstrumentsService.prototype.getSingleWarrant = function (symbol) {
289
- return __awaiter(this, void 0, void 0, function () {
290
- var singleWarrant;
291
- return __generator(this, function (_a) {
292
- switch (_a.label) {
293
- case 0: return [4 /*yield*/, this.httpClient.getData("/instruments/warrants/".concat(symbol), {}, {})];
294
- case 1:
295
- singleWarrant = (_a.sent());
296
- return [2 /*return*/, (0, response_util_1.default)(singleWarrant)];
297
- }
298
- });
299
- });
300
- };
9
+ async getCryptocurrencies(symbols = []) {
10
+ //Retrieve a set of cryptocurrencies given an array of one or more symbols.
11
+ const queryParams = { symbol: symbols };
12
+ const cryptocurrencies = (await this.httpClient.getData(`/instruments/cryptocurrencies`, {}, queryParams));
13
+ return extractResponseData(cryptocurrencies);
14
+ }
15
+ async getSingleCryptocurrency(symbol) {
16
+ //Retrieve a cryptocurrency given a symbol.
17
+ const encodedSymbol = encodeURIComponent(symbol);
18
+ const singleCryptocurrency = (await this.httpClient.getData(`/instruments/cryptocurrencies/${encodedSymbol}`, {}, {}));
19
+ return extractResponseData(singleCryptocurrency);
20
+ }
21
+ async getActiveEquities(queryParams = {}) {
22
+ //Returns all active equities in a paginated fashion
23
+ const activeEquities = (await this.httpClient.getData(`/instruments/equities/active`, {}, queryParams));
24
+ return extractResponseData(activeEquities);
25
+ }
26
+ async getEquityDefinitions(queryParams = {}) {
27
+ //Returns a set of equity definitions given an array of one or more symbols
28
+ const equityDefinitions = (await this.httpClient.getData(`/instruments/equities`, {}, queryParams));
29
+ return extractResponseData(equityDefinitions);
30
+ }
31
+ async getSingleEquity(symbol) {
32
+ //Returns a single equity definition for the provided symbol
33
+ const singleEquity = (await this.httpClient.getData(`/instruments/equities/${symbol}`, {}, {}));
34
+ return extractResponseData(singleEquity);
35
+ }
36
+ async getEquityOptions(symbols, active = true, withExpired = false) {
37
+ if (_.isEmpty(symbols)) {
38
+ throw new Error('Symbols are required for InstrumentService.getEquityOptions');
39
+ }
40
+ //Returns a set of equity options given one or more symbols
41
+ const queryParams = { symbols, active, withExpired };
42
+ const equityOptions = (await this.httpClient.getData(`/instruments/equity-options`, {}, queryParams));
43
+ return extractResponseData(equityOptions);
44
+ }
45
+ async getSingleEquityOption(symbol, queryParams = {}) {
46
+ //Get equity option by symbol
47
+ const singleOption = await this.httpClient.getData(`/instruments/equity-options/${symbol}`, {}, queryParams);
48
+ return extractResponseData(singleOption);
49
+ }
50
+ async getFutures(queryParams = {}) {
51
+ //Returns a set of outright futures given an array of one or more symbols.
52
+ const futures = (await this.httpClient.getData(`/instruments/futures`, {}, queryParams));
53
+ return extractResponseData(futures);
54
+ }
55
+ async getSingleFuture(symbol) {
56
+ //Returns an outright future given a symbol.
57
+ const singleFuture = await this.httpClient.getData(`/instruments/futures/${symbol}`, {}, {});
58
+ return extractResponseData(singleFuture);
59
+ }
60
+ async getFutureOptionsProducts() {
61
+ //Returns metadata for all supported future option products
62
+ const futureOptionsProducts = (await this.httpClient.getData(`/instruments/future-option-products`, {}, {}));
63
+ return extractResponseData(futureOptionsProducts);
64
+ }
65
+ async getSingleFutureOptionProduct(exchange, rootSymbol) {
66
+ //Get a future option product by exchange and root symbol
67
+ const singleFutureOptionProduct = (await this.httpClient.getData(`/instruments/future-option-products/${exchange}/${rootSymbol}`, {}, {}));
68
+ return extractResponseData(singleFutureOptionProduct);
69
+ }
70
+ async getFutureOptions(queryParams = {}) {
71
+ //Returns a set of future option(s) given an array of one or more symbols.
72
+ //Uses TW symbology: [./ESZ9 EW4U9 190927P2975]
73
+ const futureOptions = (await this.httpClient.getData(`/instruments/future-options`, {}, queryParams));
74
+ return extractResponseData(futureOptions);
75
+ }
76
+ async getSingleFutureOption(symbol) {
77
+ //Returns a future option given a symbol. Uses TW symbology: ./ESZ9 EW4U9 190927P2975
78
+ const singleFutureOption = await this.httpClient.getData(`/instruments/future-options/${symbol}`, {}, {});
79
+ return extractResponseData(singleFutureOption);
80
+ }
81
+ async getFuturesProducts() {
82
+ //Returns metadata for all supported futures products
83
+ const futuresProducts = (await this.httpClient.getData(`/instruments/future-products`, {}, {}));
84
+ return extractResponseData(futuresProducts);
85
+ }
86
+ async getSingleFutureProduct(exchange, code) {
87
+ //Get future product from exchange and product code
88
+ const singleFutureProduct = (await this.httpClient.getData(`/instruments/future-products/${exchange}/${code}`, {}, {}));
89
+ return extractResponseData(singleFutureProduct);
90
+ }
91
+ async getQuantityDecimalPrecisions() {
92
+ //Retrieve all quantity decimal precisions.
93
+ const quantityDecimalPrecisions = (await this.httpClient.getData(`/instruments/quantity-decimal-precisions`, {}, {}));
94
+ return extractResponseData(quantityDecimalPrecisions);
95
+ }
96
+ async getWarrants(queryParams = {}) {
97
+ //Returns a set of warrant definitions that can be filtered by parameters
98
+ const warrants = (await this.httpClient.getData(`/instruments/warrants`, {}, queryParams));
99
+ return extractResponseData(warrants);
100
+ }
101
+ async getSingleWarrant(symbol) {
102
+ //Returns a single warrant definition for the provided symbol
103
+ const singleWarrant = (await this.httpClient.getData(`/instruments/warrants/${symbol}`, {}, {}));
104
+ return extractResponseData(singleWarrant);
105
+ }
301
106
  //Futures-option-chains: Allows an API client to fetch futures option chains.
302
- InstrumentsService.prototype.getNestedFutureOptionChains = function (symbol) {
303
- return __awaiter(this, void 0, void 0, function () {
304
- var nestedFutureOptionChains;
305
- return __generator(this, function (_a) {
306
- switch (_a.label) {
307
- case 0: return [4 /*yield*/, this.httpClient.getData("/futures-option-chains/".concat(symbol, "/nested"), {}, {})];
308
- case 1:
309
- nestedFutureOptionChains = (_a.sent());
310
- return [2 /*return*/, (0, response_util_1.default)(nestedFutureOptionChains)];
311
- }
312
- });
313
- });
314
- };
315
- InstrumentsService.prototype.getFutureOptionChain = function (symbol) {
316
- return __awaiter(this, void 0, void 0, function () {
317
- var futureOptionChain;
318
- return __generator(this, function (_a) {
319
- switch (_a.label) {
320
- case 0: return [4 /*yield*/, this.httpClient.getData("/futures-option-chains/".concat(symbol), {}, {})];
321
- case 1:
322
- futureOptionChain = (_a.sent());
323
- return [2 /*return*/, (0, response_util_1.default)(futureOptionChain)];
324
- }
325
- });
326
- });
327
- };
107
+ async getNestedFutureOptionChains(symbol) {
108
+ //Returns a futures option chain given a futures product code in a nested form to minimize redundant processing
109
+ const nestedFutureOptionChains = (await this.httpClient.getData(`/futures-option-chains/${symbol}/nested`, {}, {}));
110
+ return extractResponseData(nestedFutureOptionChains);
111
+ }
112
+ async getFutureOptionChain(symbol) {
113
+ //Returns a futures option chain given a futures product code, i.e. ES
114
+ const futureOptionChain = (await this.httpClient.getData(`/futures-option-chains/${symbol}`, {}, {}));
115
+ return extractResponseData(futureOptionChain);
116
+ }
328
117
  //Option-chains: Allows an API client to fetch futures option chains.
329
- InstrumentsService.prototype.getNestedOptionChain = function (symbol) {
330
- return __awaiter(this, void 0, void 0, function () {
331
- var nestedOptionChain;
332
- return __generator(this, function (_a) {
333
- switch (_a.label) {
334
- case 0: return [4 /*yield*/, this.httpClient.getData("/option-chains/".concat(symbol, "/nested"), {}, {})];
335
- case 1:
336
- nestedOptionChain = (_a.sent());
337
- return [2 /*return*/, (0, response_util_1.default)(nestedOptionChain)];
338
- }
339
- });
340
- });
341
- };
342
- InstrumentsService.prototype.getCompactOptionChain = function (symbol) {
343
- return __awaiter(this, void 0, void 0, function () {
344
- var compactOptionChain;
345
- return __generator(this, function (_a) {
346
- switch (_a.label) {
347
- case 0: return [4 /*yield*/, this.httpClient.getData("/option-chains/".concat(symbol, "/compact"), {}, {})];
348
- case 1:
349
- compactOptionChain = (_a.sent());
350
- return [2 /*return*/, (0, response_util_1.default)(compactOptionChain)];
351
- }
352
- });
353
- });
354
- };
355
- InstrumentsService.prototype.getOptionChain = function (symbol) {
356
- return __awaiter(this, void 0, void 0, function () {
357
- var optionChain;
358
- return __generator(this, function (_a) {
359
- switch (_a.label) {
360
- case 0: return [4 /*yield*/, this.httpClient.getData("/option-chains/".concat(symbol), {}, {})];
361
- case 1:
362
- optionChain = (_a.sent());
363
- return [2 /*return*/, (0, response_util_1.default)(optionChain)];
364
- }
365
- });
366
- });
367
- };
368
- return InstrumentsService;
369
- }());
370
- exports.default = InstrumentsService;
118
+ async getNestedOptionChain(symbol) {
119
+ //Returns an option chain given an underlying symbol,
120
+ //i.e. AAPL in a nested form to minimize redundant processing
121
+ const nestedOptionChain = (await this.httpClient.getData(`/option-chains/${symbol}/nested`, {}, {}));
122
+ return extractResponseData(nestedOptionChain);
123
+ }
124
+ async getCompactOptionChain(symbol) {
125
+ //Returns an option chain given an underlying symbol, i.e. AAPL in a compact form to minimize content size
126
+ const compactOptionChain = (await this.httpClient.getData(`/option-chains/${symbol}/compact`, {}, {}));
127
+ return extractResponseData(compactOptionChain);
128
+ }
129
+ async getOptionChain(symbol) {
130
+ //Returns an option chain given an underlying symbol, i.e. AAPL
131
+ const optionChain = (await this.httpClient.getData(`/option-chains/${symbol}`, {}, {}));
132
+ return extractResponseData(optionChain);
133
+ }
134
+ }
135
+ //# sourceMappingURL=instruments-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instruments-service.js","sourceRoot":"","sources":["../../lib/services/instruments-service.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
- import TastytradeHttpClient from "./tastytrade-http-client";
1
+ import TastytradeHttpClient from "./tastytrade-http-client.js";
2
2
  export default class MarginRequirementsService {
3
3
  private httpClient;
4
4
  constructor(httpClient: TastytradeHttpClient);
5
5
  getMarginRequirements(accountNumber: string): Promise<any>;
6
6
  postMarginRequirements(accountNumber: string, order: object): Promise<any>;
7
7
  }
8
+ //# sourceMappingURL=margin-requirements-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"margin-requirements-service.d.ts","sourceRoot":"","sources":["../../lib/services/margin-requirements-service.ts"],"names":[],"mappings":"AACA,OAAO,oBAAoB,MAAM,6BAA6B,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,yBAAyB;IAC9B,OAAO,CAAC,UAAU;gBAAV,UAAU,EAAE,oBAAoB;IAI9C,qBAAqB,CAAC,aAAa,EAAE,MAAM;IAK3C,sBAAsB,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;CAKpE"}
@@ -1,76 +1,19 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- var __importDefault = (this && this.__importDefault) || function (mod) {
39
- return (mod && mod.__esModule) ? mod : { "default": mod };
40
- };
41
- Object.defineProperty(exports, "__esModule", { value: true });
42
- var response_util_1 = __importDefault(require("../utils/response-util"));
43
- var MarginRequirementsService = /** @class */ (function () {
44
- function MarginRequirementsService(httpClient) {
1
+ import extractResponseData from "../utils/response-util.js";
2
+ import TastytradeHttpClient from "./tastytrade-http-client.js";
3
+ export default class MarginRequirementsService {
4
+ constructor(httpClient) {
45
5
  this.httpClient = httpClient;
46
6
  }
47
7
  //Margin-requirements: Allows a client to fetch margin-requirements for positions and orders
48
- MarginRequirementsService.prototype.getMarginRequirements = function (accountNumber) {
49
- return __awaiter(this, void 0, void 0, function () {
50
- var marginRequirements;
51
- return __generator(this, function (_a) {
52
- switch (_a.label) {
53
- case 0: return [4 /*yield*/, this.httpClient.getData("/margin/accounts/".concat(accountNumber, "/requirements"))];
54
- case 1:
55
- marginRequirements = (_a.sent());
56
- return [2 /*return*/, (0, response_util_1.default)(marginRequirements)];
57
- }
58
- });
59
- });
60
- };
61
- MarginRequirementsService.prototype.postMarginRequirements = function (accountNumber, order) {
62
- return __awaiter(this, void 0, void 0, function () {
63
- var marginRequirements;
64
- return __generator(this, function (_a) {
65
- switch (_a.label) {
66
- case 0: return [4 /*yield*/, this.httpClient.postData("/margin/accounts/".concat(accountNumber, "/dry-run"), order, {})];
67
- case 1:
68
- marginRequirements = (_a.sent());
69
- return [2 /*return*/, (0, response_util_1.default)(marginRequirements)];
70
- }
71
- });
72
- });
73
- };
74
- return MarginRequirementsService;
75
- }());
76
- exports.default = MarginRequirementsService;
8
+ async getMarginRequirements(accountNumber) {
9
+ //Fetch current margin/captial requirements report for an account
10
+ const marginRequirements = (await this.httpClient.getData(`/margin/accounts/${accountNumber}/requirements`));
11
+ return extractResponseData(marginRequirements);
12
+ }
13
+ async postMarginRequirements(accountNumber, order) {
14
+ //Estimate margin requirements for an order given an account
15
+ const marginRequirements = (await this.httpClient.postData(`/margin/accounts/${accountNumber}/dry-run`, order, {}));
16
+ return extractResponseData(marginRequirements);
17
+ }
18
+ }
19
+ //# sourceMappingURL=margin-requirements-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"margin-requirements-service.js","sourceRoot":"","sources":["../../lib/services/margin-requirements-service.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAC5D,OAAO,oBAAoB,MAAM,6BAA6B,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,yBAAyB;IAC1C,YAAoB,UAAgC;QAAhC,eAAU,GAAV,UAAU,CAAsB;IACpD,CAAC;IAED,4FAA4F;IAC5F,KAAK,CAAC,qBAAqB,CAAC,aAAqB;QAC7C,iEAAiE;QACjE,MAAM,kBAAkB,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,oBAAoB,aAAa,eAAe,CAAC,CAAC,CAAA;QAC5G,OAAO,mBAAmB,CAAC,kBAAkB,CAAC,CAAA;IAClD,CAAC;IACD,KAAK,CAAC,sBAAsB,CAAC,aAAqB,EAAE,KAAa;QAC7D,4DAA4D;QAC5D,MAAM,kBAAkB,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,oBAAoB,aAAa,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAA;QACnH,OAAO,mBAAmB,CAAC,kBAAkB,CAAC,CAAA;IAClD,CAAC;CACJ"}