@smartico/public-api 0.0.434 → 0.0.435

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/dist/index.js CHANGED
@@ -1328,7 +1328,8 @@ exports.BadgesTimeLimitStates = void 0;
1328
1328
  })(exports.BadgesTimeLimitStates || (exports.BadgesTimeLimitStates = {}));
1329
1329
 
1330
1330
  var _MissionUtils;
1331
- var USER_STATE_PARAMS_KEYS_GAMES = ['core_fav_game_top3', 'core_fav_game_type_top3', 'core_fav_game_provider_top3'];
1331
+ // tag -> favorites (top 3 arrays) that fill it; a task has at most one condition per tag (enforced in the BO)
1332
+ var FAV_TAGS = [['{{suggested_games}}', ['core_fav_game_top3', 'core_fav_game_type_top3', 'core_fav_game_provider_top3']], ['{{suggested_sport}}', ['core_fav_sport_type_top3', 'core_fav_sport_league_top3']]];
1332
1333
  var USER_STATE_PARAMS_KEYS_BET_AMOUNT = ['core_recommended_deposit_amount', 'core_recommended_casino_bet_amount', 'core_recommended_sport_bet_amount'];
1333
1334
  var MINOR_WORDS = new Set(['of', 'at', 'in', 'on', 'to', 'up', 'as', 'by', 'for', 'from', 'into', 'onto', 'with', 'upon', 'via', 'and', 'but', 'or', 'nor', 'so', 'yet', 'vs', 'v', 'a', 'an', 'the']);
