@forgecharts/sdk 1.5.54 → 1.5.55
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/dist/core/TimeScale.d.ts.map +1 -1
- package/dist/datafeed/DatafeedConnector.d.ts.map +1 -1
- package/dist/index.js +67 -7
- package/dist/index.js.map +1 -1
- package/dist/internal.js +67 -7
- package/dist/internal.js.map +1 -1
- package/dist/pixi/PixiGridRenderer.d.ts.map +1 -1
- package/dist/react/index.js +67 -7
- package/dist/react/index.js.map +1 -1
- package/dist/react/internal.js +67 -7
- package/dist/react/internal.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimeScale.d.ts","sourceRoot":"","sources":["../../src/core/TimeScale.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC9G,OAAO,EAAY,YAAY,EAAyB,MAAM,oBAAoB,CAAC;AAEnF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAIjD;;;;;;;;GAQG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,aAAa,CAAY;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;IACtD,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,mEAAmE;IACnE,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAa;IACzC,uFAAuF;IACvF,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAQ;IACvC,0FAA0F;IAC1F,gBAAgB,EAAE,cAAc,EAAE,CAAM;IACxC,yEAAyE;IACzE,gBAAgB,SAAM;IAGtB,4EAA4E;IAC5E,OAAO,CAAC,SAAS,CAAgB;IACjC;kFAC8E;IAC9E,OAAO,CAAC,YAAY,CAAK;gBAEb,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,GAAE,gBAAqB;IAenF,IAAI,YAAY,IAAI,SAAS,CAE5B;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,eAAe,IAAI,SAAS,CAE/B;IAED,qFAAqF;IACrF,IAAI,QAAQ,IAAI,SAAS,MAAM,EAAE,CAEhC;IAED,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAIvC,YAAY,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI;IAIjC;;;OAGG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAkBvC;;;;OAIG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IA4BjC;;;;OAIG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAiBhC,sEAAsE;IACtE,IAAI,YAAY,IAAI,OAAO,CAE1B;IAID;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM;IAYlD;;;OAGG;IACH,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM;IAY/C;;;OAGG;IACH,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAE,MAA0B,GAAG,IAAI;IA0BnF;;OAEG;IACH,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAOlC;;;OAGG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IASvC,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"TimeScale.d.ts","sourceRoot":"","sources":["../../src/core/TimeScale.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC9G,OAAO,EAAY,YAAY,EAAyB,MAAM,oBAAoB,CAAC;AAEnF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAIjD;;;;;;;;GAQG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,aAAa,CAAY;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;IACtD,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,mEAAmE;IACnE,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAa;IACzC,uFAAuF;IACvF,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAQ;IACvC,0FAA0F;IAC1F,gBAAgB,EAAE,cAAc,EAAE,CAAM;IACxC,yEAAyE;IACzE,gBAAgB,SAAM;IAGtB,4EAA4E;IAC5E,OAAO,CAAC,SAAS,CAAgB;IACjC;kFAC8E;IAC9E,OAAO,CAAC,YAAY,CAAK;gBAEb,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,GAAE,gBAAqB;IAenF,IAAI,YAAY,IAAI,SAAS,CAE5B;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,eAAe,IAAI,SAAS,CAE/B;IAED,qFAAqF;IACrF,IAAI,QAAQ,IAAI,SAAS,MAAM,EAAE,CAEhC;IAED,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAIvC,YAAY,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI;IAIjC;;;OAGG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAkBvC;;;;OAIG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IA4BjC;;;;OAIG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAiBhC,sEAAsE;IACtE,IAAI,YAAY,IAAI,OAAO,CAE1B;IAID;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM;IAYlD;;;OAGG;IACH,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM;IAY/C;;;OAGG;IACH,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAE,MAA0B,GAAG,IAAI;IA0BnF;;OAEG;IACH,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAOlC;;;OAGG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IASvC,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAuM1E;;;OAGG;IACH,qBAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM;IAoBhG,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,aAAa;CAsBtB;AAGD,OAAO,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatafeedConnector.d.ts","sourceRoot":"","sources":["../../src/datafeed/DatafeedConnector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"DatafeedConnector.d.ts","sourceRoot":"","sources":["../../src/datafeed/DatafeedConnector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AA2EhD;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,GAAG,IAAI,CAAC;IACrD,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACnE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAClE,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;IAChC,iFAAiF;IACjF,eAAe,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;CAChD,CAAC;AAIF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAqB;IACzC,wFAAwF;IACxF,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA0B;IAEzD;;;OAGG;IACH,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,UAAU,CAAS;IAE3B,oEAAoE;IACpE,OAAO,CAAC,cAAc,CAAS;IAC/B,6FAA6F;IAC7F,OAAO,CAAC,cAAc,CAAS;IAC/B,gFAAgF;IAChF,OAAO,CAAC,eAAe,CAAK;IAC5B;;;;OAIG;IACH,OAAO,CAAC,eAAe,CAAuB;IAC9C;;;OAGG;IACH,OAAO,CAAC,gBAAgB,CAAa;IAErC;;;;OAIG;IACH,OAAO,CAAC,iBAAiB,CAA8C;gBAE3D,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,kBAAkB;IAQ/E;;;;OAIG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI;IAuNnD;;;;OAIG;IACH,UAAU,IAAI,IAAI;IAIlB;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI;IAKrD;;;;OAIG;IACH,OAAO,IAAI,IAAI;IAOf;;;;;;;;;;;OAWG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI;IA0G3D,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,aAAa;CAoBtB"}
|
package/dist/index.js
CHANGED
|
@@ -483,9 +483,17 @@ var TimeScale = class {
|
|
|
483
483
|
const toIdx = this.timeToIndex(this._visibleRange.to);
|
|
484
484
|
const idxSpan = toIdx - fromIdx;
|
|
485
485
|
const idxStep = Math.max(1, Math.round(idxSpan / approxTicks));
|
|
486
|
-
const span = this._visibleRange.to - this._visibleRange.from;
|
|
487
|
-
const step = this._niceTimeStep(span / approxTicks);
|
|
488
486
|
const startIdx = Math.ceil(fromIdx / idxStep) * idxStep;
|
|
487
|
+
const _tickDeltas = [];
|
|
488
|
+
for (let i = Math.max(0, startIdx); i + idxStep <= Math.min(toIdx, this._barTimes.length - 1); i += idxStep) {
|
|
489
|
+
const a = this._barTimes[Math.round(i)];
|
|
490
|
+
const b = this._barTimes[Math.round(i + idxStep)];
|
|
491
|
+
if (a != null && b != null && b > a) _tickDeltas.push(b - a);
|
|
492
|
+
if (_tickDeltas.length >= 12) break;
|
|
493
|
+
}
|
|
494
|
+
_tickDeltas.sort((p, q) => p - q);
|
|
495
|
+
const _perTick = _tickDeltas.length > 0 ? _tickDeltas[Math.floor(_tickDeltas.length / 2)] : (this._visibleRange.to - this._visibleRange.from) / approxTicks;
|
|
496
|
+
const step = this._niceTimeStep(_perTick);
|
|
489
497
|
for (let i = startIdx; i <= toIdx; i += idxStep) {
|
|
490
498
|
const bIdx = Math.round(i);
|
|
491
499
|
if (bIdx < 0) continue;
|
|
@@ -5785,8 +5793,16 @@ var PixiGridRenderer = class {
|
|
|
5785
5793
|
const idxStep = Math.max(1, Math.round(rawIdxStep));
|
|
5786
5794
|
const barTimes = this._timeScale.barTimes;
|
|
5787
5795
|
const startIdx = Math.ceil(fromIdx / idxStep) * idxStep;
|
|
5788
|
-
const
|
|
5789
|
-
|
|
5796
|
+
const _tickDeltas = [];
|
|
5797
|
+
for (let i = Math.max(0, startIdx); i + idxStep <= Math.min(toIdx, barTimes.length - 1); i += idxStep) {
|
|
5798
|
+
const a = barTimes[Math.round(i)];
|
|
5799
|
+
const b = barTimes[Math.round(i + idxStep)];
|
|
5800
|
+
if (a != null && b != null && b > a) _tickDeltas.push(b - a);
|
|
5801
|
+
if (_tickDeltas.length >= 12) break;
|
|
5802
|
+
}
|
|
5803
|
+
_tickDeltas.sort((p, q) => p - q);
|
|
5804
|
+
const _perTick = _tickDeltas.length > 0 ? _tickDeltas[Math.floor(_tickDeltas.length / 2)] : (timeTo - timeFrom) / approxTicks;
|
|
5805
|
+
const step = this._niceTimeStep(_perTick);
|
|
5790
5806
|
for (let i = startIdx; i <= toIdx; i += idxStep) {
|
|
5791
5807
|
const bIdx = Math.round(i);
|
|
5792
5808
|
if (bIdx < 0) continue;
|
|
@@ -10344,6 +10360,29 @@ function _historyWindow(tf) {
|
|
|
10344
10360
|
return 500 * (parseTfSeconds(tf) ?? 3600);
|
|
10345
10361
|
}
|
|
10346
10362
|
var BATCH_SUPPRESSION_MS = 1e4;
|
|
10363
|
+
var TF_SECONDS = {
|
|
10364
|
+
"1s": 1,
|
|
10365
|
+
"5s": 5,
|
|
10366
|
+
"10s": 10,
|
|
10367
|
+
"15s": 15,
|
|
10368
|
+
"30s": 30,
|
|
10369
|
+
"1m": 60,
|
|
10370
|
+
"3m": 180,
|
|
10371
|
+
"5m": 300,
|
|
10372
|
+
"15m": 900,
|
|
10373
|
+
"30m": 1800,
|
|
10374
|
+
"1h": 3600,
|
|
10375
|
+
"2h": 7200,
|
|
10376
|
+
"4h": 14400,
|
|
10377
|
+
"6h": 21600,
|
|
10378
|
+
"8h": 28800,
|
|
10379
|
+
"12h": 43200,
|
|
10380
|
+
"1D": 86400,
|
|
10381
|
+
"3D": 259200,
|
|
10382
|
+
"1W": 604800,
|
|
10383
|
+
"1M": 2592e3
|
|
10384
|
+
};
|
|
10385
|
+
var LIVE_GAP_REPAIR_DELAY_MS = 3e3;
|
|
10347
10386
|
function _pageSize(tf) {
|
|
10348
10387
|
return 500 * (parseTfSeconds(tf) ?? 3600);
|
|
10349
10388
|
}
|
|
@@ -10471,15 +10510,36 @@ var DatafeedConnector = class {
|
|
|
10471
10510
|
this._batchSafetyTimer = null;
|
|
10472
10511
|
}, BATCH_SUPPRESSION_MS);
|
|
10473
10512
|
}
|
|
10513
|
+
const tfSec = TF_SECONDS[timeframe] ?? 0;
|
|
10514
|
+
let lastSeenBarTime = lastBarTime ?? 0;
|
|
10515
|
+
let repairTimer = null;
|
|
10516
|
+
const repairGap = (fromTime, toTime) => {
|
|
10517
|
+
if (repairTimer) clearTimeout(repairTimer);
|
|
10518
|
+
repairTimer = setTimeout(() => {
|
|
10519
|
+
repairTimer = null;
|
|
10520
|
+
if (this._activeUID !== uid || this._destroyed) return;
|
|
10521
|
+
void this._datafeed.getHistoricalBars(symbol, timeframe, fromTime, toTime).then(({ bars: filled }) => {
|
|
10522
|
+
if (this._activeUID !== uid || filled.length === 0) return;
|
|
10523
|
+
engine.backfillGap(filled);
|
|
10524
|
+
}).catch(() => {
|
|
10525
|
+
});
|
|
10526
|
+
}, LIVE_GAP_REPAIR_DELAY_MS);
|
|
10527
|
+
};
|
|
10474
10528
|
this._datafeed.subscribeBars(symbol, timeframe, (bar) => {
|
|
10475
|
-
if (this._activeUID
|
|
10476
|
-
|
|
10529
|
+
if (this._activeUID !== uid) return;
|
|
10530
|
+
const t = bar.time;
|
|
10531
|
+
if (tfSec > 0 && lastSeenBarTime > 0 && t > lastSeenBarTime + tfSec) {
|
|
10532
|
+
repairGap(lastSeenBarTime, t);
|
|
10477
10533
|
}
|
|
10534
|
+
if (t > lastSeenBarTime) lastSeenBarTime = t;
|
|
10535
|
+
engine.applyLiveUpdate(bar);
|
|
10478
10536
|
}, uid, lastBarTime, (bars) => {
|
|
10479
10537
|
this._clearBatchTimer();
|
|
10480
10538
|
batchPending = false;
|
|
10481
10539
|
if (this._activeUID === uid) {
|
|
10482
10540
|
engine.backfillGap(bars);
|
|
10541
|
+
const newest = bars.length > 0 ? bars[bars.length - 1].time : 0;
|
|
10542
|
+
if (newest > lastSeenBarTime) lastSeenBarTime = newest;
|
|
10483
10543
|
}
|
|
10484
10544
|
fireLoaded();
|
|
10485
10545
|
});
|
|
@@ -25516,7 +25576,7 @@ var demonstrationTool = {
|
|
|
25516
25576
|
};
|
|
25517
25577
|
|
|
25518
25578
|
// src/version.ts
|
|
25519
|
-
var FORGECHARTS_VERSION = "1.5.
|
|
25579
|
+
var FORGECHARTS_VERSION = "1.5.55" ;
|
|
25520
25580
|
|
|
25521
25581
|
// src/compatibility.ts
|
|
25522
25582
|
var MIN_KIT_API = 1;
|