@buynomics-lib/bn-shared 1.17.63 → 1.17.65-feature-bb-201.0

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.
@@ -0,0 +1,196 @@
1
+ {
2
+ "version": 1,
3
+ "measurement_families": {
4
+ "weight": {
5
+ "base_unit": "g",
6
+ "units": {
7
+ "mg": {
8
+ "factor_to_base": 0.001,
9
+ "label": "mg"
10
+ },
11
+ "g": {
12
+ "factor_to_base": 1.0,
13
+ "label": "g"
14
+ },
15
+ "kg": {
16
+ "factor_to_base": 1000.0,
17
+ "label": "kg"
18
+ },
19
+ "q": {
20
+ "factor_to_base": 100000.0,
21
+ "label": "q"
22
+ },
23
+ "t": {
24
+ "factor_to_base": 1000000.0,
25
+ "label": "t"
26
+ },
27
+ "oz": {
28
+ "factor_to_base": 28.349523,
29
+ "label": "oz"
30
+ },
31
+ "lb": {
32
+ "factor_to_base": 453.59237,
33
+ "label": "lb"
34
+ }
35
+ }
36
+ },
37
+ "volume": {
38
+ "base_unit": "ml",
39
+ "units": {
40
+ "ml": {
41
+ "factor_to_base": 1.0,
42
+ "label": "ml"
43
+ },
44
+ "cl": {
45
+ "factor_to_base": 10.0,
46
+ "label": "cL"
47
+ },
48
+ "l": {
49
+ "factor_to_base": 1000.0,
50
+ "label": "L"
51
+ },
52
+ "kl": {
53
+ "factor_to_base": 1000000.0,
54
+ "label": "kL"
55
+ },
56
+ "fl_oz_us": {
57
+ "factor_to_base": 29.57353,
58
+ "label": "fl oz"
59
+ },
60
+ "cup_us": {
61
+ "factor_to_base": 240.0,
62
+ "label": "cup"
63
+ },
64
+ "pint_us": {
65
+ "factor_to_base": 473.176473,
66
+ "label": "pt"
67
+ },
68
+ "quart_us": {
69
+ "factor_to_base": 946.352946,
70
+ "label": "qt"
71
+ },
72
+ "gallon_us": {
73
+ "factor_to_base": 3785.411784,
74
+ "label": "gal"
75
+ },
76
+ "fl_oz_uk": {
77
+ "factor_to_base": 28.413063,
78
+ "label": "fl oz"
79
+ },
80
+ "pint_uk": {
81
+ "factor_to_base": 568.26125,
82
+ "label": "pt"
83
+ },
84
+ "quart_uk": {
85
+ "factor_to_base": 1136.5225,
86
+ "label": "qt"
87
+ },
88
+ "gallon_uk": {
89
+ "factor_to_base": 4546.09,
90
+ "label": "gal"
91
+ },
92
+ "uc": {
93
+ "factor_to_base": 5678.12,
94
+ "label": "UC"
95
+ },
96
+ "eq": {
97
+ "factor_to_base": 5680.0,
98
+ "label": "EQ"
99
+ }
100
+ }
101
+ },
102
+ "length": {
103
+ "base_unit": "m",
104
+ "units": {
105
+ "mm": {
106
+ "factor_to_base": 0.001,
107
+ "label": "mm"
108
+ },
109
+ "cm": {
110
+ "factor_to_base": 0.01,
111
+ "label": "cm"
112
+ },
113
+ "m": {
114
+ "factor_to_base": 1.0,
115
+ "label": "m"
116
+ },
117
+ "km": {
118
+ "factor_to_base": 1000.0,
119
+ "label": "km"
120
+ },
121
+ "inch": {
122
+ "factor_to_base": 0.0254,
123
+ "label": "in"
124
+ },
125
+ "foot": {
126
+ "factor_to_base": 0.3048,
127
+ "label": "ft"
128
+ },
129
+ "yard": {
130
+ "factor_to_base": 0.9144,
131
+ "label": "yd"
132
+ },
133
+ "mile": {
134
+ "factor_to_base": 1609.344,
135
+ "label": "mi"
136
+ }
137
+ }
138
+ },
139
+ "data": {
140
+ "base_unit": "gb",
141
+ "units": {
142
+ "mb": {
143
+ "factor_to_base": 0.000977,
144
+ "label": "MB"
145
+ },
146
+ "gb": {
147
+ "factor_to_base": 1.0,
148
+ "label": "GB"
149
+ },
150
+ "tb": {
151
+ "factor_to_base": 1024.0,
152
+ "label": "TB"
153
+ }
154
+ }
155
+ },
156
+ "internet_speed": {
157
+ "base_unit": "mbps",
158
+ "units": {
159
+ "kbps": {
160
+ "factor_to_base": 0.001,
161
+ "label": "Kbps"
162
+ },
163
+ "mbps": {
164
+ "factor_to_base": 1.0,
165
+ "label": "Mbps"
166
+ },
167
+ "gbps": {
168
+ "factor_to_base": 1000.0,
169
+ "label": "Gbps"
170
+ }
171
+ }
172
+ },
173
+ "percent": {
174
+ "base_unit": "fraction",
175
+ "units": {
176
+ "fraction": {
177
+ "factor_to_base": 1.0,
178
+ "label": ""
179
+ },
180
+ "percent": {
181
+ "factor_to_base": 0.01,
182
+ "label": "%"
183
+ }
184
+ }
185
+ },
186
+ "units": {
187
+ "base_unit": "unit",
188
+ "units": {
189
+ "unit": {
190
+ "factor_to_base": 1.0,
191
+ "label": "units"
192
+ }
193
+ }
194
+ }
195
+ }
196
+ }
@@ -0,0 +1,5 @@
1
+ export declare enum KpiVariableFormat {
2
+ Numeric = "numeric",
3
+ Percentage = "percentage",
4
+ Monetary = "monetary"
5
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KpiVariableFormat = void 0;
4
+ var KpiVariableFormat;
5
+ (function (KpiVariableFormat) {
6
+ KpiVariableFormat["Numeric"] = "numeric";
7
+ KpiVariableFormat["Percentage"] = "percentage";
8
+ KpiVariableFormat["Monetary"] = "monetary";
9
+ })(KpiVariableFormat = exports.KpiVariableFormat || (exports.KpiVariableFormat = {}));
10
+ //# sourceMappingURL=kpi-variable-format.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kpi-variable-format.enum.js","sourceRoot":"","sources":["../../../src/enums/kpis/kpi-variable-format.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,wCAAmB,CAAA;IACnB,8CAAyB,CAAA;IACzB,0CAAqB,CAAA;AACvB,CAAC,EAJW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAI5B"}
@@ -0,0 +1,86 @@
1
+ export interface UnitDefinition {
2
+ factor_to_base: number;
3
+ label: string;
4
+ }
5
+ export interface MeasurementFamilyDefinition {
6
+ base_unit: string;
7
+ units: Record<string, UnitDefinition>;
8
+ }
9
+ export interface MeasurementConfig {
10
+ version: number;
11
+ measurement_families: Record<string, MeasurementFamilyDefinition>;
12
+ }
13
+ interface ParsedMeasurement {
14
+ family: string;
15
+ unit: string;
16
+ unitDef: UnitDefinition;
17
+ }
18
+ /**
19
+ * MeasurementConverter for Measuring Units 3.0.
20
+ *
21
+ * - Loads global measurement_families.json
22
+ * - Validates and parses "family.unit" identifiers
23
+ * - Converts values within the same family
24
+ * - Exposes config version and unit labels
25
+ * - Lists all known measurements as "family.unit" strings
26
+ */
27
+ export declare class MeasurementConverter {
28
+ private readonly config;
29
+ /**
30
+ * Number of decimal digits to round conversion results.
31
+ *
32
+ * Default is 6 decimal digits, which provides precision up to 0.000001 (1e-06).
33
+ * This handles floating-point arithmetic issues common in unit conversions.
34
+ *
35
+ * Examples:
36
+ * - 1.3 L to ml = 1300.0 (instead of 1300.0000000000002)
37
+ * - 1/3 percent to fraction = 0.003333 (instead of 0.003333333333333334)
38
+ *
39
+ * Can be overridden via environment variable:
40
+ * MEASUREMENT_CONVERTER_DEFAULT_DECIMAL_DIGITS_PRECISION=8
41
+ */
42
+ static readonly DEFAULT_DECIMAL_DIGITS_PRECISION: number;
43
+ constructor();
44
+ private loadConfig;
45
+ /**
46
+ * Return the version number of the loaded measurement config.
47
+ */
48
+ getVersion(): number;
49
+ /**
50
+ * Convert a numeric value from one measurement to another.
51
+ *
52
+ * Both measurements must belong to the same family, e.g.:
53
+ * - 'volume.ml' -> 'volume.l'
54
+ * - 'weight.g' -> 'weight.kg'
55
+ *
56
+ * @throws Error if families differ or if family/unit is unknown
57
+ */
58
+ convert(value: number, source: string, target: string): number;
59
+ /**
60
+ * Return the unit label for a measurement string.
61
+ *
62
+ * Examples:
63
+ * 'volume.ml' -> 'ml'
64
+ * 'weight.kg' -> 'kg'
65
+ * 'percent.percent' -> '%'
66
+ */
67
+ getLabel(measurement: string): string;
68
+ /**
69
+ * Return all known measurements as 'family.unit' strings.
70
+ *
71
+ * Example:
72
+ * ['volume.ml', 'volume.cl', 'volume.l',
73
+ * 'weight.g', 'weight.kg',
74
+ * 'units.unit',
75
+ * 'percent.fraction', 'percent.percent']
76
+ */
77
+ listAllMeasurements(): string[];
78
+ /**
79
+ * Parse and validate a measurement string of the form 'family.unit'.
80
+ *
81
+ * @returns tuple (family_name, unit_name, unit_definition)
82
+ * @throws Error if the format, family, or unit is invalid
83
+ */
84
+ parseMeasurement(measurement: string): ParsedMeasurement;
85
+ }
86
+ export {};
@@ -0,0 +1,206 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.MeasurementConverter = void 0;
30
+ var ajv_1 = __importDefault(require("ajv"));
31
+ var rawMeasurementFamilies = __importStar(require("../config/measurement-families.json"));
32
+ var measurementConfigSchema = {
33
+ type: 'object',
34
+ properties: {
35
+ version: { type: 'number', minimum: 1 },
36
+ measurement_families: {
37
+ type: 'object',
38
+ required: [],
39
+ minProperties: 1,
40
+ additionalProperties: {
41
+ type: 'object',
42
+ properties: {
43
+ base_unit: { type: 'string', minLength: 1 },
44
+ units: {
45
+ type: 'object',
46
+ required: [],
47
+ minProperties: 1,
48
+ additionalProperties: {
49
+ type: 'object',
50
+ properties: {
51
+ factor_to_base: { type: 'number', exclusiveMinimum: 0 },
52
+ label: { type: 'string' },
53
+ },
54
+ required: ['factor_to_base', 'label'],
55
+ additionalProperties: false,
56
+ },
57
+ },
58
+ },
59
+ required: ['base_unit', 'units'],
60
+ additionalProperties: false,
61
+ },
62
+ },
63
+ },
64
+ required: ['version', 'measurement_families'],
65
+ additionalProperties: false,
66
+ };
67
+ /**
68
+ * Default decimal precision for rounding conversion results.
69
+ *
70
+ * Provides 6 decimal digits precision (allows difference up to 0.000001).
71
+ * This handles floating-point arithmetic issues common in unit conversions.
72
+ *
73
+ * Examples:
74
+ * - 1.3 L to ml = 1300.0 (instead of 1300.0000000000002)
75
+ * - 1/3 percent to fraction = 0.003333 (instead of 0.003333333333333334)
76
+ *
77
+ * Can be overridden via environment variable:
78
+ * MEASUREMENT_CONVERTER_DEFAULT_DECIMAL_DIGITS_PRECISION=8
79
+ */
80
+ var DEFAULT_DECIMAL_DIGITS_PRECISION = Number.parseInt(process.env.MEASUREMENT_CONVERTER_DEFAULT_DECIMAL_DIGITS_PRECISION || '6', 10);
81
+ /**
82
+ * MeasurementConverter for Measuring Units 3.0.
83
+ *
84
+ * - Loads global measurement_families.json
85
+ * - Validates and parses "family.unit" identifiers
86
+ * - Converts values within the same family
87
+ * - Exposes config version and unit labels
88
+ * - Lists all known measurements as "family.unit" strings
89
+ */
90
+ var MeasurementConverter = /** @class */ (function () {
91
+ function MeasurementConverter() {
92
+ this.config = this.loadConfig();
93
+ }
94
+ // ---------------------------------------------------------------------------
95
+ // Config loading
96
+ // ---------------------------------------------------------------------------
97
+ MeasurementConverter.prototype.loadConfig = function () {
98
+ var ajv = new ajv_1.default({ allErrors: true, strict: true });
99
+ var validateMeasurementConfig = ajv.compile(measurementConfigSchema);
100
+ if (!validateMeasurementConfig({
101
+ version: rawMeasurementFamilies.version,
102
+ measurement_families: rawMeasurementFamilies.measurement_families,
103
+ })) {
104
+ throw new Error("Invalid measurement config: ".concat(JSON.stringify(validateMeasurementConfig.errors)));
105
+ }
106
+ return rawMeasurementFamilies;
107
+ };
108
+ // ---------------------------------------------------------------------------
109
+ // Public API
110
+ // ---------------------------------------------------------------------------
111
+ /**
112
+ * Return the version number of the loaded measurement config.
113
+ */
114
+ MeasurementConverter.prototype.getVersion = function () {
115
+ return this.config.version;
116
+ };
117
+ /**
118
+ * Convert a numeric value from one measurement to another.
119
+ *
120
+ * Both measurements must belong to the same family, e.g.:
121
+ * - 'volume.ml' -> 'volume.l'
122
+ * - 'weight.g' -> 'weight.kg'
123
+ *
124
+ * @throws Error if families differ or if family/unit is unknown
125
+ */
126
+ MeasurementConverter.prototype.convert = function (value, source, target) {
127
+ var src = this.parseMeasurement(source);
128
+ var tgt = this.parseMeasurement(target);
129
+ if (src.family !== tgt.family) {
130
+ throw new Error("Cannot convert across measurement families: '".concat(src.family, "' \u2192 '").concat(tgt.family, "'."));
131
+ }
132
+ var result = (value * src.unitDef.factor_to_base) / tgt.unitDef.factor_to_base;
133
+ return Number(result.toFixed(MeasurementConverter.DEFAULT_DECIMAL_DIGITS_PRECISION));
134
+ };
135
+ /**
136
+ * Return the unit label for a measurement string.
137
+ *
138
+ * Examples:
139
+ * 'volume.ml' -> 'ml'
140
+ * 'weight.kg' -> 'kg'
141
+ * 'percent.percent' -> '%'
142
+ */
143
+ MeasurementConverter.prototype.getLabel = function (measurement) {
144
+ var parsed = this.parseMeasurement(measurement);
145
+ return parsed.unitDef.label;
146
+ };
147
+ /**
148
+ * Return all known measurements as 'family.unit' strings.
149
+ *
150
+ * Example:
151
+ * ['volume.ml', 'volume.cl', 'volume.l',
152
+ * 'weight.g', 'weight.kg',
153
+ * 'units.unit',
154
+ * 'percent.fraction', 'percent.percent']
155
+ */
156
+ MeasurementConverter.prototype.listAllMeasurements = function () {
157
+ var measurements = [];
158
+ for (var _i = 0, _a = Object.entries(this.config.measurement_families); _i < _a.length; _i++) {
159
+ var _b = _a[_i], familyName = _b[0], familyDef = _b[1];
160
+ for (var _c = 0, _d = Object.keys(familyDef.units); _c < _d.length; _c++) {
161
+ var unitName = _d[_c];
162
+ measurements.push("".concat(familyName, ".").concat(unitName));
163
+ }
164
+ }
165
+ return measurements;
166
+ };
167
+ /**
168
+ * Parse and validate a measurement string of the form 'family.unit'.
169
+ *
170
+ * @returns tuple (family_name, unit_name, unit_definition)
171
+ * @throws Error if the format, family, or unit is invalid
172
+ */
173
+ MeasurementConverter.prototype.parseMeasurement = function (measurement) {
174
+ var parts = measurement.split('.');
175
+ if (parts.length !== 2) {
176
+ throw new Error("Invalid measurement '".concat(measurement, "'. Expected format 'family.unit', e.g. 'volume.ml'."));
177
+ }
178
+ var family = parts[0], unit = parts[1];
179
+ var familyDef = this.config.measurement_families[family];
180
+ if (!familyDef) {
181
+ throw new Error("Unknown measurement family '".concat(family, "'. Known: ").concat(Object.keys(this.config.measurement_families).join(', ')));
182
+ }
183
+ var unitDef = familyDef.units[unit];
184
+ if (!unitDef) {
185
+ throw new Error("Unknown unit '".concat(unit, "' for family '").concat(family, "'. Valid units: ").concat(Object.keys(familyDef.units).join(', ')));
186
+ }
187
+ return { family: family, unit: unit, unitDef: unitDef };
188
+ };
189
+ /**
190
+ * Number of decimal digits to round conversion results.
191
+ *
192
+ * Default is 6 decimal digits, which provides precision up to 0.000001 (1e-06).
193
+ * This handles floating-point arithmetic issues common in unit conversions.
194
+ *
195
+ * Examples:
196
+ * - 1.3 L to ml = 1300.0 (instead of 1300.0000000000002)
197
+ * - 1/3 percent to fraction = 0.003333 (instead of 0.003333333333333334)
198
+ *
199
+ * Can be overridden via environment variable:
200
+ * MEASUREMENT_CONVERTER_DEFAULT_DECIMAL_DIGITS_PRECISION=8
201
+ */
202
+ MeasurementConverter.DEFAULT_DECIMAL_DIGITS_PRECISION = DEFAULT_DECIMAL_DIGITS_PRECISION;
203
+ return MeasurementConverter;
204
+ }());
205
+ exports.MeasurementConverter = MeasurementConverter;
206
+ //# sourceMappingURL=measurement-converter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"measurement-converter.js","sourceRoot":"","sources":["../../src/helpers/measurement-converter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,177 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var measurement_converter_1 = require("./measurement-converter");
4
+ describe('MeasurementConverter', function () {
5
+ var converter;
6
+ beforeEach(function () {
7
+ converter = new measurement_converter_1.MeasurementConverter();
8
+ });
9
+ describe('getVersion', function () {
10
+ it('should return version 1', function () {
11
+ expect(converter.getVersion()).toBe(1);
12
+ });
13
+ });
14
+ describe('convert', function () {
15
+ it('should convert ml to l', function () {
16
+ expect(converter.convert(1000, 'volume.ml', 'volume.l')).toBeCloseTo(1, measurement_converter_1.MeasurementConverter.DEFAULT_DECIMAL_DIGITS_PRECISION);
17
+ });
18
+ it('should convert zero values', function () {
19
+ expect(converter.convert(0, 'volume.ml', 'volume.l')).toBe(0);
20
+ });
21
+ it('should convert ml to cl', function () {
22
+ expect(converter.convert(100, 'volume.ml', 'volume.cl')).toBeCloseTo(10, measurement_converter_1.MeasurementConverter.DEFAULT_DECIMAL_DIGITS_PRECISION);
23
+ });
24
+ it('should convert g to kg', function () {
25
+ expect(converter.convert(2000, 'weight.g', 'weight.kg')).toBeCloseTo(2, measurement_converter_1.MeasurementConverter.DEFAULT_DECIMAL_DIGITS_PRECISION);
26
+ });
27
+ it('should convert percent to fraction', function () {
28
+ expect(converter.convert(50, 'percent.percent', 'percent.fraction')).toBeCloseTo(0.5, measurement_converter_1.MeasurementConverter.DEFAULT_DECIMAL_DIGITS_PRECISION);
29
+ });
30
+ it('should convert rational to fraction', function () {
31
+ expect(converter.convert(1 / 3, 'percent.percent', 'percent.fraction')).toBeCloseTo(0.003333, measurement_converter_1.MeasurementConverter.DEFAULT_DECIMAL_DIGITS_PRECISION);
32
+ });
33
+ it('should convert units to units', function () {
34
+ expect(converter.convert(100, 'units.unit', 'units.unit')).toBeCloseTo(100, measurement_converter_1.MeasurementConverter.DEFAULT_DECIMAL_DIGITS_PRECISION);
35
+ });
36
+ it('should convert mg to g', function () {
37
+ expect(converter.convert(1000, 'weight.mg', 'weight.g')).toBeCloseTo(1, measurement_converter_1.MeasurementConverter.DEFAULT_DECIMAL_DIGITS_PRECISION);
38
+ });
39
+ it('should convert oz to g', function () {
40
+ expect(converter.convert(1, 'weight.oz', 'weight.g')).toBeCloseTo(28.349523, measurement_converter_1.MeasurementConverter.DEFAULT_DECIMAL_DIGITS_PRECISION);
41
+ });
42
+ it('should convert ml to fl_oz_us', function () {
43
+ expect(converter.convert(29.57353, 'volume.ml', 'volume.fl_oz_us')).toBeCloseTo(1, measurement_converter_1.MeasurementConverter.DEFAULT_DECIMAL_DIGITS_PRECISION);
44
+ });
45
+ it('should convert gallon_us to l', function () {
46
+ expect(converter.convert(1, 'volume.gallon_us', 'volume.l')).toBeCloseTo(3.785412, measurement_converter_1.MeasurementConverter.DEFAULT_DECIMAL_DIGITS_PRECISION);
47
+ });
48
+ it('should convert ml to quart_us', function () {
49
+ expect(converter.convert(1, 'volume.ml', 'volume.quart_us')).toBeCloseTo(0.001057, measurement_converter_1.MeasurementConverter.DEFAULT_DECIMAL_DIGITS_PRECISION);
50
+ });
51
+ it('should convert inch to cm', function () {
52
+ expect(converter.convert(1, 'length.inch', 'length.cm')).toBeCloseTo(2.54, measurement_converter_1.MeasurementConverter.DEFAULT_DECIMAL_DIGITS_PRECISION);
53
+ });
54
+ it('should convert mile to km', function () {
55
+ expect(converter.convert(1, 'length.mile', 'length.km')).toBeCloseTo(1.609344, measurement_converter_1.MeasurementConverter.DEFAULT_DECIMAL_DIGITS_PRECISION);
56
+ });
57
+ it('should convert mb to gb', function () {
58
+ expect(converter.convert(1000, 'data.mb', 'data.gb')).toBeCloseTo(0.977, measurement_converter_1.MeasurementConverter.DEFAULT_DECIMAL_DIGITS_PRECISION);
59
+ });
60
+ it('should convert tb to gb', function () {
61
+ expect(converter.convert(1, 'data.tb', 'data.gb')).toBeCloseTo(1024, measurement_converter_1.MeasurementConverter.DEFAULT_DECIMAL_DIGITS_PRECISION);
62
+ });
63
+ it('should convert kbps to mbps', function () {
64
+ expect(converter.convert(1000, 'internet_speed.kbps', 'internet_speed.mbps')).toBeCloseTo(1, measurement_converter_1.MeasurementConverter.DEFAULT_DECIMAL_DIGITS_PRECISION);
65
+ });
66
+ it('should convert large numbers', function () {
67
+ expect(converter.convert(666666666666.666666666, 'volume.l', 'volume.ml')).toBeCloseTo(666666666666666.666666, measurement_converter_1.MeasurementConverter.DEFAULT_DECIMAL_DIGITS_PRECISION);
68
+ expect(converter.convert(66666666666666.666666, 'volume.ml', 'volume.l')).toBeCloseTo(66666666666.666666, measurement_converter_1.MeasurementConverter.DEFAULT_DECIMAL_DIGITS_PRECISION);
69
+ });
70
+ it('should handle JavaScript floating point precision issues', function () {
71
+ // 0.1 + 0.2 = 0.30000000000000004 in JS
72
+ var result = converter.convert(0.3, 'volume.l', 'volume.ml');
73
+ expect(result).toBe(300);
74
+ });
75
+ it('should round to 6 decimal places', function () {
76
+ // Test that results are rounded to 6 decimal places
77
+ var result = converter.convert(1.3, 'volume.l', 'volume.ml');
78
+ expect(result).toBe(1300);
79
+ expect(result.toString()).not.toContain('1300.0000000000002');
80
+ });
81
+ it('should handle repeating decimals', function () {
82
+ // 1/3 = 0.333333...
83
+ var result = converter.convert(1 / 3, 'volume.l', 'volume.ml');
84
+ expect(result).toBeCloseTo(333.333333, measurement_converter_1.MeasurementConverter.DEFAULT_DECIMAL_DIGITS_PRECISION);
85
+ });
86
+ it('should handle very small numbers', function () {
87
+ var result = converter.convert(0.000001, 'volume.l', 'volume.ml');
88
+ expect(result).toBeCloseTo(0.001, measurement_converter_1.MeasurementConverter.DEFAULT_DECIMAL_DIGITS_PRECISION);
89
+ });
90
+ it('should handle negative floating point precision', function () {
91
+ var result = converter.convert(-0.1, 'volume.l', 'volume.ml');
92
+ expect(result).toBe(-100);
93
+ });
94
+ 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');
96
+ });
97
+ it('should throw error for unknown family', function () {
98
+ expect(function () { return converter.convert(100, 'unknown.unit', 'volume.ml'); }).toThrow('Unknown measurement family');
99
+ });
100
+ it('should throw error for unknown unit', function () {
101
+ expect(function () {
102
+ return converter.convert(100, 'volume.unknown', 'volume.ml');
103
+ }).toThrow('Unknown unit');
104
+ });
105
+ it('should throw error for invalid format', function () {
106
+ expect(function () { return converter.convert(100, 'invalid', 'volume.ml'); }).toThrow("Expected format 'family.unit'");
107
+ });
108
+ it('should throw error for too many dots', function () {
109
+ expect(function () {
110
+ return converter.convert(100, 'volume.ml.extra', 'volume.l');
111
+ }).toThrow("Expected format 'family.unit'");
112
+ });
113
+ });
114
+ describe('getLabel', function () {
115
+ it('should return label for ml', function () {
116
+ expect(converter.getLabel('volume.ml')).toBe('ml');
117
+ });
118
+ it('should return label for kg', function () {
119
+ expect(converter.getLabel('weight.kg')).toBe('kg');
120
+ });
121
+ it('should return label for percent', function () {
122
+ expect(converter.getLabel('percent.percent')).toBe('%');
123
+ });
124
+ it('should return label for units', function () {
125
+ expect(converter.getLabel('units.unit')).toBe('units');
126
+ });
127
+ it('should throw error for invalid measurement', function () {
128
+ expect(function () { return converter.getLabel('invalid.unit'); }).toThrow('Unknown measurement family');
129
+ });
130
+ });
131
+ describe('precision', function () {
132
+ it('should have DEFAULT_DECIMAL_DIGITS_PRECISION of 6', function () {
133
+ expect(measurement_converter_1.MeasurementConverter.DEFAULT_DECIMAL_DIGITS_PRECISION).toBe(6);
134
+ });
135
+ it('should maintain precision for common conversions', function () {
136
+ // Test common conversions that might have precision issues
137
+ expect(converter.convert(1.5, 'volume.l', 'volume.ml')).toBe(1500);
138
+ expect(converter.convert(2.5, 'weight.kg', 'weight.g')).toBe(2500);
139
+ expect(converter.convert(0.5, 'percent.fraction', 'percent.percent')).toBe(50);
140
+ });
141
+ it('should handle division precision', function () {
142
+ // 1/3 percent to fraction
143
+ var result = converter.convert(1 / 3, 'percent.percent', 'percent.fraction');
144
+ expect(result).toBeCloseTo(0.003333, measurement_converter_1.MeasurementConverter.DEFAULT_DECIMAL_DIGITS_PRECISION);
145
+ });
146
+ it('should handle multiplication precision', function () {
147
+ // Test multiplication doesn't accumulate errors
148
+ var result = converter.convert(999.999, 'volume.ml', 'volume.l');
149
+ expect(result).toBeCloseTo(0.999999, measurement_converter_1.MeasurementConverter.DEFAULT_DECIMAL_DIGITS_PRECISION);
150
+ });
151
+ });
152
+ describe('listAllMeasurements', function () {
153
+ it('should return array of measurements', function () {
154
+ var measurements = converter.listAllMeasurements();
155
+ expect(Array.isArray(measurements)).toBe(true);
156
+ expect(measurements.length).toBeGreaterThan(0);
157
+ });
158
+ it('should include all expected families', function () {
159
+ var measurements = converter.listAllMeasurements();
160
+ var families = new Set(measurements.map(function (m) { return m.split('.')[0]; }));
161
+ expect(families).toContain('volume');
162
+ expect(families).toContain('weight');
163
+ expect(families).toContain('length');
164
+ expect(families).toContain('data');
165
+ expect(families).toContain('internet_speed');
166
+ expect(families).toContain('percent');
167
+ expect(families).toContain('units');
168
+ });
169
+ it('should have correct format', function () {
170
+ var measurements = converter.listAllMeasurements();
171
+ measurements.forEach(function (m) {
172
+ expect(m.split('.').length).toBe(2);
173
+ });
174
+ });
175
+ });
176
+ });
177
+ //# sourceMappingURL=measurement-converter.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"measurement-converter.test.js","sourceRoot":"","sources":["../../src/helpers/measurement-converter.test.ts"],"names":[],"mappings":"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"}
package/build/index.d.ts CHANGED
@@ -56,4 +56,5 @@ import PriceDecisionNullificationHelper from './helpers/price-decision/price-dec
56
56
  import { IClientViewSettings } from './interfaces/client-view-settings';
