All files / src/plugins/gravity-charts/renderer utils.ts

100% Statements 9/9
83.33% Branches 5/6
100% Functions 2/2
100% Lines 9/9

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25              3x 1x     2x   3x 1x         3x 3x 3x 3x    
import {CHARTKIT_ERROR_CODE, ChartKitError} from '../../../libs';
import type {ChartKitProps} from '../../../types';
 
function validateSeriesCountLimit(
    series?: ChartKitProps<'gravity-charts'>['data']['series']['data'],
    seriesCountLimit?: number,
) {
    if (typeof seriesCountLimit !== 'number') {
        return;
    }
 
    const seriesCount = series?.length ?? 0;
 
    if (seriesCount > seriesCountLimit) {
        throw new ChartKitError({code: CHARTKIT_ERROR_CODE.TOO_MANY_LINES});
    }
}
 
export function vaildateData(props: ChartKitProps<'gravity-charts'>) {
    const {data, validation} = props;
    const seriesCountLimit = validation?.seriesCountLimit;
    const series = data?.series?.data;
    validateSeriesCountLimit(series, seriesCountLimit);
}