@smartico/public-api 0.0.111 → 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,6 +960,13 @@ 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) {
956
972
  var _l$level_public_meta;
@@ -977,6 +993,12 @@ var onUpdateContextKey;
977
993
  onUpdateContextKey["Missions"] = "missions";
978
994
  onUpdateContextKey["TournamentList"] = "tournamentList";
979
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";
980
1002
  })(onUpdateContextKey || (onUpdateContextKey = {}));
981
1003
  /** @group General API */
982
1004
  var WSAPI = /*#__PURE__*/function () {
@@ -1029,7 +1051,9 @@ var WSAPI = /*#__PURE__*/function () {
1029
1051
  _proto.getLevels = function getLevels() {
1030
1052
  try {
1031
1053
  var _this2 = this;
1032
- 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));
1033
1057
  } catch (e) {
1034
1058
  return Promise.reject(e);
1035
1059
  }
@@ -1059,7 +1083,9 @@ var WSAPI = /*#__PURE__*/function () {
1059
1083
  _proto.getBadges = function getBadges() {
1060
1084
  try {
1061
1085
  var _this4 = this;
1062
- 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));
1063
1089
  } catch (e) {
1064
1090
  return Promise.reject(e);
1065
1091
  }
@@ -1067,7 +1093,9 @@ var WSAPI = /*#__PURE__*/function () {
1067
1093
  _proto.getStoreItems = function getStoreItems() {
1068
1094
  try {
1069
1095
  var _this5 = this;
1070
- 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));
1071
1099
  } catch (e) {
1072
1100
  return Promise.reject(e);
1073
1101
  }
@@ -1089,7 +1117,9 @@ var WSAPI = /*#__PURE__*/function () {
1089
1117
  _proto.getStoreCategories = function getStoreCategories() {
1090
1118
  try {
1091
1119
  var _this7 = this;
1092
- 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));
1093
1123
  } catch (e) {
1094
1124
  return Promise.reject(e);
1095
1125
  }
@@ -1097,7 +1127,9 @@ var WSAPI = /*#__PURE__*/function () {
1097
1127
  _proto.getAchCategories = function getAchCategories() {
1098
1128
  try {
1099
1129
  var _this8 = this;
1100
- 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));
1101
1133
  } catch (e) {
1102
1134
  return Promise.reject(e);
1103
1135
  }
@@ -1199,6 +1231,20 @@ var WSAPI = /*#__PURE__*/function () {
1199
1231
  return Promise.reject(e);
1200
1232
  }
1201
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
+ }
1202
1248
  /** Returns inbox messages based on the provided parameters. "From" and "to" indicate the range of messages to be fetched.
1203
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.
1204
1250
  * You can leave this params empty and by default it will return list of messages ranging from 0 to 20.
@@ -1217,27 +1263,27 @@ var WSAPI = /*#__PURE__*/function () {
1217
1263
  onlyFavorite = _ref4.onlyFavorite,
1218
1264
  onUpdate = _ref4.onUpdate;
1219
1265
  try {
1220
- var _this15 = this;
1266
+ var _this16 = this;
1221
1267
  if (onUpdate) {
1222
- _this15.onUpdateCallback.set(onUpdateContextKey.InboxMessages, onUpdate);
1268
+ _this16.onUpdateCallback.set(onUpdateContextKey.InboxMessages, onUpdate);
1223
1269
  }
1224
- return Promise.resolve(_this15.api.getInboxMessagesT(null, from, to, onlyFavorite));
1270
+ return Promise.resolve(_this16.api.getInboxMessagesT(null, from, to, onlyFavorite));
1225
1271
  } catch (e) {
1226
1272
  return Promise.reject(e);
1227
1273
  }
1228
1274
  } /** Returns the message body of the specified message guid. */;
1229
1275
  _proto.getInboxMessageBody = function getInboxMessageBody(messageGuid) {
1230
1276
  try {
1231
- var _this16 = this;
1232
- return Promise.resolve(_this16.api.getInboxMessageBodyT(messageGuid));
1277
+ var _this17 = this;
1278
+ return Promise.resolve(_this17.api.getInboxMessageBodyT(messageGuid));
1233
1279
  } catch (e) {
1234
1280
  return Promise.reject(e);
1235
1281
  }
1236
1282
  } /** Requests to mark inbox message with specified guid as read */;
