Skip to content

Commit

Permalink
Resolve warnings from typings (#9363)
Browse files Browse the repository at this point in the history
  • Loading branch information
kurkle committed Jul 9, 2021
1 parent 774c444 commit d661bd7
Show file tree
Hide file tree
Showing 7 changed files with 24 additions and 33 deletions.
6 changes: 3 additions & 3 deletions types/adapters.d.ts
Expand Up @@ -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
Expand All @@ -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
Expand Down
21 changes: 4 additions & 17 deletions types/element.d.ts
@@ -1,30 +1,17 @@
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;
readonly options: 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>;
};
14 changes: 7 additions & 7 deletions types/helpers/helpers.color.d.ts
@@ -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;
Expand All @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion types/helpers/helpers.extras.d.ts
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion types/helpers/helpers.math.d.ts
@@ -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;
Expand Down
6 changes: 4 additions & 2 deletions types/index.esm.d.ts
Expand Up @@ -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;
Expand Down Expand Up @@ -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 {
/**
Expand Down
6 changes: 4 additions & 2 deletions types/utils.d.ts
@@ -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)
Expand All @@ -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;

0 comments on commit d661bd7

Please sign in to comment.