57
57
  import { IFileUpload } from './interfaces/file-upload';
58
58
  import { ISimulationInputChangeEvents } from './interfaces/simulation/simulation-input-change-events';
59
- export { BnPermissions, ConfigurableProductFields, SortableProductFields, PriceLevelTypes, StaticLevelReferenceIds, DeeperionVersions, DeeperionAppSwitchValues, DeeperionRequestTypes, DeeperionModelTypes, CustomCostFormulaParams, ClientTerms, DefaultClientTermLabels, ClientCLVPeriods, ClientCLVPriceTypes, DefaultClientCLVPriceTypeLabels, ClientDecimalSettings, DefaultClientDecimalSettings, ClientTypes, IntermediaryGroupTypes, IntermediaryGroupRangeFormats, FittingStatuses, CentralSteeringVersion, Dimension, DimensionValue, BuynomicsAppVersion, ClientDuplicationParts, ClientNumberFormattingSettingsGlobalFormat, ClientNumberFormattingSettingsStyle, ClientNumberFormattingSettingsNotation, ClientNumberFormattingSettingsMetric, ClientNumberFormattingSettingsCurrency, ClientNumberFormattingSettings, NumberFormat, NumberFormatSettings, ClientProductPortfolioVersion, PriceChangeTypes, ChangePriceBases, ChangeProductPriceBases, ClientFeature, ClientFeatureState, ClientFeatures, ClientFeatureScope, ClientFeaturesSettings, ChangeCostBases, CostChangeTypes, AvailabilityChangeTypes, ClientStatus, ClientIndustry, ValueDriverType, KpiConstraintType, KpiConstraintMode, MechanicParamTypes, MechanicParamReferenceIds, MechanicTypeRelations, PromotionOfferStatus, PromotionOffersCalendarGroupByOptions, OptimizationStatus, OptimizationKpis, OptimizationSolutionBucket, ScenarioStatus, DateGranularity, DateWeekStart, ClientDateSettings, DefaultClientDateSettings, ISimulationInputChangeEvents, IFitting, IFittingLog, IFileUpload, IPromotionPeriod, calculateRange, getLatestDeeperionVersionValue, getCustomFormulaParamsLabel, formatNumberToIndianCompactInCrores, isCompactIndianFormatInDecimals, EnumHelper, getPropertyName, PriceDecisionNullificationHelper, getPromotionPeriods, ClientViewSettingsPages, IClientViewSettings, DefaultClientFeaturesSettings, DefaultClientFeatures, DefaultClientNumberFormattingSettings, WebsocketEvents, ScenarioEventSource, };
59
+ import { KpiVariableFormat } from './enums/kpis/kpi-variable-format.enum';
60
+ export { BnPermissions, ConfigurableProductFields, SortableProductFields, PriceLevelTypes, StaticLevelReferenceIds, DeeperionVersions, DeeperionAppSwitchValues, DeeperionRequestTypes, DeeperionModelTypes, CustomCostFormulaParams, ClientTerms, DefaultClientTermLabels, ClientCLVPeriods, ClientCLVPriceTypes, DefaultClientCLVPriceTypeLabels, ClientDecimalSettings, DefaultClientDecimalSettings, ClientTypes, IntermediaryGroupTypes, IntermediaryGroupRangeFormats, FittingStatuses, CentralSteeringVersion, Dimension, DimensionValue, BuynomicsAppVersion, ClientDuplicationParts, ClientNumberFormattingSettingsGlobalFormat, ClientNumberFormattingSettingsStyle, ClientNumberFormattingSettingsNotation, ClientNumberFormattingSettingsMetric, ClientNumberFormattingSettingsCurrency, ClientNumberFormattingSettings, NumberFormat, NumberFormatSettings, ClientProductPortfolioVersion, PriceChangeTypes, ChangePriceBases, ChangeProductPriceBases, ClientFeature, ClientFeatureState, ClientFeatures, ClientFeatureScope, ClientFeaturesSettings, ChangeCostBases, CostChangeTypes, AvailabilityChangeTypes, ClientStatus, ClientIndustry, ValueDriverType, KpiConstraintType, KpiConstraintMode, MechanicParamTypes, MechanicParamReferenceIds, MechanicTypeRelations, PromotionOfferStatus, PromotionOffersCalendarGroupByOptions, OptimizationStatus, OptimizationKpis, OptimizationSolutionBucket, ScenarioStatus, DateGranularity, DateWeekStart, ClientDateSettings, DefaultClientDateSettings, ISimulationInputChangeEvents, IFitting, IFittingLog, IFileUpload, IPromotionPeriod, calculateRange, getLatestDeeperionVersionValue, getCustomFormulaParamsLabel, formatNumberToIndianCompactInCrores, isCompactIndianFormatInDecimals, EnumHelper, getPropertyName, PriceDecisionNullificationHelper, getPromotionPeriods, ClientViewSettingsPages, IClientViewSettings, DefaultClientFeaturesSettings, DefaultClientFeatures, DefaultClientNumberFormattingSettings, WebsocketEvents, ScenarioEventSource, KpiVariableFormat, };
package/build/index.js CHANGED
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.OptimizationStatus = exports.PromotionOffersCalendarGroupByOptions = exports.PromotionOfferStatus = exports.MechanicTypeRelations = exports.MechanicParamReferenceIds = exports.MechanicParamTypes = exports.KpiConstraintMode = exports.KpiConstraintType = exports.ValueDriverType = exports.ClientIndustry = exports.ClientStatus = exports.AvailabilityChangeTypes = exports.CostChangeTypes = exports.ChangeCostBases = exports.ClientFeatureScope = exports.ClientFeatureState = exports.ClientFeature = exports.ChangeProductPriceBases = exports.ChangePriceBases = exports.PriceChangeTypes = exports.ClientProductPortfolioVersion = exports.ClientNumberFormattingSettingsCurrency = exports.ClientNumberFormattingSettingsMetric = exports.ClientNumberFormattingSettingsNotation = exports.ClientNumberFormattingSettingsStyle = exports.ClientNumberFormattingSettingsGlobalFormat = exports.ClientDuplicationParts = exports.BuynomicsAppVersion = exports.CentralSteeringVersion = exports.FittingStatuses = exports.IntermediaryGroupRangeFormats = exports.IntermediaryGroupTypes = exports.ClientTypes = exports.DefaultClientDecimalSettings = exports.ClientDecimalSettings = exports.DefaultClientCLVPriceTypeLabels = exports.ClientCLVPriceTypes = exports.ClientCLVPeriods = exports.DefaultClientTermLabels = exports.ClientTerms = exports.CustomCostFormulaParams = exports.DeeperionModelTypes = exports.DeeperionRequestTypes = exports.DeeperionAppSwitchValues = exports.DeeperionVersions = exports.StaticLevelReferenceIds = exports.PriceLevelTypes = exports.SortableProductFields = exports.ConfigurableProductFields = exports.BnPermissions = void 0;
7
- exports.ScenarioEventSource = exports.WebsocketEvents = exports.DefaultClientNumberFormattingSettings = exports.DefaultClientFeatures = exports.DefaultClientFeaturesSettings = exports.ClientViewSettingsPages = exports.getPromotionPeriods = exports.PriceDecisionNullificationHelper = exports.getPropertyName = exports.EnumHelper = exports.isCompactIndianFormatInDecimals = exports.formatNumberToIndianCompactInCrores = exports.getCustomFormulaParamsLabel = exports.getLatestDeeperionVersionValue = exports.calculateRange = exports.DefaultClientDateSettings = exports.DateWeekStart = exports.DateGranularity = exports.ScenarioStatus = exports.OptimizationSolutionBucket = exports.OptimizationKpis = void 0;
7
+ exports.KpiVariableFormat = exports.ScenarioEventSource = exports.WebsocketEvents = exports.DefaultClientNumberFormattingSettings = exports.DefaultClientFeatures = exports.DefaultClientFeaturesSettings = exports.ClientViewSettingsPages = exports.getPromotionPeriods = exports.PriceDecisionNullificationHelper = exports.getPropertyName = exports.EnumHelper = exports.isCompactIndianFormatInDecimals = exports.formatNumberToIndianCompactInCrores = exports.getCustomFormulaParamsLabel = exports.getLatestDeeperionVersionValue = exports.calculateRange = exports.DefaultClientDateSettings = exports.DateWeekStart = exports.DateGranularity = exports.ScenarioStatus = exports.OptimizationSolutionBucket = exports.OptimizationKpis = void 0;
8
8
  var fitting_statuses_1 = require("./domains/fitting/enums/fitting-statuses");