1237
1283
  _proto.markInboxMessageAsRead = function markInboxMessageAsRead(messageGuid) {
1238
1284
  try {
1239
- var _this17 = this;
1240
- 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) {
1241
1287
  return {
1242
1288
  err_code: r.errCode,
1243
1289
  err_message: r.errMsg
@@ -1249,8 +1295,8 @@ var WSAPI = /*#__PURE__*/function () {
1249
1295
  } /** Requests to mark all inbox messages as read */;
1250
1296
  _proto.markAllInboxMessagesAsRead = function markAllInboxMessagesAsRead() {
1251
1297
  try {
1252
- var _this18 = this;
1253
- 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) {
1254
1300
  return {
1255
1301
  err_code: r.errCode,
1256
1302
  err_message: r.errMsg
@@ -1262,8 +1308,8 @@ var WSAPI = /*#__PURE__*/function () {
1262
1308
  } /** Requests to mark inbox message with specified guid as favorite. Pass mark true to add message to favorite and false to remove. */;
1263
1309
  _proto.markUnmarkInboxMessageAsFavorite = function markUnmarkInboxMessageAsFavorite(messageGuid, mark) {
1264
1310
  try {
1265
- var _this19 = this;
1266
- 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) {
1267
1313
  return {
1268
1314
  err_code: r.errCode,
1269
1315
  err_message: r.errMsg
@@ -1275,8 +1321,8 @@ var WSAPI = /*#__PURE__*/function () {
1275
1321
  } /** Requests to delete inbox message */;
1276
1322
  _proto.deleteInboxMessage = function deleteInboxMessage(messageGuid) {
1277
1323
  try {
1278
- var _this20 = this;
1279
- 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) {
1280
1326
  return {
1281
1327
  err_code: r.errCode,
1282
1328
  err_message: r.errMsg
@@ -1288,8 +1334,8 @@ var WSAPI = /*#__PURE__*/function () {
1288
1334
  } /** Requests to delete all inbox messages */;
1289
1335
  _proto.deleteAllInboxMessages = function deleteAllInboxMessages() {
1290
1336
  try {
1291
- var _this21 = this;
1292
- 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) {
1293
1339
  return {
1294
1340
  err_code: r.errCode,
1295
1341
  err_message: r.errMsg
@@ -1301,8 +1347,8 @@ var WSAPI = /*#__PURE__*/function () {
1301
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. */;
1302
1348
  _proto.getTranslations = function getTranslations(lang_code) {
1303
1349
  try {
1304
- var _this22 = this;
1305
- 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) {
1306
1352
  return {
1307
1353
  translations: r.translations
1308
1354
  };
@@ -1313,15 +1359,15 @@ var WSAPI = /*#__PURE__*/function () {
1313
1359
  };
1314
1360
  _proto.updateOnSpin = function updateOnSpin(data) {
1315
1361
  try {
1316
- var _this23 = this;
1362
+ var _this24 = this;
1317
1363
  return Promise.resolve(OCache.use(onUpdateContextKey.Saw, ECacheContext.WSAPI, function () {
1318
- return _this23.api.sawGetTemplatesT(null);
1364
+ return _this24.api.sawGetTemplatesT(null);
1319
1365
  }, CACHE_DATA_SEC)).then(function (templates) {
1320
1366
  var index = templates.findIndex(function (t) {
1321
1367
  return t.id === data.saw_template_id;
1322
1368
  });
1323
1369
  templates[index].spin_count = data.spin_count;
1324
- _this23.updateEntity(onUpdateContextKey.Saw, templates);
1370
+ _this24.updateEntity(onUpdateContextKey.Saw, templates);
1325
1371
  });
1326
1372
  } catch (e) {
1327
1373
  return Promise.reject(e);
@@ -1329,9 +1375,9 @@ var WSAPI = /*#__PURE__*/function () {
1329
1375
  };
1330
1376
  _proto.updateOnAddSpin = function updateOnAddSpin() {
1331
1377
  try {
1332
- var _this24 = this;
1333
- return Promise.resolve(_this24.api.sawGetTemplatesT(null)).then(function (payload) {
1334
- _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);
1335
1381
  });
1336
1382
  } catch (e) {
1337
1383
  return Promise.reject(e);
@@ -1339,11 +1385,11 @@ var WSAPI = /*#__PURE__*/function () {
1339
1385
  };
1340
1386
  _proto.updateOnPrizeWin = function updateOnPrizeWin(data) {
1341
1387
  try {
1342
- var _this25 = this;
1388
+ var _this26 = this;
1343
1389
  var _temp6 = function () {
1344
1390
  if (data.errCode === exports.SAWSpinErrorCode.SAW_OK) {
1345
1391
  return Promise.resolve(OCache.use(onUpdateContextKey.Saw, ECacheContext.WSAPI, function () {
1346
- return _this25.api.sawGetTemplatesT(null);
1392
+ return _this26.api.sawGetTemplatesT(null);
1347
1393
  }, CACHE_DATA_SEC)).then(function (templates) {
1348
1394
  var _template$prizes$find;
1349
1395
  var template = templates.find(function (t) {
@@ -1356,8 +1402,8 @@ var WSAPI = /*#__PURE__*/function () {
1356
1402
  })) == null ? void 0 : _template$prizes$find.prize_type;
1357
1403
  var _temp5 = function () {
1358
1404
  if (template.jackpot_add_on_attempt || template.spin_count === 1 || prizeType === exports.MiniGamePrizeTypeName.JACKPOT || prizeType === exports.MiniGamePrizeTypeName.SPIN) {
1359
- return Promise.resolve(_this25.api.sawGetTemplatesT(null)).then(function (updatedTemplates) {
1360
- _this25.updateEntity(onUpdateContextKey.Saw, updatedTemplates);
1405
+ return Promise.resolve(_this26.api.sawGetTemplatesT(null)).then(function (updatedTemplates) {
1406
+ _this26.updateEntity(onUpdateContextKey.Saw, updatedTemplates);
1361
1407
  });
1362
1408
  }
1363
1409
  }();
@@ -1372,9 +1418,9 @@ var WSAPI = /*#__PURE__*/function () {
1372
1418
  };
1373
1419
  _proto.updateMissionsOnOptIn = function updateMissionsOnOptIn() {
1374
1420
  try {
1375
- var _this26 = this;
1376
- return Promise.resolve(_this26.api.missionsGetItemsT(null)).then(function (payload) {
1377
- _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);
1378
1424
  });
1379
1425
  } catch (e) {
1380
1426
  return Promise.reject(e);
@@ -1382,9 +1428,9 @@ var WSAPI = /*#__PURE__*/function () {
1382
1428
  };
1383
1429
  _proto.updateTournamentsOnRegistration = function updateTournamentsOnRegistration() {
1384
1430
  try {
1385
- var _this27 = this;
1386
- return Promise.resolve(_this27.api.tournamentsGetLobbyT(null)).then(function (payload) {
1387
- _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);
1388
1434
  });
1389
1435
  } catch (e) {
1390
1436
  return Promise.reject(e);
@@ -1392,9 +1438,9 @@ var WSAPI = /*#__PURE__*/function () {
1392
1438
  };
1393
1439
  _proto.updateInboxMessages = function updateInboxMessages() {
1394
1440
  try {
1395
- var _this28 = this;
1396
- return Promise.resolve(_this28.api.getInboxMessagesT(null)).then(function (payload) {
1397
- _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);
1398
1444
  });
1399
1445
  } catch (e) {
1400
1446
  return Promise.reject(e);
@@ -1402,9 +1448,9 @@ var WSAPI = /*#__PURE__*/function () {
1402
1448
  };
1403
1449
  _proto.updateEntity = function updateEntity(contextKey, payload) {
1404
1450
  try {
1405
- var _this29 = this;
1451
+ var _this30 = this;
1406
1452
  OCache.set(contextKey, payload, ECacheContext.WSAPI);
1407
- var onUpdate = _this29.onUpdateCallback.get(contextKey);
1453
+ var onUpdate = _this30.onUpdateCallback.get(contextKey);
1408
1454
  if (onUpdate) {
1409
1455
  onUpdate(payload);
1410
1456
  }
@@ -1416,6 +1462,52 @@ var WSAPI = /*#__PURE__*/function () {
1416
1462
  return WSAPI;
1417
1463
  }();
1418
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
+
1419
1511
  function _catch(body, recover) {
1420
1512
  try {
1421
1513
  var result = body();
@@ -1869,12 +1961,14 @@ var SmarticoAPI = /*#__PURE__*/function () {
1869
1961
  var _this19 = this;
1870
1962
  var message = _this19.buildMessage(user_ext_id, exports.ClassId.GET_ACHIEVEMENT_MAP_REQUEST);
1871
1963
  return Promise.resolve(_this19.send(message, exports.ClassId.GET_ACHIEVEMENT_MAP_RESPONSE)).then(function (response) {
1872
- if (response.achievements) {
1873
- 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) {
1874
1968
  return a.ach_type_id === exports.AchievementType.Mission;
1875
1969
  });
1876
1970
  }
1877
- return response;
1971
+ return responseClone;
1878
1972
  });
1879
1973
  } catch (e) {
1880
1974
  return Promise.reject(e);
@@ -1914,12 +2008,14 @@ var SmarticoAPI = /*#__PURE__*/function () {
1914
2008
  var _this23 = this;
1915
2009
  var message = _this23.buildMessage(user_ext_id, exports.ClassId.GET_ACHIEVEMENT_MAP_REQUEST);
1916
2010
  return Promise.resolve(_this23.send(message, exports.ClassId.GET_ACHIEVEMENT_MAP_RESPONSE)).then(function (response) {
1917
- if (response.achievements) {
1918
- 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) {
1919
2015
  return a.ach_type_id === exports.AchievementType.Badge;
1920
2016
  });
1921
2017
  }
1922
- return response;
2018
+ return responseClone;
1923
2019
  });
1924
2020
  } catch (e) {
1925
2021
  return Promise.reject(e);
@@ -2020,27 +2116,39 @@ var SmarticoAPI = /*#__PURE__*/function () {
2020
2116
  return Promise.reject(e);
2021
2117
  }
2022
2118
  };
2023
- _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
+ }
2024
2123
  try {
2025
2124
  var _this30 = this;
2026
- var message = _this30.buildMessage(user_ext_id, exports.ClassId.GET_LEVEL_MAP_REQUEST);
2027
- 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);
2028
2127
  } catch (e) {
2029
2128
  return Promise.reject(e);
2030
2129
  }
2031
2130
  };
2032
- _proto.levelsGetT = function levelsGetT(user_ext_id) {
2131
+ _proto.levelsGet = function levelsGet(user_ext_id) {
2033
2132
  try {
2034
2133
  var _this31 = this;
2035
- 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));
2036
2136
  } catch (e) {
2037
2137
  return Promise.reject(e);
2038
2138
  }
2039
2139
  };
2040
- _proto.getTranslationsT = function getTranslationsT(user_ext_id, lang_code, areas, cacheSec) {
2140
+ _proto.levelsGetT = function levelsGetT(user_ext_id) {
2041
2141
  try {
2042
2142
  var _this32 = this;
2043
- 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));
2044
2152
  } catch (e) {
2045
2153
  return Promise.reject(e);
2046
2154
  }
@@ -2053,13 +2161,13 @@ var SmarticoAPI = /*#__PURE__*/function () {
2053
2161
  offset = 0;
2054
2162
  }
2055
2163
  try {
2056
- var _this33 = this;
2057
- 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, {
2058
2166
  limit: limit,
2059
2167
  offset: offset,
2060
2168
  starred_only: starred_only
2061
2169
  });
2062
- 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));
2063
2171
  } catch (e) {
2064
2172
  return Promise.reject(e);
2065
2173
  }
@@ -2075,21 +2183,21 @@ var SmarticoAPI = /*#__PURE__*/function () {
2075
2183
  favoriteOnly = false;
2076
2184
  }
2077
2185
  try {
2078
- var _this34 = this;
2186
+ var _this35 = this;
2079
2187
  var limit = to - from > 20 ? 20 : to - from;
2080
2188
  var offset = from;
2081
- return Promise.resolve(_this34.getInboxMessages(user_ext_id, limit, offset, favoriteOnly)).then(function (_this34$getInboxMessa) {
2082
- 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);
2083
2191
  });
2084
2192
  } catch (e) {
2085
2193
  return Promise.reject(e);
2086
2194
  }
2087
2195
  };
2088
2196
  _proto.getInboxMessageBody = function getInboxMessageBody(messageGuid) {
2089
- var _this35 = this;
2197
+ var _this36 = this;
2090
2198
  var getMessageBody = function getMessageBody(messageGuid) {
2091
2199
  try {
2092
- var inboxCdnUrl = _this35.tracker.getLabelSetting(exports.PublicLabelSettings.INBOX_PUBLIC_CDN);
2200
+ var inboxCdnUrl = _this36.tracker.getLabelSetting(exports.PublicLabelSettings.INBOX_PUBLIC_CDN);
2093
2201
  return Promise.resolve(_catch(function () {
2094
2202
  var url = "" + inboxCdnUrl + messageGuid + ".json";
2095
2203
  return Promise.resolve(fetch(url, {
@@ -2105,7 +2213,7 @@ var SmarticoAPI = /*#__PURE__*/function () {
2105
2213
  });
2106
2214
  });
2107
2215
  }, function (error) {
2108
- _this35.logger.error('Error fetching inbox message body:', error);
2216
+ _this36.logger.error('Error fetching inbox message body:', error);
2109
2217
  return null;
2110
2218
  }));
2111
2219
  } catch (e) {
@@ -2116,64 +2224,64 @@ var SmarticoAPI = /*#__PURE__*/function () {
2116
2224
  };
2117
2225
  _proto.getInboxMessageBodyT = function getInboxMessageBodyT(messageGuid) {
2118
2226
  try {
2119
- var _this36 = this;
2120
- return Promise.resolve(_this36.getInboxMessageBody(messageGuid)).then(InboxMessageBodyTransform);
2227
+ var _this37 = this;
2228
+ return Promise.resolve(_this37.getInboxMessageBody(messageGuid)).then(InboxMessageBodyTransform);
2121
2229
  } catch (e) {
2122
2230
  return Promise.reject(e);
2123
2231
  }
2124
2232
  };
2125
2233
  _proto.markInboxMessageRead = function markInboxMessageRead(user_ext_id, messageGuid) {
2126
2234
  try {
2127
- var _this37 = this;
2128
- 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, {
2129
2237
  engagement_uid: messageGuid
2130
2238
  });
2131
- 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));
2132
2240
  } catch (e) {
2133
2241
  return Promise.reject(e);
2134
2242
  }
2135
2243
  };
2136
2244
  _proto.markAllInboxMessageRead = function markAllInboxMessageRead(user_ext_id) {
2137
2245
  try {
2138
- var _this38 = this;
2139
- 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, {
2140
2248
  all_read: true
2141
2249
  });
2142
- 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));
2143
2251
  } catch (e) {
2144
2252
  return Promise.reject(e);
2145
2253
  }
2146
2254
  };
2147
2255
  _proto.markUnmarkInboxMessageAsFavorite = function markUnmarkInboxMessageAsFavorite(user_ext_id, messageGuid, mark) {
2148
2256
  try {
2149
- var _this39 = this;
2150
- 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, {
2151
2259
  engagement_uid: messageGuid,
2152
2260
  is_starred: mark
2153
2261
  });
2154
- 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));
2155
2263
  } catch (e) {
2156
2264
  return Promise.reject(e);
2157
2265
  }
2158
2266
  };
2159
2267
  _proto.deleteInboxMessage = function deleteInboxMessage(user_ext_id, messageGuid) {
2160
2268
  try {
2161
- var _this40 = this;
2162
- 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, {
2163
2271
  engagement_uid: messageGuid
2164
2272
  });
2165
- 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));
2166
2274
  } catch (e) {
2167
2275
  return Promise.reject(e);
2168
2276
  }
2169
2277
  };
2170
2278
  _proto.deleteAllInboxMessages = function deleteAllInboxMessages(user_ext_id) {
2171
2279
  try {
2172
- var _this41 = this;
2173
- 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, {
2174
2282
  all_deleted: true
2175
2283
  });
2176
- 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));
2177
2285
  } catch (e) {
2178
2286
  return Promise.reject(e);
2179
2287
  }
@@ -2199,13 +2307,6 @@ var CookieStore = /*#__PURE__*/function () {
2199
2307
  }();
2200
2308
  CookieStore.cookieStore = new typescriptMap.TSMap();
2201
2309
 
2202
- exports.LeaderBoardPeriodType = void 0;
2203
- (function (LeaderBoardPeriodType) {
2204
- LeaderBoardPeriodType[LeaderBoardPeriodType["DAILY"] = 1] = "DAILY";
2205
- LeaderBoardPeriodType[LeaderBoardPeriodType["WEEKLY"] = 2] = "WEEKLY";
2206
- LeaderBoardPeriodType[LeaderBoardPeriodType["MONTHLY"] = 3] = "MONTHLY";
2207
- })(exports.LeaderBoardPeriodType || (exports.LeaderBoardPeriodType = {}));
2208
-
2209
2310
  exports.AchCategoryTransform = AchCategoryTransform;
2210
2311
  exports.CookieStore = CookieStore;
2211
2312
  exports.CoreUtils = CoreUtils;