@etsoo/shared 1.2.16 → 1.2.18
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/README.md +1 -1
- package/__tests__/NumberUtils.ts +4 -1
- package/lib/cjs/ExtendUtils.js +1 -1
- package/lib/cjs/NumberUtils.d.ts +8 -2
- package/lib/cjs/NumberUtils.js +11 -9
- package/lib/mjs/ExtendUtils.js +1 -1
- package/lib/mjs/NumberUtils.d.ts +8 -2
- package/lib/mjs/NumberUtils.js +11 -9
- package/package.json +3 -3
- package/src/ExtendUtils.ts +1 -1
- package/src/NumberUtils.ts +21 -6
package/README.md
CHANGED
|
@@ -248,7 +248,7 @@ Numbers related utilities
|
|
|
248
248
|
|formatFileSize|Format file size|
|
|
249
249
|
|formatMoney|Format money number|
|
|
250
250
|
|getCurrencySymbol|Get currency symbol or name from ISO code|
|
|
251
|
-
|parse|Parse
|
|
251
|
+
|parse|Parse to number, with or without default value|
|
|
252
252
|
|toExact|To the exact precision number avoiding precision lost|
|
|
253
253
|
|
|
254
254
|
## StorageUtils
|
package/__tests__/NumberUtils.ts
CHANGED
|
@@ -25,7 +25,10 @@ test('Tests for getCurrencySymbol', () => {
|
|
|
25
25
|
test('Tests for parse', () => {
|
|
26
26
|
expect(NumberUtils.parse('123')).toBe(123);
|
|
27
27
|
expect(NumberUtils.parse(Object(123))).toBe(123);
|
|
28
|
-
expect(
|
|
28
|
+
expect(NumberUtils.parse('a')).toBeUndefined();
|
|
29
|
+
expect(NumberUtils.parse('a', 0)).toBe(0);
|
|
30
|
+
expect(NumberUtils.parse('')).toBeUndefined();
|
|
31
|
+
expect(NumberUtils.parse('', -1)).toBe(-1);
|
|
29
32
|
});
|
|
30
33
|
|
|
31
34
|
test('Tests for parseWithUnit', () => {
|
package/lib/cjs/ExtendUtils.js
CHANGED
package/lib/cjs/NumberUtils.d.ts
CHANGED
|
@@ -42,10 +42,16 @@ export declare namespace NumberUtils {
|
|
|
42
42
|
*/
|
|
43
43
|
function getCurrencySymbol(code: string, display?: 'symbol' | 'narrowSymbol' | 'name', locale?: string): string | undefined;
|
|
44
44
|
/**
|
|
45
|
-
* Parse
|
|
45
|
+
* Parse number
|
|
46
46
|
* @param rawData Raw data
|
|
47
47
|
*/
|
|
48
|
-
|
|
48
|
+
function parse(rawData: unknown): number | undefined;
|
|
49
|
+
/**
|
|
50
|
+
* Parse number with default value
|
|
51
|
+
* @param rawData Raw data
|
|
52
|
+
* @param defaultValue Default value
|
|
53
|
+
*/
|
|
54
|
+
function parse(rawData: unknown, defaultValue: number): number;
|
|
49
55
|
/**
|
|
50
56
|
* Parse float value and unit
|
|
51
57
|
* @param input Input string
|
package/lib/cjs/NumberUtils.js
CHANGED
|
@@ -82,19 +82,21 @@ var NumberUtils;
|
|
|
82
82
|
return symbol;
|
|
83
83
|
}
|
|
84
84
|
NumberUtils.getCurrencySymbol = getCurrencySymbol;
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
*/
|
|
89
|
-
NumberUtils.parse = (rawData) => {
|
|
90
|
-
if (rawData == null) {
|
|
91
|
-
return Number.NaN;
|
|
85
|
+
function parse(rawData, defaultValue) {
|
|
86
|
+
if (rawData == null || rawData === '') {
|
|
87
|
+
return defaultValue;
|
|
92
88
|
}
|
|
93
89
|
if (typeof rawData === 'number') {
|
|
90
|
+
if (isNaN(rawData))
|
|
91
|
+
return defaultValue;
|
|
94
92
|
return rawData;
|
|
95
93
|
}
|
|
96
|
-
|
|
97
|
-
|
|
94
|
+
const p = parseFloat(rawData.toString());
|
|
95
|
+
if (isNaN(p))
|
|
96
|
+
return defaultValue;
|
|
97
|
+
return p;
|
|
98
|
+
}
|
|
99
|
+
NumberUtils.parse = parse;
|
|
98
100
|
/**
|
|
99
101
|
* Parse float value and unit
|
|
100
102
|
* @param input Input string
|
package/lib/mjs/ExtendUtils.js
CHANGED
package/lib/mjs/NumberUtils.d.ts
CHANGED
|
@@ -42,10 +42,16 @@ export declare namespace NumberUtils {
|
|
|
42
42
|
*/
|
|
43
43
|
function getCurrencySymbol(code: string, display?: 'symbol' | 'narrowSymbol' | 'name', locale?: string): string | undefined;
|
|
44
44
|
/**
|
|
45
|
-
* Parse
|
|
45
|
+
* Parse number
|
|
46
46
|
* @param rawData Raw data
|
|
47
47
|
*/
|
|
48
|
-
|
|
48
|
+
function parse(rawData: unknown): number | undefined;
|
|
49
|
+
/**
|
|
50
|
+
* Parse number with default value
|
|
51
|
+
* @param rawData Raw data
|
|
52
|
+
* @param defaultValue Default value
|
|
53
|
+
*/
|
|
54
|
+
function parse(rawData: unknown, defaultValue: number): number;
|
|
49
55
|
/**
|
|
50
56
|
* Parse float value and unit
|
|
51
57
|
* @param input Input string
|
package/lib/mjs/NumberUtils.js
CHANGED
|
@@ -79,19 +79,21 @@ export var NumberUtils;
|
|
|
79
79
|
return symbol;
|
|
80
80
|
}
|
|
81
81
|
NumberUtils.getCurrencySymbol = getCurrencySymbol;
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
*/
|
|
86
|
-
NumberUtils.parse = (rawData) => {
|
|
87
|
-
if (rawData == null) {
|
|
88
|
-
return Number.NaN;
|
|
82
|
+
function parse(rawData, defaultValue) {
|
|
83
|
+
if (rawData == null || rawData === '') {
|
|
84
|
+
return defaultValue;
|
|
89
85
|
}
|
|
90
86
|
if (typeof rawData === 'number') {
|
|
87
|
+
if (isNaN(rawData))
|
|
88
|
+
return defaultValue;
|
|
91
89
|
return rawData;
|
|
92
90
|
}
|
|
93
|
-
|
|
94
|
-
|
|
91
|
+
const p = parseFloat(rawData.toString());
|
|
92
|
+
if (isNaN(p))
|
|
93
|
+
return defaultValue;
|
|
94
|
+
return p;
|
|
95
|
+
}
|
|
96
|
+
NumberUtils.parse = parse;
|
|
95
97
|
/**
|
|
96
98
|
* Parse float value and unit
|
|
97
99
|
* @param input Input string
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@etsoo/shared",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.18",
|
|
4
4
|
"description": "TypeScript shared utilities and functions",
|
|
5
5
|
"main": "lib/cjs/index.js",
|
|
6
6
|
"module": "lib/mjs/index.js",
|
|
@@ -54,8 +54,8 @@
|
|
|
54
54
|
},
|
|
55
55
|
"homepage": "https://github.com/ETSOO/Shared#readme",
|
|
56
56
|
"devDependencies": {
|
|
57
|
-
"@types/jest": "^29.5.
|
|
58
|
-
"@types/lodash.isequal": "^4.5.
|
|
57
|
+
"@types/jest": "^29.5.7",
|
|
58
|
+
"@types/lodash.isequal": "^4.5.7",
|
|
59
59
|
"jest": "^29.7.0",
|
|
60
60
|
"jest-environment-jsdom": "^29.7.0",
|
|
61
61
|
"ts-jest": "^29.1.1",
|
package/src/ExtendUtils.ts
CHANGED
package/src/NumberUtils.ts
CHANGED
|
@@ -106,20 +106,35 @@ export namespace NumberUtils {
|
|
|
106
106
|
}
|
|
107
107
|
|
|
108
108
|
/**
|
|
109
|
-
* Parse
|
|
109
|
+
* Parse number
|
|
110
110
|
* @param rawData Raw data
|
|
111
111
|
*/
|
|
112
|
-
export
|
|
113
|
-
|
|
114
|
-
|
|
112
|
+
export function parse(rawData: unknown): number | undefined;
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Parse number with default value
|
|
116
|
+
* @param rawData Raw data
|
|
117
|
+
* @param defaultValue Default value
|
|
118
|
+
*/
|
|
119
|
+
export function parse(rawData: unknown, defaultValue: number): number;
|
|
120
|
+
|
|
121
|
+
export function parse(
|
|
122
|
+
rawData: unknown,
|
|
123
|
+
defaultValue?: number
|
|
124
|
+
): number | undefined {
|
|
125
|
+
if (rawData == null || rawData === '') {
|
|
126
|
+
return defaultValue;
|
|
115
127
|
}
|
|
116
128
|
|
|
117
129
|
if (typeof rawData === 'number') {
|
|
130
|
+
if (isNaN(rawData)) return defaultValue;
|
|
118
131
|
return rawData;
|
|
119
132
|
}
|
|
120
133
|
|
|
121
|
-
|
|
122
|
-
|
|
134
|
+
const p = parseFloat(rawData.toString());
|
|
135
|
+
if (isNaN(p)) return defaultValue;
|
|
136
|
+
return p;
|
|
137
|
+
}
|
|
123
138
|
|
|
124
139
|
/**
|
|
125
140
|
* Parse float value and unit
|