]> git.ipfire.org Git - thirdparty/Chart.js.git/commitdiff
Use guard clause typings (#10683)
authorJacco van den Berg <jaccoberg2281@gmail.com>
Tue, 27 Sep 2022 11:00:48 +0000 (13:00 +0200)
committerGitHub <noreply@github.com>
Tue, 27 Sep 2022 11:00:48 +0000 (14:00 +0300)
* Use guard clasue

* use function type instead of build in function

src/helpers/helpers.core.ts
types/helpers/helpers.color.d.ts
types/helpers/helpers.math.d.ts

index 304394c47a14e460295dde98b2c1ed4f82abcea6..964fc8eee3db93de16141a3c63f70cb5ec6c5888 100644 (file)
@@ -390,7 +390,7 @@ export function _capitalize(str: string) {
 
 export const defined = (value: unknown) => typeof value !== 'undefined';
 
-export const isFunction = (value: unknown) => typeof value === 'function';
+export const isFunction = (value: unknown): value is (...args: any[]) => any => typeof value === 'function';
 
 // Adapted from https://stackoverflow.com/questions/31128855/comparing-ecma6-sets-for-equality#31129384
 export const setsEqual = <T>(a: Set<T>, b: Set<T>) => {
index 460b8d1fe1a1328d807ee2a8c0395f6a3c887f6d..556f8f488af567b5b602bc11a09c405702335d30 100644 (file)
@@ -10,7 +10,7 @@ export function color(
   | [number, number, number, number]
 ): ColorModel;
 
-export function isPatternOrGradient(value: string | AnyObject): boolean;
+export function isPatternOrGradient(value: unknown): value is CanvasPattern | CanvasGradient;
 
 export interface ColorModel {
   rgbString(): string;
index cc58b30e714cf8626def7c92f85a204cf641776b..63439d48110856dfa27cb1b8226429bd35a59acb 100644 (file)
@@ -1,5 +1,5 @@
 export function log10(x: number): number;
-export function isNumber(v: unknown): boolean;
+export function isNumber(v: unknown): v is Number;
 export function almostEquals(x: number, y: number, epsilon: number): boolean;
 export function almostWhole(x: number, epsilon: number): number;
 export function sign(x: number): number;