chart.js: Update ChartData to accept both Arrays and ReadonlyArrays (#42023)

By changing the types for `ChartData["labels"]` and `ChartData["datasets"]`
to ReadonlyArrays we can pass either ReadonlyArrays or Arrays as ChartData.

This is useful when chart.js is used inside a React component where the
props are readonly.
This commit is contained in:
Steve Dignam
2020-02-03 09:03:32 -08:00
committed by GitHub
parent 4713e4b663
commit dc72f7ed97
2 changed files with 11 additions and 2 deletions
+9
View File
@@ -411,6 +411,15 @@ if (doughnutChart.getDatasetMeta(0).data.length > 0) {
console.log(doughnutChartView.y);
}
// Passing readonly data as ChartData
const readonlyDataInput: {
labels: ReadonlyArray<string>;
datasets: ReadonlyArray<{
data: number[];
}>;
} = { labels: [], datasets: [] };
const readonlyData: Chart.ChartData = readonlyDataInput;
// Time Cartesian Axis
const timeAxisChartData: Chart.ChartData = {
datasets: [{
+2 -2
View File
@@ -243,8 +243,8 @@ declare namespace Chart {
}
interface ChartData {
labels?: Array<string | string[] | number | number[] | Date | Date[] | Moment | Moment[]>;
datasets?: ChartDataSets[];
labels?: ReadonlyArray<string | ReadonlyArray<string> | number | ReadonlyArray<number> | Date | ReadonlyArray<Date> | Moment | ReadonlyArray<Moment>>;
datasets?: ReadonlyArray<ChartDataSets>;
}
interface RadialChartOptions extends ChartOptions {