@buynomics-lib/bn-shared 1.18.19 → 1.18.20-feature-ace-887.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.
@@ -14,6 +14,7 @@ interface ParsedMeasurement {
14
14
  family: string;
15
15
  unit: string;
16
16
  unitDef: UnitDefinition;
17
+ baseUnit: string;
17
18
  }
18
19
  /**
19
20
  * MeasurementConverter for Measuring Units 3.0.
@@ -42,7 +43,12 @@ export declare class MeasurementConverter {
42
43
  *
43
44
  * @throws Error if families differ or if family/unit is unknown
44
45
  */
45
- convert(value: number, source: string, target: string): number;
46
+ convert({ value, source, target, precision, }: {
47
+ value: number;
48
+ source: string;
49
+ target: string;
50
+ precision?: number;
51
+ }): number;
46
52
  /**
47
53
  * Return the unit label for a measurement string.
48
54
  *
@@ -65,14 +65,15 @@ var MeasurementConverter = /** @class */ (function () {
65
65
  *
66
66
  * @throws Error if families differ or if family/unit is unknown
67
67
  */
68
- MeasurementConverter.prototype.convert = function (value, source, target) {
68
+ MeasurementConverter.prototype.convert = function (_a) {
69
+ var value = _a.value, source = _a.source, target = _a.target, precision = _a.precision;
69
70
  var src = this.parseMeasurement(source);
70
71
  var tgt = this.parseMeasurement(target);
71
72
  if (src.family !== tgt.family) {
72
73
  throw new Error("Cannot convert across measurement families: '".concat(src.family, "' \u2192 '").concat(tgt.family, "'."));
73
74
  }
74
75
  var result = (value * src.unitDef.factor_to_base) / tgt.unitDef.factor_to_base;
75
- return Number(result.toFixed(this.decimalDigitsPrecision));
76
+ return Number(result.toFixed(precision !== null && precision !== void 0 ? precision : this.decimalDigitsPrecision));
76
77
  };
77
78
  /**
78
79
  * Return the unit label for a measurement string.
@@ -115,10 +116,12 @@ var MeasurementConverter = /** @class */ (function () {
115
116
  MeasurementConverter.prototype.parseMeasurement = function (measurement) {
116
117
  var parts = measurement.split('.');
117
118
  if (parts.length !== 2) {
119
+ // TODO: Revert error of BB-150 in https://buynomics.atlassian.net/browse/ACE-945
118
120
  return {
119
121
  family: measurement,
120
122
  unit: measurement,
121
123
  unitDef: { label: measurement, factor_to_base: 1 },
124
+ baseUnit: '',
122
125
  };
123
126
  }
124
127
  var family = parts[0], unit = parts[1];
@@ -127,10 +130,11 @@ var MeasurementConverter = /** @class */ (function () {
127
130
  throw new Error("Unknown measurement family '".concat(family, "'. Known: ").concat(Object.keys(this.config.measurement_families).join(', ')));
128
131
  }
129
132
  var unitDef = familyDef.units[unit];
133
+ var baseUnit = familyDef.base_unit;
130
134
  if (!unitDef) {
131
135
  throw new Error("Unknown unit '".concat(unit, "' for family '").concat(family, "'. Valid units: ").concat(Object.keys(familyDef.units).join(', ')));
132
136
  }
133
- return { family: family, unit: unit, unitDef: unitDef };
137
+ return { family: family, unit: unit, unitDef: unitDef, baseUnit: baseUnit };
134
138
  };
135
139
  return MeasurementConverter;
136
140
  }());
@@ -1 +1 @@
1
- {"version":3,"file":"measurement-converter.js","sourceRoot":"","sources":["../../src/helpers/measurement-converter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"measurement-converter.js","sourceRoot":"","sources":["../../src/helpers/measurement-converter.ts"],"names":[],"mappings":"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"}
@@ -13,95 +13,200 @@ describe('MeasurementConverter', function () {
13
13
  });
14
14
  describe('convert', function () {
15
15
  it('should convert ml to l', function () {
16
- expect(converter.convert(1000, 'volume.ml', 'volume.l')).toBeCloseTo(1, 6);
16
+ expect(converter.convert({
17
+ value: 1000,
18
+ source: 'volume.ml',
19
+ target: 'volume.l',
20
+ })).toBeCloseTo(1, 6);
17
21
  });
18
22
  it('should convert zero values', function () {
19
- expect(converter.convert(0, 'volume.ml', 'volume.l')).toBe(0);
23
+ expect(converter.convert({ value: 0, source: 'volume.ml', target: 'volume.l' })).toBe(0);
20
24
  });
21
25
  it('should convert ml to cl', function () {
22
- expect(converter.convert(100, 'volume.ml', 'volume.cl')).toBeCloseTo(10, 6);
26
+ expect(converter.convert({
27
+ value: 100,
28
+ source: 'volume.ml',
29
+ target: 'volume.cl',
30
+ })).toBeCloseTo(10, 6);
23
31
  });
24
32
  it('should convert g to kg', function () {
25
- expect(converter.convert(2000, 'weight.g', 'weight.kg')).toBeCloseTo(2, 6);
33
+ expect(converter.convert({
34
+ value: 2000,
35
+ source: 'weight.g',
36
+ target: 'weight.kg',
37
+ })).toBeCloseTo(2, 6);
26
38
  });
27
39
  it('should convert percent to fraction', function () {
28
- expect(converter.convert(50, 'percent.percent', 'percent.fraction')).toBeCloseTo(0.5, 6);
40
+ expect(converter.convert({
41
+ value: 50,
42
+ source: 'percent.percent',
43
+ target: 'percent.fraction',
44
+ })).toBeCloseTo(0.5, 6);
29
45
  });
30
46
  it('should convert rational to fraction', function () {
31
- expect(converter.convert(1 / 3, 'percent.percent', 'percent.fraction')).toBeCloseTo(0.003333, 6);
47
+ expect(converter.convert({
48
+ value: 1 / 3,
49
+ source: 'percent.percent',
50
+ target: 'percent.fraction',
51
+ })).toBeCloseTo(0.003333, 6);
32
52
  });
33
53
  it('should convert units to units', function () {
34
- expect(converter.convert(100, 'units.unit', 'units.unit')).toBeCloseTo(100, 6);
54
+ expect(converter.convert({
55
+ value: 100,
56
+ source: 'units.unit',
57
+ target: 'units.unit',
58
+ })).toBeCloseTo(100, 6);
35
59
  });
36
60
  it('should convert mg to g', function () {
37
- expect(converter.convert(1000, 'weight.mg', 'weight.g')).toBeCloseTo(1, 6);
61
+ expect(converter.convert({
62
+ value: 1000,
63
+ source: 'weight.mg',
64
+ target: 'weight.g',
65
+ })).toBeCloseTo(1, 6);
38
66
  });
39
67
  it('should convert oz to g', function () {
40
- expect(converter.convert(1, 'weight.oz', 'weight.g')).toBeCloseTo(28.349523, 6);
68
+ expect(converter.convert({ value: 1, source: 'weight.oz', target: 'weight.g' })).toBeCloseTo(28.349523, 6);
41
69
  });
42
70
  it('should convert ml to fl_oz_us', function () {
43
- expect(converter.convert(29.57353, 'volume.ml', 'volume.fl_oz_us')).toBeCloseTo(1, 6);
71
+ expect(converter.convert({
72
+ value: 29.57353,
73
+ source: 'volume.ml',
74
+ target: 'volume.fl_oz_us',
75
+ })).toBeCloseTo(1, 6);
44
76
  });
45
77
  it('should convert gallon_us to l', function () {
46
- expect(converter.convert(1, 'volume.gallon_us', 'volume.l')).toBeCloseTo(3.785412, 6);
78
+ expect(converter.convert({
79
+ value: 1,
80
+ source: 'volume.gallon_us',
81
+ target: 'volume.l',
82
+ })).toBeCloseTo(3.785412, 6);
47
83
  });
48
84
  it('should convert ml to quart_us', function () {
49
- expect(converter.convert(1, 'volume.ml', 'volume.quart_us')).toBeCloseTo(0.001057, 6);
85
+ expect(converter.convert({
86
+ value: 1,
87
+ source: 'volume.ml',
88
+ target: 'volume.quart_us',
89
+ })).toBeCloseTo(0.001057, 6);
50
90
  });
51
91
  it('should convert inch to cm', function () {
52
- expect(converter.convert(1, 'length.inch', 'length.cm')).toBeCloseTo(2.54, 6);
92
+ expect(converter.convert({
93
+ value: 1,
94
+ source: 'length.inch',
95
+ target: 'length.cm',
96
+ })).toBeCloseTo(2.54, 6);
53
97
  });
54
98
  it('should convert mile to km', function () {
55
- expect(converter.convert(1, 'length.mile', 'length.km')).toBeCloseTo(1.609344, 6);
99
+ expect(converter.convert({
100
+ value: 1,
101
+ source: 'length.mile',
102
+ target: 'length.km',
103
+ })).toBeCloseTo(1.609344, 6);
56
104
  });
57
105
  it('should convert mb to gb', function () {
58
- expect(converter.convert(1000, 'data.mb', 'data.gb')).toBeCloseTo(0.977, 6);
106
+ expect(converter.convert({ value: 1000, source: 'data.mb', target: 'data.gb' })).toBeCloseTo(0.977, 6);
59
107
  });
60
108
  it('should convert tb to gb', function () {
61
- expect(converter.convert(1, 'data.tb', 'data.gb')).toBeCloseTo(1024, 6);
109
+ expect(converter.convert({ value: 1, source: 'data.tb', target: 'data.gb' })).toBeCloseTo(1024, 6);
62
110
  });
63
111
  it('should convert kbps to mbps', function () {
64
- expect(converter.convert(1000, 'internet_speed.kbps', 'internet_speed.mbps')).toBeCloseTo(1, 6);
112
+ expect(converter.convert({
113
+ value: 1000,
114
+ source: 'internet_speed.kbps',
115
+ target: 'internet_speed.mbps',
116
+ })).toBeCloseTo(1, 6);
65
117
  });
66
118
  it('should convert large numbers', function () {
67
- expect(converter.convert(666666666666.666666666, 'volume.l', 'volume.ml')).toBeCloseTo(666666666666666.666666, 6);
68
- expect(converter.convert(66666666666666.666666, 'volume.ml', 'volume.l')).toBeCloseTo(66666666666.666666, 6);
119
+ expect(converter.convert({
120
+ value: 666666666666.666666666,
121
+ source: 'volume.l',
122
+ target: 'volume.ml',
123
+ })).toBeCloseTo(666666666666666.666666, 6);
124
+ expect(converter.convert({
125
+ value: 66666666666666.666666,
126
+ source: 'volume.ml',
127
+ target: 'volume.l',
128
+ })).toBeCloseTo(66666666666.666666, 6);
69
129
  });
70
130
  it('should handle JavaScript floating point precision issues', function () {
71
131
  // 0.1 + 0.2 = 0.30000000000000004 in JS
72
- var result = converter.convert(0.3, 'volume.l', 'volume.ml');
132
+ var result = converter.convert({
133
+ value: 0.3,
134
+ source: 'volume.l',
135
+ target: 'volume.ml',
136
+ });
73
137
  expect(result).toBe(300);
74
138
  });
75
139
  it('should round to 6 decimal places', function () {
76
140
  // Test that results are rounded to 6 decimal places
77
- var result = converter.convert(1.3, 'volume.l', 'volume.ml');
141
+ var result = converter.convert({
142
+ value: 1.3,
143
+ source: 'volume.l',
144
+ target: 'volume.ml',
145
+ });
78
146
  expect(result).toBe(1300);
79
147
  expect(result.toString()).not.toContain('1300.0000000000002');
80
148
  });
81
149
  it('should handle repeating decimals', function () {
82
150
  // 1/3 = 0.333333...
83
- var result = converter.convert(1 / 3, 'volume.l', 'volume.ml');
151
+ var result = converter.convert({
152
+ value: 1 / 3,
153
+ source: 'volume.l',
154
+ target: 'volume.ml',
155
+ });
84
156
  expect(result).toBeCloseTo(333.333333, 6);
85
157
  });
86
158
  it('should handle very small numbers', function () {
87
- var result = converter.convert(0.000001, 'volume.l', 'volume.ml');
159
+ var result = converter.convert({
160
+ value: 0.000001,
161
+ source: 'volume.l',
162
+ target: 'volume.ml',
163
+ });
88
164
  expect(result).toBeCloseTo(0.001, 6);
89
165
  });
90
166
  it('should handle negative floating point precision', function () {
91
- var result = converter.convert(-0.1, 'volume.l', 'volume.ml');
167
+ var result = converter.convert({
168
+ value: -0.1,
169
+ source: 'volume.l',
170
+ target: 'volume.ml',
171
+ });
92
172
  expect(result).toBe(-100);
93
173
  });
94
174
  it('should throw error for different families', function () {
95
- expect(function () { return converter.convert(100, 'volume.ml', 'weight.g'); }).toThrow('Cannot convert across measurement families');
175
+ expect(function () {
176
+ return converter.convert({
177
+ value: 100,
178
+ source: 'volume.ml',
179
+ target: 'weight.g',
180
+ });
181
+ }).toThrow('Cannot convert across measurement families');
96
182
  });
97
183
  it('should throw error for unknown family', function () {
98
- expect(function () { return converter.convert(100, 'unknown.unit', 'volume.ml'); }).toThrow('Unknown measurement family');
184
+ expect(function () {
185
+ return converter.convert({
186
+ value: 100,
187
+ source: 'unknown.unit',
188
+ target: 'volume.ml',
189
+ });
190
+ }).toThrow('Unknown measurement family');
99
191
  });
100
192
  it('should throw error for unknown unit', function () {
101
193
  expect(function () {
102
- return converter.convert(100, 'volume.unknown', 'volume.ml');
194
+ return converter.convert({
195
+ value: 100,
196
+ source: 'volume.unknown',
197
+ target: 'volume.ml',
198
+ });
103
199
  }).toThrow('Unknown unit');
104
200
  });
201
+ it('should use custom precision when provided', function () {
202
+ var result = converter.convert({
203
+ value: 1 / 3,
204
+ source: 'volume.l',
205
+ target: 'volume.ml',
206
+ precision: 2,
207
+ });
208
+ expect(result).toBe(333.33);
209
+ });
105
210
  });
106
211
  describe('getLabel', function () {
107
212
  it('should return label for ml', function () {
@@ -123,18 +228,38 @@ describe('MeasurementConverter', function () {
123
228
  describe('precision', function () {
124
229
  it('should maintain precision for common conversions', function () {
125
230
  // Test common conversions that might have precision issues
126
- expect(converter.convert(1.5, 'volume.l', 'volume.ml')).toBe(1500);
127
- expect(converter.convert(2.5, 'weight.kg', 'weight.g')).toBe(2500);
128
- expect(converter.convert(0.5, 'percent.fraction', 'percent.percent')).toBe(50);
231
+ expect(converter.convert({
232
+ value: 1.5,
233
+ source: 'volume.l',
234
+ target: 'volume.ml',
235
+ })).toBe(1500);
236
+ expect(converter.convert({
237
+ value: 2.5,
238
+ source: 'weight.kg',
239
+ target: 'weight.g',
240
+ })).toBe(2500);
241
+ expect(converter.convert({
242
+ value: 0.5,
243
+ source: 'percent.fraction',
244
+ target: 'percent.percent',
245
+ })).toBe(50);
129
246
  });
130
247
  it('should handle division precision', function () {
131
248
  // 1/3 percent to fraction
132
- var result = converter.convert(1 / 3, 'percent.percent', 'percent.fraction');
249
+ var result = converter.convert({
250
+ value: 1 / 3,
251
+ source: 'percent.percent',
252
+ target: 'percent.fraction',
253
+ });
133
254
  expect(result).toBeCloseTo(0.003333, 6);
134
255
  });
135
256
  it('should handle multiplication precision', function () {
136
257
  // Test multiplication doesn't accumulate errors
137
- var result = converter.convert(999.999, 'volume.ml', 'volume.l');
258
+ var result = converter.convert({
259
+ value: 999.999,
260
+ source: 'volume.ml',
261
+ target: 'volume.l',
262
+ });
138
263
  expect(result).toBeCloseTo(0.999999, 6);
139
264
  });
140
265
  });
@@ -1 +1 @@
1
- {"version":3,"file":"measurement-converter.test.js","sourceRoot":"","sources":["../../src/helpers/measurement-converter.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"measurement-converter.test.js","sourceRoot":"","sources":["../../src/helpers/measurement-converter.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@buynomics-lib/bn-shared",
3
- "version": "1.18.19",
3
+ "version": "1.18.20-feature-ace-887.2",
4
4
  "description": "Shared functionality between API and UI",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",