@master-chief/alpaca-ts
Version:
A TypeScript Node.js library for the https://alpaca.markets REST API and WebSocket streams.
34 lines • 1.6 kB
JavaScript
import services from "./services/index.js";
import { prewrap } from "./rest/prewrap.js";
import { AxiosHttpRequest } from "./rest/AxiosHttpRequest.js";
export class Client {
constructor(options, HttpRequest = AxiosHttpRequest) {
const { paper, credentials } = options !== null && options !== void 0 ? options : {};
// base request object for all requests
// changes based on paper/live mode and/or data endpoints
this.baseHttpRequest = new HttpRequest({
BASE: paper === true || paper === undefined
? "https://paper-api.alpaca.markets"
: "https://api.alpaca.markets",
HEADERS: !!credentials
? {
"APCA-API-KEY-ID": credentials.key,
"APCA-API-SECRET-KEY": credentials.secret,
}
: undefined,
});
}
get v2() {
const { account, stocks, assets, clock, calendar, orders, positions, watchlists, } = services;
return prewrap(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, account), assets), clock), calendar), orders), stocks), positions), watchlists), this.baseHttpRequest);
}
get v1beta3() {
const { crypto } = services;
return prewrap(crypto, this.baseHttpRequest);
}
get v1beta1() {
const { news, screener, logos } = services;
return prewrap(Object.assign(Object.assign(Object.assign({}, news), screener), logos), this.baseHttpRequest);
}
}
//# sourceMappingURL=Client.js.map