12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- import { getErrorMessage, } from './helpers';
- var HistoryProvider = /** @class */ (function () {
- function HistoryProvider(datafeedUrl, requester) {
- this._datafeedUrl = datafeedUrl;
- this._requester = requester;
- }
- HistoryProvider.prototype.getBars = function (symbolInfo, resolution, rangeStartDate, rangeEndDate) {
- var _this = this;
- var requestParams = {
- symbol: symbolInfo.ticker || '',
- resolution: resolution,
- from: rangeStartDate,
- to: rangeEndDate,
- };
- return new Promise(function (resolve, reject) {
- _this._requester.sendRequest(_this._datafeedUrl, 'history', requestParams)
- .then(function (response) {
- if (response.s !== 'ok' && response.s !== 'no_data') {
- reject(response.errmsg);
- return;
- }
- var bars = [];
- var meta = {
- noData: false,
- };
- if (response.s === 'no_data') {
- meta.noData = true;
- meta.nextTime = response.nextTime;
- }
- else {
- var volumePresent = response.v !== undefined;
- var ohlPresent = response.o !== undefined;
- for (var i = 0; i < response.t.length; ++i) {
- var barValue = {
- time: response.t[i] * 1000,
- close: Number(response.c[i]),
- open: Number(response.c[i]),
- high: Number(response.c[i]),
- low: Number(response.c[i]),
- };
- if (ohlPresent) {
- barValue.open = Number(response.o[i]);
- barValue.high = Number(response.h[i]);
- barValue.low = Number(response.l[i]);
- }
- if (volumePresent) {
- barValue.volume = Number(response.v[i]);
- }
- bars.push(barValue);
- }
- }
- resolve({
- bars: bars,
- meta: meta,
- });
- })
- .catch(function (reason) {
- var reasonString = getErrorMessage(reason);
- console.warn("HistoryProvider: getBars() failed, error=" + reasonString);
- reject(reasonString);
- });
- });
- };
- return HistoryProvider;
- }());
- export { HistoryProvider };
|