@veloceapps/sdk 6.0.0-29 → 6.0.0-30

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.
@@ -670,46 +670,28 @@
670
670
  }
671
671
  return Object.assign(Object.assign({}, lineItem), { lineItems: lineItem.lineItems.map(function (li) { return replaceLineItem(li, replaceTo); }) });
672
672
  };
673
+ var calculateCardinalityVariables = function (lineItems) {
674
+ var cardVars = new Map();
675
+ lineItems.forEach(function (li) {
676
+ var _a;
677
+ var cardinalityVariableName = "#CV-" + li.type + "@" + li.port;
678
+ cardVars.set(cardinalityVariableName, ((_a = cardVars.get(cardinalityVariableName)) !== null && _a !== void 0 ? _a : 0) + li.qty);
679
+ });
680
+ return cardVars;
681
+ };
673
682
  var recalculateCardinalityVariables = function (original, updated) {
674
- var e_1, _c, e_2, _d;
675
- var _a;
676
- var cardinalityVariables = new Map();
677
- try {
678
- for (var _e = __values(updated.lineItems), _f = _e.next(); !_f.done; _f = _e.next()) {
679
- var li = _f.value;
680
- var cardinalityVariableName = "#CV-" + li.type + "@" + li.port;
681
- cardinalityVariables.set(cardinalityVariableName, ((_a = cardinalityVariables.get(cardinalityVariableName)) !== null && _a !== void 0 ? _a : 0) + li.qty);
682
- }
683
- }
684
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
685
- finally {
686
- try {
687
- if (_f && !_f.done && (_c = _e.return)) _c.call(_e);
688
- }
689
- finally { if (e_1) throw e_1.error; }
690
- }
691
- var _loop_1 = function (li) {
692
- if (updated.lineItems.some(function (_c) {
693
- var id = _c.id, qty = _c.qty;
694
- return li.id === id && li.qty === qty;
695
- })) {
696
- var cardinalityVariableName = "#CV-" + li.type + "@" + li.port;
697
- cardinalityVariables.delete(cardinalityVariableName);
683
+ var cardinalityVariables = calculateCardinalityVariables(updated.lineItems);
684
+ var originalCardinalityVariables = calculateCardinalityVariables(original.lineItems);
685
+ originalCardinalityVariables.forEach(function (value, key) {
686
+ if (cardinalityVariables.get(key) === value) {
687
+ // no need to update cardinality if no changes
688
+ cardinalityVariables.delete(key);
698
689
  }
699
- };
700
- try {
701
- for (var _g = __values(original.lineItems), _h = _g.next(); !_h.done; _h = _g.next()) {
702
- var li = _h.value;
703
- _loop_1(li);
690
+ else if (!cardinalityVariables.has(key)) {
691
+ // remove last item from port
692
+ cardinalityVariables.set(key, 0);
704
693
  }
705
- }
706
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
707
- finally {
708
- try {
709
- if (_h && !_h.done && (_d = _g.return)) _d.call(_g);
710
- }
711
- finally { if (e_2) throw e_2.error; }
712
- }
694
+ });
713
695
  return Object.assign(Object.assign({}, updated), { attributes: upsertAttributes(updated.attributes, __spreadArray([], __read(cardinalityVariables)).map(function (_c) {
714
696
  var _d = __read(_c, 2), name = _d[0], value = _d[1];
715
697
  return ({ name: name, value: value });
@@ -803,6 +785,7 @@
803
785
  insertLineItem: insertLineItem,
804
786
  removeLineItem: removeLineItem,
805
787
  replaceLineItem: replaceLineItem,
788
+ calculateCardinalityVariables: calculateCardinalityVariables,
806
789
  recalculateCardinalityVariables: recalculateCardinalityVariables,
807
790
  mapAttributes: mapAttributes,
808
791
  getAttributes: getAttributes,
@@ -1871,6 +1854,7 @@
1871
1854
  exports.ProductImagesService = ProductImagesService;
1872
1855
  exports.QuoteDraftService = QuoteDraftService;
1873
1856
  exports.SdkCoreModule = SdkCoreModule;
1857
+ exports.calculateCardinalityVariables = calculateCardinalityVariables;
1874
1858
  exports.findLineItem = findLineItem;
1875
1859
  exports.findLineItemWithComparator = findLineItemWithComparator;
1876
1860
  exports.generateLineItem = generateLineItem;