From fbaf28e4f8468eb5f2c59d3b60979d398c7ca086 Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Tue, 27 Sep 2022 13:00:48 +0200 Subject: [PATCH] Use guard clause typings (#10683) * Use guard clasue * use function type instead of build in function --- src/helpers/helpers.core.ts | 2 +- types/helpers/helpers.color.d.ts | 2 +- types/helpers/helpers.math.d.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/helpers/helpers.core.ts b/src/helpers/helpers.core.ts index 304394c47..964fc8eee 100644 --- a/src/helpers/helpers.core.ts +++ b/src/helpers/helpers.core.ts @@ -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 = (a: Set, b: Set) => { diff --git a/types/helpers/helpers.color.d.ts b/types/helpers/helpers.color.d.ts index 460b8d1fe..556f8f488 100644 --- a/types/helpers/helpers.color.d.ts +++ b/types/helpers/helpers.color.d.ts @@ -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; diff --git a/types/helpers/helpers.math.d.ts b/types/helpers/helpers.math.d.ts index cc58b30e7..63439d481 100644 --- a/types/helpers/helpers.math.d.ts +++ b/types/helpers/helpers.math.d.ts @@ -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;