feat(api): allow new chart timeframes in staging

This commit is contained in:
mpabi
2026-03-29 14:03:12 +02:00
parent ebeb773015
commit b2365e7f91

View File

@@ -744,7 +744,7 @@ function computeCandleFlowMovesFromTicks({ candle, bucketSeconds, points, rows,
}
function parseTimeframeToSeconds(tf) {
const v = String(tf || '').trim().toLowerCase();
const v = normalizeChartTimeframe(tf);
if (!v) return 60;
const m = v.match(/^(\d+)(s|m|h|d)$/);
if (!m) throw new Error(`invalid_tf`);
@@ -755,6 +755,40 @@ function parseTimeframeToSeconds(tf) {
return num * mult;
}
const SUPPORTED_CHART_TIMEFRAMES = new Set([
'1s',
'5s',
'15s',
'30s',
'1m',
'5m',
'15m',
'30m',
'1h',
'4h',
'8h',
'12h',
'1d',
]);
function normalizeChartTimeframe(tf) {
const raw = String(tf || '').trim();
if (!raw) return '1m';
const aliased =
raw === '1D' || raw === '24h' || raw === '24H'
? '1d'
: raw === '1H'
? '1h'
: raw.toLowerCase();
if (!SUPPORTED_CHART_TIMEFRAMES.has(aliased)) {
throw new Error('invalid_tf');
}
return aliased;
}
function fillForwardCandles(candles, { bucketSeconds, limit, nowSec }) {
if (!Array.isArray(candles) || candles.length === 0) return [];
if (!Number.isFinite(bucketSeconds) || bucketSeconds <= 0) return candles;