@alwatr/is-number 5.7.6 โ 5.7.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/README.md +0 -2
- package/dist/main.cjs +1 -3
- package/dist/main.cjs.map +2 -2
- package/dist/main.d.ts +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.mjs +1 -3
- package/dist/main.mjs.map +2 -2
- package/package.json +5 -8
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,22 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [5.7.8](https://github.com/Alwatr/nanolib/compare/@alwatr/is-number@5.7.7...@alwatr/is-number@5.7.8) (2025-09-13)
|
|
7
|
+
|
|
8
|
+
### ๐งน Miscellaneous Chores
|
|
9
|
+
|
|
10
|
+
* remove package-tracer dependency and related code from fetch package ([96fe4e9](https://github.com/Alwatr/nanolib/commit/96fe4e9552a205f218ceed187c55e4e904a07089))
|
|
11
|
+
|
|
12
|
+
## [5.7.7](https://github.com/Alwatr/nanolib/compare/@alwatr/is-number@5.7.6...@alwatr/is-number@5.7.7) (2025-09-09)
|
|
13
|
+
|
|
14
|
+
### ๐ Bug Fixes
|
|
15
|
+
|
|
16
|
+
* update isFiniteNumber return type to indicate it checks for finite numbers ([2ed06c4](https://github.com/Alwatr/nanolib/commit/2ed06c43ce97a1c04cdc5779e1866fc6445b1ca2))
|
|
17
|
+
|
|
18
|
+
### ๐งน Miscellaneous Chores
|
|
19
|
+
|
|
20
|
+
* remove trailing newlines from contributing sections in README files ([e8ab1bc](https://github.com/Alwatr/nanolib/commit/e8ab1bc43e0addea5ccd4c897c2cec597cb9e15f))
|
|
21
|
+
|
|
6
22
|
## [5.7.6](https://github.com/Alwatr/nanolib/compare/@alwatr/is-number@5.7.5...@alwatr/is-number@5.7.6) (2025-09-06)
|
|
7
23
|
|
|
8
24
|
**Note:** Version bump only for package @alwatr/is-number
|
package/README.md
CHANGED
|
@@ -138,5 +138,3 @@ The following companies, organizations, and individuals support Nanolib ongoing
|
|
|
138
138
|
### Contributing
|
|
139
139
|
|
|
140
140
|
Contributions are welcome! Please read our [contribution guidelines](https://github.com/Alwatr/.github/blob/next/CONTRIBUTING.md) before submitting a pull request.
|
|
141
|
-
|
|
142
|
-
|
package/dist/main.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* @alwatr/is-number v5.7.
|
|
1
|
+
/* @alwatr/is-number v5.7.8 */
|
|
2
2
|
"use strict";
|
|
3
3
|
var __defProp = Object.defineProperty;
|
|
4
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
@@ -26,8 +26,6 @@ __export(main_exports, {
|
|
|
26
26
|
toNumber: () => toNumber
|
|
27
27
|
});
|
|
28
28
|
module.exports = __toCommonJS(main_exports);
|
|
29
|
-
var import_package_tracer = require("@alwatr/package-tracer");
|
|
30
|
-
__dev_mode__: import_package_tracer.packageTracer.add("@alwatr/is-number", "5.7.6");
|
|
31
29
|
function isFiniteNumber(value) {
|
|
32
30
|
if (typeof Number.isFinite === "function") {
|
|
33
31
|
return Number.isFinite(value);
|
package/dist/main.cjs.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/main.ts"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"sourcesContent": ["/**\n * Polyfill for Number.isFinite - properly checks if a value is a finite number\n * without type coercion.\n *\n * @param value - The value to check\n * @returns true if the value is a finite number, false otherwise\n */\nexport function isFiniteNumber(value: unknown): value is number {\n // Use native implementation if available\n if (typeof Number.isFinite === 'function') {\n return Number.isFinite(value);\n }\n // Fallback implementation\n return typeof value === 'number' && isFinite(value);\n}\n\n/**\n * Check if the value is a number or can be converted to a number.\n *\n * @param value - The value to check.\n * @returns `true` if the value is a number or can be converted to a number, otherwise `false`.\n *\n * @example\n * ```ts\n * isNumber(123); // true\n * isNumber('123'); // true\n * isNumber(' 123 '); // true\n * isNumber('0xff'); // true\n * isNumber('-1.1'); // true\n * isNumber(''); // false\n * isNumber(' '); // false\n * isNumber(' 123a '); // false\n * isNumber(NaN); // false\n * isNumber(Infinity); // false\n * isNumber({}); // false\n * isNumber([]); // false\n * isNumber(null); // false\n * isNumber(undefined); // false\n * ```\n */\nexport function isNumber(value: unknown): value is number {\n // Handle number type\n if (typeof value === 'number') {\n return value - value === 0;\n }\n\n // Handle string type\n if (typeof value === 'string') {\n const trimmed = value.trim();\n if (trimmed === '') return false;\n\n // Use unary plus for fastest string-to-number conversion\n const num = +trimmed;\n return isFiniteNumber(num);\n }\n\n return false;\n}\n\n/**\n * Convert a value to a number if possible.\n *\n * @param value - The value to convert.\n * @returns The converted number if valid, otherwise `null`.\n *\n * @example\n * ```ts\n * toNumber(123); // 123\n * toNumber('123'); // 123\n * toNumber(' 123 '); // 123\n * toNumber('0xff'); // 255\n * toNumber('-1.1'); // -1.1\n * toNumber(''); // null\n * toNumber(' '); // null\n * toNumber('123a'); // null\n * toNumber(NaN); // null\n * toNumber(Infinity); // null\n * toNumber({}); // null\n * toNumber([]); // null\n * toNumber(null); // null\n * toNumber(undefined); // null\n * ```\n */\nexport function toNumber(value: unknown): number | null {\n // Handle number type\n if (typeof value === 'number') {\n return value - value === 0 ? value : null;\n }\n\n // Handle string type\n if (typeof value === 'string') {\n const trimmed = value.trim();\n if (trimmed === '') return null;\n\n const num = +trimmed;\n return isFiniteNumber(num) ? num : null;\n }\n\n return null;\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOO,SAAS,eAAe,OAAiC;AAE9D,MAAI,OAAO,OAAO,aAAa,YAAY;AACzC,WAAO,OAAO,SAAS,KAAK;AAAA,EAC9B;AAEA,SAAO,OAAO,UAAU,YAAY,SAAS,KAAK;AACpD;AA0BO,SAAS,SAAS,OAAiC;AAExD,MAAI,OAAO,UAAU,UAAU;AAC7B,WAAO,QAAQ,UAAU;AAAA,EAC3B;AAGA,MAAI,OAAO,UAAU,UAAU;AAC7B,UAAM,UAAU,MAAM,KAAK;AAC3B,QAAI,YAAY,GAAI,QAAO;AAG3B,UAAM,MAAM,CAAC;AACb,WAAO,eAAe,GAAG;AAAA,EAC3B;AAEA,SAAO;AACT;AA0BO,SAAS,SAAS,OAA+B;AAEtD,MAAI,OAAO,UAAU,UAAU;AAC7B,WAAO,QAAQ,UAAU,IAAI,QAAQ;AAAA,EACvC;AAGA,MAAI,OAAO,UAAU,UAAU;AAC7B,UAAM,UAAU,MAAM,KAAK;AAC3B,QAAI,YAAY,GAAI,QAAO;AAE3B,UAAM,MAAM,CAAC;AACb,WAAO,eAAe,GAAG,IAAI,MAAM;AAAA,EACrC;AAEA,SAAO;AACT;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/main.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* @param value - The value to check
|
|
6
6
|
* @returns true if the value is a finite number, false otherwise
|
|
7
7
|
*/
|
|
8
|
-
export declare function isFiniteNumber(value: unknown):
|
|
8
|
+
export declare function isFiniteNumber(value: unknown): value is number;
|
|
9
9
|
/**
|
|
10
10
|
* Check if the value is a number or can be converted to a number.
|
|
11
11
|
*
|
package/dist/main.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAO9D;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAiBxD;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAgBtD"}
|
package/dist/main.mjs
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
/* @alwatr/is-number v5.7.
|
|
1
|
+
/* @alwatr/is-number v5.7.8 */
|
|
2
2
|
|
|
3
3
|
// src/main.ts
|
|
4
|
-
import { packageTracer } from "@alwatr/package-tracer";
|
|
5
|
-
__dev_mode__: packageTracer.add("@alwatr/is-number", "5.7.6");
|
|
6
4
|
function isFiniteNumber(value) {
|
|
7
5
|
if (typeof Number.isFinite === "function") {
|
|
8
6
|
return Number.isFinite(value);
|
package/dist/main.mjs.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/main.ts"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": ";;;
|
|
4
|
+
"sourcesContent": ["/**\n * Polyfill for Number.isFinite - properly checks if a value is a finite number\n * without type coercion.\n *\n * @param value - The value to check\n * @returns true if the value is a finite number, false otherwise\n */\nexport function isFiniteNumber(value: unknown): value is number {\n // Use native implementation if available\n if (typeof Number.isFinite === 'function') {\n return Number.isFinite(value);\n }\n // Fallback implementation\n return typeof value === 'number' && isFinite(value);\n}\n\n/**\n * Check if the value is a number or can be converted to a number.\n *\n * @param value - The value to check.\n * @returns `true` if the value is a number or can be converted to a number, otherwise `false`.\n *\n * @example\n * ```ts\n * isNumber(123); // true\n * isNumber('123'); // true\n * isNumber(' 123 '); // true\n * isNumber('0xff'); // true\n * isNumber('-1.1'); // true\n * isNumber(''); // false\n * isNumber(' '); // false\n * isNumber(' 123a '); // false\n * isNumber(NaN); // false\n * isNumber(Infinity); // false\n * isNumber({}); // false\n * isNumber([]); // false\n * isNumber(null); // false\n * isNumber(undefined); // false\n * ```\n */\nexport function isNumber(value: unknown): value is number {\n // Handle number type\n if (typeof value === 'number') {\n return value - value === 0;\n }\n\n // Handle string type\n if (typeof value === 'string') {\n const trimmed = value.trim();\n if (trimmed === '') return false;\n\n // Use unary plus for fastest string-to-number conversion\n const num = +trimmed;\n return isFiniteNumber(num);\n }\n\n return false;\n}\n\n/**\n * Convert a value to a number if possible.\n *\n * @param value - The value to convert.\n * @returns The converted number if valid, otherwise `null`.\n *\n * @example\n * ```ts\n * toNumber(123); // 123\n * toNumber('123'); // 123\n * toNumber(' 123 '); // 123\n * toNumber('0xff'); // 255\n * toNumber('-1.1'); // -1.1\n * toNumber(''); // null\n * toNumber(' '); // null\n * toNumber('123a'); // null\n * toNumber(NaN); // null\n * toNumber(Infinity); // null\n * toNumber({}); // null\n * toNumber([]); // null\n * toNumber(null); // null\n * toNumber(undefined); // null\n * ```\n */\nexport function toNumber(value: unknown): number | null {\n // Handle number type\n if (typeof value === 'number') {\n return value - value === 0 ? value : null;\n }\n\n // Handle string type\n if (typeof value === 'string') {\n const trimmed = value.trim();\n if (trimmed === '') return null;\n\n const num = +trimmed;\n return isFiniteNumber(num) ? num : null;\n }\n\n return null;\n}\n"],
|
|
5
|
+
"mappings": ";;;AAOO,SAAS,eAAe,OAAiC;AAE9D,MAAI,OAAO,OAAO,aAAa,YAAY;AACzC,WAAO,OAAO,SAAS,KAAK;AAAA,EAC9B;AAEA,SAAO,OAAO,UAAU,YAAY,SAAS,KAAK;AACpD;AA0BO,SAAS,SAAS,OAAiC;AAExD,MAAI,OAAO,UAAU,UAAU;AAC7B,WAAO,QAAQ,UAAU;AAAA,EAC3B;AAGA,MAAI,OAAO,UAAU,UAAU;AAC7B,UAAM,UAAU,MAAM,KAAK;AAC3B,QAAI,YAAY,GAAI,QAAO;AAG3B,UAAM,MAAM,CAAC;AACb,WAAO,eAAe,GAAG;AAAA,EAC3B;AAEA,SAAO;AACT;AA0BO,SAAS,SAAS,OAA+B;AAEtD,MAAI,OAAO,UAAU,UAAU;AAC7B,WAAO,QAAQ,UAAU,IAAI,QAAQ;AAAA,EACvC;AAGA,MAAI,OAAO,UAAU,UAAU;AAC7B,UAAM,UAAU,MAAM,KAAK;AAC3B,QAAI,YAAY,GAAI,QAAO;AAE3B,UAAM,MAAM,CAAC;AACb,WAAO,eAAe,GAAG,IAAI,MAAM;AAAA,EACrC;AAEA,SAAO;AACT;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alwatr/is-number",
|
|
3
3
|
"description": "A simple utility to Check the value is number or can convert to a number, for example string ' 123 ' can be converted to 123.",
|
|
4
|
-
"version": "5.7.
|
|
4
|
+
"version": "5.7.8",
|
|
5
5
|
"author": "S. Ali Mihandoost <ali.mihandoost@gmail.com>",
|
|
6
6
|
"bugs": "https://github.com/Alwatr/nanolib/issues",
|
|
7
|
-
"dependencies": {
|
|
8
|
-
"@alwatr/package-tracer": "5.5.9"
|
|
9
|
-
},
|
|
10
7
|
"devDependencies": {
|
|
11
|
-
"@alwatr/nano-build": "6.1.
|
|
12
|
-
"@alwatr/prettier-config": "5.0.
|
|
13
|
-
"@alwatr/tsconfig-base": "6.0.
|
|
8
|
+
"@alwatr/nano-build": "6.1.1",
|
|
9
|
+
"@alwatr/prettier-config": "5.0.3",
|
|
10
|
+
"@alwatr/tsconfig-base": "6.0.1",
|
|
14
11
|
"jest": "^30.1.3",
|
|
15
12
|
"typescript": "^5.9.2"
|
|
16
13
|
},
|
|
@@ -93,5 +90,5 @@
|
|
|
93
90
|
},
|
|
94
91
|
"type": "module",
|
|
95
92
|
"types": "./dist/main.d.ts",
|
|
96
|
-
"gitHead": "
|
|
93
|
+
"gitHead": "0555c6f5ac11e7a911deee9bc90cfa44b6fe0b48"
|
|
97
94
|
}
|