mirror of
https://github.com/chartjs/Chart.js.git
synced 2026-03-19 22:56:54 +01:00
Updates to scale type definitions (#11419)
While adding some type definitions to chartjs-plugin-zoom (see https://github.com/chartjs/chartjs-plugin-zoom/pull/774), I noticed a few limitations in Chart.js's scale types: * The zoom plugin calls `Scale.parse` with no index parameter. Scale's JSDoc allows this, but its TypeScript definitions did not. * The zoom plugin alters scale options' min and max. The specific types of these depend on which scale is in use, but every scale has them, so `unknown` seems appropriate
This commit is contained in:
@@ -56,7 +56,7 @@ function parse(scale, input) {
|
||||
value = parser(value);
|
||||
}
|
||||
|
||||
// Only parse if its not a timestamp already
|
||||
// Only parse if it's not a timestamp already
|
||||
if (!isFinite(value)) {
|
||||
value = typeof parser === 'string'
|
||||
? adapter.parse(value, /** @type {Unit} */ (parser))
|
||||
|
||||
18
src/types/index.d.ts
vendored
18
src/types/index.d.ts
vendored
@@ -1176,6 +1176,22 @@ export interface CoreScaleOptions {
|
||||
* @default true
|
||||
*/
|
||||
weight: number;
|
||||
/**
|
||||
* User defined minimum value for the scale, overrides minimum value from data.
|
||||
*/
|
||||
min: unknown;
|
||||
/**
|
||||
* User defined maximum value for the scale, overrides maximum value from data.
|
||||
*/
|
||||
max: unknown;
|
||||
/**
|
||||
* Adjustment used when calculating the maximum data value.
|
||||
*/
|
||||
suggestedMin: unknown;
|
||||
/**
|
||||
* Adjustment used when calculating the minimum data value.
|
||||
*/
|
||||
suggestedMax: unknown;
|
||||
/**
|
||||
* Callback called before the update process starts.
|
||||
*/
|
||||
@@ -1316,7 +1332,7 @@ export interface Scale<O extends CoreScaleOptions = CoreScaleOptions> extends El
|
||||
getBasePixel(): number;
|
||||
|
||||
init(options: O): void;
|
||||
parse(raw: unknown, index: number): unknown;
|
||||
parse(raw: unknown, index?: number): unknown;
|
||||
getUserBounds(): { min: number; max: number; minDefined: boolean; maxDefined: boolean };
|
||||
getMinMax(canStack: boolean): { min: number; max: number };
|
||||
getTicks(): Tick[];
|
||||
|
||||
Reference in New Issue
Block a user