All files / providers d3-chart-factory.provider.ts

100% Statements 1/1
100% Branches 0/0
100% Functions 0/0
100% Lines 1/1

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 26 27 28 29 30 31 32 33 34 35                                                            6x        
import { InjectionToken } from '@angular/core';
 
import { drawBarChart } from '../util/bar-chart.util';
import { drawForceDirectedChart } from '../util/force-directed-chart.util';
import { drawGaugeChart } from '../util/gauge-chart.util';
import { drawLineChart } from '../util/line-chart.util';
import { drawPieChart } from '../util/pie-chart.util';
import { drawRadarChart } from '../util/radar-chart.util';
 
/** D3 chart factory. */
export interface ID3ChartFactory {
  drawGaugeChart: typeof drawGaugeChart;
  drawPieChart: typeof drawPieChart;
  drawRadarChart: typeof drawRadarChart;
  drawBarChart: typeof drawBarChart;
  drawLineChart: typeof drawLineChart;
  drawForceDirectedChart: typeof drawForceDirectedChart;
}
 
/** D3 chart factory */
export const d3ChartFactory = (): ID3ChartFactory => ({
  drawGaugeChart,
  drawPieChart,
  drawRadarChart,
  drawBarChart,
  drawLineChart,
  drawForceDirectedChart,
});
 
/** D3 chart factory provider. */
export const D3_CHART_FACTORY = new InjectionToken('D3_CHART_FACTORY', {
  providedIn: 'root',
  factory: d3ChartFactory,
});