@buynomics-lib/bn-shared 1.17.37-feature-brz-710.1 → 1.17.37-feature-brz-707.3
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/build/helpers/default-client-number-formatting-settings.js.map +1 -1
- package/build/helpers/formula/formula-validator/formula-validator.js +2 -1
- package/build/helpers/formula/formula-validator/formula-validator.js.map +1 -1
- package/build/helpers/generate-random.d.ts +5 -0
- package/build/helpers/generate-random.js +15 -0
- package/build/helpers/generate-random.js.map +1 -0
- package/build/helpers/generate-random.test.d.ts +1 -0
- package/build/helpers/generate-random.test.js +32 -0
- package/build/helpers/generate-random.test.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-client-number-formatting-settings.js","sourceRoot":"","sources":["../../src/helpers/default-client-number-formatting-settings.ts"],"names":[],"mappings":";;;;AAAA,uGAO0D;AAE7C,QAAA,qCAAqC,
|
|
1
|
+
{"version":3,"file":"default-client-number-formatting-settings.js","sourceRoot":"","sources":["../../src/helpers/default-client-number-formatting-settings.ts"],"names":[],"mappings":";;;;AAAA,uGAO0D;AAE7C,QAAA,qCAAqC,GAChD;IACE,YAAY,EAAE,8EAA0C,CAAC,IAAI;IAC7D,QAAQ,EAAE,0EAAsC,CAAC,IAAI;IACrD,cAAc;QACZ,GAAC,wEAAoC,CAAC,UAAU,IAAG;YACjD,KAAK,EAAE,uEAAmC,CAAC,OAAO;YAClD,qBAAqB,EAAE,CAAC;YACxB,qBAAqB,EAAE,CAAC;YACxB,QAAQ,EAAE,0EAAsC,CAAC,QAAQ;SAC1D;QACD,GAAC,wEAAoC,CAAC,KAAK,IAAG;YAC5C,KAAK,EAAE,uEAAmC,CAAC,OAAO;YAClD,qBAAqB,EAAE,CAAC;YACxB,qBAAqB,EAAE,CAAC;YACxB,QAAQ,EAAE,0EAAsC,CAAC,QAAQ;SAC1D;QACD,GAAC,wEAAoC,CAAC,cAAc,IAAG;YACrD,KAAK,EAAE,uEAAmC,CAAC,OAAO;YAClD,qBAAqB,EAAE,CAAC;YACxB,qBAAqB,EAAE,CAAC;YACxB,QAAQ,EAAE,0EAAsC,CAAC,QAAQ;SAC1D;QACD,GAAC,wEAAoC,CAAC,KAAK,IAAG;YAC5C,KAAK,EAAE,uEAAmC,CAAC,QAAQ;YACnD,qBAAqB,EAAE,CAAC;YACxB,qBAAqB,EAAE,CAAC;YACxB,QAAQ,EAAE,0EAAsC,CAAC,QAAQ;SAC1D;QACD,GAAC,wEAAoC,CAAC,IAAI,IAAG;YAC3C,KAAK,EAAE,uEAAmC,CAAC,QAAQ;YACnD,qBAAqB,EAAE,CAAC;YACxB,qBAAqB,EAAE,CAAC;YACxB,QAAQ,EAAE,0EAAsC,CAAC,QAAQ;SAC1D;QACD,GAAC,wEAAoC,CAAC,aAAa,IAAG;YACpD,KAAK,EAAE,uEAAmC,CAAC,QAAQ;YACnD,qBAAqB,EAAE,CAAC;YACxB,qBAAqB,EAAE,CAAC;YACxB,QAAQ,EAAE,0EAAsC,CAAC,QAAQ;SAC1D;QACD,GAAC,wEAAoC,CAAC,aAAa,IAAG;YACpD,KAAK,EAAE,uEAAmC,CAAC,OAAO;YAClD,qBAAqB,EAAE,CAAC;YACxB,qBAAqB,EAAE,CAAC;YACxB,QAAQ,EAAE,0EAAsC,CAAC,QAAQ;SAC1D;QACD,GAAC,wEAAoC,CAAC,iBAAiB,IAAG;YACxD,KAAK,EAAE,uEAAmC,CAAC,OAAO;YAClD,qBAAqB,EAAE,CAAC;YACxB,qBAAqB,EAAE,CAAC;YACxB,QAAQ,EAAE,0EAAsC,CAAC,QAAQ;SAC1D;WACF;CACF,CAAA"}
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
var mathjs_1 = require("mathjs");
|
|
7
7
|
var custom_formula_params_1 = require("../../../enums/scenario/custom-formula-params");
|
|
8
8
|
var enum_helper_1 = __importDefault(require("../../enum-helper"));
|
|
9
|
+
var generate_random_1 = require("../../generate-random");
|
|
9
10
|
var formula_converter_1 = __importDefault(require("../formula-converter"));
|
|
10
11
|
var mathParser = (0, mathjs_1.parser)();
|
|
11
12
|
var isVariable = function (element) {
|
|
@@ -14,7 +15,7 @@ var isVariable = function (element) {
|
|
|
14
15
|
var computeWithRandomNumbers = function (formulaArray) {
|
|
15
16
|
var randomVariablesFormula = formulaArray.map(function (element) {
|
|
16
17
|
if (isVariable(element) || isCustomVariable(element)) {
|
|
17
|
-
return
|
|
18
|
+
return (0, generate_random_1.generateRandom)();
|
|
18
19
|
}
|
|
19
20
|
else {
|
|
20
21
|
return element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formula-validator.js","sourceRoot":"","sources":["../../../../src/helpers/formula/formula-validator/formula-validator.ts"],"names":[],"mappings":";;;;;AAAA,iCAA+B;AAC/B,uFAAuF;AACvF,kEAA0C;AAC1C,2EAAmD;
|
|
1
|
+
{"version":3,"file":"formula-validator.js","sourceRoot":"","sources":["../../../../src/helpers/formula/formula-validator/formula-validator.ts"],"names":[],"mappings":";;;;;AAAA,iCAA+B;AAC/B,uFAAuF;AACvF,kEAA0C;AAC1C,yDAAsD;AACtD,2EAAmD;AAEnD,IAAM,UAAU,GAAG,IAAA,eAAM,GAAE,CAAA;AAI3B,IAAM,UAAU,GAAG,UAAC,OAAe;IACjC,OAAO,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AAClC,CAAC,CAAA;AAED,IAAM,wBAAwB,GAAG,UAAC,YAAkC;IAClE,IAAM,sBAAsB,GAAG,YAAY,CAAC,GAAG,CAAC,UAAC,OAAO;QACtD,IAAI,UAAU,CAAC,OAAiB,CAAC,IAAI,gBAAgB,CAAC,OAAiB,CAAC,EAAE;YACxE,OAAO,IAAA,gCAAc,GAAE,CAAA;SACxB;aAAM;YACL,OAAO,OAAO,CAAA;SACf;IACH,CAAC,CAAC,CAAA;IACF,OAAO,UAAU,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AAC9D,CAAC,CAAA;AAED,IAAM,gBAAgB,GAAG,UAAC,OAAe;IACvC,IAAM,YAAY,GAAG,qBAAU,CAAC,aAAa,CAAC,+CAAuB,CAAC,CAAC,GAAG,CACxE,UAAC,CAAC,IAAK,OAAA,2BAAgB,CAAC,eAAe,CAAC,CAAC,CAAC,EAAnC,CAAmC,CAC3C,CAAA;IACD,OAAO,YAAY,CAAC,IAAI,CAAC,UAAC,EAAE,IAAK,OAAA,EAAE,KAAK,OAAO,EAAd,CAAc,CAAC,CAAA;AAClD,CAAC,CAAA;AAED,IAAM,SAAS,GAAG,UAAC,OAAe;IAChC,OAAA,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;AAAhD,CAAgD,CAAA;AAElD,IAAM,cAAc,GAAG,UAAC,OAA2B;IACjD,IAAM,aAAa,GAAG,OAAiB,CAAA;IACvC,IAAM,aAAa,GAAG,OAAiB,CAAA;IAEvC,OAAO,CACL,SAAS,CAAC,aAAa,CAAC;QACxB,UAAU,CAAC,aAAa,CAAC;QACzB,gBAAgB,CAAC,aAAa,CAAC;QAC/B,CAAC,KAAK,CAAC,aAAa,CAAC,CACtB,CAAA;AACH,CAAC,CAAA;AAED,IAAM,aAAa,GAAG,UAAC,YAAkC;IACvD,IAAI,OAAO,GAAG,IAAI,CAAA;IAClB,IAAI;QACF,IAAM,MAAM,GAAG,wBAAwB,CAAC,YAAY,CAAC,CAAA;QACrD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,KAAK,SAAS,EAAE;YAC7C,OAAO,GAAG,KAAK,CAAA;SAChB;KACF;IAAC,WAAM;QACN,OAAO,GAAG,KAAK,CAAA;KAChB;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,IAAM,gBAAgB,GAAG;IACvB,cAAc,gBAAA;IACd,UAAU,YAAA;IACV,gBAAgB,kBAAA;IAChB,aAAa,eAAA;IACb,SAAS,WAAA;CACV,CAAA;AAED,kBAAe,gBAAgB,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateRandom = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Returns a cryptographically secure pseudorandom number between 0 and 1
|
|
6
|
+
* Can be used as a drop-in replacement for Math.random
|
|
7
|
+
*/
|
|
8
|
+
var generateRandom = function () {
|
|
9
|
+
var array = new Uint32Array(1);
|
|
10
|
+
crypto.getRandomValues(array);
|
|
11
|
+
// Divide by the maximum value for Uint32 + 1 to get range [0, 1)
|
|
12
|
+
return array[0] / (0xffffffff + 1);
|
|
13
|
+
};
|
|
14
|
+
exports.generateRandom = generateRandom;
|
|
15
|
+
//# sourceMappingURL=generate-random.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-random.js","sourceRoot":"","sources":["../../src/helpers/generate-random.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACI,IAAM,cAAc,GAAG;IAC5B,IAAM,KAAK,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAA;IAChC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;IAC7B,iEAAiE;IACjE,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,CAAA;AACpC,CAAC,CAAA;AALY,QAAA,cAAc,kBAK1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var generate_random_1 = require("./generate-random");
|
|
4
|
+
describe('generateRandom', function () {
|
|
5
|
+
it('should return a number between 0 (inclusive) and 1 (exclusive)', function () {
|
|
6
|
+
var value = (0, generate_random_1.generateRandom)();
|
|
7
|
+
expect(value).toBeGreaterThanOrEqual(0);
|
|
8
|
+
expect(value).toBeLessThan(1);
|
|
9
|
+
});
|
|
10
|
+
it('should return a value of type number', function () {
|
|
11
|
+
var value = (0, generate_random_1.generateRandom)();
|
|
12
|
+
expect(typeof value).toBe('number');
|
|
13
|
+
});
|
|
14
|
+
it('should not return NaN or Infinity', function () {
|
|
15
|
+
var value = (0, generate_random_1.generateRandom)();
|
|
16
|
+
expect(Number.isNaN(value)).toBe(false);
|
|
17
|
+
expect(value).not.toBe(Infinity);
|
|
18
|
+
});
|
|
19
|
+
it('should not throw errors when called multiple times', function () {
|
|
20
|
+
expect(function () {
|
|
21
|
+
for (var i = 0; i < 100; i++) {
|
|
22
|
+
(0, generate_random_1.generateRandom)();
|
|
23
|
+
}
|
|
24
|
+
}).not.toThrow();
|
|
25
|
+
});
|
|
26
|
+
it('should produce different values on consecutive calls (high entropy)', function () {
|
|
27
|
+
var values = Array.from({ length: 10 }, generate_random_1.generateRandom);
|
|
28
|
+
var uniqueValues = new Set(values);
|
|
29
|
+
expect(uniqueValues.size).toBeGreaterThan(1);
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
//# sourceMappingURL=generate-random.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-random.test.js","sourceRoot":"","sources":["../../src/helpers/generate-random.test.ts"],"names":[],"mappings":";;AAAA,qDAAkD;AAElD,QAAQ,CAAC,gBAAgB,EAAE;IACzB,EAAE,CAAC,gEAAgE,EAAE;QACnE,IAAM,KAAK,GAAG,IAAA,gCAAc,GAAE,CAAA;QAC9B,MAAM,CAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAA;QACvC,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IAC/B,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sCAAsC,EAAE;QACzC,IAAM,KAAK,GAAG,IAAA,gCAAc,GAAE,CAAA;QAC9B,MAAM,CAAC,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mCAAmC,EAAE;QACtC,IAAM,KAAK,GAAG,IAAA,gCAAc,GAAE,CAAA;QAC9B,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACvC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,oDAAoD,EAAE;QACvD,MAAM,CAAC;YACL,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;gBAC5B,IAAA,gCAAc,GAAE,CAAA;aACjB;QACH,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAA;IAClB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,qEAAqE,EAAE;QACxE,IAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,gCAAc,CAAC,CAAA;QACzD,IAAM,YAAY,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAA;QACpC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
package/package.json
CHANGED