@oliasoft-open-source/units 4.2.5 → 4.3.0-beta-2

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.
Files changed (79) hide show
  1. package/dist/README.md +570 -0
  2. package/dist/index.cjs +2514 -0
  3. package/dist/index.d.ts +399 -8
  4. package/dist/index.js +2514 -79
  5. package/package.json +37 -34
  6. package/dist/comparison/comparison.d.ts +0 -15
  7. package/dist/comparison/comparison.js +0 -120
  8. package/dist/comparison/comparison.js.map +0 -1
  9. package/dist/comparison/comparison.test.d.ts +0 -1
  10. package/dist/comparison/comparison.test.js +0 -261
  11. package/dist/comparison/comparison.test.js.map +0 -1
  12. package/dist/constants.d.ts +0 -1218
  13. package/dist/constants.js +0 -1305
  14. package/dist/constants.js.map +0 -1
  15. package/dist/index.js.map +0 -1
  16. package/dist/interfaces.d.ts +0 -13
  17. package/dist/interfaces.js +0 -3
  18. package/dist/interfaces.js.map +0 -1
  19. package/dist/internationalization/internationalization.d.ts +0 -4
  20. package/dist/internationalization/internationalization.js +0 -64
  21. package/dist/internationalization/internationalization.js.map +0 -1
  22. package/dist/internationalization/internationalization.test.d.ts +0 -1
  23. package/dist/internationalization/internationalization.test.js +0 -65
  24. package/dist/internationalization/internationalization.test.js.map +0 -1
  25. package/dist/internationalization/utils.d.ts +0 -5
  26. package/dist/internationalization/utils.js +0 -114
  27. package/dist/internationalization/utils.js.map +0 -1
  28. package/dist/numbers/display-number.d.ts +0 -20
  29. package/dist/numbers/display-number.js +0 -141
  30. package/dist/numbers/display-number.js.map +0 -1
  31. package/dist/numbers/display-number.test.d.ts +0 -1
  32. package/dist/numbers/display-number.test.js +0 -182
  33. package/dist/numbers/display-number.test.js.map +0 -1
  34. package/dist/numbers/numbers.d.ts +0 -4
  35. package/dist/numbers/numbers.js +0 -94
  36. package/dist/numbers/numbers.js.map +0 -1
  37. package/dist/numbers/numbers.test.d.ts +0 -1
  38. package/dist/numbers/numbers.test.js +0 -167
  39. package/dist/numbers/numbers.test.js.map +0 -1
  40. package/dist/parse/parse-number.d.ts +0 -13
  41. package/dist/parse/parse-number.js +0 -49
  42. package/dist/parse/parse-number.js.map +0 -1
  43. package/dist/parse/parse-number.test.d.ts +0 -1
  44. package/dist/parse/parse-number.test.js +0 -86
  45. package/dist/parse/parse-number.test.js.map +0 -1
  46. package/dist/rounding/deprecated-rounding.d.ts +0 -4
  47. package/dist/rounding/deprecated-rounding.js +0 -80
  48. package/dist/rounding/deprecated-rounding.js.map +0 -1
  49. package/dist/rounding/rounding.d.ts +0 -13
  50. package/dist/rounding/rounding.js +0 -199
  51. package/dist/rounding/rounding.js.map +0 -1
  52. package/dist/rounding/rounding.test.d.ts +0 -1
  53. package/dist/rounding/rounding.test.js +0 -543
  54. package/dist/rounding/rounding.test.js.map +0 -1
  55. package/dist/tsconfig.build.tsbuildinfo +0 -1
  56. package/dist/units.d.ts +0 -29
  57. package/dist/units.js +0 -365
  58. package/dist/units.js.map +0 -1
  59. package/dist/utils.d.ts +0 -27
  60. package/dist/utils.js +0 -280
  61. package/dist/utils.js.map +0 -1
  62. package/dist/validate/ajv-validators.d.ts +0 -6
  63. package/dist/validate/ajv-validators.js +0 -127
  64. package/dist/validate/ajv-validators.js.map +0 -1
  65. package/dist/validate/errors-transform.d.ts +0 -2
  66. package/dist/validate/errors-transform.js +0 -8
  67. package/dist/validate/errors-transform.js.map +0 -1
  68. package/dist/validate/schemas/index.d.ts +0 -2
  69. package/dist/validate/schemas/index.js +0 -11
  70. package/dist/validate/schemas/index.js.map +0 -1
  71. package/dist/validate/schemas/test.schema.d.ts +0 -12
  72. package/dist/validate/schemas/test.schema.js +0 -15
  73. package/dist/validate/schemas/test.schema.js.map +0 -1
  74. package/dist/validate/schemas/validate-number.schema.d.ts +0 -5
  75. package/dist/validate/schemas/validate-number.schema.js +0 -8
  76. package/dist/validate/schemas/validate-number.schema.js.map +0 -1
  77. package/dist/validate/validate.test.d.ts +0 -1
  78. package/dist/validate/validate.test.js +0 -32
  79. 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;
@@ -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 {};