@smartico/public-api 0.0.111 → 0.0.113

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