9
9
  Object.defineProperty(exports, "FittingStatuses", { enumerable: true, get: function () { return fitting_statuses_1.FittingStatuses; } });
10
10
  var intermediary_group_range_formats_1 = require("./domains/pricing/intermediaries/enums/intermediary-group-range-formats");
@@ -127,4 +127,6 @@ var get_property_name_1 = require("./helpers/get-property-name");
127
127
  Object.defineProperty(exports, "getPropertyName", { enumerable: true, get: function () { return get_property_name_1.getPropertyName; } });
128
128
  var price_decision_helper_1 = __importDefault(require("./helpers/price-decision/price-decision-helper"));
129
129
  exports.PriceDecisionNullificationHelper = price_decision_helper_1.default;
130
+ var kpi_variable_format_enum_1 = require("./enums/kpis/kpi-variable-format.enum");
131
+ Object.defineProperty(exports, "KpiVariableFormat", { enumerable: true, get: function () { return kpi_variable_format_enum_1.KpiVariableFormat; } });
130
132
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.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.17.63",
3
+ "version": "1.17.65-feature-bb-201.0",
4
4
  "description": "Shared functionality between API and UI",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -16,6 +16,7 @@
16
16
  "build/**/*"
17
17
  ],
18
18
  "devDependencies": {
19
+ "@types/ajv": "^1.0.4",
19
20
  "@types/jest": "29.5.13",
20
21
  "@types/mathjs": "6.0.12",
21
22
  "@types/prettier": "2.1.1",
@@ -28,6 +29,7 @@
28
29
  "typescript": "4.9.4"
29
30
  },
30
31
  "dependencies": {
32
+ "ajv": "^8.17.1",
31
33
  "mathjs": "7.5.1",
32
34
  "moment": "2.30.1"
33
35
  }