@buynomics-lib/bn-shared 1.12.7-hotfix-bd-1066.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.
- package/CHANGELOG.md +204 -0
- package/build/domains/fitting/enums/fitting-statuses.d.ts +6 -0
- package/build/domains/fitting/enums/fitting-statuses.js +11 -0
- package/build/domains/fitting/enums/fitting-statuses.js.map +1 -0
- package/build/domains/fitting/interfaces/fitting-logs.d.ts +5 -0
- package/build/domains/fitting/interfaces/fitting-logs.js +3 -0
- package/build/domains/fitting/interfaces/fitting-logs.js.map +1 -0
- package/build/domains/fitting/interfaces/fitting.d.ts +11 -0
- package/build/domains/fitting/interfaces/fitting.js +3 -0
- package/build/domains/fitting/interfaces/fitting.js.map +1 -0
- package/build/domains/pricing/intermediaries/enums/intermediary-group-range-formats.d.ts +4 -0
- package/build/domains/pricing/intermediaries/enums/intermediary-group-range-formats.js +9 -0
- package/build/domains/pricing/intermediaries/enums/intermediary-group-range-formats.js.map +1 -0
- package/build/domains/pricing/intermediaries/enums/intermediary-group-types.d.ts +4 -0
- package/build/domains/pricing/intermediaries/enums/intermediary-group-types.js +9 -0
- package/build/domains/pricing/intermediaries/enums/intermediary-group-types.js.map +1 -0
- package/build/domains/promotions/helpers/promotion-periods.d.ts +2 -0
- package/build/domains/promotions/helpers/promotion-periods.js +47 -0
- package/build/domains/promotions/helpers/promotion-periods.js.map +1 -0
- package/build/domains/promotions/interfaces/promotion-period.d.ts +5 -0
- package/build/domains/promotions/interfaces/promotion-period.js +3 -0
- package/build/domains/promotions/interfaces/promotion-period.js.map +1 -0
- package/build/enums/client/client-clv-periods.d.ts +4 -0
- package/build/enums/client/client-clv-periods.js +9 -0
- package/build/enums/client/client-clv-periods.js.map +1 -0
- package/build/enums/client/client-clv-price-types.d.ts +8 -0
- package/build/enums/client/client-clv-price-types.js +13 -0
- package/build/enums/client/client-clv-price-types.js.map +1 -0
- package/build/enums/client/client-decimal-settings.d.ts +18 -0
- package/build/enums/client/client-decimal-settings.js +24 -0
- package/build/enums/client/client-decimal-settings.js.map +1 -0
- package/build/enums/client/client-terms.d.ts +10 -0
- package/build/enums/client/client-terms.js +15 -0
- package/build/enums/client/client-terms.js.map +1 -0
- package/build/enums/client/client-types.d.ts +4 -0
- package/build/enums/client/client-types.js +9 -0
- package/build/enums/client/client-types.js.map +1 -0
- package/build/enums/deeperion/deeperion-versions.d.ts +6 -0
- package/build/enums/deeperion/deeperion-versions.js +11 -0
- package/build/enums/deeperion/deeperion-versions.js.map +1 -0
- package/build/enums/permissions.d.ts +74 -0
- package/build/enums/permissions.js +78 -0
- package/build/enums/permissions.js.map +1 -0
- package/build/enums/price-level/price-level-types.d.ts +6 -0
- package/build/enums/price-level/price-level-types.js +11 -0
- package/build/enums/price-level/price-level-types.js.map +1 -0
- package/build/enums/product/configurable-product-field.d.ts +7 -0
- package/build/enums/product/configurable-product-field.js +12 -0
- package/build/enums/product/configurable-product-field.js.map +1 -0
- package/build/enums/product/sortable-product-fields.d.ts +6 -0
- package/build/enums/product/sortable-product-fields.js +11 -0
- package/build/enums/product/sortable-product-fields.js.map +1 -0
- package/build/enums/scenario/custom-formula-params.d.ts +5 -0
- package/build/enums/scenario/custom-formula-params.js +19 -0
- package/build/enums/scenario/custom-formula-params.js.map +1 -0
- package/build/helpers/calculate-range.d.ts +5 -0
- package/build/helpers/calculate-range.js +18 -0
- package/build/helpers/calculate-range.js.map +1 -0
- package/build/helpers/deeperion/get-latest-deeperion-version.d.ts +1 -0
- package/build/helpers/deeperion/get-latest-deeperion-version.js +14 -0
- package/build/helpers/deeperion/get-latest-deeperion-version.js.map +1 -0
- package/build/helpers/deeperion/get-latest-deeperion-version.test.d.ts +1 -0
- package/build/helpers/deeperion/get-latest-deeperion-version.test.js +11 -0
- package/build/helpers/deeperion/get-latest-deeperion-version.test.js.map +1 -0
- package/build/helpers/enum-helper.d.ts +8 -0
- package/build/helpers/enum-helper.js +15 -0
- package/build/helpers/enum-helper.js.map +1 -0
- package/build/helpers/formula/formula-converter.d.ts +4 -0
- package/build/helpers/formula/formula-converter.js +6 -0
- package/build/helpers/formula/formula-converter.js.map +1 -0
- package/build/helpers/formula/formula-validator/formula-validator.d.ts +9 -0
- package/build/helpers/formula/formula-validator/formula-validator.js +61 -0
- package/build/helpers/formula/formula-validator/formula-validator.js.map +1 -0
- package/build/helpers/formula/formula-validator/formula-validator.test.d.ts +1 -0
- package/build/helpers/formula/formula-validator/formula-validator.test.js +63 -0
- package/build/helpers/formula/formula-validator/formula-validator.test.js.map +1 -0
- package/build/helpers/formula/json-formula-to-expression.d.ts +14 -0
- package/build/helpers/formula/json-formula-to-expression.js +43 -0
- package/build/helpers/formula/json-formula-to-expression.js.map +1 -0
- package/build/helpers/get-property-name.d.ts +1 -0
- package/build/helpers/get-property-name.js +16 -0
- package/build/helpers/get-property-name.js.map +1 -0
- package/build/helpers/price-decision/price-decision-helper.d.ts +8 -0
- package/build/helpers/price-decision/price-decision-helper.js +12 -0
- package/build/helpers/price-decision/price-decision-helper.js.map +1 -0
- package/build/helpers/price-decision/price-decision-helper.test.d.ts +1 -0
- package/build/helpers/price-decision/price-decision-helper.test.js +50 -0
- package/build/helpers/price-decision/price-decision-helper.test.js.map +1 -0
- package/build/index.d.ts +29 -0
- package/build/index.js +58 -0
- package/build/index.js.map +1 -0
- package/build/interfaces/file-upload.d.ts +5 -0
- package/build/interfaces/file-upload.js +3 -0
- package/build/interfaces/file-upload.js.map +1 -0
- package/build/interfaces/simulation/simulation-input-change-events.d.ts +4 -0
- package/build/interfaces/simulation/simulation-input-change-events.js +3 -0
- package/build/interfaces/simulation/simulation-input-change-events.js.map +1 -0
- package/package.json +38 -0
- package/readme.md +3 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BnPermissions = void 0;
|
|
4
|
+
exports.BnPermissions = {
|
|
5
|
+
Client: {
|
|
6
|
+
Create: 'create_client',
|
|
7
|
+
Delete: 'delete_client',
|
|
8
|
+
EditInfo: 'edit_client_info',
|
|
9
|
+
EditTags: 'edit_client_tags',
|
|
10
|
+
Get: 'get_client',
|
|
11
|
+
List: 'list_clients',
|
|
12
|
+
Switch: 'switch_client',
|
|
13
|
+
},
|
|
14
|
+
CustomerSample: {
|
|
15
|
+
Create: 'create_customer_sample',
|
|
16
|
+
Delete: 'delete_customer_sample',
|
|
17
|
+
Edit: 'edit_customer_sample',
|
|
18
|
+
Get: 'get_customer_sample',
|
|
19
|
+
List: 'list_customer_samples',
|
|
20
|
+
BulkDelete: 'bulk_delete_customer_samples',
|
|
21
|
+
},
|
|
22
|
+
Organization: {
|
|
23
|
+
Create: 'create_organization',
|
|
24
|
+
Delete: 'delete_organization',
|
|
25
|
+
Edit: 'edit_organization',
|
|
26
|
+
Get: 'get_organization',
|
|
27
|
+
List: 'list_organizations',
|
|
28
|
+
Switch: 'switch_organization',
|
|
29
|
+
},
|
|
30
|
+
PriceLevel: {
|
|
31
|
+
Create: 'create_price_level',
|
|
32
|
+
Delete: 'delete_price_level',
|
|
33
|
+
Edit: 'edit_price_level',
|
|
34
|
+
Get: 'get_price_level',
|
|
35
|
+
List: 'list_price_levels',
|
|
36
|
+
},
|
|
37
|
+
Project: {
|
|
38
|
+
Create: 'create_project',
|
|
39
|
+
Duplicate: 'duplicate_project',
|
|
40
|
+
Delete: 'delete_project',
|
|
41
|
+
Edit: 'edit_project',
|
|
42
|
+
Get: 'get_project',
|
|
43
|
+
List: 'list_projects',
|
|
44
|
+
BulkDelete: 'bulk_delete_projects',
|
|
45
|
+
},
|
|
46
|
+
Roles: {
|
|
47
|
+
OrgAdmin: 'bn_org_admin',
|
|
48
|
+
OrgUser: 'bn_org_user',
|
|
49
|
+
SuperAdmin: 'bn_super_admin',
|
|
50
|
+
},
|
|
51
|
+
ScenarioSet: {
|
|
52
|
+
Create: 'create_scenario_set',
|
|
53
|
+
Delete: 'delete_scenario_set',
|
|
54
|
+
Get: 'get_scenario_set',
|
|
55
|
+
List: 'list_scenario_sets',
|
|
56
|
+
Update: 'edit_scenario_set',
|
|
57
|
+
},
|
|
58
|
+
User: {
|
|
59
|
+
Create: 'create_user',
|
|
60
|
+
Delete: 'delete_user',
|
|
61
|
+
Edit: 'edit_user',
|
|
62
|
+
Get: 'get_user',
|
|
63
|
+
List: 'list_users',
|
|
64
|
+
},
|
|
65
|
+
Fitting: {
|
|
66
|
+
Create: 'create_fitting',
|
|
67
|
+
Delete: 'delete_fitting',
|
|
68
|
+
Edit: 'edit_fitting',
|
|
69
|
+
List: 'list_fittings',
|
|
70
|
+
},
|
|
71
|
+
Promotion: {
|
|
72
|
+
Create: 'create_promotion',
|
|
73
|
+
Delete: 'delete_promotion',
|
|
74
|
+
Edit: 'edit_promotion',
|
|
75
|
+
List: 'list_promotions',
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
//# sourceMappingURL=permissions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../src/enums/permissions.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG;IAC3B,MAAM,EAAE;QACN,MAAM,EAAE,eAAe;QACvB,MAAM,EAAE,eAAe;QACvB,QAAQ,EAAE,kBAAkB;QAC5B,QAAQ,EAAE,kBAAkB;QAC5B,GAAG,EAAE,YAAY;QACjB,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,eAAe;KACxB;IACD,cAAc,EAAE;QACd,MAAM,EAAE,wBAAwB;QAChC,MAAM,EAAE,wBAAwB;QAChC,IAAI,EAAE,sBAAsB;QAC5B,GAAG,EAAE,qBAAqB;QAC1B,IAAI,EAAE,uBAAuB;QAC7B,UAAU,EAAE,8BAA8B;KAC3C;IACD,YAAY,EAAE;QACZ,MAAM,EAAE,qBAAqB;QAC7B,MAAM,EAAE,qBAAqB;QAC7B,IAAI,EAAE,mBAAmB;QACzB,GAAG,EAAE,kBAAkB;QACvB,IAAI,EAAE,oBAAoB;QAC1B,MAAM,EAAE,qBAAqB;KAC9B;IACD,UAAU,EAAE;QACV,MAAM,EAAE,oBAAoB;QAC5B,MAAM,EAAE,oBAAoB;QAC5B,IAAI,EAAE,kBAAkB;QACxB,GAAG,EAAE,iBAAiB;QACtB,IAAI,EAAE,mBAAmB;KAC1B;IACD,OAAO,EAAE;QACP,MAAM,EAAE,gBAAgB;QACxB,SAAS,EAAE,mBAAmB;QAC9B,MAAM,EAAE,gBAAgB;QACxB,IAAI,EAAE,cAAc;QACpB,GAAG,EAAE,aAAa;QAClB,IAAI,EAAE,eAAe;QACrB,UAAU,EAAE,sBAAsB;KACnC;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,cAAc;QACxB,OAAO,EAAE,aAAa;QACtB,UAAU,EAAE,gBAAgB;KAC7B;IACD,WAAW,EAAE;QACX,MAAM,EAAE,qBAAqB;QAC7B,MAAM,EAAE,qBAAqB;QAC7B,GAAG,EAAE,kBAAkB;QACvB,IAAI,EAAE,oBAAoB;QAC1B,MAAM,EAAE,mBAAmB;KAC5B;IACD,IAAI,EAAE;QACJ,MAAM,EAAE,aAAa;QACrB,MAAM,EAAE,aAAa;QACrB,IAAI,EAAE,WAAW;QACjB,GAAG,EAAE,UAAU;QACf,IAAI,EAAE,YAAY;KACnB;IACD,OAAO,EAAE;QACP,MAAM,EAAE,gBAAgB;QACxB,MAAM,EAAE,gBAAgB;QACxB,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,eAAe;KACtB;IACD,SAAS,EAAE;QACT,MAAM,EAAE,kBAAkB;QAC1B,MAAM,EAAE,kBAAkB;QAC1B,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,iBAAiB;KACxB;CACF,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PriceLevelTypes = void 0;
|
|
4
|
+
var PriceLevelTypes;
|
|
5
|
+
(function (PriceLevelTypes) {
|
|
6
|
+
PriceLevelTypes[PriceLevelTypes["Regular"] = 1] = "Regular";
|
|
7
|
+
PriceLevelTypes[PriceLevelTypes["Manufacturer"] = 2] = "Manufacturer";
|
|
8
|
+
PriceLevelTypes[PriceLevelTypes["ListPrice"] = 3] = "ListPrice";
|
|
9
|
+
PriceLevelTypes[PriceLevelTypes["EndCustomer"] = 4] = "EndCustomer";
|
|
10
|
+
})(PriceLevelTypes = exports.PriceLevelTypes || (exports.PriceLevelTypes = {}));
|
|
11
|
+
//# sourceMappingURL=price-level-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"price-level-types.js","sourceRoot":"","sources":["../../../src/enums/price-level/price-level-types.ts"],"names":[],"mappings":";;;AAAA,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,2DAAW,CAAA;IACX,qEAAgB,CAAA;IAChB,+DAAa,CAAA;IACb,mEAAe,CAAA;AACjB,CAAC,EALW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAK1B"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ConfigurableProductFields = void 0;
|
|
4
|
+
var ConfigurableProductFields;
|
|
5
|
+
(function (ConfigurableProductFields) {
|
|
6
|
+
ConfigurableProductFields[ConfigurableProductFields["Availability"] = 1] = "Availability";
|
|
7
|
+
ConfigurableProductFields[ConfigurableProductFields["MeasuringUnits"] = 2] = "MeasuringUnits";
|
|
8
|
+
ConfigurableProductFields[ConfigurableProductFields["Intermediaries"] = 3] = "Intermediaries";
|
|
9
|
+
ConfigurableProductFields[ConfigurableProductFields["CustomerLifetimeValue"] = 4] = "CustomerLifetimeValue";
|
|
10
|
+
ConfigurableProductFields[ConfigurableProductFields["PriceThresholds"] = 5] = "PriceThresholds";
|
|
11
|
+
})(ConfigurableProductFields = exports.ConfigurableProductFields || (exports.ConfigurableProductFields = {}));
|
|
12
|
+
//# sourceMappingURL=configurable-product-field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configurable-product-field.js","sourceRoot":"","sources":["../../../src/enums/product/configurable-product-field.ts"],"names":[],"mappings":";;;AAAA,IAAY,yBAMX;AAND,WAAY,yBAAyB;IACnC,yFAAgB,CAAA;IAChB,6FAAkB,CAAA;IAClB,6FAAkB,CAAA;IAClB,2GAAyB,CAAA;IACzB,+FAAmB,CAAA;AACrB,CAAC,EANW,yBAAyB,GAAzB,iCAAyB,KAAzB,iCAAyB,QAMpC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SortableProductFields = void 0;
|
|
4
|
+
var SortableProductFields;
|
|
5
|
+
(function (SortableProductFields) {
|
|
6
|
+
SortableProductFields["Static"] = "static";
|
|
7
|
+
SortableProductFields["ValueDriver"] = "valueDriver";
|
|
8
|
+
SortableProductFields["IntermediaryGroup"] = "intermediaryGroup";
|
|
9
|
+
SortableProductFields["IntermediaryCost"] = "intermediaryCost";
|
|
10
|
+
})(SortableProductFields = exports.SortableProductFields || (exports.SortableProductFields = {}));
|
|
11
|
+
//# sourceMappingURL=sortable-product-fields.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sortable-product-fields.js","sourceRoot":"","sources":["../../../src/enums/product/sortable-product-fields.ts"],"names":[],"mappings":";;;AAAA,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC/B,0CAAiB,CAAA;IACjB,oDAA2B,CAAA;IAC3B,gEAAuC,CAAA;IACvC,8DAAqC,CAAA;AACvC,CAAC,EALW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAKhC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare enum CustomCostFormulaParams {
|
|
2
|
+
CurrentPrice = "current_price",
|
|
3
|
+
EndCustomerPrice = "end_customer_price"
|
|
4
|
+
}
|
|
5
|
+
export declare const getCustomFormulaParamsLabel: (value: CustomCostFormulaParams) => "Current Price" | "End Customer Price" | "Undefined Formula Param";
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getCustomFormulaParamsLabel = exports.CustomCostFormulaParams = void 0;
|
|
4
|
+
var CustomCostFormulaParams;
|
|
5
|
+
(function (CustomCostFormulaParams) {
|
|
6
|
+
CustomCostFormulaParams["CurrentPrice"] = "current_price";
|
|
7
|
+
CustomCostFormulaParams["EndCustomerPrice"] = "end_customer_price";
|
|
8
|
+
})(CustomCostFormulaParams = exports.CustomCostFormulaParams || (exports.CustomCostFormulaParams = {}));
|
|
9
|
+
exports.getCustomFormulaParamsLabel = function (value) {
|
|
10
|
+
switch (value) {
|
|
11
|
+
case CustomCostFormulaParams.CurrentPrice:
|
|
12
|
+
return 'Current Price';
|
|
13
|
+
case CustomCostFormulaParams.EndCustomerPrice:
|
|
14
|
+
return 'End Customer Price';
|
|
15
|
+
default:
|
|
16
|
+
return 'Undefined Formula Param';
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=custom-formula-params.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-formula-params.js","sourceRoot":"","sources":["../../../src/enums/scenario/custom-formula-params.ts"],"names":[],"mappings":";;;AAAA,IAAY,uBAGX;AAHD,WAAY,uBAAuB;IACjC,yDAA8B,CAAA;IAC9B,kEAAuC,CAAA;AACzC,CAAC,EAHW,uBAAuB,GAAvB,+BAAuB,KAAvB,+BAAuB,QAGlC;AAEY,QAAA,2BAA2B,GAAG,UAAC,KAA8B;IACxE,QAAQ,KAAK,EAAE;QACb,KAAK,uBAAuB,CAAC,YAAY;YACvC,OAAO,eAAe,CAAA;QACxB,KAAK,uBAAuB,CAAC,gBAAgB;YAC3C,OAAO,oBAAoB,CAAA;QAC7B;YACE,OAAO,yBAAyB,CAAA;KACnC;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.calculateRange = void 0;
|
|
4
|
+
exports.calculateRange = function (_a) {
|
|
5
|
+
var from = _a.from, to = _a.to, step = _a.step;
|
|
6
|
+
if (from === undefined || to === undefined || step === undefined) {
|
|
7
|
+
return [];
|
|
8
|
+
}
|
|
9
|
+
var rangeValues = [from];
|
|
10
|
+
// needed because of https://stackoverflow.com/questions/1458633/how-to-deal-with-floating-point-number-precision-in-javascript
|
|
11
|
+
var current = Math.round((from + step) * Math.pow(10, 12)) / Math.pow(10, 12);
|
|
12
|
+
while (current <= to) {
|
|
13
|
+
rangeValues.push(current);
|
|
14
|
+
current = Math.round((current + step) * Math.pow(10, 12)) / Math.pow(10, 12);
|
|
15
|
+
}
|
|
16
|
+
return rangeValues;
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=calculate-range.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calculate-range.js","sourceRoot":"","sources":["../../src/helpers/calculate-range.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG,UAAC,EAQ9B;QAPC,IAAI,UAAA,EACJ,EAAE,QAAA,EACF,IAAI,UAAA;IAMJ,IAAI,IAAI,KAAK,SAAS,IAAI,EAAE,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,EAAE;QAChE,OAAO,EAAE,CAAA;KACV;IAED,IAAM,WAAW,GAAG,CAAC,IAAI,CAAC,CAAA;IAE1B,+HAA+H;IAC/H,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,SAAA,EAAE,EAAI,EAAE,CAAA,CAAC,GAAG,SAAA,EAAE,EAAI,EAAE,CAAA,CAAA;IAC7D,OAAO,OAAO,IAAI,EAAE,EAAE;QACpB,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACzB,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,SAAA,EAAE,EAAI,EAAE,CAAA,CAAC,GAAG,SAAA,EAAE,EAAI,EAAE,CAAA,CAAA;KAC7D;IAED,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getLatestDeeperionVersionValue: () => any;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getLatestDeeperionVersionValue = void 0;
|
|
7
|
+
var deeperion_versions_1 = require("../../enums/deeperion/deeperion-versions");
|
|
8
|
+
var enum_helper_1 = __importDefault(require("../enum-helper"));
|
|
9
|
+
exports.getLatestDeeperionVersionValue = function () {
|
|
10
|
+
var allVersions = enum_helper_1.default.getEnumKeys(deeperion_versions_1.DeeperionVersions);
|
|
11
|
+
var latestVersion = allVersions[allVersions.length - 1];
|
|
12
|
+
return deeperion_versions_1.DeeperionVersions[latestVersion];
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=get-latest-deeperion-version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-latest-deeperion-version.js","sourceRoot":"","sources":["../../../src/helpers/deeperion/get-latest-deeperion-version.ts"],"names":[],"mappings":";;;;;;AAAA,+EAA4E;AAC5E,+DAAuC;AAE1B,QAAA,8BAA8B,GAAG;IAC5C,IAAM,WAAW,GAAG,qBAAU,CAAC,WAAW,CAAC,sCAAiB,CAAC,CAAA;IAC7D,IAAM,aAAa,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACzD,OAAO,sCAAiB,CAAC,aAAa,CAAC,CAAA;AACzC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var deeperion_versions_1 = require("../../enums/deeperion/deeperion-versions");
|
|
4
|
+
var get_latest_deeperion_version_1 = require("./get-latest-deeperion-version");
|
|
5
|
+
describe('getLatestDeeperionVersion', function () {
|
|
6
|
+
it('should get the latest version', function () {
|
|
7
|
+
var value = get_latest_deeperion_version_1.getLatestDeeperionVersionValue();
|
|
8
|
+
expect(value).toEqual(deeperion_versions_1.DeeperionVersions.v1_8_0);
|
|
9
|
+
});
|
|
10
|
+
});
|
|
11
|
+
//# sourceMappingURL=get-latest-deeperion-version.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-latest-deeperion-version.test.js","sourceRoot":"","sources":["../../../src/helpers/deeperion/get-latest-deeperion-version.test.ts"],"names":[],"mappings":";;AAAA,+EAA4E;AAC5E,+EAA+E;AAE/E,QAAQ,CAAC,2BAA2B,EAAE;IACpC,EAAE,CAAC,+BAA+B,EAAE;QAClC,IAAM,KAAK,GAAG,6DAA8B,EAAE,CAAA;QAC9C,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,sCAAiB,CAAC,MAAM,CAAC,CAAA;IACjD,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var getEnumKeys = function (type) {
|
|
4
|
+
var numKeys = Object.keys(type).length / 2;
|
|
5
|
+
return Object.keys(type).filter(function (key, idx) { return idx >= numKeys; });
|
|
6
|
+
};
|
|
7
|
+
var getEnumValues = function (type) {
|
|
8
|
+
return Object.values(type).map(function (t) { return t.toString(); });
|
|
9
|
+
};
|
|
10
|
+
var EnumHelper = {
|
|
11
|
+
getEnumKeys: getEnumKeys,
|
|
12
|
+
getEnumValues: getEnumValues,
|
|
13
|
+
};
|
|
14
|
+
exports.default = EnumHelper;
|
|
15
|
+
//# sourceMappingURL=enum-helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enum-helper.js","sourceRoot":"","sources":["../../src/helpers/enum-helper.ts"],"names":[],"mappings":";;AAEA,IAAM,WAAW,GAAG,UAAC,IAAc;IACjC,IAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;IAC5C,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,GAAG,IAAK,OAAA,GAAG,IAAI,OAAO,EAAd,CAAc,CAAC,CAAA;AAC/D,CAAC,CAAA;AAED,IAAM,aAAa,GAAG,UAAC,IAAc;IACnC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAC,CAAS,CAAC,QAAQ,EAAE,EAArB,CAAqB,CAAC,CAAA;AAC9D,CAAC,CAAA;AAED,IAAM,UAAU,GAAG;IACjB,WAAW,aAAA;IACX,aAAa,eAAA;CACd,CAAA;AAED,kBAAe,UAAU,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var stringToElement = function (param) { return "$" + param; };
|
|
4
|
+
var FormulaConverter = { stringToElement: stringToElement };
|
|
5
|
+
exports.default = FormulaConverter;
|
|
6
|
+
//# sourceMappingURL=formula-converter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formula-converter.js","sourceRoot":"","sources":["../../../src/helpers/formula/formula-converter.ts"],"names":[],"mappings":";;AAAA,IAAM,eAAe,GAAG,UAAC,KAAa,IAAK,OAAA,MAAI,KAAO,EAAX,CAAW,CAAA;AAEtD,IAAM,gBAAgB,GAAG,EAAE,eAAe,iBAAA,EAAE,CAAA;AAE5C,kBAAe,gBAAgB,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
declare type FormulaElementType = string | number | undefined | null | typeof NaN;
|
|
2
|
+
declare const FormulaValidator: {
|
|
3
|
+
isValidElement: (element: FormulaElementType) => boolean;
|
|
4
|
+
isVariable: (element: string) => boolean;
|
|
5
|
+
isCustomVariable: (element: string) => boolean;
|
|
6
|
+
canBeComputed: (formulaArray: FormulaElementType[]) => boolean;
|
|
7
|
+
isOperand: (element: string) => boolean;
|
|
8
|
+
};
|
|
9
|
+
export default FormulaValidator;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
var mathjs_1 = require("mathjs");
|
|
7
|
+
var custom_formula_params_1 = require("../../../enums/scenario/custom-formula-params");
|
|
8
|
+
var enum_helper_1 = __importDefault(require("../../enum-helper"));
|
|
9
|
+
var formula_converter_1 = __importDefault(require("../formula-converter"));
|
|
10
|
+
var mathParser = mathjs_1.parser();
|
|
11
|
+
var isVariable = function (element) {
|
|
12
|
+
return /\$.{36}$/g.test(element);
|
|
13
|
+
};
|
|
14
|
+
var computeWithRandomNumbers = function (formulaArray) {
|
|
15
|
+
var randomVariablesFormula = formulaArray.map(function (element) {
|
|
16
|
+
if (isVariable(element) || isCustomVariable(element)) {
|
|
17
|
+
return Math.random();
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
return element;
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
return mathParser.evaluate(randomVariablesFormula.join(' '));
|
|
24
|
+
};
|
|
25
|
+
var isCustomVariable = function (element) {
|
|
26
|
+
var customParams = enum_helper_1.default.getEnumValues(custom_formula_params_1.CustomCostFormulaParams).map(function (e) { return formula_converter_1.default.stringToElement(e); });
|
|
27
|
+
return customParams.some(function (cp) { return cp === element; });
|
|
28
|
+
};
|
|
29
|
+
var isOperand = function (element) {
|
|
30
|
+
return ['/', '*', '+', '-', '(', ')'].includes(element);
|
|
31
|
+
};
|
|
32
|
+
var isValidElement = function (element) {
|
|
33
|
+
var elementString = element;
|
|
34
|
+
var elementNumber = element;
|
|
35
|
+
return (isOperand(elementString) ||
|
|
36
|
+
isVariable(elementString) ||
|
|
37
|
+
isCustomVariable(elementString) ||
|
|
38
|
+
!isNaN(elementNumber));
|
|
39
|
+
};
|
|
40
|
+
var canBeComputed = function (formulaArray) {
|
|
41
|
+
var isValid = true;
|
|
42
|
+
try {
|
|
43
|
+
var result = computeWithRandomNumbers(formulaArray);
|
|
44
|
+
if (!isFinite(result) || result === undefined) {
|
|
45
|
+
isValid = false;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
catch (_a) {
|
|
49
|
+
isValid = false;
|
|
50
|
+
}
|
|
51
|
+
return isValid;
|
|
52
|
+
};
|
|
53
|
+
var FormulaValidator = {
|
|
54
|
+
isValidElement: isValidElement,
|
|
55
|
+
isVariable: isVariable,
|
|
56
|
+
isCustomVariable: isCustomVariable,
|
|
57
|
+
canBeComputed: canBeComputed,
|
|
58
|
+
isOperand: isOperand,
|
|
59
|
+
};
|
|
60
|
+
exports.default = FormulaValidator;
|
|
61
|
+
//# sourceMappingURL=formula-validator.js.map
|
|
@@ -0,0 +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;AACnD,IAAM,UAAU,GAAG,eAAM,EAAE,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,IAAI,CAAC,MAAM,EAAE,CAAA;SACrB;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,CAC3C,+CAAuB,CACxB,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,2BAAgB,CAAC,eAAe,CAAC,CAAC,CAAC,EAAnC,CAAmC,CAAC,CAAA;IACjD,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 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
var formula_validator_1 = __importDefault(require("./formula-validator"));
|
|
7
|
+
describe('FormulaValidator', function () {
|
|
8
|
+
describe('isValidElement', function () {
|
|
9
|
+
it('should return true for operand', function () {
|
|
10
|
+
expect(formula_validator_1.default.isValidElement('+')).toBeTruthy();
|
|
11
|
+
});
|
|
12
|
+
it('should return true for number', function () {
|
|
13
|
+
expect(formula_validator_1.default.isValidElement(2)).toBeTruthy();
|
|
14
|
+
});
|
|
15
|
+
it('should return true for current_price', function () {
|
|
16
|
+
expect(formula_validator_1.default.isValidElement('$current_price')).toBeTruthy();
|
|
17
|
+
});
|
|
18
|
+
it('should return true for GUID', function () {
|
|
19
|
+
expect(formula_validator_1.default.isValidElement('$7b4944ae-4d40-4ae3-aa35-3200cc102341')).toBeTruthy();
|
|
20
|
+
});
|
|
21
|
+
it('should return true for null', function () {
|
|
22
|
+
expect(formula_validator_1.default.isValidElement(null)).toBeTruthy();
|
|
23
|
+
});
|
|
24
|
+
it('should return false for NaN', function () {
|
|
25
|
+
expect(formula_validator_1.default.isValidElement(NaN)).toBeFalsy();
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
describe('canBeExecuted', function () {
|
|
29
|
+
it('should return true for all numbers', function () {
|
|
30
|
+
var formulaArray = [
|
|
31
|
+
'(',
|
|
32
|
+
'1',
|
|
33
|
+
'+',
|
|
34
|
+
'9',
|
|
35
|
+
')',
|
|
36
|
+
'*',
|
|
37
|
+
'2',
|
|
38
|
+
'/',
|
|
39
|
+
'5',
|
|
40
|
+
'-',
|
|
41
|
+
'1',
|
|
42
|
+
];
|
|
43
|
+
expect(formula_validator_1.default.canBeComputed(formulaArray)).toBeTruthy();
|
|
44
|
+
});
|
|
45
|
+
it('should return true when there are no constants', function () {
|
|
46
|
+
var formulaArray = ['(', "$7b4944ae-4d40-4ae3-aa35-3200cc102341", ')'];
|
|
47
|
+
expect(formula_validator_1.default.canBeComputed(formulaArray)).toBeTruthy();
|
|
48
|
+
});
|
|
49
|
+
it('should return false when empty array', function () {
|
|
50
|
+
var formulaArray = [];
|
|
51
|
+
expect(formula_validator_1.default.canBeComputed(formulaArray)).toBeFalsy();
|
|
52
|
+
});
|
|
53
|
+
it('should return false when there is null element', function () {
|
|
54
|
+
var formulaArray = ['1', '+', 'null', '1'];
|
|
55
|
+
expect(formula_validator_1.default.canBeComputed(formulaArray)).toBeFalsy();
|
|
56
|
+
});
|
|
57
|
+
it('should return false when invalid formula', function () {
|
|
58
|
+
var formulaArray = ['1', '1'];
|
|
59
|
+
expect(formula_validator_1.default.canBeComputed(formulaArray)).toBeFalsy();
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
//# sourceMappingURL=formula-validator.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formula-validator.test.js","sourceRoot":"","sources":["../../../../src/helpers/formula/formula-validator/formula-validator.test.ts"],"names":[],"mappings":";;;;;AAAA,0EAAkD;AAElD,QAAQ,CAAC,kBAAkB,EAAE;IAC3B,QAAQ,CAAC,gBAAgB,EAAE;QACzB,EAAE,CAAC,gCAAgC,EAAE;YACnC,MAAM,CAAC,2BAAgB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,CAAA;QAC3D,CAAC,CAAC,CAAA;QACF,EAAE,CAAC,+BAA+B,EAAE;YAClC,MAAM,CAAC,2BAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAA;QACzD,CAAC,CAAC,CAAA;QACF,EAAE,CAAC,sCAAsC,EAAE;YACzC,MAAM,CAAC,2BAAgB,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,UAAU,EAAE,CAAA;QACxE,CAAC,CAAC,CAAA;QACF,EAAE,CAAC,6BAA6B,EAAE;YAChC,MAAM,CACJ,2BAAgB,CAAC,cAAc,CAAC,uCAAuC,CAAC,CACzE,CAAC,UAAU,EAAE,CAAA;QAChB,CAAC,CAAC,CAAA;QACF,EAAE,CAAC,6BAA6B,EAAE;YAChC,MAAM,CAAC,2BAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,EAAE,CAAA;QAC5D,CAAC,CAAC,CAAA;QACF,EAAE,CAAC,6BAA6B,EAAE;YAChC,MAAM,CAAC,2BAAgB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;QAC1D,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,eAAe,EAAE;QACxB,EAAE,CAAC,oCAAoC,EAAE;YACvC,IAAM,YAAY,GAAG;gBACnB,GAAG;gBACH,GAAG;gBACH,GAAG;gBACH,GAAG;gBACH,GAAG;gBACH,GAAG;gBACH,GAAG;gBACH,GAAG;gBACH,GAAG;gBACH,GAAG;gBACH,GAAG;aACJ,CAAA;YACD,MAAM,CAAC,2BAAgB,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,EAAE,CAAA;QACnE,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,gDAAgD,EAAE;YACnD,IAAM,YAAY,GAAG,CAAC,GAAG,EAAE,uCAAuC,EAAE,GAAG,CAAC,CAAA;YACxE,MAAM,CAAC,2BAAgB,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,EAAE,CAAA;QACnE,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,sCAAsC,EAAE;YACzC,IAAM,YAAY,GAAG,EAAE,CAAA;YACvB,MAAM,CAAC,2BAAgB,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;QAClE,CAAC,CAAC,CAAA;QACF,EAAE,CAAC,gDAAgD,EAAE;YACnD,IAAM,YAAY,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;YAC5C,MAAM,CAAC,2BAAgB,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;QAClE,CAAC,CAAC,CAAA;QACF,EAAE,CAAC,0CAA0C,EAAE;YAC7C,IAAM,YAAY,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;YAC/B,MAAM,CAAC,2BAAgB,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;QAClE,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare const JSONFormulaToExpression: (formula: string[], params: {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
}[]) => {
|
|
5
|
+
expression: any[];
|
|
6
|
+
invalidElements: string[];
|
|
7
|
+
};
|
|
8
|
+
export declare const expressionToJSONFormula: (expression: string[], params: {
|
|
9
|
+
id: string;
|
|
10
|
+
name: string;
|
|
11
|
+
}[]) => {
|
|
12
|
+
formula: string[];
|
|
13
|
+
invalidElements: string[];
|
|
14
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.expressionToJSONFormula = exports.JSONFormulaToExpression = void 0;
|
|
7
|
+
var __1 = require("../..");
|
|
8
|
+
var formula_converter_1 = __importDefault(require("./formula-converter"));
|
|
9
|
+
exports.JSONFormulaToExpression = function (formula, params) {
|
|
10
|
+
var invalidElements = [];
|
|
11
|
+
var newExpression = formula.map(function (element) {
|
|
12
|
+
if (__1.FormulaValidator.isValidElement(element)) {
|
|
13
|
+
return element;
|
|
14
|
+
}
|
|
15
|
+
var param = params.find(function (p) { return p.name === element; });
|
|
16
|
+
if (param) {
|
|
17
|
+
return { id: param.id, name: element };
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
invalidElements.push(element);
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
return { expression: newExpression, invalidElements: invalidElements };
|
|
25
|
+
};
|
|
26
|
+
exports.expressionToJSONFormula = function (expression, params) {
|
|
27
|
+
var invalidElements = [];
|
|
28
|
+
var jsonFormula = expression.map(function (element) {
|
|
29
|
+
if (__1.FormulaValidator.isOperand(element) || !isNaN(+element)) {
|
|
30
|
+
return element;
|
|
31
|
+
}
|
|
32
|
+
var param = params.find(function (p) { return formula_converter_1.default.stringToElement(p.id) === element; });
|
|
33
|
+
if (param) {
|
|
34
|
+
return param.name;
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
invalidElements.push(element);
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
return { formula: jsonFormula, invalidElements: invalidElements };
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=json-formula-to-expression.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-formula-to-expression.js","sourceRoot":"","sources":["../../../src/helpers/formula/json-formula-to-expression.ts"],"names":[],"mappings":";;;;;;AAAA,2BAAwC;AACxC,0EAAkD;AAErC,QAAA,uBAAuB,GAAG,UACrC,OAAiB,EACjB,MAAsC;IAEtC,IAAM,eAAe,GAAa,EAAE,CAAA;IACpC,IAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,UAAC,OAAO;QACxC,IAAI,oBAAgB,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;YAC5C,OAAO,OAAO,CAAA;SACf;QAED,IAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,OAAO,EAAlB,CAAkB,CAAC,CAAA;QAEpD,IAAI,KAAK,EAAE;YACT,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;SACvC;aAAM;YACL,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC7B,OAAO,IAAI,CAAA;SACZ;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,iBAAA,EAAE,CAAA;AACvD,CAAC,CAAA;AAEY,QAAA,uBAAuB,GAAG,UACrC,UAAoB,EACpB,MAAsC;IAEtC,IAAM,eAAe,GAAa,EAAE,CAAA;IACpC,IAAM,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,UAAC,OAAO;QACzC,IAAI,oBAAgB,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE;YAC3D,OAAO,OAAO,CAAA;SACf;QAED,IAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CACvB,UAAC,CAAC,IAAK,OAAA,2BAAgB,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,EAAlD,CAAkD,CAC1D,CAAA;QAED,IAAI,KAAK,EAAE;YACT,OAAO,KAAK,CAAC,IAAI,CAAA;SAClB;aAAM;YACL,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC7B,OAAO,IAAI,CAAA;SACZ;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,iBAAA,EAAE,CAAA;AAClD,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getPropertyName(f: (x: any) => any): string;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getPropertyName = void 0;
|
|
4
|
+
function getPropertyNameNotString(f) {
|
|
5
|
+
var p = new Proxy({}, {
|
|
6
|
+
get: function (target, prop) {
|
|
7
|
+
return prop;
|
|
8
|
+
},
|
|
9
|
+
});
|
|
10
|
+
return f(p);
|
|
11
|
+
}
|
|
12
|
+
function getPropertyName(f) {
|
|
13
|
+
return getPropertyNameNotString(f).toString();
|
|
14
|
+
}
|
|
15
|
+
exports.getPropertyName = getPropertyName;
|
|
16
|
+
//# sourceMappingURL=get-property-name.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-property-name.js","sourceRoot":"","sources":["../../src/helpers/get-property-name.ts"],"names":[],"mappings":";;;AAAA,SAAS,wBAAwB,CAAC,CAAkB;IAClD,IAAM,CAAC,GAAG,IAAI,KAAK,CACjB,EAAE,EACF;QACE,GAAG,YAAC,MAAM,EAAE,IAAI;YACd,OAAO,IAAI,CAAA;QACb,CAAC;KACF,CACF,CAAA;IACD,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;AACb,CAAC;AAED,SAAgB,eAAe,CAAC,CAAkB;IAChD,OAAO,wBAAwB,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;AAC/C,CAAC;AAFD,0CAEC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
interface IAvailabilityGroupProduct {
|
|
2
|
+
id: string;
|
|
3
|
+
isIncluded: boolean;
|
|
4
|
+
}
|
|
5
|
+
declare const PriceDecisionNullificationHelper: {
|
|
6
|
+
didAvailabilityGroupProductsChange: (beforeProducts: IAvailabilityGroupProduct[], products: IAvailabilityGroupProduct[]) => boolean;
|
|
7
|
+
};
|
|
8
|
+
export default PriceDecisionNullificationHelper;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var didAvailabilityGroupProductsChange = function (beforeProducts, products) {
|
|
4
|
+
var didRemoveIncludedProducts = beforeProducts.some(function (bp) { return bp.isIncluded && !products.some(function (p) { return p.id === bp.id; }); });
|
|
5
|
+
var didAddIncludedProducts = products.some(function (p) { return p.isIncluded && !beforeProducts.some(function (bp) { return bp.id === p.id; }); });
|
|
6
|
+
return didRemoveIncludedProducts || didAddIncludedProducts;
|
|
7
|
+
};
|
|
8
|
+
var PriceDecisionNullificationHelper = {
|
|
9
|
+
didAvailabilityGroupProductsChange: didAvailabilityGroupProductsChange,
|
|
10
|
+
};
|
|
11
|
+
exports.default = PriceDecisionNullificationHelper;
|
|
12
|
+
//# sourceMappingURL=price-decision-helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"price-decision-helper.js","sourceRoot":"","sources":["../../../src/helpers/price-decision/price-decision-helper.ts"],"names":[],"mappings":";;AAKA,IAAM,kCAAkC,GAAG,UACzC,cAA2C,EAC3C,QAAqC;IAErC,IAAM,yBAAyB,GAAG,cAAc,CAAC,IAAI,CACnD,UAAC,EAAE,IAAK,OAAA,EAAE,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAd,CAAc,CAAC,EAAtD,CAAsD,CAC/D,CAAA;IACD,IAAM,sBAAsB,GAAG,QAAQ,CAAC,IAAI,CAC1C,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,UAAU,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAC,EAAE,IAAK,OAAA,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,EAAd,CAAc,CAAC,EAA5D,CAA4D,CACpE,CAAA;IAED,OAAO,yBAAyB,IAAI,sBAAsB,CAAA;AAC5D,CAAC,CAAA;AAED,IAAM,gCAAgC,GAAG;IACvC,kCAAkC,oCAAA;CACnC,CAAA;AAED,kBAAe,gCAAgC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|