@crystaldesign/web-planner-logic 26.2.0-beta.23 → 26.2.0-beta.25
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/cjs/{DivaBoxPlanner-a66ce9d1.js → DivaBoxPlanner-df0b453b.js} +50 -12
- package/build/cjs/{DivaStandardPlanner-77a5e301.js → DivaStandardPlanner-1b665813.js} +2 -2
- package/build/cjs/{DoorPlanner-89700edc.js → DoorPlanner-66f892cb.js} +1 -1
- package/build/cjs/{Host3DSignalR-99f11264.js → Host3DSignalR-8023855a.js} +1 -1
- package/build/cjs/{LiviqueWWSHandler-98b7f73d.js → LiviqueWWSHandler-bc8c8ec7.js} +1 -1
- package/build/cjs/{PfisterWWSHandler-7dda5a72.js → PfisterWWSHandler-cd33c411.js} +1 -1
- package/build/cjs/{PlannerHandler2D-4066fdc1.js → PlannerHandler2D-702a159f.js} +1 -1
- package/build/cjs/{SeriousBasketHandler-602cd36a.js → SeriousBasketHandler-ad7f48d7.js} +6 -5
- package/build/cjs/{ShelfPlanner-0565d816.js → ShelfPlanner-59a11de8.js} +1 -1
- package/build/cjs/{StandardWWSHandler-3dfbd89e.js → StandardWWSHandler-2bf7b639.js} +1 -1
- package/build/cjs/{index-0debae7d.js → index-00333aff.js} +117 -88
- package/build/cjs/index.js +1 -1
- package/build/esm/{DivaBoxPlanner-f8ba2020.js → DivaBoxPlanner-5b5b24e4.js} +50 -12
- package/build/esm/{DivaStandardPlanner-e74d3fde.js → DivaStandardPlanner-25c8052f.js} +2 -2
- package/build/esm/{DoorPlanner-fe736ecc.js → DoorPlanner-22babadf.js} +1 -1
- package/build/esm/{Host3DSignalR-e68978c9.js → Host3DSignalR-18106435.js} +1 -1
- package/build/esm/{LiviqueWWSHandler-85b46aa1.js → LiviqueWWSHandler-bddfda35.js} +1 -1
- package/build/esm/{PfisterWWSHandler-c887783d.js → PfisterWWSHandler-967fefd7.js} +1 -1
- package/build/esm/{PlannerHandler2D-e41e2703.js → PlannerHandler2D-8e34289b.js} +1 -1
- package/build/esm/{SeriousBasketHandler-6a9b1362.js → SeriousBasketHandler-f6f6b367.js} +6 -5
- package/build/esm/{ShelfPlanner-d0329b62.js → ShelfPlanner-700acad3.js} +1 -1
- package/build/esm/{StandardWWSHandler-9b9b34a2.js → StandardWWSHandler-a282f0a3.js} +1 -1
- package/build/esm/{index-0b26db6e.js → index-7a363a4c.js} +117 -88
- package/build/esm/index.js +1 -1
- package/build/types/web-planner-logic/src/interface/IDM/ArticleApi.d.ts +3 -0
- package/build/types/web-planner-logic/src/interface/IDM/ArticleApi.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Article/Engine/IDMArticleEngine.d.ts +1 -1
- package/build/types/web-planner-logic/src/logic/Article/Engine/IDMArticleEngine.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Basket/SeriousBasketHandler.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/ConfigTree/DivaConfigTreeHandler.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/ConfigTree/SummaryHandler.d.ts +1 -1
- package/build/types/web-planner-logic/src/logic/ConfigTree/SummaryHandler.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Planner/BoxPlanner/ConstructionRulesHandler.d.ts +1 -0
- package/build/types/web-planner-logic/src/logic/Planner/BoxPlanner/ConstructionRulesHandler.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/model/Catalog/IDMCatalogData.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -5,11 +5,11 @@ var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
|
|
|
5
5
|
var _createClass = require('@babel/runtime/helpers/createClass');
|
|
6
6
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
7
7
|
var _regeneratorRuntime = require('@babel/runtime/regenerator');
|
|
8
|
-
var index = require('./index-
|
|
8
|
+
var index = require('./index-00333aff.js');
|
|
9
9
|
var DivaUtils = require('@crystaldesign/diva-utils');
|
|
10
10
|
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
11
11
|
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
12
|
-
var PlannerHandler2D = require('./PlannerHandler2D-
|
|
12
|
+
var PlannerHandler2D = require('./PlannerHandler2D-702a159f.js');
|
|
13
13
|
require('@babel/runtime/helpers/objectWithoutProperties');
|
|
14
14
|
require('axios');
|
|
15
15
|
require('@crystaldesign/basket-model');
|
|
@@ -3182,6 +3182,43 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
3182
3182
|
return this.constructionRulesLoaded;
|
|
3183
3183
|
}
|
|
3184
3184
|
|
|
3185
|
+
/* This is a hardcoded System4/Quadro functionality
|
|
3186
|
+
* we need a aussenblech on the side of every door side
|
|
3187
|
+
* but not if the neighbor door has the same shared side -> then we do not
|
|
3188
|
+
* need any
|
|
3189
|
+
*/
|
|
3190
|
+
}, {
|
|
3191
|
+
key: "correctAussenblech",
|
|
3192
|
+
value: function correctAussenblech(boxPlannerGrid, optionHandler, curElementId) {
|
|
3193
|
+
if (boxPlannerGrid.getForceSingleCellPerElement()) {
|
|
3194
|
+
var right = boxPlannerGrid.getNeighborElements(curElementId, "RIGHT");
|
|
3195
|
+
var left = boxPlannerGrid.getNeighborElements(curElementId, "LEFT");
|
|
3196
|
+
var curopt = this.getOptionVal(curElementId, "OPTTUER", optionHandler);
|
|
3197
|
+
if (right.length > 0 && curopt) {
|
|
3198
|
+
var rightopt = this.getOptionVal(right[0].ElementId, "OPTTUER", optionHandler);
|
|
3199
|
+
if (rightopt && rightopt == 'OPVLINKS' && curopt == 'OPVRECHTS') {
|
|
3200
|
+
optionHandler.get(curElementId).set('OPTAUSSENBLECH_RECHTS', 'OPVOHNE');
|
|
3201
|
+
optionHandler.get(curElementId).set('OPTAUSSENBLECH_LINKS', 'OPVOHNE');
|
|
3202
|
+
}
|
|
3203
|
+
if (rightopt && rightopt == 'OPVRECHTS' && curopt == 'OPVLINKS') {
|
|
3204
|
+
optionHandler.get(curElementId).set('OPTAUSSENBLECH_LINKS', 'OPVOHNE');
|
|
3205
|
+
optionHandler.get(curElementId).set('OPTAUSSENBLECH_RECHTS', 'OPVOHNE');
|
|
3206
|
+
}
|
|
3207
|
+
}
|
|
3208
|
+
if (left.length > 0 && curopt) {
|
|
3209
|
+
var leftopt = this.getOptionVal(left[0].ElementId, "OPTTUER", optionHandler);
|
|
3210
|
+
if (leftopt && leftopt == 'OPVLINKS' && curopt == 'OPVRECHTS') {
|
|
3211
|
+
optionHandler.get(curElementId).set('OPTAUSSENBLECH_LINKS', 'OPVOHNE');
|
|
3212
|
+
optionHandler.get(curElementId).set('OPTAUSSENBLECH_RECHTS', 'OPVOHNE');
|
|
3213
|
+
}
|
|
3214
|
+
if (leftopt && leftopt == 'OPVRECHTS' && curopt == 'OPVLINKS') {
|
|
3215
|
+
optionHandler.get(curElementId).set('OPTAUSSENBLECH_LINKS', 'OPVOHNE');
|
|
3216
|
+
optionHandler.get(curElementId).set('OPTAUSSENBLECH_RECHTS', 'OPVOHNE');
|
|
3217
|
+
}
|
|
3218
|
+
}
|
|
3219
|
+
}
|
|
3220
|
+
}
|
|
3221
|
+
|
|
3185
3222
|
//Die gleiche Option kann sowohl nach rechts als auch nach oben gesetzt werden (Rahmen rechts oben). Wenn das der Fall ist, darf wenn es rechts keinen Nachbarn gibt nicht mit doShow überschrieben werden, wenn es vorher bei TOP versteckt wurde
|
|
3186
3223
|
//Deshalb darf es nicht angeschalten werden, wenn es in der gleichen Runde ausgeschalten wurde
|
|
3187
3224
|
/*
|
|
@@ -3330,13 +3367,13 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
3330
3367
|
i = 0;
|
|
3331
3368
|
case 55:
|
|
3332
3369
|
if (!(i < boxPlannerGrid.getColumnCount())) {
|
|
3333
|
-
_context.next =
|
|
3370
|
+
_context.next = 69;
|
|
3334
3371
|
break;
|
|
3335
3372
|
}
|
|
3336
3373
|
j = 0;
|
|
3337
3374
|
case 57:
|
|
3338
3375
|
if (!(j < boxPlannerGrid.getRowCount(i, false))) {
|
|
3339
|
-
_context.next =
|
|
3376
|
+
_context.next = 66;
|
|
3340
3377
|
break;
|
|
3341
3378
|
}
|
|
3342
3379
|
_elementId2 = (_boxPlannerGrid$getPl4 = boxPlannerGrid.getPlannerElementAtGridPos(i, j, false)) === null || _boxPlannerGrid$getPl4 === void 0 ? void 0 : _boxPlannerGrid$getPl4.getElementId();
|
|
@@ -3344,26 +3381,27 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
3344
3381
|
_context.next = 61;
|
|
3345
3382
|
break;
|
|
3346
3383
|
}
|
|
3347
|
-
return _context.abrupt("continue",
|
|
3384
|
+
return _context.abrupt("continue", 63);
|
|
3348
3385
|
case 61:
|
|
3349
3386
|
this.correctBack(boxPlannerGrid, optionHandler, _elementId2);
|
|
3350
|
-
|
|
3387
|
+
this.correctAussenblech(boxPlannerGrid, optionHandler, _elementId2);
|
|
3388
|
+
case 63:
|
|
3351
3389
|
j++;
|
|
3352
3390
|
_context.next = 57;
|
|
3353
3391
|
break;
|
|
3354
|
-
case
|
|
3392
|
+
case 66:
|
|
3355
3393
|
i++;
|
|
3356
3394
|
_context.next = 55;
|
|
3357
3395
|
break;
|
|
3358
|
-
case
|
|
3396
|
+
case 69:
|
|
3359
3397
|
doChangeRetailArticleNumbers = this.doChangeRetailArticleNumbers(boxPlannerGrid, optionHandler);
|
|
3360
|
-
_context.next =
|
|
3398
|
+
_context.next = 72;
|
|
3361
3399
|
return this.updateCfgValuesByPlanner(optionHandler, undefined, this.constructionRules.partlistRules.bundleRules, doChangeRetailArticleNumbers);
|
|
3362
|
-
case
|
|
3400
|
+
case 72:
|
|
3363
3401
|
LOG$2.debug('BoxPlanner updateOptionLogic - Duration after setting Option Values of all Articles: ' + (new Date().getTime() - startTime));
|
|
3364
3402
|
LOG$2.debug('BoxPlanner updateOptionLogic - Duration after setting updating configurator: ' + (new Date().getTime() - startTime));
|
|
3365
3403
|
return _context.abrupt("return", resultMessage);
|
|
3366
|
-
case
|
|
3404
|
+
case 75:
|
|
3367
3405
|
case "end":
|
|
3368
3406
|
return _context.stop();
|
|
3369
3407
|
}
|
|
@@ -4207,7 +4245,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4207
4245
|
});
|
|
4208
4246
|
break;
|
|
4209
4247
|
case 'LEFT':
|
|
4210
|
-
for (var _x2 = plannedElement.area.fromX - 1; _x2
|
|
4248
|
+
for (var _x2 = plannedElement.area.fromX - 1; _x2 >= 0;) {
|
|
4211
4249
|
var _neighbourRow = curGrid[_x2];
|
|
4212
4250
|
for (var _y2 = 0; _y2 < _neighbourRow.length;) {
|
|
4213
4251
|
var _cell6$plannedElement, _cell6$plannedElement2;
|
|
@@ -5,9 +5,9 @@ var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
|
|
|
5
5
|
var _createClass = require('@babel/runtime/helpers/createClass');
|
|
6
6
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
7
7
|
var _regeneratorRuntime = require('@babel/runtime/regenerator');
|
|
8
|
-
var index = require('./index-
|
|
8
|
+
var index = require('./index-00333aff.js');
|
|
9
9
|
var DivaUtils = require('@crystaldesign/diva-utils');
|
|
10
|
-
var PlannerHandler2D = require('./PlannerHandler2D-
|
|
10
|
+
var PlannerHandler2D = require('./PlannerHandler2D-702a159f.js');
|
|
11
11
|
require('@babel/runtime/helpers/slicedToArray');
|
|
12
12
|
require('@babel/runtime/helpers/objectWithoutProperties');
|
|
13
13
|
require('@babel/runtime/helpers/toConsumableArray');
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
|
|
4
4
|
var _createClass = require('@babel/runtime/helpers/createClass');
|
|
5
5
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
6
|
-
require('./index-
|
|
6
|
+
require('./index-00333aff.js');
|
|
7
7
|
var DivaUtils = require('@crystaldesign/diva-utils');
|
|
8
8
|
require('@babel/runtime/helpers/slicedToArray');
|
|
9
9
|
require('@babel/runtime/helpers/asyncToGenerator');
|
|
@@ -5,7 +5,7 @@ var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
|
|
|
5
5
|
var _createClass = require('@babel/runtime/helpers/createClass');
|
|
6
6
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
7
7
|
var _regeneratorRuntime = require('@babel/runtime/regenerator');
|
|
8
|
-
var index = require('./index-
|
|
8
|
+
var index = require('./index-00333aff.js');
|
|
9
9
|
var DivaUtils = require('@crystaldesign/diva-utils');
|
|
10
10
|
var signalr = require('@microsoft/signalr');
|
|
11
11
|
var io = require('socket.io-client');
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
|
|
4
4
|
var _createClass = require('@babel/runtime/helpers/createClass');
|
|
5
|
-
require('./index-
|
|
5
|
+
require('./index-00333aff.js');
|
|
6
6
|
require('@babel/runtime/helpers/slicedToArray');
|
|
7
7
|
require('@babel/runtime/helpers/asyncToGenerator');
|
|
8
8
|
require('@babel/runtime/helpers/defineProperty');
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
|
|
4
4
|
var _createClass = require('@babel/runtime/helpers/createClass');
|
|
5
|
-
var index = require('./index-
|
|
5
|
+
var index = require('./index-00333aff.js');
|
|
6
6
|
var basketModel = require('@crystaldesign/basket-model');
|
|
7
7
|
var DivaUtils = require('@crystaldesign/diva-utils');
|
|
8
8
|
require('@babel/runtime/helpers/slicedToArray');
|
|
@@ -5,7 +5,7 @@ var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
|
|
|
5
5
|
var _createClass = require('@babel/runtime/helpers/createClass');
|
|
6
6
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
7
7
|
var _regeneratorRuntime = require('@babel/runtime/regenerator');
|
|
8
|
-
var index = require('./index-
|
|
8
|
+
var index = require('./index-00333aff.js');
|
|
9
9
|
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
10
10
|
var fabric = require('fabric');
|
|
11
11
|
var DivaUtils = require('@crystaldesign/diva-utils');
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
|
|
4
4
|
var _createClass = require('@babel/runtime/helpers/createClass');
|
|
5
5
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
6
|
-
var index = require('./index-
|
|
6
|
+
var index = require('./index-00333aff.js');
|
|
7
7
|
var DivaUtils = require('@crystaldesign/diva-utils');
|
|
8
8
|
require('@babel/runtime/helpers/slicedToArray');
|
|
9
9
|
require('@babel/runtime/helpers/asyncToGenerator');
|
|
@@ -54,6 +54,7 @@ var StandardWWSHandler = /*#__PURE__*/function () {
|
|
|
54
54
|
}
|
|
55
55
|
var articles = set.getDivaArticles();
|
|
56
56
|
var groupedPartlistArticles = [];
|
|
57
|
+
var usedOptionCodexes = [];
|
|
57
58
|
var posNr = 1;
|
|
58
59
|
for (var iKey in articles) {
|
|
59
60
|
var article = articles[iKey];
|
|
@@ -134,7 +135,7 @@ var StandardWWSHandler = /*#__PURE__*/function () {
|
|
|
134
135
|
var tabGroup = (_article$getArticleOp3 = (_article$getArticleOp4 = article.getArticleOptionState((!isIDM ? 'OPT' : '') + partListArticle.tabGroup)) === null || _article$getArticleOp4 === void 0 ? void 0 : _article$getArticleOp4.optionTabGroup) !== null && _article$getArticleOp3 !== void 0 ? _article$getArticleOp3 : partListArticle.tabGroup;
|
|
135
136
|
var fountEntry = partListOrderLines.find(function (item) {
|
|
136
137
|
var _item$FormattedOption, _item$FormattedOption2, _this$getFormattedOpt;
|
|
137
|
-
return item.Name == partListArticle.name && item.ArticleNr == partListArticle.configArticleCodex && ((_item$FormattedOption = item.FormattedOptions) === null || _item$FormattedOption === void 0 ? void 0 : _item$FormattedOption[0]) && ((_item$FormattedOption2 = item.FormattedOptions) === null || _item$FormattedOption2 === void 0 ? void 0 : _item$FormattedOption2[0].Title) == ((_this$getFormattedOpt = _this.getFormattedOptions(partListArticle, article, [], '')) === null || _this$getFormattedOpt === void 0 ? void 0 : _this$getFormattedOpt[0].Title);
|
|
138
|
+
return item.Name == partListArticle.name && item.ArticleNr == partListArticle.configArticleCodex && ((_item$FormattedOption = item.FormattedOptions) === null || _item$FormattedOption === void 0 ? void 0 : _item$FormattedOption[0]) && ((_item$FormattedOption2 = item.FormattedOptions) === null || _item$FormattedOption2 === void 0 ? void 0 : _item$FormattedOption2[0].Title) == ((_this$getFormattedOpt = _this.getFormattedOptions(partListArticle, article, [], '', usedOptionCodexes)) === null || _this$getFormattedOpt === void 0 ? void 0 : _this$getFormattedOpt[0].Title);
|
|
138
139
|
});
|
|
139
140
|
if (fountEntry) {
|
|
140
141
|
fountEntry.Quantity = fountEntry.Quantity + partListArticle.quantity;
|
|
@@ -147,7 +148,7 @@ var StandardWWSHandler = /*#__PURE__*/function () {
|
|
|
147
148
|
finalPosNr = _this$getFinalPosNr.finalPosNr,
|
|
148
149
|
newPosNrCount = _this$getFinalPosNr.newPosNrCount;
|
|
149
150
|
posNrCount = newPosNrCount;
|
|
150
|
-
var formattedOptions = _this.getFormattedOptions(partListArticle, article, colorCodices, finalPosNr);
|
|
151
|
+
var formattedOptions = _this.getFormattedOptions(partListArticle, article, colorCodices, finalPosNr, usedOptionCodexes);
|
|
151
152
|
partListOrderLines.push({
|
|
152
153
|
ArticleNr: (_partListArticle$conf = partListArticle.configArticleCodex) !== null && _partListArticle$conf !== void 0 && _partListArticle$conf.startsWith('HIDE_CODEX') ? '' : (_partListArticle$conf2 = partListArticle.configArticleCodex) !== null && _partListArticle$conf2 !== void 0 ? _partListArticle$conf2 : partListArticle.articleCodex,
|
|
153
154
|
ColorCodices: colorCodices,
|
|
@@ -275,10 +276,10 @@ var StandardWWSHandler = /*#__PURE__*/function () {
|
|
|
275
276
|
}
|
|
276
277
|
}, {
|
|
277
278
|
key: "getFormattedOptions",
|
|
278
|
-
value: function getFormattedOptions(partListArticle, article, colorCodices, finalPosNr) {
|
|
279
|
+
value: function getFormattedOptions(partListArticle, article, colorCodices, finalPosNr, usedOptionCodexes) {
|
|
279
280
|
var formattedOptions = [];
|
|
280
281
|
if (partListArticle.tabGroup && partListArticle.tabGroupOption) {
|
|
281
|
-
var optionStates = index.summaryHandlerInstance.getOptionCodexesOfTabGroupForSummary(article, partListArticle);
|
|
282
|
+
var optionStates = index.summaryHandlerInstance.getOptionCodexesOfTabGroupForSummary(article, partListArticle, usedOptionCodexes, finalPosNr == '');
|
|
282
283
|
for (var i = 0; i < optionStates.length; i++) {
|
|
283
284
|
var optionState = optionStates[i];
|
|
284
285
|
if (optionState.optionCodex.startsWith('OPTBE_') || optionState.optionCodex.startsWith('OPTAB_') || optionState.option.addToWWS) {
|
|
@@ -6,7 +6,7 @@ var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
|
|
|
6
6
|
var _createClass = require('@babel/runtime/helpers/createClass');
|
|
7
7
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
8
8
|
var _regeneratorRuntime = require('@babel/runtime/regenerator');
|
|
9
|
-
var index = require('./index-
|
|
9
|
+
var index = require('./index-00333aff.js');
|
|
10
10
|
var DivaUtils = require('@crystaldesign/diva-utils');
|
|
11
11
|
require('@babel/runtime/helpers/slicedToArray');
|
|
12
12
|
require('@babel/runtime/helpers/objectWithoutProperties');
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
|
|
4
4
|
var _createClass = require('@babel/runtime/helpers/createClass');
|
|
5
|
-
require('./index-
|
|
5
|
+
require('./index-00333aff.js');
|
|
6
6
|
require('@babel/runtime/helpers/slicedToArray');
|
|
7
7
|
require('@babel/runtime/helpers/asyncToGenerator');
|
|
8
8
|
require('@babel/runtime/helpers/defineProperty');
|