Skip to content

Commit cae5ea1

Browse files
refactor(guardNumber): add guard for primitive Number object
1 parent ea620c4 commit cae5ea1

2 files changed

Lines changed: 8 additions & 6 deletions

File tree

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
// Function.
22
import { isNumber } from '../../is/lib/is-number.func';
33
// Type.
4+
import { AnyNumber } from '../../type/any-number.type';
45
import { GuardNumber } from '../type/guard-number.type';
56
import { ResultCallback } from '../../type/result-callback.type';
67
/**
7-
* Guard the `value` to be a `number`.
8-
* @param value A `number` type `value` to guard.
9-
* @param callback Optional `ResultCallback` function to handle result before returns.
10-
* @returns A `boolean` indicating whether or not the `value` is a `number`.
8+
* Guard the `value` to be any type of a number.
9+
* @param value An `AnyNumber` type `value` to guard.
10+
* @param callback An optional `ResultCallback` function to handle result before returns.
11+
* @returns A `boolean` indicating whether or not the `value` is a `number` type or `Number` object.
1112
*/
12-
export const guardNumber: GuardNumber = (value: number, callback?: ResultCallback): value is number =>
13+
export const guardNumber: GuardNumber = <N extends AnyNumber>(value: N, callback?: ResultCallback): value is N =>
1314
isNumber(value, callback);
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
import { ResultCallback } from '../../type/result-callback.type';
2-
export type GuardNumber = (value: number, callback?: ResultCallback) => value is number;
2+
import { AnyNumber } from '../../type/any-number.type';
3+
export type GuardNumber = <N extends AnyNumber>(value: N, callback?: ResultCallback) => value is N;

0 commit comments

Comments
 (0)