Skip to content

Commit 3dd4dbd

Browse files
committed
fix: remove strong NumberConstructor type guards
fixes #14
1 parent aa529c8 commit 3dd4dbd

File tree

3 files changed

+5
-76
lines changed

3 files changed

+5
-76
lines changed

generated/lib.es2015.core.d.ts

Lines changed: 5 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -253,33 +253,34 @@ interface NumberConstructor {
253253
* 2.2204460492503130808472633361816 x 10‍−‍16.
254254
*/
255255
readonly EPSILON: number;
256+
256257
/**
257258
* Returns true if passed value is finite.
258259
* Unlike the global isFinite, Number.isFinite doesn't forcibly convert the parameter to a
259260
* number. Only finite values of the type number, result in true.
260261
* @param number A numeric value.
261262
*/
262-
isFinite(number: unknown): number is number;
263+
isFinite(number: unknown): boolean;
263264

264265
/**
265266
* Returns true if the value passed is an integer, false otherwise.
266267
* @param number A numeric value.
267268
*/
268-
isInteger(number: unknown): number is number;
269+
isInteger(number: unknown): boolean;
269270

270271
/**
271272
* Returns a Boolean value that indicates whether a value is the reserved value NaN (not a
272273
* number). Unlike the global isNaN(), Number.isNaN() doesn't forcefully convert the parameter
273274
* to a number. Only values of the type number, that are also NaN, result in true.
274275
* @param number A numeric value.
275276
*/
276-
isNaN(number: unknown): number is number;
277+
isNaN(number: unknown): boolean;
277278

278279
/**
279280
* Returns true if the value passed is a safe integer.
280281
* @param number A numeric value.
281282
*/
282-
isSafeInteger(number: unknown): number is number;
283+
isSafeInteger(number: unknown): boolean;
283284

284285
/**
285286
* The value of the largest integer n such that n and n + 1 are both exactly representable as
@@ -310,30 +311,6 @@ interface NumberConstructor {
310311
*/
311312
parseInt(string: string, radix?: number): number;
312313
}
313-
// /**
314-
// * Returns true if passed value is finite.
315-
// * Unlike the global isFinite, Number.isFinite doesn't forcibly convert the parameter to a
316-
// * number. Only finite values of the type number, result in true.
317-
// * @param number A numeric value.
318-
// */
319-
// isFinite(number: unknown): boolean;
320-
// /**
321-
// * Returns true if the value passed is an integer, false otherwise.
322-
// * @param number A numeric value.
323-
// */
324-
// isInteger(number: unknown): boolean;
325-
// /**
326-
// * Returns a Boolean value that indicates whether a value is the reserved value NaN (not a
327-
// * number). Unlike the global isNaN(), Number.isNaN() doesn't forcefully convert the parameter
328-
// * to a number. Only values of the type number, that are also NaN, result in true.
329-
// * @param number A numeric value.
330-
// */
331-
// isNaN(number: unknown): boolean;
332-
// /**
333-
// * Returns true if the value passed is a safe integer.
334-
// * @param number A numeric value.
335-
// */
336-
// isSafeInteger(number: unknown): boolean;
337314

338315
interface ObjectConstructor {
339316
/**

lib/lib.es2015.core.d.ts

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -62,36 +62,6 @@ interface ArrayConstructor {
6262
): U[];
6363
}
6464

65-
interface NumberConstructor {
66-
/**
67-
* Returns true if passed value is finite.
68-
* Unlike the global isFinite, Number.isFinite doesn't forcibly convert the parameter to a
69-
* number. Only finite values of the type number, result in true.
70-
* @param number A numeric value.
71-
*/
72-
isFinite(number: unknown): number is number;
73-
74-
/**
75-
* Returns true if the value passed is an integer, false otherwise.
76-
* @param number A numeric value.
77-
*/
78-
isInteger(number: unknown): number is number;
79-
80-
/**
81-
* Returns a Boolean value that indicates whether a value is the reserved value NaN (not a
82-
* number). Unlike the global isNaN(), Number.isNaN() doesn't forcefully convert the parameter
83-
* to a number. Only values of the type number, that are also NaN, result in true.
84-
* @param number A numeric value.
85-
*/
86-
isNaN(number: unknown): number is number;
87-
88-
/**
89-
* Returns true if the value passed is a safe integer.
90-
* @param number A numeric value.
91-
*/
92-
isSafeInteger(number: unknown): number is number;
93-
}
94-
9565
interface ObjectConstructor {
9666
/**
9767
* Copy the values of all of the enumerable own properties from one or more source objects to a

tests/src/es2015.core.ts

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -16,24 +16,6 @@ import { expectError, expectType } from "tsd";
1616
expectError(a1.findIndex((x) => x));
1717
}
1818

19-
// NumberConstructor
20-
{
21-
const n: unknown = "123";
22-
23-
if (Number.isFinite(n)) {
24-
expectType<number>(n);
25-
}
26-
if (Number.isInteger(n)) {
27-
expectType<number>(n);
28-
}
29-
if (Number.isNaN(n)) {
30-
expectType<number>(n);
31-
}
32-
if (Number.isSafeInteger(n)) {
33-
expectType<number>(n);
34-
}
35-
}
36-
3719
// ObjectConstructor
3820
{
3921
expectError(Object.assign(null));

0 commit comments

Comments
 (0)