1334
1335
  function toGameTitleCase(raw) {
@@ -1507,60 +1508,49 @@ MissionUtils.replaceTagsFavMissionTask = function (_ref) {
1507
1508
  }
1508
1509
  var userStateParams = task.user_state_params || {};
1509
1510
  var userStateOperator = (_task$task_public_met = task.task_public_meta) == null ? void 0 : _task$task_public_met.user_state_operations;
1510
- var userStateParamsKeys = Object.keys(userStateParams);
1511
- if (userStateParamsKeys.length === 0 || !userStateOperator) {
1511
+ if (Object.keys(userStateParams).length === 0 || !userStateOperator) {
1512
1512
  return result;
1513
1513
  }
1514
- var operatorsMulti = ['has', '!has'];
1515
- var operatorsPos = ['pos1', 'pos2', 'pos3'];
1516
- var suggestedGames = '';
1517
- var suggestedValue = '';
1518
- userStateParamsKeys.forEach(function (k) {
1514
+ var formatFav = function formatFav(v) {
1515
+ return toGameTitleCase(v.replace(/_/g, ' '));
1516
+ };
1517
+ // 'has' / '!has' -> all favorites, 'posN' -> the N-th one
1518
+ var favValue = function favValue(k) {
1519
1519
  var _userStateOperator$k;
1520
+ var values = userStateParams[k];
1520
1521
  var operator = (_userStateOperator$k = userStateOperator[k]) == null ? void 0 : _userStateOperator$k.op;
1521
- if (USER_STATE_PARAMS_KEYS_GAMES.includes(k)) {
1522
- if (operatorsMulti.includes(operator)) {
1523
- var _userStateParams$k;
1524
- var value = (_userStateParams$k = userStateParams[k]) == null ? void 0 : _userStateParams$k.filter(function (v) {
1525
- return Boolean(v);
1526
- });
1527
- if (value && value.length > 0) {
1528
- suggestedGames = value.map(function (v) {
1529
- var cleaned = v.replace(/_/g, ' ');
1530
- return toGameTitleCase(cleaned);
1531
- }).join(', ');
1532
- }
1533
- }
1534
- if (operatorsPos.includes(operator)) {
1535
- var _value = userStateParams[k];
1536
- var pos = Number(operator.replace('pos', '')) - 1;
1537
- if (IntUtils.isNotNull(pos) && _value && _value[pos]) {
1538
- suggestedGames = _value[pos];
1539
- if (suggestedGames) {
1540
- suggestedGames = toGameTitleCase(suggestedGames.replace(/_/g, ' '));
1541
- }
1542
- }
1543
- }
1522
+ if (!Array.isArray(values)) {
1523
+ return '';
1544
1524
  }
1545
- if (USER_STATE_PARAMS_KEYS_BET_AMOUNT.includes(k)) {
1546
- suggestedValue = userStateParams[k];
1547
- if (suggestedValue) {
1548
- var currencyFromTheTask = userStateParams == null ? void 0 : userStateParams.core_wallet_currency;
1549
- suggestedValue = suggestedValue + " " + (currencySymbol || currencyFromTheTask || '');
1550
- }
1525
+ if (operator === 'has' || operator === '!has') {
1526
+ return values.filter(Boolean).map(formatFav).join(', ');
1527
+ }
1528
+ var pos = /^pos[1-3]$/.test(operator) ? values[Number(operator.substring(3)) - 1] : null;
1529
+ return pos ? formatFav(pos) : '';
1530
+ };
1531
+ // split/join replaces every occurrence of the tag, not only the first one
1532
+ var replaceTag = function replaceTag(tag, value) {
1533
+ if (value && result) {
1534
+ result = result.split(tag).join(value);
1551
1535
  }
1536
+ };
1537
+ FAV_TAGS.forEach(function (_ref2) {
1538
+ var tag = _ref2[0],
1539
+ keys = _ref2[1];
1540
+ replaceTag(tag, keys.map(favValue).find(Boolean));
1552
1541
  });
1553
- if (suggestedGames && result) {
1554
- result = result.replace('{{suggested_games}}', suggestedGames);
1555
- }
1556
- if (suggestedValue && result) {
1557
- result = result.replace('{{suggested_value}}', suggestedValue);
1542
+ var amountKey = USER_STATE_PARAMS_KEYS_BET_AMOUNT.find(function (k) {
1543
+ return userStateParams[k];
1544
+ });
1545
+ if (amountKey) {
1546
+ var currencyFromTheTask = userStateParams.core_wallet_currency;
1547
+ replaceTag('{{suggested_value}}', userStateParams[amountKey] + " " + (currencySymbol || currencyFromTheTask || ''));
1558
1548
  }
1559
1549
  return result;
1560
1550
  };
1561
- MissionUtils.replaceFavGameNameTag = function (_ref2) {
1562
- var task = _ref2.task,
1563
- currencySymbol = _ref2.currencySymbol;
1551
+ MissionUtils.replaceFavGameNameTag = function (_ref3) {
1552
+ var task = _ref3.task,
1553
+ currencySymbol = _ref3.currencySymbol;
1564
1554
  if (task && task.task_public_meta && task.task_public_meta.name) {
1565
1555
  task.task_public_meta.name = _MissionUtils.replaceTagsFavMissionTask({
1566
1556
  task: task,
@@ -1633,19 +1623,19 @@ var UserAchievementTransform = function UserAchievementTransform(items) {
1633
1623
  if ((_r$ach_public_meta$na = r.ach_public_meta.name) != null && _r$ach_public_meta$na.includes('{{suggested_')) {
1634
1624
  missionName = MissionUtils.replaceTagsFavMissionTask({
1635
1625
  task: t,
1636
- valueToReplace: r.ach_public_meta.name
1626
+ valueToReplace: missionName
1637
1627
  });
1638
1628
  }
1639
1629
  if ((_r$ach_public_meta$su = r.ach_public_meta.sub_header) != null && _r$ach_public_meta$su.includes('{{suggested_')) {
1640
1630
  missionSubHeader = MissionUtils.replaceTagsFavMissionTask({
1641
1631
  task: t,
1642
- valueToReplace: r.ach_public_meta.sub_header
1632
+ valueToReplace: missionSubHeader
1643
1633
  });
1644
1634
  }
1645
1635
  if ((_r$ach_public_meta$de = r.ach_public_meta.description) != null && _r$ach_public_meta$de.includes('{{suggested_')) {
1646
1636
  missionDescription = MissionUtils.replaceTagsFavMissionTask({
1647
1637
  task: t,
1648
- valueToReplace: r.ach_public_meta.description
1638
+ valueToReplace: missionDescription
1649
1639
  });
1650
1640
  }
1651
1641
  });