@smartico/public-api 0.0.110 → 0.0.112

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
@@ -402,7 +402,7 @@ var OCache = /*#__PURE__*/function () {
402
402
  OCache.get = function get(oKey, cacheContext) {
403
403
  var key = cacheContext.toString() + '_' + JSON.stringify(oKey);
404
404
  this.init(cacheContext);
405
- return this.cache[cacheContext].get(key);
405
+ return deepClone(this.cache[cacheContext].get(key));
406
406
  };
407
407
  OCache.set = function set(oKey, o, cacheContext, ttlSeconds) {
408
408
  if (ttlSeconds === void 0) {
@@ -410,7 +410,7 @@ var OCache = /*#__PURE__*/function () {
410
410
  }
411
411
  var key = cacheContext.toString() + '_' + JSON.stringify(oKey);
412
412
  this.init(cacheContext);
413
- this.cache[cacheContext].set(key, o, ttlSeconds);
413
+ this.cache[cacheContext].set(key, deepClone(o), ttlSeconds);
414
414
  };
415
415
  OCache.use = function use(oKey, cacheContext, f, ttlSeconds) {
416
416
  if (ttlSeconds === void 0) {
@@ -451,6 +451,12 @@ var OCache = /*#__PURE__*/function () {
451
451
  return OCache;
452
452
  }();
453
453
  OCache.cache = {};
454
+ var deepClone = function deepClone(o) {
455
+ if (o) {
456
+ return JSON.parse(JSON.stringify(o));
457
+ }
458
+ return o;
459
+ };
454
460
 
455
461
  exports.ActivityTypeLimited = void 0;
456
462
  (function (ActivityTypeLimited) {
@@ -620,6 +626,7 @@ var StoreItemTransform = function StoreItemTransform(items) {
620
626
  limit_message: r.itemPublicMeta.limit_message,
621
627
  priority: r.itemPublicMeta.priority,
622
628
  related_item_ids: r.itemPublicMeta.related_items,
629
+ hint_text: r.itemPublicMeta.hint_text,
623
630
  type: (_StoreItemType$Bonus$ = {}, _StoreItemType$Bonus$[exports.StoreItemType.Bonus] = 'bonus', _StoreItemType$Bonus$[exports.StoreItemType.Manual] = 'manual', _StoreItemType$Bonus$)[r.itemTypeId],
624
631
  can_buy: r.canBuy,
625
632
  category_ids: (_r$categoryIds = r.categoryIds) != null ? _r$categoryIds : [],
@@ -656,10 +663,11 @@ var UserAchievementTransform = function UserAchievementTransform(items) {
656
663
  return r.ach_id >= 1;
657
664
  }).map(function (r) {
658
665
  var _r$ach_categories;
659
- return {
666
+ var x = {
660
667
  id: r.ach_id,
661
668
  name: r.ach_public_meta.name,
662
669
  description: r.ach_public_meta.description,
670
+ hint_text: r.ach_public_meta.hint_text,
663
671
  unlock_mission_description: r.ach_public_meta.unlock_mission_description,
664
672
  image: r.ach_public_meta.image_url,
665
673
  is_completed: r.isCompleted,
@@ -703,6 +711,7 @@ var UserAchievementTransform = function UserAchievementTransform(items) {
703
711
  }),
704
712
  category_ids: (_r$ach_categories = r.ach_categories) != null ? _r$ach_categories : []
705
713
  };
714
+ return x;
706
715
  });
707
716
  };
708
717
 
@@ -951,8 +960,16 @@ exports.TournamentType = void 0;
951
960
  TournamentType[TournamentType["TEST"] = 3] = "TEST";
952
961
  })(exports.TournamentType || (exports.TournamentType = {}));
953
962
 
963
+ exports.LeaderBoardPeriodType = void 0;
964
+ (function (LeaderBoardPeriodType) {
965
+ LeaderBoardPeriodType[LeaderBoardPeriodType["DAILY"] = 1] = "DAILY";
966
+ LeaderBoardPeriodType[LeaderBoardPeriodType["WEEKLY"] = 2] = "WEEKLY";
967
+ LeaderBoardPeriodType[LeaderBoardPeriodType["MONTHLY"] = 3] = "MONTHLY";
968
+ })(exports.LeaderBoardPeriodType || (exports.LeaderBoardPeriodType = {}));
969
+
954
970
  var GetLevelMapResponseTransform = function GetLevelMapResponseTransform(levels) {
955
971
  return levels == null ? void 0 : levels.levels.map(function (l) {
972
+ var _l$level_public_meta;
956
973
  return {
957
974
  id: l.level_id,
958
975
  name: l.level_public_meta.name,
@@ -961,7 +978,8 @@ var GetLevelMapResponseTransform = function GetLevelMapResponseTransform(levels)
961
978
  required_points: l.required_points,
962
979
  visibility_points: parseInt(l.level_public_meta.visibility_points),
963
980
  required_level_counter_1: l.required_level_counter_1,
964
- required_level_counter_2: l.required_level_counter_2
981
+ required_level_counter_2: l.required_level_counter_2,
982
+ custom_data: IntUtils.JsonOrText((_l$level_public_meta = l.level_public_meta) == null ? void 0 : _l$level_public_meta.custom_data)
965
983
  };
966
984
  });
967
985
  };
@@ -975,6 +993,12 @@ var onUpdateContextKey;
975
993
  onUpdateContextKey["Missions"] = "missions";
976
994
  onUpdateContextKey["TournamentList"] = "tournamentList";
977
995
  onUpdateContextKey["InboxMessages"] = "inboxMessages";
996
+ onUpdateContextKey["Badges"] = "badges";
997
+ onUpdateContextKey["Levels"] = "levels";
998
+ onUpdateContextKey["StoreItems"] = "storeItems";
999
+ onUpdateContextKey["StoreCategories"] = "storeCategories";
1000
+ onUpdateContextKey["AchCategories"] = "achCategories";
1001
+ onUpdateContextKey["LeaderBoards"] = "leaderBoards";
978
1002
  })(onUpdateContextKey || (onUpdateContextKey = {}));
979
1003
  /** @group General API */
980
1004
  var WSAPI = /*#__PURE__*/function () {
@@ -1027,7 +1051,9 @@ var WSAPI = /*#__PURE__*/function () {
1027
1051
  _proto.getLevels = function getLevels() {
1028
1052
  try {
1029
1053
  var _this2 = this;
1030
- return Promise.resolve(_this2.api.levelsGetT(null));
1054
+ return Promise.resolve(OCache.use(onUpdateContextKey.Levels, ECacheContext.WSAPI, function () {
1055
+ return _this2.api.levelsGetT(null);
1056
+ }, CACHE_DATA_SEC));
1031
1057
  } catch (e) {
1032
1058
  return Promise.reject(e);
1033
1059
  }
@@ -1057,7 +1083,9 @@ var WSAPI = /*#__PURE__*/function () {
1057
1083
  _proto.getBadges = function getBadges() {
1058
1084
  try {
1059
1085
  var _this4 = this;
1060
- return Promise.resolve(_this4.api.badgetsGetItemsT(null));
1086
+ return Promise.resolve(OCache.use(onUpdateContextKey.Badges, ECacheContext.WSAPI, function () {
1087
+ return _this4.api.badgetsGetItemsT(null);
1088
+ }, CACHE_DATA_SEC));
1061
1089
  } catch (e) {
1062
1090
  return Promise.reject(e);
1063
1091
  }
@@ -1065,7 +1093,9 @@ var WSAPI = /*#__PURE__*/function () {
1065
1093
  _proto.getStoreItems = function getStoreItems() {
1066
1094
  try {
1067
1095
  var _this5 = this;
1068
- return Promise.resolve(_this5.api.storeGetItemsT(null));
1096
+ return Promise.resolve(OCache.use(onUpdateContextKey.StoreItems, ECacheContext.WSAPI, function () {
1097
+ return _this5.api.storeGetItemsT(null);
1098
+ }, CACHE_DATA_SEC));
1069
1099
  } catch (e) {
1070
1100
  return Promise.reject(e);
1071
1101
  }
@@ -1087,7 +1117,9 @@ var WSAPI = /*#__PURE__*/function () {
1087
1117
  _proto.getStoreCategories = function getStoreCategories() {
1088
1118
  try {
1089
1119
  var _this7 = this;
1090
- return Promise.resolve(_this7.api.storeGetCategoriesT(null));
1120
+ return Promise.resolve(OCache.use(onUpdateContextKey.StoreCategories, ECacheContext.WSAPI, function () {
1121
+ return _this7.api.storeGetCategoriesT(null);
1122
+ }, CACHE_DATA_SEC));
1091
1123
  } catch (e) {
1092
1124
  return Promise.reject(e);
1093
1125
  }
@@ -1095,7 +1127,9 @@ var WSAPI = /*#__PURE__*/function () {
1095
1127
  _proto.getAchCategories = function getAchCategories() {
1096
1128
  try {
1097
1129
  var _this8 = this;
1098
- return Promise.resolve(_this8.api.achGetCategoriesT(null));
1130
+ return Promise.resolve(OCache.use(onUpdateContextKey.AchCategories, ECacheContext.WSAPI, function () {
1131
+ return _this8.api.achGetCategoriesT(null);
1132
+ }, CACHE_DATA_SEC));
1099
1133
  } catch (e) {
1100
1134
  return Promise.reject(e);
1101
1135
  }
@@ -1197,6 +1231,20 @@ var WSAPI = /*#__PURE__*/function () {
1197
1231
  return Promise.reject(e);
1198
1232
  }
1199
1233
  }
1234
+ /** Returns the leaderboard for the current type (default is Daily). If getPreviousPeriod is passed as true, a leaderboard for the previous period for the current type will be returned.
1235
+ For example, if the type is Weekly and getPreviousPeriod is true, a leaderboard for the previous week will be returned.
1236
+ */
1237
+ ;
1238
+ _proto.getLeaderBoard = function getLeaderBoard(periodType, getPreviousPeriod) {
1239
+ try {
1240
+ var _this15 = this;
1241
+ return Promise.resolve(OCache.use(onUpdateContextKey.LeaderBoards, ECacheContext.WSAPI, function () {
1242
+ return _this15.api.leaderboardsGetT(null, periodType, getPreviousPeriod);
1243
+ }, CACHE_DATA_SEC));
1244
+ } catch (e) {
1245
+ return Promise.reject(e);
1246
+ }
1247
+ }
1200
1248
  /** Returns inbox messages based on the provided parameters. "From" and "to" indicate the range of messages to be fetched.
1201
1249
  * The maximum number of messages per request is limited to 20. An indicator "onlyFavorite" can be passed to get only messages marked as favorites.
1202
1250
  * You can leave this params empty and by default it will return list of messages ranging from 0 to 20.
@@ -1215,27 +1263,27 @@ var WSAPI = /*#__PURE__*/function () {
1215
1263
  onlyFavorite = _ref4.onlyFavorite,
1216
1264
  onUpdate = _ref4.onUpdate;
1217
1265
  try {
1218
- var _this15 = this;
1266
+ var _this16 = this;
1219
1267
  if (onUpdate) {
1220
- _this15.onUpdateCallback.set(onUpdateContextKey.InboxMessages, onUpdate);
1268
+ _this16.onUpdateCallback.set(onUpdateContextKey.InboxMessages, onUpdate);
1221
1269
  }
1222
- return Promise.resolve(_this15.api.getInboxMessagesT(null, from, to, onlyFavorite));
1270
+ return Promise.resolve(_this16.api.getInboxMessagesT(null, from, to, onlyFavorite));
1223
1271
  } catch (e) {
1224
1272
  return Promise.reject(e);
1225
1273
  }
1226
1274
  } /** Returns the message body of the specified message guid. */;
1227
1275
  _proto.getInboxMessageBody = function getInboxMessageBody(messageGuid) {
1228
1276
  try {
1229
- var _this16 = this;
1230
- return Promise.resolve(_this16.api.getInboxMessageBodyT(messageGuid));
1277
+ var _this17 = this;
1278
+ return Promise.resolve(_this17.api.getInboxMessageBodyT(messageGuid));
1231
1279
  } catch (e) {
1232
1280
  return Promise.reject(e);
1233
1281
  }
1234
1282
  } /** Requests to mark inbox message with specified guid as read */;
1235
1283
  _proto.markInboxMessageAsRead = function markInboxMessageAsRead(messageGuid) {
1236
1284
  try {
1237
- var _this17 = this;
1238
- return Promise.resolve(_this17.api.markInboxMessageRead(null, messageGuid)).then(function (r) {
1285
+ var _this18 = this;
1286
+ return Promise.resolve(_this18.api.markInboxMessageRead(null, messageGuid)).then(function (r) {
1239
1287
  return {
1240
1288
  err_code: r.errCode,
1241
1289
  err_message: r.errMsg
@@ -1247,8 +1295,8 @@ var WSAPI = /*#__PURE__*/function () {
1247
1295
  } /** Requests to mark all inbox messages as read */;
1248
1296
  _proto.markAllInboxMessagesAsRead = function markAllInboxMessagesAsRead() {
1249
1297
  try {
1250
- var _this18 = this;
1251
- return Promise.resolve(_this18.api.markAllInboxMessageRead(null)).then(function (r) {
1298
+ var _this19 = this;
1299
+ return Promise.resolve(_this19.api.markAllInboxMessageRead(null)).then(function (r) {
1252
1300
  return {
1253
1301
  err_code: r.errCode,
1254
1302
  err_message: r.errMsg
@@ -1260,8 +1308,8 @@ var WSAPI = /*#__PURE__*/function () {
1260
1308
  } /** Requests to mark inbox message with specified guid as favorite. Pass mark true to add message to favorite and false to remove. */;
1261
1309
  _proto.markUnmarkInboxMessageAsFavorite = function markUnmarkInboxMessageAsFavorite(messageGuid, mark) {
1262
1310
  try {
1263
- var _this19 = this;
1264
- return Promise.resolve(_this19.api.markUnmarkInboxMessageAsFavorite(null, messageGuid, mark)).then(function (r) {
1311
+ var _this20 = this;
1312
+ return Promise.resolve(_this20.api.markUnmarkInboxMessageAsFavorite(null, messageGuid, mark)).then(function (r) {
1265
1313
  return {
1266
1314
  err_code: r.errCode,
1267
1315
  err_message: r.errMsg
@@ -1273,8 +1321,8 @@ var WSAPI = /*#__PURE__*/function () {
1273
1321
  } /** Requests to delete inbox message */;
1274
1322
  _proto.deleteInboxMessage = function deleteInboxMessage(messageGuid) {
1275
1323
  try {
1276
- var _this20 = this;
1277
- return Promise.resolve(_this20.api.deleteInboxMessage(null, messageGuid)).then(function (r) {
1324
+ var _this21 = this;
1325
+ return Promise.resolve(_this21.api.deleteInboxMessage(null, messageGuid)).then(function (r) {
1278
1326
  return {
1279
1327
  err_code: r.errCode,
1280
1328
  err_message: r.errMsg
@@ -1286,8 +1334,8 @@ var WSAPI = /*#__PURE__*/function () {
1286
1334
  } /** Requests to delete all inbox messages */;
1287
1335
  _proto.deleteAllInboxMessages = function deleteAllInboxMessages() {
1288
1336
  try {
1289
- var _this21 = this;
1290
- return Promise.resolve(_this21.api.deleteAllInboxMessages(null)).then(function (r) {
1337
+ var _this22 = this;
1338
+ return Promise.resolve(_this22.api.deleteAllInboxMessages(null)).then(function (r) {
1291
1339
  return {
1292
1340
  err_code: r.errCode,
1293
1341
  err_message: r.errMsg
@@ -1299,8 +1347,8 @@ var WSAPI = /*#__PURE__*/function () {
1299
1347
  } /** Requests translations for the given language. Returns the object including translation key/translation value pairs. All possible translation keys defined in the back office. */;
1300
1348
  _proto.getTranslations = function getTranslations(lang_code) {
1301
1349
  try {
1302
- var _this22 = this;
1303
- return Promise.resolve(_this22.api.getTranslationsT(null, lang_code, [])).then(function (r) {
1350
+ var _this23 = this;
1351
+ return Promise.resolve(_this23.api.getTranslationsT(null, lang_code, [])).then(function (r) {
1304
1352
  return {
1305
1353
  translations: r.translations
1306
1354
  };
@@ -1311,15 +1359,15 @@ var WSAPI = /*#__PURE__*/function () {
1311
1359
  };
1312
1360
  _proto.updateOnSpin = function updateOnSpin(data) {
1313
1361
  try {
1314
- var _this23 = this;
1362
+ var _this24 = this;
1315
1363
  return Promise.resolve(OCache.use(onUpdateContextKey.Saw, ECacheContext.WSAPI, function () {
1316
- return _this23.api.sawGetTemplatesT(null);
1364
+ return _this24.api.sawGetTemplatesT(null);
1317
1365
  }, CACHE_DATA_SEC)).then(function (templates) {
1318
1366
  var index = templates.findIndex(function (t) {
1319
1367
  return t.id === data.saw_template_id;
1320
1368
  });
1321
1369
  templates[index].spin_count = data.spin_count;
1322
- _this23.updateEntity(onUpdateContextKey.Saw, templates);
1370
+ _this24.updateEntity(onUpdateContextKey.Saw, templates);
1323
1371
  });
1324
1372
  } catch (e) {
1325
1373
  return Promise.reject(e);
@@ -1327,9 +1375,9 @@ var WSAPI = /*#__PURE__*/function () {
1327
1375
  };
1328
1376
  _proto.updateOnAddSpin = function updateOnAddSpin() {
1329
1377
  try {
1330
- var _this24 = this;
1331
- return Promise.resolve(_this24.api.sawGetTemplatesT(null)).then(function (payload) {
1332
- _this24.updateEntity(onUpdateContextKey.Saw, payload);
1378
+ var _this25 = this;
1379
+ return Promise.resolve(_this25.api.sawGetTemplatesT(null)).then(function (payload) {
1380
+ _this25.updateEntity(onUpdateContextKey.Saw, payload);
1333
1381
  });
1334
1382
  } catch (e) {
1335
1383
  return Promise.reject(e);
@@ -1337,11 +1385,11 @@ var WSAPI = /*#__PURE__*/function () {
1337
1385
  };
1338
1386
  _proto.updateOnPrizeWin = function updateOnPrizeWin(data) {
1339
1387
  try {
1340
- var _this25 = this;
1388
+ var _this26 = this;
1341
1389
  var _temp6 = function () {
1342
1390
  if (data.errCode === exports.SAWSpinErrorCode.SAW_OK) {
1343
1391
  return Promise.resolve(OCache.use(onUpdateContextKey.Saw, ECacheContext.WSAPI, function () {
1344
- return _this25.api.sawGetTemplatesT(null);
1392
+ return _this26.api.sawGetTemplatesT(null);
1345
1393
  }, CACHE_DATA_SEC)).then(function (templates) {
1346
1394
  var _template$prizes$find;
1347
1395
  var template = templates.find(function (t) {
@@ -1354,8 +1402,8 @@ var WSAPI = /*#__PURE__*/function () {
1354
1402
  })) == null ? void 0 : _template$prizes$find.prize_type;
1355
1403
  var _temp5 = function () {
1356
1404
  if (template.jackpot_add_on_attempt || template.spin_count === 1 || prizeType === exports.MiniGamePrizeTypeName.JACKPOT || prizeType === exports.MiniGamePrizeTypeName.SPIN) {
1357
- return Promise.resolve(_this25.api.sawGetTemplatesT(null)).then(function (updatedTemplates) {
1358
- _this25.updateEntity(onUpdateContextKey.Saw, updatedTemplates);
1405
+ return Promise.resolve(_this26.api.sawGetTemplatesT(null)).then(function (updatedTemplates) {
1406
+ _this26.updateEntity(onUpdateContextKey.Saw, updatedTemplates);
1359
1407
  });
1360
1408
  }
1361
1409
  }();
@@ -1370,9 +1418,9 @@ var WSAPI = /*#__PURE__*/function () {
1370
1418
  };
1371
1419
  _proto.updateMissionsOnOptIn = function updateMissionsOnOptIn() {
1372
1420
  try {
1373
- var _this26 = this;
1374
- return Promise.resolve(_this26.api.missionsGetItemsT(null)).then(function (payload) {
1375
- _this26.updateEntity(onUpdateContextKey.Missions, payload);
1421
+ var _this27 = this;
1422
+ return Promise.resolve(_this27.api.missionsGetItemsT(null)).then(function (payload) {
1423
+ _this27.updateEntity(onUpdateContextKey.Missions, payload);
1376
1424
  });
1377
1425
  } catch (e) {
1378
1426
  return Promise.reject(e);
@@ -1380,9 +1428,9 @@ var WSAPI = /*#__PURE__*/function () {
1380
1428
  };
1381
1429
  _proto.updateTournamentsOnRegistration = function updateTournamentsOnRegistration() {
1382
1430
  try {
1383
- var _this27 = this;
1384
- return Promise.resolve(_this27.api.tournamentsGetLobbyT(null)).then(function (payload) {
1385
- _this27.updateEntity(onUpdateContextKey.TournamentList, payload);
1431
+ var _this28 = this;
1432
+ return Promise.resolve(_this28.api.tournamentsGetLobbyT(null)).then(function (payload) {
1433
+ _this28.updateEntity(onUpdateContextKey.TournamentList, payload);
1386
1434
  });
1387
1435
  } catch (e) {
1388
1436
  return Promise.reject(e);
@@ -1390,9 +1438,9 @@ var WSAPI = /*#__PURE__*/function () {
1390
1438
  };
1391
1439
  _proto.updateInboxMessages = function updateInboxMessages() {
1392
1440
  try {
1393
- var _this28 = this;
1394
- return Promise.resolve(_this28.api.getInboxMessagesT(null)).then(function (payload) {
1395
- _this28.updateEntity(onUpdateContextKey.InboxMessages, payload);
1441
+ var _this29 = this;
1442
+ return Promise.resolve(_this29.api.getInboxMessagesT(null)).then(function (payload) {
1443
+ _this29.updateEntity(onUpdateContextKey.InboxMessages, payload);
1396
1444
  });
1397
1445
  } catch (e) {
1398
1446
  return Promise.reject(e);
@@ -1400,9 +1448,9 @@ var WSAPI = /*#__PURE__*/function () {
1400
1448
  };
1401
1449
  _proto.updateEntity = function updateEntity(contextKey, payload) {
1402
1450
  try {
1403
- var _this29 = this;
1451
+ var _this30 = this;
1404
1452
  OCache.set(contextKey, payload, ECacheContext.WSAPI);
1405
- var onUpdate = _this29.onUpdateCallback.get(contextKey);
1453
+ var onUpdate = _this30.onUpdateCallback.get(contextKey);
1406
1454
  if (onUpdate) {
1407
1455
  onUpdate(payload);
1408
1456
  }
@@ -1414,6 +1462,52 @@ var WSAPI = /*#__PURE__*/function () {
1414
1462
  return WSAPI;
1415
1463
  }();
1416
1464
 
1465
+ var pointsRewardTransform = function pointsRewardTransform(reward_points) {
1466
+ if (reward_points && reward_points.length) {
1467
+ return reward_points.map(function (r, i) {
1468
+ return {
1469
+ place: i + 1,
1470
+ points: r
1471
+ };
1472
+ });
1473
+ }
1474
+ return null;
1475
+ };
1476
+ var getLeaderBoardPlayerTransformed = function getLeaderBoardPlayerTransformed(user, isMe) {
1477
+ if (user) {
1478
+ var x = {
1479
+ public_username: (user == null ? void 0 : user.public_username) || user.user_alt_name,
1480
+ avatar_url: user.avatar_url,
1481
+ position: user.position_in_board,
1482
+ points: user.points_accumulated,
1483
+ is_me: user.is_me
1484
+ };
1485
+ if (isMe) {
1486
+ delete x.is_me;
1487
+ }
1488
+ return x;
1489
+ }
1490
+ return null;
1491
+ };
1492
+ var getLeaderBoardTransform = function getLeaderBoardTransform(board) {
1493
+ if (board) {
1494
+ var x = {
1495
+ board_id: board.board_id,
1496
+ name: board.board_public_meta.name,
1497
+ description: board.board_public_meta.description,
1498
+ rules: board.board_public_meta.rules,
1499
+ period_type_id: board.period_type_id,
1500
+ rewards: pointsRewardTransform(board.reward_points),
1501
+ users: board.positions.map(function (p) {
1502
+ return getLeaderBoardPlayerTransformed(p);
1503
+ }),
1504
+ me: getLeaderBoardPlayerTransformed(board.userPosition, true)
1505
+ };
1506
+ return x;
1507
+ }
1508
+ return null;
1509
+ };
1510
+
1417
1511
  function _catch(body, recover) {
1418
1512
  try {
1419
1513
  var result = body();
@@ -1867,12 +1961,14 @@ var SmarticoAPI = /*#__PURE__*/function () {
1867
1961
  var _this19 = this;
1868
1962
  var message = _this19.buildMessage(user_ext_id, exports.ClassId.GET_ACHIEVEMENT_MAP_REQUEST);
1869
1963
  return Promise.resolve(_this19.send(message, exports.ClassId.GET_ACHIEVEMENT_MAP_RESPONSE)).then(function (response) {
1870
- if (response.achievements) {
1871
- response.achievements = response.achievements.filter(function (a) {
1964
+ // we need to clone response to avoid changing original object,for cases when its called together with badgesGetItems (e.g. in Promise.all)
1965
+ var responseClone = _extends({}, response);
1966
+ if (responseClone.achievements) {
1967
+ responseClone.achievements = responseClone.achievements.filter(function (a) {
1872
1968
  return a.ach_type_id === exports.AchievementType.Mission;
1873
1969
  });
1874
1970
  }
1875
- return response;
1971
+ return responseClone;
1876
1972
  });
1877
1973
  } catch (e) {
1878
1974
  return Promise.reject(e);
@@ -1912,12 +2008,14 @@ var SmarticoAPI = /*#__PURE__*/function () {
1912
2008
  var _this23 = this;
1913
2009
  var message = _this23.buildMessage(user_ext_id, exports.ClassId.GET_ACHIEVEMENT_MAP_REQUEST);
1914
2010
  return Promise.resolve(_this23.send(message, exports.ClassId.GET_ACHIEVEMENT_MAP_RESPONSE)).then(function (response) {
1915
- if (response.achievements) {
1916
- response.achievements = response.achievements.filter(function (a) {
2011
+ // we need to clone response to avoid changing original object,for cases when its called together with missionsGetItems (e.g. in Promise.all)
2012
+ var responseClone = _extends({}, response);
2013
+ if (responseClone.achievements) {
2014
+ responseClone.achievements = responseClone.achievements.filter(function (a) {
1917
2015
  return a.ach_type_id === exports.AchievementType.Badge;
1918
2016
  });
1919
2017
  }
1920
- return response;
2018
+ return responseClone;
1921
2019
  });
1922
2020
  } catch (e) {
1923
2021
  return Promise.reject(e);
@@ -2018,27 +2116,39 @@ var SmarticoAPI = /*#__PURE__*/function () {
2018
2116
  return Promise.reject(e);
2019
2117
  }
2020
2118
  };
2021
- _proto.levelsGet = function levelsGet(user_ext_id) {
2119
+ _proto.leaderboardsGetT = function leaderboardsGetT(user_ext_id, period_type_id, prevPeriod) {
2120
+ if (prevPeriod === void 0) {
2121
+ prevPeriod = false;
2122
+ }
2022
2123
  try {
2023
2124
  var _this30 = this;
2024
- var message = _this30.buildMessage(user_ext_id, exports.ClassId.GET_LEVEL_MAP_REQUEST);
2025
- return Promise.resolve(_this30.send(message, exports.ClassId.GET_LEVEL_MAP_RESPONSE));
2125
+ if (period_type_id === undefined) period_type_id = exports.LeaderBoardPeriodType.DAILY;
2126
+ return Promise.resolve(_this30.leaderboardGet(user_ext_id, period_type_id, prevPeriod)).then(getLeaderBoardTransform);
2026
2127
  } catch (e) {
2027
2128
  return Promise.reject(e);
2028
2129
  }
2029
2130
  };
2030
- _proto.levelsGetT = function levelsGetT(user_ext_id) {
2131
+ _proto.levelsGet = function levelsGet(user_ext_id) {
2031
2132
  try {
2032
2133
  var _this31 = this;
2033
- return Promise.resolve(_this31.levelsGet(user_ext_id)).then(GetLevelMapResponseTransform);
2134
+ var message = _this31.buildMessage(user_ext_id, exports.ClassId.GET_LEVEL_MAP_REQUEST);
2135
+ return Promise.resolve(_this31.send(message, exports.ClassId.GET_LEVEL_MAP_RESPONSE));
2034
2136
  } catch (e) {
2035
2137
  return Promise.reject(e);
2036
2138
  }
2037
2139
  };
2038
- _proto.getTranslationsT = function getTranslationsT(user_ext_id, lang_code, areas, cacheSec) {
2140
+ _proto.levelsGetT = function levelsGetT(user_ext_id) {
2039
2141
  try {
2040
2142
  var _this32 = this;
2041
- return Promise.resolve(_this32.coreGetTranslations(user_ext_id, lang_code, areas, 30));
2143
+ return Promise.resolve(_this32.levelsGet(user_ext_id)).then(GetLevelMapResponseTransform);
2144
+ } catch (e) {
2145
+ return Promise.reject(e);
2146
+ }
2147
+ };
2148
+ _proto.getTranslationsT = function getTranslationsT(user_ext_id, lang_code, areas, cacheSec) {
2149
+ try {
2150
+ var _this33 = this;
2151
+ return Promise.resolve(_this33.coreGetTranslations(user_ext_id, lang_code, areas, 30));
2042
2152
  } catch (e) {
2043
2153
  return Promise.reject(e);
2044
2154
  }
@@ -2051,13 +2161,13 @@ var SmarticoAPI = /*#__PURE__*/function () {
2051
2161
  offset = 0;
2052
2162
  }
2053
2163
  try {
2054
- var _this33 = this;
2055
- var message = _this33.buildMessage(user_ext_id, exports.ClassId.GET_INBOX_MESSAGES_REQUEST, {
2164
+ var _this34 = this;
2165
+ var message = _this34.buildMessage(user_ext_id, exports.ClassId.GET_INBOX_MESSAGES_REQUEST, {
2056
2166
  limit: limit,
2057
2167
  offset: offset,
2058
2168
  starred_only: starred_only
2059
2169
  });
2060
- return Promise.resolve(_this33.send(message, exports.ClassId.GET_INBOX_MESSAGES_RESPONSE));
2170
+ return Promise.resolve(_this34.send(message, exports.ClassId.GET_INBOX_MESSAGES_RESPONSE));
2061
2171
  } catch (e) {
2062
2172
  return Promise.reject(e);
2063
2173
  }
@@ -2073,21 +2183,21 @@ var SmarticoAPI = /*#__PURE__*/function () {
2073
2183
  favoriteOnly = false;
2074
2184
  }
2075
2185
  try {
2076
- var _this34 = this;
2186
+ var _this35 = this;
2077
2187
  var limit = to - from > 20 ? 20 : to - from;
2078
2188
  var offset = from;
2079
- return Promise.resolve(_this34.getInboxMessages(user_ext_id, limit, offset, favoriteOnly)).then(function (_this34$getInboxMessa) {
2080
- return InboxMessagesTransform(_this34$getInboxMessa.log);
2189
+ return Promise.resolve(_this35.getInboxMessages(user_ext_id, limit, offset, favoriteOnly)).then(function (_this35$getInboxMessa) {
2190
+ return InboxMessagesTransform(_this35$getInboxMessa.log);
2081
2191
  });
2082
2192
  } catch (e) {
2083
2193
  return Promise.reject(e);
2084
2194
  }
2085
2195
  };
2086
2196
  _proto.getInboxMessageBody = function getInboxMessageBody(messageGuid) {
2087
- var _this35 = this;
2197
+ var _this36 = this;
2088
2198
  var getMessageBody = function getMessageBody(messageGuid) {
2089
2199
  try {
2090
- var inboxCdnUrl = _this35.tracker.getLabelSetting(exports.PublicLabelSettings.INBOX_PUBLIC_CDN);
2200
+ var inboxCdnUrl = _this36.tracker.getLabelSetting(exports.PublicLabelSettings.INBOX_PUBLIC_CDN);
2091
2201
  return Promise.resolve(_catch(function () {
2092
2202
  var url = "" + inboxCdnUrl + messageGuid + ".json";
2093
2203
  return Promise.resolve(fetch(url, {
@@ -2103,7 +2213,7 @@ var SmarticoAPI = /*#__PURE__*/function () {
2103
2213
  });
2104
2214
  });
2105
2215
  }, function (error) {
2106
- _this35.logger.error('Error fetching inbox message body:', error);
2216
+ _this36.logger.error('Error fetching inbox message body:', error);
2107
2217
  return null;
2108
2218
  }));
2109
2219
  } catch (e) {
@@ -2114,64 +2224,64 @@ var SmarticoAPI = /*#__PURE__*/function () {
2114
2224
  };
2115
2225
  _proto.getInboxMessageBodyT = function getInboxMessageBodyT(messageGuid) {
2116
2226
  try {
2117
- var _this36 = this;
2118
- return Promise.resolve(_this36.getInboxMessageBody(messageGuid)).then(InboxMessageBodyTransform);
2227
+ var _this37 = this;
2228
+ return Promise.resolve(_this37.getInboxMessageBody(messageGuid)).then(InboxMessageBodyTransform);
2119
2229
  } catch (e) {
2120
2230
  return Promise.reject(e);
2121
2231
  }
2122
2232
  };
2123
2233
  _proto.markInboxMessageRead = function markInboxMessageRead(user_ext_id, messageGuid) {
2124
2234
  try {
2125
- var _this37 = this;
2126
- var message = _this37.buildMessage(user_ext_id, exports.ClassId.MARK_INBOX_READ_REQUEST, {
2235
+ var _this38 = this;
2236
+ var message = _this38.buildMessage(user_ext_id, exports.ClassId.MARK_INBOX_READ_REQUEST, {
2127
2237
  engagement_uid: messageGuid
2128
2238
  });
2129
- return Promise.resolve(_this37.send(message, exports.ClassId.MARK_INBOX_READ_RESPONSE));
2239
+ return Promise.resolve(_this38.send(message, exports.ClassId.MARK_INBOX_READ_RESPONSE));
2130
2240
  } catch (e) {
2131
2241
  return Promise.reject(e);
2132
2242
  }
2133
2243
  };
2134
2244
  _proto.markAllInboxMessageRead = function markAllInboxMessageRead(user_ext_id) {
2135
2245
  try {
2136
- var _this38 = this;
2137
- var message = _this38.buildMessage(user_ext_id, exports.ClassId.MARK_INBOX_READ_REQUEST, {
2246
+ var _this39 = this;
2247
+ var message = _this39.buildMessage(user_ext_id, exports.ClassId.MARK_INBOX_READ_REQUEST, {
2138
2248
  all_read: true
2139
2249
  });
2140
- return Promise.resolve(_this38.send(message, exports.ClassId.MARK_INBOX_READ_RESPONSE));
2250
+ return Promise.resolve(_this39.send(message, exports.ClassId.MARK_INBOX_READ_RESPONSE));
2141
2251
  } catch (e) {
2142
2252
  return Promise.reject(e);
2143
2253
  }
2144
2254
  };
2145
2255
  _proto.markUnmarkInboxMessageAsFavorite = function markUnmarkInboxMessageAsFavorite(user_ext_id, messageGuid, mark) {
2146
2256
  try {
2147
- var _this39 = this;
2148
- var message = _this39.buildMessage(user_ext_id, exports.ClassId.MARK_INBOX_STARRED_REQUEST, {
2257
+ var _this40 = this;
2258
+ var message = _this40.buildMessage(user_ext_id, exports.ClassId.MARK_INBOX_STARRED_REQUEST, {
2149
2259
  engagement_uid: messageGuid,
2150
2260
  is_starred: mark
2151
2261
  });
2152
- return Promise.resolve(_this39.send(message, exports.ClassId.MARK_INBOX_STARRED_RESPONSE));
2262
+ return Promise.resolve(_this40.send(message, exports.ClassId.MARK_INBOX_STARRED_RESPONSE));
2153
2263
  } catch (e) {
2154
2264
  return Promise.reject(e);
2155
2265
  }
2156
2266
  };
2157
2267
  _proto.deleteInboxMessage = function deleteInboxMessage(user_ext_id, messageGuid) {
2158
2268
  try {
2159
- var _this40 = this;
2160
- var message = _this40.buildMessage(user_ext_id, exports.ClassId.MARK_INBOX_DELETED_REQUEST, {
2269
+ var _this41 = this;
2270
+ var message = _this41.buildMessage(user_ext_id, exports.ClassId.MARK_INBOX_DELETED_REQUEST, {
2161
2271
  engagement_uid: messageGuid
2162
2272
  });
2163
- return Promise.resolve(_this40.send(message, exports.ClassId.MARK_INBOX_DELETED_RESPONSE));
2273
+ return Promise.resolve(_this41.send(message, exports.ClassId.MARK_INBOX_DELETED_RESPONSE));
2164
2274
  } catch (e) {
2165
2275
  return Promise.reject(e);
2166
2276
  }
2167
2277
  };
2168
2278
  _proto.deleteAllInboxMessages = function deleteAllInboxMessages(user_ext_id) {
2169
2279
  try {
2170
- var _this41 = this;
2171
- var message = _this41.buildMessage(user_ext_id, exports.ClassId.MARK_INBOX_DELETED_REQUEST, {
2280
+ var _this42 = this;
2281
+ var message = _this42.buildMessage(user_ext_id, exports.ClassId.MARK_INBOX_DELETED_REQUEST, {
2172
2282
  all_deleted: true
2173
2283
  });
2174
- return Promise.resolve(_this41.send(message, exports.ClassId.MARK_INBOX_DELETED_RESPONSE));
2284
+ return Promise.resolve(_this42.send(message, exports.ClassId.MARK_INBOX_DELETED_RESPONSE));
2175
2285
  } catch (e) {
2176
2286
  return Promise.reject(e);
2177
2287
  }
@@ -2197,13 +2307,6 @@ var CookieStore = /*#__PURE__*/function () {
2197
2307
  }();
2198
2308
  CookieStore.cookieStore = new typescriptMap.TSMap();
2199
2309
 
2200
- exports.LeaderBoardPeriodType = void 0;
2201
- (function (LeaderBoardPeriodType) {
2202
- LeaderBoardPeriodType[LeaderBoardPeriodType["DAILY"] = 1] = "DAILY";
2203
- LeaderBoardPeriodType[LeaderBoardPeriodType["WEEKLY"] = 2] = "WEEKLY";
2204
- LeaderBoardPeriodType[LeaderBoardPeriodType["MONTHLY"] = 3] = "MONTHLY";
2205
- })(exports.LeaderBoardPeriodType || (exports.LeaderBoardPeriodType = {}));
2206
-
2207
2310
  exports.AchCategoryTransform = AchCategoryTransform;
2208
2311
  exports.CookieStore = CookieStore;
2209
2312
  exports.CoreUtils = CoreUtils;