@oliasoft-open-source/units 4.2.5 → 4.3.0-beta-1
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/dist/README.md +570 -0
- package/dist/index.d.ts +399 -8
- package/dist/index.js +2514 -79
- package/package.json +33 -34
- package/dist/comparison/comparison.d.ts +0 -15
- package/dist/comparison/comparison.js +0 -120
- package/dist/comparison/comparison.js.map +0 -1
- package/dist/comparison/comparison.test.d.ts +0 -1
- package/dist/comparison/comparison.test.js +0 -261
- package/dist/comparison/comparison.test.js.map +0 -1
- package/dist/constants.d.ts +0 -1218
- package/dist/constants.js +0 -1305
- package/dist/constants.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/interfaces.d.ts +0 -13
- package/dist/interfaces.js +0 -3
- package/dist/interfaces.js.map +0 -1
- package/dist/internationalization/internationalization.d.ts +0 -4
- package/dist/internationalization/internationalization.js +0 -64
- package/dist/internationalization/internationalization.js.map +0 -1
- package/dist/internationalization/internationalization.test.d.ts +0 -1
- package/dist/internationalization/internationalization.test.js +0 -65
- package/dist/internationalization/internationalization.test.js.map +0 -1
- package/dist/internationalization/utils.d.ts +0 -5
- package/dist/internationalization/utils.js +0 -114
- package/dist/internationalization/utils.js.map +0 -1
- package/dist/numbers/display-number.d.ts +0 -20
- package/dist/numbers/display-number.js +0 -141
- package/dist/numbers/display-number.js.map +0 -1
- package/dist/numbers/display-number.test.d.ts +0 -1
- package/dist/numbers/display-number.test.js +0 -182
- package/dist/numbers/display-number.test.js.map +0 -1
- package/dist/numbers/numbers.d.ts +0 -4
- package/dist/numbers/numbers.js +0 -94
- package/dist/numbers/numbers.js.map +0 -1
- package/dist/numbers/numbers.test.d.ts +0 -1
- package/dist/numbers/numbers.test.js +0 -167
- package/dist/numbers/numbers.test.js.map +0 -1
- package/dist/parse/parse-number.d.ts +0 -13
- package/dist/parse/parse-number.js +0 -49
- package/dist/parse/parse-number.js.map +0 -1
- package/dist/parse/parse-number.test.d.ts +0 -1
- package/dist/parse/parse-number.test.js +0 -86
- package/dist/parse/parse-number.test.js.map +0 -1
- package/dist/rounding/deprecated-rounding.d.ts +0 -4
- package/dist/rounding/deprecated-rounding.js +0 -80
- package/dist/rounding/deprecated-rounding.js.map +0 -1
- package/dist/rounding/rounding.d.ts +0 -13
- package/dist/rounding/rounding.js +0 -199
- package/dist/rounding/rounding.js.map +0 -1
- package/dist/rounding/rounding.test.d.ts +0 -1
- package/dist/rounding/rounding.test.js +0 -543
- package/dist/rounding/rounding.test.js.map +0 -1
- package/dist/tsconfig.build.tsbuildinfo +0 -1
- package/dist/units.d.ts +0 -29
- package/dist/units.js +0 -365
- package/dist/units.js.map +0 -1
- package/dist/utils.d.ts +0 -27
- package/dist/utils.js +0 -280
- package/dist/utils.js.map +0 -1
- package/dist/validate/ajv-validators.d.ts +0 -6
- package/dist/validate/ajv-validators.js +0 -127
- package/dist/validate/ajv-validators.js.map +0 -1
- package/dist/validate/errors-transform.d.ts +0 -2
- package/dist/validate/errors-transform.js +0 -8
- package/dist/validate/errors-transform.js.map +0 -1
- package/dist/validate/schemas/index.d.ts +0 -2
- package/dist/validate/schemas/index.js +0 -11
- package/dist/validate/schemas/index.js.map +0 -1
- package/dist/validate/schemas/test.schema.d.ts +0 -12
- package/dist/validate/schemas/test.schema.js +0 -15
- package/dist/validate/schemas/test.schema.js.map +0 -1
- package/dist/validate/schemas/validate-number.schema.d.ts +0 -5
- package/dist/validate/schemas/validate-number.schema.js +0 -8
- package/dist/validate/schemas/validate-number.schema.js.map +0 -1
- package/dist/validate/validate.test.d.ts +0 -1
- package/dist/validate/validate.test.js +0 -32
- package/dist/validate/validate.test.js.map +0 -1
|
@@ -1,182 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const display_number_1 = require("./display-number");
|
|
4
|
-
const rounding_1 = require("../rounding/rounding");
|
|
5
|
-
describe('Format human-friendly numbers for display labels', () => {
|
|
6
|
-
describe('formatDecimalDisplayNumber', () => {
|
|
7
|
-
it('should convert numbers to human-friendly decimal display values', () => {
|
|
8
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)(1234567)).toBe('1 234 567');
|
|
9
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)('1234567')).toBe('1 234 567');
|
|
10
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)(123456.789)).toBe('123 456.789');
|
|
11
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)('123456.789')).toBe('123 456.789');
|
|
12
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)(123e7)).toBe('1 230 000 000');
|
|
13
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)(123e-7)).toBe('0.0000123');
|
|
14
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)('123e7')).toBe('1 230 000 000');
|
|
15
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)('1/2')).toBe('0.5');
|
|
16
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)(Infinity)).toBe('∞');
|
|
17
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)(-Infinity)).toBe('-∞');
|
|
18
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)(NaN)).toBe('NaN');
|
|
19
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)(null)).toBe('');
|
|
20
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)(undefined)).toBe('');
|
|
21
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)('1234.')).toBe('1234.');
|
|
22
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)('1234,')).toBe('1234,');
|
|
23
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)('123,456,789,')).toBe('123,456,789,');
|
|
24
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)('123.456,789.')).toBe('123.456,789.');
|
|
25
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)('')).toBe('');
|
|
26
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)(' 1\n23.4 5 6\t789')).toBe('123.456789');
|
|
27
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)(' ')).toBe('');
|
|
28
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)('\t')).toBe('');
|
|
29
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)('\n')).toBe('');
|
|
30
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)('badFooBar')).toBe('badFooBar');
|
|
31
|
-
});
|
|
32
|
-
it('should not display very small and large numbers in scientific notation', () => {
|
|
33
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)(1234567123.12345)).toBe('1 234 567 123.12345');
|
|
34
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)(123456712345678.12345)).toBe('123 456 712 345 678.12');
|
|
35
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)(1.23456e17)).toBe('123 456 000 000 000 000');
|
|
36
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)(1.23456e+21)).toBe('1 234 560 000 000 000 000 000');
|
|
37
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)(1.23456e21)).toBe('1 234 560 000 000 000 000 000');
|
|
38
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)(0.0000000000012345)).toBe('0.0000000000012345');
|
|
39
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)(1.2345e-12)).toBe('0.0000000000012345');
|
|
40
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)(1.2345e-20)).toBe('0.00000000000000000001');
|
|
41
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)(1.2345e-30)).toBe('0');
|
|
42
|
-
});
|
|
43
|
-
it('should gracefully handle localized input formats (even though we do not expect these in the data layer)', () => {
|
|
44
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)('123,456.789')).toBe('123 456.789');
|
|
45
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)('123,456,789.123')).toBe('123 456 789.123');
|
|
46
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)('123456789,123')).toBe('123 456 789.123');
|
|
47
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)('123.456.789,123')).toBe('123 456 789.123');
|
|
48
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)('123 456 789.123')).toBe('123 456 789.123');
|
|
49
|
-
});
|
|
50
|
-
it('can be configured to use non-breaking spaces', () => {
|
|
51
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)('123,456.789', { nonBreakingSpace: true })).toBe('123 456.789');
|
|
52
|
-
});
|
|
53
|
-
it('can be configured to not use any separator spaces', () => {
|
|
54
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)('123,456.789', { noThousandsSeparator: true })).toBe('123456.789');
|
|
55
|
-
});
|
|
56
|
-
it('can be configured to preserve trailing zeros (for fixed precision string inputs)', () => {
|
|
57
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)('0', { preserveTrailingZeros: true })).toBe('0');
|
|
58
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)('1234.123', { preserveTrailingZeros: true })).toBe('1 234.123');
|
|
59
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)('1234.1000', { preserveTrailingZeros: true })).toBe('1 234.1000');
|
|
60
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)('1234.1100', { preserveTrailingZeros: true })).toBe('1 234.1100');
|
|
61
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)('123000.0', { preserveTrailingZeros: true })).toBe('123 000.0');
|
|
62
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)('0.000000001200', { preserveTrailingZeros: true })).toBe('0.000000001200');
|
|
63
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)('123000000', { preserveTrailingZeros: true })).toBe('123 000 000');
|
|
64
|
-
expect((0, display_number_1.formatDecimalDisplayNumber)('123000000.0', { preserveTrailingZeros: true })).toBe('123 000 000.0');
|
|
65
|
-
});
|
|
66
|
-
});
|
|
67
|
-
describe('formatScientificDisplayNumber', () => {
|
|
68
|
-
it('should format scientific notation display numbers', () => {
|
|
69
|
-
expect((0, display_number_1.formatScientificDisplayNumber)(1000.5)).toBe('1.0005·10³');
|
|
70
|
-
expect((0, display_number_1.formatScientificDisplayNumber)('1000.5')).toBe('1.0005·10³');
|
|
71
|
-
expect((0, display_number_1.formatScientificDisplayNumber)(0.000002345)).toBe('2.345·10⁻⁶');
|
|
72
|
-
expect((0, display_number_1.formatScientificDisplayNumber)('0.000002345')).toBe('2.345·10⁻⁶');
|
|
73
|
-
expect((0, display_number_1.formatScientificDisplayNumber)('0.000000000000000235')).toBe('2.35·10⁻¹⁶');
|
|
74
|
-
expect((0, display_number_1.formatScientificDisplayNumber)('8900000000000000000000000000')).toBe('8.9·10²⁷');
|
|
75
|
-
expect((0, display_number_1.formatScientificDisplayNumber)('1/1000')).toBe('1·10⁻³');
|
|
76
|
-
expect((0, display_number_1.formatScientificDisplayNumber)(2.34e4)).toBe('2.34·10⁴');
|
|
77
|
-
expect((0, display_number_1.formatScientificDisplayNumber)('2.34e4')).toBe('2.34·10⁴');
|
|
78
|
-
expect((0, display_number_1.formatScientificDisplayNumber)(Infinity)).toBe('Infinity');
|
|
79
|
-
expect((0, display_number_1.formatScientificDisplayNumber)(-Infinity)).toBe('-Infinity');
|
|
80
|
-
expect((0, display_number_1.formatScientificDisplayNumber)(NaN)).toBe('Invalid');
|
|
81
|
-
expect((0, display_number_1.formatScientificDisplayNumber)('')).toBe('');
|
|
82
|
-
expect((0, display_number_1.formatScientificDisplayNumber)('1234.')).toBe('1234.');
|
|
83
|
-
expect((0, display_number_1.formatScientificDisplayNumber)('1234,')).toBe('1234,');
|
|
84
|
-
expect((0, display_number_1.formatScientificDisplayNumber)('123,456,789,')).toBe('123,456,789,');
|
|
85
|
-
expect((0, display_number_1.formatScientificDisplayNumber)('123.456,789.')).toBe('123.456,789.');
|
|
86
|
-
expect((0, display_number_1.formatScientificDisplayNumber)(' 1\n23.4 5 6\t789')).toBe('1.23456789·10²');
|
|
87
|
-
expect((0, display_number_1.formatScientificDisplayNumber)(' ')).toBe('');
|
|
88
|
-
expect((0, display_number_1.formatScientificDisplayNumber)('\t')).toBe('');
|
|
89
|
-
expect((0, display_number_1.formatScientificDisplayNumber)('\n')).toBe('');
|
|
90
|
-
expect((0, display_number_1.formatScientificDisplayNumber)('badFooBar')).toBe('badFooBar');
|
|
91
|
-
expect((0, display_number_1.formatScientificDisplayNumber)('0', { preserveTrailingZeros: true })).toBe('0');
|
|
92
|
-
expect((0, display_number_1.formatScientificDisplayNumber)('123000.0', { preserveTrailingZeros: true })).toBe('1.23·10⁵');
|
|
93
|
-
expect((0, display_number_1.formatScientificDisplayNumber)('0.000000001200', { preserveTrailingZeros: true })).toBe('1.2·10⁻⁹');
|
|
94
|
-
expect((0, display_number_1.formatScientificDisplayNumber)('123000000', { preserveTrailingZeros: true })).toBe('1.23·10⁸');
|
|
95
|
-
});
|
|
96
|
-
it('should not display 10⁰', () => {
|
|
97
|
-
expect((0, display_number_1.formatScientificDisplayNumber)(0)).toBe('0');
|
|
98
|
-
expect((0, display_number_1.formatScientificDisplayNumber)(9)).toBe('9');
|
|
99
|
-
expect((0, display_number_1.formatScientificDisplayNumber)(9e0)).toBe('9');
|
|
100
|
-
expect((0, display_number_1.formatScientificDisplayNumber)(9.0e-0)).toBe('9');
|
|
101
|
-
});
|
|
102
|
-
it('it should optionally support e-notation', () => {
|
|
103
|
-
expect((0, display_number_1.formatScientificDisplayNumber)(1000.5, { eNotation: true })).toBe('1.0005e3');
|
|
104
|
-
expect((0, display_number_1.formatScientificDisplayNumber)(2.34e-4, { eNotation: true })).toBe('2.34e-4');
|
|
105
|
-
});
|
|
106
|
-
it('should gracefully handle localized input formats (even though we do not expect these in the data layer)', () => {
|
|
107
|
-
expect((0, display_number_1.formatScientificDisplayNumber)('123,000.0')).toBe('1.23·10⁵');
|
|
108
|
-
expect((0, display_number_1.formatScientificDisplayNumber)('123,400,000.000')).toBe('1.234·10⁸');
|
|
109
|
-
expect((0, display_number_1.formatScientificDisplayNumber)('123400000.000')).toBe('1.234·10⁸');
|
|
110
|
-
expect((0, display_number_1.formatScientificDisplayNumber)('123.400.000,000')).toBe('1.234·10⁸');
|
|
111
|
-
expect((0, display_number_1.formatScientificDisplayNumber)('123 400 000.000')).toBe('1.234·10⁸');
|
|
112
|
-
});
|
|
113
|
-
it('can be configured to round the coefficient', () => {
|
|
114
|
-
expect((0, display_number_1.formatScientificDisplayNumber)('123,456,891.123')).toBe('1.23456891123·10⁸');
|
|
115
|
-
expect((0, display_number_1.formatScientificDisplayNumber)('123,456,891.123', {
|
|
116
|
-
roundScientificCoefficient: 2,
|
|
117
|
-
})).toBe('1.23·10⁸');
|
|
118
|
-
expect((0, display_number_1.formatScientificDisplayNumber)('123,456,891.123', {
|
|
119
|
-
roundScientificCoefficient: 6,
|
|
120
|
-
})).toBe('1.234569·10⁸');
|
|
121
|
-
expect((0, display_number_1.formatScientificDisplayNumber)('123,456,891.123', {
|
|
122
|
-
roundScientificCoefficient: 0,
|
|
123
|
-
})).toBe('1·10⁸');
|
|
124
|
-
});
|
|
125
|
-
it('should handle null or undefined value', () => {
|
|
126
|
-
expect((0, display_number_1.formatScientificDisplayNumber)(null)).toBe('');
|
|
127
|
-
expect((0, display_number_1.formatScientificDisplayNumber)(undefined)).toBe('');
|
|
128
|
-
});
|
|
129
|
-
});
|
|
130
|
-
describe('displayNumber', () => {
|
|
131
|
-
it('should display numbers for human-friendly labels', () => {
|
|
132
|
-
expect((0, display_number_1.displayNumber)(1234.56)).toBe('1 234.56');
|
|
133
|
-
expect((0, display_number_1.displayNumber)('1234.56')).toBe('1 234.56');
|
|
134
|
-
expect((0, display_number_1.displayNumber)('1234.56|m')).toBe('1 234.56');
|
|
135
|
-
expect((0, display_number_1.displayNumber)(null)).toBe('');
|
|
136
|
-
expect((0, display_number_1.displayNumber)(undefined)).toBe('');
|
|
137
|
-
});
|
|
138
|
-
it('displays in scientific notation when appropriate', () => {
|
|
139
|
-
expect((0, display_number_1.displayNumber)(9500.123)).toBe('9 500.123');
|
|
140
|
-
expect((0, display_number_1.displayNumber)(10500.123)).toBe('10 500.123');
|
|
141
|
-
expect((0, display_number_1.displayNumber)(10500.12345678)).toBe('10 500.12345678');
|
|
142
|
-
expect((0, display_number_1.displayNumber)(11050000.12345678)).toBe('1.105000012345678·10⁷');
|
|
143
|
-
expect((0, display_number_1.displayNumber)(0.0004)).toBe('0.0004');
|
|
144
|
-
expect((0, display_number_1.displayNumber)(0.00004)).toBe('4·10⁻⁵');
|
|
145
|
-
expect((0, display_number_1.displayNumber)(0.0000123456)).toBe('1.23456·10⁻⁵');
|
|
146
|
-
expect((0, display_number_1.displayNumber)((0, rounding_1.roundToPrecision)(11050000.12345678))).toBe('1.105·10⁷');
|
|
147
|
-
expect((0, display_number_1.displayNumber)(11050000.12345678, { scientific: true, roundScientificCoefficient: 4 })).toBe('1.105·10⁷');
|
|
148
|
-
expect((0, display_number_1.displayNumber)(1230000.123, { autoScientificBelow: 1e-7, autoScientificAbove: 1e7 })).toBe('1 230 000.123');
|
|
149
|
-
expect((0, display_number_1.displayNumber)(12300000.123, { autoScientificBelow: 1e-7, autoScientificAbove: 1e7 })).toBe('1.2300000123·10⁷');
|
|
150
|
-
expect((0, display_number_1.displayNumber)(1.124e-9, { autoScientificBelow: 1e7, autoScientificAbove: 1e7 })).toBe('1.124·10⁻⁹');
|
|
151
|
-
expect((0, display_number_1.displayNumber)('10500.12345678', { scientific: false })).toBe('10 500.12345678');
|
|
152
|
-
expect((0, display_number_1.displayNumber)('1234.56', { scientific: true })).toBe('1.23456·10³');
|
|
153
|
-
});
|
|
154
|
-
it('optionally supports e-notation', () => {
|
|
155
|
-
expect((0, display_number_1.displayNumber)(10500.12, { eNotation: true })).toBe('10 500.12');
|
|
156
|
-
expect((0, display_number_1.displayNumber)(11050000, { eNotation: true })).toBe('1.105e7');
|
|
157
|
-
expect((0, display_number_1.displayNumber)(0.00004, { eNotation: true })).toBe('4e-5');
|
|
158
|
-
});
|
|
159
|
-
it('should display formatted units when enabled and the input is a unit string', () => {
|
|
160
|
-
expect((0, display_number_1.displayNumber)('1234.56|m3/min', { withUnit: true })).toBe('1 234.56 m³/min');
|
|
161
|
-
expect((0, display_number_1.displayNumber)('|m3/min', { withUnit: true })).toBe('m³/min');
|
|
162
|
-
expect((0, display_number_1.displayNumber)('0|cm', { withUnit: true })).toBe('0 cm');
|
|
163
|
-
expect((0, display_number_1.displayNumber)('1234.56|m3/min')).toBe('1 234.56');
|
|
164
|
-
expect((0, display_number_1.displayNumber)('1234.56', { withUnit: true })).toBe('1 234.56');
|
|
165
|
-
});
|
|
166
|
-
});
|
|
167
|
-
describe('displayNumberToFixed', () => {
|
|
168
|
-
it('preserves trailing decimal zeros for string inputs, except for scientific notation outputs', () => {
|
|
169
|
-
expect((0, display_number_1.displayNumberToFixed)('1234.5600')).toBe('1 234.5600');
|
|
170
|
-
expect((0, display_number_1.displayNumberToFixed)('1234.0')).toBe('1 234.0');
|
|
171
|
-
expect((0, display_number_1.displayNumberToFixed)('1.2300e-2')).toBe('0.012300');
|
|
172
|
-
expect((0, display_number_1.displayNumberToFixed)('0.000000012300')).toBe('1.23·10⁻⁸');
|
|
173
|
-
expect((0, display_number_1.displayNumberToFixed)('1.2300e-8')).toBe('1.23·10⁻⁸');
|
|
174
|
-
expect((0, display_number_1.displayNumberToFixed)('1.2300e8')).toBe('1.23·10⁸');
|
|
175
|
-
expect((0, display_number_1.displayNumberToFixed)('123000000')).toBe('1.23·10⁸');
|
|
176
|
-
expect((0, display_number_1.displayNumberToFixed)('12300000.0')).toBe('1.23·10⁷');
|
|
177
|
-
expect((0, display_number_1.displayNumberToFixed)(null)).toBe('');
|
|
178
|
-
expect((0, display_number_1.displayNumberToFixed)(undefined)).toBe('');
|
|
179
|
-
});
|
|
180
|
-
});
|
|
181
|
-
});
|
|
182
|
-
//# sourceMappingURL=display-number.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"display-number.test.js","sourceRoot":"","sources":["../../src/numbers/display-number.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export declare const isValidNum: (value: unknown) => boolean;
|
|
2
|
-
export declare const isScientificStringNum: (value: unknown) => boolean;
|
|
3
|
-
export declare const toNum: (value: unknown, fallback?: number, minimum?: number) => any;
|
|
4
|
-
export declare const toString: (value?: unknown) => unknown;
|
package/dist/numbers/numbers.js
DELETED
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.toString = exports.toNum = exports.isScientificStringNum = exports.isValidNum = void 0;
|
|
4
|
-
const utils_1 = require("../utils");
|
|
5
|
-
const units_1 = require("../units");
|
|
6
|
-
const display_number_1 = require("./display-number");
|
|
7
|
-
const parseValue = (value) => {
|
|
8
|
-
const isString = typeof value === 'string';
|
|
9
|
-
const hasUnit = isString && (0, units_1.isValueWithUnit)(value);
|
|
10
|
-
return hasUnit ? (0, units_1.getValue)(value) : value;
|
|
11
|
-
};
|
|
12
|
-
const isValidNum = (value) => {
|
|
13
|
-
const parsedValue = parseValue(value);
|
|
14
|
-
if ((0, utils_1.isEmptyString)(parsedValue)
|
|
15
|
-
|| Number.isNaN(parsedValue)
|
|
16
|
-
|| parsedValue === Infinity
|
|
17
|
-
|| parsedValue === -Infinity) {
|
|
18
|
-
return true;
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
if (!((0, utils_1.isNull)(parsedValue)
|
|
22
|
-
|| (0, utils_1.isUndefined)(parsedValue)
|
|
23
|
-
|| (0, utils_1.isTrailingPeriodSeparator)(parsedValue)
|
|
24
|
-
|| (0, utils_1.isTrailingCommaSeparator)(parsedValue)
|
|
25
|
-
|| (0, utils_1.isArray)(parsedValue)
|
|
26
|
-
|| (0, utils_1.isObject)(parsedValue))) {
|
|
27
|
-
const cleanedValue = (0, utils_1.cleanNumStr)(String(parsedValue));
|
|
28
|
-
if (cleanedValue.includes(units_1.SEPARATOR)) {
|
|
29
|
-
return false;
|
|
30
|
-
}
|
|
31
|
-
const number = (0, utils_1.isFraction)(cleanedValue) ? (0, utils_1.numFraction)(cleanedValue)
|
|
32
|
-
: (0, utils_1.isNumeric)(cleanedValue) ? parseFloat(cleanedValue)
|
|
33
|
-
: cleanedValue;
|
|
34
|
-
if (number === Infinity || number === -Infinity) {
|
|
35
|
-
return true;
|
|
36
|
-
}
|
|
37
|
-
if (!(0, utils_1.isNumeric)(number)) {
|
|
38
|
-
return false;
|
|
39
|
-
}
|
|
40
|
-
if (!Number.isNaN(number)) {
|
|
41
|
-
return true;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
return false;
|
|
46
|
-
};
|
|
47
|
-
exports.isValidNum = isValidNum;
|
|
48
|
-
const isScientificStringNum = (value) => {
|
|
49
|
-
if (typeof value === 'string') {
|
|
50
|
-
return (0, exports.isValidNum)(value) && value.toLowerCase().includes('e');
|
|
51
|
-
}
|
|
52
|
-
return false;
|
|
53
|
-
};
|
|
54
|
-
exports.isScientificStringNum = isScientificStringNum;
|
|
55
|
-
const toNum = (value, fallback, minimum) => {
|
|
56
|
-
const fallbackResult = fallback !== null && fallback !== void 0 ? fallback : value;
|
|
57
|
-
const parsedValue = parseValue(value);
|
|
58
|
-
if (!(0, exports.isValidNum)(parsedValue)) {
|
|
59
|
-
return fallbackResult;
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
const cleanedValue = (0, utils_1.cleanNumStr)(String(parsedValue));
|
|
63
|
-
const number = (0, utils_1.isFraction)(cleanedValue) ? (0, utils_1.numFraction)(cleanedValue)
|
|
64
|
-
: (0, utils_1.isNumeric)(cleanedValue) ? parseFloat(cleanedValue)
|
|
65
|
-
: cleanedValue;
|
|
66
|
-
if (number === Infinity || number === -Infinity) {
|
|
67
|
-
return number;
|
|
68
|
-
}
|
|
69
|
-
if (Number.isNaN(number) || !(0, utils_1.isNumeric)(number)) {
|
|
70
|
-
return fallbackResult;
|
|
71
|
-
}
|
|
72
|
-
else if (minimum && number < minimum) {
|
|
73
|
-
return minimum;
|
|
74
|
-
}
|
|
75
|
-
return number;
|
|
76
|
-
}
|
|
77
|
-
};
|
|
78
|
-
exports.toNum = toNum;
|
|
79
|
-
const toString = (value) => {
|
|
80
|
-
if ((0, exports.isValidNum)(value)) {
|
|
81
|
-
if (typeof value === 'string') {
|
|
82
|
-
return value;
|
|
83
|
-
}
|
|
84
|
-
if (typeof value === 'number') {
|
|
85
|
-
if (Number.isNaN(value) || !Number.isFinite(value)) {
|
|
86
|
-
return String(value);
|
|
87
|
-
}
|
|
88
|
-
return (0, display_number_1.formatDecimalDisplayNumber)(value, { noThousandsSeparator: true });
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
return value;
|
|
92
|
-
};
|
|
93
|
-
exports.toString = toString;
|
|
94
|
-
//# sourceMappingURL=numbers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"numbers.js","sourceRoot":"","sources":["../../src/numbers/numbers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const numbers_1 = require("./numbers");
|
|
4
|
-
describe('Numbers', () => {
|
|
5
|
-
it('toNum() - should return cleaned number string', () => {
|
|
6
|
-
expect((0, numbers_1.toNum)(1)).toEqual(1);
|
|
7
|
-
expect((0, numbers_1.toNum)(1.234)).toEqual(1.234);
|
|
8
|
-
expect((0, numbers_1.toNum)('1.234')).toEqual(1.234);
|
|
9
|
-
expect((0, numbers_1.toNum)('1.234|m')).toEqual(1.234);
|
|
10
|
-
expect((0, numbers_1.toNum)('1,234|kg/m3')).toEqual(1.234);
|
|
11
|
-
expect((0, numbers_1.toNum)('1,234|badUnit/cm')).toEqual('1,234|badUnit/cm');
|
|
12
|
-
expect((0, numbers_1.toNum)('13 3/8, Intermediate, Casing')).toEqual('13 3/8, Intermediate, Casing');
|
|
13
|
-
expect((0, numbers_1.toNum)(',1')).toEqual(0.1);
|
|
14
|
-
expect((0, numbers_1.toNum)(null)).toEqual(null);
|
|
15
|
-
expect((0, numbers_1.toNum)(undefined)).toEqual(undefined);
|
|
16
|
-
expect((0, numbers_1.toNum)(NaN)).toBeNaN();
|
|
17
|
-
expect((0, numbers_1.toNum)(Infinity)).toEqual(Infinity);
|
|
18
|
-
expect((0, numbers_1.toNum)(-Infinity)).toEqual(-Infinity);
|
|
19
|
-
expect((0, numbers_1.toNum)('1/0')).toEqual(Infinity);
|
|
20
|
-
expect((0, numbers_1.toNum)('-1/0')).toEqual(-Infinity);
|
|
21
|
-
expect((0, numbers_1.toNum)('')).toEqual('');
|
|
22
|
-
expect((0, numbers_1.toNum)([1, 2])).toEqual([1, 2]);
|
|
23
|
-
expect((0, numbers_1.toNum)({ a: 'abc' })).toEqual({ a: 'abc' });
|
|
24
|
-
expect((0, numbers_1.toNum)('1.')).toEqual('1.');
|
|
25
|
-
expect((0, numbers_1.toNum)('1,')).toEqual('1,');
|
|
26
|
-
expect((0, numbers_1.toNum)('1/10')).toEqual(0.1);
|
|
27
|
-
expect((0, numbers_1.toNum)('1.123e4')).toEqual(11230);
|
|
28
|
-
expect((0, numbers_1.toNum)('1.123E4')).toEqual(11230);
|
|
29
|
-
expect((0, numbers_1.toNum)(1.123e4)).toEqual(11230);
|
|
30
|
-
expect((0, numbers_1.toNum)('1.123e+4')).toEqual(11230);
|
|
31
|
-
expect((0, numbers_1.toNum)('1.123e-4')).toEqual(0.0001123);
|
|
32
|
-
expect((0, numbers_1.toNum)('1/10|m')).toEqual(0.1);
|
|
33
|
-
expect((0, numbers_1.toNum)('1/10|kg/m3')).toEqual(0.1);
|
|
34
|
-
expect((0, numbers_1.toNum)('1/10|badUnit/cm')).toEqual('1/10|badUnit/cm');
|
|
35
|
-
expect((0, numbers_1.toNum)('1.123e-4|m')).toEqual(0.0001123);
|
|
36
|
-
expect((0, numbers_1.toNum)(NaN)).toEqual(NaN);
|
|
37
|
-
expect((0, numbers_1.toNum)(0.05, 0.05, 0.1)).toEqual(0.1);
|
|
38
|
-
expect((0, numbers_1.toNum)(0.1)).toEqual(0.1);
|
|
39
|
-
expect((0, numbers_1.toNum)(' 123\n, 56\t7 ')).toEqual(123.567);
|
|
40
|
-
expect((0, numbers_1.toNum)('1.2|-44|')).toEqual('1.2|-44|');
|
|
41
|
-
expect((0, numbers_1.toNum)('1.2-44')).toEqual('1.2-44');
|
|
42
|
-
expect((0, numbers_1.toNum)('1.2*3')).toEqual('1.2*3');
|
|
43
|
-
});
|
|
44
|
-
it('toNum() - fallback and minimum values', () => {
|
|
45
|
-
expect((0, numbers_1.toNum)('1,23', 2)).toEqual(1.23);
|
|
46
|
-
expect((0, numbers_1.toNum)(null, 2)).toEqual(2);
|
|
47
|
-
expect((0, numbers_1.toNum)(undefined, 2)).toEqual(2);
|
|
48
|
-
expect((0, numbers_1.toNum)(0, 2)).toEqual(0);
|
|
49
|
-
expect((0, numbers_1.toNum)('1,23', 2, 4)).toEqual(4);
|
|
50
|
-
});
|
|
51
|
-
it('OW-19695 handle + in numbers', () => {
|
|
52
|
-
expect((0, numbers_1.toNum)('+5')).toEqual(5);
|
|
53
|
-
expect((0, numbers_1.toNum)('-5')).toEqual(-5);
|
|
54
|
-
expect((0, numbers_1.isValidNum)('+5')).toEqual(true);
|
|
55
|
-
expect((0, numbers_1.isValidNum)('-5')).toEqual(true);
|
|
56
|
-
});
|
|
57
|
-
it('isValidNum validates if a number is possible to convert with toNum()', () => {
|
|
58
|
-
expect((0, numbers_1.isValidNum)(1.234)).toEqual(true);
|
|
59
|
-
expect((0, numbers_1.isValidNum)(-1.2345678)).toEqual(true);
|
|
60
|
-
expect((0, numbers_1.isValidNum)(0)).toEqual(true);
|
|
61
|
-
expect((0, numbers_1.isValidNum)('1.234')).toEqual(true);
|
|
62
|
-
expect((0, numbers_1.isValidNum)('1.234|m')).toEqual(true);
|
|
63
|
-
expect((0, numbers_1.isValidNum)('1,234|kg/m3')).toEqual(true);
|
|
64
|
-
expect((0, numbers_1.isValidNum)(NaN)).toEqual(true);
|
|
65
|
-
expect((0, numbers_1.isValidNum)(Infinity)).toEqual(true);
|
|
66
|
-
expect((0, numbers_1.isValidNum)(-Infinity)).toEqual(true);
|
|
67
|
-
expect((0, numbers_1.isValidNum)('1,234|badUnit/cm')).toEqual(false);
|
|
68
|
-
expect((0, numbers_1.isValidNum)('13 3/8, Intermediate, Casing')).toEqual(false);
|
|
69
|
-
expect((0, numbers_1.isValidNum)(null)).toEqual(false);
|
|
70
|
-
expect((0, numbers_1.isValidNum)(undefined)).toEqual(false);
|
|
71
|
-
expect((0, numbers_1.isValidNum)({})).toEqual(false);
|
|
72
|
-
expect((0, numbers_1.isValidNum)([])).toEqual(false);
|
|
73
|
-
expect((0, numbers_1.isValidNum)('foobar')).toEqual(false);
|
|
74
|
-
expect((0, numbers_1.isValidNum)('')).toEqual(true);
|
|
75
|
-
expect((0, numbers_1.isValidNum)('.')).toEqual(false);
|
|
76
|
-
expect((0, numbers_1.isValidNum)(',')).toEqual(false);
|
|
77
|
-
expect((0, numbers_1.isValidNum)('66.')).toEqual(false);
|
|
78
|
-
expect((0, numbers_1.isValidNum)('66,')).toEqual(false);
|
|
79
|
-
expect((0, numbers_1.isValidNum)('76')).toEqual(true);
|
|
80
|
-
expect((0, numbers_1.isValidNum)('81.034')).toEqual(true);
|
|
81
|
-
expect((0, numbers_1.isValidNum)('0')).toEqual(true);
|
|
82
|
-
expect((0, numbers_1.isValidNum)('-123.456')).toEqual(true);
|
|
83
|
-
expect((0, numbers_1.isValidNum)('1000,05')).toEqual(true);
|
|
84
|
-
expect((0, numbers_1.isValidNum)('2 1/2')).toEqual(true);
|
|
85
|
-
expect((0, numbers_1.isValidNum)('1/2')).toEqual(true);
|
|
86
|
-
expect((0, numbers_1.isValidNum)('1/0')).toEqual(true);
|
|
87
|
-
expect((0, numbers_1.isValidNum)('1.123e4')).toEqual(true);
|
|
88
|
-
expect((0, numbers_1.isValidNum)('1.123E4')).toEqual(true);
|
|
89
|
-
expect((0, numbers_1.isValidNum)(1.123e4)).toEqual(true);
|
|
90
|
-
expect((0, numbers_1.isValidNum)('1.123e+4')).toEqual(true);
|
|
91
|
-
expect((0, numbers_1.isValidNum)('1.123e-4')).toEqual(true);
|
|
92
|
-
expect((0, numbers_1.isValidNum)('1/10|m')).toEqual(true);
|
|
93
|
-
expect((0, numbers_1.isValidNum)('1/10|kg/m3')).toEqual(true);
|
|
94
|
-
expect((0, numbers_1.isValidNum)('1/10|badUnit/cm')).toEqual(false);
|
|
95
|
-
expect((0, numbers_1.isValidNum)('foobar|m')).toEqual(false);
|
|
96
|
-
expect((0, numbers_1.isValidNum)('1.123e-4|m')).toEqual(true);
|
|
97
|
-
expect((0, numbers_1.isValidNum)(' 123\n, 56\t7 ')).toEqual(true);
|
|
98
|
-
expect((0, numbers_1.isValidNum)('123|4|m')).toEqual(false);
|
|
99
|
-
expect((0, numbers_1.isValidNum)('1.2|-44|')).toEqual(false);
|
|
100
|
-
expect((0, numbers_1.isValidNum)('1.2-44')).toEqual(false);
|
|
101
|
-
expect((0, numbers_1.isValidNum)('1.2*3')).toEqual(false);
|
|
102
|
-
});
|
|
103
|
-
it('isScientificStringNum validates if a number is possible to convert with toNum()', () => {
|
|
104
|
-
expect((0, numbers_1.isScientificStringNum)(1.234)).toEqual(false);
|
|
105
|
-
expect((0, numbers_1.isScientificStringNum)('1.234')).toEqual(false);
|
|
106
|
-
expect((0, numbers_1.isScientificStringNum)('1.234|m')).toEqual(false);
|
|
107
|
-
expect((0, numbers_1.isScientificStringNum)('1,234|kg/m3')).toEqual(false);
|
|
108
|
-
expect((0, numbers_1.isScientificStringNum)(NaN)).toEqual(false);
|
|
109
|
-
expect((0, numbers_1.isScientificStringNum)(Infinity)).toEqual(false);
|
|
110
|
-
expect((0, numbers_1.isScientificStringNum)(-Infinity)).toEqual(false);
|
|
111
|
-
expect((0, numbers_1.isScientificStringNum)('1,234|badUnit/cm')).toEqual(false);
|
|
112
|
-
expect((0, numbers_1.isScientificStringNum)(null)).toEqual(false);
|
|
113
|
-
expect((0, numbers_1.isScientificStringNum)(undefined)).toEqual(false);
|
|
114
|
-
expect((0, numbers_1.isScientificStringNum)({})).toEqual(false);
|
|
115
|
-
expect((0, numbers_1.isScientificStringNum)([])).toEqual(false);
|
|
116
|
-
expect((0, numbers_1.isScientificStringNum)('foobar')).toEqual(false);
|
|
117
|
-
expect((0, numbers_1.isScientificStringNum)('')).toEqual(false);
|
|
118
|
-
expect((0, numbers_1.isScientificStringNum)('.')).toEqual(false);
|
|
119
|
-
expect((0, numbers_1.isScientificStringNum)(',')).toEqual(false);
|
|
120
|
-
expect((0, numbers_1.isScientificStringNum)('66.')).toEqual(false);
|
|
121
|
-
expect((0, numbers_1.isScientificStringNum)('66,')).toEqual(false);
|
|
122
|
-
expect((0, numbers_1.isScientificStringNum)('76')).toEqual(false);
|
|
123
|
-
expect((0, numbers_1.isScientificStringNum)('81.034')).toEqual(false);
|
|
124
|
-
expect((0, numbers_1.isScientificStringNum)('1000,05')).toEqual(false);
|
|
125
|
-
expect((0, numbers_1.isScientificStringNum)('2 1/2')).toEqual(false);
|
|
126
|
-
expect((0, numbers_1.isScientificStringNum)('1.123e4')).toEqual(true);
|
|
127
|
-
expect((0, numbers_1.isScientificStringNum)('1.123E4')).toEqual(true);
|
|
128
|
-
expect((0, numbers_1.isScientificStringNum)(1.123e4)).toEqual(false);
|
|
129
|
-
expect((0, numbers_1.isScientificStringNum)('1.123e+4')).toEqual(true);
|
|
130
|
-
expect((0, numbers_1.isScientificStringNum)('1.123e-4')).toEqual(true);
|
|
131
|
-
expect((0, numbers_1.isScientificStringNum)('1.123E4|m')).toEqual(true);
|
|
132
|
-
expect((0, numbers_1.isScientificStringNum)('1.123e+4|m')).toEqual(true);
|
|
133
|
-
expect((0, numbers_1.isScientificStringNum)('1/2e+4|m')).toEqual(true);
|
|
134
|
-
expect((0, numbers_1.isScientificStringNum)('1.123e-4|ft')).toEqual(true);
|
|
135
|
-
expect((0, numbers_1.isScientificStringNum)('1/10|m')).toEqual(false);
|
|
136
|
-
expect((0, numbers_1.isScientificStringNum)('1/10|kg/m3')).toEqual(false);
|
|
137
|
-
expect((0, numbers_1.isScientificStringNum)('1/10|badUnit/cm')).toEqual(false);
|
|
138
|
-
expect((0, numbers_1.isScientificStringNum)('foobar|m')).toEqual(false);
|
|
139
|
-
expect((0, numbers_1.isScientificStringNum)('1.123e-4|m')).toEqual(true);
|
|
140
|
-
expect((0, numbers_1.isScientificStringNum)(' 123\n, 56\t7 ')).toEqual(false);
|
|
141
|
-
expect((0, numbers_1.isScientificStringNum)('123|4|m')).toEqual(false);
|
|
142
|
-
});
|
|
143
|
-
it('toString should safely convert numbers to decimal strings', () => {
|
|
144
|
-
expect((0, numbers_1.toString)(1)).toEqual('1');
|
|
145
|
-
expect((0, numbers_1.toString)('1')).toEqual('1');
|
|
146
|
-
expect((0, numbers_1.toString)(999999.12345)).toEqual('999999.12345');
|
|
147
|
-
expect((0, numbers_1.toString)('999999.12345')).toEqual('999999.12345');
|
|
148
|
-
expect((0, numbers_1.toString)(0.000000000213)).toEqual('0.000000000213');
|
|
149
|
-
expect(String(0.000000000213)).toEqual('2.13e-10');
|
|
150
|
-
expect((0, numbers_1.toString)('0.000000000213')).toEqual('0.000000000213');
|
|
151
|
-
expect((0, numbers_1.toString)(0.000000000213)).toEqual('0.000000000213');
|
|
152
|
-
expect((0, numbers_1.toString)(2.13e-10)).toEqual('0.000000000213');
|
|
153
|
-
expect((0, numbers_1.toString)('2.13e-10')).toEqual('2.13e-10');
|
|
154
|
-
expect((0, numbers_1.toString)(5e5)).toEqual('500000');
|
|
155
|
-
expect((0, numbers_1.toString)('5e5')).toEqual('5e5');
|
|
156
|
-
expect((0, numbers_1.toString)('5,5')).toEqual('5,5');
|
|
157
|
-
expect((0, numbers_1.toString)(null)).toEqual(null);
|
|
158
|
-
expect((0, numbers_1.toString)(undefined)).toEqual(undefined);
|
|
159
|
-
expect((0, numbers_1.toString)(NaN)).toEqual('NaN');
|
|
160
|
-
expect((0, numbers_1.toString)(Infinity)).toEqual('Infinity');
|
|
161
|
-
expect((0, numbers_1.toString)(-Infinity)).toEqual('-Infinity');
|
|
162
|
-
expect((0, numbers_1.toString)('')).toEqual('');
|
|
163
|
-
expect((0, numbers_1.toString)([1, 2])).toEqual([1, 2]);
|
|
164
|
-
expect((0, numbers_1.toString)({ a: 'abc' })).toEqual({ a: 'abc' });
|
|
165
|
-
});
|
|
166
|
-
});
|
|
167
|
-
//# sourceMappingURL=numbers.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"numbers.test.js","sourceRoot":"","sources":["../../src/numbers/numbers.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export declare const countTrailingZeros: (value: number | string, decimalPartOnly?: boolean) => number;
|
|
2
|
-
export declare const hasTrailingZeros: (value: number | string) => boolean;
|
|
3
|
-
export declare const parseNumber: (value: number | string, preserveTrailingZeros?: boolean) => {
|
|
4
|
-
number: any;
|
|
5
|
-
unit: string | null;
|
|
6
|
-
isString: boolean;
|
|
7
|
-
};
|
|
8
|
-
export declare const unParseNumber: ({ value, unit, isString, isScientific }: {
|
|
9
|
-
value: number | string;
|
|
10
|
-
unit?: string | null | undefined;
|
|
11
|
-
isString?: boolean | undefined;
|
|
12
|
-
isScientific?: boolean | undefined;
|
|
13
|
-
}) => number | string;
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.unParseNumber = exports.parseNumber = exports.hasTrailingZeros = exports.countTrailingZeros = void 0;
|
|
4
|
-
const units_1 = require("../units");
|
|
5
|
-
const numbers_1 = require("../numbers/numbers");
|
|
6
|
-
const utils_1 = require("../utils");
|
|
7
|
-
const countTrailingZeros = (value, decimalPartOnly = false) => {
|
|
8
|
-
var _a, _b, _c, _d;
|
|
9
|
-
const condition = decimalPartOnly
|
|
10
|
-
? /0+((?=[|eE])|$)/
|
|
11
|
-
: /(0+|0+\.0+)((?=[|eE])|$)/;
|
|
12
|
-
if (typeof value === 'string' && (decimalPartOnly ? value.includes('.') || value.includes(',') : true)) {
|
|
13
|
-
return (_d = (_c = (_b = (_a = value === null || value === void 0 ? void 0 : value.match(condition)) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.replaceAll(/[.,]/g, '')) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : 0;
|
|
14
|
-
}
|
|
15
|
-
return 0;
|
|
16
|
-
};
|
|
17
|
-
exports.countTrailingZeros = countTrailingZeros;
|
|
18
|
-
const hasTrailingZeros = (value) => {
|
|
19
|
-
return (0, exports.countTrailingZeros)(value) > 0;
|
|
20
|
-
};
|
|
21
|
-
exports.hasTrailingZeros = hasTrailingZeros;
|
|
22
|
-
const parseNumber = (value, preserveTrailingZeros = false) => {
|
|
23
|
-
const isString = typeof value === 'string';
|
|
24
|
-
const hasUnit = isString && (0, units_1.isValueWithUnit)(value);
|
|
25
|
-
const unit = hasUnit ? (0, units_1.getUnit)(value) : null;
|
|
26
|
-
const cleaned = (0, utils_1.cleanNumStr)(hasUnit ? (0, units_1.getValue)(value) : value);
|
|
27
|
-
const number = preserveTrailingZeros && (0, exports.hasTrailingZeros)(value) ? cleaned : (0, numbers_1.toNum)(cleaned);
|
|
28
|
-
return {
|
|
29
|
-
number,
|
|
30
|
-
unit,
|
|
31
|
-
isString,
|
|
32
|
-
};
|
|
33
|
-
};
|
|
34
|
-
exports.parseNumber = parseNumber;
|
|
35
|
-
const safeStringifyNumber = (value, isScientific) => {
|
|
36
|
-
return isScientific
|
|
37
|
-
? String(value)
|
|
38
|
-
: String((0, numbers_1.toString)(value));
|
|
39
|
-
};
|
|
40
|
-
const unParseNumber = ({ value, unit, isString, isScientific }) => {
|
|
41
|
-
const convertedValue = (typeof value === 'number' && isString)
|
|
42
|
-
? safeStringifyNumber(value, isScientific) : value;
|
|
43
|
-
if (unit) {
|
|
44
|
-
return (0, units_1.withUnit)(convertedValue, unit);
|
|
45
|
-
}
|
|
46
|
-
return convertedValue;
|
|
47
|
-
};
|
|
48
|
-
exports.unParseNumber = unParseNumber;
|
|
49
|
-
//# sourceMappingURL=parse-number.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parse-number.js","sourceRoot":"","sources":["../../src/parse/parse-number.ts"],"names":[],"mappings":";;;AAAA,oCAAwE;AACxE,gDAAqD;AACrD,oCAAuC;AAEhC,MAAM,kBAAkB,GAAG,CAAC,KAAoB,EAAE,eAAe,GAAG,KAAK,EAAE,EAAE;;IAOlF,MAAM,SAAS,GAAG,eAAe;QAC/B,CAAC,CAAC,iBAAiB;QACnB,CAAC,CAAC,0BAA0B,CAAC;IAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;QACtG,OAAO,MAAA,MAAA,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAC,SAAS,CAAC,0CAAG,CAAC,CAAC,0CAC/B,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,0CACvB,MAAM,mCAAI,CAAC,CAAC;KACjB;IACD,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAhBW,QAAA,kBAAkB,sBAgB7B;AAEK,MAAM,gBAAgB,GAAG,CAAC,KAAoB,EAAE,EAAE;IACvD,OAAO,IAAA,0BAAkB,EAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACvC,CAAC,CAAC;AAFW,QAAA,gBAAgB,oBAE3B;AAUK,MAAM,WAAW,GAAG,CAAC,KAAoB,EAAE,qBAAqB,GAAG,KAAK,EACzB,EAAE;IACtD,MAAM,QAAQ,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC;IAC3C,MAAM,OAAO,GAAG,QAAQ,IAAI,IAAA,uBAAe,EAAC,KAAK,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAA,eAAO,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7C,MAAM,OAAO,GAAG,IAAA,mBAAW,EAAC,OAAO,CAAC,CAAC,CAAC,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,qBAAqB,IAAI,IAAA,wBAAgB,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAA,eAAK,EAAC,OAAO,CAAC,CAAC;IAC3F,OAAO;QACL,MAAM;QACN,IAAI;QACJ,QAAQ;KACT,CAAC;AACJ,CAAC,CAAC;AAZW,QAAA,WAAW,eAYtB;AAUF,MAAM,mBAAmB,GAAG,CAAC,KAAoB,EAAE,YAAsB,EAAU,EAAE;IAMnF,OAAO,YAAY;QACjB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QACf,CAAC,CAAC,MAAM,CAAC,IAAA,kBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC;AAcK,MAAM,aAAa,GAAG,CAAC,EAC5B,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,YAAY,EAMb,EAAiB,EAAE;IAClB,MAAM,cAAc,GAAG,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,QAAQ,CAAC;QAC5D,CAAC,CAAC,mBAAmB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACrD,IAAI,IAAI,EAAE;QACR,OAAO,IAAA,gBAAQ,EAAC,cAAc,EAAE,IAAI,CAAC,CAAC;KACvC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AAjBW,QAAA,aAAa,iBAiBxB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|