@continuumdao/continuum-node-sdk 1.3.17 → 1.3.18
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/chart/chart-defaults.d.ts.map +1 -1
- package/dist/core/chart/chart-defaults.js +1 -1
- package/dist/core/chart/chart-defaults.js.map +1 -1
- package/dist/core/chart/index.d.ts +1 -0
- package/dist/core/chart/index.d.ts.map +1 -1
- package/dist/core/chart/index.js +1 -0
- package/dist/core/chart/index.js.map +1 -1
- package/dist/core/chart/price-volume-bars.d.ts +21 -0
- package/dist/core/chart/price-volume-bars.d.ts.map +1 -0
- package/dist/core/chart/price-volume-bars.js +78 -0
- package/dist/core/chart/price-volume-bars.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart-defaults.d.ts","sourceRoot":"","sources":["../../../src/core/chart/chart-defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,cAAc,CAAC;AAGpD,0EAA0E;AAC1E,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAC3C,oEAAoE;AACpE,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C,wBAAgB,0BAA0B,CACzC,MAAM,EAAE,iBAAiB,CAAC,QAAQ,CAAC,GACjC,MAAM,GAAG,IAAI,CAGf;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,iBAAiB,CAAC,QAAQ,CAAC,GAAG,OAAO,CAErF;AAED,6FAA6F;AAC7F,wBAAgB,2BAA2B,CAC1C,KAAK,EAAE,iBAAiB,GACtB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"chart-defaults.d.ts","sourceRoot":"","sources":["../../../src/core/chart/chart-defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,cAAc,CAAC;AAGpD,0EAA0E;AAC1E,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAC3C,oEAAoE;AACpE,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C,wBAAgB,0BAA0B,CACzC,MAAM,EAAE,iBAAiB,CAAC,QAAQ,CAAC,GACjC,MAAM,GAAG,IAAI,CAGf;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,iBAAiB,CAAC,QAAQ,CAAC,GAAG,OAAO,CAErF;AAED,6FAA6F;AAC7F,wBAAgB,2BAA2B,CAC1C,KAAK,EAAE,iBAAiB,GACtB,iBAAiB,CA0CnB;AAED,wBAAgB,+BAA+B,CAC9C,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,MAAM,GACd,iBAAiB,EAAE,CAoBrB;AAED,wBAAgB,qCAAqC,CACpD,MAAM,EAAE,iBAAiB,CAAC,QAAQ,CAAC,GACjC,OAAO,CAST;AAED,wBAAgB,2BAA2B,CAC1C,KAAK,EAAE,iBAAiB,GACtB,iBAAiB,EAAE,GAAG,SAAS,CAkBjC"}
|
|
@@ -26,7 +26,7 @@ export function ensureVolumeHistogramSeries(input) {
|
|
|
26
26
|
continue;
|
|
27
27
|
}
|
|
28
28
|
const time = parseChartTimeFromRow(row);
|
|
29
|
-
const volume = coerceFiniteNumber(row.volume ?? row.volumeUSD ?? row.volumeUsd);
|
|
29
|
+
const volume = coerceFiniteNumber(row.volume ?? row.volumeUSD ?? row.volumeUsd ?? row.v);
|
|
30
30
|
if (time == null || volume == null || volume < 0) {
|
|
31
31
|
continue;
|
|
32
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart-defaults.js","sourceRoot":"","sources":["../../../src/core/chart/chart-defaults.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,kBAAkB,EAAE,eAAe,EAAE,qBAAqB,EAAC,MAAM,sBAAsB,CAAC;AAEhG,0EAA0E;AAC1E,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAC3C,oEAAoE;AACpE,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAE3C,MAAM,UAAU,0BAA0B,CACzC,MAAmC;IAEnC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;IAC1D,OAAO,MAAM,EAAE,EAAE,IAAI,IAAI,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,MAAmC;IAC3E,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;AACjD,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,2BAA2B,CAC1C,KAAwB;IAExB,IAAI,wBAAwB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;IAChE,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAA8B,EAAE,CAAC;IACjD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAC5D,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,SAAS;QACV,CAAC;QACD,MAAM,IAAI,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,kBAAkB,
|
|
1
|
+
{"version":3,"file":"chart-defaults.js","sourceRoot":"","sources":["../../../src/core/chart/chart-defaults.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,5 +8,6 @@ export { buildChartAttachmentRef, formatChartKeyGenFence, formatMpcTaskResultCha
|
|
|
8
8
|
export { ohlcvToPrepareChartInput, normalizeOhlcvRow, type OhlcvRow, type OhlcvToPrepareChartInputOptions } from './ohlcv.js';
|
|
9
9
|
export { ohlcvRowsToChartOutput } from './ohlcv-output.js';
|
|
10
10
|
export { ohlcvTupleToRow } from './point-normalize.js';
|
|
11
|
+
export { buildOhlcvBarsFromPriceVolumeSeries, type BuiltOhlcvBar, type BuildOhlcvBarsFromPriceVolumeOptions, } from './price-volume-bars.js';
|
|
11
12
|
export { CHART_V1_KIND, DEFAULT_CHART_HEIGHT, DEFAULT_CHART_MAX_POINTS, PrepareChartInputSchema, PrepareChartOutputSchema, ChartV1PayloadSchema, type PrepareChartInput, type PrepareChartOutput, type ChartV1Payload, type ChartSeriesType, type ChartTime, } from './schemas.js';
|
|
12
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/chart/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAE,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAC,YAAY,EAAC,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAC,oBAAoB,EAAE,+BAA+B,EAAC,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EACN,2BAA2B,EAC3B,iBAAiB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACN,wBAAwB,EACxB,wBAAwB,EACxB,+BAA+B,EAC/B,2BAA2B,GAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAC,mBAAmB,EAAC,MAAM,eAAe,CAAC;AAClD,OAAO,EACN,uBAAuB,EACvB,sBAAsB,EACtB,6BAA6B,EAC7B,aAAa,EACb,KAAK,kBAAkB,GACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAC,wBAAwB,EAAE,iBAAiB,EAAE,KAAK,QAAQ,EAAE,KAAK,+BAA+B,EAAC,MAAM,YAAY,CAAC;AAC5H,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,EACN,aAAa,EACb,oBAAoB,EACpB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,oBAAoB,EACpB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,SAAS,GACd,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/chart/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAE,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAC,YAAY,EAAC,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAC,oBAAoB,EAAE,+BAA+B,EAAC,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EACN,2BAA2B,EAC3B,iBAAiB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACN,wBAAwB,EACxB,wBAAwB,EACxB,+BAA+B,EAC/B,2BAA2B,GAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAC,mBAAmB,EAAC,MAAM,eAAe,CAAC;AAClD,OAAO,EACN,uBAAuB,EACvB,sBAAsB,EACtB,6BAA6B,EAC7B,aAAa,EACb,KAAK,kBAAkB,GACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAC,wBAAwB,EAAE,iBAAiB,EAAE,KAAK,QAAQ,EAAE,KAAK,+BAA+B,EAAC,MAAM,YAAY,CAAC;AAC5H,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,EACN,mCAAmC,EACnC,KAAK,aAAa,EAClB,KAAK,oCAAoC,GACzC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACN,aAAa,EACb,oBAAoB,EACpB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,oBAAoB,EACpB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,SAAS,GACd,MAAM,cAAc,CAAC"}
|
package/dist/core/chart/index.js
CHANGED
|
@@ -8,5 +8,6 @@ export { buildChartAttachmentRef, formatChartKeyGenFence, formatMpcTaskResultCha
|
|
|
8
8
|
export { ohlcvToPrepareChartInput, normalizeOhlcvRow } from './ohlcv.js';
|
|
9
9
|
export { ohlcvRowsToChartOutput } from './ohlcv-output.js';
|
|
10
10
|
export { ohlcvTupleToRow } from './point-normalize.js';
|
|
11
|
+
export { buildOhlcvBarsFromPriceVolumeSeries, } from './price-volume-bars.js';
|
|
11
12
|
export { CHART_V1_KIND, DEFAULT_CHART_HEIGHT, DEFAULT_CHART_MAX_POINTS, PrepareChartInputSchema, PrepareChartOutputSchema, ChartV1PayloadSchema, } from './schemas.js';
|
|
12
13
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/chart/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAE,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAC,YAAY,EAAC,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAC,oBAAoB,EAAE,+BAA+B,EAAC,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EACN,2BAA2B,EAC3B,iBAAiB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACN,wBAAwB,EACxB,wBAAwB,EACxB,+BAA+B,EAC/B,2BAA2B,GAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAC,mBAAmB,EAAC,MAAM,eAAe,CAAC;AAClD,OAAO,EACN,uBAAuB,EACvB,sBAAsB,EACtB,6BAA6B,EAC7B,aAAa,GAEb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAC,wBAAwB,EAAE,iBAAiB,EAAsD,MAAM,YAAY,CAAC;AAC5H,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,EACN,aAAa,EACb,oBAAoB,EACpB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,oBAAoB,GAMpB,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/chart/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAE,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAC,YAAY,EAAC,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAC,oBAAoB,EAAE,+BAA+B,EAAC,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EACN,2BAA2B,EAC3B,iBAAiB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACN,wBAAwB,EACxB,wBAAwB,EACxB,+BAA+B,EAC/B,2BAA2B,GAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAC,mBAAmB,EAAC,MAAM,eAAe,CAAC;AAClD,OAAO,EACN,uBAAuB,EACvB,sBAAsB,EACtB,6BAA6B,EAC7B,aAAa,GAEb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAC,wBAAwB,EAAE,iBAAiB,EAAsD,MAAM,YAAY,CAAC;AAC5H,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,EACN,mCAAmC,GAGnC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACN,aAAa,EACb,oBAAoB,EACpB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,oBAAoB,GAMpB,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export type PriceVolumeSeriesPoint = [number, number];
|
|
2
|
+
export type BuiltOhlcvBar = {
|
|
3
|
+
time: number;
|
|
4
|
+
open: number;
|
|
5
|
+
high: number;
|
|
6
|
+
low: number;
|
|
7
|
+
close: number;
|
|
8
|
+
volume?: number;
|
|
9
|
+
};
|
|
10
|
+
export type BuildOhlcvBarsFromPriceVolumeOptions = {
|
|
11
|
+
/** Bucket width in seconds (e.g. 4 * 3600 for 4h). Omit to keep input resolution. */
|
|
12
|
+
bucketSec?: number;
|
|
13
|
+
/** Keep newest N bars after bucketing. */
|
|
14
|
+
maxPoints?: number;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Build OHLCV bars from spot price + volume time series (any indexer with close + volume).
|
|
18
|
+
* Typical input: CoinGecko `marketChart.prices` + `marketChart.total_volumes`.
|
|
19
|
+
*/
|
|
20
|
+
export declare function buildOhlcvBarsFromPriceVolumeSeries(prices: unknown[], volumes: unknown[] | undefined, options?: BuildOhlcvBarsFromPriceVolumeOptions): BuiltOhlcvBar[];
|
|
21
|
+
//# sourceMappingURL=price-volume-bars.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"price-volume-bars.d.ts","sourceRoot":"","sources":["../../../src/core/chart/price-volume-bars.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,sBAAsB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEtD,MAAM,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,oCAAoC,GAAG;IAClD,qFAAqF;IACrF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AA2BF;;;GAGG;AACH,wBAAgB,mCAAmC,CAClD,MAAM,EAAE,OAAO,EAAE,EACjB,OAAO,EAAE,OAAO,EAAE,GAAG,SAAS,EAC9B,OAAO,GAAE,oCAAyC,GAChD,aAAa,EAAE,CAoDjB"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { coerceFiniteNumber, parseChartTime } from './point-normalize.js';
|
|
2
|
+
function parseSeriesPoint(raw) {
|
|
3
|
+
if (Array.isArray(raw) && raw.length >= 2) {
|
|
4
|
+
const timeSec = parseChartTime(raw[0]);
|
|
5
|
+
const value = coerceFiniteNumber(raw[1]);
|
|
6
|
+
if (timeSec == null || typeof timeSec !== 'number' || value == null) {
|
|
7
|
+
return null;
|
|
8
|
+
}
|
|
9
|
+
return { timeSec, value };
|
|
10
|
+
}
|
|
11
|
+
if (raw && typeof raw === 'object' && !Array.isArray(raw)) {
|
|
12
|
+
const row = raw;
|
|
13
|
+
const timeSec = parseChartTime(row.timeMs ?? row.time ?? row.t ?? row.timestampMs);
|
|
14
|
+
const value = coerceFiniteNumber(row.value ?? row.close ?? row.c ?? row.price);
|
|
15
|
+
if (timeSec == null || typeof timeSec !== 'number' || value == null) {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
return { timeSec, value };
|
|
19
|
+
}
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
function volumeMapKey(timeSec) {
|
|
23
|
+
return timeSec;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Build OHLCV bars from spot price + volume time series (any indexer with close + volume).
|
|
27
|
+
* Typical input: CoinGecko `marketChart.prices` + `marketChart.total_volumes`.
|
|
28
|
+
*/
|
|
29
|
+
export function buildOhlcvBarsFromPriceVolumeSeries(prices, volumes, options = {}) {
|
|
30
|
+
const volByTime = new Map();
|
|
31
|
+
for (const raw of volumes ?? []) {
|
|
32
|
+
const point = parseSeriesPoint(raw);
|
|
33
|
+
if (!point) {
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
volByTime.set(volumeMapKey(point.timeSec), point.value);
|
|
37
|
+
}
|
|
38
|
+
const hourly = [];
|
|
39
|
+
for (let i = 0; i < prices.length; i++) {
|
|
40
|
+
const point = parseSeriesPoint(prices[i]);
|
|
41
|
+
if (!point) {
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
const close = point.value;
|
|
45
|
+
const prevClose = i > 0 ? parseSeriesPoint(prices[i - 1])?.value ?? close : close;
|
|
46
|
+
hourly.push({
|
|
47
|
+
time: point.timeSec,
|
|
48
|
+
open: prevClose,
|
|
49
|
+
high: Math.max(prevClose, close),
|
|
50
|
+
low: Math.min(prevClose, close),
|
|
51
|
+
close,
|
|
52
|
+
volume: volByTime.get(volumeMapKey(point.timeSec)) ?? 0,
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
let bars = hourly;
|
|
56
|
+
if (options.bucketSec != null && options.bucketSec > 0) {
|
|
57
|
+
const buckets = new Map();
|
|
58
|
+
for (const bar of hourly) {
|
|
59
|
+
const bucket = Math.floor(bar.time / options.bucketSec) * options.bucketSec;
|
|
60
|
+
const existing = buckets.get(bucket);
|
|
61
|
+
if (!existing) {
|
|
62
|
+
buckets.set(bucket, { ...bar, time: bucket });
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
65
|
+
existing.high = Math.max(existing.high, bar.high);
|
|
66
|
+
existing.low = Math.min(existing.low, bar.low);
|
|
67
|
+
existing.close = bar.close;
|
|
68
|
+
existing.volume = (existing.volume ?? 0) + (bar.volume ?? 0);
|
|
69
|
+
}
|
|
70
|
+
bars = [...buckets.values()].sort((a, b) => a.time - b.time);
|
|
71
|
+
}
|
|
72
|
+
const maxPoints = options.maxPoints;
|
|
73
|
+
if (maxPoints != null && maxPoints > 0 && bars.length > maxPoints) {
|
|
74
|
+
bars = bars.slice(-maxPoints);
|
|
75
|
+
}
|
|
76
|
+
return bars;
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=price-volume-bars.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"price-volume-bars.js","sourceRoot":"","sources":["../../../src/core/chart/price-volume-bars.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED