@tastytrade/api 4.0.0 → 6.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.
- package/CHANGELOG.md +44 -0
- package/README.md +103 -28
- package/dist/account-streamer.d.ts +8 -4
- package/dist/account-streamer.d.ts.map +1 -1
- package/dist/account-streamer.js +28 -21
- package/dist/account-streamer.js.map +1 -1
- package/dist/logger.d.ts +24 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +40 -0
- package/dist/logger.js.map +1 -0
- package/dist/market-data-streamer.d.ts.map +1 -1
- package/dist/market-data-streamer.js +1 -0
- package/dist/market-data-streamer.js.map +1 -1
- package/dist/models/access-token.d.ts +12 -0
- package/dist/models/access-token.d.ts.map +1 -0
- package/dist/models/access-token.js +35 -0
- package/dist/models/access-token.js.map +1 -0
- package/dist/models/tastytrade-session.d.ts.map +1 -1
- package/dist/models/tastytrade-session.js.map +1 -1
- package/dist/quote-streamer.d.ts +58 -0
- package/dist/quote-streamer.d.ts.map +1 -0
- package/dist/quote-streamer.js +132 -0
- package/dist/quote-streamer.js.map +1 -0
- package/dist/services/account-status-service.js +0 -1
- package/dist/services/account-status-service.js.map +1 -1
- package/dist/services/accounts-and-customers-service.js +0 -1
- package/dist/services/accounts-and-customers-service.js.map +1 -1
- package/dist/services/balances-and-positions-service.js +0 -1
- package/dist/services/balances-and-positions-service.js.map +1 -1
- package/dist/services/instruments-service.js +1 -2
- package/dist/services/instruments-service.js.map +1 -1
- package/dist/services/margin-requirements-service.js +0 -1
- package/dist/services/margin-requirements-service.js.map +1 -1
- package/dist/services/market-metrics-service.js +0 -1
- package/dist/services/market-metrics-service.js.map +1 -1
- package/dist/services/net-liquidating-value-history-service.js +0 -1
- package/dist/services/net-liquidating-value-history-service.js.map +1 -1
- package/dist/services/orders-service.js +0 -1
- package/dist/services/orders-service.js.map +1 -1
- package/dist/services/risk-parameters-service.js +0 -1
- package/dist/services/risk-parameters-service.js.map +1 -1
- package/dist/services/session-service.d.ts +6 -1
- package/dist/services/session-service.d.ts.map +1 -1
- package/dist/services/session-service.js +10 -2
- package/dist/services/session-service.js.map +1 -1
- package/dist/services/symbol-search-service.js +0 -1
- package/dist/services/symbol-search-service.js.map +1 -1
- package/dist/services/tastytrade-http-client.d.ts +18 -2
- package/dist/services/tastytrade-http-client.d.ts.map +1 -1
- package/dist/services/tastytrade-http-client.js +73 -14
- package/dist/services/tastytrade-http-client.js.map +1 -1
- package/dist/services/transactions-service.js +0 -1
- package/dist/services/transactions-service.js.map +1 -1
- package/dist/services/watchlists-service.js +0 -1
- package/dist/services/watchlists-service.js.map +1 -1
- package/dist/tastytrade-api.d.ts +24 -5
- package/dist/tastytrade-api.d.ts.map +1 -1
- package/dist/tastytrade-api.js +26 -9
- package/dist/tastytrade-api.js.map +1 -1
- package/dist/utils/json-util.d.ts.map +1 -1
- package/dist/utils/json-util.js +0 -2
- package/dist/utils/json-util.js.map +1 -1
- package/dist/utils/response-util.d.ts.map +1 -1
- package/dist/utils/response-util.js +0 -1
- package/dist/utils/response-util.js.map +1 -1
- package/eslint.config.cjs +46 -0
- package/lib/account-streamer.ts +44 -29
- package/lib/logger.ts +53 -0
- package/lib/models/access-token.ts +40 -0
- package/lib/models/tastytrade-session.ts +1 -1
- package/lib/quote-streamer.ts +151 -0
- package/lib/services/instruments-service.ts +1 -1
- package/lib/services/session-service.ts +13 -1
- package/lib/services/tastytrade-http-client.ts +98 -16
- package/lib/tastytrade-api.ts +45 -5
- package/lib/utils/json-util.ts +0 -2
- package/lib/utils/response-util.ts +3 -4
- package/package.json +26 -18
- package/tsconfig.json +3 -3
- package/.eslintrc.cjs +0 -18
- package/lib/market-data-streamer.ts +0 -376
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"access-token.d.ts","sourceRoot":"","sources":["../../lib/models/access-token.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,WAAW;IACrB,KAAK,SAAK;IACV,SAAS,SAAI;IAEpB,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,UAAU,SAGb;IAEM,uBAAuB,CAAC,aAAa,EAAE,GAAG,GAAG,IAAI;IAKxD,IAAI,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAKvC;IAED,KAAK;CAIR"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import _ from 'lodash';
|
|
2
|
+
export default class AccessToken {
|
|
3
|
+
constructor() {
|
|
4
|
+
this.token = '';
|
|
5
|
+
this.expiresIn = 0;
|
|
6
|
+
}
|
|
7
|
+
get isExpired() {
|
|
8
|
+
return this.isEmpty || Date.now() >= this.expiration.getTime();
|
|
9
|
+
}
|
|
10
|
+
get isValid() {
|
|
11
|
+
return !_.isNil(this.token) && !this.isExpired;
|
|
12
|
+
}
|
|
13
|
+
get isEmpty() {
|
|
14
|
+
return _.isNil(this.token) || this.token.length === 0;
|
|
15
|
+
}
|
|
16
|
+
get expiration() {
|
|
17
|
+
// Set expiration a bit earlier to account for clock skew
|
|
18
|
+
return new Date(Date.now() + ((this.expiresIn - 30) * 1000));
|
|
19
|
+
}
|
|
20
|
+
updateFromTokenResponse(tokenResponse) {
|
|
21
|
+
this.token = _.get(tokenResponse, "data.access_token");
|
|
22
|
+
this.expiresIn = _.get(tokenResponse, "data.expires_in");
|
|
23
|
+
}
|
|
24
|
+
get authorizationHeader() {
|
|
25
|
+
if (this.isValid) {
|
|
26
|
+
return `Bearer ${this.token}`;
|
|
27
|
+
}
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
clear() {
|
|
31
|
+
this.token = '';
|
|
32
|
+
this.expiresIn = 0;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=access-token.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"access-token.js","sourceRoot":"","sources":["../../lib/models/access-token.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAA;AAEtB,MAAM,CAAC,OAAO,OAAO,WAAW;IAAhC;QACW,UAAK,GAAG,EAAE,CAAA;QACV,cAAS,GAAG,CAAC,CAAA;IAmCxB,CAAC;IAjCG,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;IACnE,CAAC;IAED,IAAI,OAAO;QACP,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;IACnD,CAAC;IAED,IAAI,OAAO;QACP,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,UAAU;QACV,yDAAyD;QACzD,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IACjE,CAAC;IAEM,uBAAuB,CAAC,aAAkB;QAC/C,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC;QACvD,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,mBAAmB;QACnB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO,UAAU,IAAI,CAAC,KAAK,EAAE,CAAC;QAClC,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAA;QACf,IAAI,CAAC,SAAS,GAAG,CAAC,CAAA;IACtB,CAAC;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tastytrade-session.d.ts","sourceRoot":"","sources":["../../lib/models/tastytrade-session.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,iBAAiB;
|
|
1
|
+
{"version":3,"file":"tastytrade-session.d.ts","sourceRoot":"","sources":["../../lib/models/tastytrade-session.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,iBAAiB;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAO;IAEtC,IAAI,OAAO,YAEV;IAED,KAAK;CAGR"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tastytrade-session.js","sourceRoot":"","sources":["../../lib/models/tastytrade-session.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAA;AAEtB,MAAM,CAAC,OAAO,OAAO,iBAAiB;IAAtC;
|
|
1
|
+
{"version":3,"file":"tastytrade-session.js","sourceRoot":"","sources":["../../lib/models/tastytrade-session.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAA;AAEtB,MAAM,CAAC,OAAO,OAAO,iBAAiB;IAAtC;QACW,cAAS,GAAkB,IAAI,CAAA;IAS1C,CAAC;IAPG,IAAI,OAAO;QACT,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACjC,CAAC;IAED,KAAK;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;IACzB,CAAC;CACJ"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { DXLinkFeed, type DXLinkFeedEventListener } from '@dxfeed/dxlink-api';
|
|
2
|
+
import type AccountsAndCustomersService from './services/accounts-and-customers-service.js';
|
|
3
|
+
import type Logger from './logger.js';
|
|
4
|
+
export declare enum MarketDataSubscriptionType {
|
|
5
|
+
Candle = "Candle",
|
|
6
|
+
Quote = "Quote",
|
|
7
|
+
Trade = "Trade",
|
|
8
|
+
Summary = "Summary",
|
|
9
|
+
Profile = "Profile",
|
|
10
|
+
Greeks = "Greeks",
|
|
11
|
+
Underlying = "Underlying"
|
|
12
|
+
}
|
|
13
|
+
export declare enum CandleType {
|
|
14
|
+
Tick = "t",
|
|
15
|
+
Second = "s",
|
|
16
|
+
Minute = "m",
|
|
17
|
+
Hour = "h",
|
|
18
|
+
Day = "d",
|
|
19
|
+
Week = "w",
|
|
20
|
+
Month = "mo",
|
|
21
|
+
ThirdFriday = "o",
|
|
22
|
+
Year = "y",
|
|
23
|
+
Volume = "v",
|
|
24
|
+
Price = "p"
|
|
25
|
+
}
|
|
26
|
+
export default class QuoteStreamer {
|
|
27
|
+
private readonly accountsAndCustomersService;
|
|
28
|
+
private readonly logger;
|
|
29
|
+
dxLinkFeed: DXLinkFeed<any> | null;
|
|
30
|
+
dxLinkUrl: string | null;
|
|
31
|
+
dxLinkAuthToken: string | null;
|
|
32
|
+
eventListeners: DXLinkFeedEventListener[];
|
|
33
|
+
constructor(accountsAndCustomersService: AccountsAndCustomersService, logger: Logger);
|
|
34
|
+
/**
|
|
35
|
+
* Connects to the DxLink WebSocket and sets up the feed
|
|
36
|
+
* Make sure to call disconnect() when done
|
|
37
|
+
* Calls `getApiQuoteToken` to get the connection URL and auth token
|
|
38
|
+
* Make sure you have a valid session or access token before calling this
|
|
39
|
+
*/
|
|
40
|
+
connect(): Promise<void>;
|
|
41
|
+
disconnect(): void;
|
|
42
|
+
addEventListener(listener: DXLinkFeedEventListener): () => void;
|
|
43
|
+
removeEventListener(listenerToRemove: DXLinkFeedEventListener): void;
|
|
44
|
+
subscribe(streamerSymbols: string[], types?: MarketDataSubscriptionType[] | null): void;
|
|
45
|
+
unsubscribe(streamerSymbols: string[]): void;
|
|
46
|
+
/**
|
|
47
|
+
* Adds a candle subscription
|
|
48
|
+
* @param streamerSymbol Get this from an instrument's streamer-symbol json response field
|
|
49
|
+
* @param fromTime Epoch timestamp from where you want to start
|
|
50
|
+
* @param period The duration of each candle
|
|
51
|
+
* @param type The duration type of the period
|
|
52
|
+
* For example, a period/type of 5/m means you want each candle to represent 5 minutes of data
|
|
53
|
+
* From there, setting fromTime to 24 hours ago would give you 24 hours of data grouped in 5 minute intervals
|
|
54
|
+
* @returns
|
|
55
|
+
*/
|
|
56
|
+
subscribeCandles(streamerSymbol: string, fromTime: number, period: number, type: CandleType): void;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=quote-streamer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quote-streamer.d.ts","sourceRoot":"","sources":["../lib/quote-streamer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,UAAU,EAAgC,KAAK,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AAClI,OAAO,KAAK,2BAA2B,MAAM,8CAA8C,CAAA;AAC3F,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAKrC,oBAAY,0BAA0B;IACpC,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,UAAU,eAAe;CAC1B;AAWD,oBAAY,UAAU;IACpB,IAAI,MAAM;IACV,MAAM,MAAM;IACZ,MAAM,MAAM;IACZ,IAAI,MAAM;IACV,GAAG,MAAM;IACT,IAAI,MAAM;IACV,KAAK,OAAO;IACZ,WAAW,MAAM;IACjB,IAAI,MAAM;IACV,MAAM,MAAM;IACZ,KAAK,MAAM;CACZ;AAED,MAAM,CAAC,OAAO,OAAO,aAAa;IAMpB,OAAO,CAAC,QAAQ,CAAC,2BAA2B;IAA+B,OAAO,CAAC,QAAQ,CAAC,MAAM;IALvG,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAO;IACzC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAO;IAC/B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAO;IACrC,cAAc,EAAE,uBAAuB,EAAE,CAAK;gBAExB,2BAA2B,EAAE,2BAA2B,EAAmB,MAAM,EAAE,MAAM;IAGtH;;;;;OAKG;IACG,OAAO;IAmBb,UAAU;IAUV,gBAAgB,CAAC,QAAQ,EAAE,uBAAuB,GAAG,MAAM,IAAI;IAW/D,mBAAmB,CAAC,gBAAgB,EAAE,uBAAuB;IAO7D,SAAS,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,KAAK,GAAE,0BAA0B,EAAE,GAAG,IAAW;IAatF,WAAW,CAAC,eAAe,EAAE,MAAM,EAAE;IAYrC;;;;;;;;;OASG;IACH,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU;CAa5F"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { DXLinkWebSocketClient, DXLinkFeed, FeedContract, FeedDataFormat } from '@dxfeed/dxlink-api';
|
|
2
|
+
import _ from 'lodash';
|
|
3
|
+
// TODO: Make sure this works in node and we don't have to override the global Websocket class
|
|
4
|
+
export var MarketDataSubscriptionType;
|
|
5
|
+
(function (MarketDataSubscriptionType) {
|
|
6
|
+
MarketDataSubscriptionType["Candle"] = "Candle";
|
|
7
|
+
MarketDataSubscriptionType["Quote"] = "Quote";
|
|
8
|
+
MarketDataSubscriptionType["Trade"] = "Trade";
|
|
9
|
+
MarketDataSubscriptionType["Summary"] = "Summary";
|
|
10
|
+
MarketDataSubscriptionType["Profile"] = "Profile";
|
|
11
|
+
MarketDataSubscriptionType["Greeks"] = "Greeks";
|
|
12
|
+
MarketDataSubscriptionType["Underlying"] = "Underlying";
|
|
13
|
+
})(MarketDataSubscriptionType || (MarketDataSubscriptionType = {}));
|
|
14
|
+
const ALL_EVENT_TYPES = [
|
|
15
|
+
MarketDataSubscriptionType.Quote,
|
|
16
|
+
MarketDataSubscriptionType.Trade,
|
|
17
|
+
MarketDataSubscriptionType.Summary,
|
|
18
|
+
MarketDataSubscriptionType.Profile,
|
|
19
|
+
MarketDataSubscriptionType.Greeks,
|
|
20
|
+
MarketDataSubscriptionType.Underlying
|
|
21
|
+
];
|
|
22
|
+
export var CandleType;
|
|
23
|
+
(function (CandleType) {
|
|
24
|
+
CandleType["Tick"] = "t";
|
|
25
|
+
CandleType["Second"] = "s";
|
|
26
|
+
CandleType["Minute"] = "m";
|
|
27
|
+
CandleType["Hour"] = "h";
|
|
28
|
+
CandleType["Day"] = "d";
|
|
29
|
+
CandleType["Week"] = "w";
|
|
30
|
+
CandleType["Month"] = "mo";
|
|
31
|
+
CandleType["ThirdFriday"] = "o";
|
|
32
|
+
CandleType["Year"] = "y";
|
|
33
|
+
CandleType["Volume"] = "v";
|
|
34
|
+
CandleType["Price"] = "p";
|
|
35
|
+
})(CandleType || (CandleType = {}));
|
|
36
|
+
export default class QuoteStreamer {
|
|
37
|
+
constructor(accountsAndCustomersService, logger) {
|
|
38
|
+
this.accountsAndCustomersService = accountsAndCustomersService;
|
|
39
|
+
this.logger = logger;
|
|
40
|
+
this.dxLinkFeed = null;
|
|
41
|
+
this.dxLinkUrl = null;
|
|
42
|
+
this.dxLinkAuthToken = null;
|
|
43
|
+
this.eventListeners = [];
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Connects to the DxLink WebSocket and sets up the feed
|
|
47
|
+
* Make sure to call disconnect() when done
|
|
48
|
+
* Calls `getApiQuoteToken` to get the connection URL and auth token
|
|
49
|
+
* Make sure you have a valid session or access token before calling this
|
|
50
|
+
*/
|
|
51
|
+
async connect() {
|
|
52
|
+
const tokenResponse = await this.accountsAndCustomersService.getApiQuoteToken();
|
|
53
|
+
this.dxLinkUrl = _.get(tokenResponse, 'dxlink-url');
|
|
54
|
+
this.dxLinkAuthToken = _.get(tokenResponse, 'token');
|
|
55
|
+
const client = new DXLinkWebSocketClient();
|
|
56
|
+
client.connect(this.dxLinkUrl);
|
|
57
|
+
client.setAuthToken(this.dxLinkAuthToken);
|
|
58
|
+
this.dxLinkFeed = new DXLinkFeed(client, FeedContract.AUTO);
|
|
59
|
+
this.dxLinkFeed.configure({
|
|
60
|
+
acceptAggregationPeriod: 10,
|
|
61
|
+
acceptDataFormat: FeedDataFormat.COMPACT
|
|
62
|
+
});
|
|
63
|
+
this.eventListeners.forEach(listener => this.dxLinkFeed.addEventListener(listener));
|
|
64
|
+
}
|
|
65
|
+
disconnect() {
|
|
66
|
+
if (_.isNil(this.dxLinkFeed)) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
this.eventListeners.forEach(listener => this.removeEventListener(listener));
|
|
70
|
+
this.dxLinkFeed = null;
|
|
71
|
+
}
|
|
72
|
+
// Returns a function that can be called to remove the listener
|
|
73
|
+
addEventListener(listener) {
|
|
74
|
+
this.eventListeners.push(listener);
|
|
75
|
+
if (this.dxLinkFeed) {
|
|
76
|
+
this.dxLinkFeed.addEventListener(listener);
|
|
77
|
+
}
|
|
78
|
+
return () => {
|
|
79
|
+
this.removeEventListener(listener);
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
removeEventListener(listenerToRemove) {
|
|
83
|
+
_.remove(this.eventListeners, listener => listener === listenerToRemove);
|
|
84
|
+
if (this.dxLinkFeed) {
|
|
85
|
+
this.dxLinkFeed.removeEventListener(listenerToRemove);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
subscribe(streamerSymbols, types = null) {
|
|
89
|
+
if (_.isNil(this.dxLinkFeed)) {
|
|
90
|
+
throw new Error('DxLink feed is not connected');
|
|
91
|
+
}
|
|
92
|
+
types = types ?? ALL_EVENT_TYPES;
|
|
93
|
+
streamerSymbols.forEach(symbol => {
|
|
94
|
+
types.forEach(type => {
|
|
95
|
+
this.dxLinkFeed.addSubscriptions({ type, symbol });
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
unsubscribe(streamerSymbols) {
|
|
100
|
+
if (_.isNil(this.dxLinkFeed)) {
|
|
101
|
+
throw new Error('DxLink feed is not connected');
|
|
102
|
+
}
|
|
103
|
+
streamerSymbols.forEach(symbol => {
|
|
104
|
+
ALL_EVENT_TYPES.forEach(type => {
|
|
105
|
+
this.dxLinkFeed.removeSubscriptions({ type, symbol });
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Adds a candle subscription
|
|
111
|
+
* @param streamerSymbol Get this from an instrument's streamer-symbol json response field
|
|
112
|
+
* @param fromTime Epoch timestamp from where you want to start
|
|
113
|
+
* @param period The duration of each candle
|
|
114
|
+
* @param type The duration type of the period
|
|
115
|
+
* For example, a period/type of 5/m means you want each candle to represent 5 minutes of data
|
|
116
|
+
* From there, setting fromTime to 24 hours ago would give you 24 hours of data grouped in 5 minute intervals
|
|
117
|
+
* @returns
|
|
118
|
+
*/
|
|
119
|
+
subscribeCandles(streamerSymbol, fromTime, period, type) {
|
|
120
|
+
// Example: AAPL{=5m} where each candle represents 5 minutes of data
|
|
121
|
+
const candleSymbol = `${streamerSymbol}{=${period}${type}}`;
|
|
122
|
+
if (_.isNil(this.dxLinkFeed)) {
|
|
123
|
+
throw new Error('DxLink feed is not connected');
|
|
124
|
+
}
|
|
125
|
+
this.dxLinkFeed.addSubscriptions({
|
|
126
|
+
type: MarketDataSubscriptionType.Candle,
|
|
127
|
+
symbol: candleSymbol,
|
|
128
|
+
fromTime
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=quote-streamer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quote-streamer.js","sourceRoot":"","sources":["../lib/quote-streamer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account-status-service.js","sourceRoot":"","sources":["../../lib/services/account-status-service.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"account-status-service.js","sourceRoot":"","sources":["../../lib/services/account-status-service.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAG5D,wDAAwD;AACxD,MAAM,CAAC,OAAO,OAAO,oBAAoB;IACrC,YAAoB,UAAgC;QAAhC,eAAU,GAAV,UAAU,CAAsB;IACpD,CAAC;IAED,+KAA+K;IAC/K,KAAK,CAAC,gBAAgB,CAAC,aAAqB;QACxC,gDAAgD;QAChD,MAAM,aAAa,GAAI,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,aAAa,iBAAiB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QAC3G,OAAO,mBAAmB,CAAC,aAAa,CAAC,CAAA;IAC7C,CAAC;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounts-and-customers-service.js","sourceRoot":"","sources":["../../lib/services/accounts-and-customers-service.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"accounts-and-customers-service.js","sourceRoot":"","sources":["../../lib/services/accounts-and-customers-service.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAG5D,MAAM,CAAC,OAAO,OAAO,2BAA2B;IAC5C,YAAoB,UAAgC;QAAhC,eAAU,GAAV,UAAU,CAAsB;IACpD,CAAC;IACD,KAAK,CAAC,mBAAmB;QACrB,MAAM,aAAa,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,wBAAwB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACvF,OAAO,mBAAmB,CAAC,aAAa,CAAC,CAAA;IAC7C,CAAC;IAED,uCAAuC;IACvC,KAAK,CAAC,mBAAmB;QACrB,+BAA+B;QAC/B,MAAM,gBAAgB,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACjF,OAAO,mBAAmB,CAAC,gBAAgB,CAAC,CAAA;IAChD,CAAC;IACD,KAAK,CAAC,2BAA2B;QAC7B,oFAAoF;QACpF,MAAM,wBAAwB,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,wBAAwB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QAClG,OAAO,mBAAmB,CAAC,wBAAwB,CAAC,CAAA;IACxD,CAAC;IACD,KAAK,CAAC,8BAA8B,CAAC,aAAqB;QACtD,uCAAuC;QACvC,MAAM,2BAA2B,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,0BAA0B,aAAa,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACtH,OAAO,mBAAmB,CAAC,2BAA2B,CAAC,CAAA;IAC3D,CAAC;IAED,kIAAkI;IAClI,KAAK,CAAC,gBAAgB;QAClB,MAAM,aAAa,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QAClF,OAAO,mBAAmB,CAAC,aAAa,CAAC,CAAA;IAC7C,CAAC;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"balances-and-positions-service.js","sourceRoot":"","sources":["../../lib/services/balances-and-positions-service.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"balances-and-positions-service.js","sourceRoot":"","sources":["../../lib/services/balances-and-positions-service.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAG5D,MAAM,CAAC,OAAO,OAAO,2BAA2B;IAC5C,YAAoB,UAAgC;QAAhC,eAAU,GAAV,UAAU,CAAsB;IACpD,CAAC;IAED,uCAAuC;IACvC,KAAK,CAAC,gBAAgB,CAAC,aAAqB,EAAE,WAAW,GAAG,EAAE;QAC1D,4CAA4C;QAC5C,8CAA8C;QAC9C,MAAM,aAAa,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,aAAa,YAAY,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC,CAAA;QAC9G,OAAO,mBAAmB,CAAC,aAAa,CAAC,CAAA;IAC7C,CAAC;IAED,qCAAqC;IACrC,KAAK,CAAC,uBAAuB,CAAC,aAAqB;QAC/C,mDAAmD;QACnD,MAAM,oBAAoB,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,aAAa,WAAW,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QAC3G,OAAO,mBAAmB,CAAC,oBAAoB,CAAC,CAAA;IACpD,CAAC;IAED,sDAAsD;IACtD,KAAK,CAAC,mBAAmB,CAAC,aAAqB,EAAE,WAAW,GAAG,EAAE;QAC7D,iEAAiE;QACjE,MAAM,eAAe,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,aAAa,oBAAoB,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC,CAAA;QACxH,OAAO,mBAAmB,CAAC,eAAe,CAAC,CAAA;IAC/C,CAAC;CACJ"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import extractResponseData from "../utils/response-util.js";
|
|
2
|
-
import TastytradeHttpClient from "./tastytrade-http-client.js";
|
|
3
2
|
import _ from 'lodash';
|
|
4
3
|
export default class InstrumentsService {
|
|
5
4
|
constructor(httpClient) {
|
|
@@ -114,7 +113,7 @@ export default class InstrumentsService {
|
|
|
114
113
|
const futureOptionChain = (await this.httpClient.getData(`/futures-option-chains/${symbol}`, {}, {}));
|
|
115
114
|
return extractResponseData(futureOptionChain);
|
|
116
115
|
}
|
|
117
|
-
//Option-chains: Allows an API client to fetch
|
|
116
|
+
//Option-chains: Allows an API client to fetch equity option chains.
|
|
118
117
|
async getNestedOptionChain(symbol) {
|
|
119
118
|
//Returns an option chain given an underlying symbol,
|
|
120
119
|
//i.e. AAPL in a nested form to minimize redundant processing
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instruments-service.js","sourceRoot":"","sources":["../../lib/services/instruments-service.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"instruments-service.js","sourceRoot":"","sources":["../../lib/services/instruments-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +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;
|
|
1
|
+
{"version":3,"file":"margin-requirements-service.js","sourceRoot":"","sources":["../../lib/services/margin-requirements-service.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAG5D,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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"market-metrics-service.js","sourceRoot":"","sources":["../../lib/services/market-metrics-service.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"market-metrics-service.js","sourceRoot":"","sources":["../../lib/services/market-metrics-service.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAG5D,MAAM,CAAC,OAAO,OAAO,oBAAoB;IACrC,YAAoB,UAAgC;QAAhC,eAAU,GAAV,UAAU,CAAsB;IACpD,CAAC;IAED,SAAS;IACT,KAAK,CAAC,gBAAgB,CAAC,WAAW,GAAG,EAAE;QACnC,wDAAwD;QACxD,MAAM,aAAa,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC,CAAA;QACzF,OAAO,mBAAmB,CAAC,aAAa,CAAC,CAAA;IAC7C,CAAC;IACD,KAAK,CAAC,yBAAyB,CAAC,MAAc;QAC1C,8BAA8B;QAC9B,MAAM,sBAAsB,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,uDAAuD,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACvI,OAAO,mBAAmB,CAAC,sBAAsB,CAAC,CAAA;IACtD,CAAC;IACD,KAAK,CAAC,yBAAyB,CAAC,MAAc,EAAE,WAAW,GAAG,EAAE;QAC5D,8BAA8B;QAC9B,MAAM,sBAAsB,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,8DAA8D,MAAM,EAAE,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC,CAAA;QACvJ,OAAO,mBAAmB,CAAC,sBAAsB,CAAC,CAAA;IACtD,CAAC;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"net-liquidating-value-history-service.js","sourceRoot":"","sources":["../../lib/services/net-liquidating-value-history-service.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"net-liquidating-value-history-service.js","sourceRoot":"","sources":["../../lib/services/net-liquidating-value-history-service.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAG5D,MAAM,CAAC,OAAO,OAAO,iCAAiC;IAClD,YAAoB,UAAgC;QAAhC,eAAU,GAAV,UAAU,CAAsB;IACpD,CAAC;IAED,SAAS;IACT,KAAK,CAAC,6BAA6B,CAAC,aAAqB,EAAE,WAAW,GAAG,EAAE;QACvE,4DAA4D;QAC5D,MAAM,0BAA0B,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,aAAa,kBAAkB,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC,CAAA;QACjI,OAAO,mBAAmB,CAAC,0BAA0B,CAAC,CAAA;IAC1D,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,aAAqB;QAChD,4DAA4D;QAC5D,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,aAAa,UAAU,CAAC,CAAA;QAC/F,OAAO,mBAAmB,CAAC,mBAAmB,CAAC,CAAA;IACnD,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orders-service.js","sourceRoot":"","sources":["../../lib/services/orders-service.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"orders-service.js","sourceRoot":"","sources":["../../lib/services/orders-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"risk-parameters-service.js","sourceRoot":"","sources":["../../lib/services/risk-parameters-service.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"risk-parameters-service.js","sourceRoot":"","sources":["../../lib/services/risk-parameters-service.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAG5D,MAAM,CAAC,OAAO,OAAO,qBAAqB;IACtC,YAAoB,UAAgC;QAAhC,eAAU,GAAV,UAAU,CAAsB;IACpD,CAAC;IAED,qCAAqC;IACrC,KAAK,CAAC,8BAA8B,CAAC,aAAqB,EAAE,gBAAwB;QAChF,+CAA+C;QAC/C,MAAM,2BAA2B,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,aAAa,wBAAwB,gBAAgB,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QAC3J,OAAO,mBAAmB,CAAC,2BAA2B,CAAC,CAAA;IAC3D,CAAC;IACD,KAAK,CAAC,gBAAgB,CAAC,aAAqB;QACxC,wBAAwB;QACxB,MAAM,aAAa,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,aAAa,iBAAiB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QAC1G,OAAO,mBAAmB,CAAC,aAAa,CAAC,CAAA;IAC7C,CAAC;CACJ"}
|
|
@@ -2,9 +2,14 @@ import TastytradeHttpClient from "./tastytrade-http-client.js";
|
|
|
2
2
|
export default class SessionService {
|
|
3
3
|
httpClient: TastytradeHttpClient;
|
|
4
4
|
constructor(httpClient: TastytradeHttpClient);
|
|
5
|
+
private get clientId();
|
|
6
|
+
private get clientSecret();
|
|
7
|
+
private get refreshToken();
|
|
5
8
|
login(usernameOrEmail: string, password: string, rememberMe?: boolean): Promise<any>;
|
|
6
9
|
loginWithRememberToken(usernameOrEmail: string, rememberToken: string, rememberMe?: boolean): Promise<any>;
|
|
7
10
|
validate(): Promise<any>;
|
|
8
|
-
logout(): Promise<
|
|
11
|
+
logout(): Promise<{
|
|
12
|
+
status: any;
|
|
13
|
+
}>;
|
|
9
14
|
}
|
|
10
15
|
//# sourceMappingURL=session-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-service.d.ts","sourceRoot":"","sources":["../../lib/services/session-service.ts"],"names":[],"mappings":"AACA,OAAO,oBAAoB,MAAM,6BAA6B,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,cAAc;IACZ,UAAU,EAAE,oBAAoB;gBAAhC,UAAU,EAAE,oBAAoB;
|
|
1
|
+
{"version":3,"file":"session-service.d.ts","sourceRoot":"","sources":["../../lib/services/session-service.ts"],"names":[],"mappings":"AACA,OAAO,oBAAoB,MAAM,6BAA6B,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,cAAc;IACZ,UAAU,EAAE,oBAAoB;gBAAhC,UAAU,EAAE,oBAAoB;IAGnD,OAAO,KAAK,QAAQ,GAEnB;IAED,OAAO,KAAK,YAAY,GAEvB;IAED,OAAO,KAAK,YAAY,GAEvB;IAGK,KAAK,CAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,UAAQ;IASnE,sBAAsB,CAAC,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,UAAQ;IAQzF,QAAQ;IAIR,MAAM;;;CAKf"}
|
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
import extractResponseData from "../utils/response-util.js";
|
|
2
|
-
import TastytradeHttpClient from "./tastytrade-http-client.js";
|
|
3
2
|
export default class SessionService {
|
|
4
3
|
constructor(httpClient) {
|
|
5
4
|
this.httpClient = httpClient;
|
|
6
5
|
}
|
|
6
|
+
get clientId() {
|
|
7
|
+
return '9953f07a-5de4-408c-a8ab-688a6320f00f';
|
|
8
|
+
}
|
|
9
|
+
get clientSecret() {
|
|
10
|
+
return 'baa245033420a05d013541c0c6ef4f98bb16a1ec';
|
|
11
|
+
}
|
|
12
|
+
get refreshToken() {
|
|
13
|
+
return 'eyJhbGciOiJFZERTQSIsInR5cCI6InJ0K2p3dCIsImtpZCI6IkZqVTdUT25qVEQ2WnVySlg2cVlwWmVPbzBDQzQ5TnIzR1pUN1E4MTc0cUkiLCJqa3UiOiJodHRwczovL2ludGVyaW9yLWFwaS5hcjIudGFzdHl0cmFkZS5zeXN0ZW1zL29hdXRoL2p3a3MifQ.eyJpc3MiOiJodHRwczovL2FwaS50YXN0eXRyYWRlLmNvbSIsInN1YiI6IlUwMDAwMDM3MTg0IiwiaWF0IjoxNzU4MjQzNjY0LCJhdWQiOiI5OTUzZjA3YS01ZGU0LTQwOGMtYThhYi02ODhhNjMyMGYwMGYiLCJncmFudF9pZCI6Ikc0ZTc4MjFkYy03NTQyLTQ0NTQtODBkMy1iYjU3NGEwMGRkYWMiLCJzY29wZSI6InJlYWQgdHJhZGUifQ.ZsP51rUGQIXsP-cU0OCa-45AwwMp18YxOrT_mrrocClhRL7bfWctX8GOJ35Nn_E48WOuQPxUF3KMhSn1tkqLBQ';
|
|
14
|
+
}
|
|
7
15
|
// Sessions: Allows an API client to interact with their session, or create a new one.
|
|
8
16
|
async login(usernameOrEmail, password, rememberMe = false) {
|
|
9
17
|
// Create a new user session.
|
|
@@ -27,7 +35,7 @@ export default class SessionService {
|
|
|
27
35
|
async logout() {
|
|
28
36
|
const response = await this.httpClient.deleteData('/sessions', {}); // added this for the integration tests?
|
|
29
37
|
this.httpClient.session.clear();
|
|
30
|
-
return
|
|
38
|
+
return { status: response.status };
|
|
31
39
|
}
|
|
32
40
|
}
|
|
33
41
|
//# sourceMappingURL=session-service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-service.js","sourceRoot":"","sources":["../../lib/services/session-service.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"session-service.js","sourceRoot":"","sources":["../../lib/services/session-service.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAG5D,MAAM,CAAC,OAAO,OAAO,cAAc;IAC/B,YAAmB,UAAgC;QAAhC,eAAU,GAAV,UAAU,CAAsB;IACnD,CAAC;IAED,IAAY,QAAQ;QAChB,OAAO,sCAAsC,CAAA;IACjD,CAAC;IAED,IAAY,YAAY;QACpB,OAAO,0CAA0C,CAAA;IACrD,CAAC;IAED,IAAY,YAAY;QACpB,OAAO,0hBAA0hB,CAAA;IACriB,CAAC;IAED,sFAAsF;IACtF,KAAK,CAAC,KAAK,CAAC,eAAuB,EAAE,QAAgB,EAAE,UAAU,GAAG,KAAK;QACrE,6BAA6B;QAC7B,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAA;QAC/D,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,CAAC,CAAA;QAC/E,MAAM,WAAW,GAAG,mBAAmB,CAAC,eAAe,CAAC,CAAA;QACxD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,GAAG,WAAW,CAAC,eAAe,CAAC,CAAA;QAChE,OAAO,WAAW,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,eAAuB,EAAE,aAAqB,EAAE,UAAU,GAAG,KAAK;QAC7F,8CAA8C;QAC9C,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,CAAA;QACpE,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAA;QAChG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,GAAG,WAAW,CAAC,eAAe,CAAC,CAAA;QAChE,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,KAAK,CAAC,QAAQ;QACV,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,oBAAoB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC9E,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IACD,KAAK,CAAC,MAAM;QACR,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAA,wCAAwC;QAC3G,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;QAC/B,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IACvC,CAAC;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbol-search-service.js","sourceRoot":"","sources":["../../lib/services/symbol-search-service.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"symbol-search-service.js","sourceRoot":"","sources":["../../lib/services/symbol-search-service.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAG5D,MAAM,CAAC,OAAO,OAAO,mBAAmB;IACpC,YAAoB,UAAgC;QAAhC,eAAU,GAAV,UAAU,CAAsB;IACpD,CAAC;IAED,SAAS;IACT,KAAK,CAAC,aAAa,CAAC,MAAc;QAC9B,kCAAkC;QAClC,MAAM,UAAU,GAAI,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,mBAAmB,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACxF,OAAO,mBAAmB,CAAC,UAAU,CAAC,CAAA;IAC1C,CAAC;CACJ"}
|
|
@@ -1,14 +1,30 @@
|
|
|
1
1
|
import TastytradeSession from "../models/tastytrade-session.js";
|
|
2
|
+
import AccessToken from "../models/access-token.js";
|
|
3
|
+
import type Logger from "../logger.js";
|
|
4
|
+
import type { ClientConfig } from "../tastytrade-api.js";
|
|
2
5
|
export default class TastytradeHttpClient {
|
|
3
|
-
private readonly
|
|
6
|
+
private readonly logger?;
|
|
7
|
+
baseUrl: string;
|
|
8
|
+
clientSecret?: string;
|
|
9
|
+
refreshToken?: string;
|
|
10
|
+
oauthScopes?: string[];
|
|
11
|
+
readonly accessToken: AccessToken;
|
|
4
12
|
readonly session: TastytradeSession;
|
|
5
|
-
|
|
13
|
+
private _targetApiVersion?;
|
|
14
|
+
constructor(clientConfig: Partial<ClientConfig>, logger?: Logger);
|
|
15
|
+
updateConfig(config: Partial<ClientConfig>): void;
|
|
16
|
+
get needsTokenRefresh(): boolean;
|
|
17
|
+
get authHeader(): string | null;
|
|
6
18
|
private getDefaultHeaders;
|
|
19
|
+
private axiosConfig;
|
|
20
|
+
generateAccessToken(): Promise<any>;
|
|
7
21
|
private executeRequest;
|
|
8
22
|
getData(url: string, headers?: object, queryParams?: object): Promise<any>;
|
|
9
23
|
postData(url: string, data: object, headers: object): Promise<any>;
|
|
10
24
|
putData(url: string, data: object, headers: object): Promise<any>;
|
|
11
25
|
patchData(url: string, data: object, headers: object): Promise<any>;
|
|
12
26
|
deleteData(url: string, headers: object): Promise<any>;
|
|
27
|
+
get targetApiVersion(): string | undefined;
|
|
28
|
+
set targetApiVersion(version: string | undefined);
|
|
13
29
|
}
|
|
14
30
|
//# sourceMappingURL=tastytrade-http-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tastytrade-http-client.d.ts","sourceRoot":"","sources":["../../lib/services/tastytrade-http-client.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,iCAAiC,CAAA;
|
|
1
|
+
{"version":3,"file":"tastytrade-http-client.d.ts","sourceRoot":"","sources":["../../lib/services/tastytrade-http-client.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,iCAAiC,CAAA;AAC/D,OAAO,WAAW,MAAM,2BAA2B,CAAA;AAKnD,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAUxD,MAAM,CAAC,OAAO,OAAO,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAQ;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IAC7B,SAAgB,WAAW,EAAE,WAAW,CAAA;IACxC,SAAgB,OAAO,EAAE,iBAAiB,CAAA;IAC1C,OAAO,CAAC,iBAAiB,CAAC,CAAQ;gBAEtB,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM;IAQzD,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC;IAQjD,IAAI,iBAAiB,IAAI,OAAO,CAQ/B;IAED,IAAI,UAAU,IAAI,MAAM,GAAG,IAAI,CAQ9B;IAED,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,WAAW;IAON,mBAAmB,IAAI,OAAO,CAAC,GAAG,CAAC;YAkBlC,cAAc;IAgBtB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,MAAW,EAAE,WAAW,GAAE,MAAW,GAAG,OAAO,CAAC,GAAG,CAAC;IAIlF,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAIlE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAIjE,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAInE,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAI5D,IAAW,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAEhD;IAED,IAAW,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAKtD;CACJ"}
|