]> git.ipfire.org Git - thirdparty/Chart.js.git/commitdiff
Resolve warnings from typings (#9363)
authorJukka Kurkela <jukka.kurkela@gmail.com>
Fri, 9 Jul 2021 11:03:11 +0000 (14:03 +0300)
committerGitHub <noreply@github.com>
Fri, 9 Jul 2021 11:03:11 +0000 (07:03 -0400)
types/adapters.d.ts
types/element.d.ts
types/helpers/helpers.color.d.ts
types/helpers/helpers.extras.d.ts
types/helpers/helpers.math.d.ts
types/index.esm.d.ts
types/utils.d.ts

index 65f48a180d0bb698729ba04addf36968510c9158..120598a1654e40912617b316d2683a8687d715c0 100644 (file)
@@ -3,7 +3,7 @@ export type TimeUnit = 'millisecond' | 'second' | 'minute' | 'hour' | 'day' | 'w
 export interface DateAdapter {
        // Override one or multiple of the methods to adjust to the logic of the current date library.
        override(members: Partial<DateAdapter>): void;
-       readonly options: any;
+       readonly options: unknown;
 
        /**
         * Returns a map of time formats for the supported formatting units defined
@@ -13,10 +13,10 @@ export interface DateAdapter {
        formats(): { [key: string]: string };
        /**
         * Parses the given `value` and return the associated timestamp.
-        * @param {any} value - the value to parse (usually comes from the data)
+        * @param {unknown} value - the value to parse (usually comes from the data)
         * @param {string} [format] - the expected data format
         */
-       parse(value: any, format?: TimeUnit): number | null;
+       parse(value: unknown, format?: TimeUnit): number | null;
        /**
         * Returns the formatted date in the specified `format` for a given `timestamp`.
         * @param {number} timestamp - the timestamp to format
index 46ffa781e7d2569b95d58ec47191c5f8e00885bd..09e330182c444e58a9bfdde49d87bbeee9f52e6f 100644 (file)
@@ -1,6 +1,7 @@
+import { AnyObject } from './basic';
 import { Point } from './geometric';
 
-export interface Element<T = {}, O = {}> {
+export interface Element<T = AnyObject, O = AnyObject> {
        readonly x: number;
        readonly y: number;
        readonly active: boolean;
@@ -8,23 +9,9 @@ export interface Element<T = {}, O = {}> {
 
        tooltipPosition(useFinalPosition?: boolean): Point;
        hasValue(): boolean;
-       getProps<P extends keyof T>(props: [P], final?: boolean): Pick<T, P>;
-       getProps<P extends keyof T, P2 extends keyof T>(props: [P, P2], final?: boolean): Pick<T, P | P2>;
-       getProps<P extends keyof T, P2 extends keyof T, P3 extends keyof T>(
-               props: [P, P2, P3],
-               final?: boolean
-       ): Pick<T, P | P2 | P3>;
-       getProps<P extends keyof T, P2 extends keyof T, P3 extends keyof T, P4 extends keyof T>(
-               props: [P, P2, P3, P4],
-               final?: boolean
-       ): Pick<T, P | P2 | P3 | P4>;
-       getProps<P extends keyof T, P2 extends keyof T, P3 extends keyof T, P4 extends keyof T, P5 extends keyof T>(
-               props: [P, P2, P3, P4, P5],
-               final?: boolean
-       ): Pick<T, P | P2 | P3 | P4 | P5>;
-       getProps(props: (keyof T)[], final?: boolean): T;
+       getProps<P extends (keyof T)[]>(props: P, final?: boolean): Pick<T, P[number]>;
 }
 export const Element: {
        prototype: Element;
-       new <T = {}, O = {}>(): Element<T, O>;
+       new <T = AnyObject, O = AnyObject>(): Element<T, O>;
 };
index 1f6282e52f91ab1945c27853c6efe7a26a1f1c46..1e8c118e1e5492d5f85b48980054a5c502c699f8 100644 (file)
@@ -1,5 +1,12 @@
 export function color(value: CanvasGradient): CanvasGradient;
 export function color(value: CanvasPattern): CanvasPattern;
+export function color(
+       value:
+               | string
+               | { r: number; g: number; b: number; a: number }
+               | [number, number, number]
+               | [number, number, number, number]
+): ColorModel;
 
 export interface ColorModel {
        rgbString(): string;
@@ -20,13 +27,6 @@ export interface ColorModel {
        desaturate(ratio: number): ColorModel;
        rotate(deg: number): this;
 }
-export function color(
-       value:
-               | string
-               | { r: number; g: number; b: number; a: number }
-               | [number, number, number]
-               | [number, number, number, number]
-): ColorModel;
 
 export function getHoverColor(value: CanvasGradient): CanvasGradient;
 export function getHoverColor(value: CanvasPattern): CanvasPattern;
index d3ddc784e62e36b9c07dae4b0bcfc3fb95acf521..a6b6594bd0111fc93ce785405a26fadca98f550f 100644 (file)
@@ -12,7 +12,7 @@ export function requestAnimFrame(cb: () => void): void;
  * @param {*} thisArg
  * @param {function} [updateFn]
  */
-export function throttled(fn: (...args: any[]) => void, thisArg: any, updateFn?: (...args: any[]) => any[]): (...args: any[]) => void;
+export function throttled(fn: (...args: unknown[]) => void, thisArg: unknown, updateFn?: (...args: unknown[]) => unknown[]): (...args: unknown[]) => void;
 
 /**
  * Debounces calling `fn` for `delay` ms
index 35cb653283236c6fbf043584c14c147fc94eca57..906087024495d4135793df75f4215e3fd6bdcd6c 100644 (file)
@@ -1,5 +1,5 @@
 export function log10(x: number): number;
-export function isNumber(v: any): boolean;
+export function isNumber(v: unknown): boolean;
 export function almostEquals(x: number, y: number, epsilon: number): boolean;
 export function almostWhole(x: number, epsilon: number): number;
 export function sign(x: number): number;
index b696e5a958db50809873c3b83c8ecba81fd0f3f7..281a264b114556db89a9b2b17065fa2ce975d998 100644 (file)
@@ -1156,7 +1156,7 @@ export interface CoreScaleOptions {
   afterUpdate(axis: Scale): void;
 }
 
-export interface Scale<O extends CoreScaleOptions = CoreScaleOptions> extends Element<{}, O>, LayoutItem {
+export interface Scale<O extends CoreScaleOptions = CoreScaleOptions> extends Element<unknown, O>, LayoutItem {
   readonly id: string;
   readonly type: string;
   readonly ctx: CanvasRenderingContext2D;
@@ -1680,7 +1680,9 @@ export const ArcElement: ChartComponent & {
   new (cfg: AnyObject): ArcElement;
 };
 
-export interface LineProps {}
+export interface LineProps {
+  points: Point[]
+}
 
 export interface LineOptions extends CommonElementOptions {
   /**
index 592aa63815bb003e5dcdff20eb8202d4a430b2a1..f020c9ce37c3a82d9ffbe77444419fe11eeee91f 100644 (file)
@@ -1,3 +1,4 @@
+/* eslint-disable @typescript-eslint/ban-types */
 
 // DeepPartial implementation taken from the utility-types NPM package, which is
 // Copyright (c) 2016 Piotr Witek <piotrek.witek@gmail.com> (http://piotrwitek.github.io)
@@ -9,10 +10,11 @@ export type DeepPartial<T> = T extends Function
   : T extends object
   ? _DeepPartialObject<T>
   : T | undefined;
-  type _DeepPartialArray<T> = Array<DeepPartial<T>>
+
+type _DeepPartialArray<T> = Array<DeepPartial<T>>
 type _DeepPartialObject<T> = { [P in keyof T]?: DeepPartial<T[P]> };
 
 export type DistributiveArray<T> = [T] extends [unknown] ? Array<T> : never
 
 // From https://stackoverflow.com/a/50375286
-export type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never;
+export type UnionToIntersection<U> = (U extends unknown ? (k: U) => void : never) extends (k: infer I) => void ? I : never;